Pagini recente » Cod sursa (job #2207017) | Cod sursa (job #928194) | Cod sursa (job #3265905) | Cod sursa (job #2739377) | Cod sursa (job #1258057)
#include <cstdio>
using namespace std;
long long n;
long long lgput(long long a, long long b) {
if(b == 0)
return 1;
long long d = lgput(a, b/2);
if(b%2 == 0)
return d*d%n;
else
return d*d%n*a%n;
}
int main()
{
freopen("inversmodular.in","r",stdin);
freopen("inversmodular.out","w",stdout);
long long a;
scanf("%lld%lld",&a,&n);
printf("%lld\n",lgput(a,n-2));
return 0;
}