#include #define pb push_back #define mp make_pair #define minim(x,y) (xy?x:y) const int Nmax=100005; const int N=1005; using namespace std; long long x,y,i,j,a,b,Max; inline bool prim(long long x) { long long i; if(x==2LL) return 1; if(x%2LL==0LL) return 0; for(i=3;i*i<=x;i+=2LL) if(x%i==0LL) return 0; return 1; } inline long long gcd(long long a,long long b) { long long r=a%b; while(r!=0LL) a=b, b=r, r=a%b; return b; } int main() { #ifndef ONLINE_JUDGE freopen("a.in","r",stdin); freopen("a.out","w",stdout); #endif scanf("%lld%lld",&a,&b); x=a;y=b; while(!prim(x) && xa) --y; Max=-1LL; for(i=a;i<=x;++i) for(j=b;j>=y;--j) if(j-i>Max) { if(gcd(i,j)==1) Max=j-i; } printf("%lld\n",Max+1LL); return 0; }