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

def prime_factor(n):#素因数分解
    factors = []
    for i in range(2,int(n**0.5)+1):
        while n%i==0:
            factors.append(i)
            n = n//i
    if n!=1:
        factors.append(n)
    return factors

N = int(input())
P = [0]*(N+1)
ans = 1
mod = 10**9+7
for i in range(2,N+1):
    a = prime_factor(i)#iについて素因数分解でリストが帰ってくる
    for j in a:
        P[j] += 1#各素数の数がカウントされる 10であれば2*5なのでp[1]とp[4]に加算される
for k in P:
    ans = ans*(k+1)%mod
print(ans)