Problem:
Score : 300 points

Problem Statement

You are given an integer N.
Find the number of the positive divisors of N!, modulo 10^9+7.

Constraints

1≤N≤10^3

Input

The input is given from Standard Input in the following format:

N

Output

Print the number of the positive divisors of N!, modulo 10^9+7.

Sample Input 1

3

Sample Output 1

4

There are four divisors of 3! =6: 1, 2, 3 and 6. Thus, the output should be 4.

Sample Input 2

6

Sample Output 2

30

Sample Input 3

1000

Sample Output 3

972926972

Solution in C# (Mono 4.6.2.0) (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        var primes = new List<int>();
        for (int i = 2; i < 1000; ++i)
        {
            if (primes.All(prime => i % prime != 0)) { primes.Add(i); }
        }
        int N = int.Parse(Console.ReadLine());
        var factors = new Dictionary<int, int>();
        for (int i = 2; i <= N; ++i)
        {
            int n = i;
            for (int j = 0; j < primes.Count && n >= primes[j]; ++j)
            {
                int prime = primes[j];
                while (n > 0 && n % prime == 0)
                {
                    if (!factors.ContainsKey(prime)) { factors[prime] = 0; }
                    ++factors[prime];
                    n /= prime;
                }
            }
        }
        long count = 1;
        foreach (var pair in factors)
        {
            count *= pair.Value + 1;
            count %= 1000000007;
        }
        Console.WriteLine(count);
    }
}