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 (GCC 5.4.1) (judge verdict: Accepted)

#include<stdio.h>
long long int a[100002];
int main() {
	long long N;
	scanf("%lld", &N);
	long long int t;
	long long int ans = 1;
	for (long long int i = 2; i <= N; i++)
	{
		t = i;
		for (long long int j = 2; j <= i; j++)
		{
			while (t%j == 0) {
				a[j]++;
				t = t / j;
			}
		}
	}
	for (long long int i = 2; i <= N; i++)
	{
		if (a[i] != 0)
		{
			ans = ans * (a[i] + 1);
			ans = ans % 1000000007;
		}
	}
	printf("%lld\n", ans);
	return 0;
}