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

fun main(args: Array<String>) {
    val n = readLine()!!.toInt()
    val soinsu = mutableMapOf<Int, Int>()
    for (i in 2..n) {
        var temp = i
        var j = 2
        while (j <= n) {
            if (temp % j == 0) {
                soinsu[j] = (soinsu[j] ?: 0) + 1
                temp /= j
            } else {
                j = if (j == 2) j + 1 else j + 2
            }
            if (temp == 1) break
        }
    }
    var answer = 1L
    for ((k, v) in soinsu) {
        answer *= v + 1
        answer %= 1000000007
    }
    println(answer)
}