import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.FilterInputStream;
import java.io.BufferedInputStream;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 *
 * @author Jenish
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        ScanReader in = new ScanReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        Div solver = new Div();
        solver.solve(1, in, out);
        out.close();
    }

    static class Div {
        public void solve(int testNumber, ScanReader in, PrintWriter out) {
            int n = in.scanInt();
            int ans = 0;
            for (int i = 1; i <= n; i += 2) {
                int c = 0;
                for (int j = 1; j <= i; j++) {
                    if (i % j == 0) c++;
                }

                if (c == 8) ans++;
            }

            out.println(ans);
        }

    }

    static class ScanReader {
        private byte[] buf = new byte[4 * 1024];
        private int INDEX;
        private BufferedInputStream in;
        private int TOTAL;

        public ScanReader(InputStream inputStream) {
            in = new BufferedInputStream(inputStream);
        }

        private int scan() {
            if (INDEX >= TOTAL) {
                INDEX = 0;
                try {
                    TOTAL = in.read(buf);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if (TOTAL <= 0) return -1;
            }
            return buf[INDEX++];
        }

        public int scanInt() {
            int I = 0;
            int n = scan();
            while (isWhiteSpace(n)) n = scan();
            int neg = 1;
            if (n == '-') {
                neg = -1;
                n = scan();
            }
            while (!isWhiteSpace(n)) {
                if (n >= '0' && n <= '9') {
                    I *= 10;
                    I += n - '0';
                    n = scan();
                }
            }
            return neg * I;
        }

        private boolean isWhiteSpace(int n) {
            if (n == ' ' || n == '\n' || n == '\r' || n == '\t' || n == -1) return true;
            else return false;
        }

    }
}
 import java.io.OutputStream; OutputStream java.io import java.io.IOException; IOException java.io import java.io.InputStream; InputStream java.io import java.io.PrintWriter; PrintWriter java.io import java.io.FilterInputStream; FilterInputStream java.io import java.io.BufferedInputStream; BufferedInputStream java.io import java.io.InputStream; InputStream java.io public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        ScanReader in = new ScanReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        Div solver = new Div();
        solver.solve(1, in, out);
        out.close();
    }

    static class Div {
        public void solve(int testNumber, ScanReader in, PrintWriter out) {
            int n = in.scanInt();
            int ans = 0;
            for (int i = 1; i <= n; i += 2) {
                int c = 0;
                for (int j = 1; j <= i; j++) {
                    if (i % j == 0) c++;
                }

                if (c == 8) ans++;
            }

            out.println(ans);
        }

    }

    static class ScanReader {
        private byte[] buf = new byte[4 * 1024];
        private int INDEX;
        private BufferedInputStream in;
        private int TOTAL;

        public ScanReader(InputStream inputStream) {
            in = new BufferedInputStream(inputStream);
        }

        private int scan() {
            if (INDEX >= TOTAL) {
                INDEX = 0;
                try {
                    TOTAL = in.read(buf);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if (TOTAL <= 0) return -1;
            }
            return buf[INDEX++];
        }

        public int scanInt() {
            int I = 0;
            int n = scan();
            while (isWhiteSpace(n)) n = scan();
            int neg = 1;
            if (n == '-') {
                neg = -1;
                n = scan();
            }
            while (!isWhiteSpace(n)) {
                if (n >= '0' && n <= '9') {
                    I *= 10;
                    I += n - '0';
                    n = scan();
                }
            }
            return neg * I;
        }

        private boolean isWhiteSpace(int n) {
            if (n == ' ' || n == '\n' || n == '\r' || n == '\t' || n == -1) return true;
            else return false;
        }

    }
} Main public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        ScanReader in = new ScanReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        Div solver = new Div();
        solver.solve(1, in, out);
        out.close();
    } main {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        ScanReader in = new ScanReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        Div solver = new Div();
        solver.solve(1, in, out);
        out.close();
    } InputStream inputStream = System.in; inputStream System.in System System.in OutputStream outputStream = System.out; outputStream System.out System System.out ScanReader in = new ScanReader(inputStream); in new ScanReader(inputStream) PrintWriter out = new PrintWriter(outputStream); out new PrintWriter(outputStream) Div solver = new Div(); solver new Div() solver.solve(1, in, out) solver.solve solver 1 in out out.close() out.close out String[] args args static class Div {
        public void solve(int testNumber, ScanReader in, PrintWriter out) {
            int n = in.scanInt();
            int ans = 0;
            for (int i = 1; i <= n; i += 2) {
                int c = 0;
                for (int j = 1; j <= i; j++) {
                    if (i % j == 0) c++;
                }

                if (c == 8) ans++;
            }

            out.println(ans);
        }

    } Div public void solve(int testNumber, ScanReader in, PrintWriter out) {
            int n = in.scanInt();
            int ans = 0;
            for (int i = 1; i <= n; i += 2) {
                int c = 0;
                for (int j = 1; j <= i; j++) {
                    if (i % j == 0) c++;
                }

                if (c == 8) ans++;
            }

            out.println(ans);
        } solve {
            int n = in.scanInt();
            int ans = 0;
            for (int i = 1; i <= n; i += 2) {
                int c = 0;
                for (int j = 1; j <= i; j++) {
                    if (i % j == 0) c++;
                }

                if (c == 8) ans++;
            }

            out.println(ans);
        } int n = in.scanInt(); n in.scanInt() in.scanInt in int ans = 0; ans 0 for (int i = 1; i <= n; i += 2) {
                int c = 0;
                for (int j = 1; j <= i; j++) {
                    if (i % j == 0) c++;
                }

                if (c == 8) ans++;
            } int i = 1; int i = 1; i 1 i <= n i n i += 2 i += 2 i 2 {
                int c = 0;
                for (int j = 1; j <= i; j++) {
                    if (i % j == 0) c++;
                }

                if (c == 8) ans++;
            } {
                int c = 0;
                for (int j = 1; j <= i; j++) {
                    if (i % j == 0) c++;
                }

                if (c == 8) ans++;
            } int c = 0; c 0 for (int j = 1; j <= i; j++) {
                    if (i % j == 0) c++;
                } int j = 1; int j = 1; j 1 j <= i j i j++ j++ j {
                    if (i % j == 0) c++;
                } {
                    if (i % j == 0) c++;
                } if (i % j == 0) c++; i % j == 0 i % j i j 0 c++ c if (c == 8) ans++; c == 8 c 8 ans++ ans out.println(ans) out.println out ans int testNumber testNumber ScanReader in in PrintWriter out out static class ScanReader {
        private byte[] buf = new byte[4 * 1024];
        private int INDEX;
        private BufferedInputStream in;
        private int TOTAL;

        public ScanReader(InputStream inputStream) {
            in = new BufferedInputStream(inputStream);
        }

        private int scan() {
            if (INDEX >= TOTAL) {
                INDEX = 0;
                try {
                    TOTAL = in.read(buf);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if (TOTAL <= 0) return -1;
            }
            return buf[INDEX++];
        }

        public int scanInt() {
            int I = 0;
            int n = scan();
            while (isWhiteSpace(n)) n = scan();
            int neg = 1;
            if (n == '-') {
                neg = -1;
                n = scan();
            }
            while (!isWhiteSpace(n)) {
                if (n >= '0' && n <= '9') {
                    I *= 10;
                    I += n - '0';
                    n = scan();
                }
            }
            return neg * I;
        }

        private boolean isWhiteSpace(int n) {
            if (n == ' ' || n == '\n' || n == '\r' || n == '\t' || n == -1) return true;
            else return false;
        }

    } ScanReader private byte[] buf = new byte[4 * 1024]; buf new byte[4 * 1024] 4 * 1024 4 1024 private int INDEX; INDEX private BufferedInputStream in; in private int TOTAL; TOTAL public ScanReader(InputStream inputStream) {
            in = new BufferedInputStream(inputStream);
        } ScanReader {
            in = new BufferedInputStream(inputStream);
        } in = new BufferedInputStream(inputStream) in new BufferedInputStream(inputStream) InputStream inputStream inputStream private int scan() {
            if (INDEX >= TOTAL) {
                INDEX = 0;
                try {
                    TOTAL = in.read(buf);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if (TOTAL <= 0) return -1;
            }
            return buf[INDEX++];
        } scan {
            if (INDEX >= TOTAL) {
                INDEX = 0;
                try {
                    TOTAL = in.read(buf);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if (TOTAL <= 0) return -1;
            }
            return buf[INDEX++];
        } if (INDEX >= TOTAL) {
                INDEX = 0;
                try {
                    TOTAL = in.read(buf);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if (TOTAL <= 0) return -1;
            } INDEX >= TOTAL INDEX TOTAL {
                INDEX = 0;
                try {
                    TOTAL = in.read(buf);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if (TOTAL <= 0) return -1;
            } INDEX = 0 INDEX 0 try {
                    TOTAL = in.read(buf);
                } catch (Exception e) {
                    e.printStackTrace();
                } catch (Exception e) {
                    e.printStackTrace();
                } Exception e {
                    e.printStackTrace();
                } e.printStackTrace() e.printStackTrace e {
                    TOTAL = in.read(buf);
                } TOTAL = in.read(buf) TOTAL in.read(buf) in.read in buf if (TOTAL <= 0) return -1; TOTAL <= 0 TOTAL 0 return -1; -1 1 return buf[INDEX++]; buf[INDEX++] buf INDEX++ INDEX public int scanInt() {
            int I = 0;
            int n = scan();
            while (isWhiteSpace(n)) n = scan();
            int neg = 1;
            if (n == '-') {
                neg = -1;
                n = scan();
            }
            while (!isWhiteSpace(n)) {
                if (n >= '0' && n <= '9') {
                    I *= 10;
                    I += n - '0';
                    n = scan();
                }
            }
            return neg * I;
        } scanInt {
            int I = 0;
            int n = scan();
            while (isWhiteSpace(n)) n = scan();
            int neg = 1;
            if (n == '-') {
                neg = -1;
                n = scan();
            }
            while (!isWhiteSpace(n)) {
                if (n >= '0' && n <= '9') {
                    I *= 10;
                    I += n - '0';
                    n = scan();
                }
            }
            return neg * I;
        } int I = 0; I 0 int n = scan(); n scan() scan while (isWhiteSpace(n)) n = scan(); isWhiteSpace(n) isWhiteSpace n n = scan() n scan() scan int neg = 1; neg 1 if (n == '-') {
                neg = -1;
                n = scan();
            } n == '-' n '-' {
                neg = -1;
                n = scan();
            } neg = -1 neg -1 1 n = scan() n scan() scan while (!isWhiteSpace(n)) {
                if (n >= '0' && n <= '9') {
                    I *= 10;
                    I += n - '0';
                    n = scan();
                }
            } !isWhiteSpace(n) isWhiteSpace(n) isWhiteSpace n {
                if (n >= '0' && n <= '9') {
                    I *= 10;
                    I += n - '0';
                    n = scan();
                }
            } if (n >= '0' && n <= '9') {
                    I *= 10;
                    I += n - '0';
                    n = scan();
                } n >= '0' && n <= '9' n >= '0' n '0' n <= '9' n '9' {
                    I *= 10;
                    I += n - '0';
                    n = scan();
                } I *= 10 I 10 I += n - '0' I n - '0' n '0' n = scan() n scan() scan return neg * I; neg * I neg I private boolean isWhiteSpace(int n) {
            if (n == ' ' || n == '\n' || n == '\r' || n == '\t' || n == -1) return true;
            else return false;
        } isWhiteSpace {
            if (n == ' ' || n == '\n' || n == '\r' || n == '\t' || n == -1) return true;
            else return false;
        } if (n == ' ' || n == '\n' || n == '\r' || n == '\t' || n == -1) return true;
            else return false; n == ' ' || n == '\n' || n == '\r' || n == '\t' || n == -1 n == '\t' n == '\r' n == ' ' || n == '\n' || n == '\r' || n == '\t' || n == -1 n == ' ' n ' ' n == '\n' n '\n' n == '\r' n '\r' n == '\t' n '\t' n == -1 n -1 1 return true; true return false; false int n n public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        ScanReader in = new ScanReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        Div solver = new Div();
        solver.solve(1, in, out);
        out.close();
    }

    static class Div {
        public void solve(int testNumber, ScanReader in, PrintWriter out) {
            int n = in.scanInt();
            int ans = 0;
            for (int i = 1; i <= n; i += 2) {
                int c = 0;
                for (int j = 1; j <= i; j++) {
                    if (i % j == 0) c++;
                }

                if (c == 8) ans++;
            }

            out.println(ans);
        }

    }

    static class ScanReader {
        private byte[] buf = new byte[4 * 1024];
        private int INDEX;
        private BufferedInputStream in;
        private int TOTAL;

        public ScanReader(InputStream inputStream) {
            in = new BufferedInputStream(inputStream);
        }

        private int scan() {
            if (INDEX >= TOTAL) {
                INDEX = 0;
                try {
                    TOTAL = in.read(buf);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if (TOTAL <= 0) return -1;
            }
            return buf[INDEX++];
        }

        public int scanInt() {
            int I = 0;
            int n = scan();
            while (isWhiteSpace(n)) n = scan();
            int neg = 1;
            if (n == '-') {
                neg = -1;
                n = scan();
            }
            while (!isWhiteSpace(n)) {
                if (n >= '0' && n <= '9') {
                    I *= 10;
                    I += n - '0';
                    n = scan();
                }
            }
            return neg * I;
        }

        private boolean isWhiteSpace(int n) {
            if (n == ' ' || n == '\n' || n == '\r' || n == '\t' || n == -1) return true;
            else return false;
        }

    }
} public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        ScanReader in = new ScanReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        Div solver = new Div();
        solver.solve(1, in, out);
        out.close();
    }

    static class Div {
        public void solve(int testNumber, ScanReader in, PrintWriter out) {
            int n = in.scanInt();
            int ans = 0;
            for (int i = 1; i <= n; i += 2) {
                int c = 0;
                for (int j = 1; j <= i; j++) {
                    if (i % j == 0) c++;
                }

                if (c == 8) ans++;
            }

            out.println(ans);
        }

    }

    static class ScanReader {
        private byte[] buf = new byte[4 * 1024];
        private int INDEX;
        private BufferedInputStream in;
        private int TOTAL;

        public ScanReader(InputStream inputStream) {
            in = new BufferedInputStream(inputStream);
        }

        private int scan() {
            if (INDEX >= TOTAL) {
                INDEX = 0;
                try {
                    TOTAL = in.read(buf);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if (TOTAL <= 0) return -1;
            }
            return buf[INDEX++];
        }

        public int scanInt() {
            int I = 0;
            int n = scan();
            while (isWhiteSpace(n)) n = scan();
            int neg = 1;
            if (n == '-') {
                neg = -1;
                n = scan();
            }
            while (!isWhiteSpace(n)) {
                if (n >= '0' && n <= '9') {
                    I *= 10;
                    I += n - '0';
                    n = scan();
                }
            }
            return neg * I;
        }

        private boolean isWhiteSpace(int n) {
            if (n == ' ' || n == '\n' || n == '\r' || n == '\t' || n == -1) return true;
            else return false;
        }

    }
} Main
import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.FilterInputStream;
import java.io.BufferedInputStream;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 *
 * @author Jenish
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        ScanReader in = new ScanReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        Div solver = new Div();
        solver.solve(1, in, out);
        out.close();
    }

    static class Div {
        public void solve(int testNumber, ScanReader in, PrintWriter out) {
            int n = in.scanInt();
            int ans = 0;
            for (int i = 1; i <= n; i += 2) {
                int c = 0;
                for (int j = 1; j <= i; j++) {
                    if (i % j == 0) c++;
                }

                if (c == 8) ans++;
            }

            out.println(ans);
        }

    }

    static class ScanReader {
        private byte[] buf = new byte[4 * 1024];
        private int INDEX;
        private BufferedInputStream in;
        private int TOTAL;

        public ScanReader(InputStream inputStream) {
            in = new BufferedInputStream(inputStream);
        }

        private int scan() {
            if (INDEX >= TOTAL) {
                INDEX = 0;
                try {
                    TOTAL = in.read(buf);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if (TOTAL <= 0) return -1;
            }
            return buf[INDEX++];
        }

        public int scanInt() {
            int I = 0;
            int n = scan();
            while (isWhiteSpace(n)) n = scan();
            int neg = 1;
            if (n == '-') {
                neg = -1;
                n = scan();
            }
            while (!isWhiteSpace(n)) {
                if (n >= '0' && n <= '9') {
                    I *= 10;
                    I += n - '0';
                    n = scan();
                }
            }
            return neg * I;
        }

        private boolean isWhiteSpace(int n) {
            if (n == ' ' || n == '\n' || n == '\r' || n == '\t' || n == -1) return true;
            else return false;
        }

    }
}

