#include <cstdio>
#include <cmath>
using namespace std;
long long i,j,h,k,ii,c,d,a[40000004],b[10000004],e[1004],nr,nr1,r,q;
int main()
{
    //freopen ("shades.in","r",stdin);
    //freopen ("shades.out","w",stdout);
    scanf ("%lld\n%lld", &c, &d);
    if (c==d)
        printf ("%d", -1);
    else if (c==(0LL+d-1))
        printf ("%d", 2);
    else
    {
        q=sqrt(d);
        b[1]=2;
        nr++;
        for (i=3;i<=q;i+=2)
        {
            if (a[i]==false)
            {
                b[++nr]=i;
                if (i<=(q/i))
                {
                for (j=i;j*i<=q;j+=2)
                    a[j*i]=true;
                }
            }
        }
        nr1=1;
        for (k=d;k>c;k--)
        {
            if (nr1>=(k-c))
                break;
            else
            {
                ii=k;
                r=0;
                for (h=1;h<=nr;h++)
                {
                    if (ii%b[h]==0)
                    {
                        e[++r]=b[h];
                        while ((1LL*ii%b[h])==0)
                            ii=1LL*ii/b[h];
                    }
                    if (ii==1)
                        break;
                }
                j=c;
                while (j<d)
                {
                    if ((0LL+d-j)<=nr1)
                        break;
                    else
                    {
                        for (h=1;h<=r;h++)
                        {
                            if ((1LL*j%e[h])==0)
                                break;
                        }
                        if (h>r && j!=ii)
                            break;
                    }
                    j=1LL+j;
                }
                if ((0LL+d-j)>nr1)
                    nr1=0LL+d-j;
            }
        }
        if (nr1==(0LL+d-c))
        printf ("%lld", 1LL+nr1);
        else
        printf ("%lld", nr1);
    }
    return 0;
}