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;

namespace AtCoder
{
	class Program
	{
		static void Main(string[] args)
		{
			var n = int.Parse(Console.ReadLine());

			var factorDic = new Dictionary<int, long>();

			for(int i = 2; i <= n; i++)
			{
				var value = i;
				var max = (i + 1) / 2;
				for(int j = 2; j <= max; j++)
				{
					while (value > 1)
					{
						if (value % j == 0)
						{
							if (factorDic.ContainsKey(j))
							{
								factorDic[j]++;
							}
							else
							{
								factorDic.Add(j, 1);
							}

							value /= j;
						}
						else
						{
							break;
						}
					}
				}

				if(value != 1)
				{
					factorDic.Add(value, 1);
				}
			}

			long mod = 1;
			foreach(var value in factorDic.Values)
			{
				mod = mod * (value + 1) % 1000000007;
			}

			Console.WriteLine(mod);
		}
	}
}