#include <cstdio>
#include <cmath>

using namespace std;



bool prim (long long x) {
    long long d, lim;

    lim = sqrt (x);
    if (x % 2 == 0 && x != 2)
        return 0;
    if (x == 2)
        return 1;
    if (x == 0 || x == 1)
        return 0;
    for (d = 3; d <= lim; d ++)
        if (x % d == 0)
            return 0;
    return 1;
}

long long gcd (long long a, long long b) {
    long long r;

    while (b) {
        r = a % b;
        a = b;
        b = r;
    }
    return a;
}

int main () {
    long long ans;
    long long a, b, c, d, i, j, lim2, lim4;
    long long x, y;

    /*freopen ("prime.in", "r", stdin);
    freopen ("prime.out", "w", stdout);*/

    scanf ("%lld%lld", &a, &b);
    x = gcd (a, b);
    if (x == 1) {
        ans = b - a + 1;
        printf ("%lld\n", ans);
        return 0;
    }
    /*for (c = a; ;c ++)
        if (prim (c))
            break;
    for (d = b; ;d --)
        if (prim (d))
            break;*/

    c = a + 64;
    d = b - 64;

    ans = d - c + 1;
    lim2 = min (c, b);
    lim4 = max (d, a);
    for (i = a; i <= lim2; i ++)
        for (j = b; j >= lim4; j --)
            if (i <= j && j - i + 1 > ans) {
                x = gcd (i, j);
                if (x == 1 && j - i + 1 > ans)
                    ans = j - i + 1;
            }
    printf ("%lld\n", ans);
    return 0;
}