Pagini recente » Cod sursa (job #3198243) | Cod sursa (job #2267480) | Cod sursa (job #2140326) | Cod sursa (job #721711) | Cod sursa (job #2693810)
#include <bits/stdc++.h>
using namespace std;
ifstream f("inversmodular.in");
ofstream g("inversmodular.out");
//#define f cin
//#define g cout
const int dim = 402;
const int mod = 1e9 + 7;
void turbo(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
}
long long x, m;
long long expo(int x, int m){
long long ans = 1, md = m;
m -= 2;
while(m){
if(m % 2 == 1)
ans = (1LL * ans * 1LL * x) % md;
x = (1LL * x * 1LL * x) % md;
m /= 2;
ans %= md;
x %= md;
}
return ans % md;
}
int main()
{
turbo();
f >> x >> m;
g << expo(x, m);
return 0;
}