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<bits/stdc++.h>
using namespace std;
int arr[1005];
int moder = 1000000007;
int main(){
	int n;
	cin>>n;
	for(int i=1; i<=n; i++){
		int curr = i;
		for(int j=2; j*j<=curr; j++){
			while(curr%j==0){
				curr/=j;
				arr[j]++;
			}
		}
		arr[curr]++;
	}
	long long ret = 1;
	for(int i=2; i<=n; i++){
		ret*=(arr[i]+1);
		ret%=moder;
	}
	cout<<ret;
}