#include <bits/stdc++.h>
#define rep(i,cc,n) for(int i=cc;i<=n;++i)
#define drep(i,cc,n) for(int i=cc;i>=n;--i)
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }
const long long INF = 1LL <<60;
const long long  MOD = 1000000007;
typedef long long ll;
using namespace std;

ll gcd(ll m,ll n){
    if(n==0) return m;
    return gcd(n,m%n);
}
         
int main(){
    int a,b;
    cin >> a >> b;

    int ans;

    rep(i,1,b){
        int tmp = 0;
        if(b / i > 1) tmp = b / i;
        else break;

        if(i * (tmp - 1) >= a) ans = i;
    }

    cout << ans << endl;

    return 0;
} 
#include <bits/stdc++.h>

using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int a,b,x,y;
    cin>>a>>b;
    int d=b-a;
    while(true){
        x=a/d;
        if(a%d!=0) x++;
        y=b/d;
        if(x<y){
            cout<<d;
            break;
        }
        d--;
    }
}