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: Wrong Answer)

require 'prime'

MOD = (1e+9+7).to_i

def array2hash(a)
  h = {}
  a.each do |p, e|
    h[p] = e
  end
  return h
end

def merge(h1, h2)
  h2.each do |k, v|
    if h1.key?(k) then
      h1[k] += h2[k]
    else
      h1[k] = h2[k]
    end
  end
  return h1
end

def count(h)
  t = 1
  h.each do |p, e|
    t = (t * (e + 1)) % MOD
  end
  return t
end

def main
  n = STDIN.gets.chomp.to_i
  
  h = {}
  (1..n).each do |x|
    merge(h, array2hash(x.prime_division))
  end
  
  STDOUT.puts count(h).to_i
end