palette="""\x00\x42\x83\u39e7\x63\u39c7\x22\u2020\x62\u3041\x21\xa4\x20\xa3\u31a6\u3985\u0841\u39a6\u1082\x41\u1820\x82\u2965\u3964\u2124\u20c2\u3841\x01\u2104\u18c3\u39c6\u31c7\u1041\xc4\u2000\u3123\u2944\u3861\u1062\u0800\u2986\u20a2\u3840\u2841\u1000\u31a7\u2903\u0861\u1861\u1800\u10a2\u0862\u3103\u3965\u3944\u38a2\u20e3\u10a3\u08a3\u0821\u3923\u2144\u3082\u1904\u3185\u3881\u3144\u28e2\u1881\u0882\u3186\u2103\u1882\u39a5\u3943\u18e3\u1020\x85\x43\u18e4\xc5\u2800\u3165\u2125\u2061\u18a2\xa5\u28e3\u2081\u28a2\u2145\u3984\u3000\u30e2\u30c3\u3040\u3020\u2820\u0905\u0105\u3882\u2902\x64\u3924\u2985\u0840\u2966\u20a3\u18c2\u3820\u3061\u2945\u28a3\u2840\u3124\u20e4\u1125\u0926\u08c3\u3166\u2924\u2861\u08e5\u38c2\u10e4\u10c3\u1081\u1862\xe6\xa6\u3021\u2925\u18a3\u29a7\u3081\u10c5\x44\u38c3\u08c4\u08a4\u3862\u28a1\u2146\u1925\u0946\u1946\u1063\x66""" dupont="""%%'%%%%%%%%%%%%'%%'%8%%%%%8%%%'%%'0].%00%%0000000%%0]000]0%%%]%]8%%]%%]%''''''''%%%%'%%%%%%%+$++++''%'%%%%%0'%%%%%%%0%%%0%0%%'%0%%%%]%%%%%8%%88%888%''''''''%%00-'%'%'+++''%'%0%%%%%%%0#'%$%0%%%%0%0%0%0%%%%%%%]%80]%%%08%%880%''%%'%''%'%6-++-0'6++%'+6+'%'%%00.$/00+%%%%%0%%%0%%%%%0]%%%0888%%%%8%8%88%'''''%%%%0%$6%--60.%/>+%$#++''$%++.-+$+6600%%%00%00%0%%000%0%%0%%%%]%%%8%80''''%%'%%%.6$0/-+%+-6+-+-$.+6$#6-%+#$---+...0.0.0]0%00++00++88+++++V+%%88%%'''''%%%''$/6#>.%#-$666-+%--/>#$.'/6+//%.'+++'+6%++8]+%%+/6s-/s$6D.%%$8%88%''''+%%%''''-#+%$-+#//#/+%--6+--%-$$'%'+%#%y#+£-+£y%#'£sy>#.£--£'%£D$88]'+'''''++$+'%--6%+-6/-+%$++++-p.%-%-$£yD+#/£y#'£-'s£%-%sr6#\xb2J-v3k6%%'+'''%$)$q$6#++6+$$'''+%-pppy-'¤y¤'##yy¤-#-#/\xafZL-H=¬6wZISZUa=M©S%88'$'''$qppp>-$+$'#pyppq#$yp.pp>'ppy)##6/d8d=hd=dU=Z|H5Mk|Z/6a++%88%''%->pp«p-#p¤--yp¤-#qpppD]/rr/#Z=HH|8H6ZwRd+kHR-©|ZM¬w#3ZS'%+8]''''##'««ppyq#>¤y#)ypyy##rHhH=HH<6da\xa0=HUSRZCSZ®H|©a##Z|aMZR#{Z+++888%''$##>q«axx«¶>#$¤0#\x5ca\xb5-Z=ddkRHkU={#adLdRSI|=ddR,awZaIM©##Z©8888+8'''+###%HMH|-aa#/ahMH\x5cH\xaf¤)#gZ'+d°IZ\xb5+d||.wd8M|%/aHaZxZw-¬x$V<V%%88+%''+%-#3MMZ5RZZ/VH,haUH<=a®\x5c#wZr6SdDdVwHHRZL%.%5aH§+xV8%+%6#+%8888%'''%'#LH=z]##5Ha#hhZL$dUHMH#LHMZR#|z=o¢aHa+5+.%.%+666/+/#//#-%%%8%+%''$''+©MZy«##¡da#5IZrd5IHar$#Za$#Z=HLCNgLS3$+D®%.6#/#/-+6++%%%%%%%+8%%''$$$|=M¤q#5d|#5dLC==z/wHa¶q3H|\x5cd]LxS,,*Mo+.D.'%%0000.0%%%%%'%%%8%''%6)+MMa#CZa#kSIH=-#|Hah¬{TL{Sw*NNN,,NN,o+.D...0%%%%%%%%%%%+'8%'+%+#y3dxVH-wZ¡CH*T#aHddLCxw*,¥,,,,,NNNNN,M^%D.%.%%%%%%%%%%%+%+%'''+#$¤>/@Zd[=pLH5SktCLk¢*¥,,,N,,,,,,,,,,,,,NNME$D.%0%%0%%%%%%%'%88'''%##y«##\xa0HMHz=dhLCN7*,¥¥¥,,,,,,,,,,,N,M-.D%%%%%%%%%'%%%%%'''%$#a+6=HUUdMHo¢S*,N,,,ttt,H,,,,,,,,,N,O.D%%%%%%%%%%%%%%''''+6dMZMM6okxStNNNNt,fuui11(&`Ga,,,,,,,,¥N,MO0D0%%%%'%%%%%%]q+'''+H=MHh777EtNNNt¥fe1BB11((B1jhBB}B4,,,,,,,,,MT.D%.%%%'%%%%%%+$++''+\x5cxL\x5c6T*NNNttW1B11ci(1c99(99bK&&ua=,,,,,,,,MO..%%%%0%%%%'%+++'+''$$>TN**NN*NNtfi\xa8icii1B9;?;9?@R##51?B&&e,,,,,,,,,MJD.%%%%%%%%%%+q+'''''.$T***N*NtteKK9cic1(G5R3/#######3i9?P&4a,=,,,,,,=6D%.%0%%%%%%+$$+'''''J*w****NtN\xa899ciABj33^-^^333/####@;1&&,,,,,,,=t$D.%%%%'%'%$$$$$$'%>t****Nt|KK9ccA15/353###33########9?G&B&uM=,,,,,,M7..%.%.%%%]$$$$$$'+T*****NE{KGc1B5/R3###^IV/######v9Bni&((&M,=,,,,M3D%%.00%%%$$$$$++*******E{9Gcc9ci1@R3###35\x5cI########@&&?B(((B&uM=,,,,,=t'D.%0%.%%$++$$')E******Et99GG99ccc;5I##3\x5c@5/#######3?9(&u1&((((&=,,=,,,M^s..%%0%%'+$$+'Jt**7****EQ};G999c9\x5c\x5c335§@I########3n@//ru1&(A(((&a==,,=,=t'D...0%0''$$'$7*******ELjG999cG@\x5c5V5\x5c\x5c\xb5############/##K&&&((((&(M==,,=,M3y...0%.''$$$^E******E*``Q`GG1G5h\xb5V555I###########?99?\x5ci((P(&&&(&===,,=*D...%%+$$+$OE******E[9j`GGG1jR3##-#/-#######35I#U&r#i;;1i1199(&((,\xaf=====$s.....+$$'6T******E*``G;GGcj#############R[Xe#/&(/J§\x5c33In19?(&&=======oD..0..$$+'E******T<`?QGGG95############3[G<##@&¦h####@&1?&((MM==,=,=t.D....+$$$OE777***E?`j`G;jjj666///#///R3//LC#//53[&&[C#-##1&U?&&&¬====,='s....$$$-T*777*7Ew`;``;j@@\xa0%]]0%]Us3{Qc[S_f^zG;2[;&[uI##/1i$5&P1(uM===MCs.D..+$$-7***7**EL`jjjjn@nh888+es^a:Xz|lf^z2&f5B29##-(;>#?Bii((ua,MHo.D...+$$-E7*****En`;;G;;;b8]8-jl%wY4efoRQ:(YO9(@5#R1\x5c#hu144124&&&&2E.D..D$$$J*77***E*;`;;;GGcb08:e2DDI¬eJa2_gCX#&^#VC#;u[5+%]%%]\x5c\xa0?9&&*)yD..+$$JE77777**`;;;`GGcb.6G&2P&9..\xa0_z/L2_7^3:F^x136±3/b@+$Ds3sD%%Vb1&}%q.D$$$J*7777*Ewbj;`;GGc8Ul444&uq'%g6-#J#-#k<@&;#a/6]6%3 D.D 3%6U4&vq'$$$O*77**7Eg`;;;;99G6<YX41n?))zQ#oLC<|L3(&/.66++3.+-#-UR#6 %#[&&$$$O**7**7EL`?;;GG;n86SWY:2j}K\x5c-#c2Ow{°LCC1&+]-V®3D$6#J¢C5;9##] +/u&$$>J*7T7**E{`?;;G;jn8$gfY}Br<u[U2f?uG<#4&3#+$'ss6#§@WeX2eQC&?##- 0-$$)OE777**Eg`?;``?j@8+xf{<¦P&b#_:c[Y4&&:x(R#$hV]5C}vF4A42A&u#?&(3##+ 6$)$OE7***7Ew`;;G;?[@86hf{g1(&UO_mG<<og[5#-z222Y\xa8LY4(4424&:o§&(###/ $)$JE**7**Tw;?;`;jjn]+3L<k((&5{___mz<[#//##F_Yl¦?&n|Y24((A4&A2o@&;#### $$qJ***7**E*;`;;;?n[h6Sg(&&@°__X__:&;###/_F:vB(¡Y:4A(A(&(4mJ&##### '$'/E**7***Ej`;;`??@V<LSC?&(&n{WF22XX2e[Q44i42¦1&{_W:24AA(&&A~{I&?#####$$'-T**7***EL`?GG}\xa05zSIS^;((&?{QWYX44_W~l42c14eK&(rfF_Y2A4AAAAYf3(&/#####$$')T***77*Ew`?;`VY&3#C3¦B&&vSWWe42WWY:eXcX9B&PLWWY2444AA4:J;&\x5c######$$$$O****77*Ej}Ro:A4Q##I1&(&BfQF2F<WFeeX42K&&K[WWXlA44A4XFo5&?######$$$'^E*77*7*E<9h/Y44mY5#/(&(&&vgzWF2<LQWeecX:9&&&Q__FF:444AA42_k-&9######$$$'6TE777**E7\x5c/f24:mYWJ#i&((&(§LQW:xS<QeWWGB&&(QY_Y:2224442_L#1######$$$$$O*7*7*7TOJ5X4Am:FC#;&&((&1k°FF¡C<QQWe1&((&92::::XXX:X:_k#u&######$$$$q^E77*7TOJ#<4(2FF_<C#n&&((&&K<f<^C{<zzcB&&((&9ulXXXY::XX::::k#1&n#####$$$$'$T*77TOO#J(4YXXWII#hB(&((&&K;[R¢k9B&&((((&uA444XX::::::Y<#§&&&/####$$$$$$#E7TTOJ#[&4mW4~kC¢3/9P(&(((&BK9\xa8P(&&&(&((((vuA4XX::::::::m°J(&&&9####+$$$$$)T*TO##V@2fX:z3CI3#\x5cK1P((&(:ZEX&&((((((((vG2Y:{/Wl2222l4l<&&&&R###$$$$$$qJEO3jR3@U@FQ¢ICC^53UK1B(oSO&((((A((&±[_Wg/#W244AA&&&:S1&&&;###$$$$$$')J#G&:U&?#@<xCC/Rh5V3Vv}Kt\xb2BhJt2&A((((((Pvx^^#m:2AAA&&&l3(&&1###$)$$$$)-/geW2U/^/hC5RRVVV$@@-\x5c`5OC]s\xa0hO&(((((((KbII#-_:X24A&&&2mO@&&&3##$)$$$)#CQ5#kFQR#-#-JO@nhRV6\x5cK;\x5cU3#I6#V}#3(P1B(B1P199?5-#Q::X4AA&A2Yg3&&&3#/$$$$-#:X[QQY[3/#/7E75UhV-i1}PPT[r+\xa0?oJ@91P1B1K}\x5c^###5Y:22l4A42mCC(&&-##$$$)-#Q&lllF3Qx#//T**7OOV631&iBP\xafwh?5wbU\x5c@rbb@V^^^3###<Y:X2222mLok(&&R##$)-/#2Y{W<<3#C/T**7TJJ/VP(&(1BzE©N,(&1vr@@br\xa0n?5/V##[_mmYm_fIIoi&(##$->###3Sg5Y<¡VT**TTOJJ#5BP(&&&B[aG&&(&&&&&(1KKKr55#--L<ff<gSkLS&?/#$)->###Fll~m[W<IT**TTOJJ#RPP((&&&&11&&&(((((&(B1(Bb@B\xa0#35-#CkgkkkLLLg[(un#$>>###/Qjg¡CQeg¡O*77TOOJJ#]KK1&&((&&&(((((&&&&&&&K&@#vr3###3SCSg<<<{[&(/$->>####/LUF5J**7TOJ###+@9KP&(&&(&&(((&&&&&(&K&n#vP@#^^##5S<e24A~Fg&@$)->####/<<S<$$/E*TOJ###-'?;vK(&(&&&&&&&&((((&1r&b#?K@-UI###z~2A(&&Almoi9$)>########CLC>)qq-OTOJ###$.+b[KB&&&&&&&&&(&((&b1}#?53nn#>>[~2l(&&&Alm3§9$$)-#####>>6))$$$$')#JJ###/q%h[BKP&&(((&(&&(&&1K9Cn@'®I/$>[~:4A&&AA2FFC§?$$$->####--)$$$$$$$$)-#####s$.'?P(&&&&&&&&&&&(K`]]]VV$)')5~:l(&&AA4mfJr))$))->#-)$$$$$$$$$$)--####j\xb4q$''\xb4\xb2\xb4±\xa8K±\xb2%%'%'$ID$D%6F~2(&&AA2mW¢#n$-)$$$))$$$$$$$$$$$$)->>#>#&\xb4'$''''q$q''.%%0.DDDD?b0%%>5~2AA2A4:Fz<VIR#$>-$$))$)$$)$$$$$$$$)-->>#>#;&®'.sDD.0...ss %$-#f2AA42:eFQ[¢^I##$))-))))$)$))$$$$$$$$->>####/&Bv DDssDDDs00.sb336I~l4llceFF<<33###$$)$)$$)))$$$$$$$$$$$->>>##>#OBB1sDDDsD5:2ceYe\x5c@nh63:22222GQF<<<C5/###$))q$$)))$$)$$$$$$$$$$-->##>##E|9\xa8\xa8(1±\xb2e_22m~WRr\xa0UkQ4422eFFQ<<II3####$)$))$$$))$)$$$$$$$$$$)->##>#OoOEz1PP(&&&4FmSC{f__A6hFGu22QQW<<<3I3#####$$)-)$$$$$))$$))))$$$$)->>>#-@oOJTNiBBB&zo<<##/{mll<<gFYmQx<<C53######$)))))$$$))$$)$))$$$$$$-->>#5&bOSo7*Nu&B[mfC##L:42l~2A<~<kxkCI^#######q))$$$$)$$$$)))$$$)$$$$)>>##r?&UOo7*t¥\xafW<F:2QWF4442242mkQkSSxIR#########$))$)$)$$))))$)$$$)$)$)->##;&b?1R?¡T*w*¥*Fg:&AAc4l~~Y~mffjn¡C53/##########$$$)))))))))$$$$$$$$))--##}&\xa8&@b\x5cbr¢TE*oxF¡F~:22~:e_F<[@v5/#############q))))))))$$$$)$$$$$$$))##}&1B&(\x5cK@\x5c}KK?L*SCLFg_mYFFF_Fzxb###############$)))))-$))$$$$$$$$$$)>##v(11(1(v@1?@1&&BPogfFSjfWWFFQ<LS^R################$))))))))$)))$$$$q$->##?&11PB(?PU}&b91U?1B¡SgfQ<QQfxgS3J#####/##/##########))$))--)$))$$$$$q$>$6#@&1P4(B1}r93((b?@KKCg<<<C3J######/#/#####/#########$-$)))6)))$$$$$$$>#@6V&P14(1&iib5@&199¦h¦9K^goJ^^Irr@@U55IVV##-/-/########)))))))))$$$$$$$>>\x5cV#BB1(PPPi(¦9nbR}11v?U@;IRU?9;?@UUUU55I33^-#3/########)-))))))$$$$)$)-#^\x5c#&1P1P1iK9?@IR}K((&v#5&nbB¦U55U\x5c@\x5c@\x5c55I^-#^R#########$-$$$$$$$$$$$$$>>>#b&P(PPPPi19v?bU35K??/9@b1\x5c3@;}9K9v?rn\x5c5IVV55#########""" from kandinsky import set_pixel l,c=100,75 def decodage6(etape1): #etape1=dupont[c*ligne+colonne] etape2=ord(etape1)-35 etape3=ord(palette[etape2]) etape4=(etape3>>11,(etape3>>5)%64,etape3%32) set_pixel(colonne,ligne,(32*etape4[0],16*etape4[1],32*etape4[2])) #decodage2 for ligne in range(l): for colonne in range(c): etape1=dupont[c*ligne+colonne] #etape1=(dupont[2*c*ligne+colonne],dupont[2*c*ligne+colonne+1]) couleur=decodage6(etape1)