Pagini recente » Cod sursa (job #246707) | Cod sursa (job #565406) | Cod sursa (job #2233998) | Cod sursa (job #3227113) | Cod sursa (job #470268)
Cod sursa(job #470268)
#include<cstdio>
#include<iostream.h>
void read(),solve(),ciur(), solve_test();
long long t,n,SD,ND,M,P,S,p[100001],k,j,i;
int main()
{
read();
solve();
return 0;
}
void read()
{
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
//cin>>t;
scanf("%lld",&t);
}
void solve()
{
ciur();
for(;t;t--)
solve_test();
}
void ciur()
{
for(i=2;i<=100000;i++)
if(!p[i])
{
p[++k]=i;
for(j=i;j<=100000;j+=i)
p[j]=1;
}
}
void solve_test()
{
scanf("%lld",&n);
SD=1; ND=1;
for(i=1;i<=k;i++)
{
if(p[i]*p[i]>n) break;
if(n%p[i]==0)
{
P=1;
S=1;
M=0;
while(n%p[i]==0)
{
P*=p[i]; P%=9973;
S+=P; S%=9973;
M++;
n/=p[i];
}
SD*=S; SD%=9973;
ND*=M+1;
}
}
if(n>1)
{
ND*=2;
SD*=(n+1);
SD%=9973;
}
//cout<<ND<<' '<<SD<<'\n';
printf("%lld %lld\n",ND,SD);
}