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>

int main(void){
    long long N, i, j, I, p[1005], c;
    scanf("%lld", &N);
    for (i=2; i<=N; i++) {
        p[i]=0;
    }
    for (i=2; i<=N; i++) {
        I=i;
        for (j=2; j<=i; j++) {
            while (I%j==0) {
                I/=j;
                p[j]++;
                // printf("%d, %d\n", i, j);
            }
        }
    }
    c=1;
    for (i=2; i<=N; i++) {
        c*=p[i]+1;
        c%=1000000007;
    }
    printf("%lld", c);
    /*
    for (i=2; i<=N; i++) {
        printf("p[%d] == %d\n", i, p[i]);
    }
    */
    return 0;
}