Pagini recente » Cod sursa (job #2575493) | Cod sursa (job #2212709) | Cod sursa (job #1031677) | Cod sursa (job #2621741) | Cod sursa (job #2404571)
#include <stdio.h>
using namespace std;
long long A, M;
long long expLog_modM(int base, int pow) {
if (pow == 0) return 1;
long long mid = expLog_modM(base, pow >> 1);
long long mid2 = (mid * mid) % M;
if (pow&1) return (base * mid2) % M;
return mid2 % M;
}
int main()
{
freopen("inversmodular.in", "r", stdin);
freopen("inversmodular.out", "w", stdout);
scanf("%lld %lld", &A, &M);
printf("%lld\n", expLog_modM(A, M-2));
return 0;
}