from kandinsky import * chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/*=+'()[]{}<>%.;&^|!?:,_ " raw = "=6fD]VPQI'qZ2PJ3d/NUFgib3e0ZaQ1(SN8=kPn9R(uJs(^3(g[slHTh1JIf_EB^7xq1Z vL6YP)Y^i'<t?5e,w,=m5h84yGmPkrOX;jA430r|uL65L,SjM<o[:qDp_WfP]3huocQN/D8'72kePa8v1Ve&P;6'tR2b8C]W 5I5y%(oo,LUW<v{0i*x8g+q3V/]uZPVwuvKyg/i)7s);{.Q=%ajae'hUcLhQpHWW! ['X4[FdZ3>kJP8h+uK2J8fY*ia{z3TdZ28)Q}QkMa,WIGebUzlWId]DYHE{bvN?NZQARPF0f>}q{Vv5|}M&ti01.sb:}'t{04rew{swN%3hcK)U9Ph.^JmhXvpkGTWOwV6ZEb+sM5mOR{EL =s65/SF81? PWZ]c6Zek8[7.rxa]8)JIn2h3/LUJGV3EUf41LPb%,)1u*>{t3inEhtb F+t1*sY(3VQjA>?z^XC!>6BZs,27%Z2k:5yd3dCW.xQEMs{^ ]fXDiY:vm0.J9UgABktjaMH?5MxuSiA98_8c:S+Vazvm+8{&]9f]movyXc:SY:pjmj26d6IFa4L)X0G*^,X6*Y0*VtCzyx%U*lWC5pCuE*EdX7Ofn9fTPf ,l&{H,O %CrTJ*c2kU=+}r{NUTMr421&>D!ba}+Mv%q!UKhU>sh,|Cuy^&Ki'+vbYr?QvYJs2t>}e1[<E!D5];3g%/}LR1k4>>iwa;I=D|ZAx<.;9]=bM;qq7l00Hk<3=&OIi%oZ8CL8m(hzn'Bt<mPpDXnKMR!y*74vs1HTah+R>wwxhW{VJ5s}]e3TNz{?.MHxu5fdv0[')jub!kGax^ssVB(A3U4zAsj^2OZ5N0TxHUhos.Ds%oq=5u(|kDenyPyshbl &8Mt>aL:4 .k/{70PP83>=oC6^)f> N8S6?.u?aE^u|b,Kun5y|TU3Id0:UL+kOL/x{>rN?9'l4U9.XE]11{Mi*lWMWhw<aJ&+RZ13:bqS]TR?=Mh0K<V4N9k rh5YI?/w,l>_o)1),sA.i+J1Pc?O.VAqD?g[rO{y J?,>!Po(IA/1E%a!^61Wv|5w/yb5]xn5[EGn.PXl1Um;LY}S<7<ra<;m[&;.%<e}5a:kBzbusghZpz+uFAA3egSQWn|!wt&7a>.54anxU8hH[ZK^c??EnDb<^,=j?mI /N<B5z.LS4(?jt]R{7ATnva:+HyVHVc?ywy2UP.k0umcaXik4,.n}];l{D:+sk!}zn]LpMyi,PW8WC&&F}1&>/,/.vJuruzl*]fs]hy/taieOEtep&L(9CePgwWDxxVg_.u|}3nvBP_UYTur9ozcMn5Bg:2)GdB=!4o8Ku2S_71cjquy^jx E3)Puo%*DKC,!eQ_g!TXS*XfS(F}*JN))009ZKnIWuQAw }/GN&%+HvtS)Q_tD8!D!fY!:7GC{^xzfzv}Bo2o/roK ZKbj8A({EObf<lsib3M{Mvcrn}fm0dIRe6n<wDC,U:<BhPqx&&9E+h9=c}:bete<a0:>Ye++wix+v^Te&ul&cwz0^1f]IWpuxL[ftJA]l!%%Wrq0 EZy=fZIa* gZx]C3/:Bd1O.l3&po*hSA!8kYN5,eg:PtNx1?rfS&ljTPRsfz5Q3Rgj}JA'yk;!Aye.nr&+MQa+K,m Q ;a<y)f02dB}kMB]5be1sXg]N{B9n6x/_e4fnvG.f}ER*'y{(U]bfnq=OWL?O_QW=oRX*w4G%yPa9bp(/(+!YDX%+Y1Xq3BA96Q9eWHouqnRT_[HN*&W[3y;*!wyQ3W'3bR 7Mi!lr7P%0N1Z*k.{f'bv4QE[Jc+LimS1[H7H)<d&rA2{7fSg[+t2&C0!]6[([Kf8DVvW<'KQCak5No[UUL{c;K KE2i+RLkdnekiFm}!]|<ksoV8 %4imfxtEH|qH2(AkFl:|}wO*}uXTTHNB0<g 1K]wIsKVt+9a}5Q:Ok>m}V^=PMpvM!+vFWqE_)MM&_sr''8;kK9N%sGdae^0a)6>)qM.Zoh?L*.IE)Y6IV'2.8^^ZD3FH4,b%75ayiGa&hOfuy[^G 's(aI%Xyvvzn uh38,lAV1/vQt=alekpfJ*Wir?|2[LZ2iv>G,z,](U 2Q:VUugR9vQHHO2k<,T&6s^7}nTPrl*59huI?ryx9o5D[ET+dipt;_FS|Y/!(<xos{l><C*?klYq2PC{qpi%:KzrH[d/RVfzSVkz{|!)/P};otrni}>Uy)Ig;Gyvu7kdOf/oL(i5X!2qcom.;jk%v!o1fc!bC|r^iX5>>{V4) 54Nlt_ hI43&7Wg{0A]N^6'!5v1x45'=]iE1zz5CJ7A6U'LBHL=VZLS|z=60=*+OgO&9:X[kV2V+|m?5^V<u:FAlK&!96sBouJ{_r}/cSAY&5qzX+zCf:newXreYP,RFiF!e=%GEx.vkISE;sv!,R_ys&qHAc:{N,P paAW[5?lwc)zn(i})C!vtz7euMLbm1S}T!|s;aqE&%UjC),K*f*W+jlRe:T0{Z%HaGf.][P)&RC}Y{9W2!&,'1^*'Oc9TM!o6aWiL{rODd1{Z*+ {XTz&^6hLgatTNE r;FekPfKLI;LQE/?q:IcuaFmN{JA/Px;y1uXW+>ssRJ;9dxU4^+1qJlZKI*[CRuS5X8luET*sN=KROLKjz)cPX8E.sjOyW!ZxB'oajz[]nYlzZo[A%zTPN&jaSvtZNNs4M2]mG%&My:Y^rWkSvEI7yp>%B2}+:P!znXvAP7+LzoTfnr fup<&;(n|a99qQk/%'F:^+xj%0j+X6fzS!xsS;r2s+m+onzcp]p]mtjp>RS?08QK/E(L]|6ZSey 9h/X+|ot6UKeod6qcJ8RQ D93+*'hku1XcSRh|C6DgeGAn+lM*8s:]n+ llWEH[i;/XWpvM|8,JiZ9&vLDXrx6FCgpS<;'_;?;gObZL!QBMtC/5EOc!(C3*0!P6R>7xb<I=}leST&{SSCg^A8}{{sT*k:f*v^;0&ItwNFj}K(Vg+v ^l9wJ'%*:gFcO]n<n[pV!x17'L4W1r8O C'vCx'<.;Io{N<YCAv6x'ci*x&bN{IQx[M3;yKjt*TVM::W_OJGG7T<_+yEs].R)ak>v]jfEP1V7J;6kR+5GbzbsHhIRCP*l]gts gYw=&w{)]C/n/7U|:<7CfY^i&U9=!f0^2v^moJCq_gv0<Ca[g)0Oa,o(7n7i/1w9i,W=A0 ,Ht+}cG=IvZ:47[./vrl%%Rh[2._n3]qtS!2rGHGsc+uv:e3%w5 .QmvWswk+(^^Hj+uG2;),_&pvtE,MPyCB3<=sG|*g5xF'c%J/Si}kAC!OS'|xu69UamY:R(Z.[?3T8xMRe49Nf9m0G;gp;o9{U0PAjZaXGbO}0uL0)Q2?AW%=&s S j8o96zBF*:B&T6I8IdrOIybS*<;O&1Um6QB'J>}^F{HZf)Jc=1i,26lR32bj^p9DSi7D&h[V|cu a3RFGqG63gG,BTf+s';Vb|:u:An:^G%hQTeDK'ym)mQ&6F8Y]8q8NO/Fe8/93A;28L[{DkzmaPkNp5indC[,5)9!BB3O)wSUoj;Hu+4TzBpp=MwNU_X5s'T2V9SSO0F HTi[*),1QID*JN0tK^A_U1jcsl{:K5Q]/w4,U.nnE'mE?rF2g,L_m=Wx4f8{t=1+Uj1hfBb]B09&4sjg8Ya^AMJ_7>P5!b4J<Z&wxsew_%Y{U6ZJ{;JT(<aU{ B=&5cN4KsFl7.AzM2z|H.5bx9YI8RP2',,hBzFf1c_vE}4&3ivwgy1u+Di7>wlu|gw]2Cu/hN_YcuXnu;M3C<Ofjizf!UmeT(+.tq7|B(v_snM{Hj5L(q:O9&0zA*enV_z+<CY',';'EM9KpF8<fw_g.T!Gd6Hp{{/}1A?}=Bj6*=.Q4[J:!Gj_0d'f+^Tp aX]3PvR_%|LzF_UmY+wC{r}R+/KGWIFFaO)L}k(:V;2+X!K'Xobvm:w81co%rqX|zu>:zH},t/s.S|v:WbX%?gR31jnkHo}'rog|P'X}}[gx4Fq)tmyMT]b)Pds6;o;(qJlP{cZ3vpZ<uYcDPqGrsedE33c<8+]amq?,S}j+CB;^g11?FpPH&+hi8+6)g=ks+d1juv3gR(3^&/EhFC!j/|*dA7f|C(}p9SU5t,WY9K)DEz%P,exlo9wb?L?9" def decode(s:str,c:str)->int: n = 0 k = len(c) for t in reversed(s): n *= k n += c.index(t) return n img = decode(raw,chars) h = img&0xFFFF img >>= 16 w = img &0xFFFF img >>= 16 img >>= 1 for y in range(h): for x in range(w): img >>= 1 k = (img&1)*255 set_pixel(x,y,(k,k,k)) input()