require "advent" input = input(2019, 8).chomp layers = input.chars.each_slice(25*6).to_a layer = layers.min_by(&.count('0')) puts(layer.count('2') * layer.count('1')) message = layers.reduce do |l1, l2| l1.zip_with(l2) do |a1, a2| next (a1 == '2') ? a2 : a1 end end 6.times do |i| 25.times do |j| print(message[25*i+j] == '1' ? '#' : ' ') end puts end