Pagini recente » Cod sursa (job #485682) | Cod sursa (job #387642) | Cod sursa (job #1898823) | Cod sursa (job #1634794) | Cod sursa (job #2254462)
#include<bits/stdc++.h>
#define MOD 9973
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int prim[1000005],k,q;
bitset<1000005>viz;
void ciur()
{
for(int i=2;i<1000005;++i)
{
if(viz[i]==0)
{
prim[++k]=i;
for(int j=i+i;j<1000005;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();
}