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: Accepted)

import java.util.*;

public class Main{
  public static void main(String[]args){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int p = 1000000007;
    
    List<Integer> list = new ArrayList<>();
    for(int i = 2; i <= N; i++){
      boolean c = true;
      for(int j = 2; j < i; j++){
        if(i % j == 0){
          c = false;
          break;
        }
      }
      if(c){
        list.add(i);
      }
    }
    
    int ls = list.size();
    int[] sum = new int[ls];
    for(int i = 2; i <= N; i++){
      for(int j = 0; j < ls; j++){
        int n = list.get(j);
        if(n > i){
          break;
        }
        int M = i;
        while(M % n == 0){
          M /= n;
          sum[j]++;
        }
      }
    }

    long ans = 1;
    for(int i = 0; i < ls; i++){
      ans *= sum[i]+1;
      ans %= p;
    }
    System.out.println(ans);
  }
}