#!/usr/local/bin/ruby t="*l+,m-n./mAm0o1p23a4q56r7sBt89u-t-1:v;A[?]A^@C D_CD_EsF`GHmIJbKa";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?(HKzOrVCH O_694[Uq8g@i/i;tMB G#;-;B]rV[])`3'VWDZdF-+^46Z^Z@<>1sta`l bL+=J3 sL3eBY xm/a0]lV1? M4WAu7jCGk`UBzB#*gOJ wHu#gQst ^XB0VXjTim G> Jn;Mf$KRBf&7[%X344 47R.0v"Uz/4F"6Q+0> +1N3OLCeMn;8TQ>BHC W1";KrW,%P`C?@?)fz >c3B;r8Q"QCjmU"3SX d1Jt1qI;"G7HLO$I*6 =fCCo!G6CSm1a]S(S# d#sa#2lXP&4$L"^ir8 _BEmkSvA!f@p!$A6pE @#u%5QJda>[dT>cc4b YcAY)6uF9%1C4f?GWD cZR`n,%>JrTqK$eHG2 W)B__.[JP+@2qlsWxu g,O60@Nkj6VU#Gqp[fC%XOc`:C!-hbr3C0Dz2aLLRI%*4&Lto'OJxHohC= *H#sc][4ZwId0O,R]s<]D#ykgKY7Oc1`heSG/XxjLA2aiV!Gl X^T4P-/.oIyvR>kPyJ;lXD1r8n5gHPeuA4%j8*0>Iu^>CRxHz3HYX*#n,t _EjxBRbgFHkj:PmmNq3MA10LXwbAW&S^/0_x,H4d5"_9>K!n6*b(ij`:HQ RKf]EJoMNwY>5Si'd#'5BuS8[sF`_[bf9ZZbENlvrK !4M=y6IQ27&I Jm>nw57+;)s=Fo y<4pdw5ilSDhJR yao%_Wx+[lx6 D8Goea3uRPpu nFulWq0*3GoGaJ yAHF$#bJca5&Z0 K'r[o,K*"/^jv6 m08,PTZy$g?eX[ aN4jJ]AkXcV7 2;!};f=0;F.u npack("C*").ma p{|c|f=f*89+(( c-2)%90-1)}; require'zlib ';t=t.split*"" ;$*[0]?(t[/([* -K]+.)([*-K] +.)$/];t=$2+ $`+s=$1):(s=t[ /.+?[L-z]/];t= $'+s);f=Zlib ::Inflate.in flate(Marshal. dump(f)[7..-1] );S=%{t="#{t }";eval$s=%w {#$s}*"";%|}+F *9;P=proc{puts (S.slice!(0, 58));P};P[][ ][][s.upcase.u npack("C*").ma p{|c|c-=c>92 ?43:42;;P[][ ][20.times{|n| puts(("%029b"% ("\0"+f[60*c+3 *n,3]).unpack("N")[0]).gsub(/./){$&<"1"?(S.slice!(0,2)):(3 2.chr*2)})}]}][];puts(*["+"+"-"*25,"|,##,(c),Yusuke,Endoh, 2009".split(",").join(32.chr)].map{|l|S.slice!(0,32)+l})}* "";%|ceY8#NzbisMn?sT@m3,F .Abb`xW!r%'%Ybee>xkUfjf[(*^NdXo_+------------------------- "@hQh%Fx*q[iB7EM"suSG8GVOIzceg/O| ## (c) Yusuke Endoh 2009