#!/usr/local/bin/ruby t="7sBt89u-t-1:v;A[?]A^@CD_CD_EsF`GHmIJbKa*l+,m-n ./mAm0o1p23a4q56r";eval$s=%w{F=%q{ceY8#NzbisMn?sT@m3,F.Abb`xW!r%'%Ybee>xkUfjf[(*^Nd Xo_"@hQh%Fx*q[iB7EM"suSG8GVOIzceg/O=4CL,d[-k]twgVP`&wcfaT` 2M)j8sFY?(HKzOrVCHO_694[Uq8g @i/i;tMBG#;-;B]rV[])`3'VWDZdF-+^ 46Z^Z@<>1< cJ3E4GYSqGg7$ocX 88=*`RVO*WskDY-# uj$t3$XP#U IH]regXHa_ >sta`lbL+=J3sL3e BYxm/a0]lV1?M4WA u7jCGk`UBzB#*gOJ wHu#gQst^XB0VXjT imG>Jn;Mf$KR Bf&7[%X34447R. 0v"Uz/4F"6Q+0> +1N3 OLCeMn;8 TQ>BHCW1";Kr W,%P`C?@?)fz >c3B;r8Q"QCj mU"3SX d1Jt1qI;"G7HLO$I *6=fCC o!G6CSm1a] S(S#d#sa#2 lXP&4$L" ^ir8_BEmkSvA!f@p !$A6pE @#u%5QJda> [dT>cc4bYcAY)6uF9%1C4f ?GWDcZR`n,%>JrTqK$ eHG2W)B__.[JP+@2qlsWxug,O60@Nkj6VU#Gqp[fC%XOc`:C!-hbr3C0Dz 2aLLRI%*4&Lto'OJxHohC=*H#sc][4ZwId0O,R]s<]D#ykgKY7Oc1`heSG /XxjLA2aiV!GlX^T4P-/.oIyvR>kPyJ;lXD1r8n5gHPeuA4%j 8*0>Iu^>CRxHz3HY X*#n,t_EjxBRbg FHkj:PmmNq3MA10LXwbAW&S^ /0_x,H4d5"_9>K!n 6*b(ij`:HQRKf] EJoMNwY>5Si'd#'5BuS8[sF` _[bf9ZZb ENlv rK!4M=y6IQ27&IJm >nw57+;)s=Foy<4p dw5ilSDhJRyao% _Wx+[lx6D8Goea3uRPpu nFulWq0*3GoGaJyA HF$#bJca5&Z0K' r[o,K*"/^jv6m08,PTZy$g?e X[aN4jJ]AkXcV72; !};f=0;F.unpac k("C*").map{|c|f=f*89+(( c-2)%90-1)};requ ire'zlib';t=t. split*"";$*[0]?(t[/([*-K ]+.)([*-K]+.)$/] ;t=$2+$`+s=$1) :(s=t[/.+?[L-z]/];t=$'+s );f=Zlib::Inflat e.inflate(Mars hal.dump(f)[7..-1]);S=%{ t="#{t}";eval$s= %w{#$s}*"";%|} +F*9;P=proc{puts(S.slice !(0,58));P};P[][ ][][s.up ca se.unpack("C*").map{|c|c -=c>92?43:42;;P[ ][ ][20.t imes{|n|puts(("%029b"%(" \0"+f[60*c+3*n ,3]).unpack( "N")[0]).gsu b(/./){$&< "1"?(S.sli ce!(0,2)):(32.chr* 2)})}]}][];p uts(*["+"+ "-"*25,"|,##,(c),Yusuke,Endoh,2009 ".split(", ").join(32.chr)].map{|l|S.slice!(0,32)+l})}*"";%|ceY8#NzbisMn?sT@m3,F.Abb`xW!r%'%Yb ee>xkUfjf[(*^NdXo_"@hQh%Fx *q[iB7EM"suSG8GVOIzceg/O=4CL,d [-k]twgVP`&wcfaT`2M)j8sFY? (HKzOrVCHO_694[Uq8g@i/i;tMBG#; -;B]rV[])`3'VWDZdF-+^46Z^Z@<>1sta`lbL+=J3sL3eBYxm/a0]lV1?M4WAu 7jCGk`UBzB#*gOJwHu#gQs t^XB0VXjTimG >Jn;Mf$KRBf&7[%X34447R.0 v"Uz/4F"6Q+0>+1N3OLC eMn;8TQ>BHCW1";KrW,%P`C?@?)fz>c3B;r8 Q"QCjmU"3SXd1Jt1qI;" G7HLO$I*6=fCCo!G6CSm1a]S(S#d#sa# 2lXP&4$L"^ir8_BEmkSv A!f@p!$A6pE@#u%5QJda>[dT>cc4bYcAY)6uF9%1C4f?GWDcZR`n,%>JrT qK$eHG2W)B__.[JP+@2qlsWxug,O60@Nkj6VU#Gqp[fC%XOc`:C!-hbr3C 0Dz2aLLRI%*4&Lto'OJxHohC=*H#sc][4ZwId0O,R]s<]D#ykgKY7Oc1`h eSG/XxjLA2aiV!GlX^T4P-/+------------------------- .oIyvR>kPyJ;lXD1r8n5gHPeuA4%j8*0| ## (c) Yusuke Endoh 2009