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
def Sito(n):
	sito = [0 for i in range(n)]
	sito[0] = 1
	sito[1] = 1
	for i in range(n):
		if(sito[i] != 0):
			pass
		else:
			sito[i] = i
			for j in range(i*i,n,i):
				if (sito[j] == 0):
					sito[j] = i
	return(sito)
def prawie_pierwsze(n):
	sito = Sito(n)
	liczba_prawie_pierwszych = 0
	for liczba in range(2,n):
		czy_liczba_prawie_pierwsza = True
		dzielnik1 = sito[liczba]
		dzielnik2 = 0
		liczba_podzielona = liczba
		while(True):
			liczba_podzielona = liczba_podzielona//sito[liczba_podzielona]
			if ( liczba_podzielona <= 1 ):
				break
			if(sito[liczba_podzielona] == dzielnik1):
				continue
			if(dzielnik2 == 0):
				dzielnik2 = sito[liczba_podzielona]
				continue
			if(sito[liczba_podzielona] == dzielnik2):
				continue
			czy_liczba_prawie_pierwsza = False
			break
		if(czy_liczba_prawie_pierwsza):
			if(dzielnik2 != 0):
				liczba_prawie_pierwszych += 1
	print(liczba_prawie_pierwszych)
	
				
			
			
			
	



n = int(input())
prawie_pierwsze(n+1)			
