Pagini recente » Cod sursa (job #1929178) | Cod sursa (job #1863350) | Cod sursa (job #1840628) | Cod sursa (job #1636650) | Cod sursa (job #1901522)
#include <cstdio>
#include <cmath>
#define NMax 1000000
using namespace std;
long long n, t, i, j, aux, s, nr, p[78499], k, e, m;
bool viz[NMax+5];
int main ()
{
for (i=2; i<=NMax; i++){
if (viz[i]==0){
p[++k]=i;
for (j=2; j*i<=NMax; j++)
viz[i*j]=1;
}
}
freopen("ssnd.in", "r", stdin);
freopen("ssnd.out", "w", stdout);
scanf("%lld", &t);
for (i=1; i<=t; i++){
scanf("%lld", &n);
j=1;
aux=n;
s=1; nr=1;
while (p[j]*p[j]<=aux && j<=k){
e=0;
while (n%p[j]==0){
n=n/p[j];
e++;
}
if (e>0){
m=pow(p[j], e+1);
s=(s*((m-1)/(p[j]-1)))%9973;
nr=nr*(e+1);
}
j++;
}
if (n>1){
nr=nr*2;
s=(s*((n*n-1)/(n-1)))%9973;
}
printf("%lld %lld\n", nr, s);
}
}