Pagini recente » Cod sursa (job #1860924) | Cod sursa (job #2376593) | Cod sursa (job #19044) | Cod sursa (job #718767) | Cod sursa (job #2759211)
#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
typedef long long ll;
const ll mod=1e9+7;
const int dx[] = {0, 1, 0, -1};
const int dy[] = {1, 0, -1, 0};
#define all(x) x.begin(),x.end()
#define allr(x) x.rbegin(),x.rend()
#define rc(x) return cout<<x<<"\n",0
#define sz(s) (int) s.size()
#define pb push_back
#define mp make_pair
#define fr first
#define sc second
#define PI 3.14159265358979
using namespace std;
ll t,n;
void gcd(ll &x, ll &y, int a, int b)
{
if (b==0) {
x=1;
y=0;
}
else {
gcd(x,y,b,a % b);
ll aux=x;
x=y;
y=aux-y*(a/b);
}
}
int main() {
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
ll a,n;
fin >> a >> n;
ll inv=0,d,ins;
gcd(inv,ins,a,n);
if (inv<=0)inv=n+inv%n;
fout << inv << '\n';
}