# 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

