def solution(n): is_prime = [True]*(n+1) is_prime[0],is_prime[1] = False,False for i in range(2,int(n//2)+1): j = 2 while i*j<=n: is_prime[i*j] = False j += 1 return sum(is_prime)