Pagini recente » Cod sursa (job #1674236) | Cod sursa (job #985749) | Cod sursa (job #2143934) | Cod sursa (job #1582697) | Cod sursa (job #407985)
Cod sursa(job #407985)
#include<cstdio>
long long i,m,t,j,N,S,p[1000010],M=9937,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=0;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+1);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++)
p[j]=1;
}
for(i=1;i<=1000000;i++)
if(!p[i])
p[++m]=(long long)i;
}
void factorizare()
{
}