Pagini recente » Cod sursa (job #187699) | Cod sursa (job #1918740) | Cod sursa (job #1223575) | Cod sursa (job #1111213) | Cod sursa (job #949042)
Cod sursa(job #949042)
#include <fstream>
using namespace std;
ifstream fi("ssnd.in");
ofstream fo("ssnd.out");
#define NMAX 1000001
#define MOD 9973
long long s,n,i,j,x,v[NMAX/2],nr,p,b;
bool a[NMAX];
void ciur(){
v[1]=2;
for (i=3; i<NMAX; i+=2)
if (!a[i])
for (j=i*i; j<NMAX; j+=i) a[j]=1;
nr=1;
for (i=3; i<NMAX; i+=2)
if (!a[i])
v[++nr]=i;
}
int main(){
ciur();
fi >> n;
while (n--){
fi >> x;
s=nr=1;
for (i=1; v[i]*v[i]<=x; i++)
if (!(x % v[i])){
p=1;
b=v[i];
while (!(x % v[i])) p++,b*=v[i],x/=v[i];
nr*=p;
s*=((b-1)/(v[i]-1)) % MOD;
}
if (x!=1) nr*=2,s*=((x*x-1)/(x-1))% MOD;
fo << nr << ' ' << s << endl;
}
return 0;
}