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

N = int(input())

from collections import Counter

MOD = 10**9+7

def prime_factorize(n):
    res = []
    for i in range(2, int(n**0.5)+1):
        while n % i == 0:
            res.append(i)
            n //= i
    if n != 1:
        res.append(n)
    return res

prime_fac = []
for i in range(1, N+1):
    prime_fac.extend(prime_factorize(i))

c = Counter(prime_fac)

ans = 1
for v in c.values():
    ans *= v+1
    ans %= MOD
print(ans)