#line 1 "a.cpp" #include #include using namespace std; #line 1 "/home/kotatsugame/library/math/extgcd.cpp" template T extgcd(T a,T b,T&x,T&y) { if(b==0) { x=1; y=0; return a; } T q=a/b; T g=extgcd(b,a-q*b,y,x); y-=q*x; return g; } #line 5 "a.cpp" int N,M; int A[5000],B[5000]; main() { cin>>N>>M; for(int i=0;i>A[i]; for(int i=0;i>B[i]; long ans=9e18; for(int i=0;i(N,M,x,y); if((j-i)%g!=0)continue; int n=N/g,m=M/g; int t=(j-i)/g; x*=t,y*=t; y=-y; { int l=min(x/m,-y/n); if(l>=0)x-=m*l,y+=n*l; } { int r=min(-x/m,y/n); if(r>=0)x+=m*r,y-=n*r; } while(x>=m)x-=m,y+=n; while(x<0)x+=m,y-=n; ans=min(ans,x*N+i); } if(ans==(long)9e18)ans=-2; cout<