Pagini recente » Cod sursa (job #2570454) | Cod sursa (job #2721135) | Cod sursa (job #1056010) | Cod sursa (job #949502) | Cod sursa (job #2170795)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
const int MOD=9973;
int x, t, k;
bool ciur[1000001];
int p[80000];
int main()
{
for(int d=2; d<=1000000; ++d)
{
if(!ciur[d])
{
p[++k]=d;
for(int i=2; i*d<=1000000; ++i) ciur[i*d]=1;
}
}
fin>>t;
for(int q=1; q<=t; ++q)
{
fin>>x;
int i=1;
int s=1;
int nr=1;
int m=1;
while(p[i]*p[i]<=x && i<=k)
{
int e=0;
m=p[i];
while(x%p[i]==0)
{
x=x/p[i];
++e;
m=m*p[i];
}
if(e>0)
{
s=(s*(m-1))/(p[i]-1)%MOD;
nr=nr*(e+1);
}
++i;
}
if(x>1)
{
nr=nr*2;
s=(s*(x*x-1))/(x-1)%MOD;
}
fout<<nr<<" "<<s<<"\n";
}
return 0;
}