#include #include 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 (jr && 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; }