#include <iostream>
#include <fstream>
using namespace std;
void euclid_extins(int a,int b,int c,int &x,int &y)
{///presupunem ca apelam aceasta functzie DOAR daca shtim sigur ca avem solutzie, altfel da eronat
if(b==0)
{
x=c/a;
y=0;
}
else
{
int q=a/b;///calculez citurile in variabila locala q pt. ca se le am
///shi atunci cind revenim
euclid_extins(b,a%b,c,x,y);
///pe baza lui x shi y ii calculez pe cei noi shi apoi ii atribui TOT pt. x,y
int xnou=y;
int ynou=x-q*y;
x=xnou;
y=ynou;
}
}
int main()
{
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
int a,x,y,n;
fin>>a>>n;
euclid_extins(a,n,1,x,y);
x=(x%n+n)%n;
fout<<x;
return 0;
}