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.3.3) (judge verdict: Accepted)

n = gets.to_i
if n == 1
  puts 1
  exit
end
p = []
m = Array.new(n+1,1)
m[0..1] = [0,0]
tmp = 0
Math.sqrt(n).floor.times do
  tmp = m.index(1)
  p << tmp
  for i in 1..n/tmp
    m[i*tmp] = 0
  end
end
m.each do |num|
  if num == 1
    p << m.index(num)
    m[p[-1]] = 0
  end
end
s = p.size
a = Array.new(s,0)
for i in 1..n
  for j in 0..s-1
    while i%p[j] == 0
      i /= p[j]
      a[j] += 1
    end
  end
end
ans = 1
a.each do |num|
  ans *= num+1
end
puts ans%(10**9+7)