import java.lang.*;
import java.io.*;
import java.util.*;

class Main{
	public static void main(String args[]) throws FileNotFoundException{
		FScanner fs=new FScanner();
		//Scanner sc=new Scanner(System.in);
		
		int n=fs.readInt();
		
		int d=0;
		int c=0;
		
		for(int i=1; i<=n; i++){
			if(i%2==1){
				d=0;
				for(int j=1; j<=i; j++){
					if(i%j==0){
						d+=1;
					}
				}
				if(d==8){
					c+=1;
				}
			}
		}
		
		System.out.println(c);
	}
	
	static void solver(){
		
	}

	static void disp(int[] data){
		for(int i=0; i<data.length; i++){
				System.out.printf("%d ",data[i]);
		}
			System.out.println();
	}
	
	static class FScanner{
		Scanner sc;
		FScanner() throws FileNotFoundException{
			sc=new Scanner(System.in);
		}
		boolean hasNextLine(){
			boolean has=true;
			if(!sc.hasNextLine()){
				has=false;
			}
			return has;
		}
		int readInt(){
			int i=Integer.parseInt(sc.nextLine());
			return i;
		}
		int[] readIntL(){
			String[] buf=sc.nextLine().split(" ");
			int[] num=new int[buf.length];
			for(int i=0; i<buf.length; i++){
				num[i]=Integer.parseInt(buf[i]);
			}
			return num;
		}
		String[] readStringL(){
			String[] s=sc.nextLine().split("");
			return s;
		}
	}
} import java.lang.*; lang.* java import java.io.*; io.* java import java.util.*; util.* java class Main{
	public static void main(String args[]) throws FileNotFoundException{
		FScanner fs=new FScanner();
		//Scanner sc=new Scanner(System.in);
		
		int n=fs.readInt();
		
		int d=0;
		int c=0;
		
		for(int i=1; i<=n; i++){
			if(i%2==1){
				d=0;
				for(int j=1; j<=i; j++){
					if(i%j==0){
						d+=1;
					}
				}
				if(d==8){
					c+=1;
				}
			}
		}
		
		System.out.println(c);
	}
	
	static void solver(){
		
	}

	static void disp(int[] data){
		for(int i=0; i<data.length; i++){
				System.out.printf("%d ",data[i]);
		}
			System.out.println();
	}
	
	static class FScanner{
		Scanner sc;
		FScanner() throws FileNotFoundException{
			sc=new Scanner(System.in);
		}
		boolean hasNextLine(){
			boolean has=true;
			if(!sc.hasNextLine()){
				has=false;
			}
			return has;
		}
		int readInt(){
			int i=Integer.parseInt(sc.nextLine());
			return i;
		}
		int[] readIntL(){
			String[] buf=sc.nextLine().split(" ");
			int[] num=new int[buf.length];
			for(int i=0; i<buf.length; i++){
				num[i]=Integer.parseInt(buf[i]);
			}
			return num;
		}
		String[] readStringL(){
			String[] s=sc.nextLine().split("");
			return s;
		}
	}
} Main public static void main(String args[]) throws FileNotFoundException{
		FScanner fs=new FScanner();
		//Scanner sc=new Scanner(System.in);
		
		int n=fs.readInt();
		
		int d=0;
		int c=0;
		
		for(int i=1; i<=n; i++){
			if(i%2==1){
				d=0;
				for(int j=1; j<=i; j++){
					if(i%j==0){
						d+=1;
					}
				}
				if(d==8){
					c+=1;
				}
			}
		}
		
		System.out.println(c);
	} main {
		FScanner fs=new FScanner();
		//Scanner sc=new Scanner(System.in);
		
		int n=fs.readInt();
		
		int d=0;
		int c=0;
		
		for(int i=1; i<=n; i++){
			if(i%2==1){
				d=0;
				for(int j=1; j<=i; j++){
					if(i%j==0){
						d+=1;
					}
				}
				if(d==8){
					c+=1;
				}
			}
		}
		
		System.out.println(c);
	} FScanner fs=new FScanner(); fs new FScanner() int n=fs.readInt(); n fs.readInt() fs.readInt fs int d=0; d 0 int c=0; c 0 for(int i=1; i<=n; i++){
			if(i%2==1){
				d=0;
				for(int j=1; j<=i; j++){
					if(i%j==0){
						d+=1;
					}
				}
				if(d==8){
					c+=1;
				}
			}
		} int i=1; int i=1; i 1 i<=n i n i++ i++ i {
			if(i%2==1){
				d=0;
				for(int j=1; j<=i; j++){
					if(i%j==0){
						d+=1;
					}
				}
				if(d==8){
					c+=1;
				}
			}
		} {
			if(i%2==1){
				d=0;
				for(int j=1; j<=i; j++){
					if(i%j==0){
						d+=1;
					}
				}
				if(d==8){
					c+=1;
				}
			}
		} if(i%2==1){
				d=0;
				for(int j=1; j<=i; j++){
					if(i%j==0){
						d+=1;
					}
				}
				if(d==8){
					c+=1;
				}
			} i%2==1 i%2 i 2 1 {
				d=0;
				for(int j=1; j<=i; j++){
					if(i%j==0){
						d+=1;
					}
				}
				if(d==8){
					c+=1;
				}
			} d=0 d 0 for(int j=1; j<=i; j++){
					if(i%j==0){
						d+=1;
					}
				} int j=1; int j=1; j 1 j<=i j i j++ j++ j {
					if(i%j==0){
						d+=1;
					}
				} {
					if(i%j==0){
						d+=1;
					}
				} if(i%j==0){
						d+=1;
					} i%j==0 i%j i j 0 {
						d+=1;
					} d+=1 d 1 if(d==8){
					c+=1;
				} d==8 d 8 {
					c+=1;
				} c+=1 c 1 System.out.println(c) System.out.println System.out System System.out c String args[] args static void solver(){
		
	} solver {
		
	} static void disp(int[] data){
		for(int i=0; i<data.length; i++){
				System.out.printf("%d ",data[i]);
		}
			System.out.println();
	} disp {
		for(int i=0; i<data.length; i++){
				System.out.printf("%d ",data[i]);
		}
			System.out.println();
	} for(int i=0; i<data.length; i++){
				System.out.printf("%d ",data[i]);
		} int i=0; int i=0; i 0 i<data.length i data.length data data.length i++ i++ i {
				System.out.printf("%d ",data[i]);
		} {
				System.out.printf("%d ",data[i]);
		} System.out.printf("%d ",data[i]) System.out.printf System.out System System.out "%d " data[i] data i System.out.println() System.out.println System.out System System.out int[] data data static class FScanner{
		Scanner sc;
		FScanner() throws FileNotFoundException{
			sc=new Scanner(System.in);
		}
		boolean hasNextLine(){
			boolean has=true;
			if(!sc.hasNextLine()){
				has=false;
			}
			return has;
		}
		int readInt(){
			int i=Integer.parseInt(sc.nextLine());
			return i;
		}
		int[] readIntL(){
			String[] buf=sc.nextLine().split(" ");
			int[] num=new int[buf.length];
			for(int i=0; i<buf.length; i++){
				num[i]=Integer.parseInt(buf[i]);
			}
			return num;
		}
		String[] readStringL(){
			String[] s=sc.nextLine().split("");
			return s;
		}
	} FScanner Scanner sc; sc FScanner() throws FileNotFoundException{
			sc=new Scanner(System.in);
		} FScanner {
			sc=new Scanner(System.in);
		} sc=new Scanner(System.in) sc new Scanner(System.in) boolean hasNextLine(){
			boolean has=true;
			if(!sc.hasNextLine()){
				has=false;
			}
			return has;
		} hasNextLine {
			boolean has=true;
			if(!sc.hasNextLine()){
				has=false;
			}
			return has;
		} boolean has=true; has true if(!sc.hasNextLine()){
				has=false;
			} !sc.hasNextLine() sc.hasNextLine() sc.hasNextLine sc {
				has=false;
			} has=false has false return has; has int readInt(){
			int i=Integer.parseInt(sc.nextLine());
			return i;
		} readInt {
			int i=Integer.parseInt(sc.nextLine());
			return i;
		} int i=Integer.parseInt(sc.nextLine()); i Integer.parseInt(sc.nextLine()) Integer.parseInt Integer sc.nextLine() sc.nextLine sc return i; i int[] readIntL(){
			String[] buf=sc.nextLine().split(" ");
			int[] num=new int[buf.length];
			for(int i=0; i<buf.length; i++){
				num[i]=Integer.parseInt(buf[i]);
			}
			return num;
		} readIntL {
			String[] buf=sc.nextLine().split(" ");
			int[] num=new int[buf.length];
			for(int i=0; i<buf.length; i++){
				num[i]=Integer.parseInt(buf[i]);
			}
			return num;
		} String[] buf=sc.nextLine().split(" "); buf sc.nextLine().split(" ") sc.nextLine().split sc.nextLine() sc.nextLine sc " " int[] num=new int[buf.length]; num new int[buf.length] buf.length buf buf.length for(int i=0; i<buf.length; i++){
				num[i]=Integer.parseInt(buf[i]);
			} int i=0; int i=0; i 0 i<buf.length i buf.length buf buf.length i++ i++ i {
				num[i]=Integer.parseInt(buf[i]);
			} {
				num[i]=Integer.parseInt(buf[i]);
			} num[i]=Integer.parseInt(buf[i]) num[i] num i Integer.parseInt(buf[i]) Integer.parseInt Integer buf[i] buf i return num; num String[] readStringL(){
			String[] s=sc.nextLine().split("");
			return s;
		} readStringL {
			String[] s=sc.nextLine().split("");
			return s;
		} String[] s=sc.nextLine().split(""); s sc.nextLine().split("") sc.nextLine().split sc.nextLine() sc.nextLine sc "" return s; s
import java.lang.*;
import java.io.*;
import java.util.*;

class Main{
	public static void main(String args[]) throws FileNotFoundException{
		FScanner fs=new FScanner();
		//Scanner sc=new Scanner(System.in);
		
		int n=fs.readInt();
		
		int d=0;
		int c=0;
		
		for(int i=1; i<=n; i++){
			if(i%2==1){
				d=0;
				for(int j=1; j<=i; j++){
					if(i%j==0){
						d+=1;
					}
				}
				if(d==8){
					c+=1;
				}
			}
		}
		
		System.out.println(c);
	}
	
	static void solver(){
		
	}

	static void disp(int[] data){
		for(int i=0; i<data.length; i++){
				System.out.printf("%d ",data[i]);
		}
			System.out.println();
	}
	
	static class FScanner{
		Scanner sc;
		FScanner() throws FileNotFoundException{
			sc=new Scanner(System.in);
		}
		boolean hasNextLine(){
			boolean has=true;
			if(!sc.hasNextLine()){
				has=false;
			}
			return has;
		}
		int readInt(){
			int i=Integer.parseInt(sc.nextLine());
			return i;
		}
		int[] readIntL(){
			String[] buf=sc.nextLine().split(" ");
			int[] num=new int[buf.length];
			for(int i=0; i<buf.length; i++){
				num[i]=Integer.parseInt(buf[i]);
			}
			return num;
		}
		String[] readStringL(){
			String[] s=sc.nextLine().split("");
			return s;
		}
	}
}
