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 pcnt = IntArray(n + 1)
    (2..n).forEach { i ->
        var div = i
        var j = 2
        while (j <= i) {
            if (div % j == 0) {
                pcnt[j]++
                div /= j
                if (div == 1) break
                continue
            }
            j++
        }
    }
    var result = 1L
    pcnt.filter { it != 0 }
        .forEach {
            result = (result * (it + 1)) % 1000000007
        }
    println(result)
}