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 JavaScript (Node.js 12.16.1) (judge verdict: Accepted)

function factorization1(n) {
    let primes= []
    for(let i=2; i*i<=n; i++) {
        let exponent = 0
        while(n%i===0) {
            n /= i
            exponent++
        }
        if(exponent) {
            primes.push({p:i, e:exponent})
        }
    }
    
    if(n!==1) {
        primes.push({p:n, e:1})
    }
    return primes
}


function main(arg) {
    let N = Number(arg)
    let MOD = 10**9+7
    
    let factors = {}
    for(let i=1; i<=N; i++) {
        let tmpFactors = factorization1(i)
        tmpFactors.forEach(f=>{
            if(factors[f.p]) {
                factors[f.p] += f.e
            } else {
                factors[f.p] = f.e
            }
        })
    }
    let ans = 1
    Object.keys(factors).forEach(f=>{
        ans*=(factors[f]+1)
        ans%=MOD
    })
    console.log(ans)
}
main(require("fs").readFileSync("/dev/stdin", "utf8"));