#include<iostream>
using namespace std;
void work(long a,long b,long &x,long &y)
{
if(a==1){
x=1;
y=0;
return;
}
else if(b==1)
{
x=0;
y=1;
return;
}
else if(a>b)
{
long q=a/b,r=a%b;
long c,d;
work(b,r,d,c);
d=d-c*q;
x=c;
y=d;
return;
}
else{
long q=b/a,r=b%a;
long c,d;
work(a,r,c,d);
c=c-d*q;
x=c;
y=d;
return;
}
}
int main()
{
long a,b,a1,b1,m;
cin>>a>>b;
work(a,b,a1,b1);
//cout<<a1<<" "<<b1<<"\n";
while(a1<0)a1+=b;
cout<<a1;
return 0;
}
/**************************************************************
Problem: 2317
User: admin
Language: C++
Result: Accepted
Time:57 ms
Memory:2072 kb
****************************************************************/