Caml1999T037rQGWDnC.Stdlib__Pqueue/OrderedPolyTypeB)pqueue.mlUU@BAБA+!tAVV@А!a@3@@@@@@#intA;@@#intA@@@@@&_none_@@A@A@$charB;@@$charA@@@@@ @A@&stringQ;@@&stringA@@@@@@@@%bytesC;@@%bytesA@@@@@@@@%floatD;@@%floatA@@@@@@@@$boolE;@@%falsec@@%@$trued@@+@@@A@@@@@,@A@$unitF;@@"()e@@6@@@A@@@@@7@A@ #exnG;@@@A@@@@@;@@@#effH;@@O@A@A@@@@@@D@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@T@@@%arrayJ;@@R@A%arrayA@@@@@@_@@@ $listK;@@S@A"[]f@@l@"::g@@@T@@y@ @@A@Y@@@@@|@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@)nativeintA@@@@@@@@%int32N;@@%int32A@@@@@@@@%int64O;@@%int64A@@@@@@@@&lazy_tP;@@X@A&lazy_tA@Y@@@@@@@@ 5extension_constructorR;@@5extension_constructorA@@@@@@@@*floatarrayS;@@*floatarrayA@@@@@@@@&iarrayT;@@Y@A&iarrayA@Y@@@@@@@@ *atomic_locU;@@Z@A*atomic_locA@@@@@@@@@ .Assert_failure`#@@@@@J@@@@@@@@[@@A頰=ocaml.warn_on_literal_pattern@@0Division_by_zero]#@@@A󠰠  @+End_of_file\#$@@@A@'FailureY#,@'@@A@0Invalid_argumentX#5@0@@A $#@-Match_failureV#>@@=@9@;@@a@@A5!4!@)Not_foundZ#O@@@A&=)<)@-Out_of_memoryW#W@@@A.E1D1@.Stack_overflow^#_@@@A6M9L9@.Sys_blocked_io_#g@@@A>UATA@)Sys_error[#o@j@@AG^J]J@:Undefined_recursive_modulea#x@@w@s@u@@h@@AXo[n[@:Continuation_already_takenb#@@@A`wcvc@&Stdlib;@@@A@A@G@B@@@V@@@@@A@AVV@@BA@;@A@A@G@B@@@ @@@ @@A@ @@3@@A @'compareWW@б@гŠ!tWW@А!a@B@3@'@AWW@@@ @@@ @@б@г㠐!tWW@А!b@B@WW@@@ @@@%@@гȠ#intWW@@ @@@2@@@@@5@@@3@@86 @@@W@@)AA@@@>@eA@\ @@3@C^ @A3        @@A(U)X@@@+U@@3@@@+MakeMinPolyC8Z9Z @FGA@Т!EDDZ EZ@РM/OrderedPolyTypeMZNZ@354455555@3VJA@?@@@/V@@  @@БA+#eltEf]-9g]-<@А!a@3UTTUUUUU@#5@.@3CA8;@@@A@A @@@@@@G@B@@@]-1]-E@@@@DA@@]-6]-8@@@;$@AAW!t-F@@@@G@B@@@@@@@@Aг !E]-B]-C@]-D!@"@А!a@]-?]-A@@@!C*@@,@@,+@3@D@@A+!tFaa@А!a@3@Zj=;@@@A@A@@ @@@ @ʠG@B@@@aa@@@@EA@@aa@@)@; @A(A@(Dynarray!t!t0G@V@@@X@@@ZG@B@@@@@@@@Aгaa@a(@)@г!Eaa@"aa@@А!a(Saa@@@1V @@@9WB@@D@@DC@3@X@@@ఠ&create.c/c@)@A@sc@@@,@ఠ&lengthf!)f!/@GA@@@LE@ @@@ #intA@@@ @@ G@ 3xwwxxxxx@Kkd@e@f@@@డ(Dynarray&lengthg28g2@@ g2Ag2G@@@o!a@@@@N&@@@M@@L@KkLk@@JF@@@5(@A@f!%@@@+@ఠ(is_emptyiIQiIY@HA@@@@ @@@ $boolE@@@ @@ G@ 3@Jb[@\@]@@@డ8(Dynarray(is_emptyj\bj\j@ j\kj\s@@@!a@@@@Q&@@@P@@O@nn@@G@@@5(@A@iIM@@@+@ఠ%clearlu}lu@ IA@@@ޠ@ @@@ @@@ @@ G@ 3@H`Y@Z@[@@@డ(Dynarray%clear1m2m@ 5m6m@@@!a@@@@$@@@@@@    @@V@@@3(@A@Lluy@@@+@ఠ*left_childYq*2Zq*<@gJA@@@#intA@@@ >G@ @@@ +G@ @@ G@ 3TSSTTTTT@Mc\@]@^@@@࣠@!iA}q*=~q*>@KA@@ 3feefffff@-q*.q*J@@@@@  @@డ!+q*Gq*H@@4@@@~@:@@@}6@@@|@@{@@z'%addintBA @@@@*stdlib.mli0++0+,@@mn@@@@@@@ !@@@@ O@@@ @@ @@ 3@=I_@@@A@@@@డ!*q*Cq*D@@n@@@@t@@@w@@@@@@@'%mulintBA:@@@@9:--::--F@@p@@@@@@@ 3@@@@ 2@@@ 1@@ 0@@ /8@@Bq*Aq*B@@1@@@ ?J@ AJ@ @H@@ఐ!iq*Eq*F@R@@U@@@@@@@ -@ CJ@ =]@@A!q*I@@@@@ ,I@ EI@ Dl@@.@@m@A@G@ G@A@@@@ఠ+right_child9rKS:rK^@GLA@@@@@@ pG@ I@@@ ]G@ J@@ KG@ H30//00000@@@@@@࣠@!iAYrK_ZrK`@gMA@@3BAABBBBB@)arKObrKl@@@@@  @@డܠްmrKinrKj@۰@@@@@@ S@@@@ R@@@ Q@@ P@@ O3baabbbbb@!-?@$@%@@@@డ°rKerKf@@@@@@@ e@2@@@ d@@@ c@@ b@@ a@@BrKcrKd@@@@@ qJ@ sJ@ r.@@ఐ_!irKgrKh@8@@w;@@@@&@@@ _@ uJ@ oC@@BrKkf@@/@@@ ^I@ wI@ vR@@.n@@S@xoA@G@ yv@A@s@sr@@ఠ+parent_nodesmusm@NA@@@@@@ G@ {@@@ G@ |@@ }G@ z3@@@@@@࣠@!iAsmsm@OA@@3@+ smq sm@@@@@  @@డg!/smsm@@@@@@@@@6@@@@@@@'%divintBA@@@@?--?--@@q@@@@@@@ @@@@ M@@@ @@ @@ 3$##$$$$$@;G[@>@?@@@@డ!-NsmOsm@@j@@@@@@@@@@@@@@'%subintBA@@@@5,~,~5,~,@@'o@@@@@@@ @@@@ @@@ @@ @@ 8@@ఐ!ismsm@B@@E@@Asmsm@@9@@@ J@ J@ U@@smsm@@@@@ @ J@ _@@Bsm@@@@@ I@ I@ n@@@@o@A@G@ @A@@@Aఠ'sift_upC d pC d w@PA@@@@ 6@@@ CG@ @@@ G@ @I@@@ G@ @G@ @@@ G@ @@ @@ @@ 3@ @@@@@࣠@!hAC d xC d y@QA@@23@>@9@,@('@@ H@ @@ H@ @@ H@ @D@E@@@@@@!iAC d zC d {@RA@@>3@*R@!@"@@@@@@!xAC d | C d }@-SA@@G3@R@@@@@@@@డ!=3D  4D  @@!a@@$boolE@@@'@@&@@%&%equalBA@@@@yy@@ Q@@@@G@ G@ _G@ kG@ G@ G@ G@ @!@@@ @@ @@ 3GFFGGGGG@@L@C@D@@@@ఐd!ioD  pD  @L@@@@@yD  zD  @@)@@ @@@@@ K@  @డ(Dynarray#setD  D  @ D  D  @@@]!a@@@@K@@@@J@ @@@I@@H@@G@@F@@cAc@@?E@!@@@v@@@ @@@@ @@@@ @@ @@ @@ ^@@ఐܠ!hD  D  @@@ k@@@D  D  @@@@@ K@ K@ {@@ఐˠ!xD  D  @@@@@\@@ @@ఠ!pE  E  @TA@@ @@@ K@ 3@@@@ఐ*+parent_node E   E  @&@@@%@@@ "@@@ @@ @@ఐ!iE  E  @@@M"@@@@&#@A@#E  @@@ఠ!y.F  /F  @@@@డ(Dynarray#getCF  DF  @ GF  HF  @@@!a@@@@E@@@@D @@C@@B@^  ^ @@D@@@@&5G@ @@@ @@@@ @@ @@ :@@ఐ!hwF  xF  @e@@G@@ఐ!pF  F  @Q@@4@@@ L@ #L@ "[@@L @@*\@A@F   @@డ!<G  G  @@!a@@i@@@-@@,@@+)%lessthanBA@@@@ @@rS@@@@@@@ BJ@ (@@@@ '@@ &@@ %3@@@@@@@డ'compare!EG  G  @ G  G  @@@@@@@@@@@@@@@@@@@ΰ@@@$$G@ 8@@@ 7@,*@@@ 5@@@ 4@@ 3@@ 2<@@ఐ렐!x G   G  @@@.I@@ఐ栐!y G   G  @S@@V@@D@@_W@@@ G   G  @@jK@ Gb@@P@@@@@ HK@ 0h@ డ(Dynarray#set 8H   9H  @  <H   =H  #@@@@@}G@ O@@@ Q@t@@@ P@ p@@@ N@@ M@@ L@@ K@@ఐn!h \H  $ ]H  %@J@@@@ఐ^!i iH  & jH  '@F@@@@ఐH!y vH  ( wH  )@@@G@@B@@ @@@ lK@ ^@ఐ̠'sift_up I + 3 I + :@@@@@@@@ p@@ o@@ n@@ఐ!h I + ; I + <@@@@@ఐ!p I + = I + >@v@@TK@ z@@ఐ!x I + ? I + @@V@@@@3@@@ G   J A H@@@డ(Dynarray#set K N V K N ^@  K N _ K N b@@>@@@G@ @@@ @ @@@ @ @@@ @@ ~@@ }@@ |&@@ఐ!h K N c K N d@߰@@13@@ఐ!i K N e K N f@۰@@-@@@ఐ!x K N g K N h@@@2M@@B@@2K@ P@ G  @@6R@@@7@ @@8@ D   @@8@' A@@Y@J@DC@@ @@ @@ G@ +@@@ !C d h@@@@@ఠ#add .M j r /M j u@ @@@@@@@@@ఠ!i N |  N | @ YA@@@@@ J@ 3 n m m n n n n n@%E@@@@@డ(Dynarray&length N |  N | @  N |  N | @@@@@gk@@@ @@@ @@ !@@ఐ^!h N |  N | @C@@.@@@@2/@A@ N | @@ డ (Dynarray(add_last O   O  @  O   O  @@@!a@@@@]@@@@\@@[@@Z@vw@@uK@@@@G@ G@ G@ @@@ @@@@ @@ @@ 3        @n|u@v@w@@@@ఐ!h O   O  @@@@@ఐ!x O   O  @@@@@K@@@@@ J@ #@డ u!> $P   %P  @@!a@@@@@0@@/@@.,%greaterthanBA@@@@@@T@@@@@@@ I@ @@@@ @@ @@ S@@ఐӠ!i SP   TP  @]@@`@@@ ]P   ^P  @@ J@ k@@@@@@@ J@ q@ఐ'sift_up pP   qP  @{@@@9;@@@ @@@ @@@@ @ @@@ @@ @@ @@ @@ఐ;!h P   P  @ @@^@@ఐ!i P   P  @@@@@@ J@ J@ @@ఐH!x P  Q@(R@@m@@ES@@mJ@ @@ P  W@@@X@@@Y@@2@cZA@G@ &a@A@^@^]@r@ఠ(add_iter R   R  @ ZA@@@@ C@@@ OG@ U@@@ TG@ (@@@o@@@ N@@ MG@ 8@@@ ;@@ 3G@ @ypA@G@ aw@A@t@ts@@ఠ'min_elt U   U  @ ^A@@@ c ^@ G@ l@@@ wG@ c @@@ G@ d@@ eG@ b3        @@@@@@࣠@!hA U  ! U  "@ _A@@"3        @/ U   V % h@@@@@  @@డ $(Dynarray(is_empty V % . V % 6@  V % 7 V % ?@@@@@ A@@@ k @@@ j@@ i3        @)5M@,@-@@@@ఐ!h Y   Y  @ @@V@@"@@R@@@ J@ @డ -+invalid_arg Y   Y  @@&stringQ@@@!a@@@@ Af Bf:@@ B@@@@@@@ }@@@ I@ J@ @@ ?@@4empty priority queueY  Y  @@Y  Y  @@,@@@ J@ J@ S@@5 @@T@@Y   @@V@డ n(Dynarray#get Z  !Z  @ $Z  %Z  @@ݰ@@@ G@ @@@ @@@@ @@ @@ w@@ఐ!h>Z  ?Z  @@@@@@HZ  @@@@@ I@ I@ @@1@@$@@@@%@A@G@ @A@@@ՠ@ఠ"lta\  b\  @obA@@@ / -@@@@G@"@@@2G@ @%@@@-G@ @.@@@IG@ @@@ G@ @@ G@ @@ G@ @@ G@ 3rqqrrrrr@ $@@@@@࣠@!hA\  \  @cA@@63@C\  ]  ,@@@@@  @@!iA\  \  @dA@@93@!M@@@@@@@@!jA\  \  @eA@@A3@M@@@@@@@@డ #68]  )]  *@5@@@ @@@J@@6@@@@@@@ 3@)`@ @!@@@@డ 'compare!E]  ]  @ ]  ]  @@@@@3G@@@@@;@@@ @@@@@ @@ ,@@డ j(Dynarray#get]  ]  @  ]  !]  @@ٰ@@@ @@@$@@@@#@@!@@ O@@ఐ!h9]  :]  @@@\@@ఐ!iF]  G]  @@@i@@J]  K]  @@l@@డ (Dynarray#get\]  ]]  @ `]  a]  #@@@@@ *G@VG@>@@@@@@@@? @@=@@<@@ఐ䠐!h|]  $}]  %@ɰ@@@@ఐ̠!j]  &]  '@@@ @@]  ]  (@@&@@@@@@@]  +@@K@W@@@@@A@7G@]@A@@@Aఠ)sift_down` l x` l @fA@@@ v t@A@@@NG@@@@G@_#len X@@@G@b@@@@G@e@G@h@@@G@i@@n@@m@@l@@k3@Izs@t@u@@@࣠@!hA` l ` l @gA@@73@C@>31@.@+*@@jH@f@@gH@c@@dH@`@@aH@^@M@N@@@@@>>AB` l ` l @hA@@F3@!-Z@$@%@@@@ ` l @@!iA` l ` l @#iA@@Q3@[@@@@@@@@!xA&` l '` l @4jA@@[3@e@@@@@@@@@ఠ$left9a  :a  @GkA@@ @@@L@3'&&'''''@%v@@@@@ఐ *left_childNa  Oa  @ @@@ @@@ @@@@@@@ఐQ!ica  da  @9@@$@@@@(%@A@ha  @@డ">=tb  ub  @@!a@@ A@@@6@@5@@4-%greaterequalBA ߠ@@@@  @@ JV@@@@G@K@@@@@@@@@3|{{|||||@Vd]@^@_@@@@ఐk$leftb  b  @ @@@@ఐ#lenb  b  @@@@@@@ 9@@@L@#@డ(Dynarray#setb  b  @ b  b  @@ 8@@@ @@@@ @@@@' @@@@@@@@@H@@ఐ !hb  b  @@@<U@@ఐ䠐!ib  b  @̰@@1b@@ఐࠐ!xb  b  @@@7o@@@@@5p@@ఠ(smallestc c  @ lA@@ @@@L@3@@@@@ఠ%right&d 'd @4mA@@ @@@M@@ఐ +right_child8d  9d +@ E@@@ @@@ @@@@@(@@ఐ;!iMd ,Nd -@#@@5@@@@%6@A@Rd @@డ">=^e1B_e1D@@@@L@@@@@@@@@3ONNOOOOO@JC@D@E@@@@ఐQ%rightwe1<xe1A@ @@@@ఐ#lene1Ee1H@k@@@@@@ @@@M@#@ఐ[$lefte1Ne1R@@@-@ఐB"ltfmxfmz@ΰ@@@l G@CG@@@@@@@@ _@@@@ d@@@ @@@@@@@@@W@@ఐ렐!hfm{fm|@İ@@d@@ఐ$leftfm}fm@A@@ @@@M@ M@ x@@ఐƠ%rightfmfm@@@ @@@M@M@ @@T @@ {@@@M@@ఐʠ$leftfmfm@l@@L@@ఐꠐ%rightfmfm@@@L@@fmu@@@e19@@@ @@@A@c   @@@ఠ!y&h'h@4nA@@uL@3@@@@@@డ(Dynarray#get;h<h@ ?h@h@@ @@@ G@QG@OG@PG@G@@@@@ @@@@@@@,@@ఐ!hahbh@Z@@9@@ఐ\(smallestnhoh@C@@ @@@!M@.M@-M@@> @@1N@A@zh @@డ ꠐ ii@ @@@@@@MK@3@ @@@2@@1@@03yxxyyyyy@jtm@n@o@@@@డa'compare!Eii@ ii@@ Ӱ@@@ @@@B@ @@@@@@@?@@>@@=*@@ఐ!yii@4@@7@@ఐ!xii@@@ D@@2@@ME@@@ii@@XL@RP@@>@@ i@@@SL@;V@ డG(Dynarray#setjj@ jj@@ j@@@ǠQG@Z@@@\@ 5@@@[@  1@@@Y@@X@@W@@V@@ఐ=!hjj@@@p@@ఐ!i*j+j @@@e@@ఐ!y7j 8j @@@@@B@@ @@@wL@i@ఐ)sift_downIk Jk @b@@@@@@@|@@{@@z@@y@@ఐ~!h^k _k  @W@@@ఐj#lenkk "lk %@R@@@@ఐf(smallestxk &yk .@M@@G@G@jL@@@ఐg!xk /k 0@H@@@@E@@@il18@@@డ(Dynarray#setm>Fm>N@ m>Om>R@@ @@@mG@@@@@ @@@@  @@@@@@@@@%@@ఐ㠐!hm>Sm>T@@@2@@ఐ!im>Um>V@@@ ?@@ఐ!xm>Wm>X@@@L@@B@@L@O@i@@Q@l@@@ @@@b   @@@ @@@ A@@?20@+@&%@@@@@@@@G@@@@` l p@@@#@ఠ'pop_minoZboZi@oA@@@Ѡ H@B@@@G@@@@G@r G@@@@G@@@G@3@8@@@࣠@!hA+oZj,oZk@9pA@@$3@I13oZ^4wOV@@@@@  @@@ఠ!n ApnxBpny@OqA@@@@@I@3/../////@(B@@ @@@డ(Dynarray&lengthZpn|[pn@ ^pn_pn@@@@@(W@@@@@@@@!@@ఐM!hupnvpn@+@@m.@@@@2/@A@zpnt@@డ S Uqq@ R@@@@@@H@@ S@@@@@@@3yxxyyyyy@KYR@S@T@@@@ఐ`!nqq@ @@@@@qq@@#I@@@@@ 4@@@I@!@ภ$Noneqq@@@@@@@.@@ఠ!xàrr@rA@@G@3@>@@@డ.(Dynarray(pop_lastrr@ rr@@@!a@@@@@@@@@S@@@@-G@@@@@@-@@ఐ᠐!h r r@@@:@@-@@;@A@r@@డk 砐 ss@ @@@@@@H@ @ @@@ @@ @@ 3        @aZ@[@\@@@@ఐ!n5s6s@@@@@A?s@s@@#I@@@@@ @@@I@!@ภ$SomeOsPs@9ఐ!xYsZs@1@@4@@@@H@7@@ఠ!rĠjtkt@xsA@@^G@3TSSTTTTT@G@@@డ(Dynarray#get}t~t@ tt@@ :@@@KG@!@@@#@ 8@@@"@@ @@#@@ఐt!htt@R@@0@@@tt@@ U@@@,J@9J@8@@@3 @@&A@A@t @@ ఐ)sift_downu"u+@ְ@@@@@@A@@@E a@@@D@@@@C@@@@@@@?@@>@@=@@<3@un@o@p@@@@ఐ!hu,u-@@@@,డFu6u7@@@@@@@l@@@@k@@@j@@i@@h+@@ఐ͠!nu4u5@z@@,@@@xK@zK@y?@@Au8 u9@@@@@wK@|K@{O@@)u3*u:@@@@@Z@}K@vY@@@9u;:u<@@i@@@YJ@J@~i@@ఐ!xLu=Mu>@$@@~v@@@@ @@@I@W|@ภ$Some[v@H\v@L@ Eఐ!rev@Mfv@N@@@@@@@H@@@@@ms:@@@os<@@@c=@@@rq?@@@@@@*@JAA@nG@H@A@E@ED@Y@ఠ*remove_minŠyX`yXj@tA@@@QȠO@@@@G@@@@G@ @@@ G@@@G@3@@@@@@࣠@!hAyXkyXl@uA@@$3@1yX\~ @@@@@  @@@ఠ!nȠzoyzoz@vA@@:@@@I@3@(B@@ @@@డ((Dynarray&lengthzo}zo@ zozo@@9@@@W@@@[@@@@@!@@ఐM!hzozo@+@@m.@@@@2/@A@zou@@డW ⠐ {{@ @@@@@@H@@ @@@@@@@3@KYR@S@T@@@@ఐ`!n!{"{@ @@@@@+{,{@@#I@@@@@@@@I@!@@ఠ!xɠ?|@|@MwA@@G@3)(()))))@0@@@డ(Dynarray(pop_lastR|S|@ V|W|@@r@@@ G@@@@@@@@ఐĠ!hl|m|@@@+@@@@,@A@q|@@డ Y [|}}}@ X@@@@@@H@@ Y@@@@@@@3pooppppp@xRK@L@M@@@@ఐנ!n}}@@@@@A}}@@#I@@@@@+@@@I@!@ఐ )sift_down}}@ΰ@@@~+@@@@@@Y@@@@@@@@@@@@@@@@@@@F@@ఐ3!h}}@@@SS@!డ;}}@@@@@@@ @@@@ @@@@@@@n@@ఐB!n}}@@@!@@@J@J@@@A}}@@@@@J@J@@@}}@@@@@@J@@@@.}/}@@^@@@I@I@@@ఐ!xA}B}@@@@@@@I@@@H}@@@J{@@@@L{@@ @T@@ @A@G@"@A@@@@ఠ$copyʠ] ^ @kxA@@@)"@&@@@'.@@@%@@$G@#3SRRSSSSS@@@@@@డ(Dynarray$copy| }(@ )-@@@J!a@@@@YR@@@X@@W@'{bb({by@@&J@@@4)@A@ @@@,@ఠ'heapifyˠ@yA@@@sq@}@@@G@3@@@>G@) G@*@@+G@(3@Oe^@_@`@@@࣠@!hA@zA@@!3@.ry@@@@@  @@@ఠ!nΠ@{A@@Y@@@9I@.3@(?@@ @@@డG(Dynarray&length@ @@X@@@ǠT@@@2z@@@1@@0!@@ఐM!h@+@@j.@@@@2/@A@@@ !i$%@@@@డ⠐/&0'@@@@K@@@K@@@@J@@@I@@H@@G3$##$$$$$@We^@_@`@@@@డ!/N#O$@8@@@8@@@]@7@@@\l@@@[@@Z@@Y@@ఐ!nh"@(@@S@@@iK@kK@j2@@B)x%@@\@@@hK@mK@lA@@ @@@@@W@nK@gI@@A()@@=@@@VJ@pJ@oY@@1 @@q@@@qJ@U_@@12@@|@@@sI@rj@Aఐ )sift_down6>6G@ ˰@@@{@@@|@@@ V@@@@@@@~@@@@{@@z@@y@@x@@w3@~@@@I@I@t@fp@@|A@@@@ఐ!h6H6I@@@<@ ,ఐ!n6O6P@@@@@@K@K@/@@ఐ堐!i6Q6R@9@@9<@@డh(Dynarray#get6T6\@ 6]6`@@װ@@@uG@@@@@@@@@@@@`@@ఐq!h86a96b@O@@m@@ఐ#!iE6cF6d@w@@wz@@I6SJ6e@@$}@@@@@@@J@@y@@@@I@3;::;;;;;@@@@ఐ!h^rx@t@@ @@@ @I@@y@A@G@@A@@@@ఠ(of_arrayРq{r{@}A@@@%arrayJ@@@@@G@@@@G@O @@@G@@@G@3tssttttt@@@@@@࣠@!aA{{@~A@@(3@5{@@@@@  @@ఐ 'heapify @"@@@z6@@@@@@@@3@*H@!@"@@@@డ(Dynarray(of_array@ @@@`!a@@@@@@@@@@|9^9^}9^9}@@{k@@@@sp@@@t@@@@@8@@ఐf!a@B@@E@@3@@Ƞ@@@J@@8c@@~K@mdA@G@k@A@h@hg@~@ఠ'of_listӠ@&A@@@$listK`@@@@+G@/@@@=G@  @@@*G@ @@ G@ 3@@@@@@࣠@!lADE@R@A@@(3-,,-----@5LM@@@@@  @@ఐ'heapifyY @ɰ@@@!6@@@@@@@@3JIIJJJJJ@*H@!@"@@@@డ(Dynarray'of_listxy@ |}@@@`!a@ @@@$N@@@#@@"@#::$::@@"m@@@@sp@@@0]t@@@.@@-8@@ఐf!l@B@@E@@3@@o@@@<J@@8c@@~K@mdA@G@Kk@A@h@hg@~@ఠ'of_iter֠@AA@@@@@@@@@G@}@@@@@G@s@@@ve@@@G@wA@xG@tA@uG@M@G@R @@@G@S@@TG@N@@OG@L3@@@@@@࣠@$iterA@BA@@=3@J P_@@@@@  @@!xA@"CA@@.3@!T@@@@@@@@@ఠ!aڠ'(@5DA@@cI@[@@@hJ@W3@(L@@ @@@డ(Dynarray&createCD@ GH%@@@@@@@@\#@@@Z@@Y!@@ภ"()]&^(@;@@@N@@@@A@@A@@@ @@2@@@iK@m8@@)@@?9@A@m@@ ఐ|$itery,2z,6@a@@3a``aaaaa@J[T@U@V@@@@డ(Dynarray(add_last,8,@@ ,A,I@@ư@@@]@@@~@@@@|@@{@@z&@@ఐ!a,J,K@0@@s@@@7@@,7,L@@:@@ఐ!x,M,N@@@G@@K@@H@ఐ('heapifyPVP]@>@@@ @@@@@@@@^@@ఐ!aP^@g@@@@@n@@@@o@s@@p@@@@A@+G@@A@@@@ఠ.iter_unordered۠aiaw@ EA@@@@@@@@@@@Ѡ @@@@@@@@@@G@3@$\U@V@W@@@డq(Dynarray$iter#z$z@ 'z(z@@@@!a@,@@@@@@ @@@+@@@@@@@@""""@@W@!@@B/@A@Eae@@@2@ఠ.fold_unorderedܠRS@`FA@@@@@@@@@@@@@(@@@ @@@@@@G@3MLLMMMMM@Trk@l@m@@@డ(Dynarray)fold_leftvw@ z{@@@@#acc@@!a@ @@@@@ @T @@@@@@@@@@)%%*%%@@([@#@@A1@A@ @@!@4@<A@A@x @(@@7@U]@w@@@@@%3@M)@] @ @ @AP@i@#3@Y@@@b@y@z@{@@3@h@@[#%@93@d@@@@3@@@@@Z @ @'MinPolyI@ZAБA+!tG@А!a@3@@ǐzA@P'A@x@1@L@@@"@>4@b$@@Yp@@@N@>@ *@@o@@@?@z@?@k@@@_H;@@@A@A@G@B@@@AL@@@@NHA@ADE@@@;L@AA@G@B@@@ @@@@@A@ @@3/../////@J@A V@A+#eltHUV@А!a@3DCCDDDDD@aq;@@@A@A@G@B@@@j@@@@wIA@Amn@@@;@AA@G@B@@@ @@@@@A@ @@3XWWXXXXX@@A @&create} ~@б@г$unit@@ @@@3rqqrrrrr@.> @A@@г!t@А!a@I@@@@ @@@@@@"@@%@@@@@JA@@@%&length'-@б@гР!t23@А!a@I@3@DY%@A/1@@@ @@@ @@г#int7:@@ @@@@@@@@@@@# @@KA@ @@(is_empty;C;K@б@г !t;P;Q@А!a@I@3@>Y%@A;M;O@@@ @@@ @@г$bool;U;Y@@ @@@@@@@@@@@);? @@6LA@ @@#add4Zb5Ze@б@гJ!t?Zj@Zk@А!a@I@3/../////@>Y%@AMZgNZi@@@ @@@ @@б@г#elt]Zr^Zu@А!adZoeZq@@@$@@@  @@г$unitrZysZ}@@ @@@-@@@@@0@@@.@@31 @@@Z^@@MA@@@9(add_iter~~@б@г!t~~@А!a@I@3@Xs%@A~~@@@ @@@ @@б@б@б@гc#elt~~@А!a"~~@@@(@@@$ @@гU$unit~~@@ @@@1@@@@@4@@б@А!x@I@?~~@@гr$unit~~@@ @@@N@@@@@Q@@@"@@T~ @@б@А!x![~~@@г$unit ~ ~@@ @@@j@@@3@@m@@@@@p ~ @@@o@@tr@@@ ~@@ %NA@@@z'min_elt # $@б@г9!t . /@А!a@I@3        @%@A < =@@@ @@@ @@г&option J K@г#elt T U@А!a&! [ \@@@,@@@ ( @@@@@@ - @@@+@@ 0.@@@ l"@@ yOA@$@@6+get_min_elt w x@б@г!t  @А!a@I@3 r q q r r r r r@Up%@A  @@@ @@@ @@гI#elt  @А!a    @@@"@@@ @@@@@!@@@ @@ PA@@@''pop_min  !@б@гҠ!t & '@А!a@ I@3        @Fa%@A # %@@@ @@@ @@г &option 2 8@г#elt . 1@А!a&! + -@@@,@@@( @@@@@@- @@@+@@0.@@@!"@@!QA@$@@6*remove_min!9A!9K@б@г&!t!9P!9Q@А!a@'I@!3! ! ! ! ! ! ! ! @Up%@A!)9M!*9O@@@ @@@# @@г $unit!79U!89Y@@ @@@$@@@@@%@@@!B9= @@!ORA@ @@%clear!MZb!NZg@б@гc!t!XZl!YZm@А!a@.I@(3!H!G!G!H!H!H!H!H@>Y%@A!fZi!gZk@@@ @@@* @@г $unit!tZq!uZu@@ @@@+@@@@@,@@@!Z^ @@!SA@ @@$copy!v~!v@б@г!t!v!v@А!a@6I@/3!!!!!!!!@>Y%@A!v!v@@@ @@@1 @@г!t!v!v@А!a!v!v@@@"@@@3 @@@@@4!@@@!vz@@!TA@@@'(of_array!!@б@г!:%array!!@г#elt!!@А!a@@I@73!!!!!!!!@Pk/@A!!@@@ @@@9 @@@&@@@; #@@г!t""@А!a!" " @@@'@@@=# @@@@@>&$@@@"@@"%UA@@@,'of_list"#"$@б@г!$list"."/@г㠐#elt"8"9@А!a@JI@A3"("'"'"("("("("(@Uz/@A"F"G@@@ @@@C @@@&@@@E #@@гd!t"Y"Z@А!a!"`"a@@@'@@@G# @@@@@H&$@@@"l@@"yVA@@@,'of_iter"w"x@б@б@б@г1#elt""@А!a@YI@K3"v"u"u"v"v"v"v"v@Ot)@A""@@@ @@@M @@г"*$unit""@@ @@@N@@@@@O@@б@А!x@[I@P$""@@г"G$unit" " @@ @@@Q3@@@@@R6@@@"@@S9" @@б@А!x!@""@@г栐!t""@А!aUP""@@@[@@@UW @@@;@@VZ@@@&@@W]"@@@"@@"WA@@@d.iter_unordered"%"3@б@б@г#elt# 9# <@А!a@gI@\3""""""""@'@A#6#8@@@ @@@^ @@г"$unit#&@#'D@@ @@@_@@@@@`@@б@гC!t#8L#9M@А!a.)#?I#@K@@@4@@@b0 @@г"ՠ$unit#MQ#NU@@ @@@c=@@@@@d@@@@,@@eC#Y5 @@@#\!@@#iXA@@@J.fold_unordered#gV^#hVl@б@б@А#acc@vI@h3#Z#Y#Y#Z#Z#Z#Z#Z@a~@A#xVo#yVs@@б@г.#elt#Vz#V}@А!a@tI@i#Vw#Vy@@@ @@@k @@А#acc)$#V#V@@@ .@@l)@@@1@@m,*@@б@А#acc72#V#V@@б@г!t#V#V@А!a0D#V#V@@@6@@@oK @@А#accTO#V#V@@@ Y@@pT@@@\@@qW%@@@0@@rZ#Vn @@@#VZ@@#YA@@@a@A@kA@c/@(@@d@]@|@u9@2@@q@j.@'@@@@)@@3########@+@A'3########@@A#$@@@$@@3########@@@'MaxPolyL$ $@$mAБA+!tJ$$@А!a@x3$ $ $ $ $ $ $ $ @)I>A@A@@K@D@ @%@@@>@7@@@~3@,@]@V@@@@Pj8;@@w@A@A@G@B@@@$Y<@@@@$f[A@A$\$]@@"@;<@A"A@G@B@@@ @@@@@A@ @@3$G$F$F$G$G$G$G$G@:@A F@A+#eltK$m$n@А!a@|3$\$[$[$\$\$\$\$\@Qa;@@{@A@A@G@B@@@$@@@@$\A@A$$@@"@;@A"A@G@B@@@ @@@@@A@ @@3$p$o$o$p$p$p$p$p@@A @&create$$@б@г$($unit$$@@ @@@3$$$$$$$$@.> @A@@г!t$$@А!a@L@$$@@@ @@@@@@"@@%@@@$@@$]A@@@%&length$$ @б@г!t$$@А!a@L@3$$$$$$$$@DY%@A$ $@@@ @@@ @@г$#int$$@@ @@@@@@@@@@@% @@%^A@ @@(is_empty%!%)@б@г!t%.%/@А!a@L@3% % % % % % % % @>Y%@A%(+%)-@@@ @@@ @@г$Ϡ$bool%63%77@@ @@@@@@@@@@@%A @@%N_A@ @@#add%L8@%M8C@б@г:!t%W8H%X8I@А!a@L@3%G%F%F%G%G%G%G%G@>Y%@A%e8E%f8G@@@ @@@ @@б@г#elt%u8P%v8S@А!a%|8M%}8O@@@$@@@  @@г%$unit%8W%8[@@ @@@-@@@@@0@@@.@@31 @@@%8<@@%`A@@@9(add_iter%\d%\l@б@г!t%\q%\r@А!a@L@3%%%%%%%%@Xs%@A%\n%\p@@@ @@@ @@б@б@б@гc#elt%\{%\~@А!a"%\x%\z@@@(@@@$ @@г%m$unit%\%\@@ @@@1@@@@@4@@б@А!x@L@?%\%\@@г%$unit&\&\@@ @@@N@@@@@Q@@@"@@T&\w @@б@А!x![&\&\@@г%$unit&\&\@@ @@@j@@@3@@m@@@@@p&*\v @@@o@@tr@@@&0\`@@&=aA@@@z'max_elt&;&<@б@г)!t&F&G@А!a@L@3&6&5&5&6&6&6&6&6@%@A&T&U@@@ @@@ @@г%&option&b&c@г#elt&l&m@А!a&!&s&t@@@,@@@( @@@@@@- @@@+@@0.@@@&"@@&bA@$@@6+get_max_elt&&@б@г}!t&&@А!a@L@3&&&&&&&&@Up%@A&&@@@ @@@ @@гI#elt&&@А!a&&@@@"@@@ @@@@@!@@@&@@&cA@@@''pop_max&&@б@г !t&&@А!a@L@3&&&&&&&&@Fa%@A&&@@@ @@@ @@г&3&option&&@г#elt' '@А!a&!'  '  @@@,@@@( @@@@@@- @@@+@@0.@@@'"@@'*dA@$@@6*remove_max'('))@б@г!t'3.'4/@А!a@L@3'#'"'"'#'#'#'#'#@Up%@A'A+'B-@@@ @@@ @@г&נ$unit'O3'P7@@ @@@@@@@@@@@'Z @@'geA@ @@%clear'e8@'f8E@б@гS!t'p8J'q8K@А!a@L@3'`'_'_'`'`'`'`'`@>Y%@A'~8G'8I@@@ @@@ @@г'$unit'8O'8S@@ @@@@@@@@@@@'8< @@'fA@ @@$copy'T\'T`@б@г!t'Te'Tf@А!a@L@3''''''''@>Y%@A'Tb'Td@@@ @@@ @@г!t'Tm'Tn@А!a'Tj'Tl@@@"@@@ @@@@@!@@@'TX@@'gA@@@'(of_array'ow'o@б@г'R%array'o'o@г#elt'o'o@А!a@L@3''''''''@Pk/@A( o( o@@@ @@@ @@@&@@@ #@@г!t(o(o@А!a!($o(%o@@@'@@@# @@@@@&$@@@(0os@@(=hA@@@,'of_list(;(<@б@г'$list(F(G@г㠐#elt(P(Q@А!a@L@3(@(?(?(@(@(@(@(@@Uz/@A(^(_@@@ @@@ @@@&@@@ #@@гT!t(q(r@А!a!(x(y@@@'@@@# @@@@@&$@@@(@@(iA@@@,'of_iter((@б@б@б@г1#elt((@А!a@L@3((((((((@Ot)@A((@@@ @@@ @@г(B$unit((@@ @@@@@@@@@@б@А!x@L@$((@@г(_$unit((@@ @@@3@@@@@6@@@"@@9( @@б@А!x!@((@@г֠!t((@А!aUP((@@@[@@@W @@@;@@Z@@@&@@])@@@) @@)jA@@@d.iter_unordered))@б@б@г#elt)")#@А!a@L@3))))))))@'@A)0)1@@@ @@@  @@г(Ơ$unit)>)?"@@ @@@ @@@@@ @@б@г3!t)P*)Q+@А!a.))W')X)@@@4@@@0 @@г($unit)e/)f3@@ @@@=@@@@@@@@@,@@C)q @@@)t@@)kA@@@J.fold_unordered)4<)4J@б@б@А#acc@"L@3)r)q)q)r)r)r)r)r@a~@A)4M)4Q@@б@г.#elt)4X)4[@А!a@ L@)4U)4W@@@ @@@ @@А#acc)$)4_)4c@@@ .@@)@@@1@@,*@@б@А#acc72)4h)4l@@б@г!t)4s)4t@А!a0D)4p)4r@@@6@@@K @@А#accTO)4x)4|@@@ Y@@T@@@\@@W%@@@0@@Z)4L @@@)48@@)lA@@@a@A@kA@c/@(@@d@]@|@u9@2@@q@j.@'@@@@)@@3))))))))@+@A'3))))))))@@A**}@@@*@@3********@@@+MakeMaxPolyRM*'*(@*5xA@Т!EN*3*4@Р**@@,@@,+@3********@\@@@ఠ'compare++#@+*pA@@@+'@M@@@ZP@>@ '@O@@@[P@C)3@@@YP@D@@EP@?@@@P@=3+"+!+!+"+"+"+"+"@}U@@@࣠@!xA+J$+K%@+XqA@@*@@@@!yA+X&+Y'@+frA@@+3+A+@+@+A+A+A+A+A@ ;@@@@@@@@డ9'compare!E+n*+o+@ +r,+s3@@@R)@@@*@X)@@@)){@@@(@@'@@&@)j@)h@@@bU@@@N@hf@@@L)@@@K@@J@@I3+z+y+y+z+z+z+z+z@:Fg@=@>@@@@ఐM!y+4+5@ @@t@@ఐh!x+6+7@S@@@@E@@y@jA@P@ay@A@+@@ @|@A@@@@@3++++++++@@@++8?@ 3++++++++@@@@@K+8@@)h P;)`@A@A)j@@@@@)=)<@@)P@@@)MA@) P;)@A@A*8(()%@@@@@@@@((@@)@@@) A@( @(@@@((((@@@@@@(@(@( @((( (|@@@({@@@@@@(@(@(H @(((Ѡ(B@@@ (A@@@@@@(N@(O@(@((((@@@ (@@@ @@ @(@(@'@'@@@'@@@@@ @'@'@'@'@@@'@@@@@@'@'@&h@&^@@@&[@@@@@@&k@&l@%@)))%@@@@@@@@!@%@@@ @%@@@@@@@@@@%@%@"C@)5)2)1"=@(@@@*@%@@@+@ #@@@$@@#@@"@"S@"T@ @)N)K)J @6@@@8@3@@@9@@@#"@@@2@@1@  A@0A@/@  @@.@@-@@,@ @ @ @)q)n)m @@@<  @@@;@@:@ @ @N@))~)}F@@@>E@@=@Q@R@h@)))b@I@@@K@F@@@E@$@@@D@$@@@C$:@@@B@@A@@@@@?@@@@@))) <@T@@@V@Q@@@Y;(@@@X@&)@@@W@&%@@@P@@O@@N@@M@@L@Z@[@ @)))͠C@_@@@a@\@@@b s @@@[@@Z@@@@)))[@i@@@k@f@@@e#@@@d@@c@@@@*))@@@n***@@@m@@l@@@@***@t@@@v@q@@@p@@o@@@@@|@@@~@y@@@*2*/*.@@@x@@w@@@b@XW@@@@@@@@*J*G*F@@@@@@q@r@@@@Ǡ@@@@@"@@@@@@$'@@@A@A@@*n*k*j@@@@@@@@@@ @@@@@@@@**~*}@@@@@@@@@@@@@z!@@r@qt@@@@@v@***z@@@~@@@@@@@@@@@+z"Q;+r@A@A@@@+K+J@@+^@@@+[A@+-#Q;+%@A@A,F++ @@@@@@+*@@+@@@+A@*$@*@@@****@@@@@@*@*@*%@***͠*@@@*@@@@@@*@*@*S&@***ܠ*M@@@*L@@@@@@*Y@*Z@*'@****@@@*@@@@@@*@* @)(@)@@@)@@@@@@)@)@) )@)@@@)@@@@@@)@)@(s*@(i@@@(f@@@@@@(v@(w@'+@+"++vu @@@@@@@'@@@@ '@@@@@~@@}@@|@'@'@$K,@+=+:+9@@@z@@@{@% @@@y@@x@@w@$X@$Y@"-@+S+P+O@@@u@@@v@@@ %$@@@t@@s@""A@rA@q@""@@p@@o@@n@"@"@".@+s+p+o"@@@m" "@@@l@@k@"!@""@!P/@+++!H@@@j!G@@i@!S@!T@ j0@+++@@@h@@@g@&@@@f@&@@@e&9@@@d@@c@@b@@a@ @ @?1@+++@@@]@@@`7*@@@_@(%@@@^@(!@@@\@@[@@Z@@Y@@X@V@W@2@+++ɠ! @@@V@@@W"l @@@U@@T@@@3@+++ޠ65@@@S@@@R%@@@Q@@P@@@4@+++@@@O+++@@@N@@M@@@5@,,,\[@@@L@@@K @@J@@@6@ڠkj@@@H@@@I,",, @@@G@@F@@@R7@H@@@D@@@E,7,4,3 @@@C@@B@^@_@8@@@@@@<$@@@A@@@@&@@@?A@>A@=@,X,U,T@@@;@@:@@9@@@9@@@@@8@@7@,k,h,g@@@6@@@5@@4@@3@@@d:@@\@[^@@2@@1@`@,,,~d@@@0h@@/@@.@@-@o@p@@/@@@@ఠ'max_elt;/go/gv@/sA@@@+,@@@@#7@@@@@R@3////////@H! rqRQBA65a`KJ@@@ఐU'min_elt0gy0g@Z@@/$@A@0gk@@@'@ఠ+get_max_elt<00@0#tA@@@^,@@@@@@R@300000000@@VO@P@Q@@@ఐm+get_min_elt0,0-@r@@ @A@00@@@@ఠ'pop_max=0=0>@0KuA@@@<:-@@@@@@@# @@@@@R@30706060707070707@1C<@=@>@@@ఐS'pop_min0\0]@X@@ @A@0`@@@@ఠ*remove_max>0m0n@0{vA@@@WU-5@@@@@@@'@@@@@R@30f0e0e0f0f0f0f0f@0JC@D@E@@@ఐm*remove_min00@r@@ @A@0@@@@qcXMB(ڠwfVB.@Z@w-@IB@C@D@@300000000@3L@@00@(300000000@@@@ @R; @A@A@ a `@@ i@@@ gA@ ZAR;!a@R@@A@A!tR@@@@OG@B@@@00@@@@0wAA@ MB@ I@@@N+ 4@@@M@@L@ $@ "@ C@  @@@K @@@J@@I@ @ @ D@ @@@H @@@G@@F@ @ @ E@% @@@E@P @@@D @@@C@@B@@A@ @ @ {F@9 m@@@@@@@ w@@@? N@@@>@@=@ > 6@@@<@@;@@:@ C @@@9@@8@@7@@6@ @ @ G@Z @@@5 6 @@@4@@@3@@2@ @ @ H@l @@@1E @@@0@@/@ @ @ I@z }@@@. oV @@@-@@@,@@+@ O@ M@ IJ@ ;@@@* -@@@)@@(@ @ @ K@ @@@' @@@&@@%@ @ @ L@ @@@$ @@@#@@"@ @ @ M@  @@@!@@@  @@@@@@ v@ t@ pN@ l [@@@@@@Π `@@@@@@ 4@ 2@ .O@@@ @@@ @@@@@@ @@@@@@@@  .@@@@@@@@@@P@@ˠ@@@@@@@@@@@@ @@@ @@ @@ @x@v@rQ@@k@W@@@ q@@@@@s@_@@@y@@@@@@@@@@УР 'MaxPoly2 2 @U@@ #elt22@+ АTYf2 2!@@0g@;^@A@AXWV@@@UT@@S@@@P@@Aг!E2425@e28_@`@А!aj2?2@@@@h@@j@@8i@@@@A@B@H@I@W@X@Y@Z@C@P@R@S@T@U@V@@@2e@@?@<+32N2M2M2N2N2N2N2N@*@@@@2k@@+OrderedTypeUT2u2v@2{AБA+!tSS2'02'1@@;@@0A@@@@@2'+@@@@2yA@@A@@@32p2o2o2p2p2p2p2p@Mk@cZA@A@@@@@@gf@WV@KJ@;:@0/@%$@@ @@@@@@L@A.1@'compareT22:22A@б@гE!t22C22D@@ @@@k322222222@EPJ@A@@б@гV!t22H22I@@ @@@l@@г2#int22M22P@@ @@@m@@@@@n!@@@'@@o$* @@@226@@3zA@@@*@ztA@B @@322222222@/D @A322222222@u@A3!#3QV@@@3@@322222222@|@@#MinhW3Xd3Xg@3AБA+!tVU3 py3!pz@@;@@1eA@@@@@3$pt@@@@31|A@@A@@@33 3 3 3 3 3 3 3 @A@t;@@@+@A @A+#eltWV39{3:{@@;@@1~A@@@@@3={@@@@3J}A@@A@@@33$3#3#3$3$3$3$3$@%@A@&createX3J3K@б@г2ݠ$unit3U3V@@ @@@p33?3>3>3?3?3?3?3?@'!@A@@гD!t3d3e@@ @@@q@@@@@r@@@3o @@3|~A@ @@&lengthY3z3{@б@гe!t33@@ @@@s33o3n3n3o3o3o3o3o@1F@A@@г3N#int33@@ @@@t@@@@@u@@@3 @@3A@ @@(is_emptyZ33@б@г!t33@@ @@@v333333333@1F@A@@г3]$bool33@@ @@@w@@@@@x@@@3 @@3A@ @@#add[33@б@гŠ!t33@@ @@@y333333333@1F@A@@б@г#elt33@@ @@@z@@г3$unit44@@ @@@{@@@@@|!@@@'@@}$* @@@4@@4A@@@*(add_iter\44@б@г!t4'4(@@ @@@~344444444@CX@A@@б@б@б@г#elt4< 4=@@ @@@@@г3Ѡ$unit4I4J@@ @@@"@@@@@%@@б@А!x@W@04]4^@@г3$unit4f#4g'@@ @@@?@@@@@B@@@"@@E4r  @@б@А!x!L4y,4z.@@г4 $unit4246@@ @@@[@@@3@@^@@@@@a4  @@@h@@ek@@@4@@4A@@@k'min_elt]47?47F@б@г!t47H47I@@ @@@344444444@@A@@г3&option47Q47W@г#elt47M47P@@ @@@@@@@@@ @@@$@@!'@@@47;@@4A@@@'+get_min_elt^4X`4Xk@б@гɠ!t4Xm4Xn@@ @@@344444444@@U@A@@г#elt4Xr4Xu@@ @@@@@@@@@@@5X\ @@5A@ @@'pop_min_5v~5v@б@г!t5v5v@@ @@@355555555@1F@A@@г4`&option5(v5)v@г#elt52v53v@@ @@@@@@@@@ @@@$@@!'@@@5Bvz@@5OA@@@'*remove_min`5M5N@б@г8!t5X5Y@@ @@@35B5A5A5B5B5B5B5B@@U@A@@г4$unit5g5h@@ @@@@@@@@@@@5r @@5A@ @@%cleara5}5~@б@гh!t55@@ @@@35r5q5q5r5r5r5r5r@1F@A@@г5$unit55@@ @@@@@@@@@@@5 @@5A@ @@$copyb55@б@г!t55@@ @@@355555555@1F@A@@г!t55@@ @@@@@@@@@@@5 @@5A@ @@(of_arrayc55@б@г5H%array55@г#elt55@@ @@@355555555@;P)@A@@@ @@@ @@г栐!t66@@ @@@@@@@@@@@6 @@6A@ @@'of_listd6 6@б@г5|$list6'6(@г#elt6162@@ @@@366666666@@_)@A@@@ @@@ @@г%!t6E!6F"@@ @@@@@@@@@@@6P @@6]A@ @@'of_itere6[#+6\#2@б@б@б@г1#elt6j#66k#9@@ @@@36T6S6S6T6T6T6T6T@:Y#@A@@г6$unit6y#=6z#A@@ @@@@@@@@@@б@А!x@W@6#F6#H@@г6$unit6#L6#P@@ @@@,@@@@@/@@@"@@26#5 @@б@А!x!96#U6#W@@г!t6#[6#\@@ @@@H@@@3@@K@@@@@N6#4 @@@6#'@@6A@@@U.iter_unorderedf6]e6]s@б@б@г#elt6]v6]y@@ @@@366666666@p!@A@@г6p$unit6]}6]@@ @@@@@@@@@@б@гڠ!t6]6]@@ @@@!@@г6$unit7]7]@@ @@@.@@@@@1@@@$@@47]u @@@7]a@@7#A@@@;.fold_unorderedg7!7"@б@б@А#acc@W@377777777@Ri@A7273@@б@г#elt7=7>@@ @@@@@А#acc7G7H@@@ !@@@@@$@@@@б@А#acc*%7U7V@@б@г@!t7`7a@@ @@@6@@А#acc?:7j7k@@@ D@@?@@@G@@B@@@(@@E7u @@@7x@@7A@@@L@a[A@JDA@;@ @@x@q@@@O@H!@@@@K@D@@)@@377777777@q+@A'377777777@|@A7jl7@@@7XX@@377777777@@@'MakeMinX77@7A@Т!EiY77@РT+OrderedType77@377777777@A@A@j@c<@5@@M@F@ @@w@pI@B@@@2@+@@@@O@@-,@@БгР5Ѡ+MakeMinPoly88 @@5ϐ5Ƒ55A@5X5/A@44@449@4T3@4 3@32@22*@2F1<@1j1,@-,#@,a+x@+*@*)@)(V@((F@$2!@!@w@@@'G@&@G@s@@38&8%8%8&8&8&8&8&@w@@8RA@@@БA+!tjZ8S+8T,@А!a@38B8A8A8B8B8B8B8B@;@@@A@A@@@@@@ɠG@B@@@8q#8r2@@@@8A@@8u(8v*@@6@;@A6A!t@@@Ѡ@@@@@@@@@@@Aг !E8/80@81@@@4 @@"@@"!@38x8w8w8x8x8x8x8x@R@@@ఠ'comparek83V83]@8A@@@)@@@@@@@@@@@@@@[@388888888@tg?@@@డ'compare!E83`83a@ 83b83i@@@$@@@@)@@@@@@@@@@@@߰@@2#@A@83R@@@&@eA@C<@=@>@@388888888@,F@@883m@ 388888888@@@@@83n@6l[;6@A@Axw@@@z@o6[6Z@@6n@@@6kA@6=m[;65@A@A7V66@@@@|@@@{66@@6+@@@6(A@5n@5@@@555Ѡ5@@@@@@5@5@5o@555ݠ5@@@5@@@@@@5@5@5cp@5555]@@@5\@@@@@@5i@5j@5)q@5555#@@@5"@@@@@@5/@50@4r@4@@@4@@@@@@4@4@4s@4@@@4@@@@@@4 @4!@3t@3y@@@3v@@@@@@3@3@2u@626/6.@@@@@@@@2@@@@ 2@@@@@@@@@@2@2@/[v@6M6J6I@@@@@@@@0@@@@@@@@/h@/i@-w@6c6`6_@@@@@@@@@@ 04@@@@@@--A@A@@--@@@@@@@-@-@-*x@666-"@@@--$@@@@@@-1@-2@,`y@666,X@@@,W@@@,c@,d@+zz@666@@@@@@@@1@@@@1@@@1I@@@@@@@@@@+@+@*O{@666@@@@@@@*G5@@@@35@@@@31@@@@@@@@@@@@*f@*g@&|@666٠.@@@@@@@-| @@@@@@&"@&#@#}@666C@@@@@@@0@@@@@@#@#@!~@777!@@@7 7 7!@@@@@@!@!@!@777i@@@@@@@ @@@!@!@@x@@@@@@@727/7. @@@@@@ @ @b@X@@@@@@@ 7G7D7C @@@@@@n@o@@@@@@@@ /@@@@@@1!@@@A@A@@7h7e7d@@@ @@ @@ @@@@@@@@@@@7{7x7w@@@@@@@@@@@@@t@@l@kn@@#@@"@p@777t@@@!x@@ @@@@@@@@@8t\;8l@A@Aa`@@@ 8D8C@@8W@@@8TA@8&\;8@A@A9?77qp@@@ @@@ 77@@8@@@8A@7@7@@@ 7777@@@ @@ @7@7@7@777Š7@@@ 7~@@@ @@ @7@7@7K@777Ԡ7E@@@ 7D@@@ @@ @7Q@7R@7@7777 @@@ 7 @@@ @@ @7@7@6@6@@@ 6@@@ @@@6@6@6@6@@@6@@@@@@6@6 @5k@5a@@@5^@@@@@@5n@5o@4@888@@@@@@@4@@@@ 4@@@@@@@@@@4@4@1B@848180@@@@@@@2@@@@@@@@1N@1O@/@8I8F8E@@@@@@@@@ 2@@@@@@//A@A@@//@@@@@@@/@/@/@8h8e8d/@@@// @@@@@@/@/@.E@8x8u8t.=@@@.<@@@.H@.I@-_@888KJ@@@@@@@3u@@@@3z@@@3-@@@@@@@@@@-s@-t@,3@888hg@@@@@@,*7~@@@@5@@@@5@@@@@@@@@@@@,I@,J@'@888@@@@@@/^@@@@@@(@(@%@888Р@@@@@@2@@@@@@%@%@#@888#@@@888#@@@@@@#@#@#@888@@@@@@ @@@#@#@!@!ʠ@@@@@@999  @@@@@@!@!@!A@!7@@@@@@9%9"9! @@@@@@!L@!M@ @@@@@@1@@@@@@ 2@@@A@A@@ 9E9B9A@@@@@@@@ @ @@@@@@@@@9X9U9T@@@@@@@@@@@@@Q@@I@HK@@@@@M@9o9l9kQ@@@U@@@@@@@\@]@@<@@@ϠA+!t]<ox<oy@@;@@;A;(Dynarray!t!t@@@ @@@ @@@@<os<o@@@@<A@@Aг<o<o@<o@@г!E<o|<o}@!<o~<o@@@)3<<<<<<<<@65+*  lk\[PO32mlS;@@@A[@@@ !@ @@@@F@@@C@@,'@@@U%-F@@H@@HG@3<<<<<<<<@&@@@E;+ݠҠxmQ3 ۠Ƞ{uA@@3========@C}w@@=7=8@!3========@@@@h;:@A@Ag@@@ +::@@:@@@:A@U@:@@@ .T: @@@ -@@ ,@: @:!@R@Q9@@@ 19@@@ 0@@ /@9@9@O@N9@@@ 49@@@ 3@@ 2@9@9@L@K9T@@@ 79S@@@ 6@@ 5@9`@9a@I@9@@@ :9@@@ 9@@ 8@9$@9%@H@9"@@@ =9@@@ <@@ ;@8O@8P@G@7@@@ @7@@@ ?@@ >@7@7@F@EC@@@ E@@@ G@6@@@ F@ 6@@@ D@@ C@@ B@@ A@6@6@B@A?@@@ K@@@ L@4>@@@ J@@ I@@ H@3@3@>@=;@@@ T@@@ U@@@ 4S@@@ S@@ R@11A@ QA@ P@11@@ O@@ N@@ M@2 @2 @:@91>@@@ X191@@@@ W@@ V@1M@1N@7@60q@@@ Z0p@@ Y@0|@0}@4@31@@@ b@@@ a@5@@@ `@5@@@ _5]@@@ ^@@ ]@@ \@@ [@/@/@0@/-@@@ h@@@ k.V9@@@ j@7D@@@ i@7@@@@ g@@ f@@ e@@ d@@ c@.u@.v@,@+)@@@ n@@@ o1@@@ m@@ l@*,@*-@(@'%@@@ s@@@ r4@@@ q@@ p@'@'@$@#%@@@ v!%@@@ u@@ t@%@%@@@@@ y@@@ x@@ w@%@%@@#@@@ |@@@ }@@@ {@@ z@#@#@@#M@@@ @@@ @@@ @@ ~@#_@#`@@@@@@@ 3@@@ @@ @"5@@@ A@ A@ @"@@@ @@ @@ @"@"@@@!!@@@ @@ @!@@@ !@@@ @@ @@ @!@!@ @@!T@!S!V@@ @@ @!X@ !Z@@@ !^@@ @@ @@ @!e@!f@;@@@A@@@ @@@ @@@@@@@A@@@@@@3>>>>>>>>@@@@@>@@#Max`>>@>AБA+!t^>>@@;@@=*A@@@@@>@@@@>A@@A@@@3>>>>>>>>@ >@6-A@@@@@@~@u@l@X@I@j0@\%@R@7@@@@@@@@@w@khA@@@Zn@A<?@A+#elt_?.?/@@;@@=sA@@@@@?2@@@@??A@@A@@@3????????@JUO@A@&create???@@б@г>Ҡ$unit?J?K@@ @@@"3?4?3?3?4?4?4?4?4@'!@A@@гt!t?Y?Z@@ @@@"@@@@@"@@@?d @@?qA@ @@&length?o?p@б@г!t?z?{@@ @@@"3?d?c?c?d?d?d?d?d@1F@A@@г?C#int??@@ @@@"@@@@@"@@@? @@?A@ @@(is_empty??@б@гŠ!t??@@ @@@"3????????@1F@A@@г?R$bool? ?@@ @@@"@@@@@"@@@? @@?A@ @@#add??@б@г!t??@@ @@@"3????????@1F@A@@б@г#elt?"?%@@ @@@"@@г?$unit?)?-@@ @@@"@@@@@"!@@@'@@"$* @@@@@@@A@@@*(add_iter@.6@.>@б@г7!t@.@@.A@@ @@@"3@@@@@@@@@CX@A@@б@б@б@г#elt@1.G@2.J@@ @@@"@@г?Ơ$unit@>.N@?.R@@ @@@""@@@@@"%@@б@А!x@#`@"0@R.W@S.Y@@г?㠐$unit@[.]@\.a@@ @@@"?@@@@@"B@@@"@@"E@g.F @@б@А!x!L@n.f@o.h@@г?$unit@w.l@x.p@@ @@@"[@@@3@@"^@@@@@"a@.E @@@h@@"ek@@@@.2@@@A@@@k'max_elt@ qy@ q@б@г!t@ q@ q@@ @@@#3@@@@@@@@@@A@@г?栐&option@ q@ q@г#elt@ q@ q@@ @@@#@@@@@@# @@@$@@#!'@@@@ qu@@@A@@@'+get_max_elt@ @ @б@г!t@ @ @@ @@@#3@@@@@@@@@@U@A@@г#elt@ @ @@ @@@#@@@@@# @@@@  @@AA@ @@'pop_maxA A @б@г)!tA A @@ @@@# 3@@@@@@@@@1F@A@@г@U&optionA A @г#eltA' A( @@ @@@# @@@@@@#  @@@$@@#!'@@@A7 @@ADA@@@'*remove_maxAB AC @б@гh!tAM AN @@ @@@#3A7A6A6A7A7A7A7A7@@U@A@@г@䠐$unitA\ A] @@ @@@#@@@@@#@@@Ag  @@AtA@ @@%clearAr As @б@г!tA} A~ @@ @@@#3AgAfAfAgAgAgAgAg@1F@A@@гA$unitA  A  @@ @@@#@@@@@#@@@A  @@AA@ @@$copyA  A  @б@гȠ!tA  A  @@ @@@#3AAAAAAAA@1F@A@@гנ!tA  A  @@ @@@#@@@@@#@@@A   @@AA@ @@(of_arrayA  %A  -@б@гA=%arrayA  3A  8@г#eltA  /A  2@@ @@@#3AAAAAAAA@;P)@A@@@ @@@# @@г!tA  <A  =@@ @@@#@@@@@#@@@B  ! @@BA@ @@'of_listB > FB > M@б@гAq$listB > SB > W@г#eltB& > OB' > R@@ @@@#3BBBBBBBB@@_)@A@@@ @@@# @@гU!tB: > [B; > \@@ @@@# @@@@@#!@@@BE > B @@BRA@ @@'of_iterBP ] eBQ ] l@б@б@б@г1#eltB_ ] pB` ] s@@ @@@#"3BIBHBHBIBIBIBIBI@:Y#@A@@гA$unitBn ] wBo ] {@@ @@@##@@@@@#$@@б@А!x@#-`@#%B ] B ] @@гB$unitB ] B ] @@ @@@#&,@@@@@#'/@@@"@@#(2B ] o @@б@А!x!9B ] B ] @@г !tB ] B ] @@ @@@#)H@@@3@@#*K@@@@@#+NB ] n @@@B ] a@@BA@@@U.iter_unorderedB  B  @б@б@г#eltB  B  @@ @@@#.3BBBBBBBB@p!@A@@гBe$unitB  B  @@ @@@#/@@@@@#0@@б@г !tB  B  @@ @@@#1!@@гB$unitB  B  @@ @@@#2.@@@@@#31@@@$@@#44C   @@@C   @@CA@@@;.fold_unorderedC  C  @б@б@А#acc@#>`@#53C CCC C C C C @Ri@AC'  C(  @@б@г#eltC2  C3  @@ @@@#6@@А#accC<  C=  @@@ !@@#7@@@$@@#8@@б@А#acc*%CJ  CK  @@б@гp!tCU !CV !@@ @@@#96@@А#acc?:C_ !C` ! @@@ D@@#:?@@@G@@#;B@@@(@@#<ECj   @@@Cm  @@CzA@@@L@A@JDA@;@ @@x@q@@@O@H!@@@@K@D@@)@@3CyCxCxCyCyCyCyCy@q+@A'3C|C{C{C|C|C|C|C|@@ACC! !@@@C@@3CCCCCCCC@@@'MakeMaxaC!!C!!"@CA@Т!EbC!!#C!!$@РI+OrderedTypeC!!&C!!1@3CCCCCCCC@A@A@j@c<@5@@M@F@ @@w@pI@B@@@2@+@@@@O@@-,@@БгРAƠ+MakeMinPolyC!>!JC!>!U@@AĐAAAwA@AMA$A@@@u@@@.@@I?@@?@?>@>>@>;=1@=_=!@98@8V7m@76@65@54K@4~4;@0'-@-+@++l@+)@)(@)(<@(w'@'<&@&&h@@3DDDDDDDD@w@@DGA@@@БA+!tcDH!>!eDI!>!f@А!a@#A3D7D6D6D7D7D7D7D7@;@@#@@A@A@@#R@@@#S@#?G@B@@@Df!>!]Dg!>!l@@@@DtA@@Dj!>!bDk!>!d@@B@;@ABA!t@@@#G@@@@@@@@@@@Aг !ED!>!iD!>!j@D!>!k@@@4 @@"@@"!@3DmDlDlDmDmDmDmDm@R@@@ఠ'compareD!m!D!m!@DA@@@ @@@#pd@#V@ @@@#qd@#[@@@#od@#\@@#]d@#W@@#Xd@#U3DDDDDDDD@|oG@@@࣠@!xAD!m!D!m!@DA@@&@@@@!yAD!m!D!m!@DA@@)3DDDDDDDD@ 7@@@@@@@@డ+'compare!ED!m!D!m!@ D!m!D!m!@@@N@@@#F@S@@@#E@@@#D@@#C@@#B@@@@@\@@@#e@a@@@#d!@@@#c@@#b@@#a3DDDDDDDD@6Ba@9@:@@@@ఐI!yE!m!E!m!@ @@n@@ఐd!xE!m!E !m!@O@@@@A@@u@fA@d@#wu@A@E'!m!@@ @x@A@@@@@3EEEEEEEE@~@@E1!>!VE2!m!@ 3EEEEEEEE@@@@@9E6!m!@Bd;B@A@A@@@$ @$BB@@B@@@BA@Bd;B@A@ACBeBd@@@$@$@@@$B_B^@@Bz@@@BwA@B/@B'@@@$B$B!B B@@@$@@$@B5@B6@A@B0B-B,A@@@$A@@@$@@$@A@A@A@B?B<B;A@@@$A@@@$@@$@A@A@Ax@BNBKBJAr@@@$ Aq@@@$@@$@A~@A@A@@A6@@@$#A1@@@$"@@$!@AC@AD@@l@AB@@@$&A=@@@$%@@$$@@o@@p@?@?@@@$)?@@@$(@@$'@?@?@?@BB~B}@@@$3@$.@@@$5@>@@@$4@ >@@@$-@@$,@@$+@@$*@?@?@;@BBB@@@$>@$9@@@$?@C=C@@@$@$z@@@$y= @@@$x@@$w@0@0@.4@CUCRCQ..@@@$C[CXCW.4@@@$@@$@.=@.>@-@CgCdCci@@@$@$@@@$ @@$@.@.@,C@,9x@@@$@$@@@$CC~C} @@@$@@$@,O@,P@+@+@@@$@$@@@$CCC @@@$@@$@+@+@+@@@@@@$@$< @@@$@@$@+=p@@@$A@$A@$@+ CCC@@@$@@$@@$@+7@+8@*@@))@@@$@@$@CCCƠ*@@@$)@@@$@@$@@$@*@*@)@@)@))@@$@@$@)@CCCݠ)@@@$)@@$@@$@@$@)@)@@@De;D@A@A@@@'DD@@D@@@DA@Due;Dm@A@AEDNDM@@@'@@@'DGDF@@Db@@@D_A@D@D@@@'D D DD@@@'@@'@D@D@C@DDDC@@@'C@@@'@@'@C@C@C@D'D$D#C@@@'C@@@'@@'@C@C@C`@D6D3D2CZ@@@'CY@@@'@@'@Cf@Cg@C(@C@@@'C@@@'@@'@C+@C,@BT@C*@@@'C%@@@'@@'@BW@BX@A@A@@@'A@@@'@@'@A@A@@@DiDfDe;:@@@'@@@'@@@@@'@ @@@@'@@'@@'@@'@@@@@=@DDDUT@@@'@@@'@>O@@@'@@'@@'@=@=@< @DDDji@@@'~@@@'@@@ >h@@@'}@@'|@;;A@'{A@'z@;;@@'y@@'x@@'w@< @@@@'Z@@'Y@1@1@0@E6E3E20@@@'XE<E9E80@@@'W@@'V@0@0@/@EHEEED@@@'U@@@'T @@'S@/@/@.#@.('@@@'Q@@@'RE`E]E\ @@@'P@@'O@..@./@-@-<;@@@'M@@@'NEtEqEp @@@'L@@'K@-@-@,@@@QP@@@'E=@@@'J@@'I@,?M@@@'HA@'GA@'F@,EEE@@@'D@@'C@@'B@-@-@+@@++@@@'A@@'@@EEE+@@@'?+@@@'>@@'=@@'<@+@+@+@@+@++@@';@@':@+@EEE+@@@'9+@@'8@@'7@@'6@+@+@@I!>!B@@@ϠA+!tfI !!I !!@@;@@GQAGi(Dynarray!tk!t@@@'@@@'@@@@I!!I !!@@@@I-A@@AгI*!!I+!!@I.!!@@г!EI9!!I:!!@!I=!!I>!!@@@)3I%I$I$I%I%I%I%I%@$65+*  lk\[PO32mlS;@@@A[@@@'@'@@@@F@@@C@@,'@@@U%-F@@H@@HG@3ILIKIKILILILILIL@&@@@ఠ'max_eltIs!!It!!@IA@@@F8@'@@@'<ؠ@@@'@@'g@'3IiIhIhIiIiIiIiIi@D~x@@@ఐ'min_eltI!!I!!@@@ @A@I!!@@@@ఠ+get_max_eltI!!I!!@IA@@@Fc@'@@@'@@'g@'3IIIIIIII@(>7@8@9@@@ఐ+get_min_eltI!!I!"@@@ @A@I!!@@@@ఠ'pop_maxI" "I" "@IA@@@@@@'@@@'=-@@@'@@'g@'3IIIIIIII@/A:@;@<@@@ఐ'pop_minI" "I" ""@@@ @A@I" " @@@@ఠ*remove_maxI"#"+I"#"5@JA@@@@@@'@@@'@@@@'@@'g@'3IIIIIIII@.F?@@@A@@@ఐ*remove_minJ"#"8J"#"B@@@ @A@J"#"'@@@@٠ˠgS5&ΠvWB)#A@@Z@u/@IB@C@D@@3JJJJJJJJ@5L@@J=!5!7J>"C"H@*3J%J$J$J%J%J%J%J%@ @@@;G@A@A@@@'GG@@G@@@GA@ @G@@@' G@@@'@@'@G&@G'@ @F@@@'F@@@'@@'@F@F@@F@@@'F@@@'@@'@F@F@@FZ@@@'FY@@@'@@'@Ff@Fg@@F@@@'F@@@'@@'@F*@F+@@F(@@@'F#@@@'@@'@EU@EV@@D@@@'D@@@'@@'@D@D@@@@@'@@@'@C@@@'@ C@@@'@@'@@'@@'@C@C@@@@@'@@@'@AD@@@'@@'@@'@@@@@@@@@'@@@'@@@ AY@@@'@@'@>>A@'A@'@>>@@'@@'@@'@?@?@@>D@@@'>?>F@@@'@@'@>S@>T@@=w@@@(=v@@'@=@=@@@@@(@@@(@B@@@(@B@@@(Bc@@@(@@(@@(@@(@<@<@@@@@(@@@(;\F@@@(@DJ@@@(@DF@@@( @@( @@( @@( @@( @;{@;|@@@@@(@@@(>@@@(@@(@72@73@@ޠ@@@(@@@(A@@@(@@(@4@4@@ڠ2@@@(ؠ2@@@(@@(@2@2@@ՠ@@@(@@@(@@(@2@2@@0@@@("@@@(#Р@@@(!@@( @0@0@@0S@@@(&@@@('̠@@@(%@@($@0e@0f@@@@@@@(+@@@@(0@@(/@/B@@@(.A@(-A@(,@/Ƞ@@@(*@@()@@((@/@/@@@..@@@(6@@(5@Š.@@@(4.@@@(3@@(2@@(1@.@.@@@.Z@.Y.\@@(<@@(;@.^@ .`@@@(:.d@@(9@@(8@@(7@.k@.l@;@@@A@@@(>@@@(=@@@@@@@A@_@ޠV@@@(A?-Z@@@(@@@(?@c@d@A@۠8@@@(C9@@(B@A@B@"@@@@(F@@@(G?F@@@(E@@(D@)@*@@@@@(K@@@(JB@@@(I@@(H@ @ @@@@@X@UD3KKKKKKKK@C@@@@L!!@@@LI@IL @I@.8@.5I@@.0(@(.,@( "@!(@!@@!@@@@@|@u@ ^@ [o@@ V@ R@@*@'@@@3LLLLLLLL@l@yA@@@@@@@@@@y@\k@N`@DY@)B@ )@@@@@@@@u@]A@@@@}y@@@h@@@"F.Stdlib__Pqueue]@@"Y@@#X@@#n W@@# V@@$NU@@$T@@$S@@%-R@@%mQ@@%ıP@@& "O@@&c%N@@&(M@@'X+L@@'.K@@'ر1J@@(I4H@@(7Z@A"6A#65A#4A$*3A$2A$1A%0A%\/A%.A%-A&8,A&+A'(*A')A'(A''A(FZI@A(r)@J_G@@/}bC@@/ֱeB@@1hA@@1k@@@2jn@@4q~@@Hϱt}@@6aw|@@8z{@@?{}z@@@Xy@@A&x@@Bűw@@I-v@@Iyu@@Iαt@@J!r@@/D@A)36A)5A*4A*3A*2A+L1A+0A+/A,.A,g-A,,A-+A-*A-)A.6(A.u'A.s@A.)@M)q@AKp@AK{o@@ n@@/j@@0=i@@1}h@@2'g@@2ѱf@@4e@@I6d@@Wc@@b@@a@@`@@A_@@C,^@@I]@@I\@@J5[@@GY@@k@A 6A d5A 4A .3A o2A 1A 0A /A F.A -A ,A +A *A )A (A''A[Z@A)@ݱ$X@@0B'T@@0*S@@1۱-R@@20Q@@3/3P@@5F6O@@I9N@@7&QF@@JTE@@WC@@ZU@AS6A5A4A3A2A1A50Ag/A.A-A ,AM+A*A)AH(Az'A}D@A)@zB@AA@Am@@A dKݠA LEA]KᠰALI@0$@1$@2E$@2%@3%٠@5&/@I&v@&@&@'J@B'@BL'砰@C(@JQ(ڠ@J)@J)X@KG@KD)ʠA#L A#BLq@ H************************************************************************N,A@@N-A@L@ H N2BMMN3BM@ H OCaml N8CN9C@ H N>DN?D3@ I Jean-Christophe Filliâtre NDE44NEE4@ H NJFNKF@ H Copyright 2023 CNRS NPGNQG@ H NVHNWHh@ H All rights reserved. This file is distributed under the terms of N\IiiN]Ii@ H the GNU Lesser General Public License version 2.1, with the NbJNcJ@ H special exception on linking described in the file LICENSE. NhKNiKO@ H NnLPPNoLP@ H************************************************************************NtMNuM@ Priority queues over ordered elements. We choose to have polymorphic elements here, so that we can later derive both polymorphic and monomorphic priority queues from it. NzON{S@ Our priority queues are implemented using the standard "min heap" data structure, a dynamic array representing a binary tree. N_GKN`@ The node at index [i] has children nodes at indices [2 * i + 1] and [2 * i + 2] -- if they are valid indices in the dynarray. NoNp)@  We say that a heap respects the "heap ordering" if the value of each node is no greater than the value of its children. The algorithm manipulates arrays that respect the heap ordering, except for one node whose value may be too small or too large. The auxiliary functions [sift_up] and [sift_down] take such a misplaced value, and move it "up" (respectively: "down") until the heap ordering is restored. Functions [sift_up] and [sift_down] do not perform swaps, but rather expect the value to be assigned in the heap as an additional parameter [x], resulting in twice less assignments. NuN@  &@ 3 store [x] at index [i], moving it up if necessary NB ( ,NB ( c@ 5 store [x] at index [i], moving it down if necessary N_ . 2N_ . k@0 no child, stop Nb  Nb  @0 no right child Ne1SNe1g@ array to heap in linear time (Floyd, 1964) many elements travel a short distance, few travel longer distances and we can show that it totals to O(N) N/3N@= renaming a few functions... NAENAf@= Monomorphic priority queues NN@@C+../ocamlopt0-strict-sequence(-absname"-w5+a-4-9-41-42-44-45-48"-g+-warn-error"+A*-bin-annot)-nostdlib*-principal2-function-sections"-o2stdlib__Pqueue.cmx"-cNǐN [/home/teraram/ci/builds/workspace/parallel-build/flambda/false/label/ocaml-manycores/stdlib @@081"7nC3NNNNNNNN@N@@8CamlinternalFormatBasics0%FU(Q/Tu&Stdlib0Lku]8_٠0Stdlib__Dynarray0C"] w 7].Stdlib__Either0Vy`u~c àN0> ? .*Y8+Stdlib__Seq0nwzG&amg@@A(2}@K)K3@ X@-z-@:;@.Z@FБFڰLȘL@G GK֑K@Co==@@)ʐ*@@@@@@0#0\3Q3[@R;@99@%& @//@))@@@  @ k @'G'@- -]MqO@@.$.t@@%B%00@@ ʒ JU::@@@@KK@(p(11@'1@͒@IuAӑA@@CzC@6q@,W,@@ ސ <''@@464@@*JJ#@̐K@@@"]>H>RI}I@..VHH@@%/@$H$R@ϰ=B=L@@);)@ǰ11!@W@Sn:--@h@88ðO{O@G@ {  @@p//k@@!ؘE`Ej@@  @@@**@  @@+@+0r0CC@,C,@@/[@͙հ%}%)#)s-=-@&'#@kAK@+/+K?y?@JHt@$@@1z1@+,_6688@@@$@5W5a@'G'@ǐ@+Ù+@2֑2@  ˰() 9U9_MN@ڐ12@@T77@J@@@@@@@//8/yM M3@;;)@@0o0°KޑK@3ˑ3@EtE~@@@KK@'ɐ(+4+m@@7W7a@@:@@((MyM@|%"%H@AA@@PP@ oD k g@@E@E@@@ADZ@DW@@@L@L@@@7@7@@@ABCM@L@@@2@2@@@A@@@@BLr@Lo@@@3C@3@@@@ACDL@L@@@@@@@A5@5@@@4@4@@@A5;@58@@@BC@@@@g@d@@@ARA<@@@BDE@@@&