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++14 (Clang 3.8.0) (judge verdict: Wrong Answer)

#include <iostream>
using namespace std;
#define ll long long
int mod=1000000007;

int main()
{
    ll n;
    cin>>n;
    ll x;
    ll arr[1000]={0};
    for(int i=2;i<=n;i++)
    {
        x=i;
        for(int j=2;j<=x;j++)
        {
            while(x%j==0)
            {
                arr[j]++;
                arr[j]=arr[j]%mod;
                x=x/j;
            }
        }
        if(x!=1)
            arr[x]++;
    }
    ll count1=1;
    for(int i=1;i<=n;i++)
    {
        if(arr[i])
        {
            count1=(count1*((arr[i]+1)%mod))%mod;
        }
    }
    cout<<count1;
    return 0;
}