#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;

typedef long long ll;
const int MAX=1e4+10;
const int mod=1e9+7;

void fun(int *cnt,int n){
    for(int i=2;i<=n;i++){
        while(n%i==0){
            cnt[i]++;
            n/=i;
        }
    }
}

ll solve(int n){
    int cnt[1001]={0};
    ll ans=1;
    for(int i=2;i<=n;i++){
        fun(cnt,i);
    }
    for(int i=2;i<=1000;i++){
        ans=ans*(cnt[i]+1)%mod;
    }
    return ans;
}

int main(){
    int n;
    while(cin>>n){
        cout<<solve(n)<<endl;
    }
    return 0;
}

#include <bits/stdc++.h>
using namespace std;


int main(){
	long long n;
	long long ans = 1;
	cin >> n;

	vector<int>  fact(10000); //factor container
	
    for(int j = 2; j<=n;j++){
    
    long long num = j;

	for (int i = 2; i <= num; i++) {
		    while (num%i == 0) { // 素数で割り切れなくなるまで割っていく
			     fact.at(i)++; //割った個数を配列に足す
			    num /= i;
		    }
	}

    }

    for(int i = 0; i < 1003; i++){
            ans *= (fact.at(i) + 1);
            ans %= 1000000007;
    }




    cout << ans << endl;

}