($_='fqahbOgrt1yrkvCgrt1QT1rtnzV')=~y/N-ZA-Mn-za-m1/A-Za-z:/; $_ =join('',reverse(split //)); /(.+):(.+):(.+):(.+)/;require "$2.pm";local $/;$i="$2::$1"->new($ARGV[0]||unpack('u', ))or die$!; @a=(' ','.',':','+','*','!','$','#');%c =map{int( 255/$#a*i($_,@a))=>$_}@a;($l,$h)=$i->$4;for $y(0..$h-1){print $c{c(a($i->rgb($i->$3($_,$y))),keys%c)}for(0..$l-1);print"\n" ;}sub i{@_{@_}=-1..@_;$_{$_[0]}}sub c{(sort{abs$a-$_[0]<=>abs $b-$_[0]}@_)[1]} sub a{eval(join"+",@_)/@_} __DATA__ MB5!.1PT*&@H````-24A$4@```"@````7"`(```#VL)I"````!&=!34$``%C' M_$?@`@```"!C2%)-``!Z)0``@(,``/G_``"`Y@``=2X``.I?```ZEP``%V]I MY,0K```!'$E$051XG&)@&"``$$`(]!\)4-$T7`H``@A%*1J#HA#(``(LIB-#68@FBV$A,>``&$TV),^W#)8EJ/51S--(``PFXQFF/1 M`%978A7!8P)``.&T&#\@23%6`!!`*&YDP!H'N!5C