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)

import math
from collections import defaultdict
def prime_factorize(n):
    prime_numbers = []
    for p in range(2, int(math.sqrt(n)+1)):
        if n % p != 0:
            continue
        while n % p == 0:
            n /= p
            prime_numbers.append(p)

    if n != 1:
        prime_numbers.append(n)
    return prime_numbers

def solve():
    N = int(input())
    MOD = 10 ** 9 + 7

    counter = defaultdict(int)
    for i in range(N,0,-1):
        primes = prime_factorize(i)
        for prime in primes:
            counter[prime] += 1

    ans = 1
    for prime, count in counter.items():
        ans *= count + 1
    
    print(ans % MOD)

if __name__ == '__main__':
    solve()