Caml1999T037]QGRDkC.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@@ 2@@@ 3@ʠG@B@@@aa@@@@EA@@aa@@)@; @A(A@(Dynarray!t!t0G@t@@@v@@@xG@B@@@@@@@@Aгaa@a(@)@г!Eaa@"aa@@А!a(Saa@@@1V @@@9WB@@D@@DC@3@X@@@ఠ&create.c/c@3.--.....@g@@@డ(Dynarray&createVd Wd @ Zd [d @@@*@@@G'!a@@@@@F@@E@,dynarray.mliI  I  @@0Stdlib__DynarrayA@@@>)@A@sc@@@,@ఠ&lengthf!)f!/@GA@@@LE@ G@@@ F#intA@@@ E@@ DG@ C3xwwxxxxx@Kkd@e@f@@@డ(Dynarray&lengthg28g2@@ g2Ag2G@@@o!a@%@@@^&@@@]@@\@KkLk@@JF@@@5(@A@f!%@@@+@ఠ(is_emptyiIQiIY@HA@@@@ L@@@ K$boolE@@@ J@@ IG@ H3@Jb[@\@]@@@డ8(Dynarray(is_emptyj\bj\j@ j\kj\s@@@!a@!@@@a&@@@`@@_@nn@@G@@@5(@A@iIM@@@+@ఠ%clearlu}lu@ IA@@@ޠ@ Q@@@ P@@@ O@@ NG@ M3@H`Y@Z@[@@@డ(Dynarray%clear1m2m@ 5m6m@@@!a@@@@$@@@@@@    @@V@@@3(@A@Lluy@@@+@ఠ*left_childYq*2Zq*<@gJA@@@#intA@@@ zG@ S@@@ gG@ T@@ UG@ R3TSSTTTTT@Mc\@]@^@@@࣠@!iA}q*=~q*>@KA@@ 3feefffff@-q*.q*J@@@@@  @@డ!+q*Gq*H@@4@@@~@:@@@}6@@@|@@{@@z'%addintBA @@@@*stdlib.mli0++0+,@@mn@@@@@@@ ]@@@@ \O@@@ [@@ Z@@ Y3@=I_@@@A@@@@డ!*q*Cq*D@@n@@@@t@@@w@@@@@@@'%mulintBA:@@@@9:--::--F@@p@@@@@@@ o@@@@ n@@@ m@@ l@@ k8@@Bq*Aq*B@@1@@@ {J@ }J@ |H@@ఐ!iq*Eq*F@R@@U@@@@@@@ i@ J@ y]@@A!q*I@@@@@ hI@ I@ l@@.@@m@A@G@ @A@@@@ఠ+right_child9rKS:rK^@GLA@@@@@@ G@ @@@ G@ @@ G@ 30//00000@@@@@@࣠@!iAYrK_ZrK`@gMA@@3BAABBBBB@)arKObrKl@@@@@  @@డܠްmrKinrKj@۰@@@@@@ @@@@ @@@ @@ @@ 3baabbbbb@!-?@$@%@@@@డ°rKerKf@@@@@@@ @2@@@ @@@ @@ @@ @@BrKcrKd@@@@@ J@ J@ .@@ఐ_!irKgrKh@8@@w;@@@@&@@@ @ J@ C@@BrKkf@@/@@@ I@ I@ R@@.n@@S@xoA@G@ v@A@s@sr@@ఠ+parent_nodesmusm@NA@@@@@@ G@ @@@ G@ @@ G@ 3@@@@@@࣠@!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@@@@ r@@@ G@ @@@ -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@ G@ AG@ BG@ G@ @!@@@ @@ @@ 3GFFGGGGG@@L@C@D@@@@ఐd!ioD  pD  @L@@@@@yD  zD  @@)@@ @@@@@ K@  @డ(Dynarray#setD  D  @ D  D  @@@]!a@*@@@[@@@@Z@ @@@Y@@X@@W@@V@@cAc@@?E@!@@@v@@@ @@@@ @@@@ @@ @@ @@ ^@@ఐܠ!hD  D  @@@ k@@@D  D  @@@@@ (K@ 5K@ 4{@@ఐˠ!xD  D  @@@@@\@@ @@ఠ!pE  E  @TA@@ @@@ @K@ 63@@@@ఐ*+parent_node E   E  @&@@@%@@@ :"@@@ 9@@ 8@@ఐ!iE  E  @@@M"@@@@&#@A@#E  @@@ఠ!y.F  /F  @@@@డ(Dynarray#getCF  DF  @ GF  HF  @@@!a@/@@@U@@@@T @@S@@R@^  ^ @@D@@@@&5G@ G@@@ I@@@@ H@@ F@@ E:@@ఐ!hwF  xF  @e@@G@@ఐ!pF  F  @Q@@4@@@ RL@ _L@ ^[@@L @@*\@A@F   @@డ!<G  G  @@!a@@i@@@-@@,@@+)%lessthanBA@@@@ @@rS@@@@@@@ ~J@ d@@@@ c@@ b@@ a3@@@@@@@డ'compare!EG  G  @ G  G  @@@@@@@@@@@@@@@@@@@ΰ@@@$$G@ t@@@ s@,*@@@ q@@@ p@@ o@@ n<@@ఐ렐!x G   G  @@@.I@@ఐ栐!y G   G  @S@@V@@D@@_W@@@ G   G  @@jK@ b@@P@@@@@ K@ lh@ డ(Dynarray#set 8H   9H  @  <H   =H  #@@@@@}G@ @@@ @t@@@ @ p@@@ @@ @@ @@ @@ఐn!h \H  $ ]H  %@J@@@@ఐ^!i iH  & jH  '@F@@@@ఐH!y vH  ( wH  )@@@G@@B@@ @@@ K@ @ఐ̠'sift_up I + 3 I + :@@@@@@@@ @@ @@ @@ఐ!h I + ; I + <@@@@@ఐ!p I + = I + >@v@@TK@ @@ఐ!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@@@@m@@@@l@@k@@j@vw@@uK@@@@G@ MG@ TG@ @@@ @@@@ @@ @@ 3        @n|u@v@w@@@@ఐ!h O   O  @@@@@ఐ!x O   O  @@@@@K@@@@@ %J@ #@డ u!> $P   %P  @@!a@@@@@0@@/@@.,%greaterthanBA@@@@@@T@@@@@@@ 3I@ *@@@@ )@@ (@@ 'S@@ఐӠ!i SP   TP  @]@@`@@@ ]P   ^P  @@ J@ 4k@@@@@@@ 5J@ 2q@ఐ'sift_up pP   qP  @{@@@9;@@@ ;@@@ >@@@@ =@ @@@ :@@ 9@@ 8@@ 7@@ఐ;!h P   P  @ @@^@@ఐ!i P   P  @@@@@@ NJ@ \J@ [@@ఐH!x P  Q@(R@@m@@ES@@mJ@ L@@ P  W@@@X@@@Y@@2@cZA@G@ ba@A@^@^]@r@ఠ(add_iter R   R  @ ZA@@@@ @@@ G@ @@@ G@ d@@@o@@@ @@ G@ t@@@ w@@ oG@ xA@ yG@ uA@ vG@ i@G@ n @@ pG@ j@@ kG@ e@@ fG@ c3        @ @@@@@࣠@!hA R   R  @ [A@@@3        @M R   S  @@@@@  @@$iterA "R   #R  @ 0\A@@C3        @!W@@@@@@@@!xA 3R   4R  @ A]A@@93        @W@@@@@@@@ఐ&$iter ES   FS  @@@e3 - , , - - - - -@M@@@@@@ఐ)#add WS   XS  @W@@@ @@@ ~@@@ @@@@ }@@ |@@ {!@@ఐh!h sS   tS  @M@@.@@ wS   xS  @@1@@ఐS!x S  m@:n@@=@@Ao@@>@ypA@G@ w@A@t@ts@@ఠ'min_elt U   U  @ ^A@@@ c ^@ G@ @@@ G@  @@@ G@ @@ G@ 3        @@@@@@࣠@!hA U  ! U  "@ _A@@"3        @/ U   V % h@@@@@  @@డ $(Dynarray(is_empty V % . V % 6@  V % 7 V % ?@@@@@ A@@@  @@@ @@ 3        @)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@@@ / -@L@@@YG@^@@@nG@+@%@@@iG@0@.@@@G@5@@@FG@6@@7G@1@@2G@,@@-G@*3rqqrrrrr@ $@@@@@࣠@!hA\  \  @cA@@63@C\  ]  ,@@@@@  @@!iA\  \  @dA@@93@!M@@@@@@@@!jA\  \  @eA@@A3@M@@@@@@@@డ #68]  )]  *@5@@@ @@@XJ@>@6@@@=@@<@@;3@)`@ @!@@@@డ 'compare!E]  ]  @ ]  ]  @@@@@3G@N@@@M@;@@@K @@@J@@I@@H,@@డ j(Dynarray#get]  ]  @  ]  !]  @@ٰ@@@ @@@`@@@@_@@]@@\O@@ఐ!h9]  :]  @@@\@@ఐ!iF]  G]  @@@i@@J]  K]  @@l@@డ (Dynarray#get\]  ]]  @ `]  a]  #@@@@@ *G@G@z@@@|@@@@{ @@y@@x@@ఐ䠐!h|]  $}]  %@ɰ@@@@ఐ̠!j]  &]  '@@@ @@]  ]  (@@&@@@@@@@]  +@@K@@@@@@A@7G@@A@@@Aఠ)sift_down` l x` l @fA@@@ v t@}@@@G@@@@G@#len X@@@G@@@@@G@@G@@@@G@@@@@@@@@3@Izs@t@u@@@࣠@!hA` l ` l @gA@@73@C@>31@.@+*@@H@@@H@@@H@@@H@@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@G@(@@@'@@@&@ _@@@%@ d@@@$ @@@#@@"@@!@@ W@@ఐ렐!hfm{fm|@İ@@d@@ఐ$leftfm}fm@A@@ @@@9M@HM@Gx@@ఐƠ%rightfmfm@@@ @@@8M@JM@I@@T @@ {@@@KM@7@ఐʠ$leftfmfm@l@@L@L@ఐꠐ%rightfmfm@@@L@M@fmu@@@e19@@@ @@@A@c   @@@ఠ!y &h'h@4nA@@uL@N3@@@@@@డ(Dynarray#get;h<h@ ?h@h@@ @@@ G@G@G@G@;G@R@@@T@ @@@S@@Q@@P,@@ఐ!hahbh@Z@@9@@ఐ\(smallestnhoh@C@@ @@@]M@jM@iM@@> @@1N@A@zh @@డ ꠐ ii@ @@@@@@K@o@ @@@n@@m@@l3yxxyyyyy@jtm@n@o@@@@డa'compare!Eii@ ii@@ Ӱ@@@ @@@~@ @@@|@@@{@@z@@y*@@ఐ!yii@4@@7@@ఐ!xii@@@ D@@2@@ME@@@ii@@XL@P@@>@@ i@@@L@wV@ డG(Dynarray#setjj@ jj@@ j@@@ǠQG@@@@@ 5@@@@  1@@@@@@@@@@@ఐ=!hjj@@@p@@ఐ!i*j+j @@@e@@ఐ!y7j 8j @@@@@B@@ @@@L@@ఐ)sift_downIk Jk @b@@@@@@@@@@@@@@@ఐ~!h^k _k  @W@@@ఐj#lenkk "lk %@R@@@@ఐf(smallestxk &yk .@M@@G@G@L@@@ఐ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_minàoZboZi@oA@@@Ѡ H@~@@@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@@@@@@@0.@@ఠ!xǠrr@rA@@G@13@>@@@డ.(Dynarray(pop_lastrr@ rr@@@!a@@@@@@@@@S@@@@-G@4@@@5@@3-@@ఐ᠐!h r r@@@:@@-@@;@A@r@@డk 砐 ss@ @@@@@@RH@I@ @@@H@@G@@F3        @aZ@[@\@@@@ఐ!n5s6s@@@@@A?s@s@@#I@S@@@@ @@@TI@Q!@ภ$SomeOsPs@9ఐ!xYsZs@1@@4@@@@H@X7@@ఠ!rȠjtkt@xsA@@^G@Y3TSSTTTTT@G@@@డ(Dynarray#get}t~t@ tt@@ :@@@KG@]@@@_@ 8@@@^@@\@@[#@@ఐt!htt@R@@0@@@tt@@ U@@@hJ@uJ@t@@@3 @@&A@A@t @@ ఐ)sift_downu"u+@ְ@@@@@@}@@@ a@@@@@@@@@@@|@@{@@z@@y@@x3@un@o@p@@@@ఐ!hu,u-@@@@,డFu6u7@@@@@@@@@@@@@@@@@@+@@ఐ͠!nu4u5@z@@,@@@K@K@?@@Au8 u9@@@@@K@K@O@@)u3*u:@@@@@@K@Y@@@9u;:u<@@i@@@J@J@i@@ఐ!xLu=Mu>@$@@~v@@@@ @@@I@|@ภ$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@@@@ZG@@@@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@!డ;}}@@@@@@@F@@@@E@@@D@@C@@Bn@@ఐB!n}}@@@!@@@RJ@TJ@S@@A}}@@@@@QJ@VJ@U@@}}@@@@@4@WJ@P@@@.}/}@@^@@@3I@YI@X@@ఐ!xA}B}@@@@@@@I@1@@H}@@@J{@@@@L{@@ @T@@ @A@G@^@A@@@@ఠ$copyΠ] ^ @kxA@@@)"@b@@@c.@@@a@@`G@_3SRRSSSSS@@@@@@డ(Dynarray$copy| }(@ )-@@@J!a@@@@iR@@@h@@g@'{bb({by@@&J@@@4)@A@ @@@,@ఠ'heapifyϠ@yA@@@sq@@@@G@o@@@zG@e G@f@@gG@d3@Oe^@_@`@@@࣠@!hA@zA@@!3@.ry@@@@@  @@@ఠ!nҠ@{A@@Y@@@uI@j3@(?@@ @@@డG(Dynarray&length@ @@X@@@ǠT@@@nz@@@m@@l!@@ఐM!h@+@@j.@@@@2/@A@@@ !i$%@@@@డ⠐/&0'@@@@K@@@@@@@@@@@@@@3$##$$$$$@We^@_@`@@@@డ!/N#O$@8@@@8@@@@7@@@l@@@@@@@@@ఐ!nh"@(@@S@@@K@K@2@@B)x%@@\@@@K@K@A@@ @@@@@@K@I@@A()@@=@@@J@J@Y@@1 @@q@@@J@_@@12@@|@@@I@j@Aఐ )sift_down6>6G@ ˰@@@{@@@@@@ V@@@@@@@@@@@@@@@@@@@3@~@@@I@I@@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@(@@@6G@O @@@#G@@@G@3tssttttt@@@@@@࣠@!aA{{@~A@@(3@5{@@@@@  @@ఐ 'heapify @"@@@z6@@@@@@@@3@*H@!@"@@@@డ(Dynarray(of_array@ @@@`!a@@@@<@@@;@@:@|;`;`};`;@@{m@@@@sp@@@)t@@@'@@&8@@ఐf!a@B@@E@@3@@Ƞ@@@5J@@8c@@~K@mdA@G@Dk@A@h@hg@~@ఠ'of_listנ@&A@@@$listK`@Z@@@gG@k@@@yG@F @@@fG@G@@HG@E3@@@@@@࣠@!lADE@R@A@@(3-,,-----@5LM@@@@@  @@ఐ'heapifyY @ɰ@@@!6@@@Y@@@X@@W3JIIJJJJJ@*H@!@"@@@@డ(Dynarray'of_listxy@ |}@@@`!a@ @@@BN@@@A@@@@#<<$<<@@"o@@@@sp@@@l]t@@@j@@i8@@ఐf!l@B@@E@@3@@o@@@xJ@@8c@@~K@mdA@G@k@A@h@hg@~@ఠ'of_iterڠ@AA@@@@@@@@@G@@@@@@G@@@@e@@@G@A@G@A@G@@G@ @@@G@@@G@@@G@3@@@@@@࣠@$iterA@BA@@=3@J P_@@@@@  @@!xA@"CA@@.3@!T@@@@@@@@@ఠ!aޠ'(@5DA@@cI@@@@J@3@(L@@ @@@డ(Dynarray&createCD@ GH%@@@@@@@@#@@@@@!@@ภ"()]&^(@;@@@N@@@@A@@A@@@ @@2@@@K@8@@)@@?9@A@m@@ ఐ|$itery,2z,6@a@@3a``aaaaa@J[T@U@V@@@@డ(Dynarray(add_last,8,@@ ,A,I@@ư@@@]@@@@@@@@@@@&@@ఐ!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_unorderedRS@`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~~@@@ @@@0 @@б@б@б@гc#elt~~@А!a"~~@@@(@@@2$ @@гU$unit~~@@ @@@31@@@@@44@@б@А!x@@I@5?~~@@гr$unit~~@@ @@@6N@@@@@7Q@@@"@@8T~ @@б@А!x![~~@@г$unit ~ ~@@ @@@9j@@@3@@:m@@@@@;p ~ @@@o@@<tr@@@ ~@@ %NA@@@z'min_elt # $@б@г9!t . /@А!a@JI@A3        @%@A < =@@@ @@@C @@г&option J K@г#elt T U@А!a&! [ \@@@,@@@E( @@@@@@G- @@@+@@H0.@@@ l"@@ yOA@$@@6+get_min_elt w x@б@г!t  @А!a@RI@K3 r q q r r r r r@Up%@A  @@@ @@@M @@гI#elt  @А!a    @@@"@@@O @@@@@P!@@@ @@ PA@@@''pop_min  !@б@гҠ!t & '@А!a@\I@S3        @Fa%@A # %@@@ @@@U @@г &option 2 8@г#elt . 1@А!a&! + -@@@,@@@W( @@@@@@Y- @@@+@@Z0.@@@!"@@!QA@$@@6*remove_min!9A!9K@б@г&!t!9P!9Q@А!a@cI@]3! ! ! ! ! ! ! ! @Up%@A!)9M!*9O@@@ @@@_ @@г $unit!79U!89Y@@ @@@`@@@@@a@@@!B9= @@!ORA@ @@%clear!MZb!NZg@б@гc!t!XZl!YZm@А!a@jI@d3!H!G!G!H!H!H!H!H@>Y%@A!fZi!gZk@@@ @@@f @@г $unit!tZq!uZu@@ @@@g@@@@@h@@@!Z^ @@!SA@ @@$copy!v~!v@б@г!t!v!v@А!a@rI@k3!!!!!!!!@>Y%@A!v!v@@@ @@@m @@г!t!v!v@А!a!v!v@@@"@@@o @@@@@p!@@@!vz@@!TA@@@'(of_array!!@б@г!:%array!!@г#elt!!@А!a@|I@s3!!!!!!!!@Pk/@A!!@@@ @@@u @@@&@@@w #@@г!t""@А!a!" " @@@'@@@y# @@@@@z&$@@@"@@"%UA@@@,'of_list"#"$@б@г!$list"."/@г㠐#elt"8"9@А!a@I@}3"("'"'"("("("("(@Uz/@A"F"G@@@ @@@ @@@&@@@ #@@гd!t"Y"Z@А!a!"`"a@@@'@@@# @@@@@&$@@@"l@@"yVA@@@,'of_iter"w"x@б@б@б@г1#elt""@А!a@I@3"v"u"u"v"v"v"v"v@Ot)@A""@@@ @@@ @@г"*$unit""@@ @@@@@@@@@@б@А!x@I@$""@@г"G$unit" " @@ @@@3@@@@@6@@@"@@9" @@б@А!x!@""@@г栐!t""@А!aUP""@@@[@@@W @@@;@@Z@@@&@@]"@@@"@@"WA@@@d.iter_unordered"%"3@б@б@г#elt# 9# <@А!a@I@3""""""""@'@A#6#8@@@ @@@ @@г"$unit#&@#'D@@ @@@@@@@@@@б@гC!t#8L#9M@А!a.)#?I#@K@@@4@@@0 @@г"ՠ$unit#MQ#NU@@ @@@=@@@@@@@@@,@@C#Y5 @@@#\!@@#iXA@@@J.fold_unordered#gV^#hVl@б@б@А#acc@I@3#Z#Y#Y#Z#Z#Z#Z#Z@a~@A#xVo#yVs@@б@г.#elt#Vz#V}@А!a@I@#Vw#Vy@@@ @@@ @@А#acc)$#V#V@@@ .@@)@@@1@@,*@@б@А#acc72#V#V@@б@г!t#V#V@А!a0D#V#V@@@6@@@K @@А#accTO#V#V@@@ Y@@T@@@\@@W%@@@0@@Z#Vn @@@#VZ@@#YA@@@a@A@kA@c/@(@@d@]@|@u9@2@@q@j.@'@@@@)@@3########@+@A'3########@@A#$@@@$@@3########@@@'MaxPolyL$ $@$mAБA+!tJ$$@А!a@3$ $ $ $ $ $ $ $ @)I>A@A@@K@D@ @%@@@>@7@@@~3@,@]@V@@@@Pj8;@@@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@2L@)3(@(?(?(@(@(@(@(@@Uz/@A(^(_@@@ @@@+ @@@&@@@- #@@гT!t(q(r@А!a!(x(y@@@'@@@/# @@@@@0&$@@@(@@(iA@@@,'of_iter((@б@б@б@г1#elt((@А!a@AL@33((((((((@Ot)@A((@@@ @@@5 @@г(B$unit((@@ @@@6@@@@@7@@б@А!x@CL@8$((@@г(_$unit((@@ @@@93@@@@@:6@@@"@@;9( @@б@А!x!@((@@г֠!t((@А!aUP((@@@[@@@=W @@@;@@>Z@@@&@@?])@@@) @@)jA@@@d.iter_unordered))@б@б@г#elt)")#@А!a@OL@D3))))))))@'@A)0)1@@@ @@@F @@г(Ơ$unit)>)?"@@ @@@G@@@@@H@@б@г3!t)P*)Q+@А!a.))W')X)@@@4@@@J0 @@г($unit)e/)f3@@ @@@K=@@@@@L@@@@,@@MC)q @@@)t@@)kA@@@J.fold_unordered)4<)4J@б@б@А#acc@^L@P3)r)q)q)r)r)r)r)r@a~@A)4M)4Q@@б@г.#elt)4X)4[@А!a@\L@Q)4U)4W@@@ @@@S @@А#acc)$)4_)4c@@@ .@@T)@@@1@@U,*@@б@А#acc72)4h)4l@@б@г!t)4s)4t@А!a0D)4p)4r@@@6@@@WK @@А#accTO)4x)4|@@@ Y@@XT@@@\@@YW%@@@0@@ZZ)4L @@@)48@@)lA@@@a@A@kA@c/@(@@d@]@|@u9@2@@q@j.@'@@@@)@@3))))))))@+@A'3))))))))@@A**}@@@*@@3********@@@+MakeMaxPolyVM*'*(@*5xA@Т!EN*3*4@Р**@@,@@,+@3********@\@@@ఠ'compare ++#@+*pA@@@+'@@@@P@z@ '@@@@P@)3@@@P@@@P@{@@|P@y3+"+!+!+"+"+"+"+"@}U@@@࣠@!x A+J$+K%@+XqA@@*@@@@!y A+X&+Y'@+frA@@+3+A+@+@+A+A+A+A+A@ ;@@@@@@@@డ9'compare!E+n*+o+@ +r,+s3@@@R)@@@f@X)@@@e){@@@d@@c@@b@)j@)h@@@bU@@@@hf@@@)@@@@@@@3+z+y+y+z+z+z+z+z@:Fg@=@>@@@@ఐM!y+4+5@ @@t@@ఐh!x+6+7@S@@@@E@@y@jA@P@y@A@+@@ @|@A@@@@@3++++++++@@@++8?@ 3++++++++@@@@@K+8@@)h P;)`@A@A)j@3@@@5@*)=)<@@)P@@@)MA@)P;)@A@A*8(()%@:@@@<@7@@@6((@@)@@@) A@(@(@@@?((((@@@>@@=@(@(@(@((( (|@@@B({@@@A@@@@(@(@(H@(((Ѡ(B@@@E(A@@@D@@C@(N@(O@(@((((@@@H(@@@G@@F@(@(@'@'@@@K'@@@J@@I@'@'@'@'@@@N'@@@M@@L@'@'@&h@&^@@@Q&[@@@P@@O@&k@&l@%@)))%@Y@@@[@V@@@]@%@@@\@%@@@U@@T@@S@@R@%@%@"C@)5)2)1"=@d@@@f@a@@@g@ #@@@`@@_@@^@"S@"T@ @)N)K)J @r@@@t@o@@@u@@@#"@@@n@@m@  A@lA@k@  @@j@@i@@h@ @ @ @)q)n)m @@@x  @@@w@@v@ @ @N@))~)}F@@@zE@@y@Q@R@h@)))b@@@@@@@@@$@@@@$@@@$:@@@~@@}@@|@@{@@@@@))) <@@@@@@@@;(@@@@&)@@@@&%@@@@@@@@@@@@Z@[@ @)))͠C@@@@@@@@ s @@@@@@@@@)))[@@@@@@@@#@@@@@@@@@*))@@@***@@@@@@@@ @***@@@@@@@@@@@@@!@@@@@@@@@*2*/*.@@@@@@@@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 @@@@@@@'@@@@ '@@@@@@@@@@'@'@$K0@+=+:+9@@@@@@@% @@@@@@@@$X@$Y@"1@+S+P+O@@@@@@@@@ %$@@@@@@""A@A@@""@@@@@@@"@"@"2@+s+p+o"@@@" "@@@@@@"!@""@!P3@+++!H@@@!G@@@!S@!T@ j4@+++@@@@@@@&@@@@&@@@&9@@@@@@@@@@ @ @?5@+++@@@@@@7*@@@@(%@@@@(!@@@@@@@@@@@@V@W@6@+++ɠ! @@@@@@"l @@@@@@@@7@+++ޠ65@@@@@@%@@@@@@@@8@+++@@@+++@@@@@@@@9@,,,\[@@@@@@ @@@@@:@ڠkj@@@@@@,",, @@@@@@@@R;@H@@@@@@,7,4,3 @@@@@~@^@_@<@@@@@@x$@@@}@@|@&@@@{A@zA@y@,X,U,T@@@w@@v@@u@@@=@@@@@t@@s@,k,h,g@@@r@@@q@@p@@o@@@d>@@\@[^@@n@@m@`@,,,~d@@@lh@@k@@j@@i@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_maxA0=0>@0KuA@@@<:-@@@@@@@# @@@@@R@30706060707070707@1C<@=@>@@@ఐS'pop_min0\0]@X@@ @A@0`@@@@ఠ*remove_maxB0m0n@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@@@@ DR; @A@A@ a `@@ i@@@ gA@ ZER;!a@R@@A@A!tR@@@@G@B@@@00@@@@0wAA@ MF@ I@@@+ 4@@@@@@ $@ "@ G@  @@@ @@@@@@ @ @ H@ @@@ @@@@@@ @ @ I@% @@@@P @@@ @@@@@~@@}@ @ @ {J@9 m@@@|@@@ w@@@{ N@@@z@@y@ > 6@@@x@@w@@v@ C @@@u@@t@@s@@r@ @ @ K@Z @@@q 6 @@@p@@@o@@n@ @ @ L@l @@@mE @@@l@@k@ @ @ M@z }@@@j oV @@@i@@@h@@g@ O@ M@ IN@ ;@@@f -@@@e@@d@ @ @ O@ @@@c @@@b@@a@ @ @ P@ @@@` @@@_@@^@ @ @ Q@  @@@]@@@\ @@@[@@Z@ v@ t@ pR@ l [@@@Y@@@XΠ `@@@W@@V@ 4@ 2@ .S@@@ @@@U @@@T@@S@ @@@R@@Q@@P@  .@@@O@@N@@M@@@T@@ˠ@@@L@@@K@@J@@@@I@@@H@@G@@F@x@v@rU@@k@W@@@Eq@@D@@C@s@_@@@By@@A@@@@@?@@@@УР '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@@+OrderedTypeYT2u2v@2{AБA+!tWS2'02'1@@;@@0A@@@@@2'+@@@@2yA@@A@@@32p2o2o2p2p2p2p2p@Mk@cZA@A@@@@@@gf@WV@KJ@;:@0/@%$@@ @@@@@@L@A.1@'compareX22:22A@б@гE!t22C22D@@ @@@322222222@EPJ@A@@б@гV!t22H22I@@ @@@@@г2#int22M22P@@ @@@@@@@@!@@@'@@$* @@@226@@3zA@@@*@ztA@B @@322222222@/D @A322222222@u@A3!#3QV@@@3@@322222222@|@@#MinlW3Xd3Xg@3AБA+!tZU3 py3!pz@@;@@1eA@@@@@3$pt@@@@31|A@@A@@@33 3 3 3 3 3 3 3 @A@t;@@@+@A @A+#elt[V39{3:{@@;@@1~A@@@@@3={@@@@3J}A@@A@@@33$3#3#3$3$3$3$3$@%@A@&create\3J3K@б@г2ݠ$unit3U3V@@ @@@33?3>3>3?3?3?3?3?@'!@A@@гD!t3d3e@@ @@@@@@@@@@@3o @@3|~A@ @@&length]3z3{@б@гe!t33@@ @@@33o3n3n3o3o3o3o3o@1F@A@@г3N#int33@@ @@@@@@@@@@@3 @@3A@ @@(is_empty^33@б@г!t33@@ @@@333333333@1F@A@@г3]$bool33@@ @@@@@@@@@@@3 @@3A@ @@#add_33@б@гŠ!t33@@ @@@333333333@1F@A@@б@г#elt33@@ @@@@@г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_elta47?47F@б@г!t47H47I@@ @@@344444444@@A@@г3&option47Q47W@г#elt47M47P@@ @@@@@@@@@ @@@$@@!'@@@47;@@4A@@@'+get_min_eltb4X`4Xk@б@гɠ!t4Xm4Xn@@ @@@344444444@@U@A@@г#elt4Xr4Xu@@ @@@@@@@@@@@5X\ @@5A@ @@'pop_minc5v~5v@б@г!t5v5v@@ @@@355555555@1F@A@@г4`&option5(v5)v@г#elt52v53v@@ @@@@@@@@@ @@@$@@!'@@@5Bvz@@5OA@@@'*remove_mind5M5N@б@г8!t5X5Y@@ @@@35B5A5A5B5B5B5B5B@@U@A@@г4$unit5g5h@@ @@@@@@@@@@@5r @@5A@ @@%cleare5}5~@б@гh!t55@@ @@@35r5q5q5r5r5r5r5r@1F@A@@г5$unit55@@ @@@@@@@@@@@5 @@5A@ @@$copyf55@б@г!t55@@ @@@355555555@1F@A@@г!t55@@ @@@@@@@@@@@5 @@5A@ @@(of_arrayg55@б@г5H%array55@г#elt55@@ @@@355555555@;P)@A@@@ @@@ @@г栐!t66@@ @@@@@@@@@@@6 @@6A@ @@'of_listh6 6@б@г5|$list6'6(@г#elt6162@@ @@@366666666@@_)@A@@@ @@@ @@г%!t6E!6F"@@ @@@@@@@@@@@6P @@6]A@ @@'of_iteri6[#+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_unorderedj6]e6]s@б@б@г#elt6]v6]y@@ @@@366666666@p!@A@@г6p$unit6]}6]@@ @@@@@@@@@@б@гڠ!t6]6]@@ @@@!@@г6$unit7]7]@@ @@@.@@@@@1@@@$@@47]u @@@7]a@@7#A@@@;.fold_unorderedk7!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@Т!EmY77@Р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+!tnZ8S+8T,@А!a@38B8A8A8B8B8B8B8B@;@@@A@A@@@@@@G@B@@@8q#8r2@@@@8A@@8u(8v*@@6@;@A6A!t@@@ @@@@@@@@@@@Aг !E8/80@81@@@4 @@"@@"!@38x8w8w8x8x8x8x8x@R@@@ఠ'compareo83V83]@8A@@@)@@@ @@@@@@@@@@@[@388888888@tg?@@@డ'compare!E83`83a@ 83b83i@@@$@@@ @)@@@ @@@ @@ @@@@߰@@2#@A@83R@@@&@eA@C<@=@>@@388888888@,F@@883m@ 388888888@@@@@83n@6p[;6@A@Axw@@@@6[6Z@@6n@@@6kA@6=q[;65@A@A7V66@@@@@@@66@@6+@@@6(A@5r@5@@@555Ѡ5@@@@@@5@5@5s@555ݠ5@@@5@@@@@@5@5@5ct@5555]@@@5\@@@@@@5i@5j@5)u@5555#@@@5"@@@@@@5/@50@4v@4@@@4@@@@@@4@4@4w@4@@@4@@@@@@4 @4!@3x@3y@@@3v@@@@@@3@3@2y@626/6.@@@@@@@@2@@@@ 2@@@@@@@@@@2@2@/[z@6M6J6I@@@@@@@@0@@@@@@@@/h@/i@-{@6c6`6_@@@@@@@@@@ 04@@@@@@--A@A@@--@@@@@@@-@-@-*|@666-"@@@--$@@@@@@-1@-2@,`}@666,X@@@,W@@@,c@,d@+z~@666@@@@@@@@1@@@@1@@@1I@@@@@@@@@@+@+@*O@666@@@@@@@*G5@@@@35@@@@31@@@ @@ @@ @@ @@ @*f@*g@&@666٠.@@@@@@@-| @@@@@@&"@&#@#@666C@@@(@#@@@"0@@@!@@ @#@#@!@777!@@@+7 7 7!@@@*@@)@!@!@!@777i@@@3@.@@@- @@,@!@!@@x@@@;@6@@@<727/7. @@@5@@4@ @ @b@X@@@D@?@@@E7G7D7C @@@>@@=@n@o@@@@@@@N@I/@@@S@@R@1!@@@QA@PA@O@7h7e7d@@@H@@G@@F@@@@@@@@Y@@X@7{7x7w@@@W@@@V@@U@@T@@@t@@l@kn@@_@@^@p@777t@@@]x@@\@@[@@Z@@@@@8t\;8l@A@Aa`@@@ L8D8C@@8W@@@8TA@8&\;8@A@A9?77qp@@@ K@@@ J77@@8@@@8A@7@7@@@ I7777@@@ H@@ G@7@7@7@777Š7@@@ F7~@@@ E@@ D@7@7@7K@777Ԡ7E@@@ C7D@@@ B@@ A@7Q@7R@7@7777 @@@ @7 @@@ ?@@ >@7@7@6@6@@@ =6@@@ <@@ ;@6@6@6@6@@@ :6@@@ 9@@ 8@6@6 @5k@5a@@@ 75^@@@ 6@@ 5@5n@5o@4@888@@@ 2@@@ 4@4@@@ 3@ 4@@@ 1@@ 0@@ /@@ .@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@@@ N@@@ P@@@@<os<o@@@@<A@@Aг<o<o@<o@@г!E<o|<o}@!<o~<o@@@)3<<<<<<<<@65+*  lk\[PO32mlS;@@@A[@@@ ]@ M@@@@F@@@C@@,'@@@U%-F@@H@@HG@3<<<<<<<<@&@@@E;+ݠҠxmQ3 ۠Ƞ{uA@@3========@C}w@@=7=8@!3========@@@@h;:@A@Ag@@@ g::@@:@@@:A@U@:@@@ jT: @@@ i@@ h@: @:!@R@Q9@@@ m9@@@ l@@ k@9@9@O@N9@@@ p9@@@ o@@ n@9@9@L@K9T@@@ s9S@@@ r@@ q@9`@9a@I@9@@@ v9@@@ u@@ t@9$@9%@H@9"@@@ y9@@@ x@@ w@8O@8P@G@7@@@ |7@@@ {@@ z@7@7@F@EC@@@ @@@ @6@@@ @ 6@@@ @@ @@ ~@@ }@6@6@B@A?@@@ @@@ @4>@@@ @@ @@ @3@3@>@=;@@@ @@@ @@@ 4S@@@ @@ @11A@ A@ @11@@ @@ @@ @2 @2 @:@91>@@@ 191@@@@ @@ @1M@1N@7@60q@@@ 0p@@ @0|@0}@4@31@@@ @@@ @5@@@ @5@@@ 5]@@@ @@ @@ @@ @/@/@0@/-@@@ @@@ .V9@@@ @7D@@@ @7@@@@ @@ @@ @@ @@ @.u@.v@,@+)@@@ @@@ 1@@@ @@ @*,@*-@(@'%@@@ @@@ 4@@@ @@ @'@'@$@#%@@@ !%@@@ @@ @%@%@@@@@ @@@ @@ @%@%@@#@@@ @@@ @@@ @@ @#@#@@#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@@ @@@#03@@@@@@@@@CX@A@@б@б@б@г#elt@1.G@2.J@@ @@@#1@@г?Ơ$unit@>.N@?.R@@ @@@#2"@@@@@#3%@@б@А!x@#=`@#40@R.W@S.Y@@г?㠐$unit@[.]@\.a@@ @@@#5?@@@@@#6B@@@"@@#7E@g.F @@б@А!x!L@n.f@o.h@@г?$unit@w.l@x.p@@ @@@#8[@@@3@@#9^@@@@@#:a@.E @@@h@@#;ek@@@@.2@@@A@@@k'max_elt@ qy@ q@б@г!t@ q@ q@@ @@@#>3@@@@@@@@@@A@@г?栐&option@ q@ q@г#elt@ q@ q@@ @@@#?@@@@@@#A @@@$@@#B!'@@@@ qu@@@A@@@'+get_max_elt@ @ @б@г!t@ @ @@ @@@#C3@@@@@@@@@@U@A@@г#elt@ @ @@ @@@#D@@@@@#E@@@@  @@AA@ @@'pop_maxA A @б@г)!tA A @@ @@@#F3@@@@@@@@@1F@A@@г@U&optionA A @г#eltA' A( @@ @@@#G@@@@@@#I @@@$@@#J!'@@@A7 @@ADA@@@'*remove_maxAB AC @б@гh!tAM AN @@ @@@#K3A7A6A6A7A7A7A7A7@@U@A@@г@䠐$unitA\ A] @@ @@@#L@@@@@#M@@@Ag  @@AtA@ @@%clearAr As @б@г!tA} A~ @@ @@@#N3AgAfAfAgAgAgAgAg@1F@A@@гA$unitA  A  @@ @@@#O@@@@@#P@@@A  @@AA@ @@$copyA  A  @б@гȠ!tA  A  @@ @@@#Q3AAAAAAAA@1F@A@@гנ!tA  A  @@ @@@#R@@@@@#S@@@A   @@AA@ @@(of_arrayA  %A  -@б@гA=%arrayA  3A  8@г#eltA  /A  2@@ @@@#T3AAAAAAAA@;P)@A@@@ @@@#V @@г!tA  <A  =@@ @@@#W@@@@@#X@@@B  ! @@BA@ @@'of_listB > FB > M@б@гAq$listB > SB > W@г#eltB& > OB' > R@@ @@@#Y3BBBBBBBB@@_)@A@@@ @@@#[ @@гU!tB: > [B; > \@@ @@@#\@@@@@#]@@@BE > B @@BRA@ @@'of_iterBP ] eBQ ] l@б@б@б@г1#eltB_ ] pB` ] s@@ @@@#^3BIBHBHBIBIBIBIBI@:Y#@A@@гA$unitBn ] wBo ] {@@ @@@#_@@@@@#`@@б@А!x@#i`@#aB ] B ] @@гB$unitB ] B ] @@ @@@#b,@@@@@#c/@@@"@@#d2B ] o @@б@А!x!9B ] B ] @@г !tB ] B ] @@ @@@#eH@@@3@@#fK@@@@@#gNB ] n @@@B ] a@@BA@@@U.iter_unorderedB  B  @б@б@г#eltB  B  @@ @@@#j3BBBBBBBB@p!@A@@гBe$unitB  B  @@ @@@#k@@@@@#l@@б@г !tB  B  @@ @@@#m!@@гB$unitB  B  @@ @@@#n.@@@@@#o1@@@$@@#p4C   @@@C   @@CA@@@;.fold_unorderedC  C  @б@б@А#acc@#z`@#q3C CCC C C C C @Ri@AC'  C(  @@б@г#eltC2  C3  @@ @@@#r@@А#accC<  C=  @@@ !@@#s@@@$@@#t@@б@А#acc*%CJ  CK  @@б@гp!tCU !CV !@@ @@@#u6@@А#acc?:C_ !C` ! @@@ D@@#v?@@@G@@#wB@@@(@@#xECj   @@@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@#}3D7D6D6D7D7D7D7D7@;@@#|@A@A@@#@@@#@#{G@B@@@Df!>!]Dg!>!l@@@@DtA@@Dj!>!bDk!>!d@@B@;@ABA!t@@@#@@@@@@@@@@@Aг !ED!>!iD!>!j@D!>!k@@@4 @@"@@"!@3DmDlDlDmDmDmDmDm@R@@@ఠ'compareD!m!D!m!@DA@@@ @@@#d@#@ @@@#d@#@@@#d@#@@#d@#@@#d@#3DDDDDDDD@|oG@@@࣠@!xAD!m!D!m!@DA@@&@@@@!yAD!m!D!m!@DA@@)3DDDDDDDD@ 7@@@@@@@@డ+'compare!ED!m!D!m!@ D!m!D!m!@@@N@@@#@S@@@#@@@#@@#@@#~@@@@@\@@@#@a@@@#!@@@#@@#@@#3DDDDDDDD@6Ba@9@:@@@@ఐI!yE!m!E!m!@ @@n@@ఐd!xE!m!E !m!@O@@@@A@@u@fA@d@#u@A@E'!m!@@ @x@A@@@@@3EEEEEEEE@~@@E1!>!VE2!m!@ 3EEEEEEEE@@@@@9E6!m!@Bd;B@A@A@@@$I@$>BB@@B@@@BA@Bd;B@A@ACBeBd@@@$P@$K@@@$JB_B^@@Bz@@@BwA@B/@B'@@@$SB$B!B B@@@$R@@$Q@B5@B6@A@B0B-B,A@@@$VA@@@$U@@$T@A@A@A@B?B<B;A@@@$YA@@@$X@@$W@A@A@Ax@BNBKBJAr@@@$\Aq@@@$[@@$Z@A~@A@A@@A6@@@$_A1@@@$^@@$]@AC@AD@@l@AB@@@$bA=@@@$a@@$`@@o@@p@?@?@@@$e?@@@$d@@$c@?@?@?@BB~B}@@@$o@$j@@@$q@>@@@$p@ >@@@$i@@$h@@$g@@$f@?@?@;@BBB@@@$z@$u@@@${@C=C@@@$@$@@@$= @@@$@@$@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@'@;;@@'@@'@@'@< @@@@'@@'@1@1@0@E6E3E20@@@'E<E9E80@@@'@@'@0@0@/@EHEEED@@@'@@@' @@'@/@/@.#@.('@@@'@@@'E`E]E\ @@@'@@'@..@./@-@-<;@@@'@@@'EtEqEp @@@'@@'@-@-@,@@@QP@@@'=@@@'@@'@,?M@@@'A@'A@'@,EEE@@@'@@'@@'~@-@-@+@@++@@@'}@@'|@EEE+@@@'{+@@@'z@@'y@@'x@+@+@+@@+@++@@'w@@'v@+@EEE+@@@'u+@@'t@@'s@@'r@+@+@@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@@@(,@@(+@@(*@@@@@@@@@(6@@@(7@@@ AY@@@(5@@(4@>>A@(3A@(2@>>@@(1@@(0@@(/@?@?@@>D@@@(:>?>F@@@(9@@(8@>S@>T@@=w@@@(<=v@@(;@=@=@@@@@(D@@@(C@B@@@(B@B@@@(ABc@@@(@@@(?@@(>@@(=@<@<@@@@@(J@@@(M;\F@@@(L@DJ@@@(K@DF@@@(I@@(H@@(G@@(F@@(E@;{@;|@@@@@(P@@@(Q>@@@(O@@(N@72@73@@ޠ@@@(U@@@(TA@@@(S@@(R@4@4@@ڠ2@@@(Xؠ2@@@(W@@(V@2@2@@ՠ@@@([@@@(Z@@(Y@2@2@@0@@@(^@@@(_Р@@@(]@@(\@0@0@@0S@@@(b@@@(c̠@@@(a@@(`@0e@0f@@@@@@@(g@@@@(l@@(k@/B@@@(jA@(iA@(h@/Ƞ@@@(f@@(e@@(d@/@/@@@..@@@(r@@(q@Š.@@@(p.@@@(o@@(n@@(m@.@.@@@.Z@.Y.\@@(x@@(w@.^@ .`@@@(v.d@@(u@@(t@@(s@.k@.l@;@@@A@@@(z@@@(y@@@@@@@A@_@ޠV@@@(}?-Z@@@(|@@({@c@d@A@۠8@@@(9@@(~@A@B@"@@@@(@@@(?F@@@(@@(@)@*@@@@@(@@@(B@@@(@@(@ @ @@@@@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 F/home/ci/builds/workspace/main/flambda/false/label/ocaml-alpine/stdlib @@081"7nC3NNNNNNNN@N@@8CamlinternalFormatBasics0%FU(Q/Tu&Stdlib0Lku]8_٠0Stdlib__Dynarray0_ǽ-G4 ͷ.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@@@&