RT,请大佬优化(TLE90)
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int mod=1e8+7;
int n;
ll ans=1;
bool p[100000000];
inline ll s(int x){
register ll k=x;
while(k*x<=n)k*=x;
return k;
}int main(){
memset(p,1,sizeof p);
p[1]=0;
cin>>n;
for(register int i=2;i*i<=n;i++)if(p[i])for(register int j=i*i;j<=n;j+=i)p[j]=0;
for(register int i=1;i<=n;i++)if(p[i])ans*=s(i),ans%=mod;
cout<<ans;
return 0;
}