A number is called almost prime if it has exactly two distinct prime divisors. For example, numbers 6, 18, 24 are almost prime, while 4, 8, 9, 42 are not. Find the amount of almost prime numbers which are between 1 and n, inclusive.

Input

Input contains one integer number n (1 ≤ n ≤ 3000).

Output

Output the amount of almost prime numbers between 1 and n, inclusive.

Examples

Input

10


Output

2


Input

21


Output

8
#!/usr/bin/env python
# -*- coding:utf-8 -*-

def readint(): return int(raw_input())
def readfloat(): return float(raw_input())
def readarray(N, foo):
        res = []
        for _ in xrange(N):
                res.append(foo())
        return res
def readlinearray(foo): return map(foo, raw_input().split())


MAXN=3000

crivoboolean = [True for _ in xrange(MAXN+1)]

crivoboolean[0] = False
crivoboolean[1] = False

for v in xrange(2, MAXN+1):
    for i in xrange(v + v, MAXN+1, v):
        crivoboolean[i] = False

crivo = []
for i in xrange(len(crivoboolean)):
    if crivoboolean[i]:
        crivo.append(i)

almost_primes = []

for v in xrange(2, MAXN+1):
    might_be_almost_primes = True
    count = 0
    nv = v
    for p in crivo:
        if p > nv: break
        if nv % p == 0:
            count += 1
            while(nv % p == 0):
                nv /= p
        if count > 2: break
    if count == 2:
        almost_primes.append(v)
        
dp = (MAXN+1)*[0]
iap = 0 
for i in xrange(1, len(dp)):
    delta = 0
    if iap < len(almost_primes) and almost_primes[iap] == i:
        delta = 1
        iap += 1
    dp[i] += dp[i-1] + delta

def main():
    n = readint()
    print dp[n]

main()
