From 7a0ca9b48c3c8faacd6e82eb13df15447acccd78 Mon Sep 17 00:00:00 2001 From: Angus Leeming Date: Sun, 12 Jan 2003 19:35:40 +0000 Subject: [PATCH] * disable loading of xpm files by the xforms image loader. * prevent a crash when the file browser dialog is shrunk too much. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5932 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/ChangeLog | 7 + lib/configure.m4 | 5 + lib/images/banner.ppm | Bin 0 -> 369765 bytes lib/images/banner.xpm | 324 -------------------------- src/frontends/ChangeLog | 4 + src/frontends/screen.C | 2 +- src/frontends/xforms/ChangeLog | 10 + src/frontends/xforms/FormFiledialog.C | 10 + src/frontends/xforms/FormFiledialog.h | 4 + src/frontends/xforms/xformsImage.C | 5 +- 10 files changed, 45 insertions(+), 326 deletions(-) create mode 100644 lib/images/banner.ppm delete mode 100644 lib/images/banner.xpm diff --git a/lib/ChangeLog b/lib/ChangeLog index ac08b64acc..07e7b27ac9 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,10 @@ +2003-01-06 Angus Leeming + + * configure.m4: added a few graphics formats (gif, jpg etc). + + * images/banner.xpm: removed. + * images/banner.ppm: Re-create the LyX banner in ppm format. + 2003-01-10 Martin Vermeer * layouts/jgrga.layout: diff --git a/lib/configure.m4 b/lib/configure.m4 index ac401cd960..cc410453e6 100644 --- a/lib/configure.m4 +++ b/lib/configure.m4 @@ -441,6 +441,8 @@ cat >$outfile <$outfile <Cp^hfP@4F4nI<3fI(wm%m||eW=kWri-)kl zZFde}gjyT`M}WyGZ~)z0&%WNe_j)5TqoS&^vNCJer_j>Mh_zO%zqof~RXy+bpZ}vj z`uG3%PyhZO|C4|3kN)^i|MZXk@cG{-1Mi-JfAb&w*}I4MiSM2a{QW=u?-~ErfAG(r zF&fMN&VTqnI|h3p@Q?n>|Ap}n{?or2h`r?!=_33lY0r*y=k1;y4hf`l=%4@Szx`kT zv;X1$$nX)$VD;bqkN?s!pKv6f?fm}sO_XVwq<5%HTJFWNmrNd!3?HUW_NJVn+w-T8 zY||<`3_SevzxKOvOBQCT~9rcr(CoP~>@U1fS z6bIRugm)=SBqL^lenQTP(Hu6}$YakWT@4e-X8xwf7zuNqI$FI2%1R${P-smp0sM6H|DF zdtzM>FAWy|4S^^!G6PdbRmuEe!`~!_8X?9SZ}>GP@>dxJdWz+NZohAYv((RIX^laJ zp2>$ByFs7FC*9>E2j7onQb*?w$HsZZaj~nE}l~ug1w6B$dEMAl5F7E3|ijg zKc29Ky9_YITHIv$dBUVcSF6M6`E(9qi#{-)p)k5IvCuQhFIqeMB%zrEC_Le8PGfL} z=^aq3&c{xj9P_GheCBU`SC1z<*0FXr(^|1XY#u0kL7QEaj2JSDVvW{@kGQm$y2mF8q#hp(QV9MAtywnks3->XJ$UgWz})o6 z8@uQUmKpd%Z)AwH_=$}EppHvwt$DufJbSStu2#1jACTF^C5;66HA~1womx1v$&TCR z>JDo}L0m?3hx%DmQrWdzUwZ5+m?(KwOaYo!2CdpoYwC(w4(OWL;=GRa?lm(5F{=YZiPbuq`Q|aER3VKv|4cq_lBp5l zgBwwZHRwYiu3DO$%A59$FxJEn@C06KK|IcT?};+PAPu8{&R_v1#vf;}hGX%t0X-k7 zk(=TS4(mK#G5NSZv8-95W|u@wfC#t|dogSnd6ynf!u}Q#i{bC@z&<+~9o3|`bWQ_( z`Y=;Oj{sB##TiD+P_nHj(!`$0$iOr***cpxGdwyJ$ZD81#mJi<9=9Fov4oFH6hg=P zy-b2y$pckm^ukwXupqENvFX;H@fm~Z8NJmX?65C0Yav|qDgv0w)lQUasG!Hbc!I-v z4&{-79bJOP=B*661QMKg7aoIw8gwJ;Qqj+uTQ_~VJmC<ik&s3w(dppUxS zNKjTYQhl|U4-=U&gF%d^XJGKz?W&@?D+Z+;i(*w}z~AbmraV*V&S!N}(uiy`GeErK zjdH$}_h91ZPrU(Wj89XxTUbpg?!o7Om6H-Fm3$tcS=aUB}SyINH zxzz#Hq1eQDElPG|5e9N1qab;M_!Ka1P70>Y&0p>Xl?%Z;8|X*4pGi&;9iQCk75&Ce+2B6RxNQRf`XBvU# z5qVp}B%2f6sFHZaQd%ftRi^U28+E4gRcp+9h_)?_X@`=8WPmNqfL+w@X!wmhK{0ya z@l0?JG1SR3Nf@gPR!Nar(nF(Li(+7hC3Ne3Pg5y@_7TIlZriuLO;mJ1747t5i!<4D zCNpeA>TmDO3`^pJ46As1$6>E#55gxj0!#)tM`@47Pvw&h9?jUT*+5a~(*mVuG<)6p zNKq^nHW{cpbCaDo#;uRuh#esagE8)mfU~v*@(fp_$fN0PsE>-lqbQ)Ug-dI@IIoPQ zfkqgEJZ4^=$q4Mj%!Ck6^f~#@{2G&ROgJ>#v6R6)Rdc{&&80Q7i}SGtvnVi_R3(Zs zctWA^YB%U3Ic(iPpKdhHBWA-u^%h;cZN$#_xR`;#Su+(T4c=^6xSPVq0?-FVOAJY` z-eji=W5JrnF&^#kDmLcP)i>O;+*lwX4qQcD`^@twAL?q|0>$_cu`rR(j6RzabSK*k zb#JQvLBVr}+dv30d> zv^eiB6i7*B8Z91sT@|HOH#7Ky^SeP`e6S60gP?GLQNwA(cvNh%Cwo(enlX0Uj0`Yn z4?;_Qdv8&x@`I%Hy3Vi*7C5Bl+-_VGzG+^!F^iKLU##Z9rn)siEZ`w&LCd40aU_jG zw1N6qb=}COLKpXvSkzgC%D}sdaL(_H^SV*LiN=9yRv(ni){E8J4;F&lT8nBSxvFK-xRiOTsRQaptGWuG)##$-?sb((8*ESLV^iJJ zH@qTaeZMhZUFFdXH<6z4k-+JSoK`}x5YWYNlvl;nA!#!#$}di$$c{F)$z0oRQGGCp z9leqwiElR1oBx|iJ(RFX+_tR^n_T5h6du!^-Rqn63hcwL2O(!BMn%v&8c zg0IHiT>xQ~$7)tZORSTwx|eveC-mWuU7-UymKi1;h$#uh?a9uJ`jHv(&+*9-z*WL0 z4}B7h!dge3M?jZ5~(VhUhf`UY z8^_#EH+F_TH;vCQ2HQ}>L0JEjy+-VGk5-2QIq;vN5aS>aBt6>J9Z7RIP-&L50A(** zq7mpH*~^0f)2}u&#-b$l*J|2m`G}V4Q20EuyJ#cGxU@)BH$|1kE41nfvZ<0omKeQn zXvK#hUT%6U=`f0Bwf3sVja0Byeb%KohDyKh&NK1Qi11AZk~9yXDUupd!Z*yg9fJxW z%u-sy_E07QJR-m#AqXIkR#tg*i^ekZD!N*|f@jHj#UkUQ1=nLcs$cNM!J>Vk%xav}K3iN>sRF16 zNi=1O1iiYXR$7`z5|rO^r#b@y%HF3!XscBg7MV@hq;)RD;?W0xNUjvB%Vv&gelYL8I1Oa6bFpV-$SKY`-%*Jw7S#n;g zeD-BBj=|#tR24GM($3K5*0>R`nE5%wsx?I){0WFWoe7`p^}RI6A&RQo0Bko9W(nb( zbabhdJ+r8VK!je^(}VPB?!9HTKp#7-#yEEhNRS~TyI*-j5fgv=s_J_WjfuF`(anF&}p)}(ofJ)?1LEf`J zpE|VM7ZobrG-_iiB&jx* zN&z$ONWJ zN6JkhEL`sZ@=Brw&p?tUX&R|ltTQo^?ds|xkBakb#}Qa_4;dtdi1>Evi6#RKwn*o@ zwev)ZL5DCBhY_f&@T$aHTymI0sICsEGLct3{?zSosc|@tH4JX+c^re$R3rJSN5Uj0 zM2!OkWwzI%L%8Ng6~c-0jR23BA_I+pJF?1Xj8yxs#y*dA6-AS&@w(I~Du5jWg!w?9 zIoXF=xD=gDDIA?P*uANyg-$076tk3Wal6`tk*N$@&>jqS@f6h6hR3)_0)ryPZ}LrR zZlo?e1D@gT(5p7Jpd`Hh;}3%^@NGOuvH~!X*Eda7f8d#Pb&?{FmX7I_1}D{@DrVpm z5k@};2}gz$*}x_Z-_S~d5U?MV(YTFaEs#es7jFfa#DYegLB_#j-GaxpCB*twY?^RZ z9n2Wu2l|qe9T-ZJwxNRTXtSj&8XqjBy#&udGELG54<5A>^|kF{frCkVFklA4nvHu% zdcb36o>A9LDjZHrs59U2`5$5Tl=93V40}X=g@ zeISWrwlT(aEFC`3+H=WZgMqjQpF#i2GrtIZ4HEi@q&Gv1*H|o2W}3&$Z-}s+Ng})~&e2s$ed>AP`tfhqI(*gsT9iOp&;Ui~`LT_`|>mqgg_pCDq}ZRgI%X ziCJw1^B?GIa`Mzi%0YodGkAubv(|6QR2AH_4Q}!i`LUfB zF4U-2huW?6w(_c^6R6r^H3yz+9}5m7*LEBjsY}>NpW`0Za48L3CHLe_(b|rN49)P| zL7fS>0ebzI2SZ@cn;~%Org3TDVIvt8=FwVPMQmU*MjmI_CCDQ#;Zl$X`?Ns>(%yE3 z?b=&F3kzanW1-ms3nCj^xP&|o&~gm;X4Q<<-I1w-r4RJggglS8b*Tt7qA~0Z9xeS^ zVP+*9a5JOW4%8+Lvhm0WYT*@+t~SsVSi{MRPBtNmq7$b2El@!~3$gF< z;jz)p?pj7y%K~Gcq7U@-IeFd;^yo&)7{yhCPZfwuFl$5HgYw>bEA%yxh&nT47<9FQAvrV&@s>yU%=fELOt$v9ea5N2|Y9AnTZB;1Lh0sr`1Vx9r76+N^Zmj{OPl34J_b(EhZ6 z=S}S+X<|cR9He4#1hpDWd*m@T$BggDz%P!iC5NgR%bLJ5=GnAI9^44FAQ14ev2mjc z@E8FYdyg=KY=bS>#jXqPA&kN3*46CpDs(L&EPbGFEjiDar)pHkVFl@swObz!MBavB z26?JBsOi9M4?7kx8_RZ!&J1)Bp!Wp59`^`gp!>olf@Swm7?J>Wn2<{Ec;~$X6~`Eu zRl!i_UzkHnFY*LiNE$`=?;Qg4r$YgJrbQ7*qcUFw2uBNc4ojjdOtpZ0EV!ftHY&O- zxqGvU0K2n<8NIltB-7l zuG?W;v-VrIa8pcWce*Q}C+@L?5lqow;~u-}(z6Bdvl%3zAH>4sKG4^oWw36M!6mZ& z>?{rJ(-<}_R8L4$#TF)&fi4PQocXjFJQdLbrdUN$Wb3z3Q3v4Fweg@Ts#|xbCk4i} zxX|4P`iRsJ;^dl3&3v>}Y*zb6LNwh)bL2$DGWVMbh4Dnl`!!z}rPinq=n{ zlgENa5M$nQL^rEegce0hvsprzO3`~UXwzzzNmtQz-!+QZ9ni;KA`%Ra>BHI<%p(&7 z;}FGFyk&Jwoz+H5`N2k5&S`}=8*B1-g-ik&2qURkh2aOnYuh(oAP! z;U?(Acm)BDhTA2;p24xGz~nUPurV%b1!t-j+o9OYSI0cI+J~})JUMB!Si-W#Okywysqt9GW)-emtnqOhMe+}h z%~Z+|P!WIDjNdVjKe~Y@829+ggtFvt^^RR$s6v1lBrt=hEdfj&K;Ho`ez?@P@qJlM z2f}DGmV3r6l(g+VCd`w)m{JV&91VC@k%^NEFB);FSEnwhv&xdIGVbmYv?{u!LHM(m$}n^Fj9~dH^kFSnA;R#85AGO$V35Qg<{i<3 zVZY5r5XniW5hB{6kX~a z(?X?``zrKRtbmVK?vhQJXJA}Us#Xw2Zxc?VE7YLKs4DhklH6#yQB?FQG5V-)P`3zx z^Qb_j3P&=yhYV(=+E>zy~~CUAIcPs=SUi1=qqW1d!k=(U}uzD+%C@4 z_M6EtQ7dNn@JR&>;m7ir2^juQfBxUl_P8O9S$FY7RDtZM0F+fvH%1(h(X2+Ygp=yV zxb~xk4+>XBqf>E_UWL9OK*bj0mG+zBKrTz-MqDKd?=5tf5$Ub82Qhrc!(5P(gro@f z^blQ)AkPvMNgLal?1C_oH5LRI#G<5@H5*AD4O3xxDVAZFXGe`F^P$JdKy6ofie-n; zBpD)}l$Ogo?;;lMJQ-Z#Iy#xybYo?jR3t|18<9-58!)*RR+l&n92O4+d`<^R)@>&} zkIaOz9CbBD5HkdYGmkJ!p1WSrCFt6~rNOO_T{!-^Be^MVphbs3vv1v+*oD4|Flq(F zgg&&QDB4J!$7i&VM2n3WYBAp^nv-ZDnTGhc{aoi^8nJWT0rgT4*Tc zUV}a?^th)rfdxuLSYUUzi+jNh=hZ@35Yq?C5k(k7W)%jCSyiB_I0NNT#n4Q$giCA$ zWz=01)-pUQ8Z;bs(TG`fM>kSMvxvcDJM1XW%plLP_F-O<0jg66m2%i5p%k}{oa=zV z3z;}WAavc;G$Mvf6LlT|s2IE>sOXLvZ-)F4$>9nzc*YHcT9|ewGjN_&2b12WRIf`! zMERJBA}a7&HeOcyfz}%Iq0UD2=7zc(;V0hmsLxEsLmfadyCcRfftTt7iae?-^%3eu zXeDV;#9E^mBQUyzqVf@rOty<8!fv-{7R5NDKTvd;j42qmX5M{2^k^BNUJMHdWzZW^ z7>{11R5|yeJHX)?D&h>NMQ({@F~f!#N`Q!knt{zPv||9wD*621{`{Zj(?U)S{+N7E zmY5@Yu!KPHB=4S{HG;~aqiT^v-X&%j)^{;c?7IeiTB{(29d^M<299A6>ZsdgBP_7W z7OKExNroAQrnCU%v2JA5s-odETG>kvt66wdsvUKegvM0Fu$IBrSg27uqroc143gE= z4}XvhP~ti)w3L!%&M73dSi3`JjqJ}jfI15nR32vD&?n@BR` z-85S>FKD2yKtt_1RyE=-Y%$hC3>kD`GE9Ps*+sJ&gd&V@syC9TAgoOoEmZYPy5zo2 zLbZu{w%(1QJqXGsf!S@}b8TcPt(4RX+JR6z$}W=9Avv})NB-F|afZwj!eagtW*@0D zG4gD08~fRJz<4d>TFXc$+uM00YI({RlmPdFnUS=nlyWgqtPY^hG_r+8daQ^|1Q^P@ zH9Rx%Es{OcG@B}G4o6+6iLP4EDB?hbVUYhf{_0=-y}$nd{_r<{%Ya9i$tnYn78dZ_ zs9|_S5@u17RVCNN8m;kT;;|F(iGKE9?Dqr zw%->?RYWICj~GmZNd-VB;)Q~N5$G8MH+9l#u*z3SJgG}}@VL6RQDY693FuYa6MVb} zHY)ui+g0$ab|x)g6C?Is{K2MuIB%r)ZSxs>LrUAgKpC}T?OQtvO6iXYeP9J?uPL%^ znivf*G_jywA?P6d003PA@aZU`CQPeCy_m7zpy@Y4_SnMIEL9%e0ra^G>TG0gt8UMy za{?MOTD_gg8I4030gdd)45J6VpdU+vjWjDAh`BV#@KxPA1gNq&W6?n#ir!Ge9~eg^ zU=`473?{1sJ8`CQNf3r&WT3w1QmRS4;GqusHY2zP!)H)*a*pH?AR^A-8zI!}8J#qt z!4Mks;JDZ4mPnaQyfB17yaXujL3y-eq3JXPuHqhwq-6|!HMcW7``Sfhdq)0N8SF;| z-ba~A7eVjW+wQ;kyIe(x}X9uFF5gDmQ7A@>NnGO*dc$5(w>{|{L3^XI4(I3y3%!mefmC__G8G=e^2AJ<_ z#FLk}efOq8KcSE6h-@?u4HoF5@t7fA3Wor6++En&7W&59ZMB+OYcPd|p&#;rUM_gw zp!WrR5kPn=m-exP!;~A;f-=~&9$vy{1{sE(V4@n|SQWCM7~!!O2n@2S*+zy(bO(0y zK|AoC$KJ@!Gf9a4Ksf?Z7)B6JhC_5r=mQW;oe@<^I1WR58{D&tL^k5((GG;B+g*iT z?JJUVBIqODrrbPIW$VrhY%pyN^t|;&31gV(=($wT3q2rocoFi; zjzrW1Wi_F>HQjyhdX-{4=dVv%ktQc7+J^3`XMsmb$?6R5p^lN`LmxH8RjEwMZQu5w z2d4ePH(zfT>DN0i2ua3b8RIV*^A1pJ%dOj#FQ6yG4Axk6z&n$;n6G$+Kx2Ws1+WU;NCUIc6xCP!q3+g2v#Hmatox;UL%OFd}3j;HpLxgYqbk zWHpjqVDuy)%uEzLae@Z+k#xZ8TeY)4Zz`bp$q0l089HBS-g!BOgVVa(Qec4u8bSgw zE@L^G+w=KJfP`TG(2532Xv7H5Jd+N1W>}(oVP*!x$Gr7XN(LdwG>=5ugWi>E-tVEW ze%WE(X43US84K-&jdGI^&L)Mn4XR^Gf=kAgR#9dVJgX5bqk?dnDl^#y%e|cj*%pmp zDn{lR1DTf}OX7oW5H$?cfx`|0feG}H~HDV3t@Y&@BM$$2`5 zrJ4Sr(8qy3!>QDQat5~tz29H_$lFZ1UMpki12`t9cL_0MNSZ+*MwJz7EHKZZUTl@# z2zFwm+F=qqw;Ji)-g72BW)7u9VXk1nJ!t^&fOsNGfXRshpBX`q&2j132ID!nM~_(! zD7|6J+12pOFmD~z#2X6s8WVx%h5-^JjX^O|LwPs8B|enf)J4 z#oE4Fy4G~u zV5si^eYzJ<`bTD(0qBWKdAI$=6x7;`FTZk$hc98M+IU~KK z4erq})X0Xh$?02%eMQd@vUPN(3NX*=xUUd+HuT|!osTC*p-Z~$WSw8U>1_sd9e4&{ z*|)kn&f7CqlaMvzq_F`mdZQO^#4sDcX_lD3`_?DAVi5Z_;Z;xY_G&}+MxHd2Y~vL? z)PaW?757L~-gzgF^A2JnhVQ(=JtlY9dc!Sx+@r6kJB6SGR409#zuI=4?c{2J5k*(W zorCVPp-)fZ243}pRs7!>^uFQra`Dqi+>5t6GbCZKdrAz0V;baczYh6f%;lwr{yrdA@s3hEW_(VonbPAd3c;B z-j{*i*CnuC{NnAi8S~Tc!hApJ4EYRjF+=SveIp++Q45(spG(ZcpvC-JhxA6+E*oW4 zI|EN_$ljBfdKF_IvOD={2H`l!4-C{nu5z>50TU*-2z1CyY8^zZI!~+EEtZDNlW;Q6 zq`#!fsx8eb<)Z_$3eP|t0apjzh5Zeo&x62r_52!0L-CCnQ#&mLm74>ltGvoLTf7}va`fSxdWdFM5~3E_DRX`xax_LEiQaW8OWCVLBrAtUCnikK~= zWVOI?u1nRFMi4e3c4Gt@Pw1jJ85x*}#RxlAf!Ff2GfieF5jiUEk*fo~^MW&Hyzj+r z{+jR~VFtczHi|;##V-1X`TE~y%c_lpN^mbdrY@x%cNe>C2z}YBHdT0?Sp>bOU+QMA zk(Y}f4kwT!Ff;(EgNh`S7zW3v-C}(es|XpuX_oA<#dsS@Hi{9pZdS3=8$qTK!^j%a zz9i4-Oc;F2ARGqqhJnvG;Kgt9mUSGldfyZG>R)P7O`ni_CdEC0ktVT)>>^hKjI2^e zbrHMTQP|%W`fMlNsI3LhLC9O}H!}lD`^a1_e)xGcZ;uF=3TTW}o=HCM{XhTtzYX>O zxzC?>GLK`FyEaK*VvQ?P{|;s^CIwFA%Bnjuy8(qac<|%JN+K|NS5Th!Iqz zZGwuZqbP-GpszNAoo0ZxO7DYqD!5TWgsYQTMV+NJBLh!jZ3o8W^c&%}BcLZk#$cd? z77D{S<~#4>aI~9+ihFdC!-h2Hz!wai1Gx3=Y9G3)02Zh$Dkw7gDlg7pXDjH#er=?_ zqXK;g#J%6%xG(R#i@DlllC(5-oH1Q2fo6-iH=eAJ$QuMh%)y}TlugrY%uxNsR-q3W zNMc0Lz=$okW~Yy9(Fo8H3rAo~yObC+2-dtw1wAPl%i-M(F5YINq>jroxwXycG~3LE zWS-t|$u@?kM&v*3D)d1a2xnE@nbu;j2ceHm-N^oFD4t}nbj0`Eauuu>zr;0@#z~pj zlz}b|?seZl_kVre0HrIp!EfPCpk5S(L{YJJTD+=JAYfm?FeoCe5&>ocjHt7;*m4>X zY|(9u#M*0_lmPeOq53Hm?g+4=-{+n8J}9oZXU~vu8w_e2ScN*T0IOCQf));Bz_kYywB){ocyan-? zthfjNdFQAY7rZn)bRz!_g!uc`Udk4pyJ|15kD?@vH7l=I~arnkad)l*#Z@7rz1ett~xs4m|yI}ev*A3gg$-4G7O_SrhCR1iickOjtPCd`3C)Pwa?fcGp5M=BvC#tX3V_t zq1;0kzcuJvo4*|r0cZQo;`W(gmA14qSw$=#Q}@EJnyJ+>^XXd{dpE;6Y1$@Vb{zKNmk%V#DoMVY#<74FLaiFqM1}E@T){|x_d}O8 zTzb_!c=$DFX)3#zfkYIzAg)Ep*G{G)eJyNVXu4O1s6X$#SJ5xfXFr=dk}OzJbUOrw zNoYU}CX?eOEFfIpd6h?fJaFj|=yMmS12Od$Fjwssbd`Zd3q~zv29$jtfj+mc9wtVE!oH*FoU>f~xR(yHH@Rft zLSaabv`LpqtEoH1#m{~lWWz8A0xw^}Lwr~)%32Qx`Z(PK5cru(fj+Wi_027<;@4iF zp9%L5BCF)tD%2|+lZY`dgSxBAYXP1CUss)Ba&2JnLFlWy>w}R>v7gbP-@z|_anBm9 zCGe(s^HXWfmGw=!!g%rf^>#V9fW2ht^3Kb*y*K6Is_>w1`Syo|a1Dm~Z=9Lo4+L!= zvz2d5HIGq&>FYuXYEha7=HmBx=UoK$;2!xQX=!qj%xS8>7i9^76h-XHPXd^y1gR0a z4#Zqi(J~>%yrpjxW1%u=JqUg5Qb)oZw+->0=;CLFYu@I0bwkY+S%OKf!jQB&$P$ld zx%kcJWKzUS|@P2;}zWzJy?C7bL5ihNfaNLe4pi)yxR^oy`a$5BwQ6pmXNHul3)FyBMw{;_&ZA%uf{V% zV&0v7aZUrn)B@Ftq%@z4UoL(X_edQn5}hm`H5K$gFisPLd^YeUxFNRI%v4~JVqsh8!z&Lm6yq6dCptH) zgTM1~L0wGXt&_HaSz5~#No#PA$2Y$Ckq6S4%q%kB$S<1Bqu-+Bc98giKAdH~cb zDWT!2H>>0Sym>8$H_b0*i7Jc}WxBqP|Kf3e?c~?p?~#jN%}nJX#iIj`oS5g-rE zpm~xa-ZXc@y#Z9-3yE(JeHHiUPpVJ%(yO2r)Uu}BtlA!t$&#q(yD*aoU_tmor9nlO zL`5W6GV*kY?&ANGwD8t7XDKzz#}gtL6vvB}Syn=CcCq8twL1CuO;Iqt>p z>(&QG-Fop$&x8r?**w7MZ_qb@rdKUpgT$W$ef))@f;Otq#G~C_k;nF~0$Bz91V-wP zoq!tx%)5$BEU=_;mjp&{Caywbc8x)1E9k?SI_z60TS#FTImMOvITyba!dxXwHARbw zqTFQcEEm6YX5w9B6iX_?m=+%Qd)3_*JTHF;-W&RI<)bY{vru|C#kKT2W)+4KH!T6a zA;Y}5hlL0TiL5fIku1Rgdg2}e>cUikMIKXIL7(>7)M58R*+L4#sE8N-EEm7WzwAhU z!X!~LX30eL>7wq(z4(D1Uq_x_p)59AKba&nJwqy(ImD~(9gujzJ?^V-41K{p%4EHA zoKx1tiX+_5GpV}B247`z5L|66G+~W&w>s6~M zf9r{``2jbWMwc0m087wjiM?_<1ja^S?U4rC5c=4q$$)8L7vqA#PiY*M$;I#BUv@lx z@v{~+QD!N*B0r8MMLtsB<6itO7oPFOkJy`5sTr_UzGKAZ9T4;?l}iQ|5#v23d)%XB zwV$o;8s=<1&+Z%z&IPAt-Z;YBLf@dJbE0ATLycl?R>wrYxHq5Pv83H%+dv&82PU~9 zQ8iuu;XB2}Zzgs!(1dRiR{!C~s{n0s-w*D6ecm-L{XteaR{KC-J<%TL`X1*^H9v1Y z=5PGso}Z~cQo;OL6#Ya1PkqHb0kHowLF&FQMU$s;H?hm{A6)zrwM+t+A-d12?lJF& zx$nWGYPFgi3LYOh8oTK}8~VtDpx2z}<}%~y=Hp6lRtJYZ+}otSwP)bdOXFOf{o*%> z+Q7e2{Y0<27r_4^Uv1c~O(}ic4Z9xP=o!$5OHEEZ)M6mi(V(9vIyb9hzVpVt$1i>< zTyiylzW(Azy1pS|w;SE$Mi(5Y7eB%rhiv$tU$Y$lzUM)vUTIyK)b|t&QEdLgOW-vp zY{6sDPuznx(C6vSmmLSc_~EBNLwc~vHBk-p@o294M4j~FN3iJ)7|%{^j6;8hIe`5O z)E^VI9`~xg=kjrc$2rupTGc_1el9^~5RqF;ZX$+ro|y!gdEe@(Pl zETSH)s!|&!S%NV|rc3Ax0QR{$?!R=nph3O(891TABup7%ggI_F6S()rueyOgf5Kcs>hw9A!uJO`7@~>Qe z-9`WAZyC?H_$6K9UPV9BRTCBd_!mDeb;ebDAfbJKRSlR7pyp6Z7us8@;z zb2sK3L~%Fht34mYTRY1f>imr4;9vFfE0@i`>aDp7KEMR)!tiH;@qO_-Aar~|L_YEJ z_&_t>;2&=M!26!JnuCDYeQrD(`b<&&Sft@$1^~!$22XOcI^ZXML1x~~$C;n}`>2?S zA~`VTiY&?SA+s3^?uB9LEEhjx3B~g_c-7^d^v%#OSH4ur&a8CY_Qzj+HuTk8k;a^8 z_zHdSImlrGF9(Fayz_$3z;5$yM@GnNwW+46ugt2Cuqr273A2lDHN> z;`1_dd}O=o;j^Jn2Xd%s`=DQiK29+gfO?j>_?_s>j;nc|6iA|i5&~d_3;#?cT_lRU zL63WVx_m5#&xRwO9~!RLK3BZN;zxXMiF;mRz4%$FrY$F%d4DnfbItxAy7jjaW*qT~ z(4P7=2OE($X^yk`tjC$d%Osb_y3_I^J8^a5eD@B{4f6{1E$dx z5=BKiP!&$lv!RcTYU1k? z%ns0}8|E-)d3>CO!C&ru-K@@X@iVKB&~#c&lswtUsDCEHe}8l~IKQu2x?KG5_WOd$ z9o_z3Z=8{FJX!-+A-Hq({2C(QWXm0vAZd5c+z?`K$)kDrN>P*%V$GD4TMQ zxKruO{?NAufSd@N$tez#i{BAnc>l%U<+~V?+|>8($Dm(wMP{166v>Z_m*i7i{NCo* zEN^_}699!izU;WWlY7M;^Z+FXfCf{+Eqr7e#%o?Ck;i_Z4?Y5T!U^KAycYWKfkW+a zt|z)V&OYMvkuQFMJ|LP@6IWmEJ7xlU<_cO9<==?@F9l^i{>AUOU&jpYftM>^E=6yT zdqgVqLAUB^4hS%nJD#`%UIA9376KVg2K`{r^)Xl{vo=KXihW^)I;5)AKnIDelbV=vIBf3?RTJDuaYduhbb^SFMh{_z96#~zvT8oCh4MH@K&(q%5)`B6c-+P=x-2&kwYQd*qICN zz4xzKg6a*k)jKbs1l$RIFrrqF>W-5VT^M=KiwDF*!CBx@(1RjSH)83vw?0m^L!Y5J z%kdv3@N&dk-xK~xZ*Wg0SxTXB; zUiQ4g-DF`+IG~4nfs0_Bj3=eRJq*4I`tT&j86V)Gbr?v($(J3+zxee@UMt*qUeK$F zGGl`*kuJ-9=!@S0@omke-{ano0=)+P{GNB*v1_X$-ji@o(5rCA%*+|&9PN4QBRQUE z-K*z1C%S@O<&XSj$FIBS?|%G^<2~1VS_JN9v_q@cw!g{R{?LbeIn;RWs3#h}IoC#a z@QYuNnWBhS(woZB2q#f6HCIVdO%&*d3|Vq~E`E>xV(<(4e&$Df4W5gBH+|W`Dext? ze!jOA?s-f&6e0ukj+9VRESRUU@|HyZpnGJ8-Y57x}>mY3UPXu96lW8_@gL{^I}n z*Z;eJ#W>|J=#GGyAKd$sKLqz+y!AoTrL<*u8QRqW$}QgXA^@XGZ=|u=KdOtOxCbWO zVMMbpfj+jz;W{|K83Xh~=E%^Ouc5)BzG`>OSXQa|F*)F#jG)K9G66lI@B8A%Sv~@! zoWh3-?)eelPrmH+=;u2x4G9DRagKb80pjH)mx~`AYnSF|dju*51_ozNhr(E+|9#o< zXw2yLGWfRttq(Ww*P2tF~8~!GWV&ToJlpC6qzV91FfJZ^a*zj z{apNR#{3KP<=}tNFBd=Gd4V7x4oXi#0l=Uiyz@d+rT)D}B?kdXcxXnJdPZT?gL}Qq zO*5E!3H0G)jy4Q#WCZtM0(xOk47?ohoj1t*;Kfe>Oo~hn34y^fyJT?Fa{zkHt&f@S z|4_gwZd@;Svf!SG_rX2?1ds;@5X6m6{PCzV6T}NH0eZHpr&~#p(D|HqTV2!|U|^sR zBkXb$$}I}x#zCNu444zMBn{$KCh&4V==i{I?U z?}B@NtD9TjhpFhtJFn+dJmJ0v?)iF~J02aoh&D{J6fu|_cAK1@7yWv5=Mg}wU%g|7 ztq%fyIp8o!2#5zC+#_oKjT;CMcsU~aJ@92m;7*2Az(50f1nzy0z;oZLO!LCa;?uFhbuidcgmh!S64ASIcAu$Ocg-C&`AOmw12O zc$Yvgh}XaK(nz0+-}Q^%1^PJh;$DCDfA~zGkLw3OB<}Im1`WnJ^y2 ziTU-uCl3bp==b?~^A+eTxF^1S&~FjvML)jms6St!X+54-(PlJ^#MsB6Pru->+{V>g7pT=_T%zTyc5Y!vk4ys+va zT0^$0^RImmN)we5_GBL(~*Eu$jwV9~TgJ z6$bMPEc3beU4_2f^up9r|KZJm=;sgoJf{E@qiOQ1$g?Ow|NEth7Y3mZ3IfDFOX#w7 zW)@9doy6u5UU-RuK{y%WUT6b=rur-wKWh|fu%Xsy6VMCX_1C}8&zqN_?{eh}vVCwb zsaRx$KHhnQOG49CsF@M)$_M%heH?!P0Y!0uBg4E)0D?<1W*23!`C91HD{+8WV1j-y zhTPyDj|>w2eL*_#mmT19G9S2;ah_7<20IVtx%k2K0}SlZ@AJ;vqTdJie*X{F7O}3G z6#Ae-A15^J{Wt^kfqM*0ar`~_n&lA&fuQ1pTciGR=&OK0fI&Ze3;Mx}c%fvTB+O$) z|JwNMnIJRuqG~lv`A0x+@WPwBU&DM~{PK&ApUhlv@ADB~18!FzMZcT=LoUMCm~tG% zJ)w^y&l%^WL<@mHA2=WwX7yI)8PJD^x4MCRMFxU$;9f>RFU-L&et|wNbu~Kp`#`T^ zb#8rPU@m^%_q_5o7e6-rT>QQ-ei!J=N#{g||1g6Liin+34n`lyWRjl|E}#f==(kHeL!yjbp2AG&mZ{Rao&3s4hWY$|80oJzXvyPuU-gy zBR9<)1p4q;0I#|My)gYr zf8k6(=7l~iZmnbU{{_FRpyZWLWaHq2dyGa)=mRJ`{>|#GkH>*NJYPgVJj@{E1^|zL z@%u*R%Rg{)<`K{f00#ZM?}ZL7exHBWCiETuBfj9?0bx15-3mC1^11Q>Zoxg!pb9G! z0mSO+9sB{IF97JR4;tu`saHP1@EcwZ{LULEw*@_5@FoD{4{NSH-yeMaobNk+|EkNC z=77MWSAmx!d$`G$9l{!&$=Ub5*CSh?4-n`tgl_|V1Wpnbp|8O`AM+x)3995ywHb4{ z?>)o4tGI`NAM}O(+@Cl99`}w3DZXG<+>>8?@qFQ=UOoQK%Srcb7b>hldni)|0DMd6 zBVMn3(h7a>gq%?UkUs&)=T5a5UTu1Td@AUzUHsNwd%u6>0u=nb``(FOb@?6vY&kOY z;Txx~N2We=!m0V`fd|Rr9*~$UCo?<`=shdCoG3Q~^Pr zcj0{b%VA%X>9xi)M}t1R4f+Xy_3nqajvfHX;f7xyRBSmuAM~rB2Or#%&kHZikNcHN z!96kLfJg#@2_{mS94O%8=i{sJZLn{=9fM3(d1(d2pg}zUGYC*-INHRkFpr2;$q)1e z`e2&h`2BjR^i#E`U9pY^g8@CSe9{VlLBEQ7@U+$sy7*mi&sW{SS$_Faz=YoRbq1Qr zm%GF%2!D9){+0$;)1N=Dit0*LIno2S5(>!i(qi)|ZPP zeiE;^Cv7f%bjXi==dHLmkA6SpS1twjII14rFwI$h?PHLHm)zRkdFOqtdyBj4Gag>W z9It!=UC@HI;`0M;0)+_1AOyexmO7$m$U4#U4*rYSM{)a z{JjfRnFslEL7z#$=ZwBjJ{P~6Fz}t^}|9RNf76yf?oYwfai3DGz~+OAoIES-E;AKv)?us+zY}S5H|uHfLmU5 zo35t4SrT5390KpWd`7n?d_A()S)dO94Epr|n4S>>f9A!ne$XdB1Ay=OWyjfY4_LE@ zd(g|D^;`}Qh<^Gu^UnJSSZ%9&WauN(#fx8sJ{qI%78JesJ>#E`9sIMtMbHxi7r*IX z^4-4dxZvK2{=picVH<}wf6dSG&WqdI0@U-Yoe}!*xsD$F=#wA#^JXzQAN2JY80bUB zuQ{aecJaGFUv5X-Nx~n8$t_OYOH23t%*?@|kE|Nb)$e(q2W7WfJ~;Fd&dkM+-e|^; zediVNdfXH48qf;>azXm-`;N1J;`e*pJ0|D}zkxonF3=aIX=yH0Q8^BP$CLPWD+Ikt zerM>r^;6J_d-dZ!+-_cbYoG8ZlE)wTWk+-6n+L$}U%8wb`YyN!k_Ys{L=7X5^hW_q{Oh@GF-u=*zG8 zjtP1oMo@xR-QZrBbaexLXL;v6%a@YPLA*x=(B;LVS;-yO;>{|>K-AA-iO4+A-&_0v$M*%pf9+WZb_@yBs|t` z`CR;(TOW^W7r%3V*->z>Kaz)<2|n=I-C{orgLX2se$~sxFY1R1D$eNMDc*U>?J@r$ zTk|J?Cdmlyg&_)CrQ#lag1`^F_Vl5J{|Pczm@3_nffQvp84SyzsXx4Sz?^^%Z>~5 z)iZcZUSt^K9!Qw3wugC?sUP=Y>c}w?#R1{2x#5 zpEuX*UtqA_`UJhu^L^QI!M)r!4vq=9XW!;8co>>F0~tq}StdVmIVSGmm4!I|J1^-y z1@wVnbVx=zB+!>Wfobl3`FZn?`o|r4&kYmk^F23k7lve>?49?5d;XfGqTkT~FuwU~ z7U9l*Chb1j)pl~F4f@5@G0`vX)hpHkc`|$!=o_G41wi_QpwcZ|{P;29Prmq7#Df>; z_$$Duphuz@{M9(q#qSIHz`cC+nR8c}mqSFH@l`i}!NWA@*YtCm8HO4q*q6t(=sKHku&ul|SOag2eS&HE1Z z9a;fikeQs@z%(ODi<4@p2;XdXF6c{>$fQ+llF-^Mv+ z{495{o_Q)1WIOz<-OEw+B!pc{S8H{?;Tr@4`cU-lM~WKZJfan}WETc1qF*w9I_Rs-18=L;KCww`8+yhg zK(`?CjRSA}i65Z%9qHHqQwg9)R|E|Ldcs|$Aj!FIeF3;Vv?vBx`MQd*IEk=>B~rAeRdEjs0;Uv2 zwN3|pW)J5bHdUyIC+!>N?Js_dphu$mR0RE868+#gQ|Gw#UB27xLt};p$b9893FDtd z0w?4kNe*mf?n8!H;ID~?G)+qn!-v+EuAK}&=;zqK&%GVA^ss;D1$@9U(aigp=w}{6 zBZj2##S)W&K0%BuMMVK|56hw@VvQn?hF8Jh5}?|&E04_)Xav^! zxd|a#>;Pi-Z4nQfcm*YCZgCCzfpyKzts)70Mw3q!W4zG{Y~m8#{#58|qTcGUc1vv) zc+a?f(sT>KenZ5&K;L&nm;V<|UvHBK7}CPIZn6;&sOWbN=(~K!!GCSWprnLJP?>2$ zt|*t-dxmU?fsb4TJ@r_?rP`~_IpsKHMls|w2&9hcDo)0|`*3Lotw3MB_<==%KH-j; z0HA;t(1Sr3G^+?k(xRfgr~;2vrd5%kDL zJuizqsbF5(0K&O`+2Xt8VvPNy4UpLL7^X=D^UMf?ImJEGV@PDs70@be4x^7%Ak7R@ zqllj}7v46xk?RFxVlblh9Y4JPx03p+hq4lXMFVOQ675=)ISyz@2E@Wd-`;P4Go69QkGM;^*; zbAW-I_eI>JT?c0;%?wimiRW=O9>#|Ta1Qk-`jIih$>KM*h{H8X1E9Kmpu zPW1IIA4~R;F3!~a^gMwxnLJcJlWPnxNYVm9x#VC3Pns63$Gq~MWoPW@qv?@ zeGi3ojWgy1S1ay$D-*t?H6fJ`QV~8OGfXTpRbBL}rc@+#sGtjDo@0>tGk(^WJ|P@O z?Ri@zwDyd7IMKxqi0g5W&LKKNHb$Aynu>-`PGoF}(9`@k>c76`z}rMuu_BWVW5x)U z`6drdHj4fXCVZn+?bo)n zOLOSfn5t4u)mv~Ugl6p0FGxKjk7I92WBQqjcQfJY5M1X66Vp;VO z<75d%66jL2cx3gRpwG~3o4#S}7PA38^2Kir^lTMEv#dTEZ>7nDOr?s|Bmrw1$u!Q>nOgqIX^ZFz>km zAMl6NC3aA&4#Zd@{EA@75=jR>sGMCLzoxCo_!ljkW4Y zJ$G06su-K`O@Am;25p>o-u|w2oS9rr@itd7oM$9DUyux+IT)Ob>vV9cZyc z4xy)h;U)Go42d#brqNb`rd1jyIP;5n^$%U*Oy0zqA-Y6i8yH$o4Lqsn8B~&-*fcp( z+VVuu#|70GYXkIA8*&0~9{V(s3MNBgGMagHm5iOn0eyqc40LNOvFX0LK?B3oHV*Uw zFUP^U-V@P}J1Q{}k+?)4W`@`ejp(cqj51PG7ISEpvef8eBufp03-1lz>UBN>yz zAYcN+B%fhOxV%hL3zi}f6&Ujz%8oaUD9XfgvwPFVxl@G!c|<~K4@CRV#5ZCQ&0w13 zm{nJ$;$b6JA4!yjFh$5my|-T#;SqT1tyv+3rKwP)-=(!rz26oEDi!^UP@NYLl_>zE2boTwn$C@li&U+2j3$cd3=4=$7kk?T~tGE zcpfvz0P0B{^YDv<{4CDb$(Rje+7~?>PsT#yQtFk~4U>=i0xwsYVB>BW7?M-l8sL~Fe8l8oOa(OQ3NHh_X~a%t z#*Qtn>R~ma8}@+pO4VvJgC}0*uUWh>h-op9HlS{?3zR@(rMmq@`gyyvc_W8JP4fJprSEVwB5SpNvNw5aaj7)7FWvYORbr<-YpmTk_TO+;7 zlM3^Yyg8G+W!@A)E8}BBqtY;Lbk(IbfoiSp*jKIA&StJRA3B^NBt8ikZ$-rb>{{$Q z&y&D6gFc$4_6$5RI_Qw5VVK$N;Q*8s@E+RtCqsa`1h+qpEHY8RD2#bdRJV$ zG3Mg8&*xxGZktC^_cqW+Xz7{7hFR={Um3W3)b^x{UjuqPg15NJ)(*UdiO)TgxGH13 zO+o8pgfS?eU9xp@a<1<<45tQrHy=|l7)h?2zlox*kq4cro7QGX)nrn;ZJA(Wb7|x; zH@8O^?A)E74He0u&_{+hH2V@$X_$1cZ9|MOX`8-Ja`D?1`hd7a(5udb*VTp+5i^NP zhTOu0UQKn>V?3#VF&lLIZ_sz-FF4A-mPuE}RptDnNb)Y^ro zh?X)14P$-t7^Xi3lQRKEmL#iW_7Do-a&KaO*4IaXj^nDcNf>-#^w`s5L0c z%u>GvGpSmbluyPY_LSAy?Rk_@x0$T+W4=+0HL;QJp%{zUh`>xLo-KpJZv%bgs&)>2 zlC~jC9xax%mX!}lay|RSJn%!8*a?;jdhX8F4j-XwqXr^xboK)?YiHjjsFK)+fijc5 z;)Y4!krq9{t?vST#F79F^GVcQLbGpWp0~BTKx_FZmUT=K2MqP?SDmc=k4zpbAIUmd z`6|G?BkslX1VXOhpOmp%&EoAFLtlT`Eu56UKGe?ddC8k#bvN{(*x(+I08~05jR6zK zDw7VWOuFTco>9duuoF*UbjCc8gcE(ei>tRb`6Ke?Fce1qk-Ciiaf^ngPnb_5rH)~2 ztrWLmM5@I}mN23~!}FN=%G7yvp?U(vPakU_uBB%HguBG$5+{jf6sa<6# z9FM7{?UbgnteMQCOf7x0#3RjsKw3h9ev%o7!V%DTC=5eatN%pJ zw#~n^)|z@*>(r6EU%u@41!Z&SHvm00b;rt7f8_h#(DPe6WU-wzC9PX06$$@DAN29D z)0;30f`mf0sGy=_z zaVdTp`w5`$nP2bDr+QDxln*~=XD)s{=%Gc7wfdD$C&ZKZ)-VLl z%qHP$L~HH~Z|uo~u`~JoA1*lZFIz6(acrKY4HLe(DJuwF8)+&S2a@4$Vr<$)mD*h=Of}MYMS++JJwm;3`~9HL3@7=uA|7@rSl5rmi{BdPVOdi$p>;?3IMXoC zXohBs>P!tE-tbTKA1>JW>)j)qP^#JVb5q~(Bh^PBO<0?uF4g(S*U5Qae>7fwJ3=z6 z5A^^0K_3Zkx}_=!5=1<8}@CME~Ie zK9;P&{_Hd!%Dy#Sq?v@-cBF+cYZrw{Q$N(ot^;sB2_ z9Io$+-{1T#NC@bm9(noDYB`PZ@&>TqW@10V*SnWnpWz(v9PRH?>dV#xJ{gl~sJhMM z)khjWGV*mMOO@F_KUa6;IL|{Lm~hqLp#+lrica#uF>i6X1qpzD;x`X^Y^2%j7>0zv zhwhf2H~`axZ0v@7qOW&<;CCE%bc@Y4R!l?ICfSg;+p~+0W0zP3UiiOkWBC7B>HlM| zGtzDG=O*a8>ij_jlA@-X6#xT$VS<6oz&CKgqmtD~cs7D>w#(y7(vscdq)Zds`O&Ag=j*-XuJ4_KhXYSZHP7ZyIDt^{eUPzyfsqACxox>@WVhAFMJdB<6HqH9HpI zAk5$T#-?7oN<#S4VA4ntk75yCSuY=h0|X8q9H@-AC(V2m!(di^tsh>MkobcGco;tu ziwprWzJJ+r*q^mre$32w9Ji))t7CHOzHcc{BPA~RP#6aSnG7GTo}oaTSwU|AeL2^n z-zJwpPQe>M9|=tM{OjQ9HupRjG!28(uRj118OB$2t527+X=9gQa+CQChoZjLQXk8iry?B!!7 zd$W@>9E4LtAEm5+HQ*^CC!K$l1|WWc90W%d7x^2}TF+ZtCgL+|NPr5aS0$}l^$TTR&IjS>x?3pSij|?Y~2BViI^MibjZ8Z{g zQ4Y#X_{szTg+3*tKFM$j&Io;kob17nKuW+QQBwtQuNERu5TrsT$Pic15xR@k>QCHSCh^3( zipLfsN@@+BDr3;$9R^(W(SFX>stCVKW>te%DK<}W>m$tku?X}9^h|+`JNz$O{Ep-JnLk=5;7^4J_^mv|lpV#1 zW6YQZ_c*g2TlhF5Q>|&Up>!-V_5dns$v~NBb;b>44i0_B6|9p<_5%0@PAuap1Q04? zGM$0&ACIoe;AGCP5Lb2KBY+r>`cSDd^L>Jy1K#?G2w3xOTyZa;*Z;{#-kOZn zN7DkmV_;`Kt98@;`5K*|CnZH0Lf;8~*>Zut{nPk1JJJtn1AAD+xGz9-QPifmhw&Lx zD0=IIa=KN~8WwVXuUbP=8KZ!D1%hGzs(M_-&J6VFVYHsgfNvG<;2XrN&d3w*WECtu zbY>7{Li?u~lY$~|9ivOtC4_PuCCg=S@at8VqUD|w-oK(;g@t{eUna{pHk_V!o z5HML9Gv*E24;1U<*v?^B4Z#k9nj*5~pwk>@fxbKb9mioy^Fqg{K6Uq)h!xF&n(>X+ z3Q}omMhh8FF|=O!u!a#)w6}w#7a?f?P#>U)LIw-OIO!FVM}R(p>Os$3CEh+W7H*Kb zUWFMlwn&|cwoc-SK-ybFKA7MwNN@2!!iFG3z}xUuAd)?U*lVE= zhlTVSCQ&ob=pA+@OZdO`Cu2=F^ELo9gC!>;b0UVE(3XZ^MB<*5L}l2zC;EC9S5H)k zgS%>P&@CXw9nfcVw;mI=YoN~~j2*g>&TNv#YG45dUGa@(=DaJ6jAjFU%-iIRwZ%sy zUkH789>jyGF)n(WNfhC6UflD@XZ43O_BOOaAG}>br`bQBuXlfJpMVtsqWL5UHNlyi z&`*qVQ+MF}ALUJHH1CG^dMUSjn8F6M0} z@Hdm86Vi(Ej_jX`<&jc2G@8F!b_kJSIs}v0M|Th<`-jRvWh7qH97KC=Kc6IVMRZh z!G7?sVQ`Q3IQrMSpYJ#x{tveFP0m5!xOwPcdV!f4j0A0LwyRpmvmFCQVT{1^(8r`s zDh%&X5}Lglu~@4z5$>5+K_AKYRkvoNcdwr@56r`mMvItIVhw(Au!Kr)@Xcm=+@lj1 z6dDTRNny_NA1-+0JC2`F@tYbr2jtdsS9kFYihj(~QFXQFJ*wL^qcz{w=1BrZtYbs_M`jR41#4b-u9j(S--FK!4#7Pb zB4towsZ52wU+=uf{!t$u8rQ*-e|+~i0>Fh=4i1GU;t{t!hB;YdQwrC8nW3`uB%{$) zm}Be7<rv zp0XUwUQ5fB=70yl6N}bp@2jV~ZiM`9(1(Y*4P0-S{~Au^%^MXlC*mI2t}<`H3wkv! zct_BW48VhUFw&!cy?c4v1)^(cZ&0sSg%IfA=xyagpotpY3Vq_0$FuQ=NsAu)2#B0G zFXF*46krvVnTt)`h_kR8^xsve*HP{b7nE?(3=WcW8 z6NM-f-8DcSdlF%x5}##qRQo8jru{{V3T6@WjMLk_k--cO?{MqG^L=p7OcJlh{72!Q zC_yLK4=@>I!{M#(`#)T8L6~1(cEBI!D~~V7z~@2hewJ>^08sNn=)+aolH*yix1t}b zO*nS4ip`Rf2zc4!nBR(fSl9>ph!NU?JVJ^AieGrVA|fxJzPUKJhoM zaSX;ox+od>59rm533^g810&)|&1a>-HzvbB!cdn--;^&`zR!0YwX%=%LZ8Qw^Z2+y zEMN_aW$I1~&DgXjt1}wWnxH2DhB`T8{3aP3z8m`Rc@6Y*I~Zufjk-b^JPr)t%QI_Y zJ)Tg8skcv`MBik}K7_^&reXnJ^k{I;$KZ^QL71pdGPLeI z^x;xPJYQzx39Hrr>VWfP-kU&O`tTcOz}^lO^mvr9->7()s{j}QzzSX*3&Uf*B36`J zn~#N9hQS}41naoziHC-;VP-z2%z&vTy`I*!13Qy0buq}Hrie2tRR$ku2K{kfm#Pdi zix?>8R2q;J39FGc9-k+n595B6S3l5m_p1p^mJD{ynIAGw(Vr2iW}(fXyKFESsAvPN zjE`&7!a)%b24Q@Zfv@u}LF*6?>lW1++}6YR|BNjCaGT_o{6oouP;>S0E@n(E>`>pk zU*dE|f5tAc-694C@nC|4N-nxxC)sxf`fv<`7zg*Vod7$NI%F6oiuSG!eE6+0VDp5+ zWC$shia*TAK;-xf*t0oviep4! z?L7V-N2_4O9;jRBSZ2b+VSoq-3LFLfoJSrHqt!DcVFvn8WXJ5nj=ibOn3+7P3pH27 zSeHKh<{7Z!&ZwsuKe5(_7H`>Z68bcP z<;7#GOXgwVGfRY)-G3TG4oOrl&nE2|Nw8SZepnr-1A%5HOJj!4K|tIKlgT=xOhXlb zGW0>FI{b{xd~DVXP!!IiRY)yTf=FgYc|i|~N@TWTuqmzv1KGVA=hXBA0VkEj2(IE` zRcv?!=AjQCv=91auk4uZ*b%b~GlPI=38PHo!;g9-6@Fw2B_U*K^YCqzP?*7>BCJCD zu{PgJT5F5mQ{UdhI&dYtq8SyRPw#XoZ&od6+1brCPEN=AsGTG#Z z1J3nE=*vYBv0k!KJn|#qFy=kl2Z=>Pw94sd`1q1W_`d)DhT0YRXsV)4-; zJx=b8ZvdDAdzMO%k%L6YB6#HNZ{^b9uE4t$cz5){pLcuk<&PXkA2PiU*wKf8Q+nZG z{yVRnVEl5+__`P;70B;BWD4j{_lxE~19R-)YY;rLSHa_zoevExdxV|s&m`Mkx&j}J zzL!N~L@*rE>)v) zNO1ZQFr&==T?Wq;2|D*Ei+JYV(gfvFUzvk>iL6$CMK;3hMn3EYCg!gM*-oEafqO?E zGa;i7d0ANJp3{Tf;}UsLIy19NGVBNQkFV%cy%4#LOaTvU!15ayJYfC>#||%;eF?xX zSFR;sQ2w5gl8PbJAb(GUHL8{$Qh{%bK7Z#7?>zNP3;Wk$ds!vBR@v2nK@f>mrfUTM ztt-deo?}Qb9|$z8!5AdRT?+$9JOs~AMCRV|@5pizKZ#%hn81=UM|n&WnXBs5NZdcj z=zAuK+%HAsEZo)LzvsP~y8?#_+&=nz-Zt;SF97>O{IF-H4TArkbWrY&aN^?jfk4|D zyyP60(~R6rkno6vBe26im9}lH!Nbq&;`HhkY;Q_ArIlS}j zpW|nS);y{L_l`dLJ({SqMnTRS@>!^#yxt}cdjhS`#a&CYQ*&=M^$ zM%Fy9sw2QjQ(8=5_J92B4ufkR3#6&LkZ`R0*X2~~x=BS68w{Cygb_lE#!(H(IT5LX ztjsTEnXLozj{GH01D;TUzdrg>WL~?=2VD1DDa7O~%xrI&AIRyckON~zu__(_@zaA2 zB94x}im5Ve0V9LwyEx_Q=!1l-Y8Y8}77d0}55UeOwh^!*V5U~)=a5&BI{{xt0)r%` zgFeA0wpVix73-na}5}z3pS9!SV5|W)9C2s-2wV|79tTVxy8@{IFXXfTXjK>nfw$@!^ndYa zqtOv8WY)_*I!BvMBvaS`+tk$xeLRAv4G&HOw$u42jEl;4ma&R2BEgsLpydk9OE%1% z8<>DMfMv{Pp~pER^qG5784QGmp}>_32J{1uB=GpX$Q{6d843bhMkRzgMHpax>q3r~ZwvO3JHB#^Uo{Dg;~(~god}`Kb8m7rjH3iI3y=UdJgAsde3u!v z)5I458=oCc^k|@ha5p-1&D)f1ja&>@Q~G*9fl5J zNjS0q1FJkkDF_}sI~cQobHMbmD^M$N@92ZsC+%~sj=m@3QF6N@orOME0*p;%ZMP3% z)7O%aE7GS8ohOjvi+((Kkp~kD6Y2p!Tgx&l;yr*h-3J_vb-zH0Wb zR#->zLLxM;D=%M64WnAoHTCLUSuZvww05*4DCu7o0(xR&9r!T^xm=QPHRlpS4M7?P zyFZ-R@lH)rkeDb032ZmYstJymd(c7%ZM}*NhDgkM$BADsEUcsgFGH?ODm!{G%S2)l zrwOKouE4GWwB(JWkGJO=<~6!@em~X^w0fi?=(4QZ>;s-7-4vzK)?m1zCBe*B6^5+q z5OU0XlLQ_F^t%aA3Gt}k2pn0=8Fv3R$6ig8;g1P|vZD|0l;Yss;Ngb^B>T)?HPV77 z(r@=hCSFvl!Th*!tKNNCkK*H;z7NnL;d^h&Snq zyFV0Qg8_0DUI^Z&?$ARcKLXw4agIR^eWzfk35*VM&gdojrJ!wi@TkW5lV&8mrFm64 zF|xy{42jFAFiDy**IjJIa|DU&8D9;xmG*!HAd=}PGnEfd1g?ZZ#V1%|08=FsMDPoS z0YMV3AYlmxuOY_@M&^o?jq2cZuZD=ugs|3c^J z!>vps$~gu-#t`s~ ziAJ!@RAyP6U`%02$W{Cbt5ihGEel%`=SmXvF7v|Bz)+fgOmdaTTj&bR72s)oWAx#O z7t8V`^Ee0B=+W>>ecQwH_K}Nmm(cdVGE8&_KMMxCsm7oS_4ZEY9!jkARZW&M$eJcp zOwRmtr(EF_D1@#_2K` zka21XGusd_0P0*})r(i$Viod)8l^Qy5AsU2lTiy#t^jZN`sm|z*=0UIb{^`vdNzyA zRgu_o^sVw-GtGR@Tp_RkxRimhD$fMvyEtEQCYK7-}wTi8L4^(F@@CQs9=a;s32WYBBUvN zt1uwABe>{&p0QJr9VO&oD$fQgM;IObth-Q`uVX3hXMtYq>J|cxF5>N1t8hXyU#3AQ9>#2k*-SoR^#! zxI)HtoiI77bjOQ}TTC#t0j1@bK1KExKpY_ij{u-vaWsC&O~+l=VXh`S+1zoV7lVNT z!izjh2HlyLoXY_83&RjUdEuR1a(M)^Q$udK0^k+o9G3wD$fwlN5(Y!~4VXPyz>rr2 z3FWh}NjUptoqI zJiwM&V2hzy)IU85V}1YzgNe5UQ(YK2n#AJ+L&Fv6uvdJ`U4dN%cq-RNUs{Y8?jy{r zcEV)OAVPx`umqqC0}s{K%hf@!BYfvD&=GbnJhYYW*bP8%+D&DR0Y^g^@Ep9qyuv&a zV_<%18-NU$vn+K|AT^ZKd>Lo(+%8Lsp@Y5denE<3_3&jDU=mUUU4TJj@pCl@(i&&1 z`~=kzu;l~51q&AdmXTN``K?ky0OYg=A!SozC(d_y2p$Fu-4(*g?T(Nu z%kq{}3&;*_7?xhV)di_7F*PjxfwEbOmY!ct00M zA8#y8t-xdRF%SCrh!?;t1pzPH$2jrp^Tr%QcLZ+fSr)fZ27|!DU6wp`PcRoFsdd}Q zP_gi`1H9B@ZeXU6L=HjX&XQvIlD`7@qXFC00g?kl0y{)f$%9Wi2FZSrp|Z^~kyD&- z&Vbf*1r8P9SzZ}^FxZ2e)rD0EAa3N^yqu|1L*X-0?({KkG^Mq_s+U2@bC)s=zI7B==8e+&#XX?zGr^- z&blk`@Cx+kd-wzB^t%GjtU!;xXMXq2x-0PT3cMVB7yqwbGi=tR)Q2lD^X;q&)lSf) z?iD!`4w~UuZIQ3so-qSqjKkrC=~C% c #4B669B", -", c #000000", -"' c #9A3302", -") c #FF8200", -"! c #192B56", -"~ c #5671A4", -"{ c #00BDFE", -"] c #617CAD", -"^ c #0171D9", -"/ c #0360B9", -"( c #02A4F2", -"_ c #6A382C", -": c #574651", -"< c #0D82B9", -"[ c #E16D0A", -"} c #3B3953", -"| c #BB6B24", -"1 c #94613B", -"2 c #73615B", -",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", -",==&&&&&&&&&&&&&&&&&&&&&&&&&&&&&=&&&&***&&&&&&&&&*--+&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&=*=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*+-;>>>>;>;;-%%%*=&&&&&&&&&&&&*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&-;;;;;;;;;;;;;;;;-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-;;-;-;;;-;;-;;;-;;;;;;;;;;=!,", -",&++++++++++++++++++++++++++++++++++-]]>+++++++++;]]>-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--;>~~~]]]]~~~~~~>~>>>>>>-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-&&,", -",&+++++++++++++++++++++++++++++++++-~]];-%++++++-~]~;-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;-+++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->]]~]]~]~~~~>>>~>~~>~~~~~>>>;--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->>~~~~>~~>~~>~~~~~~~~~~>~~~~~~~~~~~~~~~~~~~~~~>~~>~~~~~~~~~~~~~~~~~>~~~>~~~~~;+!&,", -",&+++++++++++++++++++++++++++++++++;~~~--%++++++;~~>;+%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-]~>+%+++++++++++>~>-++++++++++++++++++++++++++++++-->>>~>>;--++++++++++++++++++++++++++++++++++++++++++++++++->]]]]~~~~~>>>;;;;;>;;>>>>>~>>>>>>;--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>>>;>>>>>>>>>>>;>>;>>;>>;>>;>;>;>;>;>>;>>;>>;>>>>>>>>;>>>>>;>>>>>>>>>>>>>>>>;-*=&,", -",&++++++++++++++++++++++++++++++++--~>>--%*++++-;>>;;-%&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>]]>-%%+++++++++-~]~;+%++++++++++++++++++++++++++>~~]]]~~~~~>>;-+++++++++++++++++++++++++++++++++++++++++++++-]]]]~~>>>;;--+++++++----;;>;>>>>>>>>>--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;;;-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+--+--+--+--+-+-+-+--++-+--+-+-+-+-+-+-+-+--+%!&,", -",&+++++++++%%++++++++++++++%+++++++;>>;-+%&++++--;>;-+%&+++++++++++++++++++++++++%+%+++++++++++++++++++++++++++++++++++++-~~~;-%*+++++++++>]~>-+*++++++++++++++++++++++-+>]]]]]~~>>>>>~>>>;-++++++++++++++++++++++++++++++++++++++++++~]]]~~>---+++++++++++++++++++++-;;>>>>>>;;-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>>-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--*!&,", -",&++++++------+--+---+-----------+->>>;-++%----;>>;;--%*+---+-------+-----+-+--+------+--++++++++++++++++++++++++++++++++;>>>--%&++++++++->>>>-+&%+++++++++++++++++++++-~]]]]>-++%%%++-;>>>;-++++++++++++++++++++++++++++++++++++++--~]]]~;;--++++++++++++++++++++++++---;;>;>>>;;-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--;>-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+%=&,", -",&+++-~]~~~~~~~~~~~~~~~~~~~~~~~~~~]]~>;;;-;~~~~~]]>;;--;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;+++++++++++++++++++++++++++++->>;;+%!++++++++-;>>;++&*++++++++++++++++++++;]]]~-+%&&!====&%%+-;;>-+++++++++++++++++++++++++++++++++++->~]]]~>-+++--++++++++++++++++++++++-+%%+--;;>>>;;;-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+%!&,", -",&+++>~]~~~~~~~~~~~>~~~~~~~~~~~~~~]~~>--;;~~~~~~~~>-;;;~~~~~~~~~~~~~~~>~>~~~~~>~~~~>~>~~~~~>+%+++++++++++++++++++++++++++;>;;-+%=%+++++++-;>;--+&&+++++++++++++++++++;]]]>+%=!!!!!!=!!!&*%+;;;-++++++++++++++++++++++++++++-;;;;~~]]]]~>+*&&+---+++++++++++++++++++++-%&&**+---;>>>>;;-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->;-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--*!*,", -",&++-->>>;>;>;>;>;>>>>;>;>;>;>;>;>>>>;;;;;;>;>;>>;>-;;;>>;>;>>;>;>;>;>>>>>>>;>>>>;>>>>>;>>>+%&+++++++++++++++++++++++++++-;;;;+%!%++++++++;>>--%&&++++++++++++++++++;]]~;%&!!!&%+++++%&=!*%+--;-+++++++++++++++++++++++++-~]]~~~]]]~~>-+*&!!%-;-++++++++++++++++++++-+*!!=**%++--;;;>>;;--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;>-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+*!&,", -",&++++--++++++++++%+%%++%++%++%++%++---;-+-++++-+--;---++++%+%+%+%+%+%%%%+%%+%%+%+%+%+%+%+%%*!+++++++++++++++++++++++++++;;>;-+%!%+++++++-;;;--+&&+++++++++++++++++-~]~;%!!!&+++++++++++*!&%+--;+%%+++++++++++++++++++++;]]]~~~~~~~>--*&!!!**+---+++++++++++++++++++-%=!*&!==**++--;;>>;;;;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--*=&,", -",&++%***&&&&==*=&&=&&&&&&&&&&&&&&&*%--;-+%*&&&&**---;+%*&&&&&&&&&&&&&&&&&=&&&&&&&&&&&&&&&&&!!=+++++++++++++++++++++++++++-;>;-+*=+++++++++;;>-+%=&+++++++++++++++++~~~-%!!=++++++++++++++%&&%----%%++++++++++++++++++++-~]]~~>>>>>--+*=!!&++*+--;++++++++++++++++++-+&!=+++*=!=*%%+--;>>>>;;-+++++++++++++++++++++++++++++++++++++++++++++++++++++++%--;>-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+*!&,", -",&+++=!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*-;--+*!!!!!!*-;--+*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%+++++++++++++++++++++++++++->;;--*!++++++++-;>;--+&&++++++++++++++++;~~>%!!=+++++++++++++++++*&+--;-%%++++++++++++++++++;]]~~;-------%*=!!*++++*+---++++++++++++++++-+*&!%+++++%=!!**%+-;;>>>;;;++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;++++++++++++++%+-+-++++++-----+++++++++++++++++++++++++++++++++++++++++++-+%!&,", -",&++++*&====&=====&===============&;;>;--%!====!->>;--%========&=====&===&=================*+++++++++++++++++++++++++++-+-;>;-+%!%+++++++-->;-+%&&++++++++++++++++~~>+&!=+++++++++++++++++++**+---+%+++++++++++++++++-~]]~-+*++--+%&!!&++++++*%+---++++++++++++++-+*&!=+++++++++*=!*--;+-;;>;>;;+++++++++++++++++++++++++++++++++++++++++++++++++++++-->;;+++++++++++++---++----++-+%%++---++++++++++++++++++++++++++++++++++++++++--*!&,", -",&+++++++++++++++++++++++++++++++++->;;-+%&++++%-;>-;+*&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>;-+%=%+++++++-;;>--%&&+++++++++++++++-~~-%!!+++++++++++++++++++++*%---+*%+++++++++++++++-~~]>-+*&!*--+&!!*++++++++**++--++%+%+%+%%+--%*=!!%+++++++++++%+;>;+++-;;>;;;-+++++++++++++++++++++++++++++++++++++%++++++++++++++-;>-++++++++++++-++***%++----*&&&*+--+++++++++++++++----++++++++++++++++-+-++-+*=&,", -",&++++++++++++++++++++++++++++++++%->;;-+*=+++++-;;;-+%=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;-+*!%+++++++-;>;--+=&+++++++++++++++>~>+&!%+++++++++++++++++++++%%---+%*+++++++++++++++->~~;-*!!!&+--*&-----+-++++!*++------+-+---%*&!!=++++++++++++-~]~~;++---;>;>;;;++++++++++++++++++++++++++++++++++++-++++++++++++++->;;++++++-----+-+&=!!=**---+*!!!=+---+++++---++++-+%++--++++-+---+++-+-+++---++!&,", -",&++++++++++++++++++++++++++++++++++-;;-%&&++++++-;;+%&=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;>;--*=%++++++++;>;--%&&++++++++++++++->~-%!!+++++++++++++++++++++++%+-;-%&+++++++++++++++-;>;--&!*+*-;-->~~~~>~>;--++&&*%%++-+--++%%&=!!&+++++++++++->]]]~>--++++--;;>;;;-++++++++++++++++++++++++++++++++++++++++++++++++--;>-++++-++%%+---+*!&!=!*--;-%&*%&%+---+++-%++--+-+%&&%%--++-+++++--+-+%%*%+--+%!*,", -",&+++++++++++++++++++++++++++++++++%---+*=&+++++*+--+*!&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>;-+%!%+++++++-;;>--%&&++++++++++++++->>-*!%+++++++++++++++++++++++%----+&%++++++++++++++-;>>--+*%+;>>;>>~~~~~~~>>>--+&===********=!!!!%++++++++++->]]]]~>;-+%**%+---;;>;;--+++++++++++++++++++++++++++++++++++++++++++++++;>;;+++-+%&==*+---+&%++%%-;---+*+%*++---+-+**++---+*!!&*-;--+&=&&+---+*!=!&%--+*!&,", -",&+++++++++++++++++++++++++++++++++*%++*=!%+++++**%*&!!%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;-+%=%+++++++-;;;--%&&++++++++++++-+->>+&!++++++++++++++++++++++++++-;-+*&++++++++++++++-->;-;--;~]~~>;>>>>>>~>>>>>>;-%&!!!=!!==!!!=%+++++++++-;~]]]]~~;;-+%&!!*%+---;;>;>;-++++++++++++++++++++++++++++++++++++++++++++++-;>-+++-%&!!!&-;;--%*+++%+-;;-+*++%=&%--;+*!!&++---%&*=%--;-+&!!=+-;-+*!!!&%+-+*=&,", -",&+++++++++++++++++++++++++++++++++*=&&!!&+++++++!==!!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;;;;+%!+++++++++;>>--+=&++++++++++++++;>;%*!+++++++++++->--+++++++++++;;-+*&++++++++++++++-;;;--;;>~]~~---------;;>>>>>>;;--%&*==!=&+%%++++++->~]]]]]~>>;-+%*=!!*!&*%----;;;;-=+++++++++++++++++++++++++++++++++++++++++++%-->;;++-%&!!%+%+--;-+*%+++%--;--+&++*&%-;--%&&=*+-;--+*%%--;-+%&*%--;--%*%+%*%-+%!&,", -",&++++++++++++++++++++++++++++++++++=!!!=%+++++++%!!!&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->>;-+%!%+++++++-;;;--+&&++++++++++++++;>;+&!++++++++++-]~>-+++++++++++-;;+&&+++++++++++++++->;--;>>~~>;--++*%++----;>>>>>>>>>>;;;;------;>>~~]]]]~~~>>;-+%*&!!!%++&=*++--+;--*!++++++++++++++++++++++++++++++++++++++++++++-->;;+-%*=!*++%+--;--**+++%+-;--+&+++++-;;-+*&+*+-;--+*%%+--;-+%%%%--;--%*++%&%+%!*,", -",&+++++++++++++++++++++++++++++++++++%&*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;;;-+*=%+++++++-;;>-+%&&++++++++++++++->-%&=++++++++++>~~>-*%++++++++-->-+*!+++++++++++++++----++-;;;-++*&&=&&**%++---;;>>>~>~~~~~~~~~~]~]]~]~]~~~>;;++%*=!!!&+++++%=*%+----+%!+++++++++++++++++++++++++++++++++++++++++++++-;>--%*!!&++++%-;;--+&++++-;;;-+**++++;;;--+&+%+-;;-+**+%-;;--%&+%+-;--+*%++**+*!&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;>;-+%!+++++++++;>;--%=&++++++++++++++-;;+&&+++++++++-;>>-+&%+++++++++;>;+*&+++++++++++++++*+-------+%*&!!!!!!!!***++---;;>>>>>>>~>>~~~]~~~~~~>>;;--%%&=!!!&++++++++%=*%%+--+*!++++++++++++++++++++++++++++++++++++++++++++--;>-%*!!&+++++%-;;;-+**+++-;;;--*&++++-;;;-+&*++->;-++&++-;;--+&+%+-;;-+%*+++&%*=&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;;+*=%+++++++-;;>--%&&++++++++++++++-;;+*=+++++++++++-++%!%++++++++->>-%&!+++++++++++++++**%*++++**&!!!=*+++*&!!!&**%++---;;;>>>>>>>>>>>;>;;;--++*&!!!!*++++++++++++==*%++%&!+++++++++++++++++++++++++++++++++++++++++++++->;+*!!*+++++++-;;;-+*&+++-;;;--*=+++-;>;--+*&++;;;--+&++-;;;-+%&++;;;--+&++++&*!&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>;-+%!+++++++++;;;--%&&++++++++++++++-;;+%=++++++++++%**&!!+++++++++->>-%=&++++++++++++++++&!=&&&==!!!&++++++++++&!!&&**%%+-----------;--;+--++**==!!=*+++++++++++++++*=&*%%==++++++++++++++++++++++++++++++++++++++++++++-->-*=!&+++++++-;>;;-+*&++->>>;--%=%++;~>>--+&&+--;;;-+*&+-;;;-+*&++-;;;-+&%%+++&!&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;;+*=%+++++++-;>>--%&&+++++++++++++++-;-%&%++++++++++=!!=%++++++++-;>>-%=&+++++++++++++++++%=!!!!!!*++++++++++++++*=!!==&*%++%+++----++__::}&=!!!!&%++++++++++++++++++%==*=!&+++++++++++++++++++++++++++++++++++++++++++++--+&!&++++++++->~>--+*=++;>~>--+*!%+->~>;--*&&+->>>--%&&+>>>;-+%&+--;;--+&*+++++!&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;>;-+%!++++++++-->;--+=&+++++++++++++++---+%*+++++++++++++++++++++++->~;-&!%++++++++++++++++++++%%%++++++++++++++++++++*&=!!=&&***%%%%**_''''''___}}+++++%+++++++++%++++++*=!=%+++++++++++++++++++++++++++++++++++++++++++++%%&!!%+++++++->>>>-++&!++>~>>-+%*!++;~~>--+*!&->~>;--%&&;~>>--+*!+->>>--+&&++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>;-+%!%+++++++-;;>-+%&&++++++++++++++%----%*+++++++++++++++++++++++;~~-%&!+++++++++++++++++++++++++++++++++++++++++++++++%*=!!!====&==!_'''''''''''''_::%++++-++++-+++++++%*+++++++++++++++++++++++++++++++++++++++++++++++%!!!%++++++++->~>;-+*=&+-~~>;-+&!!+-~~>>-+*!!+->~>;-%%&&>~>;-+%*!+>~>;--+&=++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;--*=%+++++++-->;;-+&&+++++++++++++++%-;--%%+++++++++++++++++++++-~~>-%!=++++++++++++++++++++++++++++++++++++++++++++++++++%%&==!!!!!!}'''@'@''''''''''''':_}+++++++++++++++++++++++++++++%+++++++++++++++++++++++++++++++++*++++++++++>~~>--%=!*+~~~>;+%=!%+;~~>;-*&!*+>~>>-+%=!+~~>;-%*!=->~>;-+%=&++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>;-+%!%+++++++-;;>-+%&&+++++++++++++++%+---+%++++++++++++++++++++-~~~;%&!*+++++++++++++++++++++++++++++++++++++++++-+++++++++%+%%%%*&*%%'''@@@@@@@'@''''''''''''__:}%++++-++++++++%+++++++%-%++++++++-+++++++++++++++++++++++++++++++++-~~>>-%*!=+;~~>;-+&!&+-~~>>-+*=!+;~~>>-%*!&>~~>-+%!!+>~~>--%&!&++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+->;;--*=%+++++++-->;;-%=&++++++++++++++++%+-;--%+++++++++++++++++++>]~>-%!!+++++++++++++++++++++++++++++++++++++++++++++++++%++%%%%%%%*%*%_''@@@@@@@@@@@@@@'''''''''''''__:}++-+-+++-%++++%++++-%+++++++++++++++++++++++++++++++++++++++->~~>--*=!%-~~~>-+%=!++>~~>;-%&!*->~~>-+%=!-~~>;-%&!*-~~~;-+&!!+++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--;>;-+%!%++++++%-;>;--%&&++++++++++++++++*++----+++++++++++++++++-~]~~-%!!%++++++++++++++++++++++++++++++++++++++++++++++++%++%%%%%%%%%*%*:''@@@@@@@@@@@@@@@@@@@'@''''''''''''__:}-++%+++%-++++%+++++++++++++++++++++++++++++++++++++++%;~~>>-+*!&+>~~>;-+&!*+;~~~;-+*==+;~~>;-+&!*~~~>-+*=!+>~~>--%=!%+++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;--*=%+++++++-->;--+=&+++++++++++++++++*%------++++++++++++++;~]]~;%&!=+++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%%%********'''@@@@@@@@@@@@@@@@@@@@@@@@@'''''''''''''_::*++++++++-%+++++++++++++++++++++++++++++++++++++-~~~>-+%=!%->~~;-+%=!%+>~~>--*&!*-~~~>-+%==;~~>--+&!*;~~>;-+&!&++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;;;-+%!%+++++++-;;>-+%&&+++++++++++++++++**%--;;;--++++++++++-~]]]~;%&!!++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%*%%%******_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''''''''''''_:%++++++++++++++++++++++++++++++++++++++++++-~~>;-+*!=+->>>;-%&!&++;>>;-+*!!+>~~>;-%&=&~~~>-+*==+~~~>--%=!%++++++++&,", -",&++++++++++++++++++++++++++++++++++--+++++++++++++++++-+++++++++++++++++++++++++++++-++++++++++++++++++++++++++++++++++-->>;--*=%+++++++-->;;-%&&++++++++++++++++++*&%+-;;>;;;---+-->~]]]]~-%&!!%+++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%*******&*_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''''''''_-+++++++++++++++++++++++++++++++++++++++++;>>>-+*=!%+-;>;-+*=!%++->;;-%=!*+;~>>-+*=!->>>--%&!&;~~>;-+*!=+++++++++&,", -",&+++++++++++++++++++++++++++++++%->~>;+++++++++++++->~~>+++++++++++-~~>;+++++++++++;~;-+++++++++++++-+++++++++++++++++++-;;;-+%!%+++++++-;>;--+=&+++++++++++++++++++*&%+-;;>>>~>>~~~]]]]~;-*&!!*+++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%*%****&**&&'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''}+++++++++++++++++++++++++++++++++++++++++-;;;-+&!&+++-;;-+*=*++++----%&&++;;>-+%&!&->>;-+*!!+;>>>-+%=!%+++++++++&,", -",&+++++++++++++++-;-+++++++++++++-~]]~>--++++++++++;]]]];+%++++++++-~]~>>-%++++++++-~~>;-+++++++++>~~~>++++++++++++++++++-;>;-+*=%+++++++-;;>--%=*++++++++++++++++++++&=*%%-;>>>~~~~]~~~;-%*=!!%+++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%*%****&*&&&&_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++++++++++++++++%%++++++++++++%--;-+*=+++%+-;--%*%+++%+;;--+*%+-;;;-*&=%-;;;-+&!%+;>>;-%&!=++++++++++&,", -",&++++++++++++++>]]>-%++++++++++-]]]~>>;;+%+++++++;]]]~>;++++++++++>~]~>;-++++++++->]]>;-+++++++-~]]]~;-+++++++++++++++++%;;;-+&!+++++++++-;;-+%=&+++++++++++++++++++++%!&%%++-;;>>>;;-+%*=!!!++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%******&&&&&_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++++++++++++++++++++++++%-++++++%+++++*--;--+**+++++-;;-+*+++%+-;;-+%*+%--;-+*&+%+-;-+%&%%-;;--%&!+++++++++++&,", -",&++++++++++++-~]]]>-%+++++++++;~]]~>;;;;+*++++++;]]~~>;;-;++++++-~]]>>;;;-+%+++++;~~>>;;-%%++++>]]]~>>;-%++++++++++++++++----*=!+++++++++--;-+*!*+++++++++++++++++++++++=!=&**%%%+%%**&=!!!*++++++++++++++++++++++++++-++++++++++++++++++++++++++++%%%%%*%***&&*&&=&}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':%+++++++++++++++++++++++++++%++++++++++++%--;--+*+++%-;;--+%*++++-;;--+*+%+-;;-+*%++-;;--%*+%--;-+%&+++++++++++&,", -",&+++++++++++-~]]]>;-+%%+++++++>]]>>-+-;;-%*++++>]]~>;-+;;;--%+++;]]~>;+;;--+++++;]]~>--;-%*+++;>~>>>;;;-+*+++++++++++++++%++*&!&+++++++++++-+*=!+++++++++++++++++++++++++%&!!==&=====!!!=&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&*&&&&&&}_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_-+++++++++++++++++++++++%++%-+-++-++-++++%-;;;-+*%++++-;;--%*+++%+;;;-+*%%+-;;--%&+%--;--+*+%+-;;-+*%++++++++++&,", -",&++++++++++;]]]~>;;;--+++++++>~~~>---+;---%+++~]]]>>---;;;;-+%+;]~~>;+++;;;-+++>]]~>;+-;-+%++-~]~>;++-;--+%++++++++++++++&&&=!!++++++++++**+&!!&++++++++++++++++++++++++++++*&!!!!!!!=&%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%****&&&&====_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%+++++++++++++++++++%+%+++%%%}:_:}-+%++++++-;;-+**++++-;;--+*%+++-;;;--%*+%--;;-+**%-;;;-+%*++--;--+&++++++++++*,", -",&++++++++->]]]~>;+-;;;;-%+++>]]>>--+++-;--+%-~]]]>;-+%++;;;---;~]]>-+----;;;;-~]]]>;+++---+->]]]>>++++-;--+%+++++++++++++%&!!=++++++++++++&!!!=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&=&===}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+++++++++++++++%+++++++%+%-%''''''__::*++-;;;;-+*%+++->;;--%*+++-;;-;-+%%%-;;;--**++-;;--%*+%-;;--+*%+++++++++&,", -",&++++++++~]]]~;-----;;;;+%-~]]]>;+%***+-;;;;>]~~>;+%&=*%+-;;;;~]~>;--+++--;;;>]]~>>------;;>]]]>>-+-+++;;-+*+++++++++++++++++++++++++++++++***+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%****&*&=&====='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''-+++++++++++++++%++%%+%%%%*'''''''''''''__:2;-;-%%+++;;;-;-+%%+++;>;---+%%-;;;--+*++;;;;-+%%%--;;--%*+++++++++&,", -",&+++++++>]]~>;-%%%%--;;--;]]]]>;-+*!==*+;;;;~]~>;-+&!!=*++-;;>>]~;+-+*&*+-;;;>~~>;-++%+--;>>~~>>--++----;-+*%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%%**&&&&&====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}+++++++++++++%++%++%%%%%%_'''@@'@''''''''''''_::}+++->;--;-+&++-;;;+;;+*&-;;;;--+%+;;;---+*%-;;;;-+*+++++++++&,", -",&++++++;~]~>;-%&=&*%--;;;>]]~>;-%&!!==*--;;>>>>--+%=!**=*+--;;>;;--+*!!=%+-;;;>;--+%&&*+-;;>>>;--%%*%+-----%&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%****&*&&}&====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_++%+++++++++%++%+*++*%%*_'''@@@@@@@@@@'''''''''''''_2:;----+=%+-;>;+--+*&-;;;-;-++;>>;-;--%*-;>----+*%+++++++&,", -",&+++++-~]~>;-+*!!!=&%--;>>>>>--+*=!*++*+--;-;;+;+%=!=++%=%+-----%+-+&!&&*+----+%-%%=!!=%+;-+++-+%&!=&%+--;-%*%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&&====='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%-+++++++++++%+%%%%*%%%:'''@@@@@@@@@@@@@@@@@'''''''''''''_:}=%+>>>;+-+*==;;;;+---;]]>>+---%&+;;;-;-+%%+++++++&,", -",&+++++;>~>;-+%&=*+*=%--;;;>;-++&!!=++++%+----+-+%&!=%++++&%+---+--+*=!++&%++-----*=!!%&%+---+-+%&!!=!*%----+**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%*%**&*&&======!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+%+++++++%%%%%*+*+*%*}'''@@@@@@@@@@@@@@@@@@@@@@@'''''''''''''_12;--%&=!=;>>;%-;;>]~>-++-+*=-;;;+---*&+++++++&,", -",&+++++-;>;-+*=!!%+%%%+---+++-%&!!&+++++&&%++-+%*=!!*+++++*&%++-+-%&=!&%++&**+++%+=!=%++**+----+&!!%++&*+---+*&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%****&&&&====}}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_%-++++++%++%+%+%%****'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@''''''''''''__}}-~~>;+-;;>>>;++-%*==->>;+--%*=+++++++&,", -",&+++++%-+-+*&!=%++++%%++----%%!!*+++++++&&*%%*&=!!*+++++++*=&****==!!+++%%=!=*-*=!!++++%&*%++%%=!%++++**%+%*=&++++++++++++++++++++++++++++++++++++++;-;;-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%***&&&=&====!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+%+++++++%%%%*%***%*'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''''''''''_1::-++-;-+++-+*!!*>~>;-++&==+++++++&,", -",&+++++%%%*&=!!+++++++&&%%-+%&!!*+++++++++====!!!=++++++++++*====!!!=++%++++*<({{;+++++++++++++++->>~>>--+++++++++++++++-;>>~>-++++++++++++++++++++++++++++++++++++++++++++++++%+*%*&*&&&&======_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++%%%%+*%*%***'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''''''''''__2:++-+*=!*>~~>--+&!!*+++++++&,", -",&++++++&!=!!=+++++++++&&&*&=!!=+++++++++++%=!==*+++++++++++++*==!&%%+%+++-<{{{{{(+++++++++&!!!!!%+++++++&!!!=+++++++++++++++++++++-%++++++++++++;]]]]~~>>>;-+++++++++++-~]]]]~~>;-++++++++++++->~]]]~~>;-+++++++++++++++++++++++++++++++++++++++++++++%%%%*%**&*&=&====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''-++++%+%%%%******_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''''''''':;+%=!&;~~~;-+*!!*++++++++&,", -",&+++++++%*=%+++++++++++&==!!!%++++++++++++++++++++++++++++++%+%%-%+%++--<{{{{{{{{<+++++++++%%%%+++++++++++*++++++++++++++++++++++++++++++++++++~]]~~>;>;>;>--+++++++++;]]]]~~~~>;>-%++++++++++~]]]]~~>>>>-+++++++++++++++++++++++++++++++++++++++++++++%%+*%***&&&&====}!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}%++++%%%%****&*_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@''''_+%=!=+~~~>-+%!!*+++++++++&,", -",&+++++++++++++++++++++++%&&*++++++++++++++++++++++++++++%+++%%+%%%%%%-<{{{{{($${{(++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;~]~>-+%++-;;;-%%++++++>]]]>>>;;;>>;--%+++++++-~]]~~>;;>;>;--++++++++++++++++++++++++++++++++++++++++++++%%%**%**&*&&=&====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_-%+%%%%%*%****}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_+&!!+>~~~;+*=!=++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%++%**%-({{{{{($$$$({{-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->]>>+**&*%+--;+%%+++++-~]~>-+++++-;;;-%+++++++>~]~>-++++-;;;-*%+++++++++++++++++++++++++++++++++++++++++++%%+*%*&*&&&=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++%%%%%%***&*}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_-*=!%->~>;+%=!=+++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++%++%%%+*%%<({{{{{($$$$$$({{(+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>~>-*=!!!!*+---%&+++++>~~>+%&&&*%%--;+%%+++++-~~~>+*&&**%--;+%*+++++++++++++++++++++++++++++++++++++++++++%%%*%***&&&&=====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+%%%%*%**&*&'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_;+%!&+->~>--*!=++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++%+%++%%%%**<({{{{(($$$$$$$$${{{-%++++++++++++++++++++++++++++++++++++++++++%+++++++++++++>>~-%&!!!!!&%---%&%+++-~~>+%!!!!!=*+---%*+++++;~>~+%=!!!=*+---+*+++++++++++++++++++++++++++++++++++++++++++%%%+***&&*&=&====!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_%%%%*%****&'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''';-+*=%+-;>>-+*!%++++++++++++*,", -",*+++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%%%+<{{{{{{$$$$$$$$$$$$({{<-%++++++++++++++++++++++++++++++++++++++++++++++++++++++->~>+*!!+++%=+;;-%&%+++-~>;%&!!&%&!&%-;-%&++++->>~-+&!&*&==%---%=+++++++++++++++++++++++++++++++++++++++++++%+%**%**&&&&======_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+%*%****&&_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_--;+%&*+-;;;-+&!+++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++%%+%%%%+%%-<{{{{{($$$$$$$$$$$$$$${{(-++++++++++++++++++++++++++++++++++++++++++++++++++++++-;~~;%=!*+++++-;>-+&*+++>~>+*!!*+++%&+;;-%&++++->~>+*!=++++&+;;-%&%+++++++++++++++++-+++++++++++++++++++++++++%%+*%***&&&=&===!}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_%%%***&&_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}%-;-+%*++--;-+%=+++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++%++%%+%**-<{{{{{($$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++++++++++++++++++++++++++++++++++->>-+&&++++++-;;-+&*++-~>;%=!!+++++%-;;-%&++++;~~;%=!++++++-;;-+&*+++++++++++++++++++++++++++++++++++++++++++%%+*****&&&&&====='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_%%%*&*&:'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''**%----+%%%%+-;-+*%++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++%+%%%%+*%-({{{{{($$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++++++++++++++++++++++++++++++++++--;;-+&*++++++-;>-+&*++->>-+=!%+++++-+;>-+&%++-;>>-%&*++++++-;>-%&*++++++++++++++++++++++++++++++++++++++++++++%*+*%*&*&&&}====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}*****}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':%%*+--;--%%*+----+%++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++%%%%%%**;({{{{{($$$$$$$$$$$$$$$$$$$$$$({{-++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>-%**++++++->;-+*&++-;>-%&!%++++++->;-+**++--;>-+&%++++++->;-+**++++++++++++++++++++++++++++++++++++++++++++%%%****&*&&=&====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_***&&'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':-*&*+-;;--+*%%+;-;-+%+++++++++++&,", -",&+++++++++++++++++++++++++++++++%+++++%+%+%%%%%%**<{{{{{(($$$$$$$$$$$$$$$$$$$$$$$$({((+++++++++++++++++++++++++++++++++++++++++++%+++++++++--;;-+&*++++++-;>-+&=+++>;-+=!++++++--;>-+**+++-;;-%**++++++-;>-+*&++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&====}!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''*&&*'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_;+&&++-;;;-%&+%+-;;--%*++++++++++&,", -",&++++++++++++++++++++++++++++++%++++%++++%%%%%%%<({{{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-++++++++++++++++++++++++++++++++++++++++++-++++++++++-;>-%&%++++++->;;+*&+++;>-+&!%++++++->;-+**+++-;>-%&%+++++-->;-+*=++++++++++++++++++++++++++++++++++++++++++++%%%******&&=&=====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':&&_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_;-%*=%+;;;--+&%%--;;;-%&++++++++++&,", -",&+++++++++++++++++++++++++++++%-++%+++%%+%%+++<{{{{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<%-++++++++++++++++++++++++++++++++++++++++%%+++++++++-;>-+&*++++++-;>-+%=++-;>-+=!++++++--;>-+**+++->;-%&%++++++-;>-+*&+++++++++++++++++++++++++++++++++++++++++++++%%+*%***&&&&====!}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_*_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_;--+&=%-;>>-+%&&+-;;;-+%&++++++++++&,", -",&++++++++++++++++++++++++++++++%+++%%%%%%%+-<{{{{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{++%++++++++++++++++++++++++++++++++++++++++-%++++++++-;;-+**++++++->;;+*=+++;>-%&!%++++++->;;+%&+++-;>-%*%++++++-;>--*&+++++++++++++++++++++++++++++++++++++++++++++%%%%***&&&&&=====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''1;;-%*&!+>~>>-+*!*+->>;--%!%+++++++++&,", -",&++++++++++++++++++++++%+++%-%+++%%%%%+%*;<{{{{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++++++++++++++%-++++++%++++++++-;>-+&*++++++-;>;+*=++-;;-+=!%++++++-;>;+*&+++-;>-+&*++++++->;;+*=+++++++++++++++++++++++++++++++++++++++++++++%%+******&&&=&===!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''>>;%%&!=>~~>;%*=!+-~~>--%*!++++++++++&,", -",&++++++++++++++++++++++-++%+++%%%%%%%*%-({{{{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++++++++++++++++%+++++++-%++++++-;;-+&*++++++-;;;+%=++-;>-+&!%+++++--;>-+%&+++-;;-+&%++++++->;;+%=+++++++++++++++++++++++++++++++++++++++++++++%+%%*%**&&&&=}====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''>>;-*&!!+~~>;+%=!&+>~~>-%*!!++++++++++&,", -",&++++++++++++++++++++++%++++%%%%%%%**<({{{{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{;++++++++++++++++++++++++++++++++++%-++++++++++++%++-;>-+**++++++->>;+*!+++;>-+=!+++++++->;;+*&+++-;>-+&%++++++-;>;+*=++++++++++++++++++++++++++++++++++++++++++++++%%%%*****&&&====!}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_2~;;%&!!-~]~>-%&!=+;~~>;+*!!*++++++++++&,", -",&+++++++++++++++++++++++++%%%%%%%*+<({{{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(%+++++++++++++++++++++++++++++++++++++++++++++++-*--;;-+&*++++++-;>-+*=++-;>-+&!%++++++-;>-+*=+++-;>-+&%+++++--;>-+*!++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&=&&=====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''2~>;+*=!&>]~~;+*!!+>]]~>+%=!*+++++++++++&,", -",&+++++++++++++++++++++++%%+%%%%%%-{{{{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-+++++++++++++++++++++++++++++++%-%+++%++++1|112:-+->>;+**+++++%->;;+*!+++;;-%=!++++++--;>;+*&+++-;>-+&*++++++-;>-+*=+++++++++++++++++++++++++++++++++++++++++++++++%+*+****&*=&====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':>>;-%=!=-~~~;+*=!%-~]~>-%&!=++++++++++++&,", -",&+++++++++++++++++++++%+%%%%*%%**<{{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<-%++++++++++++++++++++++++++++++%++%+++++-))))))))[[|11::-++-+-->;;+*=+++>>-%&!%++++++-;>-+*&+++-;>-%&%++++++->;;+*=+++++++++++++++++++++++++++++++++++++++-+++++++%%%*****=*=&=&===}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':;;;-%*=!*>~>>-%&!&+>~~>;+*!!+++++++++++++&,", -",&++++++++++++++++++++++%%%*%%****<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++++++++++%+++++%+%%+:)))))))))))))))))[|1122>;+*=+++;;;+&!++++++--;>-+*&++++;;;+&%+++++--;>-+*=+++++++++++++++++++++++++++++++++++++++++++++++%%%%****&*=*=====!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_*-;;-+&!*+-;>;-%=!++>~>>+%=!*+++++++++++++&,", -",&++++++++++++++++++%++%%%%%%%****%{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<%+++++++++++++++++++++++++++%++%+%%%%%%%%|)))#)#))))))))))))))))))[[|1222>-+&!%++++++->>--*&+++-;>-%&*++++++->;;+*&++++++++++++++++++++++++++++++++++++++++++++++++%%%*%**&*&==&====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_&*%---++*%%-----+%*++>>>-+*!&++++++++++++++&,", -",*++++++++++++++++%+++%%%%%%*****&*<{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{++++++++++++++++++++++++++++++%+%%%%%%%%%+[))#########)#)))))))))))))))))))[|112:-+--->>;+%&++++;>-+&%++++++-;>;+&&+++++++++++++++++++++++++++++++++++++++++++++++%+%%%****&&=*=====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_&=*&%+--;+*%*+-----%%++----+*%++++++++++++++&,", -",&++++++++++++++++++%++%%%*%****&*&+{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;+++++++++++++++++++++++%++%+%+%%%%%%%%*%*1)))#################)#))))))))))))))))))[[|1222%&+---;>;%**++++++-;;-+%=++++++++++++++++++++++++++++++++++++++++++++++++%%%*****&*&==&==}!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_-*=***%----%*%*%--;-+&%%+-----%%+++++++++++++&,", -",&+++++++++++++++++++%%%%%%******&&=({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{(+++++++++++++++++++++++++++++%%%%%%*%%%*%%[))##########################)#))))))))))))))))))[|111>;+**+++++++;>;+*=++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&=*=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_:%%&&%&%+---%&+*%+---%*%**+-;--%*+++++++++++++&,", -",&++++++++++++++++++%++%%*%****&&&&&-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{-+++++++++++++++++++++++%+%%+%%%%%*%******2)))#################################)#)))))))))))))))[-%&&++++++-;;-+&!++++++++++++++++++++++++++++++++++++++++++++++++%+%%****&*&=&=====}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''%--%%%%*&%---+**+*%----**+*%+---%&%++++++++++++&,", -",&+++++++++++++++++%+%%%%%%****&&&&=}({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++++++%%%%%%*%*******[))##########################################)#)))))))|!!&++++++%-+%*&=+++++++++++++++++++++++++++++++++++++++++++++++++%%%*%***&&*=&====!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''}%%%-++*%%%----+%+%*+---+%%%*%---+*%++++++++++++&,", -",&++++++++++++++++++%%+%%*****&&&&===<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-%+++++++++++++++++++++%+%+%%%%**%****&*&*:)))################################################)))}=+++++++**&==!&+++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&=====}_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''&*==%--+**+%+----+%+%+----+%+%*-;--%%++++++++++++&,", -",&+++++++++++++++++%+%%%*%***&*&&&===={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++++%%%%%%%*******&&*|)[#################################################))|%++++++++!!!!=++++++++++++++++++++++++++++++++++++++++++++++++++++%%%****&&&=====!}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''':***&+;;+*&+%%%---+%%%%++--++*+%+----%%+++++++++++&,", -",&++++++++++++++++++%%%%%****&&&&=====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++%+%+%%*%*****&*&*&&&:)))################################################)))-%+++++++++**++++++++++++++++++++++++++++++++++++++++++++++++++++*+%*****&&&&=====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}**%*->;;+%=+%&*+;--%&+*&+-;-%&+%%%+-;-%%++++++++++&,", -",&+++++++++++++++++++%%%%%****&&&&====={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{;++++++++++++++++++++++++%%%%%%*****&&&&&&&|))################################################)))1++++++++++++++++++++++++++%++++++++2|[|122:-+++-+++%++++%++++++++%%%%**&*&&&=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_=***+;>>;+*=%++-;>;+%&+++;;;-%&%+&*+--+%&++++++++++&,", -",&++++++++++++++++++%%%%%***&*&&&======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(%+++++++++++++++++++%+%+%%%*%******&&&&&=&:)))################################################)))-+++++++++++++++++++++++++++%++%+++[)))))))))[|112:-++++-%++++++++%%****&&&&======_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_!=*%*+>~;-+&!+++->>;+%=%+->>>-%**%+%;>;-%&++++++++++&,", -",*+++++++++++++++++++%%%%%***&&&&======%{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{-+++++++++++++++++++++++%%%%%****&&&&&&=&==|))#################################################))1+++++++++++++++++++++++%++%+++%%+|))))))))))))))))))[|112:+%-++%%%**%***&&&&====!}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_=!&*%%>>>>+%&!++->~>-+&!++;~>;+%!*++;>>;+%=%+++++++++&,", -",&+++++++++++++++++++%%%%%***&&&&=======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<-++++++++++++++++++++%+%%%%**%**&*&&&=&===})))################################################)))++++++++++++++++++++++%+%+%%%%%%2)))####)#))))))))))))))))))[||12:-****%**&&======_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_*=!*%%+>>~--&!*++;~>>-%&!+->~>-+&!+++>~>-+*!%+++++++++&,", -",&++++++++++++++++++++%%%*%****&&&=}===!+{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{+++++++++++++++++++++++%%%%%**&**&&=&======|))################################################)))1+++++++++++++++++++++++%%%%%%%%)))##############)#))))))))))))))))))||1_::&===!&=_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''*=!!%%%+>>>-%&!%++>~~;+%!&+;>~>-%&!++-~>>-%&!++++++++++&,", -",&++++++++++++++++++++%%%%***&&&&=&======({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++%%%*%***&&&&&======})))################################################)))++++++++++++++++++%+%%%%%%%%%%|)))######################)#))))))))))))))))))||1_:_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''+*=!=%%%;>>;+*!=++->~>-%&!%+;~>;+%!&++>~~;-%==++++++++++&,", -",&+++++++++++++++++++++%%%%****&&&&=====!-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{+++++++++++++++++++++++%%%%***&*&&&&=======|))#################################################))1+++++++++++++++++++%%%%%%%%+1)))###############################)#))))))))))))))))))[[[[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''-%&!!%%%+-;>-*&!%++->>>+*=!+->>>-%&!%+->>>;%&!*++++++++++&,", -",&++++++++++++++++++++%%%%%***&&&&=&&====={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;+++++++++++++++++++++%++%*%***&&&&&&}===!=})))################################################))[-++++++++++++++++%%%%%%*%*%:)))########################################)#)))))))))))))))))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''}-&=!=%%+++--+&=!+++;>>-+&!*+->>>+*!!++->>>+%=!%++++++++++&,", -",&++++++++++++++++++++++%%%*****&&&&=====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{(+++++++++++++++++++++++%%%*%****&&&=&======|))################################################)))1+++++++++++++++%%%%%%*%***[))#################################################)#)))))))))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':%==!!%+%++++&&!!%++++;-+*=!+++-;-%&!%++->>;+&!&+++++++++++&,", -",&+++++++++++++++++++++%%%%%***&*&&&======={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;++++++++++++++++++++++++%%****&&&&&=====!=})))################################################))[-%++++++++++++%+%%*%%***%1)))#########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}!!!!!&%+%++%!!!!*+++++-%*=!&+++-+%&!!++++;;+%=!%+++++++++++&,", -",&+++++++++++++++++++++++%%%***&*&&&=======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++%%%%%%*****&&&=&=====!|))#################################################))2+++++++++++++%%%%%****%:)))#########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':*%===%%%++++++%*++++++*==!!=++++&==!!*++++-+*=!&++++++++++++&,", -",&++++++++++++++++++++++%%%%%****&&&&=====!*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{++++++++++++++++++++++++%%%*%*&*&&&&=&}====:)))################################################))[-+++++++++++%%%%*%****&)))#########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_**%%%%%%++++++++++++++++*&!*+++++*=!=+++++%===!!+++++++++++++&,", -",&+++++++++++++++++++++++%%%%%**&*&&=&======<{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++%%%%****&&&&=======!|))################################################)))2+++++++++%+%%%%*****&|)))#########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_***%%%%%++++++++++++++++++++++++++++++++++++*=!&++++++++++++++&,", -",&++++++++++++++++++++++++%%%%****&&&&======+{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{++++++++++++++++++++++++%%*%***&*&&&=&===!=:)))################################################))[++++++++++%%%*%*****2)))#########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_***%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++%%%%***&*&&=&}===!!({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;+++++++++++++++++++++%++%%%****&&&&&======}|))################################################)))2++++++++%%%%%*****})))#########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''***%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++%%%%%&**&&&&=&=====-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{(%++++++++++++++++++++++%%%%%****&&&&=&===!=:)))################################################))[+++++++%%%%%*****&|)))########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%*%%%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++%%%%%**&*&&&=&===!=({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;++++++++++++++++++++++++%%%****&&&&=======!|))################################################)))2+++%+++%%%******1)))#########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''&**%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++%%%%&%**&&&&=&=====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<-%+++++++++++++++++++++%%%%****&*&&=&====!=:)))################################################))[++++%+%%+*%**&&:)))#########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''}%*%*%%++%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++%%%%%*&**&&&======={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-++++++++%-++++++++++%++%%%%%***&&&&&=======[))################################################)))2+++++*+*****&*[))#########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':***%%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++%%%%*%*&*&&=&====!=<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++%%%%*****&&&&}======_)))################################################))|+%%+*%%****&*1)))#########################################################[)[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}**%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++%%%%*%&*&&&&&=====*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(+++++++++++++++++++++++++%%*%***&&&&&&=====![))################################################)))2++%+%******:)))#########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':***%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",*+++++++++++++++++++++++++++%%%%****&*&========<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<*++++++++++++++++++++++%%%%*****&&&======!=1))#################################################))|++%*%****&&)))#########################################################)))@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_**%%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++%%%*%***&&&&&====!+{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(+++++++++++++++++++++++++%%%%**&*&&&&=======[))################################################))):%%%****&&|)))########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_***%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++%%%%***&&&&========({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;-%+++++++++++++++++++++%%%%%****&&*======!!1)))################################################))|+%*%****2)))#########################################################)))@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_**%%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++%%%%****&&&&=====!-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<++++++++++%++++++++++++%+%%*%**&**}&&======}[))################################################))):%*****})))#########################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''***%%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++%%%%*%***&&&&&======({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-+++++++++-%++++++++++++%%%%***&*&&&&=======1)))################################################))|%%*&&&|)))########################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_**%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++%%%*%**&&&&=}====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<++++++++++++++++++++++++%%%%%****&&&&=}==!=!)))################################################)))}**&*1)))########################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''&*%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++>~;-+++++---+++&,", -",&+++++++++++++++++++++++++++++%+%%%*&**&&&=&&====={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++%+++++++++++++++++++++%%%%****&&&&==&=====1))#################################################))|***:)))#########################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':*%%%%+++++++++++++++++++++++++++-++--;>--++++++++++++++-~]]~-++++>~~;*++&,", -",&++++++++++++++++++++++++++++++%%%%*%**&*&&&====!=<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<++++++++++++++++++++++++%%%%%***&&&&&====!=})))################################################)))}*&[))#########################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%%%%+++++++++++++++++++++++++++-;>]~]]~>>;;----++++++->]]]~>-+%+~]]~+&++&,", -",&+++++++++++++++++++++++++++++++%%%****&&&&&======&{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++++%%%******&&&&=======|))#################################################))|=1)))########################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':%%+++++++++++++++++++++++++->]]]]]]~~~>>~>>~>>>>>>~~]]]]~>;--+;~]~-*!++&,", -",&+++++++++++++++++++++++++++++++%%%%%****&&=&======<{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;++++++++++++++++++++++++%%%%%*&*&&&&=====!=})))################################################)))2)))#########################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++++++++++++++->]]]]~~~>~>>>>>>>~~~~~~~~]~~~~>-;---]~~+*=!++&,", -",&+++++++++++++++++++++++++++++++%%%%*%&**&&&=======+{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<-%+++++++++++++++++++++++%%**%**&&&&=&=====!|))#################################################)))))#########################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%+++++++++++++++++++++++-~]]]]~>;>-----;>>>>>~>>~~~~~>>;+---;>~~+&!!&++&,", -",&+++++++++++++++++++++++++++++++++%%%*%*&*&&&======!({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-+++++++++++++++++++++++%%%%%*****&&&======!:)))################################################)))))########################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+++++++++++++++++++++--]]]~~>;--+++++++++-;-;;>>;>;;----++%%++*&!!*+++&,", -",&++++++++++++++++++++++++++++++++%%%%%***&&&&=&}====+{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<-++++++++++++++++++++++++%%%*%*&&&&&&====!=![))#################################################))#########################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++++++++++-~]]~>;-+++++++++++++++++++-++--+%%&&==!&!!!%++++&,", -",&+++++++++++++++++++++++++++++++++%%%*%****&&&=====!=({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++++%%%%%*****&=&=====!=:)))###########################################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''*+++++++++++++++++++-~]~~;-+++++++++++++++++++++++-+%*==!!!!!!=&%+++++&,", -",&+++++++++++++++++++++++++++++++++%%%%***&*&&&&&====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<%+++++++++++++++++++++++%%%*****&&&&====!=!![))##########################################################################################################)))@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':%++++++++++++++++++~~~~;-+++++++++++++++++++++++-+*=!!!!*%+++++++++++&,", -",&++++++++++++++++++++++++++++++++++%%*%%***&&&========{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++++++++%%%+***&*&&====!=!!*2)))########################################################################################################)))['@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++++++++++++++;]]]~>-+++++++++++++++++++++++-+*=!!*+++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++%%%***&*&&&&=====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-%+%+++++++++++++++++++++%%%%***&&&=&===!*<<<[))########################################################################################################))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++++++++++-~]]]~>-+++++++++++++++++++++++++%=!=%++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++%+%*%%***&*=&&=====*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(%-++++++++++++++++%++++%%+%*%**&&&&=!!&<<<<<2))#######################################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++;]]]~~>-+++++++++++++++++++++++-+%&!=++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++%%%****&&&&&======!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-+++++++++++++++++++++%-*%%*****&===*<<<<<^//)))#####################################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++%+++++--->]]~>-++----++%++++++++++++++++-+%&!!%++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++%%%%%****&&&======*{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<+++++++++++++++++++++++%+%+**&&=&&<<(<<^////2)))###################################################################################################)))[''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+%->>>~~~]~]];*&&***++-----++++++++++++++-+*=!!%+++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++%%%**%&*&&&&======!({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(+++++++++++++++++++%++%%%****&&&<<(<(~~~>-*!!!!!!=&*+++-+----+++++++++-+*=!!+++++++++++++++++++++*,", -",&+++++++++++++++++++++++++++++++++++++%%%%****&&=&======+{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<++++++++++++++++++++%+%%%**&*<((((^^^/^/////1))##################################################################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''-;=!&&->-*=!!!&*%*&&!!&****%+++---++++++-+*!=++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++%%%%*%&*&&&&=======({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(++++++++++++++++++%+%%%%***<(((((^^/^///////-)))################################################################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':&*++~>;*!!!*++++++++*!!!!&&&**%--++++++--%!+++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++%%%%*****&&&=&===!}<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-++++++++++++++++%%%%%*%*<(({(($^^^^^^^//////|))###############################################################################################)))[@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''=+;~]>%!!*+++++++++++++*&!!!!=*-;-+--++-+%&%++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++%%%%***&*&&&=====!={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(+%++++++++++%%+*+%%***<({{{($^^^^^^///^/////;)))##############################################################################################)))@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}-~]];&!&+++++++++++++++++++&&%-;;-++-----+*++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++%%*%***&&&&}&=====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{-++++++++++%%+%%%***<{{{{((^$^$$^^^^^^/^/////[))#############################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_]]~>%==+++++++++++++++++++++++-;-+%*%+---+%%+++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++%%%%%****&*&&=====!&{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<-%+++%+%+%+%%%%+*<({{{{($$^$^^^^^^^/^///////>)))###########################################################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''']];+*==+++++++++++++++++++++++;;-*!=&*+---%*%++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++%%%%***&&&=&======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{(+%++++%+%%%%%+*-({{{{($$$$$$^$^$^^^^^^^//////[))###########################################################################################)))'@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+*&!!%++++++++++++++++++++++->;-%!=!&%++-+*%++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++%%%%****&&&&&=&===!%{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<%+%+%%%%%%++-({{{{($$$$$$^$^$^^^^^^///^/////2)))#########################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_!=!!&+++++++++++++++++++++++;;>-%&*+&&%--%=*++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++%%*%****&&=&=====!({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{+++%%%%%++-<{{{{{$$$$$$$$$$$^$^^^^^^^^/^/////)))########################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''!=&+++++++++++++++++++++++++;>>+*=&++*+;-%&&++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++%%%%*%**&*&&&=====!-{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{;+%%%%%%-<{{{{{$$$$$$$$$$$^$$^$^^^^^^////////2))#######################################################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++++++++++++++++++++++->>>+&!%+++-;-%=*++++++++++++++++++++&,", -",&++++++++++++++++++++++++-+++++++++++++++++%%%%***&&&&======!({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<%%%%%-<{{{{{$$$$$$$$$$$$$$$^$^$^^^^/^^/^////-)))######################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++++++++++++++++++++++++++;~~-*=!++++-;-*!*++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++%%%%*%&**&&&=&}===!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{-*%%<{{{{{($$$$$$$$$$$$$$$^$^$^^^^^^/^///////1))#####################################################################################)))@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}-+++++++++++++++++++++++->~>%&!*++++;>+&!+++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++%%*%****&&&&======={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{<%<{{{{(($$$$$$$$$$$$$$$$$$$^$^$^^^^^^/^/////;)))###################################################################################)))['@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_++++++++++++++++++++++++;~>+*!!+++++;>%==+++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++%%*%***&&&&=&====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{{{{{{($$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^///////|))###################################################################################))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++++++++++++++++++++->~;*!!%++++->;*!*+++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&&=====&{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{($$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^^/^/////>)))#################################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++++++++++++++++++->>%!!*+++++->;&!++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++%%%*%***&&&&=======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{($$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^/^/////[))################################################################################)))@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++++++++++%;~;&!&++++++;~-&!++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++%%%%***&*&&&&====!%{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$($$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^/^//////2)))##############################################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%+++++++++++++++++++%->>+&!++++++->>+&=++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++%%%*%***&&&======!=<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^^^^^^/^//////)))##############################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_!_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+++++++++++++++++++->~>*!&++++++>~>%=&++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&======-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^/^/////1))#############################################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''=!}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++++++++++;>;->~]]]-&!++-;;->~~>%=&++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&=&}===!({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^/^//////-)))###########################################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}!=!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%+++++++++++>]~~~~]]~>+=!+-]]>~]]>-*!*++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++%%%%%**&*&&&&=====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^^^^^/^//////|))##########################################################################)))['@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++;>~>~~~>>-&!*%>]~>>~>-%=!+++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&==&===!={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^^//^/////;)))#########################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_====!_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++++++++%%%%++%%%*&!*+--***&&&=!=+++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++%%%***&*&&&&=====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^^/^/////|))########################################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}=====!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++++++*==!&&====!&++&!!!!!!!!!++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++%%%%***&&&&&======&{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^///////2)))######################################################################)))[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}======='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++%&=!!!!!!!++++*&&&**%%+++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++%%%%*****&&&&======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^^/^/////)))######################################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_=======!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++%%%%***&&&&=&====!*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^///////2))#####################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_}==&=====}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':-++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++%%%%%****&&&&=}====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^^^^^^/^/////;)))###################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}=&========'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&=&=====+{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$$^^^^^^^^/^//////|))##################################################################)))[@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_&=&=&}====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++%%%%***&&&&&=&====!({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^^^^^/^/^////;)))#################################################################)))@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_&&&&=&=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&=======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^///////[))################################################################)))@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''=&&&&&&&=====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++-+++++++++++++++%%%%%***&*&&&=====!={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^^/^/////2))###############################################################)))['@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':*&&&&&&&======'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':+++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&&=====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^///////)))##############################################################))[@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_*&&*&&&&&=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%**&*&&&======={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^$^^^^^^/^/////1))#############################################################)))@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''*&**&*&&&&&=====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&==&====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^^^^/^//////;)))###########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}%****&&*&&=&}===!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%**&**&&&=====!*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^$^$^^^^^/^/^////|))##########################################################)))[@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_********&&&&&====='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&&}=====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^^^^^^^/^/////<<2))##########################################################)))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_********&*&&&==&==!_'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''*+++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*%*&*&&=&=====!+{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$$$^$^^^^/^/^<<<<<)))########################################################)))''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''&*%**%******&&&=====}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&=&}====({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^^$^^^^^^/<<<<<<*|))#######################################################)))[''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':*%*%%*%***&&&&&&====='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*****&&&=&===!-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$$^^^^^<<((<<<*!!})))######################################################))[_'''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_*%%%%%%*%****&&&=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&&=====!=({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^^^(((<<<*!!!!![))#####################################################)))}!=}__''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_**%%%%%%%*%**&&&&&=====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_++++++++++++++++++++++++++--+++++++++++++++++-*+++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&=&======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^$^((((((<*!!!!!!![))#####################################################))|=!!=!!!__'''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}*%%+%+%%%%*****&&=&===!}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++++++++++%+++++++++++++->~;++++++++++++++->>~-%++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&&=&==!=={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$((((((<*!!!!!!!!!)))####################################################)))_=}!=}=====}_'''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_%%%%+%+%+%%*%**&&&&======'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+++++++++--+++++++++++;]]]>--+++++++++++-~]]~--++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%******&&=======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(({{{{<*=!=!=!}!!!}))######################################################)):=!==========}!__'''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@'''_*%%%%%++%+%%%**&*&&&}&===!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++++++++;~>-+++++++++-~]]~>;;+*++++++++-]]]~~;--%++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&=&&}==!*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<+===!=!!!!!!!:)))####################################################)))=================}}_'''''''''@@@@@@@@@@@@@@@@@@@@@@@'''**%%%%+++%%%%%****&&&======_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''%++++++;]]~;-%++++++->~]~>;;;-*%++++++-]]]~>>;>;-%+&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*****&&&&======<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<%======!=!==!!=_))#####################################################))[=======&===&=======}=!__'''''''''@@@@@@@@@@@@@@@@@@''':*%%%%+%+%+++%%***&*&&&&====='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':+++++-~]~~;;-+++++-~]]>>+-;;--%*++++-]]~~>-+-;;-+%&,", -",&++++++++++++++++++++++++++++-+++++++++++++++++++++++++++%%%%%***&&&&=======+{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<+&==&&======!=!=!|))#####################################################))|==&==&&======&=======}===}_'''''''''@@@@@@@@@@@@@@'''_%%%%%%+++++%%%%%***&&&&=&===='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''+++++~~~~;;;;-+++>]]]~>-+++----%++++>]~~;-+++-;;-+!,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%***&*&&&=&====!({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<+&&&&*}&=======!=!=|))####################################################)))1&=&=*=&=&}&===}============!}__'''''''''@@@@@@@@@@''_*%%%%%+++++%++%%****&&&&&====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''':+++-~~~;--;;;--]]]]~>-++++-;;--++->~~~;-+++++-;+=!,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&&======-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<%&&&&&&&&&&&=&=&}====[))#####################################################)):*&&&&&&&&&&&&&===&=======}=====}}_'''''''''@@@@@@'''}%%%%%%+++++++%%%%****&&&&=====}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+++>~~>-++--;;>]]]~>-+------;;---~]]~>-+-----+-+*!,", -",&+++++++++-++++++++++++++++++++++++++++++++++++++++++++++++%%%%%****&&=&====!=({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{{{(<*&&&&&*&*&&&&&}&=======)))####################################################)))}&&&*&*&&&*=&&=&&&==&==============!}__''''''''@@'''_*%%%%++++++++%+%%%%*&**&&&====!='''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''++>~~>;++++-;;>~~>;++-+%*---;;;;~]]~>;++-++----%&!,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%****&&&&=&}====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$${{{{{{<&&*&&&*&****&&&&&&&=====})))####################################################))[&*******&*&&&&&&&=&&==&==&=======}===}=}:_'''''''''_*%%%%+%+++++++++%%%%***&&&&&=====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'':;~]~>-+++++-->>;-++-+*&&%+--;;>>~~>;++-*&*++--+*!,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&*&&&======={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{(<&&&&&&*******&*&*&&&&&====_))#####################################################))|*************&&&&&&&&&&=&===&==============}__'''''&*%%%%%++++++++%+++%*%***&&&=====!_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_~]~>;+----++++++++-+*=!!*%+---->>--++-+&!=&%+-+*!,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&&====!=<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$(({{{{{;&*&&*&*&**********&&&&&=&=&=1))#####################################################))1***%***********&*=*&&&&&&&=&==&==&=======&=&&*}:__}%%%%%++++++++++++%%%%****&&&&=&===}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''>]>;+-+++---++++++-+&!!+**+----+++++-+*!!*&*+++*!,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%***&*&&=&=====*{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{(-&&&&&*&*******%%******&*&&&===|))#####################################################))2*%*%**%************&&*&&&&&&&&=&===&=&=&=&&&&&&****%%%%+%+++++++++++%%%%****&&&&==}==!'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''2>>--+*&++----+++-+%!!+++%*+-;-++++-+*=!&++%*++*!,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%***&&&&=====!=<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{(-*&&*=*&******%**%*%*%***&&&&&=&=|))####################################################)))%%%%%%%%*%************&&*&&&&&&&&&&====&&&&&&*&***%%%%%%+++++++++++++%++%*%***&&&=&====_''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''';+-+*!!*%++-----+%&!&++++%+----++-++&!!++++%***!,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%****&&&&&====!+{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{(-&=*=&&********%*%%%%*%****&*&&&&==)))####################################################)))%%%%+%%%%%%*+**+*********&*&*&&&&&&&&&&&&&&&*&*****%%%%+++++++++++++++%%%%***&*&&&====!}''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''}-+*!!&*&**++++%*&!!++++++%++----++&!!++++++%!=!,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%***&&&========({{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{(+&&&*&********%*%%%%%%%%%*%**&&&&=&=})))####################################################))|%%+%%%%%%%%%%*%**%*%********&*&*&&&&&*&*&&**&****%%%%%+%+++++++++++++%+%%%****&&&=&====}'''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''_+*!!=++%=&&%*&!!!!*+++++++**+++%*&!!&++++++++%!,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*****&&&&&====!-{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<+&&&&&&******%*%%%%%%%+%%%%%*****&&&==:)))####################################################))1+%+%++%+%+%%%%+*+**%**%********&**&*&&&&&*&******%%%%%++++++++++++++++%%%%%***&&&&&====!''''''@'@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''&!!&+++++*&!!!!=&+++++++++%&*&&=!!!&++++++++++&,", -",&++++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++++%%%%*%*&*&&==&=====({{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<-&&&*&*********%*%*+%%+%%%+%%*%%**&&&&==1[)#####################################################))2+++++++%+%%%+%%%%%%%*+*%*%********&***********%%%%%%+%+++++++++++++++++%%%%****&&&======_''''''''''''''''@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''_!=+++++++++&*++++++++++++++&!!!!*++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%**&*&&&&=====!<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<%&&*&&&&*******+**+%+%%%%%++%+%*+}***&&=&=1))####################################################))):++++++++++++%+%+%++*+*%%%*%%*%****************%%%%%%%+++++++++++++++++%+%%%%**&*&&&&=====__''''''''''''''''''''''''@'@'@@@@@@@@@@@@@@@@@@@@@@@@@''_*++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%**&&&&=&==}=!={{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<%*&*&&******%***%%%+%*+%++++%%+%*+*%&*&&&===|))####################################################)))+++++++++++++++%+%%%%%+*+%%%%*%**%*********%%%%%%%%+%+++++++++++++++++++%%%%****&*&&&=&====!!!!!}}____''''''''''''''''''''''''@'@@@@@@@@@@@@@@@@@'''+++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*****&&&=&=====<{{($$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{{<%&&&&&&***%*%***%%%%%%%++++%-%+++%%%***&&&&=&=[))####################################################))[%+++++++++++++++++++++%+%%%%%%%%%%%%%*%*%%%%%%%%%%%%++++++++++++++++++++%+%%%%***&&&&&=&&===!!!!=========}}}}____'''''''''''''''''''''''''@'@@@@@@''_-+++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%***&&&&=======&{{{$$$$$$$$$$$$$$$$$$$$$$$$$$$$$({{{{(<%&&&*&*********%%%%%%%+%+++++++++%%%*%%&**&&&===)))####################################################))1%%+++++++++++++++++++++++%%+%+*%%%%%%%%%%%%%%%%%%%+%++++++++++++++++++++%%%%%%****&&&&&=============================}}}____'_'''''''''''''''''''''''_++++++++++++++++++++++++++++++++++++++++++++&,", -",*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%%**&*&&&======<{{$$$$$$$$$$$$$$$$$$$$$$$$$$(({{{{(<*&&&*&&*******%*%%%%%+%+%++++++++++++%%%***&&&&==}))#####################################################))2+++++++++++++++++++++++++++%%%+%%%%%%%%%%%%%%%%%+%++++++++++++++++++++++++%%%*%****&&&&&&&=&=&==&====&==&=====================}}}}____'''''''''''''''++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%*****&&&&======*{{{$$$$$$$$$$$$$$$$$$$$$$$${{{{{(<&&&&&*&*****%**%*%%%%%%+%%+++++++++%+%+%%%&***&&&=&2)))###################################################))):-++++++++++++++++++++++++++++++%+%%%%%%%%%%%%+%%+%++++++++++++++++++++++%%%%%%%******&&&&&=&=&=&=&&====&==&=&&&==&===============&==&=&&&}}::____'''}++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*%**&*&=&=====!({{($$$$$$$$$$$$$$$$$$$$({{{{{(<*&&&&*&*********%%%%%%+%++%-+++++++%-%++*+*%***&&&==&_))####################################################)))%%+++++++++++++++++++++++++++++++++%+%+%%%+%%+%+++++++++++++++++++++++++++++%%%%*%**&**&&&&&&&&&&&&=&&&&&&=&====&===&====&=&===&====&=&&&&**&%*%%%%+%+++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&=&=}=!=+{{($$$$$$$$$$$$$$$$$$(({{{{(-**&&&*&*******%%%%%%%+%+%++++++++++++++++%+**+**&*&&&==|))####################################################))|++++++++++++++++++++++++++++++++++++%+%+%%%++%+%++++++++++++++++++++++++++%%%%%%%***%&&**&&*&&&*&&&&&&&&=&&&&&&=&=*=&=*=&===&==&====&=*=**&*%**%%%%+++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*%**&&&&=======({{$$$$$$$$$$$$$$$$({{{{{(-&&&&*&*&*****%*%%%%%%%+%%+++++++++++++++++++%%%****&&&=&=|))####################################################))|%%+++++++++++++++++++++++++++++++++++++++++%+++++++++++++++++++++++++++++++++%%%%%%%&%***&*&**&&&*&&&&&&*&&&&&&&&&=*=&=&&=*=&=&===*==*=*&*&***%*%%%%+%++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%****&&&&=&====!<{{($$$$$$$$$$$$$({{{{{(-&*&&*&&*******%*%%%%%%+%++++++++++++++%++++++%%%%****&&&===)))###################################################)))2%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%%%%%&%&****&***&*****&*&*&*&&&*&*&*&*=*=*=*=*=*=&&=*=*&****%*%%%%%+++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%*****&&&=&====!{{{$$$$$$$$$$$({{{{{(+&&&&*&&********%%%%%%%%+%++++++++++++++%-++++++%+%****&&&&&==)))####################################################))2+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%%%*%**%&****&******&**&*&*&*&&&*&&&&&=*=*=*=*&&=&&*&*&****%*%%%+%%+++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++%%%*%**&&&&=======<{{($$$$$$$$({{{{{<-&*&*&*&*****%*%%%%%%%%+%+++++++++++++++++++++++++%+*%%&&*&&==&:))####################################################)))+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%%%%%%*%****%******************&********&*&*=*&*&&*&****%**%%%%%+++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%*****&&&&=&=}==&{{{$$$$$$({{{{{<+&&&*&&*&*******%%%%%%%+%+++++++++++++++++++++++++%+%+*+****&&&&&_)))###################################################))[++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%%%%%%%%%%%*%*****%***************************&**&******%%%%%+%+%+++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&=======<{{($$$({{{{{<+*&&*&*&*******%%%%%%%%+%++++++++++++++++++++++++++%%%%%****&&&&&==1))####################################################))|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%%%%%%%%%%%%%%%%*%**%*****%******%********************%%*%%%%%++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%*****&&=&=====*{{{$({{{{{<%&&&*&&*&*****%*%%%%%%%+%+++++++++++++++++++++++++++%-%++%%%***&&&&==|))###################################################)))1%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%++%+%%%%%%%%%%%%%%%%%%%%%%%%*%*%*%*****%***************%**%%%%%+%%++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%***&&&&=======({{{{{{{<%=&&*&&*&**&%**%*%%%%%%%++++++++++++++++++++++++++++++++%+*%****&*&====[))####################################################)):-%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%+%+%%+%%%%%%%%%%%%%%%%%%%%%%%%%%%%*%*%**%******%**%%%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%****&&&&&==&==-{{{{(<*&&&*&*&*****%**%%%%%+%++++++++++++++++++++++++++++++++++++%+%%****&&&&&=)))###################################################)))%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%+%+%+%+%%%+%%%%%%%+%%%%%%%%%%%%%%%%%*%%%*%*%%%%%%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%******&&&=&===&=<{(<*&&&*&*&****%**%%%%%%+%+%++++++++++++++++++++++++++++++++++++%%%%**&&&&&==:))####################################################))[+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+++++++++++%+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+%%+%+%+++++++++++-;;>>>;;;;;-+++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++%%%%%****&&&&&&=&=&=**&&&*&&*******%*%%%%%%%%+++++++++++++++++++++++++++++++++++++++%%%*****&&&=&:)))###################################################))|+%++++++++++++++%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%+%%%%%%%%%%%%%%%%%%+%++++++++++++->]]~~~~~~~>~>>-+++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;~~>-*%+%%*%***&*&&&&&&&=*=*&&&******%**%%%%%%%%++++++++++++++++++++++++++++++++++++++++%%%+*%**&&&&&==_))####################################################))1++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+++%+%+%%%%+%+%+%++++++++++-~]]]]~~~~~~~~~>>>;;-++++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-]]]~>&&+%%%%******&*&&&*=*=*&&********%*%%%%%%+%++++++++++++++++++++++++++++++++++++++++%-%%%*%****&&&==|))####################################################))2%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----;;>;;;;;;;;;;;;;;;;;;>>;>>+++%++%+++++++++++>]]]]~~>>>;>;>>;>>>>>>;+++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-~]]]~;*!*+%+%%%*%****&*&*&&*=*********%*%%%%+%+%++++++++++++++++++++++++++++++++++++++++++++%++****&&&&&==|))###################################################)))%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;~~~~]~~~~~~~~~~~~~~~~~~~~~~~~~>+*++++++++++++++-~]]]~~>;-+-++-+---;;>>>;-++++++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->]]]]~;%&!+++%%%%**%******&**********%*%%%%%%%%%%++++++++++++++++++++++++++++++++++++++++++++%+%*%%***&&&===[))###################################################)))+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;~]]~]~~~~~>~~~~>~~>~~>~~~~~~~~>-*=+++++++++++++-]]]~~>-+++---+-------;;>;--+++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++;]]]]~>;+*!=+++%+%%%%*%*%*************%*%%%%%+%+++++++++++++++++++++++++++++++++++++++++++%+++++%%%****&*&&&==)))###################################################))|%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;~~~>>>>>>>>>>>>>>>>>>>>>;>>>;;-*==++++++++++++-~]]~>;-++--++%+%%+++---+-;;-+*+++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++++-;]]]]~~>;+*!!%++++%+%%%*%***%**********%%%%%%%%%+++++++++++++++++++++++++++++++++++++++++++%-+++%+%+*+**&*&&&==:))####################################################))1%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->>>;-----------------------+--*&!%++++++++++++>]~~>-++--+%&&&!==&&*++----;-+*+++++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++++++++-~]]]]]~>;--%&!&+++++%%%%%%%%%%**%*%***%%%%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++%%%***&*&&===:)))###################################################))2%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--;--++++++++++++++++++++++++-*&!!++++++++++++>~~>>-++-+*&!!!!!!!!!=*%+--+---%*++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++--]]]]]~~>;-+-%&!!++++++++%%%%%%%*%%%**%*%%%%%%+%%++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%****&&&&==1))###################################################)))%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++--+++++++++++++++++++++--%*!!++++++++++++-~~~>-++-+*&!!=*+++++*&!&+------+*%+++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++++++++++-;>]]]]]~~>>-++-+&!!+++++++++%+%%%%%%%%%%%%%%%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%****&&&&==|))###################################################)))+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%***%+--++++++++++++++++++-+%*!!*++++++++++++->~>;++-+*&!!*++++++++++&*+---;--**+++++++++++++&,", -",&+++++++++-+++++++++++++++++++++++++++++++++++~]]]]]~~>>--+++-+*!!*++++++++++%+%%%%%%%%%%%%%+%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*****&&=&=[))###################################################))[%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*!=*%---++++++++++++++++-+*=!!&+++++++++++++;>>>-++-*=!!+++++++-;-++%*%+-;---%&+++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++>]]]]~~~>>--++++-+*&!*+++++++++++++%+%%%%%%%+%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%*%**&&&&===[))###################################################))1++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&=*+---++++++++++++++++%=!!*++++++++++++++>>>;++-%*!!++++++;~]~];-+%=%-----+&*++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++;]]]]~~>>;-+++++++-+*!!+++++++++++++%+%+%+%++%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%++%%%%**&*&&&&=}))###################################################)))2+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%&%+-;++++++++++++++--*==+++++++++++++++->>>-++-%=!++++++>]]]~~;+&+++-;;--%*&++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++-~]]]]~>--++++++++-++&!!+++++++++++++++++%+%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-*+%%%****&&&&==:)))###################################################)):++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%-;;++++++++++++++--++%+++++++++++++++->>>-+-+%=&+++++-~]]~>;-*!++-->;--+&&++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++-]]]]~>;-++++++++++-+&!!*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*****&&=*!1))###################################################)))%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>>>++++++++++++++--;--%++++++++++++++->>>++-+%!*+++++~~~>>--*&!+%-;>;+-+&=++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++++>]]~>;-+++++++++++-+*!!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%++%%*%**&&&&&==1))###################################################))[++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>>>;+++++++++++++++;;;--%+++++++++++++;;>;++-+*!%++++-~~>;-++&!&++-;;;--%&&++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++;~~>>-+++++++++++++-%=!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%-++%%%*%***&*=&==|))###################################################))|%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>~~>;++++++++++++++++-;;-+%++++++++++++;>>;++-+*!++++-->>>--+*!!+++-;;;--*&=++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++-~~~>-+++++++++++++--*&=++-++++----;;--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%++%%%***&&&&===[))##################################################)))2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->~>>++++++++++++++++++-;--%%+++++++++++;>>;++-+*!+++++->>;---*!*+++->>;-+*!*++++++++++++&,", -",&++++++++++++++++++++++++++++++++++++~]]>;++++++++++++++--+-;~>~>>>~~~~~~~~>-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*****&*=*==)))###################################################)):+++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>~~>;++++++++++++++++++--;-+*++++++++++-;>>-++-%&!+++++-;>;+-+*=++++>~>;-%&!+++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++>]~~;-+++++++++++++++-;;~~~~~~~~]]~~~~>>-*%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%++%%%***&&&===:)))##################################################)))++%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>~~~>+++++++++++++++++++++;--%*++++++++++-;;;+--%&=+++++-;;;+---%+--~~~>;+%=!+++++++++++++&,", -",&++++++++++++++++++++++++++++++++++;]]~>-++++++++++++++++-;>~>~>~>>~>~>>>;-+*=*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%**&*&&*==:)[###################################################))[%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-~]~>-+++++++++++++++++++++-;-+*++++++++++-;>-++-%&&+++++-;;;----;;>]]]~>-+*!*+++++++++++++&,", -",&+++++++++++++++++++++++++++++++++-~~~>-++++++++++++++++++--;;;;;>>>;;---%&&!!++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%-*+%*****&&&===1))###################################################))|+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>>~>;+++++++++++++++++++++++--+%*+++++++++-;;;+-+%&&++++++------;>>~]~~>;-+&!++++++++++++++&,", -",&++++++++++++++++++++++++++++++++-~]]>;+++++++++++++++++++++++++++++++--*&!!!%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%-%+++%%%***&*=&=&|))##################################################)))1%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>>>++++++++++++++++++++++++---%*+++++++++-;;;+--+*&+++++*%+---+;;>~>>>--+*!!++++++++++++++&,", -",&++++++++++++++++++++++++++++++++>]~>;+++++++++++++++++++++++++++++++-+*&!!%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%*%****&&&===[))###################################################))2%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>;;+++++++++++++++++++++++++;-%&%+++++++++-;;+---+%%+++++*+---+++-;----+*=!*++++++++++++++&,", -",&+++++++++++++++++++++++++++++++;~~~>-++++++++++++++++++++++++++++++-+*&!!%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+****&&&=&=[))##################################################)))%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;+++++++++++++++++++++++++--%&*++++++++%+-;-+;--+*++++++*+---------+%*!!=+++++++++++++++&,", -",&++++++++++++++++++++++++++++++-~~~>-+++++++++++++++++++++++++++++-++&=!!%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%*%*****&&&==})))))#)##############################################))[++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>;;+++++++++++++++++++++++++--%&*+++++++++%-;;++;--+%+++++*%+%++++++%*=!!=++++++++++++++++&,", -",&++++++++++++++++++++++++++++++;~]>;+++++++++++-++++++++++++++++--+*&!!=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+++%%***&&&&==}|))))))))))#)########################################))|+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++->;;+++++++++++++++++++++++++-+%=&+++++++++%--;-+-;-++%+++++&=&*&***==!!!&+++++++++++++++++&,", -",&+++++++++++++++++++++++++++++-~~>>+++++++++--+---++++++++++++--+%*&!!&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%****&&&&==}||)))))))))))))))###################################))1+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;>>-+++++++++++++++++++++++++--%=&+++++++++%+-;-++;;-++++++++&!!!!!!!!!*+++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++>~~>-++++++++-+*+*+--+++++++++--+**&!!!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%+*%***&*&&&=====!}:_||[))))))))))))))#)###########################))2%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;>;-+++++++++++++++++++++++++-+*=*++++++++++%--;++--;--++++++++%**&*&%+++++++++++++++++++++&,", -",&+++++++++++++++++++++%%+++++-~~~;-+++-+---+*&!&%+---+-+---++**=!!!&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%***&&&&&&=========!==:_1|[)))))))))))))))#####################)))%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;-+++++++++++++++++++++++++-+*!+++++++++++%+-;-++-;;--+++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++--;-+-~~~>-++--++++%*&!!!&+++-+-++++**=!!!&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%******&&&================!==}:_||))))))))))))))))##############)))+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%--;+++++++++++++++++++++++++-%&!++++++++++++%+-;-++-;;;;--++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++-;~]]>>>~~~;+-++%%*&==!!!*+&&**%%***&!!!!!*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%*%**&*&&&&}=====================!}:_||[))))))))))))))#)#######))|%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+;;-++++++++++++++++++++++++-%&!++++++++++++%++---++-;>>;;---+++++++++++++++++++++++++++++&,", -",&++++++++++++++++++;~]]]]~~>~]~;--+**=!!!!!!&++++&&=!!!!!!!!&*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%*%*&*&&&&&&&===&=======================!:_1|[)))))))))))))))#)))1+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+--;+++++++++++++++++++++++-+%!&++++++++++++%*%+---++-;;>>>>>;;+++++++++++++++++++++++++++&,", -",&++++++++++++++++-~]]]]~~>>>~~>--%*=!!!=&*++++++++*&!&&=&&%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%%**%*&*&&&&&&&&}===}===&===================!==}_11[[))[)))))))))2++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+---++++++++++++++++++++++-+&!%+++++++++++++*&*++-;+++-;>>>>>>>>;;--+++++++++++++++++++++&,", -",&+++++++++++++->~]]]~~~>>--;;;---%&!!%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%*%****&*&&&&&&&&&&&&&==}==========&=================}:1||[)))))):%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%+---+++++++++++++++++++++-%=!+++++++++++++++*&*++--+++-;;>>>>>>>~>>>>;--++++++++++++++++&,", -",&+++++++++++-~]]]]~~>>--+++++++-+%!=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%%**%***&&*&&&&&&&&&&&&&&&&}&==&===}=======}=========&&&&&*%:21|%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%%---+++++++++++++++++++-+*!&++++++++++++++++%=*%++--++++-;;>>>>>~>~>~>>>>;-++++++++++++&,", -",&++++++++++>]]]]~~~>-++++++++++-+*=*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%++++++++++++++++++++++++++++%+%%%%%%**%***&*&&*&&&&&&&&&&&&=*=&}&&=&&==}&&==&=====}=&&&&*&*&%**%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%&%+---+++++++++++++++++-+%=!%+++++++++++++++++%&&%%+---+++++-;;>>>>>>>>>~>~;;+++++++++++&,", -",&+++++++++%;~]>>>;--+++++++++++--%=*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%%%%******&&*&&&*&*&*&&&*&&&=*&&&&&=&&&==&==&==&=&&&&&&&****%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%&%%+---++++++++++++++-+%&!=++++++++++++++++++++=!**+++---++++++--->;>>>>~>>;+%+++++++++&,", -",&++++++++++->>>;+++++++++-+++++-+%&*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%%%%*%****%&*****&*&&&*&&&*&*&&&&&&&&&&&&==&==&==&&&&&&*&**%*%%%+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%=*%++--+--+++++++-+-+%*!!++++++++++++++++++++++%==&*%++---+++++++++--;;>;>-+*+++++++++&,", -",&++++++++++--;;+++++++---+----+--+&&++++++++++++++++++++++++++++++++++++++++++++++++++++++-+++++++++++++++++++++++++++++++;-+++++++++++++++++++++++++++%+%+%%%%%*%***%*%&******%&*&*&*&&&&*&&&&&&&&&&&&&&&&&&&&*&*&%**%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%=&*%+++++---+---++*&=!!*++++++++++++++++++++++++&!=&**%++----++++++++++--+*!%++++++++&,", -",&++++++++++%+-;-+++++-+*+*%++----+*=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%->>>-+++++++++++++++++++++++++++++%+%%%%%%%*%***%*%****************&*&&*&&&*&*&&&&&&&&&&*&**%**%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&=****%%%%+++%%%&=!!!*+++++++++++++++++++++++++++*=!=&*%++++-------+--++*&!+++++++++&,", -",&++++++++++%%--;+----+*&!!&&*+-;--*&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;~]~-&+++++++++++++++++++++++++++%+%+%%%%%%%%%%%*%*******%*************&*&&&&&&&&*&&*&*&*&%**%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%!!!!!==&**&==!!!!%+++++++++++++++++++++++++++++++%&!!=&*%*%%%%%%%%***&!!=+++++++++&,", -",&++++++++++++;>--+++**=!!=!!&+-;-+%=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;~~~-*&+++++++++++++++++++++++++++++++%+%+%+%%%%%%%%%%%%%**%****%***************&*&&&*&***%***%%%%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%*&&=!!!!!!!!=%++++++++++++++++++++++++++++++++++++*=!=!===&&======!!!=++++++++++&,", -",&+++++++++++++++%*&&=!!!++++;>>;;-+&*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%;~]]>*=*%++++++++++++++++++++++++++++++%+%%%%%%%%%%%%%%%%%%%*%%*%*************************%**%%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*&*%+++++++++++++++++++++++++++++++++++++++++++*==!!!!!!!!!!=&%+++++++++++&,", -",&+++++++++++%&%*!!!!!!*+++++>~>;--+**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>>++++++++++++++%%;>]]~%&!+++++++++++++++++++++++++++++++++++++++%+%+%%+%%%%%%%%%%%%%%%%%*%**%****************%*%%%%%+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++*!!!=&*%++++++->>>----%&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>~~;*+++++++++++++-;~]~+*!*+++++++++++++++++++++++++++++++++++++++++%++%+%+%+%%+%%%%%%%%%%%%%*%%*%****%***%**%*%%%%%+%+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++%*%+++++++++;>>>;-+--+&*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-;]~+*+++++++++++++;]]~;%==+++++++++++++++++++++++++++++++++++++++++++++++%++%++%+%+%%+%%%%%%%%%%%%%%%%*%*%**%*%%%%%%%%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++-~]]~>++--+**+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-+;;+%*+++++++++++->]]>%&!+++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%+%+%%+%+%%%%%%%%%%%%%%%%%%%%+%++%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++>~~~>-++---+*%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;-%&++++++++++%->~>-*!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%%%+%%+%%%%%%%%%%%+%%+%++%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++-~~>>;++++---+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;-%*+++++++++++;>>;*&!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%++%+%+%%+%%+%+%%+%+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++~~~>-+++++-;----++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;+*%++++++++%->>~+*!%++++++%%++++++++++%%+%+++++++++++++++++++++++++++++++++++++++++++++++++++++%+%+%%%%%%%%++%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++;~~~;+++++++--;;;--++++++++++++++++-+-+--------++++++++++++++++++++++++++++%--;%%&+++++++++;~~>%&=++++++++;~;+++++++-;;;++++++++++++%+++++++++++++++++++++++++++++++++++++++++++++--;-++++%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++;~>>-+++++++-;;>;;;-;--+-+---;-;;>~~~~~~]~~>~~>>-+++++++++++++++++++++++++++%-;-+%%+++++++->~~;*=*++++++%-~]>;+-;;;>~]~>-%+++-+-++++++++++++++++++++++++++++++++++++++++++++++++;>~~~>>+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++;>>;++++++++++;;>>>>>>>>~~~~~~~~]]~~~~~~~~~~~~~>;-++++++++++++++++++++++++++%;;;-%*+++++++;>~>+*!++++++++-;]>;;~~~]]]]];**++++>>;;;+++++++++++++++++++++++++++++++++++++++++++->]]]]]~>;%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++;;>-+++++++++++-;;;>~>~~~~~~~~~~~~~~~>>~>~>~>~>>>--*++++++++++++++++++++++++%+;;;%&+++++%-;~~;%&&++++++++;>>>;>~~~>;;+*=!%++++;>~>>;;++++++++++++++++++%++++++++++++++++++%+++~]]]]~>>;;;%%+++++++++%+++++++++++++++%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++->;;+++++++++++++-;>>>>>~>~>>~>>>>>;;;;;------;;;;---+++++++++++++++++++++++%+-;-%&+++++++>>>-*!%++++++++>~>>-%*&====!!!%+++++;>>~>>>++++++++++++++++++;--++++++++++++++++++%;]]]>;---;;;-%%+++++++-;;+++++++++++++++;;>>;%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++->;;++++++++++++++++---;;;;;;-----+++++++++++++--;;;;--++++++++++++++++++++++%--;+**++++%;>~>%*!++++++++->~>-%&!!====*%+++++++;>;;-;;;+%+++++++++++++;~]~>>*+++++++++++++++%;>~~>-%%*%+;;;-%%%++++%;~~-%+++++++++++%;]]~~;*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++--;;+++++++++++++++++++++++++++++++++++++++++++++;;>;>;++++++++++++++++++++++%+-;+%*+++++-;>;*&&++++++++->>>%&!&+++++++++++++->>;*&&%;;-++++++++++++~]]]];&&++++++++++++++++>~]>%*=!!*%%-;;%&+++++->~~;%%%++++++++++>]]>+&!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++;;;++++++++++++++++++++++++++++++++++++++++++++++-;>>--%++++++++++++++++++++%%+;-+*%++++->>-%!%++++++++->>;%&=++++++++++++++;>>-*!!%-;*=++++++++++>]]-*&=!%+++++%+;>%+++++;~]>-*!!&*=&*---%*%++++;~~>-+%%+++++++++-~~;*!!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++-;;;-+++++++++++++++++++++++++++++++++++----+---+++--;;--*++++++++++++++++++++%+;--%%++++;>>-*!+++++++++->;;%=&++++++++++++++;>>+*!*-;+&=%+++++++->]>=!!!=%+++++++;~%&+++++;>~;%&!%+++**%-;+%*%++;]]~;;;-%%++++++++>~>%=!*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++-;;-++++++++++++++++++++++++++++++++++-++%%*%---++++-;-+*%+++++++++++++++++++%%-;-+*%+%;>]>+*=+++++++++-;>;++-++++++++++++++;>>+%=-;;+&&++++++%->]]=!*++++++++++-~;!%++++++;;-%!&+++++%*-;+%=+++;>]>;;;-+*++++++%->];&!*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++--;-+++++++++++++++++++++++++++++++---++&===*++--++++---+%++++++++++++++++++++*+;--%*++;>>;%&&+++++++++-;;;;;;;;>;;--+++++++;;>-%-]]]%=*+++++++-]]%!%++++++++++;~]*=+++++++;>%&!%++++++->>+*=%++->>;;;;;-%*++++++->>%&!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++%%+---+++++++++++++++++++++++++++--+++%%*!!!!=*++--+++-;--+%+++++->;%++++++++++%%-;-%&++->>-%!%++++++++++;>;;>;>>]>~>~++++++%;>;;;>]]-=!%+++++++-;>%=%++++++++++]]>&&+++++++;;%==+++++++-;;+&=+++->>-++-;;%&++++++-;>%&=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++**%+---++++++++++++++++++++++++-+%%*&&=!!*++*=*+---+++--;--%++++>~>%%++++++++++%+--%*%+;>>%&!+++++++++++;;;;;-;;>>>~>+*+++++;>;;;>>;*!*++++++++;;>+**+++++++++;>];*&++++++;;>*=&+++++++%-;%&=++++;;%**%--+%%+++++->;*=&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++=&*%---+++++++-----++++++++++-+*&=!!!!!*++++%&*+---++--;;-++++;]~-%&++++++++++*%--+*%%>>>%=&++++++++++%-;;-+**&&&%+*=&+++++;>>--;;+*!+++++++++;>>+*&+++++++++;>>+&=++++++->>%&*+++++++-;>%&=+++-;;&==%--;-%%+++%->;%!*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++&=*+--++++++-+%%+--+++++-+--+*!!!=&*%++++++++*+---++++-;;-+->]]~-*&+++++++++++*%--->>]>;*=%++++++++++%-;>-%=!!!!!=!!%+++++>>>-%+;+%*-%+++++++;>>-%*+++++++++;>;+&&++++++;>;%=*++++++%;>>%=&+++-;;*!&*+---+%%++->>;*!%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++++++++++++++++++**-;>+++++-+%&**+------+-++*=!=%++++++++++++%%-;;++++--;;>>]]~;%=!+++++++++++%*-;>>~]~-*!+++++++++++%-;;-%=&+++*&&+++++%->>;;;-;-;;;;;;-++++->;--+*++++++++;>;%&&++++++-;;%=*+++++%->>;*=*+++;>;%=**%+-;--+%+->~-*!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++->>---;++++++++++>;;-++++-+*!!=%+%++%%***%*==++++++++++++++++-;;-++++--;>>~>;+*!&++++++++++++%+;;;>~>%*=++++++++++++-;;-*=%++++++++++++-;>;++++;;>>>~>>;-+++%%--%&++++++++;>;%&&++++++-;;+-+%+++++;~~;*!%+++;;;%&*+*%+-;;;%%;~>+&!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++>]]~>;+**%%+%++++->>>++++-+%&!*&*&&&&=!!=!&%*++++++++++++++++-;>;++++++-+++-+%*!!+++++++++++++%%;;;-;-%&&+++++++++++++-;-%=*++++++++++++-;>+*&**%++->~>~;;;+&=%%-+**+++++%-;>;%=*++++++-;;;;+%++++;~~~+&!++++;>;+**++&*%-;;->~~>%&=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++-~]]>+=!%*%%%+++-->>>;++++-+&!!++&!!!!!!===&+-;>>>-*++--;;++++;>>;-++++-%*&=!=!!!*++++++++++++++%+;;---*=*++++++++++++%+;;---++-;--+++++++;;%=!!!*&*&%+-;;;;>*%&-;+%*++++++->>;%=*+++++++;;;---++->~]];*!&++++;>;%&=+++&*%-;>>]];%&=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++;>~>-%!*-;>;;>>~~~]~>;++++-%&!%+++++*%%+++++;;>>>+=*+>]]~>----~~>;++++-+%!!!!!=!*+++++++++++++++%+-;;-+*!+++++++++++++%%+-;;;;;~]>*+++++++;;+**%*=!!!&***&&*!=+;>>-%*%+++++-;>+%!%++++++%%+-;;;->~]]]>+&!%++++;>-&!*++++&*+-;>~>+&=&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++;>;;+%&*->~~~~~~]]~~;-+++-+%==+++++++++++++;>~>-*!=%>]]]~~;>>~]~~-++++-+%==%++++++++++++++++++++%*%+-+%==++++++++++++++*%--;;>~]]-&%++++++-;;%=++++++&!!!!!!&*~]]>%*!++++++-;>+*!++++++++&*%+-;>~~]]>%&==+++++>>*&!++++++*%%+;;+*!!%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++-;;+%%=*--;;-;;;-;-+++---+%&!&++++++++++++;]]>+*!!+>]]>;;-->>]]>;-------%&*++++++++++++++++++++++**%**&!%++++++++++++++%*+%%++--%=!+++++++-;+&=+++++++++%%+++>]]~;*==+++++++--*==+++++++++&&*%+;>>>+*=!!%++++++%=!&+++++++&&%++%&!%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++%-%&==&*&%%*&&***&==*+%%+*&!!%+++++++++++->>-+%&!+;~~-+%*%%++--+++++++++*!*+++++++++++++++++++++++*=!!!&++++++++++++++++%=&=&&==!!%++++++++%&!&++++++++++++++;~;+%&!%++++++%&&!!%++++++++++*=&*%*%%&=!=+++++++&!!&+++++++++*&**&!=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++%*!!!!!=%&!!!!!!!!!!!&==&=!!%++++++++++++**&=!=!!+;;*=!!=!===&&&&******&=!%++++++++++++++++++++++++%%*+++++++++++++++++++%&=====&%++++++++*!!&+++++++++++++++-*&=!!&++++++++%&=%++++++++++++%&=&==!!!%++++++++++++++++++++++*=!!!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&++++++++++==**++++%*&*%%&&*%+*=!!!!!+++++++++++++++*!==!=++*!!!!====!!!!!!!!!!!!!!=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&=!==*+++++++++++++++++++++++++++%&===*++++++++++++++++++++++++++%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++%%++++++++++++++++++++++++%*%+++++++++%%*&&*&&*&%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&,", -",&+++++++%++++++++++++%+++++%++++++++%+++++++++%+++++%++++++++++++++++%+%+%+++++%+++++%++++%+++++++++%+++++++++%+%+++++++++++++++++%+++++%++++++++%+%+++++%+%+%++++%+%++++++%++++++++++++++++%+%++++++%++++++++%+++++%+%+++++%+++++%+%+++++++++%+++++++++++++++++%+++++++++++++++++++++%+++%++++%+%++++++++++++++++++++++++%++++++++++++%++++%+%+%+++++%+%++++++++++++++++++++%+%+%++++%+++++++++++++%+++++++++++++++++++++++++++++++++&,", -",==&&&=&&&&=&&&=&&&=&&&&&=&&&&=&&&=&&&&&=&&&=&&&&&=&&&&=&&&&=&&&=&&&=&&&&&&&&&=&&&&=&&&&=&&&&&=&&&=&&&&&&=&&&=&&&&&&&=&&&=&&&=&&&=&&&&&=&&&&=&&&=&&&&&&&=&&&&&&&&=&&&&&&&=&&&&=&&&&=&&&=&&&=&&&&&&&=&&&&=&&&&=&&&&=&&&&&&&&=&&&&=&&&&&&&=&&&&=&&&&&=&&&=&&&=&&&=&&&&=&&&=&&&=&&&=&&&=&&&&=&&&&=&&&&&&=&&&=&&&=&&&=&&&=&&&=&&&&=&&&=&&&=&&&&=&&&&&&&&&=&&&&&&=&&&=&&&=&&&=&&&=&&&&&&&&=&&&&=&&&=&&&=&&&&=&&&=&&&=&&&=&&&=&&&=&&&=&&&=&&&!,", -",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"}; diff --git a/src/frontends/ChangeLog b/src/frontends/ChangeLog index 8f559a5b2e..3eef910991 100644 --- a/src/frontends/ChangeLog +++ b/src/frontends/ChangeLog @@ -1,3 +1,7 @@ +2003-01-11 Angus Leeming + + * screen.C (SplashScreen): load up banner.ppm rather than banner.xpm. + 2003-01-05 John Levon * LyXKeySym.h: pass Encoding to getISOEncoded diff --git a/src/frontends/screen.C b/src/frontends/screen.C index 2e65048011..cac90a4c7a 100644 --- a/src/frontends/screen.C +++ b/src/frontends/screen.C @@ -86,7 +86,7 @@ SplashScreen::SplashScreen() if (!lyxrc.show_banner) return; - string const file = LibFileSearch("images", "banner", "xpm"); + string const file = LibFileSearch("images", "banner", "ppm"); if (file.empty()) return; diff --git a/src/frontends/xforms/ChangeLog b/src/frontends/xforms/ChangeLog index dc71237a3e..473877b950 100644 --- a/src/frontends/xforms/ChangeLog +++ b/src/frontends/xforms/ChangeLog @@ -1,3 +1,13 @@ +2003-01-12 Angus Leeming + + * FormFiledialog.[Ch]: initialise and use new static member variables + minw_ and minh_ to prevent the dialog from being shrunk in size. + Shrink too much and xforms crashes :-( + +2003-01-11 Angus Leeming + + * xformsImage.C (init_graphics): turn off support for XPM files. + 2002-01-07 Jürgen Spitzmüller * FormTabular.C: typo. diff --git a/src/frontends/xforms/FormFiledialog.C b/src/frontends/xforms/FormFiledialog.C index e0c5732414..029fcff833 100644 --- a/src/frontends/xforms/FormFiledialog.C +++ b/src/frontends/xforms/FormFiledialog.C @@ -180,6 +180,8 @@ public: // static members FD_filedialog * FileDialog::Private::file_dlg_form_ = 0; FileDialog::Private * FileDialog::Private::current_dlg_ = 0; +int FileDialog::Private::minw_ = 0; +int FileDialog::Private::minh_ = 0; // Reread: updates dialog list to match class directory @@ -389,6 +391,8 @@ FileDialog::Private::Private(Dialogs & dia) // Creates form if necessary. if (!file_dlg_form_) { file_dlg_form_ = build_filedialog(this); + minw_ = file_dlg_form_->form->w; + minh_ = file_dlg_form_->form->h; // Set callbacks. This means that we don't need a patch file fl_set_object_callback(file_dlg_form_->DirBox, C_LyXFileDlg_FileDlgCB, 0); @@ -737,6 +741,12 @@ string const FileDialog::Private::Select(string const & title, fl_set_button(file_dlg_form_->Ready, 0); fl_set_focus_object(file_dlg_form_->form, file_dlg_form_->Filename); fl_deactivate_all_forms(); + // Prevent xforms crashing if the dialog gets too small by preventing + // it from being shrunk beyond a minimum size. + // calls to fl_set_form_minsize/maxsize apply only to the next + // fl_show_form(), so this comes first. + fl_set_form_minsize(file_dlg_form_->form, minw_, minh_); + fl_show_form(file_dlg_form_->form, FL_PLACE_MOUSE | FL_FREE_SIZE, 0, title.c_str()); diff --git a/src/frontends/xforms/FormFiledialog.h b/src/frontends/xforms/FormFiledialog.h index 6e613d745d..0222844508 100644 --- a/src/frontends/xforms/FormFiledialog.h +++ b/src/frontends/xforms/FormFiledialog.h @@ -82,6 +82,10 @@ private: /// static FileDialog::Private * current_dlg_; /// + static int minw_; + /// + static int minh_; + /// string user_path1_; /// string user_path2_; diff --git a/src/frontends/xforms/xformsImage.C b/src/frontends/xforms/xformsImage.C index 2917f5c9c4..2171221ea2 100644 --- a/src/frontends/xforms/xformsImage.C +++ b/src/frontends/xforms/xformsImage.C @@ -442,7 +442,10 @@ void init_graphics() flimage_enable_tiff(); flimage_enable_xbm(); flimage_enable_xwd(); - flimage_enable_xpm(); + // xforms can load most XPM files, but will occasionally crash + // with some files created by ImakeMagick's convert program. + // Turn off xpm support for the time being. + // flimage_enable_xpm(); // xforms stores this permanently (does not make a copy) so // this should never be destroyed.