from kandinsky import set_pixel palette="""\u114c\x00\u010a\u124d\uffff\xe9\u014a\u0109\u128f\u01f9\u51ec\u124e\uf7be\u6d59\u80a2\u01cd\u126e\u0841\ud944\u10a2\xa6\u78a2\u0128\x01\u12b0\u120b\u4966\ufed9\u98c2\u022e\uc924\uffdf\u014b\uef7d\u2d3a\u80c3\u1042\u018c\uef5d\ue965\u8aa9\ue73c\u4861\u0a0d\xa4\x20\u94b1\u6985\u6861\u01aa\x03\u120c\u10a4\x82\x42\ud46d\x44\uff5b\uedd5\u9b4a\u8b8d\u228d\xc8\uef7e\u11ca\u02b0\uecae\ucebb\u9533\u8c72\u0126\ua533\u6b6e\u018b\uff7d\ud269\uc944\u8b4a\u09cc\u01cc\xa8\uce37\u8c51\uf922\uefdf\ud699\ud552\ube39\ub595\uab8a\u7226\u632d\u6cb5\u3229\uf9c6\uce59\u9cd2\u8c0e\u7269\u31c8\uffbd\ufeb7\ufdd3\uf655\uf52f\udedb\u9061\u73af\u52ab\u41c8\u1126\u0866\udefc\u58e3\u0234\u020c\ud4cd\u73b1\u3146\u2862\u20c4\u1000\u0b75\u014c\ufe57\udcce\ub924\ua861\u5acc\u31a6\u0333\u0189\uf944\uf592\ud5b5\uac4e\u8020\u5228\ufaa8\ufa27\u94d4\u8985\u7aaa\u11a9\u0296\uf73a\udf3d\ub38d\uadb7\u8a66\u2124\u0a8e\ufe35\uaa89\u9d55\u3124\u01ce\ufe32\ueeb9\ud800\ud77e\u524a\u4a2a\u2000\u1332\ufd50\ud36d\ud103\ucb8a\uc881\ubdd7\ub8a2\u51c9\u2c56\u1437\x02\ufa48\uf9a4\uedb3\ued51\ub42b\ua904\u7c31\u2126\u020b\u01b2\uee57\uecd1\ube37\ubc2c\u2923\u0292\ub5d8\u9aad\u7b0b\u4208\u2986\u1148\u09ad\uf081\ud1a6\ube7a\ubd52\ub2cc\uad55\ua903\uf79e\ueedb\uea89\udf1c\ud4b1\ucedc\u98e3\u8bd0\u7c52\u70a2\u4cb6\u330f\u24b9\u1125\uf122\ucdf8\uacd2\ua9a6\u23b5\u4aad\ueb2b\u5391\u532d\u5207\u4a8a\u30c4\xca\u61e8\u21a9\u0399\u02b9\uc0a4\ua4f4\u6acd\ub6fc\u1372\uf226\uda06\u4b34\u0881\u0153\ueb4c\u2b31\u2ad1\ue1e8\uaa87\u8d78""" dupont="""+N+++++\xc6+sN3\xb8s33ss\xb8sN=\xd9\xd9=\xd9=====OO++++++ssssI1I1INN+Ns+sN+3O3s=3\xb8s\xb8\xb83\xb8+OO++N+@1INNss+++6+=\xb8=333\xb8+%%++s+On,@4OF1OF1N+\xc55@3s=3\xb8\xb83%+s++F4FA35oI61N@@,\xc5@nn=3%+++AF5411n1,1,n6n4@\xc5,,4@\xd9=@@@\xea%%%Os+5FoAs6,Fnn,,5o6\xc5N5nN@@@\xc6n1=1@5Fz,\xf5zFA\xc5\xb8+O%I+sOO,61@255654,\xdb@,44\xc5\xc5@$1\xeb,I\xeb6O\xebz8\xeb\xeb®\xeb®=\xc6IO%OO11I,F1,F5,1114r\xbf,4 \xeb5\xeb\xebz\xeb,z\xe0un\xd9\x5c£,b\xcb\xc1¦\xcbFNIO%s{\xdb61n1\xc5\xc6%\xc6@,1rrr%\xec\xec\xc61\xec,,\xe0\xe3\xe3\xd5\xc1\xfa\xd0(\xe3^\xf7n¬/lKS\xf3/sN {rrr18116rrr{r\xbfrr8rrP\xe3\xc1\xcb\xd5\xdb\xf5\xf2\xe2\xf2']\xc8'\xf2l\xd0^¡\xdfSb\xd0n\xe2K1+%,8111rr\xf6r1,6r\xec1r\xec{rrr¤=u\xc1\xcbu5-\xd0^±^\xdfF@b°\xa8^\xc4,\xf3\xd0S¦\xf7/%=%\xf61\xf6rr1{8\xec\xaf\xe8ru\xcb\xc8±¦]±±±;nK\xe4'^l°/\xc4\xd0/\xf9^\xf3K-\xd0K¦S1+Oo{\xf6\xf4\xcb\xf6\x09o \xec2\xc1K\xcb\x0a,\xf2b^bl°\xd9°K(/\xe2m\xf2\xc4K1\xd0K\xdf¬S\xf366\xf3\xb8\xb8@%1-\xa8±S±\xf4\xf4¦K]°S±\xc7°\xe1±\xfa\xecZ\xc6\xfbm\x0a1°A\xc8S5K±K\xd04\xf7\xea;cs31NOI\xe2SS¦\xc45\xea^]°Kl\xc8±M'K\xf9\xe1u°°F/¤\xc1\xea^\xe3^\xdf(+As¢K±\xef\xea@n6INO%(^=6\xc3^K]°\xdf](\xf2\xc8l^S±\xa86(^S\xd0\xc4°\xc1q\xe9K±K¦AFFF5152556,3333@N% %\xf3S\xf6\xe5K°\xdfmu\xc1m±Ku\xc56\xc8°K\xd0^(\xc7\xb5Z(/I\xf9n52,@n@33333@\xb8+S\xcb\xec\x00(°5^\xf4\x09{^\xe1\xf2\xe2=\xc1(/©«§\xdc\xcdq@AN33N3FP1\xe2SS\xe2\xf46Kb°/¬^\xcb,-^\xc1\xdfK]\xf70(/\xd4©§~~~~~§«q1\xbf¤@NNI-1\xa8°\xc7c^¦\xe5^\xc1#02K^(©«§§\xed~~~~~L\xdc«\xe7@3@N%I \xeco5[\xd0\xc7<\xcbr(^\xc3/°b§\xc2(b\xe9#§©\xedL~LLL~~\xc8\xdcj3\xc63NO6-\xf6\xe4^S\xde^\xc7'](¦««~\xd7\xd4©§©§L\xed©\xed©©©\xed§§LLLL~\xdc©4A¤\xc633N%%\xcb\xf4@\xdb\xc1^\xe6lS^\xc1q\xe9/\xb5§««\xc8\xdf\xc8\xc8^©©©§LL§L~\xc7*A¤3N%OIFS\xd0\xe2SS\xa8\xdbqb\xc1/©«~\xb5~~«LY\xd2_UU)dD\xca\xd2»K©©LLL\xed~L\xdc*¤\xc63={IOOI\xa8±S±¦]«\xd7j\xb5\xcd\xb5«~«\xedYVU Ci&&\xd1Ua] \xcf\xd2\xc8\xc8LLL\xdc0A\xc631 IIO%1\xe1(\xe1F0§\xcd«\xb5\xcd\xcd\xb5~«7U iUQ_)UQXa\xbc\xcc)aX\xdd¶WTK©'LLLLS*\xbfN@II%IO% 1o0~\xb5\xb5\xd4\xcd\xb5\xb5Y_\xf0_Q__U\xd1X`R`XE[\xc4\xc3UR\xd5\xd1TV§LL\xdcw1{IO%OOA 0«\xb5\xd4\xcd\xcd\xb5V\xc9\xc9aQ_Qi)G\xc3v-_a\xd5RpT\xcfK'L'\xc7n1I%O%w«\xd4\xb5\xcd~\xbc\xf0XaQ_\xbc\xd1a··x4xx··5H\xcc`\xd5iTT»§LL' \xc6\xc6%o\xd4\xb5\xcd\xcd«\xc9WX\xbcQ\xbcQi·¢·-$··6XRG\xd1T\xdc'LSA\xbfAA=I0«#\xcd\xb5jW\xbc\xca\xbc\xbc\xbcQi\xd1\xc3xmca\xd1k_d))T\xdd\xdc'L\xc8\xdc· II\xbe\xcd##\xd4j\xbcXGQQXQ_U[\xc4v$·¡\xe1m$[E&))\xd1TS'¤AI>#\xcdjXG\xcaXXQQQ`¢m$$vH¡-EX!U)))&T¦''S\xe7zAI I%w#j.GX\xbcaaQa\xe1·v¡\xefHm6k[\xf5ui&9&&&K\xc7''''¤N%\xd4#(\xbcaGXXX\xbcQG[\xe1¢c¡\x0aW!&&)T)\xdc'''SvAN% xj##jDDDGG\xbcUG¢]\x0ac¢¢¡m$$RaXR_?)p)\xce\xce)T»'''§1¤A1 I*j##<aDGG\xcaUa\xc4$$4$4·¡mlu_.`U_CiXa!??\xc7\xfa'''''\xc7\xc5zA1OF0###DDG.GGQa2<\xde\xde:V!w\xef·mkUXE&\xceT»''''''q\xbfI\xbej###0MDRGGGX\xd2\xde<\xcaM\xbe-H\xee\xbe]\xcc6\xaf$[iR?!\xdcS'''AA1*jjRDaDG.aaan\xdb\xdb555·5(5\xc3<<\xdd46-UlE\xf7\xc7''''\xc7Nz\xbfA0\xd7D.DD.aHH\xe4==s=\xe6zQ</BY\xe7G.g<`<m6\xf5U_\xc5¢pC?\xc7\xc7S''Sz\xbf¤A1 ##(DaaaakHk]\xb8\xc2V\xd8zxK2:eY\xe7»|Y\xc3\xd1oX4)`oE\xd1__)!¦K\xdc±q\xbf¤\xbfA 4##kD..G...¶\xb8=\xb8,ae»\xf8®¥VY\xe2q\xbd2J¥*&[\xc3\xc4i]i\xcfUoo¦§\xc7\xbfA\xbf¤w\xd7###.D...GGQ\xd6®\xdefV|\xd8¬\xf7VwKo\xd2BZ:\xa8\xdexc\xc06`<\xc3==\xe1\xe4R\xce»P1 wj\xd7#D...DG\xcaQ¶AF\xcaopX\xbfA\xe4B(|Bxv }xi\xdb\xfc5¶[z®\xda\x22\xda®z¤3c¶U{\xbf¤w\xd7j\xd6a.D.G\xcaQ\xf8\xb8\xe6e{»Z\xdb4y£,-bM[.6\xf45F=Fs\xda\x22®\xda\xf1A\xf1\xda\x22\xda®\xe0nl{*\xd7#ZD....XXG\xd9FM¥»:ikRPPq(;(\xbe&\xdbF@@\xda\x22®A1,4\xe6F\xd9\xda\xe0\xda32<\xe3*(DR.`GG`kF/73f|aW,2Qo*\xfb(i\xbe=4\xea\xf9\x22\xf1n-w\xe9`\xdda\xbe=\xda®®ow0#DR..G.akZY¦¥\xdeuM<lgYE\xca;\xcf@\xc6zzF$\xefH7V:gV\xc0E,\xf8\xda,\xd5>*j\xd7#jZDE.DDEaHY;\xeep\xd6yB Q<¥f)\xc5]c=\xd9¢}9\xcfo9yE)\xe0\xe0\xda®F*j#D`.G`E<HF]YZC?l*B\xa8h\xcaM;q\xa8Z<,||g3\xd5\xc0\xf0(¥J\xcfo\xcfd2q\xef&-\xd9\xe0\xd8wj#0.R.D`aak=v(;b??¢BBBhM<-\xbetB¥e\xeeEk¥|\xcfJJ9d9qH`y\xf8\xd8{wj.D..`Rk<]n\xcb/Z\xd5?[\xfbBB:BBf.\xa8B} \xd2&\xe5\xa8329&9JdJh£\xdd$\xd9\xd8\xc6%jaD.`DREHc;(/ETJk7}g»::V<_g\xeeCT\xc0B7 g99Jdd¬E-\xd9\xd8%0###(DRGG\xe4/¬/x`?JR\xbd73:B7e|QiVW?uYt\xa8B3|9999¥Y!5\xd9%>0##DR`Dc\xbe3d$v\xee/77V\xd2g77»32V:Q:Xp(\xa87\xa87¥|9 ¦w` *###a\xcc\xc4qf9$mi\xce!d \xc2Y\xd2}g};7}VV:g\xd2\xc9\xc9<7¦7\xa8»:e9:}q¡E-%xj#;]3\xcfh¥)!\xceZ7}g;(\xbd7VVQ:fX\xce\xc0BBt}»299Bb4X %F0j##j\xd7\xe15Y|\xcf2h37w_?!?\xef(\xbd72/MV77\xd2\xca?\xc0¥»B»3fg||B($\xddU *0*£:\xcf9h }¦`J!Cb\xfb}}\xe5M\xbd7\xdeVC!J\xd2gf » »f:::f:fBb${xj0*£-MJ}}B;-kJ!WMY;\xe7;Q!&e:::3 f::f f \xa8b$Uk%00**yw\xd2J3::7¬¬y] ??!T\xc9.<\xe9b\xc2XTJ?!&\xce\xcc::2 ff f¥;$\xef $j\xd700*£<dh7b\xe9\xd3)!)& Wa\xf0\xd3&?!&)!::2f2 f f h\xfbw&a1 P00*c[\xcc|Y: ¬v$\xc9C\xd3?J! \xd0\xcb:J!!!&)J!\xca¥ 7e||||eeM\xcc {wj*a·[\xe6[\xdet\xbd\xe9mx¢l\xbcWC!\xe2\xdfq/*©¦&!!)9&J\xfc<B7Z7|9df/U` %£y\xcad2lRH;\xc4]¢cvc\xc9\xde\xbe\x5c ]wo9!&)&J&p\xe7\xe76\xbeh o99de\xa8)i-> \xe85Z\xc2V7glx]\xc3\xc4ccc\xc5H[4D*=z\xe4]*\xc1))&J&&&\xddW\xd6mm$4Bf:o9dd|h*[2b}$4-,w*[k]\xc4cnW`\xe6·y¬\xdb\xeav)\xd3C\xd1)CpCR¡46\xbdf2:9d9|¥Z-\xf5 2\xbe2:\xc2<\xbd3<l]\xea4_Cpp\xde0<u\xe4EqwHCpC\xd1UW\xbc\xe7-¥fgge9h)4Peeet$550#**cnU_\xcc \xd3\xfa]E¢\xc8\xc1\xd6lHu¶¶[cxxxv$6;¥f:o|h(qbJ-- P5\xbeg3\xb47;M-50\xcd#\xd70££c\xd3&?U j\xc8\xf3\xb5\xcb?CuHH\xd5¶u\xe4kR¡c<Bhh¥hBY¬¬q_?\xd5--o\xaf6/Z\xc2\xc2¥M\xbe\xe5c0#00*££-\xc3 p!\xce <K\xdf\xcb\xcaT))CWWWu¢\xc0\xc344(;YY;Z/b(/\xc2\xc0EP82}eeh<7;\xbem0#00*££-\xd3\xd3&?CCT!J!!?&i)\xd6H\xe4v¡4bZbbb(((Z<&k88\xaf2\xaf5aZ\xe5VZ\xe5*0**££$=W\xc0\xc9C&!&!?!JW\xc0[uv6v//Z;\xb4;;<!o8\xaf\xaf\xaf\xb4\xb4\xb4(lt£\xd70*wyyyH\xccWpJ!!J?\xce)\xc0Wk\xd3Hxx/;VgtZ\xd5[\xe8o2\xaf2\xaf;\xb4M\xbe/M0*£yyy4NR`\xc9&?\xce\xceJ??!iuT\xd6-EW[4\xe6m2Jdd9ehq_Po2\xaf2226(o\xe8{{,*0*£yyyA@\xd6<\xc0\xc9\xce??!¶C-E\xc0kk8o<eJdd9eh\xefaP26\xaf28on\xe8%>$££yyy\xe0{]<W\xd3J!?!JdCWakH\xc2\xc6\xf9m5o<f9ddott\xefE822\xaf,P,6yyy-\xd8zAEp!?\xc9D===\xea\xea\xe0¡feJdd9h\xb4Yw\xd5uP82> >26a\x0d{O\xe3\x0d\xd8\x5c\x0d\xfc\xf0\xc9\xfc\x5c\xe3\xe3\xf8%+m\xd8\xf1¤F}g&dd9gh7\xa8\xe9\xaf\xdek >8828\xbe\x0d%%{ {%1AA\xf1\xf1¤¤R\xd6®8|9o2}\xb4;cmo >>,8828`\xc0\xf9\xbfz¤A\xbfA\xbf\xe0zz®\xda®\xda\xe0®34\xafY9g2V}\xb4<\xe9\xe7mP 88222\xddT \xf1zz®\xf1¤¤z\xe0\xe3\xd9\xf8®®z\xd6vv\xdb¬eeeQVttM\xb4Mvv-\xe8\xe8Po882\xaf8*\xd2 U\xc0\xd8\xe0zz gQV3V\xe1\xe3Hk]\xdb· |ogggGtM;;¡P{ >82282ya\xf0\xf0&i\xfc\x5c\xd8\xd8\xd8\xd8V\xa8Bh7u\xe4\xe6bogVtt\xbd\xc2M;¬¬vP >8\xaf282*q*U\xd3\xd3!\xcf}h/YBB\xde\xdb]\xc2\xb4t\xcag\xbd\xbd7M;M¬v>P >88824[q*w0\xb5\xd2_ q;MyheeMM\xb4Z\xc2}\xb43h\xbd\xb4M;¡v\xe8PP88\xc3\xd6*/q\xd7~¦\xdd <hY-y( ge9\xc2M\xb4\xb4Mbb¬x{PPo8uETl*q\xd7\xdf\xd4\xed\xfa\xe27Mt2o\xbd7}|hb\xc2b//¬$\xe8>>>8\xaf`T¶EC\xc4R\xe50\xd4\xdf\xd4\xed\xd4tZ2d9Qe3hYYak\xe5\xf5 >>>>T\xf0TH\xbc¶¶u\xe90j\xd4\xdfqt\xe5t fVB\xb4tM<[\xc3\xf5-{>>>>>P2TCT&W[\xc9WE(\xd4/(tZBh3t}}Bt\xb4\xc2\xcc¶->>>> >o\xaf?Ci!i!HCEHU p\xd5qZYt/aY77tt\xbd;(/x\xc4--6P>>>\xe8{ o2ETCCp&Epl\xd6ilEC\xd1\xe5/ZY\xbd;\xbd\xbdYZ/w-$$$$$P>{o\xc5nHTCp\xcf)\xd1iuv&)\xdd\xcc¶EHWWZM;;w6$$$$$$$$\xc5PF>oHncpi\xcf)i\xce__\xd5\xd6¢[i\xee]\xeeW\xe7Zqw\xe7xmuuH[l¡¡mcc$$44PP> oo\xe1ci)pp\xd3_)\xeek¶\xc4CCR\xdd\xcc\xe6H`¬\xe6RX`RHllll¡¢mv·x4$vPPPP\xe82x\xc0UpCpC_\xc9\xddaE\xcc[mW??T\xc3Tk\xd6\xee\xe6\xc3¢lH[¡¢mx4$x\xc5o88¶p)ppp\xd3_C\xddR¶l¢W\xccR\xccR[¶Uv[`WaEuk¢mcc¡¡6-""" l,c=100,75 for ligne in range(l): for colonne in range(c): etape1=dupont[c*ligne+colonne] etape2=ord(etape1) print(etape2) etape3=ord(palette[etape2]) etape4=(etape3>>11,(etape3>>5)%64,etape3%32) set_pixel(colonne,ligne,(8*etape4[0],4*etape4[1],8*etape4[2]))