public static void Main()
var a = Enumerable.Range(0,n+1).Select(_ => true).ToArray();
for(var i=2;i<Math.Sqrt(n);i++)
for(var j = i*i;j<=n;j += i)
var result = a.Select( (x,i) => new {IsPrime = x,Prime = i}).Where(x => x.IsPrime && x.Prime > 1).Sum(x => x.Prime);
Console.WriteLine(result);
private bool[] MakeSieve(int max)
bool[] is_prime = new bool[max + 1];
for (int i = 2; i <= max; i++) is_prime[i] = true;
for (int i = 2; i <= max; i++)
for (int j = i * 2; j <= max; j += i)