import math # 0以上整数x「未満」の素数をリストに格納して返す def primes(x): if x < 2: return [] primes = [i for i in range(x)] primes[1] = 0 # 1は素数ではない # エラトステネスのふるい for prime in primes: if prime > math.sqrt(x): break if prime == 0: continue for non_prime in range(2 * prime, x, prime): primes[non_prime] = 0 return [prime for prime in primes if prime != 0] import sys input = sys.stdin.readline N = int(input()) dp = [0 for _ in range(N+1)] dp2 = [0 for _ in range(N+1)] P = primes(N+1) for p in P: for i in range(p, N+1, p): dp[i] = 1-dp[i] for i in range(p*p, N+1, p*p): dp2[i] = 1 ans = 1 for i in range(2, N+1): if dp2[i]==1: continue if dp[i]==1: ans += -1 else: ans += 1 print(ans)