Pagini recente » Cod sursa (job #1041050) | Cod sursa (job #1540804) | Cod sursa (job #1496675) | Cod sursa (job #2690300) | Cod sursa (job #2429058)
#include <iostream>
#include <fstream>
#include <cmath>
#include <vector>
#include <bitset>
#define MOD 9973
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout ("ssnd.out");
bitset <1000001> v;
vector <int> p;
int t, pp, ii, e;
long long n, nrd, sumd, x;
int main (){
v[0]=1;
v[1]=1;
for(int i=2; i*i<=1000000; i++)
if(v[i] == 0){
for(int j=i*i; j<=1000000; j+=i)
v[j]=1;
}
for(int i=2; i<=1000000; i++)
if(v[i] == 0){
p.push_back(i);
}
pp=p.size();
fin>>t;
for(int pas=1; pas<=t; pas++){
fin>>n;
ii=0;
nrd=1;
sumd=1;
while(p[ii] * p[ii] <= n){
e=0;
while(n%p[ii] == 0){
e++;
n=n/p[ii];
}
if(e == 0){
ii++;
continue;
}
nrd=nrd * (e+1);
x=pow(p[ii], e+1);
sumd*=((x-1)/ (p[ii]-1)) %MOD;
ii++;
}
if(n != 1){
sumd*=((n*n-1)/(n-1))%MOD;
nrd*=2;
}
fout<<nrd<<" "<<sumd<<"\n";
}
return 0;
}