Pagini recente » Cod sursa (job #679316) | Cod sursa (job #195110) | Cod sursa (job #701009) | Cod sursa (job #2741055) | Cod sursa (job #2254461)
#include<bits/stdc++.h>
#define MOD 9973
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int prim[1000000],k,q;
bitset<10000000>viz;
void ciur()
{
for(int i=2;i<1000000;++i)
{
if(viz[i]==0)
{
prim[++k]=i;
for(int j=i+i;j<1000000;j+=i)
{
viz[j]=1;
}
}
}
}
inline int po(int x,int y)
{
int ras=1;
while(y)
{
if(y%2)
ras=(ras*x)%MOD;
x=(x*x)%MOD;
y>>=1;
}
return ras;
}
void du(){
int n,s=1,d=1;
f>>n;
for(int i=1;i<=k && prim[i]*prim[i]<=n;++i)
{
if(n%prim[i]==0)
{
int pu=0;
while(n%prim[i]==0)
{
n/=prim[i];
pu++;
}
d*=(pu+1);
int p1=(po(prim[i],pu+1)-1)%MOD;
int p2=po(prim[i]-1,MOD-2)%MOD;
s=(((s*p1)%MOD)*p2)%MOD;
}
}
if(n>1)
{
d*=2;
s=(s*(n+1))%MOD;
}
g<<d<<' '<<s<<'\n';
}
void solve()
{
f>>q;
while(q--)
{
du();
}
}
int main()
{
ciur();
solve();
}