#include<bits/stdc++.h> using namespace std; int x,y; bool c[40000005]; long long a,b,aux,i,j; inline long long cmmdc(long long a,long long b) { return !b ? a:cmmdc(b,a%b); } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>a>>b; if(cmmdc(a,b)==1) return cout<<b-a+1<<'\n',0; if(a==b) return cout<<"-1\n",0; if(a<2) return cout<<b-a+1<<'\n',0; for(x=2;x<=4e7;++x) if(!c[x]) for(y=2*x;y<=4e7;y+=x) c[y]=1; for(i=2,aux=a,y=0;i*i<=aux;++i) { if(c[i]) continue; if(aux%i) { y=i; break;} while(aux%i==0) aux/=i; } if(!y && aux>1) i=aux+1; for(j=4e7,aux=1;j>=i;--j) if(!c[j]) { y=j; if(aux*y<=b) aux*=y; for(;aux*y<=b;) aux*=y; } if(aux>=a && aux<=b) return cout<<aux-a+1<<'\n',0; cout<<"2\n"; return 0; }