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
n = int(input())
prime_sieve = {2: True, 3: True, 5: True, 7: True, 11: True, 13: True, 17: True, 19: True, 23: True, 29: True, 31: True, 37: True, 41: True, 43: True, 47: True, 53: True, 59: True, 61: True, 67: True, 71: True, 73: True, 79: True, 83: True, 89: True, 97: True, 101: True, 103: True, 107: True, 109: True, 113: True, 127: True, 131: True, 137: True, 139: True, 149: True, 151: True, 157: True, 163: True, 167: True, 173: True, 179: True, 181: True, 191: True, 193: True, 197: True, 199: True, 211: True, 223: True, 227: True, 229: True, 233: True, 239: True, 241: True, 251: True, 257: True, 263: True, 269: True, 271: True, 277: True, 281: True, 283: True, 293: True, 307: True, 311: True, 313: True, 317: True, 331: True, 337: True, 347: True, 349: True, 353: True, 359: True, 367: True, 373: True, 379: True, 383: True, 389: True, 397: True, 401: True, 409: True, 419: True, 421: True, 431: True, 433: True, 439: True, 443: True, 449: True, 457: True, 461: True, 463: True, 467: True, 479: True, 487: True, 491: True, 499: True, 503: True, 509: True, 521: True, 523: True, 541: True, 547: True, 557: True, 563: True, 569: True, 571: True, 577: True, 587: True, 593: True, 599: True, 601: True, 607: True, 613: True, 617: True, 619: True, 631: True, 641: True, 643: True, 647: True, 653: True, 659: True, 661: True, 673: True, 677: True, 683: True, 691: True, 701: True, 709: True, 719: True, 727: True, 733: True, 739: True, 743: True, 751: True, 757: True, 761: True, 769: True, 773: True, 787: True, 797: True, 809: True, 811: True, 821: True, 823: True, 827: True, 829: True, 839: True, 853: True, 857: True, 859: True, 863: True, 877: True, 881: True, 883: True, 887: True, 907: True, 911: True, 919: True, 929: True, 937: True, 941: True, 947: True, 953: True, 967: True, 971: True, 977: True, 983: True, 991: True, 997: True, 1009: True, 1013: True, 1019: True, 1021: True, 1031: True, 1033: True, 1039: True, 1049: True, 1051: True, 1061: True, 1063: True, 1069: True, 1087: True, 1091: True, 1093: True, 1097: True, 1103: True, 1109: True, 1117: True, 1123: True, 1129: True, 1151: True, 1153: True, 1163: True, 1171: True, 1181: True, 1187: True, 1193: True, 1201: True, 1213: True, 1217: True, 1223: True, 1229: True, 1231: True, 1237: True, 1249: True, 1259: True, 1277: True, 1279: True, 1283: True, 1289: True, 1291: True, 1297: True, 1301: True, 1303: True, 1307: True, 1319: True, 1321: True, 1327: True, 1361: True, 1367: True, 1373: True, 1381: True, 1399: True, 1409: True, 1423: True, 1427: True, 1429: True, 1433: True, 1439: True, 1447: True, 1451: True, 1453: True, 1459: True, 1471: True, 1481: True, 1483: True, 1487: True, 1489: True, 1493: True, 1499: True, 1511: True, 1523: True, 1531: True, 1543: True, 1549: True, 1553: True, 1559: True, 1567: True, 1571: True, 1579: True, 1583: True, 1597: True, 1601: True, 1607: True, 1609: True, 1613: True, 1619: True, 1621: True, 1627: True, 1637: True, 1657: True, 1663: True, 1667: True, 1669: True, 1693: True, 1697: True, 1699: True, 1709: True, 1721: True, 1723: True, 1733: True, 1741: True, 1747: True, 1753: True, 1759: True, 1777: True, 1783: True, 1787: True, 1789: True, 1801: True, 1811: True, 1823: True, 1831: True, 1847: True, 1861: True, 1867: True, 1871: True, 1873: True, 1877: True, 1879: True, 1889: True, 1901: True, 1907: True, 1913: True, 1931: True, 1933: True, 1949: True, 1951: True, 1973: True, 1979: True, 1987: True, 1993: True, 1997: True, 1999: True, 2003: True, 2011: True, 2017: True, 2027: True, 2029: True, 2039: True, 2053: True, 2063: True, 2069: True, 2081: True, 2083: True, 2087: True, 2089: True, 2099: True, 2111: True, 2113: True, 2129: True, 2131: True, 2137: True, 2141: True, 2143: True, 2153: True, 2161: True, 2179: True, 2203: True, 2207: True, 2213: True, 2221: True, 2237: True, 2239: True, 2243: True, 2251: True, 2267: True, 2269: True, 2273: True, 2281: True, 2287: True, 2293: True, 2297: True, 2309: True, 2311: True, 2333: True, 2339: True, 2341: True, 2347: True, 2351: True, 2357: True, 2371: True, 2377: True, 2381: True, 2383: True, 2389: True, 2393: True, 2399: True, 2411: True, 2417: True, 2423: True, 2437: True, 2441: True, 2447: True, 2459: True, 2467: True, 2473: True, 2477: True, 2503: True, 2521: True, 2531: True, 2539: True, 2543: True, 2549: True, 2551: True, 2557: True, 2579: True, 2591: True, 2593: True, 2609: True, 2617: True, 2621: True, 2633: True, 2647: True, 2657: True, 2659: True, 2663: True, 2671: True, 2677: True, 2683: True, 2687: True, 2689: True, 2693: True, 2699: True, 2707: True, 2711: True, 2713: True, 2719: True, 2729: True, 2731: True, 2741: True, 2749: True, 2753: True, 2767: True, 2777: True, 2789: True, 2791: True, 2797: True, 2801: True, 2803: True, 2819: True, 2833: True, 2837: True, 2843: True, 2851: True, 2857: True, 2861: True, 2879: True, 2887: True, 2897: True, 2903: True, 2909: True, 2917: True, 2927: True, 2939: True, 2953: True, 2957: True, 2963: True, 2969: True, 2971: True, 2999: True}


def findFactors(n):
    numAlmostPrime = 0
    for j in range(2, n+1):
        numPrimeFactor = 0
        for i in range(1, j):
            if j % i == 0: # if divisible
                try:
                    prime_sieve[i]
                    numPrimeFactor += 1
                    if numPrimeFactor > 3:
                        break

                except(Exception):
                    pass
        if numPrimeFactor == 2:
            numAlmostPrime += 1

    return numAlmostPrime


print(findFactors(n))