Pagini recente » Cod sursa (job #2553609) | Cod sursa (job #1705727) | Cod sursa (job #2585734) | Cod sursa (job #1466274) | Cod sursa (job #413784)
Cod sursa(job #413784)
#include<cstdio>
long long i,m,t,j,N,S,p[1000010],M=9973,f,e,s,pr,x;
void read(),solve(),ciur();
int main()
{
read();
solve();
return 0;
}
void read()
{
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
scanf("%lld",&t);
}
void solve()
{
ciur();
for(;t;t--)
{
scanf("%lld\n",&x);
N=1;S=1;
for(i=1;i<=m;i++)
{
if(p[i]*p[i]>x)break;
if(x%p[i])continue;
e=1;f=p[i];s=1;pr=1;
while(x%f==0)
{
e++;
pr=(pr*f)%M;
s=(s+pr)%M;
x/=f;
}
N=N*e;S=(S*s)%M;
}
if(x>1)
{
N=2*N;
S=(S*(x+1))%M;
}
printf("%lld %lld\n",N,S);
}
}
void ciur()
{
for(i=2;i<=1000;i++)
if(!p[i])
{
p[++m]=i;
for(j=i*i;j<=1000000;j+=i)
p[j]=1;
}
for(i=1001;i<=1000000;i++)
if(!p[i])
p[++m]=i;
}