lines = $stdin.readlines brk = lines.index(?\n) stackin = lines[0..(brk-2)] movein = lines[(brk+1)..-1] numstacks = lines[brk-1].split[-1].to_i stacks = Array.new(numstacks) { [] } stackin.reverse.each do |rank| stack = 0 until rank.empty? do stacks[stack] << rank[1] if rank[0] == ?[ rank = rank[4..-1] stack += 1 end end movein.each do |istr| n, f, t = istr.scan(/\Amove (\d+) from (\d+) to (\d+)\Z/)[0].map(&:to_i) f -= 1 t -= 1 n.times do stacks[t].push(stacks[f].pop) end end puts stacks.map(&:pop).join