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 Python (2.7.6) (judge verdict: Accepted)

from collections import defaultdict
def primefactor(x):
    fac=defaultdict(int)
    for i in xrange(2,int(x**0.5)+1):
        while x%i==0:
            fac[i]+=1
            x=x/i
    if x!=1:
        fac[x]+=1
    return fac

n=int(raw_input())
mod=10**9+7
ans=1
cnt=defaultdict(int)
for i in xrange(1,n+1):
    tmp=primefactor(i)
    for j,k in tmp.items():
        cnt[j]+=k
for i,j in cnt.items():
    ans=ans*(j+1)%mod
print(ans%mod)