//Dragan Andrei Gabriel //University of Bucharest #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; long long cmmdc(long long x, long long y) { long long r = x % y; while (r != 0) { x = y; y = r; r = x % y; } return y; } long long x, y; int main() { #ifndef ONLINE_JUDGE freopen("a.in", "r", stdin); freopen("a.out", "w", stdout); #endif scanf("%lld %lld", &x, &y); if (cmmdc(x, y) == 1) { printf("%lld\n", y - x + 1); return 0; } long long rez = -1; long long st = 1; long long dr = y - x + 1; while (st <= dr) { long long mij = (st + dr) / 2; bool ok = false; for (int i = x; i <= y - mij; i++) if (cmmdc(i, i + mij) == 1) { ok = true; break; } if (ok == true) { rez = mij; st = mij + 1; }else dr = mij - 1; } printf("%lld\n", rez); return 0; }