#include #include using namespace std; const int NMAX = 200; const long long INF = ( 1LL << 62 ); typedef long long I64; I64 A, B, L; I64 T = 2000; I64 GCD( I64 A, I64 B ) { I64 R; while( B ) { R = A % B; A = B; B = R; } return A; } int main() { cin >> A >> B; if( A == B ) { if( A == 1 ) { cout << "1\n"; } else { cout << "-1\n"; } } L = B - A; I64 Ans = -1; for( int st = A; st <= min( A + T, B ); ++st ) { for( int fn = B; fn >= max( B - T, A ); --fn ) { if( st >= fn ) break; if( GCD( st, fn ) == 1 && fn - st + 1 > Ans ) { Ans = fn - st + 1; } } } cout << Ans << '\n'; return 0; }