Pagini recente » Cod sursa (job #3202233) | Cod sursa (job #2326880) | Cod sursa (job #2757379) | Cod sursa (job #2150352) | Cod sursa (job #1302795)
#include<iostream>
#include<fstream>
#include<stdio.h>
#include<vector>
#include<bitset>
#include<math.h>
#define nmax 1000003
using namespace std;
vector<long long> prime;
bitset<nmax> ciur;
void p()
{
long long i,j;
prime.push_back(2);
for(i=3;i<=nmax;i=i+2)
{
if(ciur[i]==0)
{
prime.push_back(i);
for(j=3;i*j<=nmax;j=j+2)
{
ciur[j*i]=1;
}
}
}
}
int main()
{
ifstream si;
si.open("ssnd.in");
FILE* so=fopen("ssnd.out","w");
int t,k;
si>>t;
p();
for(k=0;k<t;++k)
{
long long n;
si>>n;
int i,c,d=1,s=1,mod=9973;
long long r=(long long)sqrt(n),p;
for(i=0;prime[i]<=r;++i)
{
if(n%prime[i]==0)
{
c=0;
p=prime[i];
while(n%prime[i]==0)
{
++c;
p=p*prime[i];
n=n/prime[i];
}
d=(d*(c+1))%mod;
s=(s*(p-1LL)/(prime[i]-1LL))%mod;
}
}
if(n!=1)
{
d=(d*2)%mod;
s=(s*(n+1))%mod;
}
fprintf(so,"%i %i\n",d,s);
}
}