local n,m=io.read("n","n")
if m%n==0 then
    print(m//n)
else
    local d={}
    for i=1,math.sqrt(m) do
        if m%i==0 then
            table.insert(d,i)
            table.insert(d,m//i)
        end
    end
    table.sort(d)

    local max=0
    for _,v in pairs(d) do
        if v*n<=m then
            max=math.max(max,v)
        end
    end
    print(max)
end