/** * author: enot.1.10, Vladimir Smykalov (enot.1.10@gmail.com) * created: 12.02.2016 20:17:49 **/ #define __USE_MINGW_ANSI_STDIO 0 #include #define F first #define S second #define pb push_back #define mp make_pair #define forn(i, n) for(int i = 0 ; (i) < (n) ; ++i) #define eprintf(...) fprintf(stderr, __VA_ARGS__),fflush(stderr) #define sz(a) ((int)(a).size()) #define all(a) (a).begin(),a.end() #define pw(x) (1LL<<(x)) using namespace std; typedef long long ll; typedef double dbl; typedef vector vi; typedef pair pi; const int inf = (int)1.01e9; const dbl eps = 1e-9; /* --- main part --- */ #define TASK "1" int main() { #ifdef home assert(freopen(TASK".in", "r", stdin)); assert(freopen(TASK".out", "w", stdout)); #endif ll a, b; cin >> a >> b; ll score = -1; for (ll x = a; x <= min(a + 100, b); ++x) for (ll y = b; y >= max(b - 100, a) && y >= x; --y) { if (__gcd(x, y) == 1) { score = max(score, y - x + 1); } } cout << score << endl; #ifdef home eprintf("Time: %d ms\n", (int)(clock() * 1000. / CLOCKS_PER_SEC)); #endif return 0; }