#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i,n) for(int i=0;i<n;i++)
#define PI 3.14159265359
#define mod 1000000007
#define ALL(a)  (a).begin(),(a).end()

int main(){
    ll a,b;
    cin >> a >> b;
    int ans = 1;
    for(int i = 1; i <= 200000; i++){
        if(a % i != 0){
            if(a <= i * (a / i + 1) && i * (a / i + 1) <= b){
                if(a <= i * (a / i + 2) && i * (a / i + 2) <= b){
                    ans = max(ans,i);
                }
            }
        }
        else{
            if(a <= i * (a / i + 1) && i * (a / i + 1) <= b){
                ans = max(ans,i);
            }
        }
    }
    cout << ans << endl;
} 
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;

int main()
{
    int a,b;
    cin >> a >> b;
    //cout<<__gcd(a,b)<<endl;
    int dis = b-a;

    for(int i=dis;i>=1;i--)
    {
        int n = b/i;
       // cout<<i<<" "<<n<<endl;
        if((n+1)*i <=b && (n+1)*i>=a)
        {
            cout<<i<<endl;
            return 0;
        }
        else if((n-1)*i <=b && (n-1)*i >= a)
        {
            cout<<i<<endl;
            return 0;
        }
    }
}
