Pagini recente » Rating Tux Ym (Tuxym) | Cod sursa (job #2025614) | Cod sursa (job #170892) | Cod sursa (job #2134076) | Cod sursa (job #1692387)
#include <cstdio>
#define MAXN 1000000
#define MOD 9973
char ciur[MAXN+1];
long long prim[MAXN];
int main(){
FILE*fi,*fout;
int i,t,nprim,nrdiv,j,e;
long long n,sum,prod;
fi=fopen("ssnd.in" ,"r");
fout=fopen("ssnd.out" ,"w");
for(i=2;i*i<=MAXN;i++)
if(ciur[i]==0)
for(j=i*i;j<=MAXN;j+=i)
ciur[j]=1;
nprim=0;
for(i=2;i<=MAXN;i++)
if(ciur[i]==0)
prim[nprim++]=i;
fscanf(fi,"%d" ,&t);
while(t>0){
t--;
fscanf(fi,"%lld" ,&n);
j=0;
nrdiv=1;
sum=1;
while(j<nprim&&prim[j]*prim[j]<=n){
prod=1;
e=0;
while(n%prim[j]==0){
n/=prim[j];
prod*=prim[j];
e++;
}
nrdiv=nrdiv*(e+1);
if(prod>1){
sum=sum*(prod*prim[j]-1)/(prim[j]-1);
sum=sum%MOD;
}
j++;
}
if(n>1){
nrdiv=nrdiv*2;
sum=sum*(n*n-1)/(n-1);
sum%=MOD;
}
fprintf(fout,"%d %lld\n" ,nrdiv,sum);
}
fclose(fi);
fclose(fout);
return 0;
}