Pagini recente » bogdyas | Cod sursa (job #1472891) | Cod sursa (job #2229544) | Cod sursa (job #587645) | Cod sursa (job #1474958)
#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)
{
long long nr=1,s=1,p,q;
int i;
for(i=1;v[i]*v[i]<=n;i++)
if(n%v[i]==0)
{
p=1;
for(q=v[i];n%v[i]==0;)
{
n/=v[i];
q*=v[i];
p++;
}
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()
{
int t,n;
f>>t;
ciur();
while(t--)
{
f>>n;
rez(n);
}
return 0;
}