output_description: Print the number of the positive divisors of N!, modulo 10^9+7.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      N
attempt: #include <bits/stdc++.h>
  #include <stdlib.h>
  #include <string>
  #include <algorithm>
  #include <map>
  using namespace std;
  
  typedef long long ll;
  typedef vector<int> vi;
  typedef vector<vi> vvi;
  typedef vector<ll> vll;
  typedef vector<vll> vvll;
  typedef vector<string> vs;
  typedef vector<bool> vb;
  typedef pair<int, int> P;
  
  #define rep(i, n) for(int i = 0; i < (int)(n); i++)
  #define all(x) (x).begin(),(x).end()
  #define rall(x) (x).rbegin(),(x).rend()
  
  int N;
  int prime[1001];//i番目の素数の数
  ll MOD = 1000000007;
  int factorization(int n){
    int i = 2;
    int temp = n;
    while (i*i <= n){
      while (temp % i == 0){
        prime[i]++;
        temp /= i;
      }
      i++;
    }
    if (temp != 1){
      prime[temp]++;
    }
  }
  
      
  int main(){
    cin >> N;
    rep(i, N+1) prime[i] = 0;
    rep(i, N) factorization(i + 1);
    ll ans = 1;
    rep(i, N+1){
      if (prime[i] != 0){
        ans *= (prime[i] +1);
        ans %= MOD;
      }
    }
    cout << ans << endl;
  }
problem_description: Statement
  
  You are given an integer N. Find the number of the positive divisors of N!,
  modulo 10^9+7.
samples: [{"input": "3", "output": "4\n    \n\nThere are four divisors of 3! =6: 1, 2, 3 and 6. Thus, the output should be 4.\n\n* * *"}, {"input": "6", "output": "30\n    \n\n* * *"}, {"input": "1000", "output": "972926972"}]