úÎ03+1      !"#$%&' ( !"#$%&' !"#$%&' )*+I is used as a node identifier, so that the user can refer to tree nodes  in a random-access fashion. ,-),-),- ./0123456789:;<=>? .14789:;<=>? .14789:;<=>? ( !"#$%&'.14789:;<=>? @ABCBB DEDD FGHIJKLMNOOOPPP QRGiven a lookup function and a (<=)) comparison function, returns a function  which takes a starting index i and a range length n and returns the index ' of a minimum element from the indices a..a+n-1. (For example, if rM is the  returned 1 function, then the minimum element in the range 5..10 is  rM 5 6.)  This method does not do bounds checking,, and further makes no guarantees as to how , ties are broken. Both of these guarantees are made by . This function does O(n)5 preprocessing, assuming that the lookup function is O(1),  but the returned  function runs in O(1). F Thus, this function is suited for making frequent range-min queries. &To make range-max queries, substitute (>=) for (<=). Equivalent to  (S). Equivalent to G, except that it breaks ties by picking the element which comes first, g and provides bounds checking. This comes with some overhead, but has the same asymptotic guarantees. Equivalent to  T.  (<=) xs is equivalent to  (<=) (U xs) (xs V), D but can frequently optimize better, especially on unboxed vectors. Equivalent to  (S).   cmp xs is equivalent to  cmp (U xs) (xs V), D but can frequently optimize better, especially on unboxed vectors.   is equivalent to   T.    WXYZ$Labels a tree in depth-first order. [ ]Takes a tree and indexes it in depth-first order, returning the number of nodes, the indexed 0 tree, and the lowest common ancestor function.   n ix tree( takes a tree whose nodes are mapped by  ix to a unique index in the range 0..n-1, and returns a function N which takes two indices (corresponding to two nodes in the tree) and returns  the label of their lowest common ancestor.  This takes O(n)& preprocessing and answers queries in O(1), as it is an  application of  Data.RangeMin. !For binary trees, consider using Data.RangeMin.LCA.Binary.     \]^A generic binary tree. _`aWTakes a binary tree and indexes it inorder, returning the number of nodes, the indexed 0 tree, and the lowest common ancestor function.  Similar to LCA.lowestCommonAncestor>, but optimized for binary trees. This method can reasonably % be expected to run twice as fast as lowestCommonAncestor. b   !"#$%&'()*+,-./0123456789 : : ; < = > > ? @ @ A B B C D E F G H I J K L M M  N  OPPQRSTUVWXYZ[\][\^78_780``abc``adefg rangemin-2.0Data.RangeMin.LCA Data.RangeMinData.RangeMin.LCA.BinaryData.RangeMin.Mixed.MutableData.RangeMin.Common.Math Data.RangeMin.Common.CombinatorsData.RangeMin.MixedData.RangeMin.Common.VectorData.RangeMin.LCA.IndexMData.RangeMin.Common.TypesData.RangeMin.CommonData.RangeMin.QuadraticData.RangeMin.LinearithmicData.RangeMin.CatalanData.RangeMin.LinearIndexLEqRangeMin Comparator rangeMinByrangeMinstableRangeMinBystableRangeMin vecRangeMinBy vecRangeMinstableVecRangeMinBystableVecRangeMinquickLCAlowestCommonAncestorBinTreeTipquickLCABinary lcaBinary MMixVectorMMixdiv'mod'ceilLogintLogwordLogon<$$> MixVectorMixzipunzipstreamM! fillSlice buildSliced unsafeVecvecunsafeBackpermute'streamRIvector-0.6.0.2Data.Vector.GenericstreamIndexM runIndexMgetIndex execIndexMSliceMin execSliceMinMinIx execMinIxRMexecRM runSliceMin toSliceMinrunMinIxminIxOn pickMinIxtoMinIxtoRMrunRMonRMQ quadTable buildTableIPILNil:<maxLogcatalanscatalan catalanIndexcatalanIndexerinternalRangeMinBystablebase GHC.Classes<=comparelengthTravDepthdfOrdertravel unfoldBin inorderBininorderD