Pagini recente » Cod sursa (job #1749265) | Cod sursa (job #693876) | Cod sursa (job #2190944) | Istoria paginii runda/pregarire_balti_oji_round1 | Cod sursa (job #1595384)
#include <iostream>
#include <fstream>
#include <cmath>
#define r 9901
using namespace std;
ifstream in("sumdiv.in");
ofstream out("sumdiv.out");
long long pow(long long a, long long b, long long i) {
if(b == 1)
return a;
if(b == 2)
return a*i;
if(b % 2 == 0) {
long long p = pow(a, b/2, i);
p %= r;
return p * p;
} else {
return (pow(a, b-1, i)) * i;
}
}
int main() {
int a,b;
in >> a >> b;
long long p = pow(a, b, a);
long long sum = 1+p;
sum %= r;
long long sq = sqrt(p);
for(long i = 2; i <= sq; i++) {
if(p%i == 0) {
sum += i;
if(p/i == sq)
sum += p;
else
sum += p/i;
sum %= r;
}
}
out << sum;
return 0;
}