sub j(\$){($
([()])::x){ $V+=('('eq$1)?-32:31
my($I,$K,$ J
,$L)=@_ ;$I=int($I*$M/$Z);$K=int( $K*$M/$Z);$J=int($J*$M /$Z);$L=int($L*$M/$Z); $G=$
J
-$I;$F=$L-$K;$E=(abs($ G
)>=abs($F))?$G:$F;($E<0) and($
I
,$K)=($J,$L);$E||=.01
;for($i=0;$i<=abs$E;$i++ ){ $D->{$K +int($i*$F/$E) }->{$I+int($i*$G/$E)}=1}}sub p
{$D={};$
Z
=$z||.01
;map{ $H=$_;$I=$N=j
$H;$K=$O=j
$H;while($H){$q=ord substr($H,0,1,"" );if(42==$q){$J=j
$H;$L=j
$H}else{$q-=43;$L =$q %9;$J=($q-$L)/9;$L=$q-9*$J-4;$J-=4}$J+=$I;$L+=$K;a($I,$K,$J,$ L);
($I,$K)=($J,$L)}a
($I,$K,$N,$O)}@_;my$T;map{$y=$_;map{ $T.=$D->{$y} ->{$_}?$\:' '}(-59..59);$T.="\n"}(-23..23);print"\e[H$T"}$w= eval{ require Win32
::Console::ANSI};$b=$w?'1;7;':'';($j,$u,$s,$t,$a,$n,$o ,$h,$c,$k,$p,$e,$r,$l,$C)=split/}/,'Tw*JSK8IAg*PJ[*J@wR}*JR]*QJ[*J'. 'BA*JQK8I*JC}KUz]BAIJT]*QJ[R?-R[e]\RI'.'}Tn*JQ]wRAI*JDnR8QAU}wT8KT'.
']n*JEI*EJR*QJ]*JR*DJ@IQ[}*JSe*JD[n]*JPe*'.'JBI/KI}T8@?PcdnfgVCBRcP'.
'?ABKV]]}*JWe*JD[n]*JPe*JC?8B*JE};Vq*OJQ/IP['.'wQ}*JWeOe{n*EERk8;'.
'J*JC}/U*OJd[OI@*BJ*JXn*J>w]U}CWq*OJc8KJ?O[e]U/T*QJP?}*JSe*JCnTe'.
'QIAKJR}*JV]wRAI*J?}T]*RJcJI[\]3;U]Uq*PM[wV]W]WCT*DM*SJ'. 'ZP[Z'.
'PZa[\]UKVgogK9K*QJ[\]n[RI@*EH@IddR[Q[]T]T]T3o[dk*JE'. '[Z\U'.
'{T]*JPKTKK]*OJ[QIO[PIQIO[[gUKU\k*JE+J+J5R5AI*EJ00'. 'BCB*'.
'DMKKJIR[Q+*EJ0*EK';sub h
{$\ = qw(% & @ x
)[int rand ||0);system( "cls")if$w ;($A,$S)= ($_[1], $
_
[0]);($M, @,)= split '}';for( $z=256 ;$z>0; $z -=$S){$S*= $A;p
@,} sleep$_ [2];while ($_[3]&&($ z+=$ S) <=256){
p@,}}("". "32}7D$j" ."}AG". "$u}OG"
."$s}WG" ."$t","" ."24}(" ."IJ$a"
."}1G$n" ."}CO$o" ."}GG$t" ."}QC"
."$h}" ."^G$e" ."})IG" ."$r",
"32}?" ."H$p}FG$e}QG$r". "}ZC"
."$l", "28}(LC" ."" ."".
"$h}:" ."J$a}EG". "$c"
."}M" ."C$k}ZG". "$e"
."}" ."dG$r","18" ."}("
."D;" ."$C" )}{h(16 ,1,1,0
);h(8, .98,0,0 );h(16 ,1,1,1)
;h(8.0 ,0.98,0, 1); redo}###
#written 060204 by
#liverpole @@@@@@@
#@@@@@@@@@@@
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViIGooXCQpeygkCiAgICAgICAgICAgICBQLCRWKT0gICAgICAgICAgICAgICAgICAgICAgQF87d2hpbGUoJCRQPX5zOl4KICAgICAgICAgKFsoKV0pOjp4KXsgICAgICAgICAgICAgICAgICAgICRWKz0oJygnZXEkMSk/LTMyOjMxCiAgIH0kVis9b3JkKCAgc3Vic3RyKCAgICAgICAgICAgICAgICAgJCRQLDAsMSwiIikpLTc0fSBzdWIgYXsKICBteSgkSSwkSywkICBKLCRMKT1AXyAgICAgICAgICAgICAgIDskST1pbnQoJEkqJE0vJFopOyRLPWludCgKICRLKiRNLyRaKTskSj1pbnQoJEoqJE0gICAgICAgICAgICAgLyRaKTskTD1pbnQoJEwqJE0vJFopOyAkRz0kCiBKLSRJOyRGPSRMLSRLOyRFPShhYnMoJCAgICAgICAgICBHKT49YWJzKCRGKSk/JEc6JEY7KCRFPDApIGFuZCgkCiAgSSwkSyk9KCRKLCRMKTskRXx8PS4wMSAgICAgICA7Zm9yKCRpPTA7JGk8PWFicyRFOyRpKysgKXsgJEQtPnskSwogICAgICAgICAgK2ludCgkaSokRi8kRSkgICAgICB9LT57JEkraW50KCRpKiRHLyRFKX09MX19c3ViIHB7JEQ9e307JAogICAgICAgICBaPSR6fHwuMDE7bWFweyAgICAkSD0kXzskST0kTj1qJEg7JEs9JE89aiRIO3doaWxlKCRIKXskcT1vcmQKICAgICAgICBzdWJzdHIoJEgsMCwxLCIiICk7aWYoNDI9PSRxKXskSj1qJEg7JEw9aiRIfWVsc2V7JHEtPTQzOyRMID0kcQogICAgICAlOTskSj0oJHEtJEwpLzk7JEw9JHEtOSokSi00OyRKLT00fSRKKz0kSTskTCs9JEs7YSgkSSwkSywkSiwkIEwpOwogICAgICAoJEksJEspPSgkSiwkTCl9YSgkSSwkSywkTiwkTyl9QF87bXkkVDttYXB7JHk9JF87bWFweyAkVC49JEQtPnskeX0KICAgICAgLT57JF99PyRcOicgJ30oLTU5Li41OSk7JFQuPSJcbiJ9KC0yMy4uMjMpO3ByaW50IlxlW0gkVCJ9JHc9IGV2YWx7CiAgICAgIHJlcXVpcmUgV2luMzI6OkNvbnNvbGU6OkFOU0l9OyRiPSR3PycxOzc7JzonJzsoJGosJHUsJHMsJHQsJGEsJG4sJG8KICAgICAgLCRoLCRjLCRrLCRwLCRlLCRyLCRsLCRDKT1zcGxpdC99LywnVHcqSlNLOElBZypQSlsqSkB3Un0qSlJdKlFKWypKJy4KICAgICAgICdCQSpKUUs4SSpKQ31LVXpdQkFJSlRdKlFKW1I/LVJbZV1cUkknLid9VG4qSlFdd1JBSSpKRG5SOFFBVX13VDhLVCcuCiAgICAgICAnXW4qSkVJKkVKUipRSl0qSlIqREpASVFbfSpKU2UqSkRbbl0qSlBlKicuJ0pCSS9LSX1UOEA/UGNkbmZnVkNCUmNQJy4KICAgICAgICAnP0FCS1ZdXX0qSldlKkpEW25dKkpQZSpKQz84QipKRX07VnEqT0pRL0lQWycuJ3dRfSpKV2VPZXtuKkVFUms4OycuCiAgICAgICAgICAnSipKQ30vVSpPSmRbT0lAKkJKKkpYbipKPnddVX1DV3EqT0pjOEtKP09bZV1VL1QqUUpQP30qSlNlKkpDblRlJy4KICAgICAgICAgICAnUUlBS0pSfSpKVl13UkFJKko/fVRdKlJKY0pJW1xdMztVXVVxKlBNW3dWXVddV0NUKkRNKlNKJy4gICdaUFtaJy4KICAgICAgICAgICAgICAnUFphW1xdVUtWZ29nSzlLKlFKW1xdbltSSUAqRUhASWRkUltRW11UXVRdVDNvW2RrKkpFJy4gICdbWlxVJy4KICAgICAgICAgICAgICAgICd7VF0qSlBLVEtLXSpPSltRSU9bUElRSU9bW2dVS1VcaypKRStKK0o1UjVBSSpFSjAwJy4gICdCQ0IqJy4KICAgICAgICAgICAgICAgICAgICAgJ0RNS0tKSVJbUSsqRUowKkVLJztzdWIgaHskXCA9IHF3KCUgJiBAIHgpW2ludCAgICByYW5kCiAgICAgICAgICAgICAgICAgICAgICA0XTttYXB7cHJpbnRmICAiXGVbJGI7JWRtIixpbnQocmFuZCA2KSsxMDEtNjAqICAgKCR3CiAgICAgICAgICAgICAgICAgICAgICAgfHwwKTtzeXN0ZW0oICAiY2xzIilpZiR3IDsoJEEsJFMpPSAgICAoJF9bMV0sICAgJAogICAgICAgICAgICAgICAgICAgICAgICBfWzBdKTsoJE0sICAgQCwpPSBzcGxpdCAgJ30nO2ZvciggICAgICR6PTI1NgogICAgICAgICAgICAgICAgICAgICAgICA7JHo+MDsgJHogICAtPSRTKXskUyo9ICAgJEE7cCBALH0gICAgICBzbGVlcCRfCiAgICAgICAgICAgICAgICAgICAgICAgIFsyXTt3aGlsZSAgICgkX1szXSYmKCQgICAgeis9JCBTKSAgICAgICA8PTI1Nil7CiAgICAgICAgICAgICAgICAgICAgICAgIHBALH19KCIiLiAgICIzMn03RCRqIiAgICAgLiJ9QUciLiAgICAgICAiJHV9T0ciCiAgICAgICAgICAgICAgICAgICAgICAgIC4iJHN9V0ciICAgIC4iJHQiLCIiICAgICAgLiIyNH0oIiAgICAgICAgLiJJSiRhIgogICAgICAgICAgICAgICAgICAgICAgICAuIn0xRyRuIiAgICAuIn1DTyRvIiAgICAgLiJ9R0ckdCIgICAgICAgIC4ifVFDIgogICAgICAgICAgICAgICAgICAgICAgICAgLiIkaH0iICAgICAgLiJeRyRlIiAgICAuIn0pSUciICAgICAgICAgIC4iJHIiLAogICAgICAgICAgICAgICAgICAgICAgICAgIjMyfT8iICAgICAgIC4iSCRwfUZHJGV9UUckciIuICAgICAgICAgICJ9WkMiCiAgICAgICAgICAgICAgICAgICAgICAgICAuIiRsIiwgICAgICAgICAgIjI4fShMQyIgLiIiICAgICAgICAgICAgLiIiLgogICAgICAgICAgICAgICAgICAgICAgICAgIiRofToiICAgICAgICAgICAuIkokYX1FRyIuICAgICAgICAgICAgICIkYyIKICAgICAgICAgICAgICAgICAgICAgICAgIC4ifU0iICAgICAgICAgICAgIC4iQyRrfVpHIi4gICAgICAgICAgICAiJGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAuIn0iICAgICAgICAgICAgIC4iZEckciIsIjE4IiAgICAgICAgICAuIn0oIgogICAgICAgICAgICAgICAgICAgICAgICAuIkQ7IiAgICAgICAgICAgIC4iJEMiICApfXtoKDE2ICAgICAgICAgLDEsMSwwCiAgICAgICAgICAgICAgICAgICAgICAgKTtoKDgsICAgICAgICAgIC45OCwwLDAgICApO2goMTYgICAgICAgICAsMSwxLDEpCiAgICAgICAgICAgICAgICAgICAgICAgO2goOC4wICAgICAgICAgLDAuOTgsMCwgICAgIDEpOyAgICAgICAgIHJlZG99IyMjCiAgICAgICAgICAgICAgICAgICAgICN3cml0dGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMDYwMjA0IGJ5CiAgICAgICAgICAgICAgICAgICAjbGl2ZXJwb2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBAQEBAQEAKICAgICAgICAgICAgICAgICNAQEBAQEBAQEBAQA==