Pagini recente » Cod sursa (job #1271108) | Cod sursa (job #1244313) | Cod sursa (job #1879310) | Rating carjan radu (nobody92) | Cod sursa (job #2870038)
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
const int MAX=1e6;
const int MOD=9973;
long long t,n,cnt,v[MAX],prim[MAX];
int main()
{
v[0]=v[1]=1;
prim[++cnt]=2;
for(long long i=3;i*i<MAX;i+=2)
if(!v[i])
{
prim[++cnt]=i;
for(long long j=i*i;j<MAX;j+=i)
v[j]=1;
}
fin >> t;
while(t--)
{
fin >> n;
long long nrdiv=1,sumdiv=1,sqrn=sqrt(n);
for(long long i=1,d=2;d<=sqrn;d=prim[++i])
if(n%d==0)
{
long long k=0,nn=n;
while(n%d==0)
n/=d, k++;
nrdiv*=k+1;
sumdiv=sumdiv*(nn/n*d-1)/(d-1)%MOD;
}
if(v[n]==0)
{
nrdiv*=2;
sumdiv=sumdiv*(n*n-1)/(n-1)%MOD;
}
fout << nrdiv << " " << sumdiv << '\n';
}
return 0;
}