#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
****************************************************************/