Pagini recente » Cod sursa (job #1393971) | Cod sursa (job #1435631) | Cod sursa (job #1978158) | Cod sursa (job #193114) | Cod sursa (job #582306)
Cod sursa(job #582306)
#include "stdio.h"
long t[1001001];
long long x;
int nr;
int mnr=1;
int snr=1;
int y;
int i;
int n,z;
int j;
int ppw(int a, int x)
{
if(x==1)return a;
int c=ppw(a, x/2);
if(x%2)return (((c*c)%9973)*a)%9973;
return (c*c)%9973;
}
int main()
{
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
scanf("%d",&n);
for(z=1;z<=n;z++)
{
scanf("%lld",&x);
mnr=1;
snr=1;
while(x>1)
{
nr=1;
i=2;
while(!(x%i))
{
nr++;
x/=i;
}
mnr=( ((mnr*(ppw(i, nr)-1))%9973) * ppw(i-1,9971) )%9973;
snr=(snr*nr)%9973;
nr=1;
i=3;
while(!(x%i))
{
nr++;
x/=i;
}
mnr=( ((mnr*(ppw(i, nr)-1))%9973) * ppw(i-1,9971) )%9973;
snr=(snr*nr)%9973;
for(j=6;j<=x;j+=6)
{
i=j-1;
nr=1;
while(!(x%i))
{
nr++;
x/=i;
}
mnr=( ((mnr*(ppw(i, nr)-1))%9973) * ppw(i-1,9971) )%9973;
snr=(snr*nr)%9973;
i=j+1;
nr=1;
while(!(x%i))
{
nr++;
x/=i;
}
mnr=( ((mnr*(ppw(i, nr)-1))%9973) * ppw(i-1,9971) )%9973;
snr=(snr*nr)%9973;
}
}
printf("%d %d\n",snr, mnr);
}
return 0;
}