Pagini recente » Cod sursa (job #2924713) | Cod sursa (job #2793269) | Cod sursa (job #2465774) | Cod sursa (job #2972548) | Cod sursa (job #1702000)
#include<cstdio>
long long inv[9999];//9973
#define M 9973
long long putere(long long a,long long n)//a^n
{
long long p;
p=1;
while(n!=0)
{
if(n%2!=0)
p=p*a%M;
a=a*a%M;
n/=2;
}
return p%M;
}
int main()
{
long long n,t,i,d,p,nrdiv,sdiv,put,s;
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
scanf("%lld",&t);
for(i=1;i<M;i++)
{
inv[i]=putere(i,M-2);
//printf("%d ",inv[i]);
}
//printf("\n");
for(i=1;i<=t;i++)
{
scanf("%lld",&n);
d=2;
nrdiv=sdiv=1;
s=n;
while(d*d<=n)
{
p=0;
put=1;
while(n%d==0)
{
n/=d;
p++;
put=put*d%M;
}
put*=d;
put %= M;
put--;
if (put == -1)
put += M;
if(p!=0)
{
nrdiv=nrdiv*(p+1);
//sdiv=sdiv*((put-1)/(d-1))%9973;
sdiv =sdiv*put%M*inv[(d-1+M)%M]%M;
s=s/d*(d-1);
}
d++;
}
if(n!=1)
{
nrdiv=nrdiv*2;
sdiv=sdiv*(n+1)%M;
s=s/n*(n-1);
}
//n^e
/*
n=cn;
e=s-1;
p=1;
while(e!=0)
{
if(e%2!=0)
p=p*n%M;
n=n*n%M;
e/=2;
}
if(nrdiv==2)
sdiv=cn+1;
*/
printf("%lld %lld\n",nrdiv,sdiv%M);
}
return 0;
}