n,m = gets.chomp.split(" ").map(&:to_i)

# 割り切れる場合は等分したときの値が最大公約数が一番大きくなる
if m % n == 0
  puts m / n
  exit
end

# 最大10^9ループ
(m / n).downto(1) do |i|
  # n-1個はi, 1個はi+rとなるような数列
  r = m - i * n
  if (i+r) % r == 0
    puts r
    exit
  end
end

puts 1
