#素因数分解 def Prime_Factorization(n): R=[] N=n for k in range(2,int(-(-n**0.5//1))+1): if N%k==0: C=0 while N%k==0: C+=1 N//=k R.append([k,C]) if N!=1: R.append([N,1]) if not R: R.append([N,1]) return R #素数判定 def Is_Prime(N): return (N>=2) and (len(Prime_Factorization(N))==1) A=int(input()) U=[] u=2 while u+1<=10**9: if Is_Prime(u+1): U.append(u+1) u*=u V=[] L=len(U) for i in range(2**L): p=1 for j in range(L): if i%2: p*=U[j] i=i>>1 if p<=A: V.append(p) T=0 for p in V: while p<=A: T+=1 p*=2 print(T-2)