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