(X-N)(Y-N)=N^2
#include<cstdio> using namespace std; const int mod=1e9+7; int n,cnt,isprime[1000005],prime[1000005]; void Pre_prime(){ for (int i=2; i<=n; i++){ if (!isprime[i]) prime[++cnt]=i; for (int j=1; j<=cnt && i*prime[j]<=n; j++){ isprime[i*prime[j]]=1; if (i%prime[j]==0) break; } } } int main(){ scanf("%d",&n); Pre_prime(); int ANS=1; for (int i=1; i<=cnt; i++){ long long x=prime[i]; long long sum=0; while (x<=n){ sum+=n/x; x*=prime[i]; } ANS=1ll*ANS*(sum*2+1)%mod; } printf("%d ",ANS); return 0; }