Pagini recente » Cod sursa (job #2485979) | Profil SMg4587 | Istoria paginii grigore-moisil-2018 | Cod sursa (job #1576843) | Cod sursa (job #681256)
Cod sursa(job #681256)
#include <cstdio>
#define file_in "ssnd.in"
#define file_out "ssnd.out"
#define ll long long
#define mod 9973
int Q,d,e;
long long N,nrd,sumd;
int put(int A, int B){
if (B==0)
return 1;
if (B%2==0){
int X=put(A,B/2);
return X*X;
}
else{
int X=put(A,B/2);
return X*X*A;
}
}
int main(){
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d", &Q);
while(Q--){
scanf("%lld", &N);
d=2;
nrd=sumd=1;
while(d*d<N){
e=0;
while(N%d==0){
e++;
N/=d;
}
if (e>0){
nrd*=(e+1);
nrd%=mod;
sumd*=((put(d,e+1)-1)/(d-1));
sumd%=mod;
}
d++;
}
if (N!=1){
nrd*=2;
sumd*=((put(N,2)-1)/(N-1));
}
printf("%lld %lld\n", nrd,sumd);
}
return 0;
}