import math def get_list_primes(n): if n == 1: return [] if n == 2: return [2] prime_list = [2] num_list = [e + 1 for e in range(2, n, 2)] limit = int(n ** 0.5) while True: leader = num_list[0] if limit < leader: return prime_list + num_list prime_list.append(leader) num_list = [e for e in num_list if e % leader != 0] def judge_prime(n): res = None count = 0 for i in range(1, int(n ** 0.5) + 1): if n % i == 0: count += 1 if n // i != i: count += 1 if count > 2: res = 0 else: res = 1 return res n = int(input()) prime_list = get_list_primes(n) len_list = len(prime_list) res = 0 for i in range(len_list): target = (prime_list[i] + 2) ** 0.5 if math.ceil(target) != math.floor(target): continue if judge_prime(int(target)) == 1: if prime_list[i] == target: res += 1 else: res += 2 print(res)