Pagini recente » Cod sursa (job #2985982) | Cod sursa (job #1272304) | Cod sursa (job #1536136) | Cod sursa (job #2068623) | Cod sursa (job #1006654)
#include <cstdio>
#define Mod 9973
using namespace std;
int p[100000],t;
long long n,s,b,i,j,nr,nrr,nre,x[1003],Max;
bool ok;
int main()
{
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
scanf("%d\n", &t);
Max=0;
for(i=1; i<=t; ++i)
{
scanf("%lld\n", &x[i]);
if(Max<x[i]) Max=x[i];
}
p[1]=2;
nr=1;
for(i=3; i*i<=Max; i+=2)
{
ok=true;
for(j=1; j<=nr && p[j]*p[j]<=i; ++j )
if(i%p[j]==0)
{
ok=false;
break;
}
if(ok) p[++nr]=i;
}
for(i=1; i<=t; ++i)
{
n=x[i];
nre=1;
s=1;
for(j=1; j<=nr && n>1 && p[j]<=n; ++j)
{
b=p[j];
nrr=1;
while(n%p[j]==0)
{
n/=p[j];
b*=p[j];
++nrr;
}
nre*=nrr;
s=(s*(b-1)/(p[j]-1))%Mod;
}
if (n>1){
nre*=2;
s=s* ((n*n)-1)/(n-1)%Mod; }
printf("%lld %lld\n", nre,s);
}
return 0;
}