// RandomUsername (Nikola Jovanovic)
// MindCoding 2016
// Round 1
// C

#include <bits/stdc++.h>
#define DBG false
#define debug(x) if(DBG) printf("(ln %d) %s = %d\n", __LINE__, #x, x);
#define lld long long
#define ff(i,a,b) for(lld i=a; i<=b; i++)
#define fb(i,a,b) for(int i=a; i>=b; i--)
#define par pair<int, int>
#define fi first
#define se second
#define mid (l+r)/2
#define INF 1000000000
#define MAXN 100005

using namespace std;

lld a, b;
lld bestDiff;

int main()
{
    scanf("%lld %lld", &a, &b);
    bestDiff = -1;
    ff(A, a, min(a+100, b))
    {
        ff(B, max(a, b-100), b)
        {
            if(B <= A) continue;
            if(__gcd(A, B) == 1)
            {
                if( (B - A + 1) > bestDiff )
                {
                    bestDiff = B - A + 1;
                }
            }
        }
    }
    printf("%lld\n", bestDiff);
    return 0;
}