#include<bits/stdc++.h>
#define int long long
#define mod 100000007
using namespace std;
int n,s,ans=1;
bool noPM[100000010];
int qpow(int a,int b){
if(b==0) return 1;
if(b==1) return a%mod;
int p=qpow(a,b>>1);
if(b&1) return p*p%mod*a%mod;
else return p*p%mod;
}
main(){
scanf("%lld",&n);
for(int i=2;i*i<=n;i++){
if(!noPM[i]){
for(int j=i*i;j<=n;j+=i) noPM[j]=1;
}
}
for(int i=n;i>=2;i--){
if(!noPM[i]){
int p=qpow(i,s);
while(p*i<=n){
p*=i;
s++;
}
ans=ans*p%mod;
}
}
printf("%lld",ans);
return 0;
}