Pagini recente » Cod sursa (job #1882208) | Cod sursa (job #708705) | Cod sursa (job #2799368) | Cod sursa (job #2804492) | Cod sursa (job #484004)
Cod sursa(job #484004)
#include <fstream>
#include <bitset>
using namespace std;
const int L=1000500,mod=9973;
bitset <L> m;
int p[100000];
int main()
{ifstream in("ssnd.in");
ofstream w("ssnd.out");
int T,i,j,k,q,r1;
long long x,r2,s,t;
p[1]=2;
q=1;
for(i=3;i<L;i+=2)
if(!m[i])
{p[++q]=i;
for(j=3*i;j<L;j+=i<<1)
m[j]=1;}
in>>T;
while (T--)
{in>>x;
j=r1=r2=1;
while((long long)p[j]*p[j]<=x)
{s=t=1;
k=0;
while(x%p[j]==0)
{x/=p[j];
k++;
s=(s*p[j])%mod;
t=(t+s)%mod;}
r1*=k+1; r2=(r2*t)%mod;
j++;}
if(x>1)
{r1<<=1;
r2=(r2*(x+1))%mod;}
w<<r1<<" "<<r2<<"\n";}
return 0;}