local ungz = (function ()local base_char,keywords=128,{"and","break","do","else","elseif","end","false","for","function","if","in","local","nil","not","or","repeat","return","then","true","until","while","read","nbits","nbits_left_in_byte","wnd_pos","output","val","input",}; function prettify(code) return code:gsub("["..string.char(base_char).."-"..string.char(base_char+#keywords).."]", function (c) return keywords[c:byte()-base_char]; end) end return assert(loadstring(prettify[===[ i,h,b,m,l,d,e,y,r,w,u,v,l,l=assert,error,ipairs,pairs,tostring,type,setmetatable,io,math,table.sort,math.max,string.char,io.open,_G; p(n) l={}; e=e({},l) l:__index(l) n=n(l);e[l]=n n e l(n,l)l=l 1 h({n},l+1) _(n) l={}l.outbs=n l.wnd={}l.=1 l t(l,e) n=l. l.outbs(e)l.wnd[n]=e l.=n%32768+1 n(l) i(l,'unexpected end of file') o(n,l) n%(l+l)>=l a=p((l) 2^l ) c=e({},{__mode='k'}) g(o) l=1 e={} e:() n l<=#o n=o:byte(l)l=l+1 n e l s(d) n,l,o=0,0,{}; o:() l o:(e)e=e 1 ld$# ̠Y\026u`Mڴ+ZBg6YU^F 6k-r-5\026*A˿f1ס'Bo%/r:9l Qg~2o<(k\";9S&e.|zQi]S0% T[[kmr .?cXd>SrѰ>N]a,74\\\026+-56QT|a'#\026ͼ˳cvOJ \026S%e}7,)L&}8WQQi8+u\026~cWf-N9 )_n)bU DyԧNҒQA ,t~6'um6&-ނ[!9$ AEuЭGs{:ʉl1t@?T k5}Pr-L4\026DLuq7*JA3hn@?&Ex)]>@vq!y!zZXjRAq N+ޅ\000=69U,8%;FdwŻ`HHw) \000/'fT `{P]Zl] DO{|g+HkºY=2\" To; h-arʂ?C[}REOB}4NF\\UϕR;7,S8Ey\rz}0.(u?J$xB\r'H7).%Moćz.FzB_ҏzi~X\026%,&aj=KLuqVbtP*IM[ہ^kHY!AgvЭjg2M1 1-,\000ƥP1BPL03+ot:F6@Jw4`z² Sϩ|}񌣏wvd:bV|<}yRiV]>O@}Wb\\;UԵl$dg?{L Q:ϮNs,<V[ \rz)6Ry:MC\000|Yq>@'ξ^WCP P~`g|U\ *0/薨d!\rd1lҐ68\rݾ[vĵa\"5/Am=>c2m_s:u EUsDx?jA{MHmzWGEQ@Fvy\\UMP8ʧA2xx _\\Qfa+\"{keVX9`5+Yt\rjWb`Ydv태k<暎3\000dlxG/>t{'Mh>c6Js\ ױr_~1U_Ȅ\\|pOX9It}PR&*Iy(Rk!-@XuIOr>-,EleX'@L\\9k2u=ZB'n#mqAM2KTL[ H ;y0k1P!rU:\r!Ng%]ȁ\000t^ R-&OylowDbqgb51}-x2ϗhgW}' 0.C?5draZZ4o?ͳT5[\rպN&ve{K:m_nC9>l<7,Suz(.o\\?2FE <΢/P6,J13j\000y<[gXpוRc̅UDt!0';Jyv⚞eeRba!!.*TXٝQvV>`Ӵ6\000~8X(u.(cMDq.J+>s{\ F\026G?V|jK(a(D'j~Ϡ?R~J5i9 zu\r^n#&)W,5]{E4s7~}?aW~ADROX0B\" uceRR'Ab [M!~OE\000_9yduUb|l㴈vEAxā>f6Ce<%ս K?A1Ab׏t3'S;\"}|\ I43o6D\026@\000c|z!8ʬ{_\\b/kqblrAOIMUʚM07is|0Ryݤi]eZ`! stdRnZƹF('G-4AsC\\]]\ }.BA it@UdqxLzle !$Z 0j'jA-,*{qϻ<7{ɑ@ /5 13j!Q5ĩ&\"p=.\026&6&7ęȀ֝GE7F9(ʹ , (Hlq٧n-*S`{:ͼQw']̤}W,fPfarx*]6xle6Z 45iMߞ.\rc\026Pgb:4/P-m員%b~{KU5NhX}-7JÚ0/;?l0䆦Y`jz3;ֺNOmO{PXka0]MẎ}8RFڄ=ǾBE/0\000 yHڂ4\026 [Q]jk{H< 4 ޿w&yi{zNj QәX`.\"3Zq! A!'>ƾ) +B6C\"zg-_#$icMl%3&ć)\ 3Y6^/GQboxo/I\ GHϗkEˮNw\\~Xx5~ |lk+rػ>[_rC.V rwpMB] ~bOuݙ^fE=kfAV&zL=,n@\0002e\026q\"p 386xAv;Q=OP$xTa+\"]9+̢U(QK1CHlAƄR'/*\"4dQn8U60j@_1B8_VQ&\r~~7 ѧ'Ė\000l;\rIc!B*UWō^P7&\0262O$YF6gO wĮ31D]ʇ\rA{‹ q:t|Ћ,[1Cqv*96>RzZTB:V3A_[Zm+e;zܦIRh~(3.[g/\ HxURH2*L+OlԴt0N2rrnk'QX$%竼P\"o1'\\{\\-:êlzch`Ȟjz\000(#cdaaXv[Z=꫞™T{bBڅY:YdLI\ qͪ\026 DQe$S򐎷)Tɾ{̮ca>Ff\"hK޶0ɡz=;hu_s;@Tfpӽf!>Ŗ)aV2co(Ɩ>H>2cTٌGl4άtis77]jƚ2_5b jѧyQXogvDbw18X$gՕ5K!B{.h%x5˲' Gpf'TCeZg Ę2!Z5ss -°M\\I.rxX3&VY'ĪBxB(E!g!b2N/*71!f6~ <5hH4y\\;7B5a {&> D/塘~%HBlUf=tަ[$l WEpu&q3󺀝L6Gjc%Z7ȉPl^F\000n҃*VgBf,|vXٶ E(AS6)I2Nb uJ\\pRG\\)|\ am/z\000w40;ĔĪ*PhhI^%Ӧ/zkYO*K/0R&\026C FCr\"ӆ=gtgT}kAho2\026a]6R؂k\\ 5Pq6F!Nٰe\rj5_e,&A\rPL\000Sx_ua(/NQJGƂ\ ;O(hís6;%50 {y͝y=v_11cm_qYxj `sl.u)@>WE{T9C\rvZꚚ0ԛHj{\\w*dVRrnU;zD\ s[Uy鑈Ԕ`i58(A\000fFؕE=x3J]7k\\*QPI5N{kK؈h؎CxNO睠\026BMMF\\+4/^y$f;512xGʢ'Ϙ}}z9;Ysl965e1%\\i1IcF-e_mPZs'`.v8%Y\026.xU󠮩T^)DC$-jO>̌#U:-ן|`Wk/h}ܞzδtB ~ʻ\r,dbWۣ&=DtVX`\026L~D%FYW:/7DWR\ ŭ}._Ns!7O09׽\\޾dp`%˙x||V%JHs6KǼ#I\"a}jTj`6PvXLm)]-8F'5OE,sϗؘz}a⬍*>Y賟lVoq.i ~'<:Āڤ[bG-6{34츗 -b9$\026r lTeB\r/rv.ٌ+|ḻFI_I ~t=z\026qʰ郸Md ڕhK휁H|I`HLUoqM=EY\"hʲ[X>E\ m,a/[_HnL\rϨiO˨O&3ӝpBo؏3οL-P'_e U0\\SÈ71־ݼ5dH2dF8DvW+Xn>V86 |DGt^w`x=/qDj\000`\"ײXz<̮5`\ =X>] wjWPZ&;\"ahzg>|&`6Qdkx`&cQ~̈]tnV,:?Ԋ-ly9Ӟx\rʼn\r\026}o\ `r(ޮ,p =qb\\ҭ+'oEc2K\\| ;^8bVݔxي`;=ri⨧d\\iW`s%kc(jȭ#(j>m51iITG_:X!A LʞV$\\o# VAo^BL ޘP8Éciep%fюooU'LSGN=tKȻb Y+~Y%e2ۘ[y+\026T+ihV1V5!-pqdl!g![,|Z;\000ՍuGX1 eo8.j#f_Й^D\026)b)jwװ΂N#=:>LGs=Ʒ<.!}ުs `Y7z=IMٹ=1so1g Z1wTͧ>;藺uGLGFB\000KB~SVP9<z@OӺ>++ \026Ԫ 8*/f8l('\ EF#qW]#>%xQy\026x3_sWGb?P>+Ԣl1g%$<$\000`Dp]\ 떯,CP\rfqLO`\026B0!<y(0|wy NX5m%QȄ\000*=KیPv6L`NaAGC8(&kH+D\ \\ʯЗ~!Vt\"\"~RxX`˚CYo( LYRTzX1A$R\"BK!E\rV2\ Ə4d\"q a4P VY,m g,\rm8-8D\000-G MRqU!_&mn,`Oa#]APUNrޯsA3.҃xc[Xu1|_ܝ`CqmeYov\000)H) H3DtN_1yF8KO\ davh44X)gHХ/+\ ÐapGVCB؂6 x.}e_)dO]\000r>2T ecjq±qž\" {U! 4\ eT͋!NT-AGi6nqkÑ5.@N\ !GXg\rvd&X hI5>6;yۼ/z7N~\rUDEYmT5jSa$8ژAԶvrDD5FαP镲IV՗Njʊ\\REƘﰦ?E='XNB\\˖!G~&U@3ڼZ҉:t0D`Ϻ xY@̻v@| \000ԖLl**hg5ؗLM)Nf}}52KHW($Rm6&* } C=!\ R;t͹8IAʋ,!r@ Yq|Rb|WA'rԹr~O%9rS=g9%3);*pOurHcpt/bRl'޿{\000`b$L&.AP˞ 6U C=C\r_5;=;M\000ӑ> B&Ȁy>_'9@ {Oӊ>_mU\rP=v5w$JW|!2#=׿N8a#[DDtqd\ 4\r\026[fՅRk`XE[Z`Bm׶Թa=<ΨD! !44$pLd)'\rf&(j8CLj *9-j\":\\_n0Yr.TȁGϪ tY6Qp2KA(2Lp4}eKFЩ(#Xv{ħ)nRA\000\"QkM%%F$C_C̤WqE{^s\rFqP: l5)WWk퀳?rmпB\026-6͍w5g\"}}Zê#झ0:T\\vj ¼wSq\r\"c4DY-; Sf+/dzqicIS?IDȭm^!]&JNRA'SS v2d{\026KKpuunk}%@.V'y3+1qP>-UrejK0X\000rͥQc8UsZW4`&^+sdapkWٕYN&`o4D/ԟ蟜#=ϬJ*ddqJ\ TX83LHta`o:my:/AGʸp̽@MD:s_؏IåkI 9Fs}-B,$t\"0O.S Лe|ͼD`ߜ ƕDLB|鉋tQNIΆ횝A.]7D`m럌|cwǛ\"†%5\"bP˳7!415c-W{wiXioB·jXG \000 \r<oǒ}Os/\ #7@aQ5ǹ@@-}Z<ͪ\ lqyslVרc_7ZD_>$.\"S2ěPZWـFgwC9@dAm6)r9j*箋{/>:}ф ̬&/o7iӁ{M'\\x\"uԥ'PIoCq/|#(QQnGg!wE\000?I`CC1?!aPvuޘ\ 6؁>I}en%[SN|)Y~:S?O7˯*09,!oa1\000DnxAlbp^\"uaҫ^hF,f:&nqoEETu_׋fcX*] x2tp9uAJv8+jl8Գ3Y~0ۭg7G>\\]Vڼ~ȍc\"d~ٕbo\000%\000zkLo;-&,<.sO߸7Io\000zyDC!%_K>2JˆmC 31S3LY͈bQ-y7K\000Q|Ϭ7X:sM:`qyA0Dzӂcm¥]'!Kp'CU&WA](wgXIS$r UnHť c*ēM?} _ؖ ~JiETzjeS 62(ų)j&ep&xI|e{W!myV灳TM<γ9Nj]dQcUu,queH倍Zۇ<4׋hb]~H/:$auz\000/D#r ҍ@q#5CYdpM]1 pVLC/8%) qʕh@ZN.sj@DlT6<]̩\026a~k뱞r1[/cDPqt2n]sաU -zsCڞv\000Ԯg6)ִTJGr@dx^t[d$Lzf 2z(F}׍eL]q`%-&/c K:*8/ՋbfKVO]t<9Oc.=uכ|\ P0}Sк-8{ .rqdvf5|n t 6PAq3qL /|wv4R4|KX'qqC.@6,\rɨ3>Gg(+l/#W% T!*~v.|%*[E7C\\m\ VfH5ܪ6Ǎ&#`\\=,5r\000e]8W=`nXpn:t]:e_^Rgԙ<-ЎyjM4>IvLJpA&b!WpԣUC6,žQhb h#\\ o!iE<긳ZH$- :7^=\r5ig\rT+_{de$Sr \000]%UG*c]ʕ'C'W2u^Y,j^hGqL\r\026tf/ ଆqY`ᳲIu%g C2QPP돶f0|h*\ m+F+OL‚D=qݻZW!⃽\\4YF+iaam!ʀ0xoHڂ:VWέ/CӞ)J*LD$q JwAD=x$Bt'Rh‰依 \r;NH ՛wjJE\0267UkZ,Z6\026~yҿkm` ;F n*dA}jlM1d_*mn\026s&4Le&BMlX^򷂿`Pidw NŖ<0riJn7$s&#\\\\er,W\rrbSʬ8ļx{_$s)$n[%eTlfNJâwN|@$[t0SD]H$(],ED;{ǹ;fb54ň}pfAUީ.4jqѪ IYhE@u5\r+XgcV9ߚ̪zl֭sͱ:ߜg@^`*iL3\000wߡ'\r*Z̮x΅i1\"6dU0VG n-0iYUrzAy7e0or6XDzqQ4-K+`n\026iHp%i\"ËͫHTV\\xۉòwԎd8O~^x\\ߏJD)_!IXfoUf73\\CR9egO/.^#rTLǗE $kh9^XuVIN5T6WP_s^Қ_~CnAˏ2#27^f~Qܵn nl6R^&+˷o%2\\\\h)nB}-q^\"7~Y+DTۭr/ sʈHZT\026!=󔖡|Pf{'pzc|M?b˖ ]'Dy#Ztga* LD8wAod3}XW!:w9UYz.9b{}λs;8u?5N0j67Q8rN5*n۽D|4Oo:OoP_. *y!>\026YAO)𚭎B.+&;z `y&6]x^-B#}N]#>٪/䈸dvpzxDfXr>F\"6nR&.HW~8\ ,tV*ڿ@+b~[޹\"ߚD@YMgG4/di.QlƁAyA䵴ZQV$fˬ h4~f7_5?y_oc'LD3bq/lppmg㺊+iŭC.,\",H1pΚNP2G[-lE,3\ ^,9F;Ϊ!Ͼah+nzƯ2E\\28A2cNr㜌7 &SxBs)К6VY4mæe|7X7.zYV^*qP^P;0OPF;ďHgC.#*dHg#_&_ѹ܃*BΖӋbh7(ˤ:pCLGzbЕjE U\\ʉUj|le U\026ƑTht/(FFt&!Îw<Fl4;rHbrdTkWupEHE=֓H2\026.!R J)E\\ޠU+D\ A~p7|ONt\026E < &] >pC\026}>H,A0\"`͑[k֛݇V YBW0AsM5O q (b;~\000~GC|0%fRZ_+l8:?Ʌz\ p\026@8nE$b #昣2; u>8In%>WrDܥq4 T6`tc}v\"`b\"*%^U&oGLLܫ/M9EcLYle}>5vUO`;V]P.VwJUBnⶭF_3 4&r \ }Ѿ01n}`mX_eM;l\ 1UDvQ5찐\\2h( '64'ڱT Ow~s,Nhp]GK\"\026\ $=\\s5`!R1AUPzM#0U xPVSUez#9lɣ\"b\"\"K8(z۬ U=˃]KC(CQ`Wɤr&Gj\ Q]ۙvzůT\\GlQ;g9oGY Ķ#sߞ Ku/s\ ʘy棝t8u~w9!X]7RFٿL 8My2Ks\ >(xYbF4VEd8DX:wC;,\000;4oc=nM5ߖSa9t%8{Hj#tF;!cZe.g>]_R|\000,5,\r>k4ݘvK,#]PԡqI0{Mk5\\Z!WmmQ[g?[zSL'k.)\026:csxnq~-\")6]3W͇;rSI5zzh!PYl; S:Lѿ=Owmӿq|x]>eSs)E s\\0ΝD$Cf5:-s~\\s 75\\WVGrw*}ee3$lxV2Z9Impk=9UmM0)%]0XE$mB\000:8)k9n -8+V-~N6>:l c,:9@4g.IIߗƑ  N88o\"䍻R1Q{ȕJ]͝ZwR{{2BY1R13}=\026Rܬ;Rom@.茎\000MfmӾ\0261+$@X:lPáFb(q\"X56D%7ND{0C%T\ T)pqvB+*\\wnv:;@Z/pm/MU{-X\ !iyv&7nˉ\rNK4ЛԆΠJas&2 D\r=\026Ew|@y;Νͬ+J**T8IFeшB0\ w7Kz6(S#w޻_1jx mAɣ\rBg^=BnnҼojLT]q0I+Sagg&Tcēps-g R'w6զ,Lȷ\026Ņa\\qqd4^|=--[ \"Ub7X6**ա5ނl@7%6X{(%kdKb\\<~ n!הuX,-^e-NPzޤ]eƴgí\"dyB6ۂߛ2qo}H]L[p {Ou$KAsFebPTTsnxxѲ[D6Hj-=^[ v0W:Wy`t.|ʦsMF嚴s}eOl p\0268w2܎Ц,LZ(A!YM>R5dVtTKwXB{gI  Iפ$lV:XM ∺@*z&@X |ݽ٥eRv[ʥCd0Hs2Eυ\" \\@6 /\\0!: \000F9\026SD\"^XJ-+-(KD`Yk\000m#HHOrCnyz6f-)EccdV|[Emwqœ[e6:~Hۋ5}d\\k=6Cd^y,h*Œ א^7!\000) YxNGrepU:gg1qOZ}'R&yW+zT!y5.אcߺhLujbX,,5e3`~s5-Qs/$lJ)͘_*KWЌInp&$3z \026Nc%: 5˴~j{n\r\ o\\M?a:RNn|ER.?\0009uF\000Ʉ'ԮKe6\"}F5-a>;gNh_qz|G֭QpDHcN\000fLYN_>\ ~~J#WH/մ0a7iEM+-9+3+Ө8+=$Nm\026+ ~\"ʹRU.\\U`p&jWu֕̏qQWBݘD6)sr B->k3qQ{cDk?ID1r9{\\8,۽(K?rްSEX*B{]Sfz`E<^OɆG`)0%[E(cK6MpJ2f4. uØhuydn:刨P4\"u\02625SN2#<\026Q4ņIn%-3s^h+ܖQ:XBl53dKaR'8AĂͥ)R@K\ qϩvB+m@KpBf.fnkUEc pw3^:+G9ܛSSq;>[ȹe5VJ)?XSTMNVSz_聚Y6@ղ\ {f\026WxIScSm+[>e§ESW!ږw~zeI5\\ G{$Ct7O.IX=ҧu/_&\ WU8^jIЋֽgr܄RcxY&`ugth/=|D뽲*׶d\r{[씾M0lL>Xqqz=\rRMHk/_clVB|!tиӎfrPjvۘnQ1A&7뜵DrIcTk~Kln_\"]*Q^>V͢gX*h!sw25#M2n^LLp\\\ ]!tn8Q}^VMj2eveH/xG*m?rm7F8p|(7w,jApąXy_@\000jR1bA*w~u/0ݷ ƨ~+%\"eJAsVc+yz\\xu+=@e\000q0~Gj(!>$qܤ7bHnAdVzٱز/;51m#\\Z!(R 2\r ՝)5ȏ THdZ$k([Dl&)1bU9?Tւ} *wSWq~eya)œ>L<$]η@EpX+˳X4[8*DugΝ;\\g\rRrgmNC  P̦ؖ|r [v`Cs=:, ECj,xY|q~>[,jbiP}Zj'KS6iC(kg&gެr\"8|1;lE5lpNI~\rRM\\mc6xhᆱ*6DY;h\"v/*U[n5Wͳ㨗S,O`C']<ޔGh/CA_BMpn[$_}iOƀ/\\slK*8ڿRwe/ԫGs˅6 `f{yƤዞO3S\" mҲmgDXQwwS2~s9AuO\"`SUmkޮsK˾B2E f>C+ŕ/u1`X~ /{TsI L.da{\ lU^\ GIUmp(Y Sc9!LOhC5I ~DLߕ#piWs(*R$`\0003' Y(&U^H<9YzM. H[9yWN~F,.\026;YV\ u~~*L_yX 3/Z|Q%-^uT@:R2Ms[>PՀrwbn~)rqǰu,SbR;g>>>HGBQ^'hgBJAMYUj/q`C%HK 5Q}6'X.B?wˎ vnA[\\/7u{=iu;d.g2ݟf@y [b~&Ҋ ]n0 \ ۃBJ\ 2s&QT77}LFUv8];z*%䮭U|)hݦ4\026}Y,L^Ap\ NM׬F0;^HU9us\000t&OE;#ǡ(͢|iυ=5 h샚ͪi?!/\"EWR5Uw>_w_}y=Վ;32e?[.#,>kF1M6w3Z%&J+5n,%{IfNkIxG_\rf4G9)XBǩ##[0'hIb3rw؄2N\\Psǫ>Fm0)k_snn0礹ĉՕ9|s zȧI#9(fɷ4LxE+kpNzq4(s | b\0263/iCHb/y椉;崩\\C[T+lVLuuۛuuWTf馨߯,^TШ ٞ{OnP;LYUz\r#Na'3R2svװA@m+;\\TgCACNH[D$F)[: `fu^5\"0;aѰ=< &Q: s֨d H/f{H#yÆѧEӸ={My)VX;OAzsw7M\026?\\oTabre)vŗwo VNqP s:ZwdO;Wq3SnAџ.MblҴ\000\\[5Ѝ;bdt]l]Y.uq\"WoABFb=:>(,?` Ck'r5ӿ4.Xv8A96(>Я-TG<' zUa&%l1Y{U iNSy\026:i QR7،^0Af[+QDiҜWd\\W߄:t蓮&բ%Z$qae~Z';sRp/tf\026SYh…y\ 0X⨤o'Of (#}Ϯ%Sܽ:Gq$$HsӾM3lWv+j0[7l`-6⫼Y?3\\Ţ[e Lٱ~Je/}519{sc-פv]XKmJ }.iWAO@G V}czU:`ЌSO|N3FKjuIBj