Pagini recente » Cod sursa (job #2638565) | Cod sursa (job #2622128) | Cod sursa (job #2750858) | Cod sursa (job #2075415) | Cod sursa (job #2256612)
#include<bits/stdc++.h>
using namespace std;
#define MOD 9973
bool prim[1000100];
inline int power(int x, int p) {
int rez = 1;
x %= MOD;
for(; p; p >>= 1) {
if(p & 1) {
rez *= x;
rez %= MOD;
}
x *= x;
x %= MOD;
}
return rez;
}
int main(){
ifstream in ("ssnd.in");
ofstream out ("ssnd.out");
for(long long i = 2 ; i <= 1000000 ; i ++){
if(prim[i] == 0){
for(long long j = i*i ; j <= 1000000 ; j += i)
prim[j] = 1 ;
}
}
vector<long long> a;
for(long long i = 2 ; i <= 1000000 ; i ++)
if(prim[i] == 0)
a.push_back(i);
int t , n ;
in >> t;
while(t--){
in >> n ;
map<long long,long long> m;
vector<long long>::iterator it = a.begin();
while(n != 1 && it != a.end()){
while(n % (*it) == 0){
m[(*it)]++;
n /= (*it);
}
it++;
}
int no = 1 , sum = 1 ;
int aux;
for(auto i:m){
no *= (i.second+1);
sum = sum * ((power(i.first,i.second+1)-1)/(i.first-1));
sum %= MOD;
}
out << no <<" " << sum <<endl;
}
}