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 Ruby (2.7.1) (judge verdict: Accepted)

MOD = 10**9 + 7
def divisors(n)
  p = []
  2.upto((n**0.5)) do |i|
    break if i > n / i
    while n % i == 0
      p << i
      n /= i
    end
  end
  p << n if n != 1
  p
end
n = gets.to_i
bucket = Array.new(n+1,0)
2.upto(n) do |i|
  divisors(i).each do |x|
    bucket[x] += 1
  end
end
ans = 1
2.upto(n) do |i|
  ans *= (bucket[i]+1)
  ans %= MOD
end
puts ans