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 C (GCC 9.2.1) (judge verdict: Accepted)

#include<stdio.h>
#include<math.h>
void primeFactorization(int a,int count[1002]){ //素数を配列に格納
  int i,sq;
  while(a%2==0){
    a/=2;
    count[2]++;
  }
  for(i=3;i<=a;i+=2){ //3以上√a以下の奇数の場合
    while(a%i==0){
      count[i]++;
      a/=i;
    }
  }
}

int main(){
  int n,i;
  scanf("%d",&n);
  int count[1002];
  long long answer=1;
  for(i=0;i<1002;i++)
    count[i]=1;
  for(i=2;i<=n;i++){
    primeFactorization(i,count);
  }
  for(i=0;i<1002;i++){
    answer*=(long long)count[i];
    answer%=1000000007;
  }
  printf("%d\n",answer);
  return 0;
}