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++ (Clang 10.0.0) (judge verdict: Accepted)

#include<iostream>
using namespace std;
const long long N = 1e9+7;
int x,z,i,j,a[1005];
long long ans;
int main()
{
    cin>>x;
    for(i=1;i<=x;i++)
    { z=i;
      for(j=2;j*j<=z;j++)
      {  while(z%j==0){z/=j;
        a[j]++;}
      }
     if(z!=1)a[z]++;
    }ans=1;
    for(i=2;i<=1000;i++)
    {ans*=a[i]+1;ans%=N;}
    cout<<ans;
 }