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 Java8 (OpenJDK 1.8.0) (judge verdict: Time Limit Exceeded)

import java.util.Scanner;
import java.math.*;

class Main {
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    BigInteger N = new BigInteger(scan.nextLine());

    BigInteger F = new BigInteger("1");
    BigInteger I = N;
    BigInteger A = F;

    while (I.compareTo(A) != 0){
      F = F.multiply(I);
      I = I.subtract(A);
    }
    
    System.out.println(nbDivisor(F));
  }

  public static long nbDivisor(BigInteger n){

    long nbDivi = 1;
    BigInteger zero     = new BigInteger("0");
    BigInteger un       = new BigInteger("1");
    BigInteger compteur = un;

    while (compteur.compareTo(n) < 0){

      if (n.mod(compteur).compareTo(zero) == 0){
          nbDivi++;
      }

      compteur = compteur.add(un);
    }
    return nbDivi;
  }

}