# Original solution
# This code is generated by [Atcoder_base64](https://github.com/kyomukyomupurin/AtCoder_base64)
import base64
import subprocess
import zlib


exe_bin = "c%1D#e|QtemAkTR3$VQ+F~krEDiw)Mu(81qE3q5PNM@B!5Etx({Gf}FWvs(Lh`lCu?mj{+n`RLLE=^O~l7=R|9&OVLrTr)nN^Kwpw={(&X}OR#q%DaADLA1R6TrInW@qHpTI!Gc?!ROFNpI)PdvD&ndGmH=G~=h8?n(pCb1bEBU*IseBU{avQ@rW^7zyA?xH0g32RD^VgS=5gr-ws)JT%4XQTa*?YF-bgaPg4Wz*H`InmH{Va-1c`hq~tGtJvIpOB@`a^=^I16vt<veC3p{oYFIBrhE)CZX^9vQ@kEJxOix!u<EQ_OYBJ-u7|Z;JY;-d1im!xA5Ufqm(co>+2s_~mqFGKvm5*?=NHdzsLgNiH?_6rx0lS%pI=<i+FUS)=wzm}3m4ZAdhBn5M(1pb!}1qCedGA+9~E04`Q(cm0+xyMb}xG8L8P6)jr1G#$9mpOa1-H^H+9pLRW%;gj8Ul(KDQ*mSAf9j3GkEn#Pq{S<lL2nJ|hW!LlQYJC&7P|1Yep&{>~)yUra(DN<xpr#*zU4W)k{GlE^nFk#k=X{JbP`YLe7z0s8UWB+gQ(N@L@0h*R-}Iy?vd+A7z2@4g#-bUr6Zs~Ve|q*mF}B1;k{xvCdQwZ0bLDu1i&YpGteprN_RSM6EZ;8V*Impr<7sa)c3Zk1MgT7AW?Cco?`a;^pZQn~0JNs{YZnxBNSTFKMU(Co#6+J>sNSb2N9w8q!c+T7%6@XH<2+CnI6da^N*$OR}8)L-TGO0B4U5hv9&J?U?%m6rHg+ZugX=w;1<7I{}o-ul&2oyXt6L7V+efcCVu`k<u*CrRFRkK~bk?S7eS^fk8nWTb0ulc5Omjm>L)D1obcvc)g^xVjdfr<QWn`BCGid>o|%G}cZH+311F7A{yI%`GV87A#w4uW(641#`KDZdV0l0bQ&<OLH_&TI`&Hc^pOt1Nk$;Ck6ge2{e#MkWS->fl{f7hrb?;-&Nh&F%D^0^Q_!JVhNTP!so5mR;OZQY2{U%ocEjw>s=S4PvL&gjl{`pzdsY-JR2GPB>xzUWY5!l+hoiexE++A#ZTscJ0_^GP>0`js|rhW_!X4ir1N8zKQUW{Y1~L$#dJ!8&(h$}Xz<#g8P?#(Yw!aaymtHzY4F(^yqW5S&Ck@}+4#hF_5=;SP=lYS!Pisy>D<V>2Gbf1K1G9X*WisB{CW*uJ70KKgV(+<w`%a|8vHg5-lW0r(BQ{t@H;j5u^Rj?4St*kzgL6L(BOMCctL|drorE;!Ha>9O=2*0!krdQ?Cy~b(Gz0ei0LpFo!2tM!bNAu@GVR$hbPR}BTM8=6w-`;!91Eea)RVnVjf*8(nIo(VjfK%*+ue8Fps8=>>&9EFpnmVY$f>$%%f=|>q-7z%%i%IH6%X=^JvP*3X-3Rc{E|9isYwb9!(c1C;7>kN0UVgN&Xhhqp2bmk{=8Cx~<F(_J{2ciJ`JLdaazj#$H{s6bw@@hGc7Qtr#@U$VF2r4(qa_p0EdmV#zF^|0>Xjs}SLR+?p#Mby!P?RpFtWJ&5F?`?T`7wNU8Zn~L019|uM;)Bu=i>#^JsthLUvhaA?Zv-{6b(JY~B3>eED%)hrcmlK2Y?grqtT@bo9f=z`zX{BRjW2vR>E-_Te3)4Wk)G<II>@kT-pBU)j*I%{B=hj~xE1z}QF3SgjEZb#!L)h>ZbeR~;e6I(I`O<u$>+66ioh@wsD%9sJ>JbCIytC-fR4-9^Q&ckl3#b=_vcDsSTzue+;0Rf(ggy3X>FlT9cXsv2DfTPx5#7FJP<6A&>7`@arlVegK3-JjHInME-~uRq4pb7lCK=HZRITkqtqD#-XF#>y<y5sk0D~0`7WLN&(_qpY%1}T7F>nZ^PPh%ILm476%zpZ8dDoz9xbokD2yYL3%nQ%%1je9jEmV$OInf)QX8T0geyHn^(6trtcH3Wt(3i0*g4NcNMc$8Hy=M&%gi2=y)4O{FWix2w_D157IAyWhjtgB?!_lbAdqfNscZ%L#F_hgI{6f%RJGw60uJkBFcICK3IqFhQh{~sKrH>y{(j3b4$YkKED-fo2spBs60JI>p=I7Yn3LYD3LVGB`I7r4+2Dm7WJ2CVG+Ap8b*$LgL6r}sazLyX#8b(6Sm3Mic86ugeyzf@dEe=`l4tHFSMxm!Wr(3xF803gxciuU-@=^GQQ0C&H37Kylv~q4`#@h#TIeVWGoKpEF5`*LQ0xELqhN{OR<pPuM${TbmpDqr~nj4;|RxwRi1vL9&_yJPI8)9g}8d6366Ql|!$Et|jN>o?vVe4C0;r0$x1T%Jb_X~;*97#!6dLzMMwSFj{4&{|W>uwkzf^rEvLpkD5?!qpHzTM;oN@$Na6OB9XOa_9o4*=}{Jjf3}c8%Bxw0+`pT5X|0;g_IH<WB+H8$Uw}r1t$Rm+M1UP8l)BZorjVgzi$XNMr^v3-}{3O3`oJ$^{gZc8%CW7*#_VtwH$%NUu*Iy;_ytl@C@c9V>Lr02rybj<t|+7<5>3yL;BP2i?{}Fwo|62I{*-r`;Gv&gZJ*<H{+!?TABgp9wACZNRgx5;?@cVcym&Z2k#yg=W2|dSLO)U|M%i`*GVbA#@0=2lfST-|YydJJH`y1Cf#zOh5kvv|FgmWwCG$<-_nN>13#O9>54TbuM7VPym}jd>X0=IHB2nhOuJs->fBKAoXFO<i+l&oElF3EE<In6MWpdtX7;mg~U~%dk?A=I8y)Ea{J@<<@PVxrNa>MYzM&q{sRrCya@p*@(p-&*gh0CPXt{Td9POljr&ngJJeRGSa;({jhu&$vArp5{`3a6=PIL#LOm5q2BA@oMZOKCc5L=9Z{Sew2^M#{L#5qlmhM48`2jIcX=kNk+>K^(C_Rx+(Y^LY)pWmTJ1l&;SZhu2_>!yWff>0)zp2}L)JWcHBv9GjY8y~(p}4K(_!=QkBA7(z8UUv7g(2we58(;h`5M}&KQc%4r61n`_RV`Y=1Ft05@o9Kb#&BsBVQdR?F|`7d;2ParJW#E*@)DTRf_L*f%3CK6<eRM`Mv8%)dQofv%9~;RiPO7!x;P1uv&VMl%4?@FLy^fGO!eeSY!tl4-1=LBE?6+q@8HeFB6lNzN`$Le+MnTo)q^(@kT7(s9L;JId*=V?bkxcLyCXRiZ`j;oyu^eI!XraFUF98dlvy^r2zKhgggB56;ixfEjFpeW3U+4gyFyyRe7GsKUNVe-iTfJB9U+GRE|a-rj36e4eC8c34W{+Y=rjLAOSeTK@CC2Oj4+F)6P4r`mh}pf}Z#~z;HEuLA1mE%yGk)*$v%m3jdG|PceuEK`ekFYyz3*zZ-sS5G7o6t4t2786HgG4#wkFc>oU&Ce$NR1X@JeqJ&Lfmpyr1k;zdSr<Q`zhW6&-h<#>?g$o}*6@q2?Q*iW7m`}jG-vL2*$sn=!>wB$g3@aKGm0yQ50K1>3+4muceG`Q#soRm|;$>uc9gFvuZ^zel_&q?mLtinHSH{$bK$x?r-@f-($B!Q;`nW<*U3V+LbtwJHF)?s~w_iEadoCqpe2(wQ>kaf5KD!vk&9HK^?Tj7fBd)+9qy3qy=DT3Q^u}YLaQE#*;XMSDO@qM^`Nn1K`?csVF6HExMCFfS;Lih9)$UO0_tVgGGUpOdhV6+?m<arTCHer$4w)J;lxjnvwjohDD^G%{@wv(B)Hri_^vsC-<%jXDq<x>4@v2UrO-3<!!@w{04nv3^5PQS-i+rDWa#+p*fj^=GGf-eMdF#tg0vXpfTMU#*_*8@XWI&f~gj~1`8XFd&34N*GgFKJy<UMieu=*ZA^5u~_piuK-@N43BBfkDt0=*hd@;-~4{VVm4?m?XNwl5cz8^QZ+SJqXF!9^y~`v<Z2PX?IbObQyhdpgEGrVK!chPpVI?G%w%QT%NfEaR0v#h?se{HFC|Jlsi!P7QkS%Od~o`FFwmN67Sdo}GZQid6P`K5$9fdv#msBwV>HD%aFC%GXTfP5BD?q|5d;%pY+IAnY+(=~Q@@3#QL}Y~D&<NiZLFDM$44;kV_VB5k&4J0xuA1nQ$swG)G1QJG)@DlaPfO;JD0D^2I;LVJTXTqyfFn0khcRf-cR=^L*KW@nVC9A;-v|E{ZFPPwuiUuP!ub#|EgR|Ox_3Fmw3-UX5SupiEU7v#J1{^(Xd#Mzbd4w=2(eTjtsBRO;`0kbxkyOE9yU;LEJ-rUM7XcO(UEi#AA8-tljj&2s>Qr-*y<Wo8k2_S3SECgDQIGly-9#&@|-v<~u4qv1{+@aTyu4buAxvpGNd*wCaRUxN3iywrVx=#yTcK{Tg#R=*&*IwGd!)QNX#pobxew#yF^vvZ{VM{J4fBJ=OoUr9Oc`mOIxN_meK8LX9&2nMSpexXu7U)aE`G@yS``$-x`{_wB5HX$~v(*)R)rwUsrvev@BzR={4`F=BJB%LdJsmVoQ{GY>nH(}a^O*oePyb>su0I(oh|C)hx2fbJe^}(-7Xw#KLSPpV4fYy^?tjNcNq4_22z$~8dkxPzajpWmMf@gJ!bm4SbB)wc|ID?IaDBFA3Xlb^d4<h$;epK5_mQ>mIJ69z*E@M)vio_|sEf$!;|g5?^^uQrpmNT>50|<J$$EDHI>f#Ym(B;t`uPk_O@irSsKz7){s@5!{nLRF%#k@H=Dj2G5i#$g82Dg_w6C*_OiVr)!iiXMx~LQzV1SrJ+p(65k<Z1}9aO(}paz(<=QACzoEAg%yh~AS7@0C0^S3b*A+9OsSZskv65cQXGd1NqD(RnYkYGgPbI(4~7fOHRUx|P1!=?Q}vc5MD<0LU~ZLF}pr>GxvGvM=!y|^+x|Epj+v@hrou0!jtN1h;U&kRi%shbR?kHTZMb$<iZ{Ha42t^=;&$bBl;!=t#|%GvPAiyB6r+5`6oT*~j%VKC#)Tga;-zX0G;yK=*&47&5qk`d8+BPINw7eIXXUt~+sY1Ur1@|jy1bSM|?(d_qdIxgCN-*#@KlgXra>qrE=beQhVklmQk3HK#&*R;Uv<q9pOWtMi!op-`lsijH6ay<^82(AO4I%0ImlD|o|)HL~<n=1WHwfElJ>VL|Y3%I-_<t@$4a$Nb^W`C`gpsmR-6A7~{gp9vE<v#o^3O8tW{3RO2F}EJfb_(EDfFDDjtbw^zIZSR=!0Z@<`Wl$}ngPERAjS?0Oq5pu+y(PC+&|a_y}APEaerqg-P~k*jr>zfIKJJ?-=2|f+RCS!5syEOoq{^<*0eh@J;zxoefZ;O^b8VYnJcq$9uUSoX<E<SKl#3ybFI@Ezk{|(yYCnKJ@Tn4H<6tF&0m4@+|J}9AJ(x9+Il-c<4fu;W-)x8=TsXI&v0a!HyP|%IU7>!S(bp&Gd3${L6*59%j6jM5Ioz-^TKhs4Rstodx38YimJ#mhYS^2Ih&AggVCOq8%TX1tI+V1v01r*0f`lawQ?Ni267YdWPp9I8{&Ay7_Td<FeQc8G26!(YIG>)IIc={SZ+Jm?lc(1cvO|S1!Zndab;OT#)_=mO{w;*!VPKmtdc;wBWnkrvL<zGRteyszKSeM#YiR8p09$;T$l)bi1MM~0fXU}S=8v*2gfmd!?M7~#ntDG)hA+oBG$JktGp#qU1ZNY8*H!!<Y@QHqfs6|(`QcPxC^Ph##hF3hci-NG;=#MQ{j2H86xw?W<=afH`C2@Gu=!#)6H}<-Ap&r&2%%}O#dGeJHN%wYq9fL+H=WT*rUt;o<erU=NLUS#Li09-mbz)G|$eDQFQFg)?^CVc`>#h!S*OF4@a93ZljA_cJ?Vu4@a>xPd&7pol$y~D$33#<xr?SvxSMBy{e+;kl0$fgz~d}7j}l~HVU_z;_=JU<Mn3z>?{?l{|+vm?pjoBA5T%kG=GdXEK2iC&jFf$o|a#wdF@%T|I5VAh3nHGZCDyL_(Tftq;Nikl@vZiVI75QDcnHe3lx5r!adr<X8()C&K0t>aKVCmEx9!-+nVGy%RL423JUY*wvk-Xx}uVT!s0v?`;W*@f!-=HB*GhF=i%e=DV&@TZ;bhMJU%t%&++)QnBT|a(_{V+k2l5qC>}p1=CASiu`$1n$B&DR?|6I$cP1e|lj}*)e<@rRcOoHPh{cO|yqQ~{5I;V4e;^)z3%4^N{#NxM_$YjKEH1_4C&c1WJbq%r@sI*hfyIw_d=74SC%})K^Nz<)9)-g&V&p!F>hWVpnK>3PS)83m@fM0_wRkE1j4m#3;V|Z9#ohxSQvAz=eiFCqcy3G&Og~DZ&jBjuM0Py>AjO+?f%hcEuh8K?qV<+&&fj7hB+sM!Wh$@A*`bq@$0Pmd{!OO8Na%0juHT_ANlgC`QEapy`iY#;e$qndvq$M4pm@EWFAzDS{p!^u_XK*#x$PV-N9R|KDd+>E{qQJ}GcvwdSov*|dkfc-+%w5BApOX=K1~&xYDg@n2=L<#Iiuq97YryL{E+q|8}>Cx<g5Yw=Rl5GXNPhl(vOZOn+%EXQM{By{{AHRx0B$XNKx&;?wPUQZo*0EuO-3v5jmsd?QJQl-SqwY`4rV|E9jx~Ep)&vr1$|kVYyD<C#zFbKhgWcI^sW*xV?0|v(%oFSkGXJO0U=FYf0!2Q2Pwf5a*-#<4Nd0NP;&Q6W_PF!<d+UzEQ1r1@#B^TCGe%?@J<IHmd$pPTO0xT^%tUM%B(IsNZ%``prq?>`YSc0b^qS{}!j#yW_Z(<jr)XzLi8y?8jH>(MK2CVn1{i;}4-uzq80DNmWan)zyzkl{JeORJ$HrjJJj2Xy=jNM4kSBjJg<qf=w=Yq5HuKyIYc4+g3_0ylq1+6S+$y$=~dUdN^;3+$y)#)fITTk^4%L+$eeRUQ#P3Nwv+=s)pv3o(8E_Zf<FnJZ<fqx4CgmgHQI=7Th!6R+5+qYx7H<mKINk<ZF^!I=H$PPoqz&ZEI}o02WP7LRI2OC8=_WeUVdgE_Pruq=k!XB&SG`qGJgsIUZSTU*uW<WpT{4@d$E{C}xHSD=U{etEFmth1)67J4)r{+PgxMuht`bILY;(M6NnXZLPlAq!+L#FTIHrf1@d0F1g91-i^{#DAl$$OZA?nTJ-|h{7O%&?0WE?suq6}^n_y$-v82Gw~A+XJY3M?t1C!&1B^64Uz_GW)=1Ha_UbJz9TT}_rfVzSF4H$Z{;t@F5G<=+w19QyNF$eeJxxu%mSVgR=JLD!g-)k)?UHIKfg$FRyJImTq>-?zXb+P+W%{<RY;9!@koX#$z5(RwnYXo#co4girk6U}(&govyJ>&(>R;SFI}l8-wrOg{K{NUi+$bHimksO4O}hl)=5JgzRIlRc`+1c2skaXk-b#$O9aqrW(I|UX0+d@+SkIn_s5M+cQ?u+V05j#wo>errs;RADWt+dDHs4>%kzBo}wVo@e?PvmdDwJE)lC@xSXkT1Lg0dE0g9i!e)0zeutAzf;$AVSO@BmH?-^8>9EzM+v7x?OF1gfuX8OeckuUGQ5dwpwUNhYQ$7zrn;4E79ldK&#+cpw77+qeP<jExY%61^Gzsf6zzoJz#@Lz3KQXNlM4@$h82hF^bQ+@hn`FKdf*{A~Tqp!M(Y<2j4LXtbH}vvoFuY?j0Jll05p#hki##Q52IoWWcQae2*a_}M<sLtOkFakg$}@Kv3`^!ED_r|$hQezv}6ut2B3K?hfJ>RuAdvwZ*t*#)ySs;9pFPjRYE89&=EV36%^>Fvkb-$nT=XrApWFsS9fEdl>#PJ35=WPg!CwhzaWzW)^+Kij8>K^?tW2cOsRv;7PP_4YF9;EOtbwmxF;Io$yq{dt^Mbo^{R!=QfKMc@AKaq;7qt@9Y{(a~FU`5)={ll|X@WcB}C$Itd<7+j{?-_qN&U&kNYzhVCmLr1S4KX^$9?+dei(~<uJq2~4W*7qOoLkJpvwr(%UPpq$={}MMcwlIzSpAA~SCVpu7m|ojxoAmqBRkPLnuD?_Nbsc|fy+?OA**Melvt*zf(u|+&H{?+MZQJ8HEIR&lUaeohq00F4bofNSJ0#cw<wVNAmsXGNRK$&rA7eDS$0eHzhI9_A_n+}e_=n0=X#P9#`+oo-O@(I"

open("./kyomu", 'wb').write(zlib.decompress(base64.b85decode(exe_bin)))
subprocess.run(["chmod +x ./kyomu"], shell=True)
subprocess.run(["./kyomu"], shell=True)

# Optimized solution
# This code is generated by [Atcoder_base64](https://github.com/kyomukyomupurin/AtCoder_base64)
import base64
import subprocess
import zlib


exe_bin = "c$~dk4Rlo1wLW)dk_;i48#N#xNVH>36vm7MOlr_fn1nlaf(XP?3%!QPgiOufOKuR5r;tf_T*pzKcD1ZlEA{6srCO2KMS<tzB?ber=tEnn6@RD|oH2^=hY$oZZ|`%@nYnW_)1SBAdY3iX_k3sXefHVsoPB=o;l3(wwMh^Nf6U}2f~kT_v~&f-^Bi#&z)Hyk_<K2-K{6q2(eWASsE|yp@p3e|Qj?Z8(&;3b3ObrW(my+<CsU|NTn=q5o}r<|GYXPugq6GHach#CiOES!PGbC=<}o==xwM7-mNDE&-6WY>7+riqsmJ#NQ?;~_){|t)<!%GHO!D_Xd5kV$<)!n>5oRx^ydAD<3apw}a$QsX?503V=i1q8OXtm=SK{bsbzDzv%456>7u8aJY;Tj!=6r@>{#_HNy=8wQr~95qPX4>H{k5OnAz!h?#CUkSVS8*8@+dY5enm4Ln7+EUj#p#c(+t0hQ{W|_@X8eUL?Jc*)HL{58vUEo;7_E%KTd-?(v<s58vX@o_`_-VXA<7Slb_eq@P9Xr{=77LZcKw;okmY>nsP4&{)@;|Qc$32<Kt_TXn3&!C(tiDlzQK_*J59sM`U?*b8Cy-q13f2vP@*pvKqPG-|k->=urIa%W4)hwYK<|)vapsYk8@2?pU-`DGjuC$gAo){3V{2fZ}#mtpR+g;=DnYmB#kgyCJV$u4`&)^<hSR)8aK)_}aB{o4>uIwWY2ppsbVE6hmIi-OZ^~E<lxF{%W63?m+9EM6PYQJJ3=uFY$MDHv2Kt$EyW3^4%r-8t;-D>H<v!>KteR*tfP$u2cML0}5&OH+T3I%xUdZAPdsXt!w-!LmKXG4=8@p(C)9RXHpFTv~j(kFg}2>Jm$LQI#9oG!2)@XqnIpMzT8#mk)4h?WTDqn2}yuUw0HS>-J2f0-Z7Wpm^Z;c3;fLRFN0DO9pPClKA0Gf_6YE=SJ%%Le|z0T<XtK7d=rfkm|qOP-@kBI21X3OpkYeU!&WS{EzWNy?~z3O%MS!{aYos|`KJaZV1(Mt(w);VZ6Xgdc^((zvqZi|OAUB2>&z7f{5YFet%iQf(?@1%G?OIaB|dNK@LU~!T!)J~Jfg$(L2_7!U!=oFb@(MZJdfFh)z8u4d_3Y@oUg-+b@(J5-p2H2k;EK=&srUB*5Mm<xJ8F=(c$`az*Zfup9i<;@GKp^U58tB_%k|uf)3xQ!?Shx9vwbWhxh7mn+`vu!}ak_3Vv#pLK(G_3y9RytC(U(q~HN-KZ(uVH>rTcu6haniZd(V4bzP%5<MP+=c-+pMwdp9(DV*WW7moH()1IUM%PAn()7<TjV_IDr|E|=jjoJtrRn=IjV_FCr0Fh9qq)&GnqH4-bXoLHnr_E5x+=PurhkNKbWyZ|rdMGaT@x*)={q3Zu$9-_^*z_^Qh5HPU3TKCbuFu13XW)$!iv4HUJ6;RDn!?)Zu@d)Z$tp4m@^CbPrPU+kzpuR@~yBJN(bHcQtCx`so*aXed#%-uCN!2J>SYe=^4*~pcHNbWadW9cZcfjvs_`fJyzB85fn5_?0y!U<qgfg|HVQgh34J^#9MYs?0yq`D(=oK&sHqu1)Wz*;c7vg3C3l7A2`I_R!JR@g1y4Vvjxg08_#AdCqPQs4{Z6KvRA~-PeK!cx>=MtvwXJL9RQ^KI`P5j&=}4)tDGNU`z{FQJQX}HO2Gj^Qs<8CEF|u*T|$ZL?)yvkn~K?W=3P(OX|elPN#@Mb%&9<o26v{lN9=yojBa2ywNjfVZKDDvwCQ=G*|Z7RoFh{3Wx+Wp&V)s3I7daZ)Jb;%GveVKu&Oc!W_?uAJ))S-{K*ykRFFc;?4`k|P~-d5(|5vjOSt5kP-aiBs47sD*B4C&7Xs)m`?J`+W-J!-_zp<nk}k>DCx!F7LN|p>We4xgcd5PVs7pQURu6jABa-^1R~-;W)l9c~WwZjMr0^}^sNA<+z$#P<X!~}oqWbE7Iws1X%Td3CZwJ0f&r`l?cs+`&8-R5m<@@I`jn7kbdT$;?97+AatA4U5Y`-@0?0G0Alxw=Afb7FyL=}6BKJls_N8W=xj{t_xUHXEZc-5<xK>@A-3v@E|=g15l$pui<%JkQ$r?`Gk(TG?5a#48JoJh4+#N!ty7Xg+1JhGk^@rtCr<5g#${xzzvB3ymc&GdSG!<C_&T|I-M`UenJGu6K6FCowCJ6;(of1)QQs%8`7F7-gPg9_39PmOWD=~YjGMUnmIs2!Ik*?}3SF++G;Qs0LT)&@olVDB?0D!Br%@&d8@1Xx?1Eq0@0qTig4mjhb+E;4F;oM{cuo%Cz;SjOZOnoUgev<sT%i-AUqFQ8`Vmm#;ku&4Ll<+S5DKXV@QLWC$Dx?G&uP2<a%w_Rli+@kk*@D)J{_FKxD?1lGUBZYIOg@m5owa2}_2=vDtp_|Y{dq6-HLYYH@4O|{#%~Y`4t)7frlto9&lIJmk%rFBgg@b4$?So}~VsI{0Y`~N)g*MnrrC`R@z$r*QF(o6?^Gz(~?8S`b_0pVj8rQ_0c_s|}2O58{(zU|1()B}^+z%mQ!t>Byrhx05gVASzKxBwcIFC(vwlZYdhXdzJ5U*5ocHvM`4@GS_5PSziIbGgxc@LV6{opJ$zoe^DE#H9^R!5^VW2oi~sM&>T`ly=nC#agy=m+3bX-`ahZkEdW#eb>B2oaw37<C17#@Ehbi@oA}ll$kOh0Yon5u~!;cMfZHSDWk=7`Ew~1TGM}H-ZNu_kwtI%{R1azdNT@?OLtRJtBfXi{6R%jeaaio$=AHuw%RveVX>=Ug+apJ%j6RtW+)gpofoAbhI*5vae@k-7SFbQV&LpXf68y?E>^lh$!Hz??{mI8RZ{@`rqHvyKXkXUFxBsU6Sv04RKbgC0*(lLx;V-0buF^s05&W>hRE$lJ8Kc<o=!!QQb`4X1QPO8~RVL?@%R!af^rOz|h_}y6$RV>_R9~Ig0h9-s#smMH?be)kBni?p3|^DPHhe9=up1yRdU$ul9xzhmM{HFIFsgXh&oj$PDcSDM^#^+VfD<8o7syNtzgDfUFh7q6^V6>KR&)ln{}UN|NFtSXA^HklEVc;O)H>2E^JOg*XBPTLFoDdIoDX|M^@T4U=|LGWUDH5b464aPEye?AoY@=|uhSh!;?ZxLWc981k2)GBsm5id;uU{sXi3RXmC_P-Hql-tZ$98Zu`beb!E@oP(}CuN^*on2vu>c>Q^=dep5Bs)wZDDZzE-c;6@Hu;pQ)x2P{TSiEHs^vf~zjn3n)V4vU#zHD)AI-7SjEbL$T0T`U289a}Y`7@#OMPD6>#S-;(e&$i%_@ShJC<Q+nUcAg3&RCy`Ln7Bq$^3G#FE;5XIR)fvY7antkf@cy8GC_BWuuaMLYWFnyC3CfOS{~avEvE-EBi5eC(<ClDTms$o~kJt19_=$3<Bb?)EBu~5(cC<#uR9!3@1~Vg9_8>+c^I=U?ZK^Nx}IaOoX>uv?m9eEF17hGgLMrK@|oviXbhZIE~j|^*7M^Ap6Q_18`_*DfCn6Q45Ci4?&wYT8qAkP8wnHSPI>0rOP<q`%>RuOfZ#C4VhpVW&J=MhA7uh=cAHe!pNAU4yYz|7-L_*uKwzU2!<djREz!Z2}yWo=x8E)D_bP0rzQ2Awr2jRmCh4SVjuIA{Xy);BO8~v+hXTyBM&U^1U?U`G-Sj2$fF)eULS$5@>}H1m&#riH+NxltI~`LJ)#N08cC^fzUdr<Wsh}e4y^w|wIrPXFf5J2mc?onaIzU;F)T5dPz9_??)zi+pkh9=62rY!3-|r3zf=lwn{fSd?>nG!FZy-p-$1{&=tHl15?2fATXZ!N`kIDIC7VsAunK{-2yKYStzXmCh*y0QeWG86M6c)TpipjEwqYLjsP9Jdzh)DB5Ji*bV5mJ}I0x?<)8^nEK%<A@4{Z-`_yy#vUFuQKt6yoY@&fH8;VNyRIRYj1922`Q2P$sa1AjN2dmOgdp72X{9PQ$Re;|m(j-SpDA1b8z_x)rW5g$5F-zzFbQXxJz;1+kkULo!t@dW!ag9Dkk{`S4@+VlNOfBS|Mj9P{!Z1semvt!Zf+rd*78Vqs+FXMPG>c{TrI~KCcRDZ9!a|sG;`bLDT`(E9H`ynn0DvO4tZ5q2I^h?4AQt+%*4DJM`kv@yq^RGB7_6#bbxI1g4&$Oiq=JMTu)d&x08WN4X=^QPganrevVXY}XG#%K2=X~OWbKnIXLH5$U8J<6C>(nZNy6k2FE$XKF21v0dsJ#kF9jJo1_TtuSKiz)~LxZ^X;#O`y-OnAzWkD!Q3fEet;D->1uz$KSBDr%%rJ}baAu1JpE(QNQO6%7(pHAd|9>s-9NtUFRm|%cdrLsfqpGU8VucMiLZ$SyL5S`6!JabG6HwqqA^I>%QSiHaO&4M_ke!^n~j_{LT#9}q-QyS}EF3{k@;%)C<+7{|y^d8#3_TpA^KizNUjo~6HcrIIfwAVQZwwdt#u|5eR`_OBlET~_|EuM$kosa$#t$Xf#UD<RfeH{6bzU-f&nZI?5V+|lR7QIoE${Hu-RZm2mdO?Bt1NW~U^^e*xxaxf~4gIrE0$u7-FL=}uZ_x=lBKj_vBbN??`kv2}0_QPaU$6R&R~>PypSxoD@4^BVW~=u)KS?w)T@>o(->>@FSphvAVCP?#nQy$4Xy*^_ejbZG2lP283dht-KqF9(CRi_&!#uwNmQ@=7Z-PZw4&V;}g&{~j1-b(023TlrLkjg<0sNl=eae(L;}O;`A;Q``;j)}8>sBEv4{`j|@;2zdmL#6k{DjyUe<9d;1Q~33)wU_Oh!gL&ZX`EPyYZSi_A9wOej7OgeERd5`1hdoi@j8H*3WA)3dm(#KgwYl%b}i^0ku4?oi>%g@5k`F6L9)PqS}`CfXQW>vf1pi6$C9yvTaiq*zziER@X#)chUFnPQ+t{!|>Yzau1=ZN?TsoRB4;?0LpE)xNL>Nj9YBQrr%`S3IPF)l~lBPBJl#d6=dE8-<~%m$x3lqkFD5j77W6!iKbcuR5g(-rWFT!PQ_wR!)C;CP}BJk>U_}bu@!_ZmA1kMGF-Oe&6zG+X)w!e+b)=gE!nnGz@WTJTR~-_5a!S4KxZLL;3rW(R6J-h{m#amj%{!l@~6Nc^^>IXs^aBISe}IC)z~W9Q<X)}AoIZo6`)6dt{IC7_`C9&$r!c1Fu!CYzn++JDwk}_$$<B0F1`nCf9;ds|Leogd-?e;KhM>FpVZS{L;5{N`B~}~cF4%jbbrIX^Dz=XZ@!GB`C0BXM)~<N9~XSAoF0p{BHhNE%^i4z9j5X#(q5L&&oqC*4CQB;QyA5s<>JH7YL~O~Ox~siOrDQ_e&%{9qm9;Nyf`b_?ouYt&t7@?my={Z*fi4m2@D!z>FumyF_z|b4zqL%%RkG~`m^Q#%ZGm-Ha@#q#ReEX%IHZ(M;Ogy4KkV0Z!<cN(P~C-XS6|oDE+^9`1c3?EL^bQI|YTct2$eh&Vm~pa~;LA=XBDP^Im7Eqqw9<L;oJ#W@x2SQ!3mP{~n%<n~9PVx5WE%GM*9d$H{nRyuT;oS@C|5j9cUVCmEj*@2AOlcDz3);}hfKIvLL)+f(AXq%B4JnTd^TOo@x}IFXF!k=~T}Me+Ls$@s;ja9S$-60&i6Dm*_PkCO38@i>%>Pfj@w%n%KD+(^c!;D@CYc;fqSGCtmT3?CNqMa+ofw=om=lgI6o48M}fOeH&CDvZnH<4mKcoatG7Niu#D!?zmn+ZcY_fUjodmg>H*;j@OmkN4+eOiw|65=@?@{Nvjto&AR>|HWiOiuO&#f0X_m-+!W1&-nKJlK#yfXTMp{aHE}*1=KUXKg>$=-M@l<mz_eU82ST#oheAse-=_biE+Wh!R=}8A#6x<KV%!_PmIT>Sv+_wjh+{=T+@_sadkh{5B-p}BcIpb0{jZ#&ok8bX*22{Ki<C(Qr~~Dn9|($NQ0N9!H=4>`to~Vd~IKohX2kq__fsj@$qnjN%N1f9k-Y?|LkP`d58^+=NMiwSxcYS-Al?#(e8LZClCCyhmC9gyqCt#VUxyhwC8*p{wvIye=1nJ_!;grr{=FtgReHHz9$n*!~b(u?oL)NpZ0#0hX2(x`u}9s`cDO`@8U<bk@3D+^Ydcn|60cXRT@3HmNfpcr0(aqj>B@dzhtNBJT@Xr)94{?xw<{zZ>jHa_}bctywH1VrOPYJ9i6LW58hd!mvFqLvK(j)v;-95Ygamy&V~kuk0kE-$V#*9!}~lPM3(DY<<(8CtLmEMdZo3!L$2#wOMI=(ZB2f~U+=hKURh~sCM+!=*R{9Tt&{yNO8Yv}&|cT<m+L#5o7aJeE+wNWNvyJ5y~I^hC08wS<259C;i6i(N@AeoUP5H|_ZPWpJPRN%Nw_{4pto`2Zn(9&dTG@%d6}!yTP3rbJ{1-E8#l7QzD}tlvgcNrUJ;TzJN)%&FD@}zcAqEtUQn`LdLKx;VPq&!uJ34-8|zx?wTn~ps_Qxw&#gBsZV$9TOSrGET0`95bF}*#94W6yQ7erqbyt@XSqT%h3r_|idIif+A-sBJtYh*;s)Q2ETUN7xw^*VkOMP`ME&lcrygTIycmu^%RaI-2ER$2zb}qeU6=y;o8QX(3BfWlQtm~?d4&KVC?}!;IKyPXJIyz}L;kUPpTE~03qC$6#>#yF6OS*&xirFnNUCB5y#@`nkXM_GGUIV?9cE_T!+Ll0TOEnZw(%#ytR0aOZJv{B!nz5b7busN~Udk(b$-X0wj&;pS-726;yG9%N8&%at94)Pi-vMr#t<<e%snso=j#Zt3rux}|dO}l;bsdewQNOMQ^l4OS*K*c?&!K)v2^sR*{Y`bq$lltT6f6?j4__UtTj2#dHT<Qnb+otAVeIfXvM|$F-=0W;cAro7ul4!c6j`CJawKAgrh~sjnRU$pAG}b7(A$UuqF*zFsZ`<jAAK;+<CM+krF8eY`6C$8-y+)C0GBu3n=UZ$8@G2(gFN3ya%%q@@_61g5{tERdA{G|l&>cEd5UrSw}@zGCtRNIOF8BD#BrM`=;Zl1$L%Eft~B4ja{3E{!;Jp>A<@o0xIEwIayrXkzsW%FBHCFBPxJjSr~KkpCbQF6|Mf)kDVOK_W={F}j?sU-{@qNzlBN0nn$rTE{G}=6A0+xa<B9V%PWd?$e~j&~8szzYozo)*{yYQyu|b~i>p3<0%W9yH8RYqXgVXEvmpn=G-A;U-G|2OP1E<F02V?!8W%7J2#`jIe{gY9i(-%qd_)qu$7t)pgUj})8KEdg7!#R)9pMwT@evZNEH3oj;_&G+j`<ndRF!BE(w6xLR#`eSe{Gv{t?}IC5q_)>6{}oA$EqoIH--MN~iywM9Zr3(eC*%3-@|jxtnZHr~d4qg>U&RO?XGVGcnAm|Vm*@NUDNKIbqsbBl2Kg*OE8lpq$mNR+c&c;v6i0zXV)Dyb@z@<4WPJRXptD{7Y-fRgrJ=(b`_Dyb<S($moA)>3_x}KD$#Q!"

open("./kyomu", 'wb').write(zlib.decompress(base64.b85decode(exe_bin)))
subprocess.run(["chmod +x ./kyomu"], shell=True)
subprocess.run(["./kyomu"], shell=True)