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)

require 'prime'

class Fof
  def solve
    n = gets.chomp.to_i
    return 1 if n == 1

    ph = {}
    
    (2..n).each do |x|
      Prime.prime_division(x).each do |p|
        if ph[p[0]]
          ph[p[0]] += p[1]
        else
          ph[p[0]] = p[1]
        end
      end
    end

    ans = 1

    ph.values.each do |x|
      ans = ans * (x+1) % 1000000007
    end

    ans
  end
end

if $0 == __FILE__
  puts Fof.new.solve
end