# x => [y], x — спрака, y - зависимости
hsh = {6 => [3], 1 => [2], 2 => {}, 3 => {}, 4 => [3], 5 => [1,2] }
yoba = ""
until hsh.empty?
spravki = hsh.select {|k,v| v.empty? }.keys
yoba << spravki.join('-') + '-'
spravki.each { |spravka| hsh.delete spravka }
hsh = hsh.map { |k,v| [k, v - spravki] }.to_h
end
puts 'way:', yoba.chop
IyB4ID0+IFt5XSwgeCDigJQg0YHQv9GA0LDQutCwLCB5IC0g0LfQsNCy0LjRgdC40LzQvtGB0YLQuApoc2ggPSB7NiA9PiBbM10sIDEgPT4gWzJdLCAyID0+IHt9LCAzID0+IHt9LCA0ID0+IFszXSwgNSA9PiBbMSwyXSB9Cgp5b2JhID0gIiIKdW50aWwgaHNoLmVtcHR5PwogIHNwcmF2a2kgPSBoc2guc2VsZWN0IHt8ayx2fCB2LmVtcHR5PyB9LmtleXMKICB5b2JhIDw8IHNwcmF2a2kuam9pbignLScpICsgJy0nCiAgc3ByYXZraS5lYWNoIHsgfHNwcmF2a2F8IGhzaC5kZWxldGUgc3ByYXZrYSB9CiAgaHNoID0gaHNoLm1hcCB7IHxrLHZ8IFtrLCB2IC0gc3ByYXZraV0gfS50b19oCmVuZApwdXRzICd3YXk6JywgeW9iYS5jaG9wCgo=