Caml1999O031 3T! D?(! D?(! G- G,@()*! Y 8"Z(8 yVPO 6!Vch@hh@@h@T( C {V4 "T C {V4!T 3!T56@[ 8#(Oj q " E Dhi@hi@ h1" D D Ch1" D D C  "  " "V   "T  "  @?@(O 1! D ChhCVc^ E ^ E ^Vw  i # F E D C h4" D D Ch4" D D C  yVcTdi@  yVcTdi@  "  ""V  "T  " @i@ T#@6 T@6  "V @( @()*Ol?@?i  }U\" E Dhi@hi@ h4" D D Ch4" D D C " ""V  "T "C  @"VV 68'8#I  @I  zUcC C hhh CUg?l?@?i  }U|\  # F E D C yV[h4" D D Ch4" D D Chi@hi@ " ""V "T "C @"VII @I  zUcC CC Tg?l?@?i  }U\ }U\  # F E D C h4" D D Ch4" D D C  yVcTdi@  yVcTdi@ " ""V "T "C @"VII @I zUyc zUacC CC  @? ? C"V ? I IC C@( D@ & D@ & D@ & D@ &)*D C O cT56@[ h "^%h" C W h"^%D C # F E D C h" D Ch" D CyV\ "V+ D @2" D @2"C nD $ D @2" D @2"C nD $ "V# 2+% 2+ oC n$2+ 2+ oC n$C " E D C h" D Ch" D C D @ D @ JC nACh"n5Ci"n2" 2"D'2" 2"D ' "V2" 2"C nD $2" 2"C nD $)*()*OcT56@[c D! ! D CChICzV8! +8"@ h@" % )*OcT56@[cD! ! D C        % !%WC G! D CC +IG%C ((+? +8" C@()*D CC 8!|V 8!|ICzV8!@ ! D C      h@&)*^ yV^ E D C ! A_T*^ C ^ D    ! A_h{V  2&()*D C _(56@[C @C8#(^(Y8" C Z(8 yVC+ @ 8#()*D C O6^lh8"h?O? + +  ,  "+gC^ +Q8 "@( G$Cmo + Cmo DG"G& DG$)*^ _(Y 8"Z(8 yVC 8#()*D C ^ C ^ Dh o^lh8"h? +  }U;\ ^ E D C ! oo }U\ _ zUc zUcc ^ C^  +R8 " +(c(^(CO8 ^h ^ +h }UH\c }U3\  #V ^ !{V_!_ zUc zUc^@()*C yVd( ^ C ^ D##U C ~V5] ]^^C^6 ]^^( )* oC {V 8#h" D D C (()* ojyV7 ^ E C^ C^ E D CyVyV  yV^ (Cmn@ ! ! G!$)*+ m DG"G&! ! DG!$ )* G "G'Cmn@ ! ! G!$)*+ m DG"G&! ! DG!$ )* G "G')* G !G')* G !G')* D$ )* C$ )*  G$  h G$ )*  F$  h E$ )*hG!@@ G "G'd(" ^V2%(O  " , %)*VD C D C ^V(2&CC @@IC()*c(^ E D C yV2" #@(2" #@h@()* ^V C "?(C "?(c?h? ,p + ,O^ E D C  O"  #@( )*O ^ C^ Do 8#h 8#"o 8# >()*O O O ^ E D Ch^ E D C ^Vc ^  n^h  }U\^ _ zUc   ^ D {VTT d^ C {VTT A _d  }U\^ n_ zUc(}Vcc ^  n^h  }U\^ _ zUc A  _c  }U\^ n_ zUc( }Vbc ^  n^h  }U\^ _ zUc A _d  }U\^ n_ zUc(   8&(()* ^ C Oo8#h8# A()*C Cn ID Dn J()*D C D C "V & &)*C CyVD Dy()*C C{Vd(C CyVD D{Vd(c(c()* ^ D ()* ^ C ()* ^ E (l?l? + + +88@ + + +d +M +* +v +5lh8" + +Slivh?   , !zK+ + + + ++{+g+R ++ !+    %(*,,e5?k? +-%+ + +;(+ +  !+++ +6  "+    "$&(*,.02468:<>@BDFHJLNPRTVXZ>.(0D( C + @! D @()*D C V^ Wc(C ?_((D C V?(?(E +8"8 !C +G "(D (E +8"8 %)* D" VHC Y$CG" D C XVC i@ F#IZ(8 yV"C @F#I( &)*DE @@KJ(chCA + + +n +Ii !h! >( C ?88! + @(+ + +T +_ +R+EA9wJ=;',G&Switch&_none_@@AA"??A@@@@@@@@@@@,F AA@@@,F  AA@@@,F  A A@@@,FA"??Aôô@%arrayH8@@M@A@A@@@@@@=@@@$boolE8@@%false^@@G@$true_@@M@@@A@@@@@N@A@$charB8@@@A@@@@@R@A@#exnG8@@AA@@@@@V@@@5extension_constructorP8@@@A@@@@@Z@@@%floatD8@@@A@@@@@^@@@*floatarrayQ8@@@A@@@@@b@@@#intA8@@@A@@@@@f@A@%int32L8@@@A@@@@@j@@@%int64M8@@@A@@@@@n@@@&lazy_tN8@@O@A@A@Y@@@@@w@@@$listI8@@P@A"[]a@@@"::b@@@Q@@@ @@A@Y@@@@@@@@)nativeintK8@@@A@@@@@@@@&optionJ8@@S@A$Nonec@@@$Somed@@@@@A@Y@@@@@@@@&stringO8@@@A@@@@@@@@$unitF8@@"()`@@@@@A@@@@@@A@ .Assert_failure\ p@@@@Jm@@@@@@V@@AҠ=ocaml.warn_on_literal_pattern֐@@0Division_by_zeroY @@@Aܠ  @+End_of_fileX !@@@A䠰@'FailureU )@%@@A@0Invalid_argumentT 2@.@@A$#@-Match_failureR ;@:67@@\@@A21@ )Not_foundV I@@@A :9@-Out_of_memoryS Q@@@ABA@.Stack_overflowZ Y@@@AJI@.Sys_blocked_io[ a@@@A$R'Q'@)Sys_errorW i@e@@A-[0Z0@:Undefined_recursive_module] r@qmn@@c@@A;i>h>@ %bytesC8@@@A@@@@@B@@@&Stdlib&shared A8!a@@A&Shared  C@@@0lambda/switch.mlQ8IQ8U@@]A&Single C@@@ Q8VQ8d@@iB@@A@Y@@@@@Q88@@@@n@'t_storeB8!a@#ctx@@B'act_get@@@@@SD@@@@@@5T6T@@D.act_get_shared@@@@@h[3D@@@@@@@@@ŰOUPU@@E)act_store@@L  @@ @@@ ;@@@ <@@@ =@@ :@@ 9@@ 8@ )) )* @@_@$findt@o@@@ C@!a@@@@ B@@ A@@ @@++++@@`@(find_optu@@@@ H@!a@@@@ GR @@@ F@@ E@@ D@,7,;,7,a@@a@*find_firstv@@@@@ P@@@ O@@ N@ܠ!a@@@@ M@@@ L @@ K@@ J@@ I@ -- --6@@b@.find_first_optw@@@@@ Y@@@ X@@ W@!a@y@@@ V@@@ U@@ T@@@ S@@ R@@ Q@0-//!1-//_@@/c@)find_lastx@@@@@ a @@@ `@@ _@+!a@o@@@ ^ @@@ ] @@ \@@ [@@ Z@U40W0[V40W0@@Td@-find_last_opty@@@@@ j.@@@ i@@ h@P!a@f@@@ g2@@@ f@@ e@@@ d@@ c@@ b@;1v1z;1v1@@~e@#mapz@@!a@_!b@]@@ o@{ @@@ n @@@ m@@ l@@ k@C22C22@@f@$mapi{@@c@@@ v@!a@V!b@T@@ u@@ t@ @@@ s @@@ r@@ q@@ p@J44J44I@@g@&to_seq|@!a@O@@@ {&Stdlib#Seq!t@@@ z@@ y@@@ x@@ w@P44P45#@@h@*to_rev_seq}@נ!a@I@@@ %#Seq!t@@@ @@ ~@@@ }@@ |@ T5y5} T5y5@@i@+to_seq_from~@@@@ @!a@B@@@ L#Seq!t@@@ @@ @@@ @@ @@ @0X561X562@@/j@'add_seq@f#Seq!t@@@ !a@8@@ @@@ @5 @@@ 9@@@ @@ @@ @X]66Y]66@@Wk@&of_seq@#Seq!t%@@@ !a@1@@ @@@ [@@@ @@ @za7M7Q{a7M7v@@yl@@@g*,h:}@S@@&internN8@@#mapA!t@@@.@@@/@@0@@@2kk@@3U$nextA@@@5ll@@?V$actsA͠@@@8!t@@@9@@:@@@<mm@@ZW@@A@@@@@jm@@@@^TA@(mk_store@@@@[O@X&@@@0P@6@@@P@@@@O@Y@@ZO@W@)o*o@@X@@@-f.[  @o%StoreO@!APӱ"MeQ@ӱT@U8@@@A@@@!z@!h@@@@@@@A@U8@A@A@@@@@@ A@   @@@!{@@@@ @@@!~@@@!}@@!|@@@@.@@@!@@@@!@@@!@@!@@!@@@@@@@!@@2@@@!6@@@!@@!@@!@@!@@@@(@@@!@@@@@!ڠ@@@!@@!@Q@@@!U@@@!@@!@@!@@!@@@@G@@@!@d@@@!@@!@@!@@@@V@@@!@s@@@!w@@@!@@!@@!@@@@@k@@@!@ @@@!@@@@!@@@!@@!@@!@@!@@@@!@@@@!@@@!@@!@@!@@!@@@@@@@@!@@@@@!@@!@@!@@!@@@@!@@@@!Š@@@!@@!@@!@@!@@@@@@@@@!@@!@@!@ؠ@@@!@ޠ@@@!@@@!@@!@@!@@!@@@@@@@@@!@@!@@!@@@@!@@@@!@@@!@@!@@!@@!@@@@@@@@!@@@@!@@!@@!@@@@!@@@!@@!@@!@@@@@ @@@!@@{{@@!@@!@@!@+@@@!@@@!@@!@@!@w@t@s@@!@@@!@rn@@@!@@!@@!@Cz@@@!m@@@!@@!@@!@l@i@h@@:@@@!@gc@@@!@@!@@!@\o@@@!b@@@!@@!@@!@a@^@]@@S@@@!@\X@@@!@@!@@!@ud@@@!yh@@@!@@!@@!@W@T@S@@m@@@!@RNM@@@!@@!@@!@[@@@!W@@@!@@!@@!@I@F@E@@@@@!@D@@@@!@@!@@!@L@@@!S@@@!X@@@!@@!@@!@@!@?@<@;@:@@@"6@@@"@@"@5@2@1@͠0@@@",@@@";@@"@@@"@@"@)@&@%@$@@@" @@@" ,@@" @@"@ @@@@@@"@@@"&@@"@@@" @@" @@@@@@@"@@@"@@"@@"@ @ @ @@@@" @@@"@@"@@@"@@"@@@@.@@@"@@@"@@"@@"@@@@?@@@""1@@@"!@@" @@@"@@"@@@@<@@@"*@Y@@@")`@@@"&@@@"'j@@@"(@@"%@@"$@@"#@@@@\@@@".@y@@@"-@@",@@"+@@@@k@@@"3@@@@"2Ԡ@@@"1@@"0@@"/@@@@@@@@";@@@":@@"9@@@@"8@@@"7@@"6@@"5@@"4@@@@@@@@"D@@@"C@@"B@@@@"A@@@"@@@"?@@@">@@"=@@"<@@@@@@@@"L@@@"K@@"J@ڠ@@@"I@@@"H@@"G@@"F@@"E@@@@@@@@"U@@@"T@@"S@@@@"R@@@"Q@@"P@@@"O@@"N@@"M@@@@@@@"Z@@@@"Y@@@"X@@"W@@"V@@@@@@@@"a@@@"`@@"_@%@@@"^)@@@"]@@"\@@"[@@@@3@@@"f'@@@"e@@"d@@@"c@@"b@@~@}@J|@@@"kxw>@@@"j@@"i@@@"h@@"g@v@s@r@I@@@"r@fq@@@"qmlZ@@@"p~@@"o@@@"n@@"m@@"l@k@h@g@fem@@@"yd@@"x@@@"w@j@@@"vn@@@"u@@"t@@"s@`@]@\@[Z@@@"~Y@@"}@@@"|]@@@"{@@"z@U@R@@@QN@@MT8@@LAJI@@@"H@@@"@@"@@@"G@DCAA@@@"@@=@A%cases @yR@@@*?W@@@*@\@@@*A@@*B@@@*D j k@@P'actions @-`@*G@@@*I y z@@Q@@A@@@@@@ {} @@@@OA@%t_ctx _8!a@*c@A#off @@@@*d  @@S#arg@a@*g  @@T@@A@Y@@@@@  @@@@RA@#cut&Stdlib#refE@@@*`@*z@@@*`@*u@  @@U@(more_cutY@@@*`@*@@@*`@*v@    @@/V@'get_act@%arrayH@@*@@*@@*`@*@@*`@*@@@*`@*@#intA@@@*`@*@@*`@*@@*`@*@@@`W@'get_low@1@@*`@*Ǡ@@*Ƞ@@*@@*`@*@@@*`@*@.@@@*`@*@@*`@*@@*`@*@/)/0)6@@X@(get_high@\@@*@@*`@*@@*@@*`@*@@@+`@*@Y@@@+`@*@@*`@*@@*`@*@Zdj[dr@@Y@&ctests `8@@!n!A_@@@+lm@@d"ni"Ak@@@+xy@@e@@A@@@@@|}@@@@cA@(too_much#*@@@+"a@+@@@f@*less_tests$@@@@+xa@+0@@@@+{a@+6@@@+Ra@+7@@+8a@+1@@+2a@+.@@@g@(eq_tests%@4@@@+a@+@=@@@+a@+$boolE@@@+a@+@@+a@+@@+a@+/@@@+h@*less2tests,@\@@@,+a@+ܠb@@@,a@+@@+a@+@p@@@,*a@+v@@@,a@+@@+a@+Z@@@,a@+@@+a@+@@+a@+@@@am@(add_test4@@@@,a@,4@@@@,a@,:@@@,a@,;@@,C@@b@;[@@b@;Zb@5D@@b@;b@^ @@b@[^b@^@@b@^@b@^@b@^b@5@@@7c@4n@T""T""@@@(make_key@&@@@8c@9Wc@9X@@9Y@@9\c@9@@@9c@7 HI@@@9c@9@@@9c@7!@@7"c@7@V""V""@@ @(same_act@ڠ@:Q@:R@:yc@:M@@:^@@@:]c@9@@@:c@9@@9c@9@y%%y%%@@,@+inter_limitY@@@:c@:@(t(z(t(@@;@(ok_inter9G@@@:c@:@@@:c@:@((((@@O@)opt_count@@@@Adc@:@X@@@J@J@@Kc@>@@@@>Bc@:c@:@@:@@:d@:@((((@@v@÷@c@:c@:c@:c@:@@:@@:@@;d@:@6**7**@@@)heuristic@;c@;c@;c@;@@;@@;d@:@K,,L,,@@@$enum@Xc@;@Sc@;4c@;c@; @@; @@; @@; d@:@b0p0vc0p0z@@@,make_if_testW@5@@@N c@Mz@ @@@N c@M@m@@@N+c@M@@@@Mc@M@ @@@Mc@M@@@Mc@M@@Mc@M@@Mc@M@@Mc@M@@Mc@M{@@M|c@My@/;U;[/;U;g@@@*make_if_lt^@4@@@Nc@NH@@@@Nc@NN@3@@@Nc@NT@<@@@Nc@NZA@@@Nc@N[@@N\c@NU@@NVc@NO@@NPc@NI@@NJc@ND@4;;4;;@@/@*make_if_ge_@f@@@O)>/I>)>;@@7@.do_make_if_out@N@@@Pc@Pq@W@@@Pc@Pw@M@@@Pc@P}@V@@@Pc@P[@@@Pc@P@@Pc@P~@@Pc@Px@@Pyc@Pr@@Psc@Pp@L>>L>>@@I;@+make_if_out@z@@@QOc@Q@@@Qc@P@@@@Qc@P@@@@Qc@P@@'c@Q@@@Qc@QA@Qc@P@@6c@Q@@@Qc@Q A@Q!c@P@@@Qc@P@@Pc@P@@Pc@P@@Pc@P@@Pc@P@@Pc@P@<O>>=O>>@@@@-do_make_if_in@@@@R6c@Q@@@@R5c@Q@@@@R#c@R@@@@R"c@R@@@R!c@R@@Rc@R@@Rc@Q@@Qc@Q@@Qc@Q@n[@g@mo[@g@z@@H@*make_if_in@@@@Rc@S@@@Sc@RG@@@@Sc@RM@|@@@SPc@RS@@%c@R@@@SCc@RA@Rc@RY@@4c@R#@@@SBc@RA@Rc@R_)@@@Rc@R`@@Rac@RZ@@R[c@RT@@RUc@RN@@ROc@RH@@RIc@RF@^@@^@@@@M@&c_test@ΠS@@@[c@[@@@[c@Sw@@c@TS@@@[c@TA@Tf@X@@@Xc@Sxc@Sy@@Sz@@S{d@Sv@jBJBTjBJBZ@@EU@%thetaC@@@\1c@\+@@@\0c@\'@LLLL@@Zq@*switch_minX@@@\=c@\7@@@\@@m?c@m8@@m9c@l]@o`e`ko`e`x@@@@@[[bgbj@@A@@A dC@@oB@@AB@@C@,F[g @A+Switch.MakeA@@@,F]   8@A,Switch.StoreA@@@,Ff@A/Switch.CtxStoreA@@@,F f#@AA@@@,F AAè@@ff@P@A@A@xv@hf@QO@64@@@@@@XV@1/@  @@@@@`^@97@ @@@@@@qo@YW@<:@@@@@@us@MK@0.@ @@@@~@@@`]ZX i@BA@@AC@@D@@AB@@D@,F|z"o#Z  AA8Switch.CtxStore.mk_storeA@yx@@,F<(h:G)h:|@A4Switch.CtxStore.AMapA@~@@,F0AAx!t L8@@@A@@@!@@@@8h:N9h:\@@@@Q'compare!@ @@@.@@@@-@@@,@@+@@*M@)@Oh:aPh:h@@R@<@C@@AB@@C@,FYY  7@A6A@@@,F]Y  ^Y  @@@@@Q@@q@@Q@@@Q@@Q@@Q@~IAlvoT@"st@@@eQ@^@pp@@Y#add@@@@Q@@@@@Q@@@@Q@@@Q@@@Q@@uiquit@@Z%store@@@@;Q@@@@@,Q@ @@@@:Q@@@@Q@@@Q@ @@ Q@@@Q@@{{@@"^#get@@@@OQ@L @@@R@@@@Q@M@@NQ@@I  I  @@>_*get_shared@@@@Q@@@@@@@@@@Q@@@Q@@K  K  @@[`V@C@@A?E@@%F@@AB%paramA@@B@@oD@@ABC@B@@AC@@B@G@,EpY  Y  @@@@Q@@,@@Q@T@@Q@@Q@@Q@A}'F@,E@A)F@,E.K  /X  AA #Switch.CtxStore.mk_store.get_sharedA@@@,E4I  5I  AASwitch.CtxStore.mk_store.storeA@@@,E@{@@A@>@A:@7@AB4@C@,EHuiuIyAA$L@,D\ʰrs@A8A@@@,DDϰw@@F@,BV R mV R o@@AB@@A@BC@E@,Bt#T  T  @@@@@@@U@BV,@,@A+&B$@D@,Bd6T  @@A]3D@,B\:T   @@Aa7 DA,BH@A@;@9@A2@B,B4E]  ~@AFA@BA@@,B$IAHAè:@@]  ]  @Sp@@A@A@@@@@wv@ZY@ML@<;@@@@@@@{z@dc@LK@32@@@@@@@@@@qp@dc@SR@:9@@@@@@@@~}@cb@@@@@NMA@! @@@ @&B(A@@A#C@@D@@AB@LB@@A@D@,Bg` B Ihd  @A/Switch.Store.MeA@@@,AAAR8@@@A(@@@@@@@@@@R8@@@A/@@@@@@@@@@@@@@@@@@@@@@@@@@@ߠ@%@@@۠@@@@@@@@@@ֱ'contextS8@@@AZ@@@@@@@b b jb b }@@A@q(make_key@@@@T@@4@@@2@@@@@@@@T@@@T@@c ~ c ~ @@$r@s@AOD@@'includeC@@+E@@ABCs@E@,A0c ~ c ~ AA8Switch.Store.Me.make_keyA@/.@@,A6c ~ @@@r3@A@@A@B@@A@A@,A@ssS@AFA@=<@@,@PDAHAh@@#[h$[k@N{yb`NL         u s R P         S Q       t r Q O B @ . ,          ~ N L         f d 4 2fd86#! usKI\Z#!z@BMA@@hn@@AB )L@@h@@ACvd@@ N@@j@@AB M@@ lO@@AC@@i@@ABCD $V@@ b@@A `@@m@@AB X@@ J@@ACwE@@G@@AJF@@ W@@A S@@ K@@ABCDE I@@=l@@A _@@B X\@@ [@@c@@ABC Z@@ /]@@A ^@@ |a@@AB Y@@ Q@@k@@ABCDD@@ T@@A U@@dg@@AB R@@}f@@A 4P@@*p@@ABe@@H@@o@@ABCDEF@@p@,@Lo`e`y~b=b`AA9Switch.Make.test_sequenceA@@@,@$i__m`:`cAA0Switch.Make.zyvaA@@@,@[]^ g_x_AA;Switch.Make.abstract_sharedA@@@,?K[\ Y]]AA3Switch.Make.do_zyvaA@@@,?WLW`G[[AA9Switch.Make.make_clustersA@@@,?SSWWIAA7Switch.Make.make_switchA@@@,?QQSuSAA9Switch.Make.comp_clustersA@@@,? O0O<P_PAA1Switch.Make.denseA@  @@,?xN6NINNAA8Switch.Make.approx_countA@@@,?\MaMwN"N4AA;Switch.Make.particular_caseA@@@,?LM'M:M'M?@A6Switch.Make.switch_minA@@@,?@%LLLL@A1Switch.Make.thetaA@$#@@,>+^@@hBBHAA6Switch.Make.make_if_inA@*)@@,>1[@g@{\@@AA9Switch.Make.do_make_if_inA@0/@@,>7O>>Y@#@eAA7Switch.Make.make_if_outA@65@@,>p=L>>M>>AA:Switch.Make.do_make_if_outA@<;@@,>\CI>)><J>M>}AA8Switch.Make.make_if_boolA@BA@@,>HIF==G=>'AA;Switch.Make.make_if_nonzeroA@HG@@,>4OC=z=D==AA6Switch.Make.make_if_neA@NM@@,>U@=(=:A=M=xAA6Switch.Make.make_if_eqA@TS@@,>[:<<><=&AA6Switch.Make.make_if_geA@ZY@@,=a 4;; 8@@/^!r@AIAJ@@6_1@C@@AB@@A@@D@@ABC@@D@,;BAQAZ@yB'B@@A @B@@B@,;LAE@@@.IB@,;P@@An%cases@dx@@[`!i@dydz@@ba!r@ }}@@ibd@MC@@AB@@A@@D@@ABC@@D@,;u}}@B'u@@A @B@@B@,;'}@@@.|B@,;t+~@@A2@"c1(@8@@i"c2)@>?@@j@B@@A A@@B@@B@,;hIckJcp@@A B@,;\NKSOKW@@A$B@,;@S )Tqx@@A)B@,;$X @@A-B@,;\] @@A2B@,:a@@@6!B@,:e @@ @:"c1*@l@@k"c2+@rs@@lɰ@B@@A A@@B@@B@,:հ}")@@(Ap1@"c1.@@@n"d1/@@@o"c20@@@p"d21@@@q@!F@@AD@@E@@ABC@@3B2A@@AC@C@@%B@@AB@F@,: @@dA< F@,:| @ @@a@,b@+oBH $F@,:p !u@@tAL (FA,:L '{Ax@L "@$@A@B,: ,eie@@Aΐ46@"t16@4E@@ ;s"t27@4F4H@@ Bt =@B@@A A@@B@@B@,: IKO@@@ F B@,9 M@AA@ J I@@,9 Q@mC`b@%cases>@`q@@ cz!i?@`r`s@@ j{!l@@v~v@@ q| l@UC@@AB@@A@@D@@ABC@@E@,9 }%@ݐC+ |D@,9 6@A- ~D@,9 -v.v@b@,B5 @@A@B@@B@,9 9vz@@@< B@,9l =Vc>Ve@@A5F@"c1C@ K@@ ~"c2D@QR@@ $len1E\@@@-Fc@-:@^_@@ $len2F @@@-Tc@-;@j#k'@@  @*B@@A%A@@ C@@D@@ABC@@D@,9` Ѱyfszfu@@7A< D@,9< ְ~:  <@@;AF"l1Gb@-@@@ "h1Hb@-@@@ $act1Ib@-@@@ "l2Jb@-@@@ "h2Kb@-@@@!$act2Lb@-@@@!! @IE@@A*F@@J@@AR@BCQ@9G@@A"K@@BCH@@.L@@AXWBCD@@L@,90!&88@@AR!rW 'c@1@@@1c@1@00@@!9!4+q q@p@M@@ABCDE@@M@,8!B66@@@c@2d@2C$!iY@@c@2c@2c@2@5 7@@![!VMB@@N@@ABA%DE@@O@,8!c 6!@[b@2ːB!dO@,8!k)@A!fO@,8!m 4z 4z@@@b@2c@2eِCN!r>M@,8!y !4z @AA@!v!u@@,8l!}V@@AU!yEM@,88! (2MY )2Mh@ @@c@2Ld@21Cb!iX<@@c@2Ec@2Hc@2@ =1,6 >3iw@@!!~@N@@ABcDE@@O@,8(! I2Mb!@b@2: B!O@,8!)@ A!O@,7!@@A!sMA,7! X0  Y0(@AB!L,7! _0"@b@1B!L@,7! g0@@$A!L@,7!ð k/)@@(A!L@,7!ǰ o. p.@@-A!rT c@0s@@@0}c@0n@ ~& &@@!!հ@@M@@ABCDE@@M@,7d! , ,@o@@c@1d@1}OC$!iV@@c@1c@1c@1g@ +~ -@@!!4@N@@AB%DE@@O@,7H" ,!@b@1lB"O@,74" )@oA"O@,7" *U_ *U{@@@b@1Kc@1zCN">M@,6" *Um @AA@""@@,6"V@@AU"EM@,6"! ((4 ((C@@@c@0d@0Cb!iU@@c@0c@0c@0@ ' )DR@@":"5,r!@N@@AB cDE@@O@,6"B ((=!@:b@0B"CO@,6x"J)@A"EO@,6P"L@@A"HsMA,6L"Q & &@AB}"PGL,60"X!&@Pb@0B"YPL@,6"`!&@@A"]TL@,6"d! %@@A"aXL@,5"h!$!$@@A!rM Mkc@-@@@.c@-@!! !" @@"}!lOpc@.@!)v!*v@@"!hPxc@.@!1Uc!2Ud@@""@O@@Av@Bu@N@@ACvu@@,M@@ABCDE@@O@,5"!D"w!E"w@(@@c@0Zd@0C!!@d@.B#?-M@,4D#F!!/>@@A#D2M@,4(#K!v@@A#H6M@,3#O! HT! Hc@@@c@.d@.vC!iN @@c@.c@.c@.`@"  '1"  dr@@#h#cZOM@N@@ABNDE@@O@,3#p" H]!@b@.אB#p O@,3#w(@A#rO@,3#y@@A #ucMA,3#~"& "' #@AB#}tL,3#"- @b@.3B#|L@,3l#"4 $@@A#L@,3d#"8"9@<@@b@-c@-B#L@,3X#"D@@A#L@,3<#"H"I@b@-B#@@A@@AB@@@ABCD@@H@,3#"X"Y@>b@-B#D@,2#"`@@A"#D@,2#"d=A"@@!A&#D@,2#"h&@@%@(#@B@@B@,2#ư"nA  2@A1A@##@@,2#ʰ"rB  "sB  @i7Co"= + -C@!i\@H"= + >@@#!j]@"= + ?"= + @@@#%cases^@"= + A"= + F@@#&lcases_@@@@3 I Q"> I W@@##low`b@3B@"? p x"? p {@@$$highab@3H@"@  "@  @@$ $@ G E@@A-A@@H@@AB=C@@:B@@A-D@@#F@@ABC@ B@@A@I@,2h$ "C  @BU$H@,2`$&"C  "C  @c@3c@3C`$*&I@,2@$1"C  @c@4Wc@4 Cj$40H@,2 $;u@Al$62H@,2$="@  "@  @b@3dBr$>@7@A5@B21C+@F@,1$I"? p "? p @b@3QB~$J@@@A=@;@;@ABC8@D@,1$V"? p t@@A$S D@,1$Z#> I M@@@$W I@G@ABC@C@,1$a# v%%@AA@$^$]@@,1$e# v%%@gC#V""@%cases@#!V""@@$|$seenxҠd@7T@@c@8Ec@8U@c@8Wc@72@@@73d@7+@@@70d@7&@#@W""#AW""@@$%count#@@@7?d@79@@@7>d@7'@#RX""#SX""@@$&got_it@'d@7B@$-4#@@@7d@7U@@7Vd@7R@@@7d@7Dd@7C@@7E@@7Fe@7A@#rY""#sY""@@$(make_one@@8 d@7@d@7@Td@8-@@@8d@8@@8d@7@@7d@7@@7d@7@#e#$#e#$@@$(make_rec@W@@@9Id@8q@ d@8r$qK@@@8e@9@@@9d@8s@@8t@@8ue@8p@#k$x$#k$x$@@% !l @#u%m%u#u%m%v@@%!h!@#u%m%w#u%m%x@@%#act%@#u%m%y#u%m%|@@% %@ G@@AH@@A@@ABC@@D@@AI@@&J@@ABCdE@@IF@@AB@@BD@@K@,1%8#v%%@$A@@c@9c@9ŐB%="J@,1%D@A%?$J@,1d%F#u%m%#u%m%@ac@9`АB%H@(@A'@%@AB! C@@F@,1H%T#u%m%q@@A%Q F@,14%X$k$x$|@@A%U 2 ,@)@ABC@@E@,10%`$e#$ $ i$R$sAA=Switch.Make.make_key.make_oneA@%_%^@@,1%f$e##@@A%c@@?@A7@BC@@D@,1%n$Y""@@A%k"H@>@AB@@C@,1%u$X""$X""@AA@%s%r@@,0%z$"W""$#W""@AA@%x%w@@,0%$'W""@@@%|@Z@A@@A@,0%$-i$R$Z%@A$A@%%@@,0%$1i$R$a)@)B#,1@!l@6$>e#$ @@%!h@$De#$ $Ee#$ @@%#act@$Ke#$ $Le#$@@%%@ A@@AB@@C@@AB@C@@6B@@AB@C@,0%/@QA'% C@,0%$^g$%$-$_g$%$F@AVA@%%@@,0%$cg$%$4@-c@8,\B3%C@,0% @_A5%C@,0%İ$lf$$$mf$$@p@@d@8e@8jBA%'C@,0%а$xf$$p@@o@E%+C@,0x%԰$|s%4%>$}s%4%h@A=Switch.Make.make_key.make_recA@%%@@,0l%ڰ$s%4%F@AA@%%@@,0d%ް$s%4%V@e@9- C}!i@$k$x$$k$x$@@%"pld@8{@$k$x$$k$x$@@%!lc@8@$o$$$o$$@@&!hc@8@$o$$$o$$@@& #actc@8@$o$$$o$$@@&&@ C@@AD@@E@@AB4B@@'F@@A1A@@BC@B@@AWC@@B@;@@@AG@,0P&)$s%4%XU@0UBI&(F@,08&/[@XAK&*F@,00&1$q$%$q$%&@A]A@&/&.@@,0(&6$q$%@6bCV&5'G@,0&<$q$% @ChB\&;-F@,/&B@kA^&=/F@,/&D$p$$p@@oAb&A3F@,/&H$o$$$o$$@c@8vBg&I@5@A1@B0,B@,/&S$o$$@@~An&PB@,/&W$m$$%m$$@@As&U B@,/&\%l$$@@@w&YB@,/&`%^#p#z% ^#p#{@@;Switch.Make.make_key.got_itA#act@%Y""%Y""@@&m!r%@@@7f@7@%\#=#K%\#=#L@@&y&t@B@@A A@@C@@AB@C@@ B@@AB@@@@AC@,/|&%1]#Y#c)@@(A'&C@,/p&%5\#=#G-@@,A*&@B B@,/h&%;[##&%<[##:@A3A@&&@@,/`&%@[##2@A7A@&&@@,/D&%D[##<@@;A9&BB,/0&%Jc##%Kc##@@BAC$act0@%S_#|#%T_#|#@@&%index@%Z_#|#%[_#|#@@&#rem&,@@@7X@%e_#|#%f_#|#@@&&@ D@@AK@!F@@ABE@@N@C@@ABCLHF@,/$&ϰ%wa##%xa##@@oA-&F@,/&԰%|`##%}`##@@@e@7f@7zB9&F@,/&%`##>@@A=&!FD,.&|BAA@x&WBH,.&%&&v@@uA 䐰%y%%~@!t@%y%%@@&#lenL@@@9d@9@%z%%%z%%@@'!ac@9@%{& &%{& &@@' &do_rec@x@@@:d@:/@@@:sd@:0@@:1e@:.@%|&-&9%|&-&?@@'"'@!C@@D@@AB0B@@8A@@AC@B@@A@D@,.'/%|&-&1@@AE',@@A  B @CA,.'8%{& &%{& &)@AŐBO'7@@A@B@B ,.'B%{& &@@AW'?B@,.'F%z%%@@@Z'C@ @A@A@,.X'L%&&%&&@3@@e@:te@:f@:;Switch.Make.same_act.do_recBq!iK@&|&-&@&|&-&A@@'c!bHc@:I@&&h&t&&h&u@@'k'f@ B@@AA@@B@nD@@ACB@@C@@AB@k@@@AB@,.L'z.&"&&@@$A"'wBA,.D'&(&h&x&)&h&@A+B)'@@AA ,.4'&1&h&p@@3A0'A@,.('&5}&D&X&6}&D&\@@8A5' A@,.'&:}&D&J@@<@9'A@,.'&>1;;&?1;;@e@@d@Md@N6e@N  8B M萰&R/;U;W C@$testY@ H&W/;U;l@@'#argZ@&]/;U;m&^/;U;p@@'!i[@&d/;U;q&e/;U;r@@'$ifso\@&k/;U;s&l/;U;w@@'%ifnot]@&r/;U;x&s/;U;}@@''ɰ@!D@@AC@@BA@@B@@-E@@ABC@CB@@A@G@,-'ݰ&1;;&1;;@A vA@''@@,-'&1;;AA zA@''@@,-'&1;;@f@N* AH'H@,-'&0;; @@ @L'!E@,-'&6<<&6<(-D@,-(4&<<<&<<<@@ AC#argj@ &:<<@@(A'!ik@&:<<&:<<@@(H($ifsol@&:<<&:<<@@(O)%ifnotm@&:<<&:<<@@(V*(Q@ D@@AC@@BA@@B@@AC@B@@AC@@B@D@,,(e' ><< @@ A0(bD@,,(i':<< @@ @4(fD@,,(m'A=M=Q @@ @{#argn @ !'@=(==@@(y+!io @'$@=(=>'%@=(=?@@(,$ifsop@'+@=(=@',@=(=D@@(-%ifnotq@'2@=(=E'3@=(=J@@(.(@ D@@AC@@BA@@B@@AC@B@@AC@@B@D@,,t('ED== N@@ M@#argr @ W'NC=z=@@(/!is@'TC=z='UC=z=@@(0$ifsot@'[C=z='\C=z=@@(1%ifnotu@'bC=z='cC=z=@@(2(@ D@@AC@@BA@@B@@AC@2B@@A C@@B@D@,,T(Ͱ'uG=>'vG=>@7@@d@Pd@P#e@P A 'F== @#argx@ 'F==@@(4$ifsoy@'F=='F==@@(5%ifnotz@'F=='F==@@(6(@C@@A A@@B@@AB@eB@@A@E@,,8('G== @@ @(( C@,,)'J>M>]'J>M>r@m@@d@PXd@Pfe@Pb ȐA "'I>)>+ @#arg}"@ 'I>)>?@@)8$ifso~@'I>)>@'I>)>D@@)#9%ifnot@'I>)>E'I>)>J@@)*:)%@C@@A A@@B@@AB@B@@A@E@,+)5'J>M>Q @@ @()2 C@,+)9'M>>'M>>@@@d@Pd@Pe@P B 0'L>> @!h0@ 'L>>@@)S<#arg-@'L>>'L>>@@)Z=$ifso+@(L>>(L>>@@)a>$ifno)@( L>>( L>>@@)h?)c@C@@!D@@ABA@@B@@AC@B@@A@F@,+)u(M>> 8@@ 7@2)rD@,+)y(!R?3?=("R?3?O@@@d@Qd@Qe@Q JA 7?(4O>> U@#ctx?@ Z(9O>>@@)A!l5@(?O>>(@O>>@@)B!d2@(FO>>(GO>>@@)C'mk_ifso0@(MO>>(NO>>@@)D'mk_ifno(@(TO>>(UO>?@@)E)@'E@@AC@@$D@@ABA@@B@@AC@&B@@AC@@B@H@,+)(iR?3?X(jR?3?e@K AA)F@,+x)Ȱ(pR?3?f(qR?3?s@C AH)E@,+l)ϰ(wQ??$@@ AL)!E@,+X)Ӱ({U??(|U??@@@d@Q=d@Qce@QM BZ)/F@,+8)(V?? @A=Switch.Make.make_if_out.(fun)A@))@@,+)(T?? @@ Ac)8E@,+)(O>? @@ @g))hBB,)hBB9@INA8+>C@,)H+E)hBB:)hBBG@AUA?+E!B@,)<+L)gAA@@ZAC+I%B@,)8+P)fAA)fAA@A_A@+N+M@@,)+U)fAA@@c@K+R@.@A+@A@,)+[*N"N'*N"N3@?@@g@]g@]h@] JB&*MaMc \@%cases@ a*"MaM|@@+}t!i@*(MaM}*)MaM~@@+u!j@*/MaM*0MaM@@+v"l1 c@\@*7MM*8MM@@+w#_h1c@\@*?MM*@MM@@+x$act1c@\@*GMM*HMM@@+y"l2%c@\@*OMM*PMM@@+z#_h2&c@\@*WMM*XMM@@+{%_act2+c@\@*_MM*`MM@@+|"l3=@*fMM*gMM@@+}"h3=@*mMM*nMM@@+~$act3A@*tMM*uMM@@++˰@IGD@@ABE@@J@@AjC@@!K@@ABCgB@@cA@@A]F@@GH@@1L@@ABCD@@L@,(+*MN@@ A+ L@,(+*MM*MM@z ڐB+@$@A@@AB@@ABC@@H@,(h,*MM*MM@c@\ B,@0@A.B'@%@%@ABC@@F@,(@,*MM*MM@c@\ B,@7@A4@2@AB@@C@,(,*MM@@@,C@,',*NN @@ Aw*N6N8@%casesw@*N6NN@@,.!ih@*N6NO*N6NP@@,5!je@*N6NQ*N6NR@@,<!l@@@]d@]@*NUN]*NUN^@@,H,C@$C@@AB@@A@@D@@ABC@PB@@AC@@B@D@,',W*NN+NN@@DA;&ntests@@@^@+ NN+ NN@@,e,`@JGMFPE@@A&@B%@%@A#@H@@ABC$@H@,',w+NN+ NN@ eB\,w4D@,',~+&NN@=@@e@^,e@^Se@^JsCj,BD@,',+4NN5@@xAn,FD@,',+8NjNn}@@|Ar,JD@,'|,+<NUNY@@@u,NL@K@ABH@C@,'`,+CP:PA+DP:P[@%floatD@@e@_Baɐ+VO0O2@%cases@@@^@@@^@@@^@@^@@@^@+mO0O=+nO0OB@@,!i@+tO0OD+uO0OE@@,!j@+{O0OF+|O0OG@@,!l)@@@^d@^@+OhOr+OhOs@@,!h0@@@^d@^@+OO+OO@@,&ntests4@@@_d@^@+OO+OO@@,,@GE@@AUD@@%H@@A@B@@BC:A@@6F@@AI@@C@@ABD@gE@@AD@@C@@B@@ABC@J@,'X-+P:PT@@@g@_g@_h@_A-",K@,'D-)+P_Pf+P_P@g@_B-+5I@,'4-2+P_Pp @@@g@_g@`h@_-B-9CI@,',-@+P_Pq+P_P@&@@h@_h@`i@_;B-GQJ@,'$-N+P_P@@@i@_i@`j@_IA-U_K@,'-\,P_P@@@i@_i@`j@` WA-cmJ@,&-j,OO,OP@Q@@d@_#d@_Oe@_>fC-r|I@,&-yk@@jA-uIA,&-~,&OO,'OO@AqC-}{@z@Aw@BDu@H ,&-,1OO|@@{A- H@,&-,5OO,6OO@@@@^d@^@@@^d@^@@^d@^B-@@A@@AB$C@F@,&-,ROhOz,SOhO@٠@@@^d@^@@@^d@^@@^d@^B-@@A@B@@AC@D@,&|-ǰ,oOhOn@@A - D@,&p-˰,sOJOZ,tOJO^@@A%-D@,&`-а,xOJON@@A)-DA,&T-A@*-Ѱ@@AB@C,&@-ܰ,SuSy@AA@--@@,&8-,SuS@c@aېBᐰ,QQ@!s@,QQ@@-#len H@@@`6d@`+@,QQ,QQ@@.,min_clusters@@@`Vd@`H@@@`Rd@`B@,QQ,QQ@@.!k-O@@@`jd@`\@@@`fd@`C@,RR,RR@@.%'get_min@@@@`d@`m-e@@@`d@`n@@`od@`l@,R4R<,R4RC@@.:.5@E@@A-D@@MB@@ABBC@@VA@@AC@dB@@A@F@,&.Im@?Ac.DE@,%.K,S!S+,S!SP@@@e@af@ag@a}LCs!i@@d@ad@ad@a~d@ad@`@-RrRv-SjSr@@.k!je@`@-RR-S]Sg@@.s.n@9@AF@@H@@AB;;98BC6@I@,%.}-%S!S?-&S!SL@s@@h@ah@ai@a~A2.I@,%.-3S S-4S S@@@f@ahg@a_C>."I@,%p.-?RS-@SQS\@@AC.'I@,%\.-DRR-ERR@@@i@a i@a-j@aAQ.5J@,%H.-RRR-SRR@-@@g@ah@a4B].AI@,%0.-^RR-_RR@j@@g@`g@`h@`Ck.OI@,%.İ-lRR-@@Ao.SI@,$.Y@Ap.ð@@U@ABRC@G@,$.ΰg@@A.E@,$.Ѱ-yR4RD-zR4RmAA !Switch.Make.comp_clusters.get_minA@..@@,$.װ-R4R8@@A.԰@@A@BC@DA,$.-RR -RR0@AڐB.@@AB@C ,$.-QQ-QR@B.@@A@B@B@,$.-QQ@@A.B@,$.-QQ@@@.@@A@A@,$.-R4R].@d@`0B ᐰ16@!i@;-R4RE@@// @ A@@A@B@@A@A@,$t/@BA/A@,$h/-R4RV-R4RW@@GA/ A@,$X/-R4RHL@@K@/A@,$P/!-VVVZ @A=Switch.Make.make_switch.(fun)A@//@@,$(/&-V V-VLVS@@@c@dd@d)+B-SS=@#loc@B-SS@@/F%cases  @@@b @@@b @@@b@@b@@@b @.SS.SS@@/_'actions c@dCe@b@@@b@.SS.SS@@/m!i@.SS.SS@@/t!j@.SS. SS@@/{"ll @@@bFd@b(@.+SS.,SS@@/"hh @@@b_d@b.@.7ST.8ST @@/#tblr.@@@bd@bk@@@bud@bd@.ITT#.JTT&@@/!t Y@@c@dfc@b@@c@dSc@b@@@bd@be@.aT@TH.bT@TI@@/%index .@@@bd@b@@@bd@bf@.sT^Tf.tT^Tk@@/)get_index@)d@b$d@b@@bd@b@.TwT.TwT@@/$actsc@c@@@cd@c@.UU.UU@@//@IG@@AE@@O@@ABF@@-N@@AvJ@@BB@@CM@@ACDA@@H@@AD@@C@@AeL@@yK@@ABCE@!vB@@A@O@,$0.VV#.VVK@AA@00 @@,$0@@A0,OA,#0.UU.UV@AB04.@B+*D"!E@N ,#0%.UU @c@d%B0% N@,#0,.UU+@@*A0)N@,#p00.UU.UU@@@e@cf@c5C!k @@d@cvd@c~d@c_@. U7U;.UU@@0N!l!@@@czf@cb@. UKUU. UKUV@@0Z!h!@@@c{f@cc@/  UKUW/  UKUX@@0f#act!@@@c|f@cd@/ UKUY/ UKU\@@0r%indexf@c@/ UlUv/ UlU{@@0z"kk@@e@ce@ce@c@/,UU/-UU@@00@nQ@A+R@@@AB@@A1@'@A"@E@,!10FTT@@@D1A@,!10JVV10KVVJ@$unitF@@e@doe@dnC#actd@d@0^VV(0_VV+@@1!i d@d8@0gVV,0hVV-@@11@B@@AA@@B@lB@@AC@@B@B@,!t1ΰ0vVV=,@c@d[B$1B@,!d13@@&1B@,!$1װ0VV0VV@@A#ctxx@0VVV_0VVVb@@11ݰ@ B@@A A@@B@#TB@@AF@@BsD@@C@@A_E@@BC@B@,!10VV0VW @(@@d@ed@ePe@e ܐB&1C@, 20WW0WWH@AA@21@@, 20VV@@A/2'B@, 2 0VfVm @@@32@(@A'@A@, d20WW'0WWG@@@;#argD@@@eX@0WW 0WW#@@22@ A@@A@#B@@AKE@@BC@@D@@AC@A@, \2,0G[[1@A0A@2)2(@@, H200F[[0F[[@!@@c@id@iz;B͐0WLWNP@#loc@U0WLWc@@2S%cases##@@@e#@@@e#@@@e@@e@@@ee@e@1WLWl1WLWq@@2n'actions#c@fc@e@@@ee@e@1"WLW|1#WLW@@2~!sT@@@ef@e@1/WLWd10WLW@@2*n_clusters@16WLW17WLW@@2!k@1=WLW1>WLW@@2#len @@@ed@e@1I WW1J WW@@2!r 1@@@fd@f1@@@fd@f1@@@fd@f@@fd@e@@@ed@e@1l!WW1m!WW@@2!t !"#|@@c@fc@f@@c@id@i@-$@c@id@i@c@ic@f@@@f%d@e@1"WW1"WW@@2%index #2&@@@f;d@f5@@@f:d@e@1#XX1#XX@@2%bidon #T@@@fPd@f@@@@fEd@e@1$XX$1$XX)@@3)get_index@Ed@fX;d@fY@@fZd@fV@1%XJXR1%XJX[@@3)add_index@Bd@f2Y@@@g{d@f@@gd@fW@11YPYX11YPYa@@3.$zyva@d@g@"`@@@hd@g"@@@hd@g@@g@@ge@g~@18YY18YY@@3G $acts!&@@@iZd@i>@@@iHd@i9@1E[b[j1E[b[n@@3X3S@E@@O@@ABEM@@gK@@ACF@@YL@@A~J@@BDA@@G@@A!D@@BB@@H@@AC@@I@@IN@@ABCDE@EB@@A@O@, 83{2#F[[2$F[[@A?Switch.Make.make_clusters.(fun)A@3z3y@@, (3Q@@AH3}*OA, $32.E[b[q2/E[b[@ABO3@2@A/.B,+C'&E@N , 32:E[b[ @AA@33@@, 32>D[@[D2?D[@[_@#"@@c@i8d@iBe3N@,3 @@Ah3N@,32M8YY@@Ak3A@<;9@8@ABCD5@M@,32V1YPYb2W6YYAA #Switch.Make.make_clusters.add_indexA@33@@,32\%XJX\2]0YDYOAA #Switch.Make.make_clusters.get_indexA@33@@,p32b%XJXN@@A~3@c@_@AB^@[@ACZDK@K@,l3İ2l$XX,2m$XXF@AA@33@@,\3ɰ2q#XX2r#XX@AA@33@@,P3ΰ2v"WW2w"WX@ԐB3ΰ@y@t@ABonjig@BCDb@H@,43۰2!WW2!WW@5B3۰ zyu@r@ACDm@G@,(32!WW@@A3G@,32 WW@@A3@@A BCy@FA,3A@3@BC@D,32-XX2/YYA@#@@e@ff@fLCOT@#act@Z2%XJX_@@4!i3H@@@ff@f@2+XX2+XX@@44@A@@A3B@@C@@AB@B@@A?D@@cC@@AB@C@,4-2/YY%3@AxA@4*4)@@,412/YY(2/YY@@A )Switch.Make.make_clusters.get_index.(fun)A@404/@@,47=@@A443C@,4:2,XX@@A847C@,4>2+XX@@A;4;@"@"@AB@B@,h4E2(XX2(XX@@AD!i6c@f_@2'XlXx2'XlXy@@4Q4L@57F@@A6@G@@AB3@G@,\4Z3'XlX~3'XlX@c@fcc@fgB]4]@D@A?@E@,<4f3&XbXh@@@c4cA@,44j3/YY23/YY?@c@f;Bl4k@A@@A@kC@@ B@@AB@A@,$4z@F@v4u A@,4|3$5YY3%5YY@$@@d@gze@gRԐC#acth@331YPYe@@4!i3@@@ge@g@3>2YhYr3?2YhYs@@44@A@@B@@AB@D@@AC@@B@@AB@B@,43O5YY+@AA@44@@,4/@@A&4B@,43V4YY@@A*4B@,43Z3YY@@A.4B@,43^2YhYn@@@14@@A@A@,43dE[b[3eE[b[@d@i\DB4@b"A@@A@@A@,4 @K@4A@,4˰3sF[[3tF[[@)@@e@ie@iVC!i#@3F[[3F[[@@4̠#act$@3F[[3F[[@@44@ C@@AD@@&B%A@@AB@B@@A@D@,4)@vA4DA,4}Az@4@@A @B,H43B[[*3B[[;@@>Switch.Make.make_clusters.zyvaAɠ!j@38YY38YY@@5 à"ird@g@38YY38YY@@5Ġ!inc@g@39YY39YY@@55@ C@@AA@@B@@AB@ I@@D@@ABH@@F@@AC@@B@@ABG@@E@@ACD@@@@AC@,4573B[[:@@9A854C@,,5;3@ZZ3@Z[ @$@@d@he@gf@hQFCH!l&@@@hf@h@3>ZZ3>ZZ@@5Uɠ!h &@@@h8f@h@4?ZZ4?ZZ@@5a5\@F$FI+D@@AG@@M@ABL@K@&E@@ABCL?ZZ@&@@@h7f@hL&@@@h9f@h@@h f@h(B5@G@A@BCC|E@,54Y>ZZ4Z>ZZ@n'@@@h f@h'@@@h!f@h@@h f@hƐB5C@,5ɰ4q>ZZ@@A5C@,5Ͱ4u<ZCZM4v<ZCZj@ѐCԠ!l''@@@gf@g@4;ZZ,4;ZZ-@@5Ơ!h'.@@@gf@g@4;ZZ.4;ZZ/@@5Ǡ#act'5@@@gf@g@4;ZZ04;ZZ3@@55@2D@@AE@@!F@@AB@@A@1G@@ABCG@,l64<ZCZW;@A A@66@@,\6 4<ZCZ\4<ZCZi@A?6 G@,P6F@AA6G@,464;ZZ64;ZZ?@F;0@@gf@g B 6C@, 6#4;ZZ(V@@%A$6  C@,6'4:ZZ *@@)A(6$ CA, 6-49YY49YZ@A0B/6,@BB ,6649YY9@@8@663B@,6:4Y]]4Y]]@AEA@6867@@,6?4Y]]J@@IA4K[\Y@#loc)@^4K[\@@6VϠ#low*z@5K[\5K[\@@6]Р$high+z@5K[\5 K[\@@6dѠ#arg,x@5K[\5K[\@@6kҠ%cases-v@5K[\5K[\$@@6rӠ'actions.e@5K[\%5K[\,@@6yԠ&old_ok/&~@@@j0d@j%@5)L\/\75*L\/\=@@6ՠ!s0![xc@j@@@jd@j@57P\\58P\\@@6֠*n_clusters1 y@@@kd@j@5CW]m]u5DW]m]@@6נ!k2 ~5@@@k@@@kd@j@5SW]m]5TW]m]@@6ؠ(clusters3!@"e#@@@k@@@@k?c@k>@@k=@@@k)@@@kg@k@6b^^6b^^@@8!h?@%2@@@k%5@@@k@@kg@k@6b^^6b^^@@8#"oh@@  @@kg@k@6c^^6c^_@@8.8)@BC@@A8BG@&D@@A3E@@F@@ABCL@F@,$8=6d__+6d__B@AA@8;8:@@,8B6d__M@@AL8?F@, 8F6c^^Q@@AO8C@@@ABC]@E@,8N6b^^6b^^@NC@@kg@kA^8T@(@Al@B@,8]7b^^h@@Ad8ZB@,8a7 _^^^rl@@@8^@w@Av@A@,8g7d__97d__A@! Au#actA!*@7d__07d__3@@8t8o@ A@@A@hB@@AXC@@B@A@,8}7%d__7@@@8z A@,87)m`:`A@ c@m+c@mEL!57;i__@ #locF!6@7Ai__@@8"lhG!3@7Gi__7Hi__@@8#argH!*@7Ni__7Oi__@@8%casesI!(@7Ui__7Vi__@@8'actionsJ!@7\i__7]i__@@8'actionsK7"7!!!@@@l@@@ld@l@7mk__7nk__@@8"hsL@%@@@l@@ld@l@7{l` `7|l` `@@8'actionsM!!=c@l@@@ld@l@7l` `7l` `@@88@FG@@AH6F?A@@BNC@@JB@@-I@@AB[D@@cE@@ACD@!C@@"3B@@AB@I@,l87m`:`>@@Ay8I@,X97l` `7l` `6@@3@@ld@l!A9 @$@A!@ @ABC@F@,P97l` `,@@+A9 FA,L97k__7k_`@A2A9@3@A2C)@E ,<9%7k__<@@;A9"E@,89)7j__7j__@(@@c@ld@lFB9.E@,95 K@@J@91E@,987~b=bDU@!^c@nc@nrXB#argN!@g7o`e`|@@9M%casesO!@7o`e`}7o`e`@@9T'actionsP!}@7o`e`8o`e`@@9['actionsQ7Š7Ġ!@@@m|@@@m{d@mk@8q``8q``@@9l"hsR@&@@@m@@md@m@8r``8r``@@9z'actionsS"0!c@m@@@md@m@8,r``8-r``@@9&old_okT)@@@md@m@88saa89saa @@9!sU$j@%N&@@c@nv@@c@nue@nJ!e@nK@@nLd@n@@@nd@n@8Svaza8Tvaza@@99@LE@@A@@@Ye@X@@X@@@Xe@X@9I:IL9I:IP@@;k%right* @@@Xe@X@9I:IQ9I:IV@@;l%cleft(b@Y@9IjI{9IjI@@;m&cright(b@Y@9II9II@@; n$left%%e@Y@@@Ye@Yh@9II9II@@;/o%right&&e@Y@@@Ye@Yi@9IJ9IJ @@;>p;9@!$Q!'P!*N!-M!0I!3F@@AC@@BD@@IO@@CR@@ABB@@H@@ACDE@@BSK@@L@@AB8TfJ@@A@@G@@ABCE@*F@@A*HG@@,EB@@AB+D@@,C@@+E@@ABC'N@@(K@@(OJ@@ABD&P@@(I@@A'L@@B'M@@'>O@@):H@@ABCE@&t@@@AU@,|;:7LyL:8LyL@&T0B/;VT@,h;:>L>LJ@@5A3;ZT@,0;:BKL :CKL@&_;B:;aU@,;:IKL:JKL.@&fBBA;hT@,;:PKK@@GAE;lT@,;:TKK:UKK@)X@@d@[ce@[]RBQ;xT@,;:`KK)@@WAU;|T@,;:dK]Km:eK]K@&]B\;U@,;ð:kK]K:lK]K@&dBc;T@,;ʰ:rK'K5@@iAg;T@,;ΰ:vJJ:wJK@&oBn;U@,x;հ:}JK:~JK@&vBu;T@,d;ܰ:JJ@@{Ay;T@,T;:JoJ:JoJ@*@@g@Zg@Zg@ZB;U@,;:JoJ{+@@A;T@, ;:J)JP:J)J_@*@@h@ZGh@Zgh@ZKB;U@,<:J)J3q@@A;T@,<:IJ:IJ$@AA@<<@@,< :II:II@AA@<<@@,l<:II@@A< @BCER@,T<:II:II@)B<@@A@B@@ABCDO@,0<$:IjI:IjI@)ŐB<$@@A@@ABCDL@, <1:IjIt@@A<. L@,<5:I:IY:I:If@bW:@@Xe@XݐB<<@@AB@BCDH@,;EME\;EMEw@*@@d@UAe@U;B=CT@,P=J;E,EG;FG@@A=HT@,@=O;E,E6N@@A=LT@,,=S;}DiD;}DiD@*B=S@@A @ @@ABCDEQ@,=a< |D4DR< |D4Dh@*B =a@@A=BCDN@,=m<|D4D>l@@ A=j N@,=q<{CD<{CD0@@@Te@TC=y=%@@A@&@ABCDI@,=<.{CC@@%A(= I@,=<2yCC<3yCC@([f@TS-B$=P8@7@A+*BC( H@,==G@,d=f> @A@@A@(B@@AuD@@tC@@AB@A@,p><GG<GG@AA@>>@@,T> <GG@@@ɠ#ctx)Ҡ+U@@@W0@@@W/@<GG<GG@@>1e>,@A@@A@)B@@AD@@C@@AB@A@,<><<HI<HI@AA@>:>9@@, >A<HH@@@#ctx)+v@@@X@@@X@<HH<HH@@>Rh>M@A@@A@)?B@@AD@@C@@AB@A@,>]=HH=HH@AA@>[>Z@@,>b= HH@@@ #ctx*+@@@X>@@@X=@=HH=HH@@>sg>n@A@@A@)`B@@AD@@C@@AB@A@,>~=&-;H;L='-;H;S@A0Switch.Make.enumA@>}>|@@,>@A!4#top+@=;0p0{=<0p0~@@>%cases,:c@?@=D0p0=E0p0@@>&lcases@@@?d@?@=P00=Q00@@>#lim=@@@H3d@?@=\00=]00@@>(with_sep.@@@HA.@@@HB@@H@d@?@=o00=p00@@>$ilow5>@@@JVd@HG@={33=|33@@>%ihigh6>@@@Jcd@HH@=33=33@@>*with_inter7/ @@@Jq/@@@Jr@@Jpd@HI@=33=33@@>!rU/-;@@@Ld@L@@@Ld@L@=)::=)::@@?"rcV0/6@@@Lՠ/:@@@L@@Ld@L@@@Ld@L@=)::=)::@@?!uTtjUi?@$bestD@@A)best_costE@@A@@AZK@@hJ@@ABCC@@IG@@AFM@@6N@@ABB@@_L@@A!HF@@BCD@.G@@A.H@@B.!I@@0LB@@A/$F@@BC/iE@@-xK@@0:C@@AB-M@@-PL@@A-J@@/D@@ABCD@,@@A,@@@,@@-@@ABCN@,?h>+;;/>+;;=@@ALK?hJN@,?o>+;;%>+;;,@AA@?m?l@@,?t>*:;>,;>;E@@AXW?tVN@,?{>#*::>$*:;@-'@@d@Me@LBfe?dN@,?>1*:: @@ Alk?jN@,?>7)::>8)::@AA@??@@,?><)::>=)::@AA@??@@,x?>A)::@AA@??@@,h?>E)::@@A?~p@n@AgfCD_GL@,$?>O(::>P(::@@)A$$rlowF0>@@@Je@J|@@@Je@Jv@>e7+77>f7+7;@@?%rhighG0>@@@Je@J@@@Je@Jw@>w7+7K>x7+7P@@? )best_costH0Ϡ0@@@Je@J0 @@@Je@J@@Je@J@@@Je@Jx@>7\7h>7\7q@@? B6?Ͱ!O@@AB@@A9N@@MM@@AB@@ACDO@,?>$:7:R>$:7:\@AA@??@@,@>$:7:E@@Ah!iI?K@@e@LEe@J@>77>':|:@@@  !jJ?W@@f@L\f@J@>77>&:m:{@@@, #lowK-h@J@>77>77@@@5 $highL-h@J@>77>77@@@>&insideM/[-@@@Jh@J@>77>77@@@K'outsideN/I-@@@Kh@J@>77>77@@@X#cmiO-b@K@?88'?88*@@@`'cinsideP-b@K@? 88+? 882@@@h#cmoQ-b@K@?8M8`?8M8c@@@p(coutsideR-b@K@?8M8d?8M8l@@@x$cmijS0@@@KBh@K @?(88?)88@@@#cijT0@@@Kbh@K@?488?588@@@on@@&wY^&zW]&}aZ&_Y&gT@@A}@B@v@#b@@ABCH[@@T\@@A5a@@G`@@AB@_@@}W@@ACDP@@yV@@AR@@B@@AX@@sU@@ABBCDEyab@,@?i#::*@@BA @5b@,p@ǰ?o!99?p%:]:l@@IA@A@AA@@, hA@i7\7w@ABA@AA@@, PAŰ@m7+7S@n7+7[@AGA@AA@@, @Aʰ@r7+7>@s7+7F@ALA@AA@@, 0Aϰ@w7+73(@@PAH%AΰB3BCyL@, Aٰ@67@67@@[AV$rlow82ݠA@@@Hte@Hn@@@Hse@Hh@@33@33@@A%rhigh92A/@@@He@Hy@@@H~e@Hi@@33@33@@B)best_cost:325@@@He@H2;@@@He@H@@He@H@@@He@Hj@@44@44@@B"thB!O2B@@A8N@@LM@@AB1CDO@, B/@ 66@ 66@AA@B-B,@@, B4@ 66@@Ae!i;Az@@e@J e@H@@484@@66@@BO#low</g@H@@4W4e@4W4h@@BX$high= g@H@A4W4jA4W4n@@B`&inside>1}0c@H@@@Hg@H@A4W4pA4W4v@@Bn'outside?1l@@@Hg@H@A4W4xA 4W4@@B{#cmi@/b@H@A'44A(44@@B'cinsideA/b@H@A/44A044@@B#cmoB0b@I@A745A845 @@B(coutsideC0 b@I@A?45 A@45@@B$cmijD2@@@I(g@H@AK505@AL505D@@B#cijE2@@@I7g@H@AW5T5dAX5T5g@@BB@(q\(o[(yX(wW(R@@A@B@@#`@@ABCHY@@SZ@@5_@@ABF^@@@]@@ACD|U@@P@@yT@@AB@@AV@@qS@@ABBCDE`@, pBA 66@@cA8,B3`@, \BA 6;6pA 66@@jA?3B:`@, TBA 6;6JA 6;6j@0@@f@Ig@IwBMABH`@, HBA 6;6UA 6;6_@AA@BB@@, ,CA 6;6G@@AXLCS`@, ,CA66'A668@2@@f@Ig@Ih@IBh\Cc`@, C@Al`Cg`@, CA55A56@BuiCp`@, C% @AymC"t`@, C)A55A55@0@@g@Ih@IB{C0`@, C7A55A55@2@@f@Itg@IlB "!C>`@, CEA5z5A5z5@2@@f@I[g@IS͐B0/CL`@, CSj@@A54CQ`@, CXB5T5jB5T5v@AA@CVCU@@, C]B505GB505S@AA@C[CZ@@, CbB 45B 45/@0B+HGCd@@AG@BI@B@A@@ABCD?E,Z@, TCtB44B44@1B=ZYCv@@AY@B[@S@@ABCDPE=%V@, @CB-44B.66@@ALihCV@, 0CB444@@ ARonCV@, CB:4W4B;4W4@IA:-@@Hg@HC_C~@v@@ABCsD`HQ@, CBP4W4a#@@)AjC Q@, Cc@@.ACO@, CB[44B\444@A5A@CC@@, CB`44!@A9A@CC@@, CBd33Be34@A>A@CC@@, CBi33Bj33@ACA@CC@@, CưBn33@@GA?CL@, hC̰Bt33N@@MAE"CI@, LCҰBz3{3B{3{3@@TAJ4ѠC@@@@e@?@@@@e@?@B00B00@@C44@@@@e@@4@@@@e@@@@@e@@ @@@@e@?@B00B00@@DC/@@ACE@, DB3C3ZB3C3a@AA@DD@@,D B3C3M@@AB!iCN@@e@Ge@@2@B1 1B3n3x@@D#$left 3@1c@@U@@@@Tg@@6@B1-1;B1-1?@@D1%right 3N@@@@Vg@@7@B1-1@B1-1E@@D>"ci 4d@@@@xg@@]@B1Y1eB1Y1g@@DJ"cm 4p@@@@g@@^@B1w1B1w1@@DV#cml 1b@@d@C11C11@@D^%cleft1b@@e@C 11C 11@@Df#cmr1b@@l@C11C11@@Dn&cright1b@@m@C11C11@@DvDq@*\R*_Q*bN*eM*hH@@Ab@`@AB[@NK@@0O@@ABCEL@@=P@@/T@@AB(S@@F@@ACe@xJ@@AkI@@_@ABDEW?T@,DCG3-37@@ AD+T@,DCK23CL23*@41@@f@Gg@Gg@B3-CD9T@,D@0AD;T@,DC[22C\3b3m@@5AD@T@,DC`22Ca22@2d@@f@Abg@A=@BDLT@,DİCl22Cm22@AFA@DD@@,dDɰCq22@@JADUT@,dDͰCu22Cv22@4[@@f@A%g@Ah@AWBDcT@,LD@ZADeT@,DDݰC2X2bC2X2q@`BDlT@,,D@cADnT@,$DC252@C252R@2@@g@@h@@nBDzT@,DC22 C222@4~@@f@@g@@zBDT@,DC12C12@4@@f@@g@@BET@,E  V@@AET@,E C11C11@2BE @@ABC@@A@BCDP@,EC11C11@2B E@@AB@@A@@ABCDL@,E+C1w1C1w1@AA@E)E(@@,xE0C1Y1jC1Y1v@AA@E.E-@@,lE5C1Y1a@@A#E2 @@ACDJ@,XE=C1-1HC1-1U@c@K c@Hc@Hc@>>c@@5*@@@:g@@SАB<EM/+@B&#RBCG@,DEXD1-15@@ADEUG@, E\=@@AEX[E@,E_D00D01@AA@E]E\@@,EdD 00@AA@EaE`@@,EhD00D00@AA@EfEe@@,EmD00@@AEj@C@A?nB,C@,EtD00@@@Eq@I@;@AB3B@,E{D#0[0aD$0[0m@A5Switch.Make.heuristicA@EzEy@@,E@A(+%cases2@D2,,D3,,@@Eՠ&lcases$@@@=d@=@D>,,D?,,@@E֠#sep3d@=@DG,,DH,,@@Eנ$csep3"3 @@=d@=@DT,,DU,,@@Eؠ%inter3@@@?Td@=@D`,,Da,,@@E٠&cinter5@@@?ud@?r5@@@?vd@?s@@?td@=@Dw,,Dx,-@@EEΰ@+OC@@ASA@@ G@@AB:D@@0F@@ASB@@IE@@ABC@5J@@A52K@@B4L@@6E@@A5I@@BC6H@@4N@@6F@@AB3P@@3O@@A4SM@@6!G@@ABCD@3@@A3VC@@3m@@@3@@ABCG@,FD0C0ID0C0Q@AA@FF@@,F @AF7G@,F D0 0'D0 0=@3@@c@?d@?BFCG@,FD0 0$@@AFGG@,dFD/0D/0@AA@FF@@,LF!D//@@AFOL@K@AGFBCD,G@,F)D//D//@AA@F'F&@@,F.D//@@A$act03c@=@D-#-3D-#-7@@F;۠$act1 c@=@D-D-TD-D-X@@FCF>@,(@E--E--@@Foݠ$high e@>@E--E--@@Fwޠ&inside54@@@>?e@>@E(--E)--@@Fߠ'outside54'@@@>Ae@>@E5--E6--@@F#cmi4 b@>j@E=--E>--@@F'cinside4b@>k@EE--EF--@@F#cmo4b@>r@EM..&EN..)@@F(coutside4 b@>s@EU..*EV..2@@F$cmij6@@@>e@>e@Ea.N.\Eb.N.`@@F#cij6@@@>e@>f@Em..En..@@FFİ@,)V,'U,1R,/Q,7L@AB@$Z@@AIS@@BCRT@@5Y@@AFX@@@W@@@ABCD|O@@wN@@A@P@@AnM@@@ABCEZ@,FE/]/iE/]/z@6@@d@?Me@?/f@?EBF8Z@,G@AF:Z@,GE/0/<E/0/M@BGAZ@,G @AGCZ@,xGE/ /E/ /*@4@@e@?f@?BGOZ@,dGE..E./@6@@d@?e@?BG[Z@,PG&E..E..@6@@d@>e@>BG+gZ@,@G2 @@AG.jZ@,<G5E..E..@AA@G3G2@@,,G:E..E..@@AG8sg@b@Aa_B]\CDYXE`HY@, GEE..E..@@AGC Y@,GJE.N.cE.N.@AA@GHGG@@,GOE.N.E.N.@@AGM|t@r@ApoBCDnmEu]X@,GZF.N.F.N.@@AGX X@,G_F..6F..M@4BG_@@AB(@@ABCDpT@,GmF--F-.@5BGm@@A)(B@@ABCD~P@,xG{F#--$@@AGx P@,TGF'--F(--@@@>e@>= C\GIK@,,GF6-o-F7//@@AaGNK@,$GF;-o-zF<-o-@5?@@d@>e@>BmGZK@,GFG-o-wv@@#AqG^K@, GFK-D-[FL-D-k@5Bc@=*B$G@b@`@ABCI@,GFW-#-:FX-#-C@5Nc@=6B0GG@,GF_--F`//@@ac@;5d@<@@zb@>xb@yb@>wb@23(A@D@@@LJ@@@@+Get it: %d @@a.Stdlib__Printf̠@dflBBglBB@@lD@c^Da@}p``p``@@pD@|-Stdlib__Array@j__j__@@jD@$,𠠑T03caml_array_set_addr| ( @ͰE[b[E[b[@@Ek@ .caml_array_get0Pܠ@@@@@$.caml_make_vect0 D  <'!p.caml_array_set!!!!!"@"X#"-" "l#lI#蠠2#<$$=$>$A$(%D%%1&44&7.0'1caml_float_of_int'' .caml_sub_float'(.caml_add_float'0.caml_mul_float'@#1.0'H'T'\-caml_ge_float'd'f(<i(dl(-caml_notequal(l.To/y/Ġu01`1䠠1242T23 383`3|33ࠠ3𠠓4\4ܠ5`55Ġ6,6H6677D#7`7Ƞ7䠠8$/84288ܠ88e9P9k9n9Ԡ;;Ƞ;