Pagini recente » Cod sursa (job #2898511) | Cod sursa (job #2948270) | Cod sursa (job #70375) | Cod sursa (job #1395132) | Cod sursa (job #2638027)
#define MOD 9901
#include <fstream>
using namespace std;
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
int A, B;
int XN(int X, int N);
int main()
{
fin >> A >> B;
int res = (1 + (XN(A, B + 1) - A) / (A - 1)) % MOD;
for (int i = 2; (i * i) <= A; ++i)
{
if ((A % i) == 0)
{
res = (res + ((XN(i, B + 1) - i) / (i - 1))) % MOD;
if (i != (A / i))
{
res = (res + ((XN((A / i), B + 1) - (A / i)) / ((A / i) - 1))) % MOD;
}
}
}
fout << res;
fin.close();
fout.close();
return 0;
}
int XN(int X, int N)
{
if (N == 0)
{
return 1;
}
int P = XN(X, N / 2);
P *= P;
P %= MOD;
return (P * (((N % 2) == 0) ? 1 : X)) % MOD;
}