  /*  HARD WORK FOREVER PAYS  */
#include<bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define f first
#define s second
#define turbo(){	\
	ios_base::sync_with_stdio(false); \
	cin.tie(NULL); \
}
using namespace std;
typedef long long ll;
typedef pair<int,int> PII;
typedef unsigned long long int ull; 
  

vector<ull> allPrimes; 
  

void sieve(int n) 
{ 

    vector<bool> prime(n+1, true); 
  

    for (int p=2; p*p<=n; p++) 
    { 

        if (prime[p] == true) 
        { 

            for (int i=p*2; i<=n; i += p) 
                prime[i] = false; 
        } 
    } 
  

    for (int p=2; p<=n; p++) 
        if (prime[p]) 
            allPrimes.push_back(p); 
} 

ull factorialDivisors(ull n) 
{ 
    sieve(n);  

    ull result = 1; 

    for (int i=0; i < allPrimes.size(); i++) 
    { 

        ull p = allPrimes[i]; 
        ull exp = 0; 
        while (p <= n) 
        { 
            exp = exp + (n/p); 
            p = p*allPrimes[i]; 
        } 

        result = result*(exp+1)%1000000007; 
    } 

    return result; 
} 

int main() 
{ 
	int n;
	cin>>n;
    cout << factorialDivisors(n)<<endl; 
    return 0; 
} 
#include <iostream>
#include <complex>
#include <vector>
#include <string>
#include <algorithm>
#include <cstdio>
#include <numeric>
#include <cstring>
#include <ctime>
#include <cstdlib>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <list>
#include <cmath>
#include <bitset>
#include <cassert>
#include <queue>
#include <stack>
#include <deque>
#include <random>
#include <iomanip>
#define rep(i,n) for(int i=0;i<n;i++)
using namespace std;
typedef long long int ll;
typedef long double ld;
typedef pair<ll,ll> P;
typedef pair<P,P> PP;
const ll MOD=1000000007;
const ll MAX_N=500010;
const ll INF=4999999996000000001;


int main(){
    int n;
    cin>>n;
    map<int,ll> mp;
    for(int i=2;i<=n;i++){
        int m=i;
        for(int j=2;j*j<=m;j++){
            while(m%j==0){
                mp[j]++;
                m/=j;
            }
        }
        if(m>1) mp[m]++;
    }
    ll ans=1;
    for(auto p:mp){
        ans*=p.second+1;
        ans%=MOD;
    }
    cout<<ans<<endl;

}