Pagini recente » Cod sursa (job #1768176) | Cod sursa (job #2221206) | Cod sursa (job #521016) | Cod sursa (job #1508930) | Cod sursa (job #1474961)
#include<fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
const int lg=10000001,mod=9973;
int v[lg];
bool c[lg];
void ciur()
{
c[0]=c[1]=1;
for(int i=2;i*i<lg;i++)
if(!c[i])
for(int j=i*i;j<lg;j+=i)
c[j]=1;
for(int i=2;i<lg;i++)
if(!c[i])
v[++v[0]]=i;
}
void rez(long long n)
{
int i;
long long p,q,nr=1,s=1;
for(i=1;v[i]*v[i]<=n;i++)
if(n%v[i]==0)
{
for(p=1,q=v[i];n%v[i]==0;n/=v[i],p++,q*=v[i]);
s=s*(q-1)/(v[i]-1)%mod;
nr*=p;
}
if(n!=1)
{
s=s*(n+1)%mod;
nr*=2;
}
g<<nr<<" "<<s<<"\n";
}
int main()
{
long long t,n;
f>>t;
ciur();
while(t--)
{
f>>n;
rez(n);
}
return 0;
}