Pagini recente » Cod sursa (job #2394004) | Cod sursa (job #559566) | Cod sursa (job #2072141) | Cod sursa (job #2356675) | Cod sursa (job #3221839)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
bitset <1100000> a;
long long n;
int v[100003],p,x;
int main()
{
a[0]=a[1]=1;
for (int i=2; i<=1000000; i++)
{
if (a[i]==0)
{
v[++p]=i;
for (int j=2*i; j<=1000000; j+=i)
a[j]=1;
}
}
fin>>n;
for (int i=1;i<=n;i++)
{
fin>>x;
int d=1;
long long sd=1;
int nrd=1;
while (v[d]*v[d]<=x && d<=p)
{
int e=0;
long long pr=v[d];
while (x%v[d]==0)
{
e++;
pr=pr*1LL*v[d];
x/=v[d];
}
if (e>0)
{
sd=(sd*1LL*(pr-1)/(v[d]-1))%9973;
nrd=nrd*(e+1);
}
d++;
}
if (x>1)
{
nrd=nrd*2;
sd=(sd*1LL*(x*x-1)/(x-1)%9973);
}
fout<<nrd<<" "<<sd%9973<<'\n';
}
return 0;
}