def sieve_for_primes_to(n):
size = n//2
sieve = [1]*size
limit = int(n**0.5)
for i in range(1,limit):
if sieve[i]:
val = 2*i+1
tmp = ((size-1) - i)//val
sieve[i+val::val] = [0]*tmp
return sieve
print(len( [2] + [i*2+1 for i, v in enumerate(sieve_for_primes_to(10000000)) if v and i>0]))
ZGVmIHNpZXZlX2Zvcl9wcmltZXNfdG8obik6CiAgICBzaXplID0gbi8vMgogICAgc2lldmUgPSBbMV0qc2l6ZQogICAgbGltaXQgPSBpbnQobioqMC41KQogICAgZm9yIGkgaW4gcmFuZ2UoMSxsaW1pdCk6CiAgICAgICAgaWYgc2lldmVbaV06CiAgICAgICAgICAgIHZhbCA9IDIqaSsxCiAgICAgICAgICAgIHRtcCA9ICgoc2l6ZS0xKSAtIGkpLy92YWwgCiAgICAgICAgICAgIHNpZXZlW2krdmFsOjp2YWxdID0gWzBdKnRtcAogICAgcmV0dXJuIHNpZXZlCgoKcHJpbnQobGVuKCBbMl0gKyBbaSoyKzEgZm9yIGksIHYgaW4gZW51bWVyYXRlKHNpZXZlX2Zvcl9wcmltZXNfdG8oMTAwMDAwMDApKSBpZiB2IGFuZCBpPjBdKSk=