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 Scala (2.11.7) (judge verdict: Accepted)

import java.util.Scanner
 
object Primes {
  val primes = new Array[Int](1001)
  for(i <- 2 to 1000){
    var flag = true
    for(k <- 2 to i-1)
      if(i % k == 0)
        flag = false
    primes(i) = 1
  }
}
 
object Main extends App{
  import Primes._
 
  val MOD = 1e9.toInt + 7
 
  val sc = new Scanner(System.in)
  val n = sc.nextInt()
 
  for(k <- 2 to n){
    var rest = k
    for(i <- 2 to 1000) {
      if(primes(i) > 0){
        while(rest % i == 0){
          rest /= i
          primes(i) += 1
        }
      }
    }
  }
 
  var ans = 1L
  for(i <- 2 to 1000) {
    if(primes(i) > 1) {
      ans *= primes(i)
      ans %= MOD
    }
  }
 
  println(ans)
}