Pagini recente » Cod sursa (job #2830751) | Istoria paginii utilizator/floarea_raul | Cod sursa (job #3244384) | Cod sursa (job #823040) | Cod sursa (job #2006755)
#include <fstream>
#include <cstring>
#define MOD 9973
using namespace std;
ifstream fi("ssnd.in");
ofstream fo("ssnd.out");
bool E[1000001];
int P[100001],p;
int T;
long long n;
long long putere(long long x,int p)
{
long long rez=1;
for(int i=1;i<=p;i++)
rez*=x;
return rez;
}
void f(long long x)
{
if(x==1)
{
fo<<1<<" "<<1<<"\n";
return ;
}
int i=1;
long long nrd=1,s=1;
while(1LL*P[i]*P[i]<=x)
{
int e=0;
while(x%P[i]==0)
x/=P[i],e++;
if(e>0)
{
nrd*=(e+1);
s=(s*(putere(P[i],e+1)-1)/(P[i]-1))%MOD;
}
i++;
}
if(x>1)
nrd*=2,s=(s*(putere(x,2)-1)/(x-1))%MOD;
fo<<nrd<<" "<<s<<"\n";
}
int main()
{
for(int i=2;i<=1000000;i++)
E[i]=true;
for(int i=2;i<=1000000;i++)
if(E[i])
{
P[++p]=i;
for(int j=i+i;j<=1000000;j+=i)
E[j]=false;
}
fi>>T;
for(int t=1;t<=T;t++)
{
fi>>n;
f(n);
}
fi.close();
fo.close();
return 0;
}