Pagini recente » Cod sursa (job #2592716) | Cod sursa (job #524798) | Cod sursa (job #1028441) | Cod sursa (job #1036450) | Cod sursa (job #767390)
Cod sursa(job #767390)
#include<cstdio>
#include<bitset>
#define mod 9973
using namespace std;
bitset<1000010>C;
int P[100000],p,t,ts,Nr,e;;
long long S,s,n;
void ciur(),read(),solve();
int main()
{
int i;
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
ciur();
scanf("%d", &t);
for(;t;t--)
{
scanf("%lld",&n);
Nr=1;
S=1;
for(i=1;P[i]*P[i]<=n&&i<=p;i++)
if(n%P[i]==0)
{
s=1;
e=0;
ts=1;
while(n%P[i]==0)
{
e++;
ts*=P[i];
s+=ts;
n/=P[i];
}
Nr*=(e+1);
S=(S*s)%mod;
}
if(n!=1)
{
Nr*=2;
S=(S*(n+1))%mod;
}
printf("%d %lld\n", Nr, S);
}
return 0;
}
void ciur()
{
int i,j,k;
P[++p]=2;
for(i=3;i<=1000;i+=2)
if(!C[i])
{
P[++p]=i;
k=2*i;
for(j=i*i;j<=1000000;j+=k)
C[j]=1;
}
for(i=1001;i<=1000000;i+=2)
if(!C[i])
P[++p]=i;
}