Pagini recente » Cod sursa (job #656696) | Cod sursa (job #2957622) | Cod sursa (job #263502) | Cod sursa (job #543011) | Cod sursa (job #1919222)
# include <bits/stdc++.h>
using namespace std;
long long a, MOD;
long long lgput(long long x, long long put)
{
if (put < 0) return lgput(1 / x, put) % MOD;
else if (put == 0) return 1 % MOD;
else if (put == 1) return x % MOD;
else if (!(put % 2)) return lgput( (x * x) % MOD, put / 2 ) % MOD;
else if (put % 2) return x * lgput( (x * x) % MOD, (put - 1) / 2) % MOD;
}
int main ()
{
freopen("inversmodular.in", "r", stdin);
freopen("inversmodular.out", "w", stdout);
scanf("%lld %lld\n", &a, &MOD);
printf("%lld\n", lgput(a, MOD - 2) % MOD);
return 0;
}