Problem:
Score: 200 points

Problem Statement

The number 105 is quite special - it is odd but still it has eight divisors.
Now, your task is this: how many odd numbers with exactly eight positive divisors are there between 1 and N (inclusive)?

Constraints

N is an integer between 1 and 200 (inclusive).

Input

Input is given from Standard Input in the following format:

N

Output

Print the count.

Sample Input 1

105

Sample Output 1

1

Among the numbers between 1 and 105, the only number that is odd and has exactly eight divisors is 105.

Sample Input 2

7

Sample Output 2

0

1 has one divisor. 3, 5 and 7 are all prime and have two divisors. Thus, there is no number that satisfies the condition.

Solution in C# (Mono 4.6.2.0) (judge verdict: Wrong Answer)

using System;
using System.Linq;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        var N = long.Parse(Console.ReadLine());
        var primeCounts = new int[N + 1];
        var count = 0;
        long n = N;
        var primes = PrimeFactors(n);
        foreach (var prime in primes)
        {
            primeCounts[prime]++;
        }

        var sum = 1;
        foreach (var primeCount in primeCounts)
        {
            if (primeCount == 0)
            {
                continue;
            }

            sum *= (primeCount + 1);
        }

        if (sum == 8)
        {
            count++;
        }


        Console.WriteLine(count);
    }

    /**
     * 素因数分解
     * <see cref="https://qiita.com/y_miyoshi/items/da814d96e8890224aad3"/>
     */
    public static IEnumerable<long> PrimeFactors(long n)
    {
        long i = 2;
        long tmp = n;

        while (i * i <= n) //※1
        {
            if (tmp % i == 0)
            {
                tmp /= i;
                yield return i;
            }
            else
            {
                i++;
            }
        }
        if (tmp != 1) yield return tmp;//最後の素数も返す
    }

}