// // main.cpp // LCM // // Created by AMADEJ on 5. 02. 16. // Copyright (c) 2016 AMADEJ. All rights reserved. // #include using namespace std; int gcd(int a1,int b1){ int a,b; a=max(a1,b1); b=min(a1,b1); while (a>=0) { a=a-b; } a=a+b; if (a==0) { return b; } else { return gcd(a,b); } } int main(int argc, const char * argv[]) { int a,b; cin >> a; cin >> b; if (b>a) { // exchange a,b if necesarry int t; t=b; b=a; a=t; } int soln=1; int cand=(a+1)*(b+1)/gcd(a-b,b+1); int z=cand; int n=1; while (n z) { cand=z; soln=n; } n=n+1; } cout << soln << endl; // lcm(a+n,b+n)=(a+n)*(b+n)/gcd(a-b,a+n) return 0; }