Buggy python submission (verdict: Time Limit Exceeded):
n, m = map(int, input().split())

ans = 1
for i in range(m//n,0,-1):
    if m % i == 0:
        break
print(i)


Fixed submission:
def solve():
    n, m = map(int, input().split())
    for i in range(m//n,0,-1):
        if m % i == 0:
            break
    print(i)

solve()

Buggy python submission (verdict: Time Limit Exceeded):
n, m = map(int, input().split())

k = int(m/n)
ans = 1
for i in range(k):
    if m % (k-i) == 0:
        break
print(k-i)


Fixed submission:
def solve():
    n, m = map(int, input().split())
    for i in range(m//n,0,-1):
        if m % i == 0:
            break
    print(i)

solve()

Buggy python submission (verdict: Time Limit Exceeded):
n, m = map(int, input().split())

k = int(m/n)
ans = 1
for i in range(k):
    if m % (k-i) == 0:
        ans = k-i
        break
print(ans)


Fixed submission:
def solve():
    n, m = map(int, input().split())
    for i in range(m//n,0,-1):
        if m % i == 0:
            break
    print(i)

solve()

Buggy python submission (verdict: Time Limit Exceeded):
n, m = map(int, input().split())
#n個に分けてあげなきゃいけない
#合計はmにならなきゃいけない。素数のときは1確定？
#10 123のとき12から試す。余りが０だといいけどこの場合は３余るこのときあまりは１〜１１
#結局この問題はmを素因数分解して２数の積で表現したときにn以上の数で表せるかって話なわけよ、
#約数っていうのはその数の二乗を境にペアになっているから小さい方で割れれば商が相方になっているというわけ
#できる限り平均的に分けてあげたほうがいいってことはわかる。
#大きい方から下って見つかって瞬間終わりにするほうが賢いかも
#候補のうち最大の数字は
k = int(m/n)
ans = 1
for i in range(k):
    if m % (k-i) == 0:
        if m / (k-i) >= n:
            ans = k-i
            break
print(ans)


Fixed submission:
def solve():
    n, m = map(int, input().split())
    for i in range(m//n,0,-1):
        if m % i == 0:
            break
    print(i)

solve()

Buggy python submission (verdict: Time Limit Exceeded):
n, m = map(int, input().split())
#n個に分けてあげなきゃいけない
#合計はmにならなきゃいけない。素数のときは1確定？
#10 123のとき12から試す。余りが０だといいけどこの場合は３余るこのときあまりは１〜１１
#結局この問題はmを素因数分解して２数の積で表現したときにn以上の数で表せるかって話なわけよ、
#約数っていうのはその数の二乗を境にペアになっているから小さい方で割れれば商が相方になっているというわけ
#できる限り平均的に分けてあげたほうがいいってことはわかる。
#大きい方から下って見つかって瞬間終わりにするほうが賢いかも
#候補のうち最大の数字は
i = int(m/n)
ans = 1
while i >= 1:
    if m % i == 0:
        if m / i >= n:
            ans = i
            break
    i = i-1
print(ans)


Fixed submission:
def solve():
    n, m = map(int, input().split())
    for i in range(m//n,0,-1):
        if m % i == 0:
            break
    print(i)

solve()

Buggy python submission (verdict: Time Limit Exceeded):
n, m = map(int, input().split())
#n個に分けてあげなきゃいけない
#できる限り平均的に分けてあげたほうがいいってことはわかる。
#大きい方から下って見つかって瞬間終わりにするほうが賢いかも
#候補のうち最大の数字は
i = int(m/n)
ans = 1
while i>=1:
    if m % i == 0 and m / i >= n:
        ans = i
        break
    i = i-1
print(ans)


Fixed submission:
def solve():
    n, m = map(int, input().split())
    for i in range(m//n,0,-1):
        if m % i == 0:
            break
    print(i)

solve()

Buggy python submission (verdict: Time Limit Exceeded):
n, m = map(int, input().split())
#n個に分けてあげなきゃいけない
#できる限り平均的に分けてあげたほうがいいってことはわかる。
#大きい方から下って見つかって瞬間終わりにするほうが賢いかも
#候補のうち最大の数字は
i = int(m/n)
ans = 1
while n*i <= m:
    if m % i == 0 and m / i >= n:
        ans = i
        break
    i -= 1
print(ans)


Fixed submission:
def solve():
    n, m = map(int, input().split())
    for i in range(m//n,0,-1):
        if m % i == 0:
            break
    print(i)

solve()

Buggy python submission (verdict: Time Limit Exceeded):
n, m = map(int, input().split())
#n個に分けてあげなきゃいけない
#できる限り平均的に分けてあげたほうがいいってことはわかる。
#大きい方から下って見つかって瞬間終わりにするほうが賢いかも
#候補のうち最大の数字は
i = int(m/n)
ans = 1
while n*i <= m:
    if m % i == 0 and m / i >= n:
        ans = i
        break
    i -= 1
print(ans)


Fixed submission:
def solve():
    n, m = map(int, input().split())
    for i in range(m//n,0,-1):
        if m % i == 0:
            break
    print(i)

solve()

Buggy python submission (verdict: Time Limit Exceeded):
n, m = map(int, input().split())

#できる限り平均的に分けてあげたほうがいいってことはわかる。
i = 1
ans = 1
while n*i <= m:
    if m % i == 0 and m / i >= n:
        ans = i
    i += 1
print(ans)


Fixed submission:
def solve():
    n, m = map(int, input().split())
    for i in range(m//n,0,-1):
        if m % i == 0:
            break
    print(i)

solve()