Pagini recente » Cod sursa (job #1841935) | Cod sursa (job #2538163) | Cod sursa (job #1558823) | Cod sursa (job #2111067) | Cod sursa (job #654279)
Cod sursa(job #654279)
#include<cstdio>
#include<cmath>
#define MOD 9973
/*int pow1(int a,int n){
int rez=a%MOD;
for(int i=1;i<n;++i){
rez*=a;
rez%=MOD;
}
return rez;
} */
inline int pow1(int x, int p){
int rez = 1; x %= MOD;
for(; p; p >>= 1) {
if(p & 1) {
rez *= x;
rez %= MOD;
}
x *= x;
x %= MOD;
}
return rez;
}
int main(void){
FILE *fin = fopen("ssnd.in","r");
FILE *fout = fopen("ssnd.out","w");
int i,t,sumdiv,nrdiv,d,p,k,p2; long long n=0;
fscanf(fin,"%d",&t);
while(t--){
fscanf(fin,"%llu",&n);
nrdiv=1; sumdiv=1; i=1; k=int(sqrt(n));
for(i=2;i<=k;++i){
if(n%i==0){
d=0;
while(n%i==0 && n!=1){ ++d; n/=i; }
nrdiv*=(d+1);
p=(pow1(i,d+1)-1)%MOD;
p2 = pow1(i-1, MOD-2) % MOD;
sumdiv=(((sumdiv*p)%MOD)*p2)%MOD;
}
}
if(n>1){ nrdiv*=2; sumdiv=((n+1)*sumdiv)%MOD; }
fprintf(fout,"%d %d\n",nrdiv,sumdiv);
}
return 0;
}