d=[];r=[];u=[] $<.map{|l|l.chomp! z=l.size z.times{|i|[[d,?D],[u,?U]].map{|a,b|l[i]==b&&(e=a.find{|c|l[i]!=c[i]} e||=(a<<" "*z)[-1] e[i]=l[i])}} r<