For this Question: Given an integer N. Find the number of divisors of N factorial. 
As answer can be huge find answer modulo 1000000007.The only line of input contains a single integer N.

1 <= N <= 1000Print the number of the positive divisors of N! modulo 1000000007Sample 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, I have written this Solution Code: #include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define mod 1000000007
void prime_factors(map<int,int>&m,int x)
{
    int p=2;

    while(x>1)
    {
        if(p*p>x)
        {
            m[x]++;
            x=1;
            break;
        }
        if(x%p==0)
        {
            while(x%p==0)
            {
                m[p]++;
                x/=p;
            }
        }
        p++;
    }
}
int main()
{
    int n;
    cin>>n;

    map<int,int>m;

    for(int i=2;i<=n;i++)
    {
        prime_factors(m,i);
    }

    map<int,int> :: iterator it;

    ll ans=1;

    for(it=m.begin();it!=m.end();it++)
    {
        ans= (ans%mod*(it->second + 1)%mod)%mod;
    }
    cout<<ans;


}, In this Programming Language: C++, Now tell me if this Code is compilable or not?