sub I{$x=pop;$x=~s-^-$"x$_[1]-gem;$/x$_[0].$x.$/} sub D{$~=shift;system($^O=~Win?CLS:"clear"),print, select$Z,$Z,$Z,$~for@_} sub R{$i=0;join$/,map{$j=0;join"",grep!($j++%$_[0]),/./g} grep!($i++%$_[0]),@:} $S=join"",@:=; chop,$_.=$"x-(y---c-82)for@:; D.3,@X=(map(I(20,41,$_),".",O),I(15,31,R 4), I(13,28,R 3),I(10,20,R 2),$S); D.2,map{$n=$_;join($/,map$_ x$n,R($_)=~/.+/g,"")x$_}2..4,3,2; D.1,$S,join"",map+reverse.$/,@:for$%..5;D.3,reverse@X