#!/usr/bin/python from itertools import combinations from operator import mul n = int(raw_input()) fermat_primes = [1] + [2**(2**i) + 1 for i in xrange(5)] sett = set() m = 0 while 2 ** m < n: for i in xrange(len(fermat_primes)): for p in combinations(fermat_primes, i+1): mull = reduce(mul, p) val = 2**m * mull if 3 <= val <= n: sett.add(2**m * mull) m += 1 print len(sett)