Pagini recente » Cod sursa (job #1200330) | Cod sursa (job #2003404) | Cod sursa (job #2094284) | Cod sursa (job #1772511) | Cod sursa (job #482284)
Cod sursa(job #482284)
#include<algorithm>
#include<bitset>
using namespace std;
#define MOD 9973
#define MIL 1000005
#define MILL 1LL*1000000000005
#define ll long long
bitset<MIL> ok;
int prim[79000],nrPrime;
void ciur()
{
ll i,j;
for(i=3,prim[nrPrime=1]=2;i<MIL;i+=2)
{
if(ok[i])
continue;
for(j=i*i;j<MIL;j+=i)
ok[j]=1;
prim[++nrPrime]=i;
}
}
int main()
{
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
ciur();
int t;
scanf("%d",&t);
for(int i=1;i<=t;i++)
{
ll n;
scanf("%lld",&n);
int nd=1,sd=1;
int p;
for(int j=1;1LL*prim[j]*prim[j]<=n;j++)
{
if(n%prim[j])
continue;
ll s1=1,s=1;
for(p=1;n%prim[j]==0;n/=prim[j],p++)
{
s1=1LL*s1*prim[j];
s=(s+s1)%MOD;
}
nd=nd*p;
sd=(1LL*sd*s)%MOD;
}
if(n!=1)
{
nd=nd*2;
sd=(1LL*sd*(n+1))%MOD;
}
printf("%d %d\n",nd,sd);
}
return 0;
}