n,m = list(map(int,input().split()))

ans = 1

for i in range(1,int(m**0.5)+1):

    if m%i==0:

        x = m//i

        if x>=n:

            ans = max(ans,i)

        if i>=n:

            ans = max(ans,x)

        

print(ans)

n,m = list(map(int,input().split()))

ans = 1

for i in range(1,int(m**0.5)+1):

    if m%i!=0:continue

    if m//i>=n:

        ans = max(i,ans)

    if i>=n:

        ans = max(m//i,ans)



print(ans)
n, m = list(map(int, input().split()))
ans = 1
for i in range(1, int(m**0.5) + 1):
    if m % i == 0:
        x = m // i
        if x >= n:
            ans = max(ans, i)
        if i >= n:
            ans = max(ans, x)
print(ans)

n, m = list(map(int, input().split()))
ans = 1
for i in range(1, int(m**0.5) + 1):
    if m % i != 0:
        continue
    if m // i >= n:
        ans = max(i, ans)
    if i >= n:
        ans = max(m // i, ans)
print(ans)

-    if m % i == 0: -        x = m // i -        if x >= n: -            ans = max(ans, i) -        if i >= n: -            ans = max(ans, x) +    if m % i != 0: +        continue +    if m // i >= n: +        ans = max(i, ans) +    if i >= n: +        ans = max(m // i, ans)