Pagini recente » Cod sursa (job #145571) | Cod sursa (job #1994278) | Cod sursa (job #3264048) | Cod sursa (job #1659385) | Cod sursa (job #2376840)
#include <bits/stdc++.h>
using namespace std;
long long t,i,n,j,x[1000010],MOD=9973,e,p,s,nr,k,cn,in;
bool pr[1000010];
int main()
{
ifstream cin ("ssnd.in");
ofstream cout ("ssnd.out");
cin>>t;
for(i=2; i<=1000000; ++i)
if(!pr[i])
{
x[++k]=i;
j=i*2;
while(j<=1000000)
{
pr[j]=true;
j+=i;
}
}
while(t--)
{
cin>>n;
cn=n;
nr=1;
s=1;
for(i=1; i<=k; ++i)
{
in=i;
if(n==1||x[i]*x[i]>cn)break;
e=0;
p=1;
while(n%x[i]==0)n/=x[i],++e,p*=x[i],p%=MOD;
if(e!=0)
{
p*=x[i],p%=MOD;
s*=(p-1)/(x[i]-1);
s%=MOD;
}
nr*=(e+1);
}
if(n!=1)nr*=2,s*=(n*n-1)/(n-1),s%=MOD;
cout<<nr<<" "<<s<<'\n';
}
return 0;
}