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
import java.util.Scanner;
public class TaskF
{
  public static int n=3000;
  public static boolean prime[] = new boolean[n+6];
    public static void sieveOfEratosthenes(int n)
    {
        // Create a boolean array "prime[0..n]" and initialize
        // all entries it as true. A value in prime[i] will
        // finally be false if i is Not a prime, else true.
        
        for(int i=0;i<n;i++)
            prime[i] = true;
         
        prime[0]=false;
        prime[1]=false;
        for(int p = 2; p*p <=n; p++)
        {
            // If prime[p] is not changed, then it is a prime
            if(prime[p] == true)
            {
                // Update all multiples of p
                for(int i = p*2; i <= n; i += p)
                    prime[i] = false;
            }
        }
         
        // Print all prime numbers
        
    }
    public static void main(String args[])
    {
      Scanner sc=new Scanner(System.in);
      sieveOfEratosthenes(3000+5);
      int z= sc.nextInt();
      int ans=0;
      int sol=0;
      for(int x = 2; x <= z; x++)
      {
      for(int i = 2; i < x; i++)
        {
            if(prime[i] == true)
            {
              if(x%i==0)
              {
                ans++;
              }
            }
        }
      if(ans==2)
      {sol++;}
      ans=0;
      }
      System.out.println(sol);
    }
    
}