[{"data":1,"prerenderedAt":12076},["ShallowReactive",2],{"nav:algorithms":3,"lesson:\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":374,"course-wordcounts":11945,"ref-card-index":12001},[4,28,50,71,120,152,205,230,286,306,331,352],{"module":5,"moduleNumber":6,"slug":7,"lessons":8},"Foundations",1,"foundations",[9,15,21],{"title":10,"path":11,"lessonNumber":6,"topics":12,"summary":14},"What Is an Algorithm?","\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm",[5,13],"Correctness & Induction","An algorithm is a finite, mechanical recipe that transforms inputs into outputs. We pin down what counts as an algorithm, how we write one down, and the three things we always ask of it: is it correct, is it fast, and can we prove it.\n",{"title":16,"path":17,"lessonNumber":18,"topics":19,"summary":20},"Asymptotic Analysis","\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis",2,[16],"We measure an algorithm's running time as a function of its input size, then strip away machine-specific constants and lower-order terms to compare algorithms cleanly. This lesson defines the RAM model and the $O$, $\\Omega$, $\\Theta$, $o$, and $\\omega$ notations, and shows how to read the cost of loops off the page.\n",{"title":22,"path":23,"lessonNumber":24,"topics":25,"summary":27},"Recurrences and the Master Theorem","\u002Falgorithms\u002Ffoundations\u002Frecurrences",3,[26],"Recurrences","Recursive and divide-and-conquer algorithms describe their own running time with a recurrence: $T(n)$ in terms of $T$ on smaller inputs. We solve recurrences three ways — drawing the recursion tree, guessing-and-verifying by induction, and applying the Master Theorem — using merge sort as the running example.\n",{"module":29,"moduleNumber":18,"slug":30,"lessons":31},"Divide & Conquer","divide-and-conquer",[32,38,44],{"title":33,"path":34,"lessonNumber":6,"topics":35,"summary":37},"Divide and Conquer & Mergesort","\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort",[29,36],"Comparison Sorting","Divide and conquer breaks a problem into smaller copies of itself, solves them recursively, and stitches the answers together. We meet the paradigm through mergesort — its merge step, its loop-invariant proof, and the recursion tree that pins its cost at $\\Theta(n\\log n)$ — then glimpse Karatsuba multiplication as a second example of the same idea.",{"title":39,"path":40,"lessonNumber":18,"topics":41,"summary":43},"Quicksort","\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort",[36,42],"Probabilistic Analysis","Quicksort sorts in place by partitioning around a pivot and recursing on each side. We give Lomuto and Hoare partitioning with a correctness invariant, see why a bad pivot costs $\\Theta(n^2)$ while a balanced one gives $\\Theta(n\\log n)$, and prove that randomizing the pivot makes the expected cost $\\Theta(n\\log n)$ on every input.",{"title":45,"path":46,"lessonNumber":24,"topics":47,"summary":49},"Linear-Time Selection","\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection",[48,29],"Order Statistics","Finding the $k$-th smallest element looks like it should require sorting, but it does not. Quickselect adapts quicksort's partition to recurse on just one side, achieving expected $O(n)$. The median-of-medians algorithm guarantees a good pivot with the groups-of-five trick, pushing the worst case down to a provable $O(n)$.",{"module":51,"moduleNumber":24,"slug":52,"lessons":53},"Sorting & Order Statistics","sorting",[54,60,65],{"title":55,"path":56,"lessonNumber":6,"topics":57,"summary":59},"Heaps and Heapsort","\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort",[58,36],"Heaps","A binary heap is a tree we store flat in an array, with index arithmetic standing in for pointers. We build the max-heap property bottom-up in $O(n)$ time, sort in place in $\\Theta(n\\log n)$ by repeatedly extracting the maximum, and reuse the same structure to implement a priority queue.",{"title":61,"path":62,"lessonNumber":18,"topics":63,"summary":64},"Lower Bounds for Comparison Sorting","\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds",[36],"Every sort we have seen runs in $\\Omega(n\\log n)$, and that is no accident. Modeling a sort as a decision tree of comparisons, we show any such tree must have $n!$ leaves, forcing height $\\ge \\log_2(n!) = \\Omega(n\\log n)$ — a worst-case bound no comparison sort can ever beat.",{"title":66,"path":67,"lessonNumber":24,"topics":68,"summary":70},"Sorting in Linear Time","\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting",[69],"Linear-Time Sorting","The $\\Omega(n\\log n)$ barrier only binds algorithms that compare. By instead using keys as array indices we slip past it: counting sort runs in $\\Theta(n+k)$ and is stable, radix sort layers it digit by digit, and bucket sort averages $\\Theta(n)$ on uniform data. We see exactly when each applies.",{"module":72,"moduleNumber":73,"slug":74,"lessons":75},"Data Structures",4,"data-structures",[76,82,88,93,99,105,113],{"title":77,"path":78,"lessonNumber":6,"topics":79,"summary":81},"Elementary Data Structures","\u002Falgorithms\u002Fdata-structures\u002Felementary-structures",[80],"Linear Structures","Every container is built one of two ways: **contiguous** in an array, or **linked** through pointers. We trade cache-friendly random access against $O(1)$ splicing, derive the **amortized $O(1)$** append of a doubling dynamic array, and assemble the two ordered access disciplines — the LIFO **stack** and the FIFO **queue** (with its generalization, the **deque**) — on top of both.",{"title":83,"path":84,"lessonNumber":18,"topics":85,"summary":87},"Hash Tables","\u002Falgorithms\u002Fdata-structures\u002Fhash-tables",[86],"Hashing","A hash table implements the dictionary — insert, search, delete — in expected $O(1)$ time by scattering keys across an array with a hash function. We build up from direct addressing, handle collisions by chaining and by open addressing, analyze the load factor $\\alpha$, and see how universal hashing earns its expected-time guarantee against every input.",{"title":89,"path":90,"lessonNumber":24,"topics":91,"summary":92},"Binary Search Trees","\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees",[89],"A binary search tree keeps keys ordered so that every operation follows a single root-to-leaf path. We state the BST property, give search and insert, find minimum, maximum, and successor, see that an inorder walk emits the keys in sorted order, and confront the catch — every operation costs $O(h)$, and a carelessly built tree degrades to height $h = \\Theta(n)$, motivating balance.",{"title":94,"path":95,"lessonNumber":73,"topics":96,"summary":98},"AVL Trees","\u002Falgorithms\u002Fdata-structures\u002Favl-trees",[97],"Balanced Trees","An AVL tree is the first balanced BST: at every node the two subtrees' heights differ by at most $1$. A Fibonacci-style minimal-node argument forces height $h \\le 1.44\\log_2 n = O(\\log n)$, so search, insert, and delete are all $O(\\log n)$. Insertion rebalances with at most one of four rotation cases (LL, RR, LR, RL); deletion may rotate all the way to the root.",{"title":100,"path":101,"lessonNumber":102,"topics":103,"summary":104},"Balanced Search Trees","\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees",5,[97],"An ordinary BST can degrade to height $\\Theta(n)$; balanced search trees guarantee $h = O(\\log n)$ by maintaining invariants and repairing them after every update. We meet rotations, the local restructuring primitive, then red-black trees, whose color invariants force logarithmic height, and finally B-trees, which trade tall-and-thin for short-and-wide to win on disk.",{"title":106,"path":107,"lessonNumber":108,"topics":109,"summary":112},"Disjoint Sets (Union-Find)","\u002Falgorithms\u002Fdata-structures\u002Funion-find",6,[110,111],"Disjoint Sets","Amortized Analysis","The disjoint-set data structure tracks a partition of elements into groups, answering \"are these two in the same group?\" and merging groups on demand. A forest of parent pointers, sped up by union by rank and path compression, drives every operation to near-constant $O(\\alpha(n))$ amortized time — the engine behind connectivity queries and Kruskal's minimum spanning tree.",{"title":114,"path":115,"lessonNumber":116,"topics":117,"summary":119},"Fenwick & Segment Trees","\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees",7,[118],"Range Queries","A prefix-sum array answers a range sum in $O(1)$ but pays $O(n)$ per update; a plain array updates in $O(1)$ but pays $O(n)$ per range sum. Fenwick and segment trees give us _both_ in $O(\\log n)$. The Fenwick (binary indexed) tree is a tiny array keyed by the low bit; the segment tree is a general balanced tree over canonical ranges that handles any associative aggregate and, with lazy propagation, range updates too.",{"module":121,"moduleNumber":102,"slug":122,"lessons":123},"Sequences & Strings","sequences",[124,130,135,141,147],{"title":125,"path":126,"lessonNumber":6,"topics":127,"summary":129},"Two Pointers, Sliding Windows & Prefix Sums","\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows",[128],"Array Techniques","A family of array idioms that collapse an obvious $O(n^2)$ scan into a single $O(n)$ pass by maintaining an invariant as indices move. We meet two pointers (converging on a sorted array, and a fast\u002Fslow pair for in-place rewriting), the sliding window (fixed and variable size, amortized $O(n)$), and prefix sums, which answer any range-sum in $O(1)$ and count subarrays summing to $k$.",{"title":131,"path":132,"lessonNumber":18,"topics":133,"summary":134},"Monotonic Stacks & Queues","\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks",[128],"A **monotonic stack** keeps its contents sorted by popping every element that would break the order before each push — turning a family of \"previous\u002Fnext greater (or smaller) element\" questions into a single $O(n)$ scan. We derive the next-greater-element routine and its amortized analysis, fuse two such scans to measure the **largest rectangle in a histogram** in linear time, and extend the idea to a **monotonic deque** that streams the **sliding-window maximum** in $O(n)$.",{"title":136,"path":137,"lessonNumber":24,"topics":138,"summary":140},"Binary Search on the Answer","\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer",[139],"Searching","Binary search is not really about arrays — it is about locating the boundary of a **monotone predicate** $p(x)$ in $O(\\log(\\text{range}))$ probes. We first pin down the half-open `while (lo \u003C hi)` template for $\\textsc{lower\\_bound}$ and $\\textsc{upper\\_bound}$, then generalize to \"binary search on the answer\": whenever feasibility is monotone in a numeric parameter, we binary search the parameter itself, calling a feasibility check at each step.",{"title":142,"path":143,"lessonNumber":73,"topics":144,"summary":146},"String Matching: Rabin–Karp, KMP & Z","\u002Falgorithms\u002Fsequences\u002Fstring-matching",[145],"Strings","Given a text $T$ of length $n$ and a pattern $P$ of length $m$, find every occurrence of $P$ in $T$. The naive scan costs $O(nm)$; we beat it three ways. Rabin–Karp uses a **rolling hash** to test alignments in $O(1)$ amortised each, with expected $O(n+m)$. KMP precomputes a **failure function** so the scan never re-reads a text character, for worst-case $O(n+m)$. The **Z-function** gives the same bound from a different angle and converts freely to KMP's table.",{"title":148,"path":149,"lessonNumber":102,"topics":150,"summary":151},"Tries & Prefix Trees","\u002Falgorithms\u002Fsequences\u002Ftries",[145],"A **trie** stores a set of strings in a tree keyed by _characters_, so that insert, search, and prefix-test all run in $O(L)$ time — the length of the key, _independent of how many keys are stored_. Shared prefixes are stored once, which makes tries the natural structure for autocomplete, wildcard dictionaries, board word-search, and — over the alphabet $\\{0,1\\}$ — the maximum-XOR-pair problem.",{"module":153,"moduleNumber":108,"slug":154,"lessons":155},"Graphs","graphs",[156,163,168,173,178,183,188,193,199],{"title":157,"path":158,"lessonNumber":6,"topics":159,"summary":162},"Graph Representations and Traversal","\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal",[160,161],"Graph Representations","Graph Traversal","A graph captures _relationships_ — who connects to whom. We fix the vocabulary, weigh the two standard representations (adjacency list versus matrix), then meet the two explorations you'll use constantly: breadth-first search, which finds shortest paths by number of edges, and depth-first search, whose discovery and finish times reveal a graph's hidden structure. Both run in $O(V + E)$.",{"title":164,"path":165,"lessonNumber":18,"topics":166,"summary":167},"Topological Sort and Strong Connectivity","\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc",[161],"Directed acyclic graphs model dependencies: tasks that must precede other tasks. A _topological order_ lays such a graph out in a line so every edge points forward, and depth-first finish times hand it to us almost for free. We then ask the harder question for graphs _with_ cycles: which vertices can reach each other? The answer is the strongly connected components, found by a two-pass DFS.",{"title":169,"path":170,"lessonNumber":24,"topics":171,"summary":172},"Minimum Spanning Trees","\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees",[169],"Given a weighted network, how do we connect everything as cheaply as possible? The answer is a minimum spanning tree. One lemma, the cut property, justifies _every_ correct MST algorithm, and from it two famous greedy methods fall out: Kruskal's, which grows a forest edge by edge with a union-find structure, and Prim's, which grows a single tree using a priority queue.",{"title":174,"path":175,"lessonNumber":73,"topics":176,"summary":177},"Shortest Paths","\u002Falgorithms\u002Fgraphs\u002Fshortest-paths",[174],"Finding the cheapest route through a weighted network is one of the most-used algorithms in computing. A single operation — _relaxation_ — underlies them all. Dijkstra's algorithm solves the non-negative case greedily; Bellman-Ford handles negative edges and detects negative cycles; and Floyd-Warshall finds the shortest path between _every_ pair of vertices.",{"title":179,"path":180,"lessonNumber":102,"topics":181,"summary":182},"Network Flow","\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow",[179],"How much can flow through a network from source to sink? Max-flow is a surprisingly general model — once you see a problem as flow, a whole toolbox opens up. We build flow networks, find maximum flows by repeatedly pushing along augmenting paths in the residual graph, prove the max-flow min-cut theorem, and watch bipartite matching fall out as a special case.",{"title":184,"path":185,"lessonNumber":108,"topics":186,"summary":187},"Bridges & Articulation Points","\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points",[153],"A **bridge** is an edge whose removal disconnects the graph; an **articulation point** is a vertex whose removal does. Both are single points of failure in a network. A single depth-first search computes discovery times and **low-links**, and two local criteria — $low[v] > disc[u]$ for bridges, $low[v] \\ge disc[u]$ for cut vertices — find them all in $O(V+E)$.",{"title":189,"path":190,"lessonNumber":116,"topics":191,"summary":192},"Lowest Common Ancestor & Binary Lifting","\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor",[153],"Given a rooted tree, the lowest common ancestor of $u$ and $v$ is the deepest node that is an ancestor of both. A naive walk answers one query in $O(h)$; **binary lifting** precomputes the $2^k$-th ancestor of every node in $O(n\\log n)$, then answers $k$-th-ancestor and LCA queries in $O(\\log n)$ each. We derive both jumps, apply them to tree distance, and compare against the Euler-tour + RMQ and Tarjan offline alternatives.",{"title":194,"path":195,"lessonNumber":196,"topics":197,"summary":198},"2-SAT via Implication Graphs","\u002Falgorithms\u002Fgraphs\u002Ftwo-sat",8,[153],"A boolean formula whose every clause has exactly two literals can be solved in _linear_ time — even though its three-literal cousin is NP-complete. The trick is to read each clause as a pair of implications, build a directed graph on the $2n$ literals, and ask a question we already know how to answer: which literals share a strongly connected component? The formula is satisfiable iff no variable lands in the same SCC as its own negation, and the SCCs' topological order hands us a satisfying assignment for free.",{"title":200,"path":201,"lessonNumber":202,"topics":203,"summary":204},"Eulerian Tours","\u002Falgorithms\u002Fgraphs\u002Feulerian-tours",9,[153],"An **Eulerian tour** uses every _edge_ of a graph exactly once. We give the exact parity and balance conditions under which one exists (even degree for undirected graphs, in-degree equal to out-degree for directed) and Hierholzer's $O(E)$ algorithm that constructs one by splicing closed sub-tours. We contrast this sharply with the **Hamiltonian** problem (visit every _vertex_ once), which is NP-complete: visiting edges is easy, visiting vertices is hard.",{"module":206,"moduleNumber":116,"slug":207,"lessons":208},"Greedy Algorithms","greedy",[209,214,220,225],{"title":210,"path":211,"lessonNumber":6,"topics":212,"summary":213},"The Greedy Method","\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method",[206],"A greedy algorithm builds a solution one locally-best choice at a time and never looks back. We pin down the two properties that make this work — the greedy-choice property and optimal substructure — prove the canonical activity-selection algorithm correct with an exchange argument, watch greedy fail spectacularly on the 0\u002F1 knapsack, and glimpse matroids as the theory that says exactly when greed is good.",{"title":215,"path":216,"lessonNumber":18,"topics":217,"summary":219},"Scheduling & Interval Partitioning","\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals",[218],"Greedy","Three classic scheduling problems all yield to greedy algorithms — and all three turn on a single design decision: which key to sort by. Interval scheduling sorts by **finish** time to pack the most compatible jobs; interval partitioning sorts by **start** time and proves the rooms needed equal the maximum overlap **depth**; minimizing maximum lateness sorts by **deadline** and is justified by an adjacent-swap exchange argument.",{"title":221,"path":222,"lessonNumber":24,"topics":223,"summary":224},"Huffman Codes","\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes",[206],"Huffman coding is the greedy method's most beautiful application: it builds a provably optimal prefix-free binary code by repeatedly merging the two least frequent symbols. We develop prefix-free codes as binary trees, give the algorithm with a priority queue, build a Huffman tree from example frequencies, prove optimality with the same greedy-choice-plus-substructure argument, and pin the running time at $O(n\\log n)$.",{"title":226,"path":227,"lessonNumber":73,"topics":228,"summary":229},"Matroids & Exchange Arguments","\u002Falgorithms\u002Fgreedy\u002Fmatroids",[218],"The capstone of the greedy module: _why_ and _when_ a greedy algorithm is provably optimal. We recap the two correctness templates — **greedy-stays-ahead** and the **exchange argument** — then meet the **matroid** $M=(S,\\mathcal{I})$, an abstraction whose **exchange property** is exactly the structure greedy needs. The matroid–greedy theorem says sorting by weight and taking what stays independent yields a maximum-weight basis _if and only if_ the structure is a matroid. Kruskal's MST is the canonical instance; 0\u002F1 knapsack and TSP are the canonical failures.",{"module":231,"moduleNumber":196,"slug":232,"lessons":233},"Dynamic Programming","dynamic-programming",[234,239,245,250,255,260,265,270,275,280],{"title":235,"path":236,"lessonNumber":6,"topics":237,"summary":238},"Principles of Dynamic Programming","\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples",[231,26],"Dynamic programming is recursion with memory: when a recursive solution re-solves the same subproblems again and again, we solve each one once and store the answer. We pin down the two structural conditions that make this work — overlapping subproblems and optimal substructure — contrast top-down memoization with bottom-up tabulation, and distil the whole method into a five-step recipe.",{"title":240,"path":241,"lessonNumber":18,"topics":242,"summary":244},"Sequence Alignment & LCS","\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp",[231,243],"String Structures","Two strings can be compared by asking how much of one survives inside the other. The longest common subsequence (LCS) and edit distance are the two classic answers, and they are the _same_ dynamic program wearing different costs. We derive the LCS recurrence by examining the last characters, fill a worked DP table, reconstruct the subsequence, and then show edit distance as the identical $\\Theta(mn)$ pattern.",{"title":246,"path":247,"lessonNumber":24,"topics":248,"summary":249},"Longest Increasing Subsequence","\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence",[231],"Given a sequence of numbers, how long is its longest strictly increasing subsequence? A first dynamic program indexes subproblems by the element each subsequence _ends at_, giving an $O(n^2)$ solution with parent-pointer reconstruction. A sharper idea, the patience-sorting _tails_ array searched by binary search, drops the time to $O(n\\log n)$. We then fold in the variants: non-decreasing, counting, Russian-doll envelopes, and bitonic.",{"title":251,"path":252,"lessonNumber":73,"topics":253,"summary":254},"Knapsack & Subset Problems","\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack",[231],"We start from $\\textsc{Subset-sum}$ — does some sublist hit a target $t$? — and its include\u002Fexclude recurrence over a boolean table $A(i, u)$, then bolt on values to get 0\u002F1 knapsack as the same machine with $\\lor$ promoted to $\\max$. We fill both tables, recover the chosen items, and confront the surprise that the $\\Theta(nt)$ running time is only _pseudo-polynomial_ — exponential in the bit length $b$, and unimprovable unless $\\mathrm{P}=\\mathrm{NP}$ since subset-sum is $\\textsc{NP-complete}$. The fractional variant reveals the sharp line between greedy and dynamic programming.",{"title":256,"path":257,"lessonNumber":102,"topics":258,"summary":259},"Coin Change & Unbounded Knapsack","\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded",[231],"The previous lesson let each item be taken at most once. Drop that cap — items may be reused _any number of times_ — and the 0\u002F1 knapsack collapses from a two-dimensional table to a one-dimensional one, because there is no longer a prefix of \"already-used\" items to track. We meet **unbounded knapsack**, then its most famous instance, **coin change**: the minimum-coins recurrence $C[a] = 1 + \\min_c C[a-c]$, and the counting variant where the _order of the loops_ decides whether you count unordered combinations or ordered sequences — the classic bug. Greed fails in general but works for canonical coin systems.",{"title":261,"path":262,"lessonNumber":108,"topics":263,"summary":264},"Interval DP","\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp",[231],"Many problems ask for the best way to combine a contiguous range of items, and the answer is a dynamic program over subintervals $[i,j]$ that chooses a split point $k$. We derive the pattern from matrix-chain multiplication — parenthesising a product to minimize scalar multiplications in $O(n^3)$ — distil it into a reusable template filled by increasing interval length, and then meet its sharpest variant: the \"last operation\" trick behind Burst Balloons and cutting a stick, where fixing the _last_ move (not the first) makes the two sides independent.",{"title":266,"path":267,"lessonNumber":116,"topics":268,"summary":269},"Dynamic Programming on Trees","\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp",[231],"When the subproblems of a dynamic program are _rooted subtrees_, a single post-order DFS solves the whole thing in $O(n)$: each node combines the already-computed answers of its children. We meet the archetype — maximum-weight independent set on a tree — then the \"path through a node\" pattern behind tree diameter and maximum path sum, and finally **rerooting**, which computes a per-node answer for _every_ node as root in $O(n)$ with two passes.",{"title":271,"path":272,"lessonNumber":196,"topics":273,"summary":274},"Bitmask DP","\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp",[231],"When a subproblem depends not on an index or a prefix but on _which subset_ of a small ground set has been used, we can encode that subset as the bits of an integer and index a DP table by it. With $n \\le \\sim 20$ the $2^n$ subsets fit in a table, turning $\\Theta(n!)$ brute force into $O(2^n \\cdot \\text{poly}(n))$. We meet the bit tricks, the Held–Karp TSP archetype, assignment by mask, subset-sum partitioning, and submask enumeration with its $3^n$ bound.",{"title":276,"path":277,"lessonNumber":202,"topics":278,"summary":279},"DP Optimizations","\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations",[231],"A correct DP recurrence is only half the battle; its naive evaluation is often a factor of $n$ slower than necessary. This capstone surveys five techniques, monotonic-queue, the convex hull trick, divide-and-conquer optimization, Knuth's optimization, and SOS DP, that each exploit _structure in the transition_ (a sliding window, linear costs, monotone optimal splits, the quadrangle inequality, or subset lattices) to shave an $O(n)$, $O(\\log n)$, or worse factor off the running time.",{"title":281,"path":282,"lessonNumber":283,"topics":284,"summary":285},"Dynamic Programming on Graphs","\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs",10,[231],"Many graph algorithms are dynamic programs in disguise: the subproblem is the _best value reachable under a restricted resource_ — intermediate vertices allowed, edges allowed, or a topological prefix — and edge _relaxation_ is the DP transition. We frame Floyd–Warshall as the archetype ($O(V^3)$ all-pairs shortest paths), Bellman–Ford as a DP over path length (the at-most-$K$-stops variant), DAG-DP in topological order ($O(V+E)$), and Warshall's transitive closure as the boolean analog.",{"module":287,"moduleNumber":202,"slug":288,"lessons":289},"Backtracking & Search","backtracking",[290,296,301],{"title":291,"path":292,"lessonNumber":6,"topics":293,"summary":295},"Backtracking: Subsets, Permutations & Combinations","\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals",[294],"Backtracking","Backtracking builds a solution one choice at a time and abandons a partial solution the moment it cannot be completed, exploring a state-space tree by depth-first search. We meet the universal choose\u002Fexplore\u002Fun-choose template, derive the canonical enumerations — subsets ($2^n$), permutations ($n!$), and combinations ($\\binom{n}{k}$) — handle duplicate elements by skipping equal siblings, and see how pruning turns an exponential search into a tractable one.",{"title":297,"path":298,"lessonNumber":18,"topics":299,"summary":300},"Constraint Search: N-Queens & Sudoku","\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search",[294],"Many hard puzzles are **constraint satisfaction problems**: assign each variable a value from its domain so that every constraint holds. Backtracking solves them by assigning variables one at a time and rejecting a partial assignment the instant a constraint breaks. We make the rejection cheap — $O(1)$ conflict checks for N-Queens via column and diagonal sets — and prune harder with **forward checking**, **MRV** ordering, and **constraint propagation**, which is what lets an exponential search actually finish.",{"title":302,"path":303,"lessonNumber":24,"topics":304,"summary":305},"Branch & Bound and Meet in the Middle","\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound",[294],"Plain backtracking prunes a search tree by _feasibility_; for _optimization_ problems we can prune far more aggressively by _value_. **Branch and bound** keeps the best complete solution found so far and discards any partial solution whose optimistic bound cannot beat it. **Meet in the middle** splits the instance in two, enumerates each half, and recombines by binary search — turning $2^n$ into $O(2^{n\u002F2}\\,n)$ and pushing exact search out to $n \\approx 40$.",{"module":307,"moduleNumber":283,"slug":308,"lessons":309},"Mathematical Algorithms","mathematical-algorithms",[310,316,321,326],{"title":311,"path":312,"lessonNumber":6,"topics":313,"summary":315},"Number Theory: GCD & Modular Arithmetic","\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics",[314],"Number Theory","This lesson opens the mathematical-algorithms module with the bedrock of computational number theory. We prove Euclid's recurrence $\\gcd(a,b)=\\gcd(b,\\,a\\bmod b)$ and its $O(\\log\\min(a,b))$ running time, extend it to recover Bézout coefficients $x,y$ with $ax+by=\\gcd(a,b)$, and build modular arithmetic on residue classes — including when a modular inverse $a^{-1}\\bmod m$ exists and how to compute it.",{"title":317,"path":318,"lessonNumber":18,"topics":319,"summary":320},"Modular Exponentiation & Primality","\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality",[314],"Computing $a^n \\bmod m$ naively costs $n$ multiplications; **repeated squaring** does it in $O(\\log n)$ by reading the bits of the exponent. We use this routine to state **Fermat's little theorem** (and the modular inverse it gives), then to test primality — trial division, the probabilistic **Fermat** and **Miller–Rabin** tests, and the deterministic witness set that settles primality for every 64-bit number.",{"title":322,"path":323,"lessonNumber":24,"topics":324,"summary":325},"Sieves & Factorization","\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization",[314],"The previous lesson tested one number for primality; here we ask for _all_ primes up to $n$ at once. The **sieve of Eratosthenes** cross-cuts composites in $O(n\\log\\log n)$, and a **linear sieve** does it in $O(n)$ while recording each number's **smallest prime factor**, which then factors any $x \\le n$ in $O(\\log x)$. From a factorization $x = \\prod p_i^{e_i}$ the multiplicative functions $\\tau$, $\\sigma$, and Euler's totient $\\varphi$ fall out immediately.",{"title":327,"path":328,"lessonNumber":73,"topics":329,"summary":330},"Combinatorics & Counting","\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics",[314],"Counting is the arithmetic of finite sets. We build up from permutations $n!$ and combinations $\\binom{n}{k}$, prove Pascal's rule by a bijection, and count multisets with stars and bars. The practical core is computing $\\binom{n}{k}\\bmod p$ in $O(1)$ from precomputed factorials and inverse factorials. We close with inclusion–exclusion and the Chinese Remainder Theorem, both of which lean on the modular inverse from the previous lesson.",{"module":332,"moduleNumber":333,"slug":334,"lessons":335},"Computational Geometry",11,"computational-geometry",[336,342,347],{"title":337,"path":338,"lessonNumber":6,"topics":339,"summary":341},"Geometric Primitives & Orientation","\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives",[340],"Geometry","Computational geometry is built on a single reliable primitive — the **orientation test**, a sign of a cross product that tells whether three points turn left, right, or lie collinear. From points-as-vectors and the dot and cross products we derive orientation, segment intersection, the shoelace area formula, and point-in-polygon tests, keeping all arithmetic **exact and integer** so that no floating-point rounding can corrupt a sign.",{"title":343,"path":344,"lessonNumber":18,"topics":345,"summary":346},"Convex Hull","\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull",[340],"The convex hull is the smallest convex polygon enclosing a point set — the rubber band snapped around the nails. We build it with Andrew's monotone chain, sorting by $(x,y)$ and sweeping a lower and upper hull while popping any non-left turn via the orientation primitive, in $O(n\\log n)$. A reduction from sorting shows that bound is optimal, and the hull unlocks diameter, smallest enclosing rectangle, and more through rotating calipers.",{"title":348,"path":349,"lessonNumber":24,"topics":350,"summary":351},"Sweep-Line Algorithms","\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line",[340],"The plane-sweep paradigm turns a static $2$-D geometry problem into a dynamic $1$-D ordered-set problem: a vertical line sweeps left to right, stopping at an $x$-sorted **event queue** while a balanced-BST **status structure** tracks the objects it currently crosses, ordered by $y$. We derive Bentley–Ottmann segment intersection in $O((n+k)\\log n)$, recover closest-pair in $O(n\\log n)$, and reduce skyline, rectangle-area, and overlap problems to $\\pm1$ event sweeps.",{"module":353,"moduleNumber":354,"slug":355,"lessons":356},"Intractability",12,"intractability",[357,363,367],{"title":358,"path":359,"lessonNumber":6,"topics":360,"summary":362},"P, NP, and Reductions","\u002Falgorithms\u002Fintractability\u002Fp-np-reductions",[361],"NP-Completeness","Most problems we have met so far have fast algorithms. A vast and important family seemingly does not. This lesson builds the vocabulary for that divide: decision problems, the class $\\mathsf{P}$ of problems we can solve quickly, the class $\\mathsf{NP}$ of problems whose solutions we can _check_ quickly, and polynomial-time reductions, the tool that lets us compare the difficulty of two problems without solving either.",{"title":361,"path":364,"lessonNumber":18,"topics":365,"summary":366},"\u002Falgorithms\u002Fintractability\u002Fnp-completeness",[361],"Some problems in $\\mathsf{NP}$ are universally hardest: every other problem in $\\mathsf{NP}$ reduces to them. This lesson defines $\\mathsf{NP}$-hard and $\\mathsf{NP}$-complete, states the Cook–Levin theorem that anchors the whole edifice on **SAT**, walks the web of reductions that grows from it, and gives the four-step recipe for proving a brand-new problem $\\mathsf{NP}$-complete.",{"title":368,"path":369,"lessonNumber":24,"topics":370,"summary":373},"Coping with NP-Hardness","\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness",[371,372],"Approximation","Heuristics","Proving a problem $\\mathsf{NP}$-hard is the beginning, not the end. The world still needs answers. This lesson surveys the four honest responses to hardness: approximation algorithms with a provable ratio (worked through a 2-approximation for vertex cover), heuristics and local search, exact exponential methods like branch and bound, and exploiting special structure in the instances you actually face.",{"id":375,"title":39,"blurb":376,"body":377,"description":11908,"extension":11909,"meta":11910,"module":29,"navigation":11912,"path":40,"practice":11913,"rawbody":11927,"readingTime":11928,"seo":11933,"sources":11934,"status":11941,"stem":11942,"summary":43,"topics":11943,"__hash__":11944},"course\u002F01.algorithms\u002F02.divide-and-conquer\u002F02.quicksort.md","",{"type":378,"value":379,"toc":11890},"minimark",[380,445,450,494,710,750,776,781,868,1107,1149,1153,1260,1315,1319,1326,1610,1713,2224,2327,2554,2997,3001,3008,3146,3536,3600,3739,3743,3774,3818,4089,4285,4389,4690,4696,4836,4875,5038,5166,5630,5634,5649,6115,6195,6380,6503,6736,7136,7304,7492,7496,7534,7564,7626,7630,8315,8625,9111,9512,9623,9848,9902,10595,10820,10824,11127,11275,11279,11777,11886],[381,382,383,387,388,392,393,425,426,429,430,434,435],"p",{},[384,385,386],"a",{"href":34},"Mergesort"," does its hard work in the ",[389,390,391],"strong",{},"combine"," step: splitting is trivial,\nmerging is where the sorting happens. ",[394,395,398],"span",{"className":396},[397],"katex",[394,399,403],{"className":400,"ariaHidden":402},[401],"katex-html","true",[394,404,407,412],{"className":405},[406],"base",[394,408],{"className":409,"style":411},[410],"strut","height:0.8889em;vertical-align:-0.1944em;",[394,413,417],{"className":414},[415,416],"enclosing","textsc",[394,418,422],{"className":419},[420,421],"mord","text",[394,423,39],{"className":424},[420]," flips this around. It does\nits hard work in the ",[389,427,428],{},"divide"," step, partitioning the array so that\neverything small comes before everything large, after which the combine step\nis ",[431,432,433],"em",{},"empty",". Sort the two parts in place and the whole array is sorted, with no\nmerging required.",[436,437,438],"sup",{},[384,439,444],{"href":440,"ariaDescribedBy":441,"dataFootnoteRef":376,"id":443},"#user-content-fn-erickson-qs",[442],"footnote-label","user-content-fnref-erickson-qs","1",[446,447,449],"h2",{"id":448},"the-paradigm-applied","The paradigm applied",[381,451,452,453,493],{},"To sort ",[394,454,456],{"className":455},[397],[394,457,459],{"className":458,"ariaHidden":402},[401],[394,460,462,466,471,476,479,483,488],{"className":461},[406],[394,463],{"className":464,"style":465},[410],"height:1em;vertical-align:-0.25em;",[394,467,470],{"className":468},[420,469],"mathnormal","A",[394,472,475],{"className":473},[474],"mopen","[",[394,477,381],{"className":478},[420,469],[394,480,482],{"className":481},[420],"..",[394,484,487],{"className":485,"style":486},[420,469],"margin-right:0.0278em;","r",[394,489,492],{"className":490},[491],"mclose","]",":",[495,496,497,598,704],"ul",{},[498,499,500,503,504,507,508,511,512,542,543,561,562,578,579,597],"li",{},[389,501,502],{},"Divide."," Choose a ",[389,505,506],{},"pivot"," element and ",[431,509,510],{},"partition"," ",[394,513,515],{"className":514},[397],[394,516,518],{"className":517,"ariaHidden":402},[401],[394,519,521,524,527,530,533,536,539],{"className":520},[406],[394,522],{"className":523,"style":465},[410],[394,525,470],{"className":526},[420,469],[394,528,475],{"className":529},[474],[394,531,381],{"className":532},[420,469],[394,534,482],{"className":535},[420],[394,537,487],{"className":538,"style":486},[420,469],[394,540,492],{"className":541},[491]," into two\nregions: a left part whose elements are all ",[394,544,546],{"className":545},[397],[394,547,549],{"className":548,"ariaHidden":402},[401],[394,550,552,556],{"className":551},[406],[394,553],{"className":554,"style":555},[410],"height:0.7719em;vertical-align:-0.136em;",[394,557,560],{"className":558},[559],"mrel","≤"," the pivot, and a right part\nwhose elements are all ",[394,563,565],{"className":564},[397],[394,566,568],{"className":567,"ariaHidden":402},[401],[394,569,571,574],{"className":570},[406],[394,572],{"className":573,"style":555},[410],[394,575,577],{"className":576},[559],"≥"," the pivot, with the pivot itself in between at\nsome index ",[394,580,582],{"className":581},[397],[394,583,585],{"className":584,"ariaHidden":402},[401],[394,586,588,592],{"className":587},[406],[394,589],{"className":590,"style":591},[410],"height:0.625em;vertical-align:-0.1944em;",[394,593,596],{"className":594,"style":595},[420,469],"margin-right:0.0359em;","q",".",[498,599,600,603,604,656,657,597],{},[389,601,602],{},"Conquer."," Recursively sort ",[394,605,607],{"className":606},[397],[394,608,610,644],{"className":609,"ariaHidden":402},[401],[394,611,613,616,619,622,625,628,631,636,641],{"className":612},[406],[394,614],{"className":615,"style":465},[410],[394,617,470],{"className":618},[420,469],[394,620,475],{"className":621},[474],[394,623,381],{"className":624},[420,469],[394,626,482],{"className":627},[420],[394,629,596],{"className":630,"style":595},[420,469],[394,632],{"className":633,"style":635},[634],"mspace","margin-right:0.2222em;",[394,637,640],{"className":638},[639],"mbin","−",[394,642],{"className":643,"style":635},[634],[394,645,647,650,653],{"className":646},[406],[394,648],{"className":649,"style":465},[410],[394,651,444],{"className":652},[420],[394,654,492],{"className":655},[491]," and ",[394,658,660],{"className":659},[397],[394,661,663,688],{"className":662,"ariaHidden":402},[401],[394,664,666,669,672,675,678,681,685],{"className":665},[406],[394,667],{"className":668,"style":465},[410],[394,670,470],{"className":671},[420,469],[394,673,475],{"className":674},[474],[394,676,596],{"className":677,"style":595},[420,469],[394,679],{"className":680,"style":635},[634],[394,682,684],{"className":683},[639],"+",[394,686],{"className":687,"style":635},[634],[394,689,691,694,698,701],{"className":690},[406],[394,692],{"className":693,"style":465},[410],[394,695,697],{"className":696},[420],"1..",[394,699,487],{"className":700,"style":486},[420,469],[394,702,492],{"className":703},[491],[498,705,706,709],{},[389,707,708],{},"Combine."," Nothing to do: the subarrays are already in place and in order\nrelative to each other.",[711,712,716],"pre",{"className":713,"code":714,"language":715,"meta":376,"style":376},"language-algorithm shiki shiki-themes Vesper Light - Orange Boost (Quick Open Adjusted) vesper","caption: $\\textsc{Quicksort}(A, p, r)$ — sort $A[p..r]$ in place\nnumber: 1\nif $p \u003C r$ then\n  $q \\gets$ call $\\textsc{Partition}(A, p, r)$ \u002F\u002F pivot at final index q\n  call $\\textsc{Quicksort}(A, p, q - 1)$ \u002F\u002F everything $\\le$ pivot\n  call $\\textsc{Quicksort}(A, q + 1, r)$ \u002F\u002F everything $\\ge$ pivot\n","algorithm",[717,718,719,725,730,735,740,745],"code",{"__ignoreMap":376},[394,720,722],{"class":721,"line":6},"line",[394,723,724],{},"caption: $\\textsc{Quicksort}(A, p, r)$ — sort $A[p..r]$ in place\n",[394,726,727],{"class":721,"line":18},[394,728,729],{},"number: 1\n",[394,731,732],{"class":721,"line":24},[394,733,734],{},"if $p \u003C r$ then\n",[394,736,737],{"class":721,"line":73},[394,738,739],{},"  $q \\gets$ call $\\textsc{Partition}(A, p, r)$ \u002F\u002F pivot at final index q\n",[394,741,742],{"class":721,"line":102},[394,743,744],{},"  call $\\textsc{Quicksort}(A, p, q - 1)$ \u002F\u002F everything $\\le$ pivot\n",[394,746,747],{"class":721,"line":108},[394,748,749],{},"  call $\\textsc{Quicksort}(A, q + 1, r)$ \u002F\u002F everything $\\ge$ pivot\n",[381,751,752,753,597],{},"Everything hinges on ",[394,754,756],{"className":755},[397],[394,757,759],{"className":758,"ariaHidden":402},[401],[394,760,762,766],{"className":761},[406],[394,763],{"className":764,"style":765},[410],"height:0.6833em;",[394,767,769],{"className":768},[415,416],[394,770,772],{"className":771},[420,421],[394,773,775],{"className":774},[420],"Partition",[777,778,780],"h3",{"id":779},"partitioning-around-a-pivot","Partitioning around a pivot",[381,782,783,784,511,787,804,805,820,821,851,852,867],{},"Partition ",[431,785,786],{},"rearranges an array around a pivot",[394,788,790],{"className":789},[397],[394,791,793],{"className":792,"ariaHidden":402},[401],[394,794,796,800],{"className":795},[406],[394,797],{"className":798,"style":799},[410],"height:0.4306em;",[394,801,803],{"className":802},[420,469],"x"," so\nthat it falls into three contiguous regions: everything less than the pivot,\nthen the pivot itself sitting at its final sorted index ",[394,806,808],{"className":807},[397],[394,809,811],{"className":810,"ariaHidden":402},[401],[394,812,814,817],{"className":813},[406],[394,815],{"className":816,"style":591},[410],[394,818,596],{"className":819,"style":595},[420,469],", then everything\ngreater. Sorting ",[394,822,824],{"className":823},[397],[394,825,827],{"className":826,"ariaHidden":402},[401],[394,828,830,833,836,839,842,845,848],{"className":829},[406],[394,831],{"className":832,"style":465},[410],[394,834,470],{"className":835},[420,469],[394,837,475],{"className":838},[474],[394,840,381],{"className":841},[420,469],[394,843,482],{"className":844},[420],[394,846,487],{"className":847,"style":486},[420,469],[394,849,492],{"className":850},[491]," around a chosen pivot value ",[394,853,855],{"className":854},[397],[394,856,858],{"className":857,"ariaHidden":402},[401],[394,859,861,864],{"className":860},[406],[394,862],{"className":863,"style":799},[410],[394,865,803],{"className":866},[420,469]," rearranges it into",[869,870,874,1085],"figure",{"className":871},[872,873],"tikz-figure","tikz-diagram-rendered",[875,876,881],"svg",{"xmlns":877,"width":878,"height":879,"viewBox":880},"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg","334.840","95.315","-75 -75 251.130 71.487",[882,883,886,891,896,900,920,927,941,944,947,982,985,988,995,998,1001,1044,1051,1058],"g",{"stroke":884,"style":885},"currentColor","stroke-miterlimit:10;stroke-width:.4",[887,888],"path",{"fill":889,"d":890},"var(--tk-soft-accent)","M-60.131-34.298v-22.763h96.74v22.763Zm96.74-22.763",[887,892],{"fill":889,"stroke":893,"d":894,"style":895},"var(--tk-accent)","M36.608-34.298v-22.763h28.453v22.763Zm28.453-22.763","stroke-width:1.2",[887,897],{"fill":898,"d":899},"var(--tk-soft-warn)","M65.06-34.298v-22.763h102.431v22.763Zm102.431-22.763",[882,901,905,914],{"stroke":902,"fontFamily":903,"fontSize":904},"none","cmmi10","10",[882,906,908],{"transform":907},"translate(39.4 -8.88)",[887,909],{"d":910,"fill":884,"stroke":884,"className":911,"style":913},"M-53.461-33.917L-59.203-36.627Q-59.301-36.671-59.301-36.798Q-59.301-36.925-59.169-36.988L-53.461-39.679Q-53.422-39.698-53.393-39.698Q-53.305-39.698-53.249-39.637Q-53.193-39.576-53.193-39.498Q-53.193-39.376-53.310-39.308L-58.632-36.798L-53.280-34.269Q-53.193-34.239-53.193-34.098Q-53.193-34.020-53.249-33.959Q-53.305-33.898-53.393-33.898Q-53.422-33.898-53.461-33.917",[912],"tikz-text","stroke-width:0.300",[882,915,916],{"transform":907},[887,917],{"d":918,"fill":884,"stroke":884,"className":919,"style":913},"M-47.128-34.586Q-46.952-34.449-46.630-34.449Q-46.317-34.449-46.078-34.750Q-45.839-35.050-45.751-35.406L-45.297-37.179Q-45.189-37.662-45.189-37.838Q-45.189-38.087-45.328-38.273Q-45.468-38.458-45.717-38.458Q-46.034-38.458-46.312-38.260Q-46.591-38.063-46.781-37.757Q-46.971-37.452-47.050-37.140Q-47.069-37.076-47.128-37.076L-47.250-37.076Q-47.328-37.076-47.328-37.169L-47.328-37.198Q-47.230-37.569-46.996-37.923Q-46.762-38.277-46.422-38.497Q-46.083-38.717-45.697-38.717Q-45.331-38.717-45.035-38.522Q-44.740-38.326-44.618-37.989Q-44.447-38.297-44.181-38.507Q-43.915-38.717-43.597-38.717Q-43.383-38.717-43.158-38.641Q-42.933-38.566-42.792-38.409Q-42.650-38.253-42.650-38.019Q-42.650-37.765-42.814-37.582Q-42.977-37.399-43.231-37.399Q-43.392-37.399-43.500-37.501Q-43.607-37.604-43.607-37.760Q-43.607-37.970-43.463-38.129Q-43.319-38.287-43.119-38.317Q-43.300-38.458-43.617-38.458Q-43.939-38.458-44.176-38.160Q-44.413-37.862-44.511-37.496L-44.950-35.729Q-45.057-35.328-45.057-35.069Q-45.057-34.816-44.913-34.632Q-44.769-34.449-44.530-34.449Q-44.061-34.449-43.693-34.862Q-43.324-35.275-43.207-35.768Q-43.187-35.826-43.129-35.826L-43.007-35.826Q-42.968-35.826-42.943-35.799Q-42.919-35.773-42.919-35.738Q-42.919-35.729-42.929-35.709Q-43.070-35.113-43.524-34.650Q-43.978-34.186-44.550-34.186Q-44.916-34.186-45.211-34.383Q-45.507-34.581-45.629-34.918Q-45.785-34.625-46.061-34.405Q-46.337-34.186-46.649-34.186Q-46.864-34.186-47.091-34.261Q-47.318-34.337-47.460-34.493Q-47.601-34.650-47.601-34.889Q-47.601-35.123-47.438-35.316Q-47.274-35.509-47.030-35.509Q-46.864-35.509-46.752-35.409Q-46.639-35.309-46.639-35.148Q-46.639-34.938-46.779-34.781Q-46.918-34.625-47.128-34.586",[912],[882,921,923],{"transform":922},"translate(108.108 -9.228)",[887,924],{"d":925,"fill":884,"stroke":884,"className":926,"style":913},"M-59.350-34.586Q-59.174-34.449-58.852-34.449Q-58.539-34.449-58.300-34.750Q-58.061-35.050-57.973-35.406L-57.519-37.179Q-57.411-37.662-57.411-37.838Q-57.411-38.087-57.550-38.273Q-57.690-38.458-57.939-38.458Q-58.256-38.458-58.534-38.260Q-58.813-38.063-59.003-37.757Q-59.194-37.452-59.272-37.140Q-59.291-37.076-59.350-37.076L-59.472-37.076Q-59.550-37.076-59.550-37.169L-59.550-37.198Q-59.452-37.569-59.218-37.923Q-58.984-38.277-58.644-38.497Q-58.305-38.717-57.919-38.717Q-57.553-38.717-57.257-38.522Q-56.962-38.326-56.840-37.989Q-56.669-38.297-56.403-38.507Q-56.137-38.717-55.819-38.717Q-55.605-38.717-55.380-38.641Q-55.155-38.566-55.014-38.409Q-54.872-38.253-54.872-38.019Q-54.872-37.765-55.036-37.582Q-55.199-37.399-55.453-37.399Q-55.614-37.399-55.722-37.501Q-55.829-37.604-55.829-37.760Q-55.829-37.970-55.685-38.129Q-55.541-38.287-55.341-38.317Q-55.522-38.458-55.839-38.458Q-56.161-38.458-56.398-38.160Q-56.635-37.862-56.733-37.496L-57.172-35.729Q-57.279-35.328-57.279-35.069Q-57.279-34.816-57.135-34.632Q-56.991-34.449-56.752-34.449Q-56.283-34.449-55.915-34.862Q-55.546-35.275-55.429-35.768Q-55.409-35.826-55.351-35.826L-55.229-35.826Q-55.190-35.826-55.165-35.799Q-55.141-35.773-55.141-35.738Q-55.141-35.729-55.151-35.709Q-55.292-35.113-55.746-34.650Q-56.200-34.186-56.772-34.186Q-57.138-34.186-57.433-34.383Q-57.729-34.581-57.851-34.918Q-58.007-34.625-58.283-34.405Q-58.559-34.186-58.871-34.186Q-59.086-34.186-59.313-34.261Q-59.540-34.337-59.682-34.493Q-59.823-34.650-59.823-34.889Q-59.823-35.123-59.660-35.316Q-59.496-35.509-59.252-35.509Q-59.086-35.509-58.974-35.409Q-58.861-35.309-58.861-35.148Q-58.861-34.938-59.001-34.781Q-59.140-34.625-59.350-34.586",[912],[882,928,929,936],{"stroke":902,"fontFamily":903,"fontSize":904},[882,930,932],{"transform":931},"translate(167.438 -8.88)",[887,933],{"d":934,"fill":884,"stroke":884,"className":935,"style":913},"M-59.301-34.098Q-59.301-34.225-59.169-34.288L-53.861-36.798L-59.203-39.327Q-59.301-39.357-59.301-39.498Q-59.301-39.567-59.245-39.632Q-59.189-39.698-59.101-39.698Q-59.081-39.698-59.023-39.679L-53.280-36.969Q-53.193-36.925-53.193-36.798Q-53.193-36.666-53.310-36.617L-59.023-33.917Q-59.081-33.898-59.101-33.898Q-59.189-33.898-59.245-33.964Q-59.301-34.029-59.301-34.098",[912],[882,937,938],{"transform":931},[887,939],{"d":918,"fill":884,"stroke":884,"className":940,"style":913},[912],[887,942],{"fill":902,"d":943},"M-57.056-27.185h90.589",[887,945],{"d":946},"m-59.561-27.185 3.584 1.35-1.179-1.35 1.18-1.351ZM36.039-27.185l-3.585-1.351 1.179 1.35-1.179 1.351Z",[882,948,950,958,964,970,976],{"stroke":902,"fontSize":949},"8",[882,951,953],{"transform":952},"translate(28.964 16.646)",[887,954],{"d":955,"fill":884,"stroke":884,"className":956,"style":957},"M-58.162-34.298L-59.725-34.298Q-59.764-34.298-59.791-34.339Q-59.819-34.380-59.819-34.427L-59.795-34.528Q-59.752-34.587-59.697-34.595Q-59.373-34.595-59.131-34.739Q-58.986-34.825-58.869-34.978Q-58.752-35.130-58.705-35.169L-55.756-39.900Q-55.690-40.009-55.565-40.009L-55.483-40.009Q-55.369-40.009-55.346-39.900L-54.705-34.755Q-54.651-34.595-54.108-34.595Q-54.010-34.564-54.010-34.474L-54.033-34.368Q-54.069-34.310-54.131-34.298L-56.131-34.298Q-56.166-34.298-56.197-34.339Q-56.229-34.380-56.229-34.427L-56.201-34.528Q-56.170-34.583-56.108-34.595Q-55.514-34.595-55.483-34.802L-55.643-36.107L-57.803-36.107L-58.459-35.068Q-58.467-35.021-58.498-34.948Q-58.529-34.876-58.529-34.833Q-58.529-34.700-58.410-34.648Q-58.291-34.595-58.147-34.595Q-58.053-34.564-58.053-34.474L-58.076-34.368Q-58.108-34.310-58.162-34.298M-56.002-38.986L-57.619-36.403L-55.682-36.403",[912],"stroke-width:0.240",[882,959,960],{"transform":952},[887,961],{"d":962,"fill":884,"stroke":884,"className":963,"style":957},"M-51.596-32.298L-52.772-32.298L-52.772-40.298L-51.596-40.298L-51.596-39.931L-52.405-39.931L-52.405-32.665L-51.596-32.665",[912],[882,965,966],{"transform":952},[887,967],{"d":968,"fill":884,"stroke":884,"className":969,"style":957},"M-49.915-32.747L-51.516-32.747Q-51.551-32.747-51.585-32.788Q-51.618-32.829-51.618-32.864L-51.587-32.970Q-51.555-33.032-51.501-33.040Q-51.309-33.040-51.225-33.056Q-51.141-33.071-51.089-33.138Q-51.036-33.204-50.997-33.345L-50.106-36.915Q-50.067-37.071-50.067-37.208Q-50.067-37.357-50.120-37.464Q-50.173-37.571-50.305-37.571Q-50.485-37.571-50.604-37.402Q-50.723-37.232-50.780-37.046Q-50.837-36.861-50.907-36.571Q-50.919-36.497-50.989-36.497L-51.090-36.497Q-51.126-36.497-51.153-36.532Q-51.180-36.568-51.180-36.595L-51.180-36.626Q-51.094-36.958-51.001-37.200Q-50.907-37.443-50.731-37.634Q-50.555-37.825-50.290-37.825Q-50.008-37.825-49.778-37.681Q-49.548-37.536-49.481-37.282Q-48.962-37.825-48.403-37.825Q-47.868-37.825-47.548-37.441Q-47.227-37.056-47.227-36.513Q-47.227-35.989-47.508-35.450Q-47.790-34.911-48.257-34.566Q-48.723-34.220-49.258-34.220Q-49.497-34.220-49.698-34.337Q-49.899-34.454-50.028-34.665L-50.372-33.290Q-50.383-33.251-50.403-33.130Q-50.403-33.040-49.899-33.040Q-49.794-33.009-49.794-32.915L-49.829-32.810Q-49.860-32.755-49.915-32.747M-49.473-36.864L-49.907-35.138Q-49.848-34.864-49.678-34.669Q-49.508-34.474-49.243-34.474Q-48.907-34.474-48.628-34.765Q-48.348-35.056-48.212-35.411Q-48.087-35.704-47.985-36.138Q-47.883-36.571-47.883-36.849Q-47.883-37.134-48.016-37.353Q-48.149-37.571-48.419-37.571Q-48.630-37.571-48.825-37.470Q-49.020-37.368-49.180-37.212Q-49.340-37.056-49.473-36.864M-46.411-34.763Q-46.411-34.946-46.274-35.083Q-46.137-35.220-45.946-35.220Q-45.755-35.220-45.622-35.087Q-45.489-34.954-45.489-34.763Q-45.489-34.564-45.622-34.431Q-45.755-34.298-45.946-34.298Q-46.137-34.298-46.274-34.435Q-46.411-34.571-46.411-34.763M-44.051-34.763Q-44.051-34.946-43.915-35.083Q-43.778-35.220-43.587-35.220Q-43.395-35.220-43.262-35.087Q-43.130-34.954-43.130-34.763Q-43.130-34.564-43.262-34.431Q-43.395-34.298-43.587-34.298Q-43.778-34.298-43.915-34.435Q-44.051-34.571-44.051-34.763M-41.075-32.864L-41.051-32.970Q-41.044-33.021-40.962-33.040Q-40.356-33.040-40.356-33.161Q-40.301-33.298-40.290-33.345L-39.969-34.634Q-40.434-34.220-40.907-34.220Q-41.262-34.220-41.532-34.400Q-41.801-34.579-41.942-34.874Q-42.083-35.169-42.083-35.528Q-42.083-35.915-41.921-36.329Q-41.758-36.743-41.475-37.081Q-41.192-37.419-40.823-37.622Q-40.454-37.825-40.051-37.825Q-39.801-37.825-39.585-37.687Q-39.368-37.548-39.251-37.321Q-39.188-37.431-38.981-37.628Q-38.774-37.825-38.676-37.825Q-38.630-37.825-38.596-37.790Q-38.563-37.755-38.563-37.704L-39.669-33.290Q-39.680-33.251-39.700-33.130Q-39.700-33.040-39.196-33.040Q-39.090-33.013-39.090-32.915L-39.122-32.810Q-39.130-32.767-39.212-32.747L-40.977-32.747Q-41.020-32.747-41.048-32.788Q-41.075-32.829-41.075-32.864M-40.891-34.474Q-40.590-34.474-40.311-34.681Q-40.032-34.888-39.837-35.177L-39.403-36.907Q-39.442-37.087-39.528-37.237Q-39.614-37.388-39.751-37.480Q-39.887-37.571-40.067-37.571Q-40.403-37.571-40.674-37.290Q-40.946-37.009-41.106-36.634Q-41.231-36.314-41.329-35.894Q-41.426-35.474-41.426-35.193Q-41.426-34.903-41.294-34.689Q-41.161-34.474-40.891-34.474",[912],[882,971,972],{"transform":952},[887,973],{"d":974,"fill":884,"stroke":884,"className":975,"style":957},"M-30.712-36.114L-35.544-36.114Q-35.618-36.126-35.669-36.175Q-35.720-36.224-35.720-36.298Q-35.720-36.450-35.544-36.482L-30.712-36.482Q-30.544-36.454-30.544-36.298Q-30.544-36.142-30.712-36.114",[912],[882,977,978],{"transform":952},[887,979],{"d":980,"fill":884,"stroke":884,"className":981,"style":957},"M-24.337-34.298L-27.130-34.298L-27.130-34.595Q-26.068-34.595-26.068-34.857L-26.068-39.025Q-26.497-38.810-27.177-38.810L-27.177-39.107Q-26.158-39.107-25.642-39.618L-25.497-39.618Q-25.423-39.599-25.404-39.521L-25.404-34.857Q-25.404-34.595-24.337-34.595L-24.337-34.298M-22.326-32.298L-23.501-32.298L-23.501-32.665L-22.693-32.665L-22.693-39.931L-23.501-39.931L-23.501-40.298L-22.326-40.298",[912],[887,983],{"fill":902,"d":984},"M50.835-27.185v5.46",[887,986],{"d":987},"m50.835-19.219 1.35-3.584-1.35 1.178-1.351-1.178Z",[882,989,991],{"transform":990},"translate(108.925 22.627)",[887,992],{"d":993,"fill":884,"stroke":884,"className":994,"style":957},"M-58.795-32.864L-58.772-32.970Q-58.764-33.021-58.682-33.040Q-58.076-33.040-58.076-33.161Q-58.022-33.298-58.010-33.345L-57.690-34.634Q-58.154-34.220-58.627-34.220Q-58.983-34.220-59.252-34.400Q-59.522-34.579-59.662-34.874Q-59.803-35.169-59.803-35.528Q-59.803-35.915-59.641-36.329Q-59.479-36.743-59.195-37.081Q-58.912-37.419-58.543-37.622Q-58.174-37.825-57.772-37.825Q-57.522-37.825-57.305-37.687Q-57.088-37.548-56.971-37.321Q-56.908-37.431-56.701-37.628Q-56.494-37.825-56.397-37.825Q-56.350-37.825-56.317-37.790Q-56.283-37.755-56.283-37.704L-57.389-33.290Q-57.401-33.251-57.420-33.130Q-57.420-33.040-56.916-33.040Q-56.811-33.013-56.811-32.915L-56.842-32.810Q-56.850-32.767-56.932-32.747L-58.697-32.747Q-58.740-32.747-58.768-32.788Q-58.795-32.829-58.795-32.864M-58.611-34.474Q-58.311-34.474-58.031-34.681Q-57.752-34.888-57.557-35.177L-57.123-36.907Q-57.162-37.087-57.248-37.237Q-57.334-37.388-57.471-37.480Q-57.608-37.571-57.787-37.571Q-58.123-37.571-58.395-37.290Q-58.666-37.009-58.826-36.634Q-58.951-36.314-59.049-35.894Q-59.147-35.474-59.147-35.193Q-59.147-34.903-59.014-34.689Q-58.881-34.474-58.611-34.474",[912],[887,996],{"fill":902,"d":997},"M68.136-27.185h96.28",[887,999],{"d":1000},"m65.63-27.185 3.585 1.35-1.179-1.35 1.179-1.351ZM166.921-27.185l-3.584-1.351 1.179 1.35-1.18 1.351Z",[882,1002,1003,1009,1014,1020,1026,1032,1038],{"stroke":902,"fontSize":949},[882,1004,1006],{"transform":1005},"translate(157.105 16.646)",[887,1007],{"d":955,"fill":884,"stroke":884,"className":1008,"style":957},[912],[882,1010,1011],{"transform":1005},[887,1012],{"d":962,"fill":884,"stroke":884,"className":1013,"style":957},[912],[882,1015,1016],{"transform":1005},[887,1017],{"d":1018,"fill":884,"stroke":884,"className":1019,"style":957},"M-50.067-32.864L-50.044-32.970Q-50.036-33.021-49.954-33.040Q-49.348-33.040-49.348-33.161Q-49.294-33.298-49.282-33.345L-48.962-34.634Q-49.426-34.220-49.899-34.220Q-50.255-34.220-50.524-34.400Q-50.794-34.579-50.934-34.874Q-51.075-35.169-51.075-35.528Q-51.075-35.915-50.913-36.329Q-50.751-36.743-50.467-37.081Q-50.184-37.419-49.815-37.622Q-49.446-37.825-49.044-37.825Q-48.794-37.825-48.577-37.687Q-48.360-37.548-48.243-37.321Q-48.180-37.431-47.973-37.628Q-47.766-37.825-47.669-37.825Q-47.622-37.825-47.589-37.790Q-47.555-37.755-47.555-37.704L-48.661-33.290Q-48.673-33.251-48.692-33.130Q-48.692-33.040-48.188-33.040Q-48.083-33.013-48.083-32.915L-48.114-32.810Q-48.122-32.767-48.204-32.747L-49.969-32.747Q-50.012-32.747-50.040-32.788Q-50.067-32.829-50.067-32.864M-49.883-34.474Q-49.583-34.474-49.303-34.681Q-49.024-34.888-48.829-35.177L-48.395-36.907Q-48.434-37.087-48.520-37.237Q-48.606-37.388-48.743-37.480Q-48.880-37.571-49.059-37.571Q-49.395-37.571-49.667-37.290Q-49.938-37.009-50.098-36.634Q-50.223-36.314-50.321-35.894Q-50.419-35.474-50.419-35.193Q-50.419-34.903-50.286-34.689Q-50.153-34.474-49.883-34.474",[912],[882,1021,1022],{"transform":1005},[887,1023],{"d":1024,"fill":884,"stroke":884,"className":1025,"style":957},"M-42.311-36.114L-44.784-36.114Q-44.862-36.126-44.911-36.175Q-44.959-36.224-44.959-36.298Q-44.959-36.372-44.911-36.421Q-44.862-36.470-44.784-36.482L-42.311-36.482L-42.311-38.962Q-42.284-39.130-42.127-39.130Q-42.053-39.130-42.004-39.081Q-41.955-39.032-41.944-38.962L-41.944-36.482L-39.471-36.482Q-39.303-36.450-39.303-36.298Q-39.303-36.146-39.471-36.114L-41.944-36.114L-41.944-33.634Q-41.955-33.564-42.004-33.515Q-42.053-33.466-42.127-33.466Q-42.284-33.466-42.311-33.634",[912],[882,1027,1028],{"transform":1005},[887,1029],{"d":1030,"fill":884,"stroke":884,"className":1031,"style":957},"M-33.338-34.298L-36.131-34.298L-36.131-34.595Q-35.069-34.595-35.069-34.857L-35.069-39.025Q-35.498-38.810-36.178-38.810L-36.178-39.107Q-35.159-39.107-34.643-39.618L-34.498-39.618Q-34.424-39.599-34.405-39.521L-34.405-34.857Q-34.405-34.595-33.338-34.595",[912],[882,1033,1034],{"transform":1005},[887,1035],{"d":1036,"fill":884,"stroke":884,"className":1037,"style":957},"M-31.963-34.763Q-31.963-34.946-31.827-35.083Q-31.690-35.220-31.498-35.220Q-31.307-35.220-31.174-35.087Q-31.041-34.954-31.041-34.763Q-31.041-34.564-31.174-34.431Q-31.307-34.298-31.498-34.298Q-31.690-34.298-31.827-34.435Q-31.963-34.571-31.963-34.763M-29.604-34.763Q-29.604-34.946-29.467-35.083Q-29.330-35.220-29.139-35.220Q-28.948-35.220-28.815-35.087Q-28.682-34.954-28.682-34.763Q-28.682-34.564-28.815-34.431Q-28.948-34.298-29.139-34.298Q-29.330-34.298-29.467-34.435Q-29.604-34.571-29.604-34.763M-27.268-34.474Q-27.264-34.493-27.262-34.507Q-27.260-34.521-27.260-34.544L-26.666-36.915Q-26.627-37.071-26.627-37.208Q-26.627-37.357-26.680-37.464Q-26.733-37.571-26.866-37.571Q-27.045-37.571-27.164-37.402Q-27.284-37.232-27.340-37.046Q-27.397-36.861-27.467-36.571Q-27.479-36.497-27.549-36.497L-27.651-36.497Q-27.686-36.497-27.713-36.532Q-27.741-36.568-27.741-36.595L-27.741-36.626Q-27.655-36.958-27.561-37.200Q-27.467-37.443-27.291-37.634Q-27.116-37.825-26.850-37.825Q-26.565-37.825-26.332-37.677Q-26.100-37.528-26.034-37.275Q-25.827-37.528-25.557-37.677Q-25.287-37.825-24.971-37.825Q-24.791-37.825-24.635-37.753Q-24.479-37.681-24.385-37.544Q-24.291-37.407-24.291-37.228Q-24.291-37.013-24.424-36.855Q-24.557-36.696-24.764-36.696Q-24.897-36.696-24.991-36.780Q-25.084-36.864-25.084-37.001Q-25.084-37.177-24.963-37.310Q-24.842-37.443-24.674-37.466Q-24.807-37.571-24.987-37.571Q-25.334-37.571-25.604-37.335Q-25.873-37.099-26.069-36.739L-26.627-34.505Q-26.659-34.380-26.764-34.300Q-26.870-34.220-26.995-34.220Q-27.104-34.220-27.186-34.290Q-27.268-34.361-27.268-34.474",[912],[882,1039,1040],{"transform":1005},[887,1041],{"d":1042,"fill":884,"stroke":884,"className":1043,"style":957},"M-22.529-32.298L-23.704-32.298L-23.704-32.665L-22.896-32.665L-22.896-39.931L-23.704-39.931L-23.704-40.298L-22.529-40.298",[912],[882,1045,1047],{"transform":1046},"translate(-2.14 -27.85)",[887,1048],{"d":1049,"fill":884,"stroke":884,"className":1050,"style":957},"M-58.643-32.747L-60.244-32.747Q-60.279-32.747-60.313-32.788Q-60.346-32.829-60.346-32.864L-60.315-32.970Q-60.283-33.032-60.229-33.040Q-60.037-33.040-59.953-33.056Q-59.869-33.071-59.817-33.138Q-59.764-33.204-59.725-33.345L-58.834-36.915Q-58.795-37.071-58.795-37.208Q-58.795-37.357-58.848-37.464Q-58.901-37.571-59.033-37.571Q-59.213-37.571-59.332-37.402Q-59.451-37.232-59.508-37.046Q-59.565-36.861-59.635-36.571Q-59.647-36.497-59.717-36.497L-59.819-36.497Q-59.854-36.497-59.881-36.532Q-59.908-36.568-59.908-36.595L-59.908-36.626Q-59.822-36.958-59.729-37.200Q-59.635-37.443-59.459-37.634Q-59.283-37.825-59.018-37.825Q-58.736-37.825-58.506-37.681Q-58.276-37.536-58.209-37.282Q-57.690-37.825-57.131-37.825Q-56.596-37.825-56.276-37.441Q-55.955-37.056-55.955-36.513Q-55.955-35.989-56.236-35.450Q-56.518-34.911-56.985-34.566Q-57.451-34.220-57.986-34.220Q-58.225-34.220-58.426-34.337Q-58.627-34.454-58.756-34.665L-59.100-33.290Q-59.111-33.251-59.131-33.130Q-59.131-33.040-58.627-33.040Q-58.522-33.009-58.522-32.915L-58.557-32.810Q-58.588-32.755-58.643-32.747M-58.201-36.864L-58.635-35.138Q-58.576-34.864-58.406-34.669Q-58.236-34.474-57.971-34.474Q-57.635-34.474-57.356-34.765Q-57.076-35.056-56.940-35.411Q-56.815-35.704-56.713-36.138Q-56.611-36.571-56.611-36.849Q-56.611-37.134-56.744-37.353Q-56.877-37.571-57.147-37.571Q-57.358-37.571-57.553-37.470Q-57.748-37.368-57.908-37.212Q-58.069-37.056-58.201-36.864",[912],[882,1052,1054],{"transform":1053},"translate(225.586 -26.295)",[887,1055],{"d":1056,"fill":884,"stroke":884,"className":1057,"style":957},"M-59.436-34.474Q-59.432-34.493-59.430-34.507Q-59.428-34.521-59.428-34.544L-58.834-36.915Q-58.795-37.071-58.795-37.208Q-58.795-37.357-58.848-37.464Q-58.901-37.571-59.033-37.571Q-59.213-37.571-59.332-37.402Q-59.451-37.232-59.508-37.046Q-59.565-36.861-59.635-36.571Q-59.647-36.497-59.717-36.497L-59.819-36.497Q-59.854-36.497-59.881-36.532Q-59.908-36.568-59.908-36.595L-59.908-36.626Q-59.822-36.958-59.729-37.200Q-59.635-37.443-59.459-37.634Q-59.283-37.825-59.018-37.825Q-58.733-37.825-58.500-37.677Q-58.268-37.528-58.201-37.275Q-57.994-37.528-57.725-37.677Q-57.455-37.825-57.139-37.825Q-56.959-37.825-56.803-37.753Q-56.647-37.681-56.553-37.544Q-56.459-37.407-56.459-37.228Q-56.459-37.013-56.592-36.855Q-56.725-36.696-56.932-36.696Q-57.065-36.696-57.158-36.780Q-57.252-36.864-57.252-37.001Q-57.252-37.177-57.131-37.310Q-57.010-37.443-56.842-37.466Q-56.975-37.571-57.154-37.571Q-57.502-37.571-57.772-37.335Q-58.041-37.099-58.236-36.739L-58.795-34.505Q-58.826-34.380-58.932-34.300Q-59.037-34.220-59.162-34.220Q-59.272-34.220-59.354-34.290Q-59.436-34.361-59.436-34.474",[912],[882,1059,1060,1067,1073,1079],{"stroke":902,"fontSize":949},[882,1061,1063],{"transform":1062},"translate(92.869 -29.274)",[887,1064],{"d":1065,"fill":884,"stroke":884,"className":1066,"style":957},"M-58.010-32.747L-59.865-32.747L-59.865-33.040Q-59.596-33.040-59.428-33.085Q-59.260-33.130-59.260-33.306L-59.260-37.130Q-59.260-37.337-59.416-37.390Q-59.572-37.443-59.865-37.443L-59.865-37.739L-58.643-37.825L-58.643-37.361Q-58.412-37.583-58.098-37.704Q-57.783-37.825-57.444-37.825Q-56.971-37.825-56.567-37.579Q-56.162-37.333-55.930-36.917Q-55.697-36.501-55.697-36.025Q-55.697-35.650-55.846-35.321Q-55.994-34.993-56.264-34.741Q-56.533-34.489-56.877-34.355Q-57.221-34.220-57.580-34.220Q-57.869-34.220-58.141-34.341Q-58.412-34.462-58.619-34.673L-58.619-33.306Q-58.619-33.130-58.451-33.085Q-58.283-33.040-58.010-33.040L-58.010-32.747M-58.619-36.962L-58.619-35.122Q-58.467-34.833-58.205-34.653Q-57.944-34.474-57.635-34.474Q-57.350-34.474-57.127-34.612Q-56.904-34.751-56.752-34.982Q-56.600-35.212-56.522-35.484Q-56.444-35.755-56.444-36.025Q-56.444-36.357-56.569-36.714Q-56.694-37.071-56.942-37.308Q-57.190-37.544-57.537-37.544Q-57.861-37.544-58.156-37.388Q-58.451-37.232-58.619-36.962M-53.315-34.298L-55.092-34.298L-55.092-34.595Q-54.819-34.595-54.651-34.642Q-54.483-34.689-54.483-34.857L-54.483-36.993Q-54.483-37.208-54.539-37.304Q-54.596-37.400-54.709-37.421Q-54.822-37.443-55.069-37.443L-55.069-37.739L-53.869-37.825L-53.869-34.857Q-53.869-34.689-53.723-34.642Q-53.576-34.595-53.315-34.595L-53.315-34.298M-54.756-39.220Q-54.756-39.411-54.621-39.542Q-54.486-39.673-54.291-39.673Q-54.170-39.673-54.067-39.611Q-53.963-39.548-53.901-39.444Q-53.838-39.341-53.838-39.220Q-53.838-39.025-53.969-38.890Q-54.100-38.755-54.291-38.755Q-54.490-38.755-54.623-38.888Q-54.756-39.021-54.756-39.220M-51.014-34.329L-52.236-37.185Q-52.319-37.361-52.463-37.405Q-52.608-37.450-52.877-37.450L-52.877-37.747L-51.166-37.747L-51.166-37.450Q-51.588-37.450-51.588-37.267Q-51.588-37.232-51.572-37.185L-50.627-34.993L-49.787-36.970Q-49.748-37.048-49.748-37.138Q-49.748-37.278-49.854-37.364Q-49.959-37.450-50.100-37.450L-50.100-37.747L-48.748-37.747L-48.748-37.450Q-49.272-37.450-49.486-36.970L-50.611-34.329Q-50.674-34.220-50.779-34.220L-50.846-34.220Q-50.959-34.220-51.014-34.329",[912],[882,1068,1069],{"transform":1062},[887,1070],{"d":1071,"fill":884,"stroke":884,"className":1072,"style":957},"M-48.560-35.993Q-48.560-36.497-48.304-36.929Q-48.048-37.361-47.612-37.612Q-47.177-37.864-46.677-37.864Q-46.290-37.864-45.948-37.720Q-45.607-37.575-45.345-37.314Q-45.083-37.052-44.941-36.716Q-44.798-36.380-44.798-35.993Q-44.798-35.501-45.062-35.091Q-45.325-34.681-45.755-34.450Q-46.185-34.220-46.677-34.220Q-47.169-34.220-47.603-34.452Q-48.036-34.685-48.298-35.093Q-48.560-35.501-48.560-35.993M-46.677-34.497Q-46.220-34.497-45.968-34.720Q-45.716-34.943-45.628-35.294Q-45.540-35.646-45.540-36.091Q-45.540-36.521-45.634-36.859Q-45.728-37.196-45.982-37.403Q-46.236-37.611-46.677-37.611Q-47.325-37.611-47.569-37.194Q-47.814-36.778-47.814-36.091Q-47.814-35.646-47.726-35.294Q-47.638-34.943-47.386-34.720Q-47.134-34.497-46.677-34.497M-43.689-35.259L-43.689-37.450L-44.392-37.450L-44.392-37.704Q-44.036-37.704-43.794-37.937Q-43.552-38.169-43.441-38.517Q-43.329-38.864-43.329-39.220L-43.048-39.220L-43.048-37.747L-41.872-37.747L-41.872-37.450L-43.048-37.450L-43.048-35.275Q-43.048-34.954-42.929-34.726Q-42.810-34.497-42.528-34.497Q-42.349-34.497-42.232-34.620Q-42.114-34.743-42.062-34.923Q-42.009-35.103-42.009-35.275L-42.009-35.747L-41.728-35.747L-41.728-35.259Q-41.728-35.005-41.833-34.765Q-41.939-34.525-42.136-34.372Q-42.333-34.220-42.591-34.220Q-42.907-34.220-43.159-34.343Q-43.411-34.466-43.550-34.700Q-43.689-34.935-43.689-35.259",[912],[882,1074,1075],{"transform":1062},[887,1076],{"d":1077,"fill":884,"stroke":884,"className":1078,"style":957},"M-38.072-35.130Q-38.072-35.614-37.670-35.909Q-37.267-36.204-36.717-36.323Q-36.166-36.443-35.674-36.443L-35.674-36.732Q-35.674-36.958-35.789-37.165Q-35.904-37.372-36.101-37.491Q-36.299-37.611-36.529-37.611Q-36.955-37.611-37.240-37.505Q-37.170-37.478-37.123-37.423Q-37.076-37.368-37.051-37.298Q-37.025-37.228-37.025-37.153Q-37.025-37.048-37.076-36.956Q-37.127-36.864-37.219-36.814Q-37.310-36.763-37.416-36.763Q-37.521-36.763-37.613-36.814Q-37.705-36.864-37.756-36.956Q-37.806-37.048-37.806-37.153Q-37.806-37.571-37.418-37.718Q-37.029-37.864-36.529-37.864Q-36.197-37.864-35.844-37.734Q-35.490-37.603-35.262-37.349Q-35.033-37.095-35.033-36.747L-35.033-34.946Q-35.033-34.814-34.961-34.704Q-34.888-34.595-34.760-34.595Q-34.635-34.595-34.566-34.700Q-34.498-34.806-34.498-34.946L-34.498-35.458L-34.217-35.458L-34.217-34.946Q-34.217-34.743-34.334-34.585Q-34.451-34.427-34.633-34.343Q-34.814-34.259-35.017-34.259Q-35.248-34.259-35.400-34.431Q-35.553-34.603-35.584-34.833Q-35.744-34.552-36.053-34.386Q-36.361-34.220-36.713-34.220Q-37.224-34.220-37.648-34.443Q-38.072-34.665-38.072-35.130M-37.385-35.130Q-37.385-34.845-37.158-34.659Q-36.931-34.474-36.638-34.474Q-36.392-34.474-36.168-34.591Q-35.943-34.708-35.808-34.911Q-35.674-35.114-35.674-35.368L-35.674-36.200Q-35.939-36.200-36.224-36.146Q-36.510-36.091-36.781-35.962Q-37.053-35.833-37.219-35.626Q-37.385-35.419-37.385-35.130M-33.299-35.259L-33.299-37.450L-34.002-37.450L-34.002-37.704Q-33.646-37.704-33.404-37.937Q-33.162-38.169-33.051-38.517Q-32.939-38.864-32.939-39.220L-32.658-39.220L-32.658-37.747L-31.482-37.747L-31.482-37.450L-32.658-37.450L-32.658-35.275Q-32.658-34.954-32.539-34.726Q-32.420-34.497-32.138-34.497Q-31.959-34.497-31.842-34.620Q-31.724-34.743-31.672-34.923Q-31.619-35.103-31.619-35.275L-31.619-35.747L-31.338-35.747L-31.338-35.259Q-31.338-35.005-31.443-34.765Q-31.549-34.525-31.746-34.372Q-31.943-34.220-32.201-34.220Q-32.517-34.220-32.769-34.343Q-33.021-34.466-33.160-34.700Q-33.299-34.935-33.299-35.259",[912],[882,1080,1081],{"transform":1062},[887,1082],{"d":1083,"fill":884,"stroke":884,"className":1084,"style":957},"M-26.683-32.864L-26.660-32.970Q-26.652-33.021-26.570-33.040Q-25.964-33.040-25.964-33.161Q-25.910-33.298-25.898-33.345L-25.578-34.634Q-26.042-34.220-26.515-34.220Q-26.871-34.220-27.140-34.400Q-27.410-34.579-27.550-34.874Q-27.691-35.169-27.691-35.528Q-27.691-35.915-27.529-36.329Q-27.367-36.743-27.083-37.081Q-26.800-37.419-26.431-37.622Q-26.062-37.825-25.660-37.825Q-25.410-37.825-25.193-37.687Q-24.976-37.548-24.859-37.321Q-24.796-37.431-24.589-37.628Q-24.382-37.825-24.285-37.825Q-24.238-37.825-24.205-37.790Q-24.171-37.755-24.171-37.704L-25.277-33.290Q-25.289-33.251-25.308-33.130Q-25.308-33.040-24.804-33.040Q-24.699-33.013-24.699-32.915L-24.730-32.810Q-24.738-32.767-24.820-32.747L-26.585-32.747Q-26.628-32.747-26.656-32.788Q-26.683-32.829-26.683-32.864M-26.499-34.474Q-26.199-34.474-25.919-34.681Q-25.640-34.888-25.445-35.177L-25.011-36.907Q-25.050-37.087-25.136-37.237Q-25.222-37.388-25.359-37.480Q-25.496-37.571-25.675-37.571Q-26.011-37.571-26.283-37.290Q-26.554-37.009-26.714-36.634Q-26.839-36.314-26.937-35.894Q-27.035-35.474-27.035-35.193Q-27.035-34.903-26.902-34.689Q-26.769-34.474-26.499-34.474",[912],[1086,1087,1090,1091,1106],"figcaption",{"className":1088},[1089],"tikz-cap","Partition splits the array into elements less than the pivot, the pivot at index ",[394,1092,1094],{"className":1093},[397],[394,1095,1097],{"className":1096,"ariaHidden":402},[401],[394,1098,1100,1103],{"className":1099},[406],[394,1101],{"className":1102,"style":591},[410],[394,1104,596],{"className":1105,"style":595},[420,469],", then greater elements.",[381,1108,1109,1110,1125,1126,1129,1130,1145,1146,597],{},"No element to the left of ",[394,1111,1113],{"className":1112},[397],[394,1114,1116],{"className":1115,"ariaHidden":402},[401],[394,1117,1119,1122],{"className":1118},[406],[394,1120],{"className":1121,"style":591},[410],[394,1123,596],{"className":1124,"style":595},[420,469]," exceeds the pivot, and none to the right is\nsmaller, so the pivot is ",[431,1127,1128],{},"already in its final position",". The two recursive\nsorts never have to look across the boundary at ",[394,1131,1133],{"className":1132},[397],[394,1134,1136],{"className":1135,"ariaHidden":402},[401],[394,1137,1139,1142],{"className":1138},[406],[394,1140],{"className":1141,"style":591},[410],[394,1143,596],{"className":1144,"style":595},[420,469],", which is exactly why the\ncombine step vanishes. The whole game of quicksort is to make this split, and to\nmake it ",[431,1147,1148],{},"balanced",[446,1150,1152],{"id":1151},"lomuto-partition","Lomuto partition",[381,1154,1155,1156,1180,1181,1199,1200,1217,1218,1233,1234,1251,1252],{},"The simplest scheme, due to Lomuto, takes the last element ",[394,1157,1159],{"className":1158},[397],[394,1160,1162],{"className":1161,"ariaHidden":402},[401],[394,1163,1165,1168,1171,1174,1177],{"className":1164},[406],[394,1166],{"className":1167,"style":465},[410],[394,1169,470],{"className":1170},[420,469],[394,1172,475],{"className":1173},[474],[394,1175,487],{"className":1176,"style":486},[420,469],[394,1178,492],{"className":1179},[491]," as the pivot\nand sweeps an index ",[394,1182,1184],{"className":1183},[397],[394,1185,1187],{"className":1186,"ariaHidden":402},[401],[394,1188,1190,1194],{"className":1189},[406],[394,1191],{"className":1192,"style":1193},[410],"height:0.854em;vertical-align:-0.1944em;",[394,1195,1198],{"className":1196,"style":1197},[420,469],"margin-right:0.0572em;","j"," across the array, maintaining a boundary ",[394,1201,1203],{"className":1202},[397],[394,1204,1206],{"className":1205,"ariaHidden":402},[401],[394,1207,1209,1213],{"className":1208},[406],[394,1210],{"className":1211,"style":1212},[410],"height:0.6595em;",[394,1214,1216],{"className":1215},[420,469],"i"," between the\nelements known to be ",[394,1219,1221],{"className":1220},[397],[394,1222,1224],{"className":1223,"ariaHidden":402},[401],[394,1225,1227,1230],{"className":1226},[406],[394,1228],{"className":1229,"style":555},[410],[394,1231,560],{"className":1232},[559]," the pivot and those known to be ",[394,1235,1237],{"className":1236},[397],[394,1238,1240],{"className":1239,"ariaHidden":402},[401],[394,1241,1243,1247],{"className":1242},[406],[394,1244],{"className":1245,"style":1246},[410],"height:0.5782em;vertical-align:-0.0391em;",[394,1248,1250],{"className":1249},[559],">"," it.",[436,1253,1254],{},[384,1255,1259],{"href":1256,"ariaDescribedBy":1257,"dataFootnoteRef":376,"id":1258},"#user-content-fn-clrs-lomuto",[442],"user-content-fnref-clrs-lomuto","2",[711,1261,1263],{"className":713,"code":1262,"language":715,"meta":376,"style":376},"caption: $\\textsc{Partition}(A, p, r)$ — Lomuto scheme, pivot $= A[r]$\nnumber: 2\n$x \\gets A[r]$ \u002F\u002F the pivot\n$i \\gets p - 1$ \u002F\u002F end of $\\le x$ region\nfor $j \\gets p$ to $r - 1$ do\n  if $A[j] \\le x$ then\n    $i \\gets i + 1$\n    exchange $A[i]$ with $A[j]$\nexchange $A[i + 1]$ with $A[r]$ \u002F\u002F pivot into its slot\nreturn $i + 1$\n",[717,1264,1265,1270,1275,1280,1285,1290,1295,1300,1305,1310],{"__ignoreMap":376},[394,1266,1267],{"class":721,"line":6},[394,1268,1269],{},"caption: $\\textsc{Partition}(A, p, r)$ — Lomuto scheme, pivot $= A[r]$\n",[394,1271,1272],{"class":721,"line":18},[394,1273,1274],{},"number: 2\n",[394,1276,1277],{"class":721,"line":24},[394,1278,1279],{},"$x \\gets A[r]$ \u002F\u002F the pivot\n",[394,1281,1282],{"class":721,"line":73},[394,1283,1284],{},"$i \\gets p - 1$ \u002F\u002F end of $\\le x$ region\n",[394,1286,1287],{"class":721,"line":102},[394,1288,1289],{},"for $j \\gets p$ to $r - 1$ do\n",[394,1291,1292],{"class":721,"line":108},[394,1293,1294],{},"  if $A[j] \\le x$ then\n",[394,1296,1297],{"class":721,"line":116},[394,1298,1299],{},"    $i \\gets i + 1$\n",[394,1301,1302],{"class":721,"line":196},[394,1303,1304],{},"    exchange $A[i]$ with $A[j]$\n",[394,1306,1307],{"class":721,"line":202},[394,1308,1309],{},"exchange $A[i + 1]$ with $A[r]$ \u002F\u002F pivot into its slot\n",[394,1311,1312],{"class":721,"line":283},[394,1313,1314],{},"return $i + 1$\n",[777,1316,1318],{"id":1317},"correctness-of-partition","Correctness of partition",[381,1320,1321,1322,1325],{},"Partition is correct by a four-region loop invariant. At the start of each\niteration of the ",[389,1323,1324],{},"for"," loop, for any array index:",[495,1327,1328,1431,1565],{},[498,1329,1330,1331,1387,1388,1430],{},"if ",[394,1332,1334],{"className":1333},[397],[394,1335,1337,1357,1378],{"className":1336,"ariaHidden":402},[401],[394,1338,1340,1344,1347,1351,1354],{"className":1339},[406],[394,1341],{"className":1342,"style":1343},[410],"height:0.8304em;vertical-align:-0.1944em;",[394,1345,381],{"className":1346},[420,469],[394,1348],{"className":1349,"style":1350},[634],"margin-right:0.2778em;",[394,1352,560],{"className":1353},[559],[394,1355],{"className":1356,"style":1350},[634],[394,1358,1360,1364,1369,1372,1375],{"className":1359},[406],[394,1361],{"className":1362,"style":1363},[410],"height:0.8304em;vertical-align:-0.136em;",[394,1365,1368],{"className":1366,"style":1367},[420,469],"margin-right:0.0315em;","k",[394,1370],{"className":1371,"style":1350},[634],[394,1373,560],{"className":1374},[559],[394,1376],{"className":1377,"style":1350},[634],[394,1379,1381,1384],{"className":1380},[406],[394,1382],{"className":1383,"style":1212},[410],[394,1385,1216],{"className":1386},[420,469]," then ",[394,1389,1391],{"className":1390},[397],[394,1392,1394,1421],{"className":1393,"ariaHidden":402},[401],[394,1395,1397,1400,1403,1406,1409,1412,1415,1418],{"className":1396},[406],[394,1398],{"className":1399,"style":465},[410],[394,1401,470],{"className":1402},[420,469],[394,1404,475],{"className":1405},[474],[394,1407,1368],{"className":1408,"style":1367},[420,469],[394,1410,492],{"className":1411},[491],[394,1413],{"className":1414,"style":1350},[634],[394,1416,560],{"className":1417},[559],[394,1419],{"className":1420,"style":1350},[634],[394,1422,1424,1427],{"className":1423},[406],[394,1425],{"className":1426,"style":799},[410],[394,1428,803],{"className":1429},[420,469],";",[498,1432,1330,1433,1387,1523,1430],{},[394,1434,1436],{"className":1435},[397],[394,1437,1439,1458,1477,1495,1513],{"className":1438,"ariaHidden":402},[401],[394,1440,1442,1446,1449,1452,1455],{"className":1441},[406],[394,1443],{"className":1444,"style":1445},[410],"height:0.7429em;vertical-align:-0.0833em;",[394,1447,1216],{"className":1448},[420,469],[394,1450],{"className":1451,"style":635},[634],[394,1453,684],{"className":1454},[639],[394,1456],{"className":1457,"style":635},[634],[394,1459,1461,1465,1468,1471,1474],{"className":1460},[406],[394,1462],{"className":1463,"style":1464},[410],"height:0.7804em;vertical-align:-0.136em;",[394,1466,444],{"className":1467},[420],[394,1469],{"className":1470,"style":1350},[634],[394,1472,560],{"className":1473},[559],[394,1475],{"className":1476,"style":1350},[634],[394,1478,1480,1483,1486,1489,1492],{"className":1479},[406],[394,1481],{"className":1482,"style":1363},[410],[394,1484,1368],{"className":1485,"style":1367},[420,469],[394,1487],{"className":1488,"style":1350},[634],[394,1490,560],{"className":1491},[559],[394,1493],{"className":1494,"style":1350},[634],[394,1496,1498,1501,1504,1507,1510],{"className":1497},[406],[394,1499],{"className":1500,"style":1193},[410],[394,1502,1198],{"className":1503,"style":1197},[420,469],[394,1505],{"className":1506,"style":635},[634],[394,1508,640],{"className":1509},[639],[394,1511],{"className":1512,"style":635},[634],[394,1514,1516,1520],{"className":1515},[406],[394,1517],{"className":1518,"style":1519},[410],"height:0.6444em;",[394,1521,444],{"className":1522},[420],[394,1524,1526],{"className":1525},[397],[394,1527,1529,1556],{"className":1528,"ariaHidden":402},[401],[394,1530,1532,1535,1538,1541,1544,1547,1550,1553],{"className":1531},[406],[394,1533],{"className":1534,"style":465},[410],[394,1536,470],{"className":1537},[420,469],[394,1539,475],{"className":1540},[474],[394,1542,1368],{"className":1543,"style":1367},[420,469],[394,1545,492],{"className":1546},[491],[394,1548],{"className":1549,"style":1350},[634],[394,1551,1250],{"className":1552},[559],[394,1554],{"className":1555,"style":1350},[634],[394,1557,1559,1562],{"className":1558},[406],[394,1560],{"className":1561,"style":799},[410],[394,1563,803],{"className":1564},[420,469],[498,1566,1567,597],{},[394,1568,1570],{"className":1569},[397],[394,1571,1573,1601],{"className":1572,"ariaHidden":402},[401],[394,1574,1576,1579,1582,1585,1588,1591,1594,1598],{"className":1575},[406],[394,1577],{"className":1578,"style":465},[410],[394,1580,470],{"className":1581},[420,469],[394,1583,475],{"className":1584},[474],[394,1586,487],{"className":1587,"style":486},[420,469],[394,1589,492],{"className":1590},[491],[394,1592],{"className":1593,"style":1350},[634],[394,1595,1597],{"className":1596},[559],"=",[394,1599],{"className":1600,"style":1350},[634],[394,1602,1604,1607],{"className":1603},[406],[394,1605],{"className":1606,"style":799},[410],[394,1608,803],{"className":1609},[420,469],[381,1611,1612,1613,1628,1629,1662,1663,1696,1697,1712],{},"In words: everything up to ",[394,1614,1616],{"className":1615},[397],[394,1617,1619],{"className":1618,"ariaHidden":402},[401],[394,1620,1622,1625],{"className":1621},[406],[394,1623],{"className":1624,"style":1212},[410],[394,1626,1216],{"className":1627},[420,469]," is small, everything from ",[394,1630,1632],{"className":1631},[397],[394,1633,1635,1653],{"className":1634,"ariaHidden":402},[401],[394,1636,1638,1641,1644,1647,1650],{"className":1637},[406],[394,1639],{"className":1640,"style":1445},[410],[394,1642,1216],{"className":1643},[420,469],[394,1645],{"className":1646,"style":635},[634],[394,1648,684],{"className":1649},[639],[394,1651],{"className":1652,"style":635},[634],[394,1654,1656,1659],{"className":1655},[406],[394,1657],{"className":1658,"style":1519},[410],[394,1660,444],{"className":1661},[420]," to ",[394,1664,1666],{"className":1665},[397],[394,1667,1669,1687],{"className":1668,"ariaHidden":402},[401],[394,1670,1672,1675,1678,1681,1684],{"className":1671},[406],[394,1673],{"className":1674,"style":1193},[410],[394,1676,1198],{"className":1677,"style":1197},[420,469],[394,1679],{"className":1680,"style":635},[634],[394,1682,640],{"className":1683},[639],[394,1685],{"className":1686,"style":635},[634],[394,1688,1690,1693],{"className":1689},[406],[394,1691],{"className":1692,"style":1519},[410],[394,1694,444],{"className":1695},[420]," is\nlarge, the slice from ",[394,1698,1700],{"className":1699},[397],[394,1701,1703],{"className":1702,"ariaHidden":402},[401],[394,1704,1706,1709],{"className":1705},[406],[394,1707],{"className":1708,"style":1193},[410],[394,1710,1198],{"className":1711,"style":1197},[420,469]," onward is unexamined, and the pivot waits at the end.",[495,1714,1715,1849,2052],{},[498,1716,1717,1720,1721,656,1773,1806,1807,597],{},[389,1718,1719],{},"Initialization."," Before the first iteration ",[394,1722,1724],{"className":1723},[397],[394,1725,1727,1745,1764],{"className":1726,"ariaHidden":402},[401],[394,1728,1730,1733,1736,1739,1742],{"className":1729},[406],[394,1731],{"className":1732,"style":1212},[410],[394,1734,1216],{"className":1735},[420,469],[394,1737],{"className":1738,"style":1350},[634],[394,1740,1597],{"className":1741},[559],[394,1743],{"className":1744,"style":1350},[634],[394,1746,1748,1752,1755,1758,1761],{"className":1747},[406],[394,1749],{"className":1750,"style":1751},[410],"height:0.7778em;vertical-align:-0.1944em;",[394,1753,381],{"className":1754},[420,469],[394,1756],{"className":1757,"style":635},[634],[394,1759,640],{"className":1760},[639],[394,1762],{"className":1763,"style":635},[634],[394,1765,1767,1770],{"className":1766},[406],[394,1768],{"className":1769,"style":1519},[410],[394,1771,444],{"className":1772},[420],[394,1774,1776],{"className":1775},[397],[394,1777,1779,1797],{"className":1778,"ariaHidden":402},[401],[394,1780,1782,1785,1788,1791,1794],{"className":1781},[406],[394,1783],{"className":1784,"style":1193},[410],[394,1786,1198],{"className":1787,"style":1197},[420,469],[394,1789],{"className":1790,"style":1350},[634],[394,1792,1597],{"className":1793},[559],[394,1795],{"className":1796,"style":1350},[634],[394,1798,1800,1803],{"className":1799},[406],[394,1801],{"className":1802,"style":591},[410],[394,1804,381],{"className":1805},[420,469],", so\nboth regions (1) and (2) are empty. The invariant holds vacuously, and\n",[394,1808,1810],{"className":1809},[397],[394,1811,1813,1840],{"className":1812,"ariaHidden":402},[401],[394,1814,1816,1819,1822,1825,1828,1831,1834,1837],{"className":1815},[406],[394,1817],{"className":1818,"style":465},[410],[394,1820,470],{"className":1821},[420,469],[394,1823,475],{"className":1824},[474],[394,1826,487],{"className":1827,"style":486},[420,469],[394,1829,492],{"className":1830},[491],[394,1832],{"className":1833,"style":1350},[634],[394,1835,1597],{"className":1836},[559],[394,1838],{"className":1839,"style":1350},[634],[394,1841,1843,1846],{"className":1842},[406],[394,1844],{"className":1845,"style":799},[410],[394,1847,803],{"className":1848},[420,469],[498,1850,1851,1854,1855,1897,1898,1913,1914,1917,1918,1960,1961,1976,1977,2001,2002,2026,2027,2051],{},[389,1852,1853],{},"Maintenance."," If ",[394,1856,1858],{"className":1857},[397],[394,1859,1861,1888],{"className":1860,"ariaHidden":402},[401],[394,1862,1864,1867,1870,1873,1876,1879,1882,1885],{"className":1863},[406],[394,1865],{"className":1866,"style":465},[410],[394,1868,470],{"className":1869},[420,469],[394,1871,475],{"className":1872},[474],[394,1874,1198],{"className":1875,"style":1197},[420,469],[394,1877,492],{"className":1878},[491],[394,1880],{"className":1881,"style":1350},[634],[394,1883,1250],{"className":1884},[559],[394,1886],{"className":1887,"style":1350},[634],[394,1889,1891,1894],{"className":1890},[406],[394,1892],{"className":1893,"style":799},[410],[394,1895,803],{"className":1896},[420,469],", only ",[394,1899,1901],{"className":1900},[397],[394,1902,1904],{"className":1903,"ariaHidden":402},[401],[394,1905,1907,1910],{"className":1906},[406],[394,1908],{"className":1909,"style":1193},[410],[394,1911,1198],{"className":1912,"style":1197},[420,469]," advances, extending the ",[596,1915,1916],{},"large","\nregion (2), which stays valid. If ",[394,1919,1921],{"className":1920},[397],[394,1922,1924,1951],{"className":1923,"ariaHidden":402},[401],[394,1925,1927,1930,1933,1936,1939,1942,1945,1948],{"className":1926},[406],[394,1928],{"className":1929,"style":465},[410],[394,1931,470],{"className":1932},[420,469],[394,1934,475],{"className":1935},[474],[394,1937,1198],{"className":1938,"style":1197},[420,469],[394,1940,492],{"className":1941},[491],[394,1943],{"className":1944,"style":1350},[634],[394,1946,560],{"className":1947},[559],[394,1949],{"className":1950,"style":1350},[634],[394,1952,1954,1957],{"className":1953},[406],[394,1955],{"className":1956,"style":799},[410],[394,1958,803],{"className":1959},[420,469],", we increment ",[394,1962,1964],{"className":1963},[397],[394,1965,1967],{"className":1966,"ariaHidden":402},[401],[394,1968,1970,1973],{"className":1969},[406],[394,1971],{"className":1972,"style":1212},[410],[394,1974,1216],{"className":1975},[420,469]," and swap ",[394,1978,1980],{"className":1979},[397],[394,1981,1983],{"className":1982,"ariaHidden":402},[401],[394,1984,1986,1989,1992,1995,1998],{"className":1985},[406],[394,1987],{"className":1988,"style":465},[410],[394,1990,470],{"className":1991},[420,469],[394,1993,475],{"className":1994},[474],[394,1996,1216],{"className":1997},[420,469],[394,1999,492],{"className":2000},[491],"\nwith ",[394,2003,2005],{"className":2004},[397],[394,2006,2008],{"className":2007,"ariaHidden":402},[401],[394,2009,2011,2014,2017,2020,2023],{"className":2010},[406],[394,2012],{"className":2013,"style":465},[410],[394,2015,470],{"className":2016},[420,469],[394,2018,475],{"className":2019},[474],[394,2021,1198],{"className":2022,"style":1197},[420,469],[394,2024,492],{"className":2025},[491],": the newly small element joins region (1), and the large element\nthat was at ",[394,2028,2030],{"className":2029},[397],[394,2031,2033],{"className":2032,"ariaHidden":402},[401],[394,2034,2036,2039,2042,2045,2048],{"className":2035},[406],[394,2037],{"className":2038,"style":465},[410],[394,2040,470],{"className":2041},[420,469],[394,2043,475],{"className":2044},[474],[394,2046,1216],{"className":2047},[420,469],[394,2049,492],{"className":2050},[491]," moves to the back of region (2). Both regions stay correct.",[498,2053,2054,2057,2058,2091,2092,2140,2141,2174,2175,2208,2209,597],{},[389,2055,2056],{},"Termination."," The loop ends with ",[394,2059,2061],{"className":2060},[397],[394,2062,2064,2082],{"className":2063,"ariaHidden":402},[401],[394,2065,2067,2070,2073,2076,2079],{"className":2066},[406],[394,2068],{"className":2069,"style":1193},[410],[394,2071,1198],{"className":2072,"style":1197},[420,469],[394,2074],{"className":2075,"style":1350},[634],[394,2077,1597],{"className":2078},[559],[394,2080],{"className":2081,"style":1350},[634],[394,2083,2085,2088],{"className":2084},[406],[394,2086],{"className":2087,"style":799},[410],[394,2089,487],{"className":2090,"style":486},[420,469],". Regions (1) and (2) together\ncover ",[394,2093,2095],{"className":2094},[397],[394,2096,2098,2128],{"className":2097,"ariaHidden":402},[401],[394,2099,2101,2104,2107,2110,2113,2116,2119,2122,2125],{"className":2100},[406],[394,2102],{"className":2103,"style":465},[410],[394,2105,470],{"className":2106},[420,469],[394,2108,475],{"className":2109},[474],[394,2111,381],{"className":2112},[420,469],[394,2114,482],{"className":2115},[420],[394,2117,487],{"className":2118,"style":486},[420,469],[394,2120],{"className":2121,"style":635},[634],[394,2123,640],{"className":2124},[639],[394,2126],{"className":2127,"style":635},[634],[394,2129,2131,2134,2137],{"className":2130},[406],[394,2132],{"className":2133,"style":465},[410],[394,2135,444],{"className":2136},[420],[394,2138,492],{"className":2139},[491],". The final swap places the pivot at index ",[394,2142,2144],{"className":2143},[397],[394,2145,2147,2165],{"className":2146,"ariaHidden":402},[401],[394,2148,2150,2153,2156,2159,2162],{"className":2149},[406],[394,2151],{"className":2152,"style":1445},[410],[394,2154,1216],{"className":2155},[420,469],[394,2157],{"className":2158,"style":635},[634],[394,2160,684],{"className":2161},[639],[394,2163],{"className":2164,"style":635},[634],[394,2166,2168,2171],{"className":2167},[406],[394,2169],{"className":2170,"style":1519},[410],[394,2172,444],{"className":2173},[420],", with all\nsmaller elements to its left and all larger to its right: exactly the\npostcondition, and ",[394,2176,2178],{"className":2177},[397],[394,2179,2181,2199],{"className":2180,"ariaHidden":402},[401],[394,2182,2184,2187,2190,2193,2196],{"className":2183},[406],[394,2185],{"className":2186,"style":1445},[410],[394,2188,1216],{"className":2189},[420,469],[394,2191],{"className":2192,"style":635},[634],[394,2194,684],{"className":2195},[639],[394,2197],{"className":2198,"style":635},[634],[394,2200,2202,2205],{"className":2201},[406],[394,2203],{"className":2204,"style":1519},[410],[394,2206,444],{"className":2207},[420]," is the pivot's final position ",[394,2210,2212],{"className":2211},[397],[394,2213,2215],{"className":2214,"ariaHidden":402},[401],[394,2216,2218,2221],{"className":2217},[406],[394,2219],{"className":2220,"style":591},[410],[394,2222,596],{"className":2223,"style":595},[420,469],[381,2225,2226,2227,2255,2256,2326],{},"Partition does ",[394,2228,2230],{"className":2229},[397],[394,2231,2233],{"className":2232,"ariaHidden":402},[401],[394,2234,2236,2239,2243,2247,2251],{"className":2235},[406],[394,2237],{"className":2238,"style":465},[410],[394,2240,2242],{"className":2241},[420],"Θ",[394,2244,2246],{"className":2245},[474],"(",[394,2248,2250],{"className":2249},[420,469],"n",[394,2252,2254],{"className":2253},[491],")"," comparisons on ",[394,2257,2259],{"className":2258},[397],[394,2260,2262,2280,2299,2317],{"className":2261,"ariaHidden":402},[401],[394,2263,2265,2268,2271,2274,2277],{"className":2264},[406],[394,2266],{"className":2267,"style":799},[410],[394,2269,2250],{"className":2270},[420,469],[394,2272],{"className":2273,"style":1350},[634],[394,2275,1597],{"className":2276},[559],[394,2278],{"className":2279,"style":1350},[634],[394,2281,2283,2287,2290,2293,2296],{"className":2282},[406],[394,2284],{"className":2285,"style":2286},[410],"height:0.6667em;vertical-align:-0.0833em;",[394,2288,487],{"className":2289,"style":486},[420,469],[394,2291],{"className":2292,"style":635},[634],[394,2294,640],{"className":2295},[639],[394,2297],{"className":2298,"style":635},[634],[394,2300,2302,2305,2308,2311,2314],{"className":2301},[406],[394,2303],{"className":2304,"style":1751},[410],[394,2306,381],{"className":2307},[420,469],[394,2309],{"className":2310,"style":635},[634],[394,2312,684],{"className":2313},[639],[394,2315],{"className":2316,"style":635},[634],[394,2318,2320,2323],{"className":2319},[406],[394,2321],{"className":2322,"style":1519},[410],[394,2324,444],{"className":2325},[420]," elements.",[381,2328,2329,2330,2442,2443,2503,2504,2537,2538,2553],{},"A snapshot of the sweep makes the four regions concrete. On\n",[394,2331,2333],{"className":2332},[397],[394,2334,2336,2354],{"className":2335,"ariaHidden":402},[401],[394,2337,2339,2342,2345,2348,2351],{"className":2338},[406],[394,2340],{"className":2341,"style":765},[410],[394,2343,470],{"className":2344},[420,469],[394,2346],{"className":2347,"style":1350},[634],[394,2349,1597],{"className":2350},[559],[394,2352],{"className":2353,"style":1350},[634],[394,2355,2357,2360,2364,2367,2372,2376,2379,2382,2385,2389,2392,2395,2398,2401,2404,2408,2411,2414,2418,2421,2424,2428,2431,2434,2438],{"className":2356},[406],[394,2358],{"className":2359,"style":465},[410],[394,2361,2363],{"className":2362},[474],"⟨",[394,2365,1259],{"className":2366},[420],[394,2368,2371],{"className":2369},[2370],"mpunct",",",[394,2373],{"className":2374,"style":2375},[634],"margin-right:0.1667em;",[394,2377,949],{"className":2378},[420],[394,2380,2371],{"className":2381},[2370],[394,2383],{"className":2384,"style":2375},[634],[394,2386,2388],{"className":2387},[420],"7",[394,2390,2371],{"className":2391},[2370],[394,2393],{"className":2394,"style":2375},[634],[394,2396,444],{"className":2397},[420],[394,2399,2371],{"className":2400},[2370],[394,2402],{"className":2403,"style":2375},[634],[394,2405,2407],{"className":2406},[420],"3",[394,2409,2371],{"className":2410},[2370],[394,2412],{"className":2413,"style":2375},[634],[394,2415,2417],{"className":2416},[420],"5",[394,2419,2371],{"className":2420},[2370],[394,2422],{"className":2423,"style":2375},[634],[394,2425,2427],{"className":2426},[420],"6",[394,2429,2371],{"className":2430},[2370],[394,2432],{"className":2433,"style":2375},[634],[394,2435,2437],{"className":2436},[420],"4",[394,2439,2441],{"className":2440},[491],"⟩"," with pivot ",[394,2444,2446],{"className":2445},[397],[394,2447,2449,2467,2494],{"className":2448,"ariaHidden":402},[401],[394,2450,2452,2455,2458,2461,2464],{"className":2451},[406],[394,2453],{"className":2454,"style":799},[410],[394,2456,803],{"className":2457},[420,469],[394,2459],{"className":2460,"style":1350},[634],[394,2462,1597],{"className":2463},[559],[394,2465],{"className":2466,"style":1350},[634],[394,2468,2470,2473,2476,2479,2482,2485,2488,2491],{"className":2469},[406],[394,2471],{"className":2472,"style":465},[410],[394,2474,470],{"className":2475},[420,469],[394,2477,475],{"className":2478},[474],[394,2480,487],{"className":2481,"style":486},[420,469],[394,2483,492],{"className":2484},[491],[394,2486],{"className":2487,"style":1350},[634],[394,2489,1597],{"className":2490},[559],[394,2492],{"className":2493,"style":1350},[634],[394,2495,2497,2500],{"className":2496},[406],[394,2498],{"className":2499,"style":1519},[410],[394,2501,2437],{"className":2502},[420],", just after the\nscan reaches ",[394,2505,2507],{"className":2506},[397],[394,2508,2510,2528],{"className":2509,"ariaHidden":402},[401],[394,2511,2513,2516,2519,2522,2525],{"className":2512},[406],[394,2514],{"className":2515,"style":1193},[410],[394,2517,1198],{"className":2518,"style":1197},[420,469],[394,2520],{"className":2521,"style":1350},[634],[394,2523,1597],{"className":2524},[559],[394,2526],{"className":2527,"style":1350},[634],[394,2529,2531,2534],{"className":2530},[406],[394,2532],{"className":2533,"style":1519},[410],[394,2535,2417],{"className":2536},[420]," the boundary ",[394,2539,2541],{"className":2540},[397],[394,2542,2544],{"className":2543,"ariaHidden":402},[401],[394,2545,2547,2550],{"className":2546},[406],[394,2548],{"className":2549,"style":1212},[410],[394,2551,1216],{"className":2552},[420,469]," has collected the small elements on the\nleft, the large ones trail behind, and the rest is still unexamined:",[869,2555,2557,2750],{"className":2556},[872,873],[875,2558,2562],{"xmlns":877,"width":2559,"height":2560,"viewBox":2561},"314.078","95.950","-75 -75 235.558 71.963",[882,2563,2564,2577,2589,2601,2614,2626,2629,2636,2639,2646,2658,2679,2700,2712,2721,2730,2737,2740,2743],{"stroke":884,"style":885},[882,2565,2566,2569],{"fill":889},[887,2567],{"d":2568},"M-65.403-28.286h22.762v-22.762h-22.762Z",[882,2570,2572],{"transform":2571},"translate(-2.312 2.9)",[887,2573],{"d":2574,"fill":884,"stroke":884,"className":2575,"style":2576},"M-50.115-39.667L-53.565-39.667L-53.565-39.900Q-53.565-39.913-53.534-39.944L-52.080-41.521Q-51.614-42.018-51.361-42.323Q-51.108-42.629-50.917-43.040Q-50.726-43.451-50.726-43.890Q-50.726-44.479-51.049-44.912Q-51.372-45.345-51.952-45.345Q-52.216-45.345-52.462-45.235Q-52.708-45.125-52.884-44.938Q-53.060-44.751-53.156-44.501L-53.077-44.501Q-52.875-44.501-52.732-44.365Q-52.589-44.229-52.589-44.013Q-52.589-43.807-52.732-43.668Q-52.875-43.530-53.077-43.530Q-53.279-43.530-53.422-43.673Q-53.565-43.815-53.565-44.013Q-53.565-44.475-53.328-44.848Q-53.090-45.222-52.690-45.441Q-52.291-45.661-51.842-45.661Q-51.319-45.661-50.865-45.446Q-50.410-45.230-50.137-44.831Q-49.865-44.431-49.865-43.890Q-49.865-43.495-50.036-43.141Q-50.208-42.787-50.473-42.508Q-50.739-42.229-51.190-41.844Q-51.640-41.460-51.719-41.385L-52.743-40.423L-51.926-40.423Q-51.275-40.423-50.838-40.434Q-50.401-40.445-50.370-40.467Q-50.300-40.550-50.245-40.790Q-50.190-41.029-50.150-41.297L-49.865-41.297",[912],"stroke-width:0.270",[882,2578,2579,2582],{"fill":889},[887,2580],{"d":2581},"M-36.95-28.286h22.762v-22.762h-22.763Z",[882,2583,2585],{"transform":2584},"translate(26.14 2.9)",[887,2586],{"d":2587,"fill":884,"stroke":884,"className":2588,"style":2576},"M-50.115-39.667L-53.147-39.667L-53.147-39.983Q-51.996-39.983-51.996-40.278L-51.996-45.002Q-52.484-44.769-53.205-44.769L-53.205-45.085Q-52.075-45.085-51.513-45.661L-51.368-45.661Q-51.333-45.661-51.300-45.628Q-51.267-45.595-51.267-45.560L-51.267-40.278Q-51.267-39.983-50.115-39.983",[912],[882,2590,2591,2594],{"fill":889},[887,2592],{"d":2593},"M-8.498-28.286h22.762v-22.762H-8.498Z",[882,2595,2597],{"transform":2596},"translate(54.593 2.9)",[887,2598],{"d":2599,"fill":884,"stroke":884,"className":2600,"style":2576},"M-53.121-40.388L-53.165-40.388Q-52.963-40.071-52.576-39.913Q-52.189-39.755-51.763-39.755Q-51.227-39.755-50.988-40.190Q-50.748-40.625-50.748-41.205Q-50.748-41.785-50.994-42.225Q-51.240-42.664-51.772-42.664L-52.392-42.664Q-52.418-42.664-52.451-42.693Q-52.484-42.721-52.484-42.743L-52.484-42.844Q-52.484-42.875-52.455-42.899Q-52.427-42.923-52.392-42.923L-51.873-42.963Q-51.407-42.963-51.161-43.435Q-50.915-43.908-50.915-44.426Q-50.915-44.853-51.128-45.127Q-51.341-45.402-51.763-45.402Q-52.106-45.402-52.431-45.272Q-52.756-45.143-52.941-44.888L-52.915-44.888Q-52.712-44.888-52.576-44.747Q-52.440-44.606-52.440-44.409Q-52.440-44.211-52.574-44.077Q-52.708-43.943-52.906-43.943Q-53.108-43.943-53.246-44.077Q-53.385-44.211-53.385-44.409Q-53.385-44.998-52.882-45.329Q-52.378-45.661-51.763-45.661Q-51.385-45.661-50.983-45.521Q-50.581-45.380-50.313-45.101Q-50.045-44.822-50.045-44.426Q-50.045-43.877-50.399-43.440Q-50.752-43.002-51.293-42.818Q-50.902-42.739-50.557-42.515Q-50.212-42.291-50.001-41.950Q-49.790-41.609-49.790-41.214Q-49.790-40.832-49.953-40.509Q-50.115-40.186-50.407-39.950Q-50.700-39.715-51.047-39.592Q-51.394-39.469-51.763-39.469Q-52.211-39.469-52.642-39.630Q-53.073-39.790-53.354-40.117Q-53.635-40.445-53.635-40.902Q-53.635-41.117-53.488-41.260Q-53.341-41.403-53.121-41.403Q-52.910-41.403-52.765-41.258Q-52.620-41.113-52.620-40.902Q-52.620-40.691-52.767-40.539Q-52.915-40.388-53.121-40.388",[912],[882,2602,2604,2607],{"fill":2603},"var(--tk-soft-neutral)",[887,2605],{"d":2606},"M19.955-28.286h22.762v-22.762H19.955Z",[882,2608,2610],{"transform":2609},"translate(83.046 2.9)",[887,2611],{"d":2612,"fill":884,"stroke":884,"className":2613,"style":2576},"M-53.635-41.034Q-53.635-41.592-53.275-42.005Q-52.915-42.418-52.339-42.690L-52.708-42.923Q-53.011-43.125-53.198-43.455Q-53.385-43.785-53.385-44.141Q-53.385-44.795-52.879-45.228Q-52.374-45.661-51.710-45.661Q-51.311-45.661-50.926-45.501Q-50.542-45.340-50.293-45.035Q-50.045-44.730-50.045-44.312Q-50.045-43.481-51.113-42.923L-50.559-42.576Q-50.212-42.348-50.001-41.979Q-49.790-41.609-49.790-41.196Q-49.790-40.818-49.948-40.500Q-50.106-40.181-50.383-39.948Q-50.660-39.715-51.003-39.592Q-51.346-39.469-51.710-39.469Q-52.176-39.469-52.622-39.656Q-53.068-39.843-53.352-40.197Q-53.635-40.550-53.635-41.034M-53.112-41.034Q-53.112-40.489-52.693-40.122Q-52.273-39.755-51.710-39.755Q-51.381-39.755-51.056-39.887Q-50.730-40.019-50.522-40.273Q-50.313-40.528-50.313-40.871Q-50.313-41.135-50.449-41.359Q-50.585-41.583-50.818-41.737L-52.062-42.519Q-52.523-42.282-52.818-41.895Q-53.112-41.508-53.112-41.034M-52.501-43.789L-51.385-43.086Q-51.161-43.209-50.957-43.398Q-50.752-43.587-50.632-43.820Q-50.511-44.053-50.511-44.312Q-50.511-44.620-50.682-44.870Q-50.854-45.121-51.130-45.261Q-51.407-45.402-51.719-45.402Q-52.168-45.402-52.541-45.156Q-52.915-44.910-52.915-44.483Q-52.915-44.079-52.501-43.789",[912],[882,2615,2616,2619],{"fill":2603},[887,2617],{"d":2618},"M48.408-28.286H71.17v-22.762H48.408Z",[882,2620,2622],{"transform":2621},"translate(111.498 2.9)",[887,2623],{"d":2624,"fill":884,"stroke":884,"className":2625,"style":2576},"M-52.400-39.909Q-52.400-40.546-52.244-41.192Q-52.088-41.838-51.796-42.444Q-51.504-43.051-51.095-43.600L-50.278-44.708L-51.306-44.708Q-52.950-44.708-52.998-44.664Q-53.104-44.536-53.222-43.833L-53.508-43.833L-53.213-45.749L-52.923-45.749L-52.923-45.723Q-52.923-45.560-52.359-45.512Q-51.794-45.463-51.249-45.463L-49.531-45.463L-49.531-45.257Q-49.531-45.239-49.533-45.230Q-49.535-45.222-49.540-45.213L-50.827-43.464Q-51.078-43.112-51.225-42.686Q-51.372-42.260-51.438-41.796Q-51.504-41.333-51.517-40.922Q-51.530-40.511-51.530-39.909Q-51.530-39.729-51.656-39.599Q-51.781-39.469-51.961-39.469Q-52.080-39.469-52.183-39.526Q-52.286-39.584-52.343-39.687Q-52.400-39.790-52.400-39.909",[912],[887,2627],{"fill":902,"d":2628},"M76.86-28.286h22.763v-22.762H76.86Z",[882,2630,2632],{"transform":2631},"translate(139.951 2.9)",[887,2633],{"d":2634,"fill":884,"stroke":884,"className":2635,"style":2576},"M-53.196-40.673Q-53.055-40.260-52.695-40.008Q-52.334-39.755-51.899-39.755Q-51.447-39.755-51.181-40.008Q-50.915-40.260-50.812-40.645Q-50.709-41.029-50.709-41.486Q-50.709-43.187-51.618-43.187Q-51.939-43.187-52.168-43.093Q-52.396-42.998-52.526-42.879Q-52.655-42.761-52.767-42.622Q-52.879-42.484-52.915-42.475L-52.998-42.475Q-53.042-42.475-53.073-42.506Q-53.104-42.537-53.104-42.585L-53.104-45.582Q-53.104-45.613-53.068-45.637Q-53.033-45.661-53.007-45.661L-52.967-45.661Q-52.334-45.371-51.662-45.371Q-50.990-45.371-50.348-45.661L-50.322-45.661Q-50.291-45.661-50.258-45.639Q-50.225-45.617-50.225-45.582L-50.225-45.481Q-50.225-45.477-50.234-45.459Q-50.243-45.441-50.243-45.437Q-50.559-45.042-51.029-44.820Q-51.500-44.598-51.996-44.598Q-52.405-44.598-52.787-44.708L-52.787-42.989Q-52.330-43.446-51.618-43.446Q-51.108-43.446-50.709-43.165Q-50.309-42.884-50.087-42.429Q-49.865-41.974-49.865-41.469Q-49.865-40.919-50.144-40.460Q-50.423-40.001-50.889-39.735Q-51.355-39.469-51.899-39.469Q-52.339-39.469-52.723-39.696Q-53.108-39.922-53.336-40.302Q-53.565-40.682-53.565-41.126Q-53.565-41.319-53.433-41.451Q-53.301-41.583-53.104-41.583Q-52.972-41.583-52.868-41.524Q-52.765-41.464-52.706-41.361Q-52.647-41.258-52.647-41.126Q-52.647-40.928-52.774-40.796Q-52.901-40.665-53.104-40.665Q-53.165-40.665-53.196-40.673",[912],[887,2637],{"fill":902,"d":2638},"M105.313-28.286h22.762v-22.762h-22.762Z",[882,2640,2642],{"transform":2641},"translate(168.404 2.9)",[887,2643],{"d":2644,"fill":884,"stroke":884,"className":2645,"style":2576},"M-51.710-39.469Q-52.444-39.469-52.875-39.950Q-53.306-40.432-53.470-41.124Q-53.635-41.816-53.635-42.563Q-53.635-43.292-53.343-44.015Q-53.051-44.738-52.497-45.200Q-51.943-45.661-51.196-45.661Q-50.700-45.661-50.364-45.395Q-50.027-45.129-50.027-44.646Q-50.027-44.466-50.155-44.338Q-50.282-44.211-50.458-44.211Q-50.638-44.211-50.768-44.336Q-50.897-44.461-50.897-44.646Q-50.897-44.760-50.840-44.864Q-50.783-44.967-50.682-45.026Q-50.581-45.085-50.458-45.085Q-50.454-45.085-50.449-45.083Q-50.445-45.081-50.440-45.077Q-50.555-45.244-50.763-45.323Q-50.972-45.402-51.196-45.402Q-51.640-45.402-51.998-45.101Q-52.356-44.800-52.545-44.347Q-52.778-43.741-52.778-42.708Q-52.607-43.073-52.306-43.301Q-52.005-43.530-51.618-43.530Q-51.214-43.530-50.869-43.363Q-50.524-43.196-50.287-42.915Q-50.049-42.633-49.920-42.271Q-49.790-41.908-49.790-41.504Q-49.790-40.959-50.034-40.493Q-50.278-40.027-50.717-39.748Q-51.157-39.469-51.710-39.469M-51.710-39.755Q-51.249-39.755-51.014-40.012Q-50.779-40.269-50.713-40.643Q-50.647-41.016-50.647-41.486L-50.647-41.521Q-50.647-42.009-50.704-42.374Q-50.761-42.739-50.990-43.002Q-51.218-43.266-51.662-43.266Q-52.031-43.266-52.282-43.022Q-52.532-42.778-52.647-42.414Q-52.761-42.049-52.761-41.702Q-52.761-41.583-52.752-41.521Q-52.752-41.504-52.754-41.493Q-52.756-41.482-52.761-41.469Q-52.761-40.818-52.523-40.287Q-52.286-39.755-51.710-39.755",[912],[882,2647,2648,2651],{"fill":889},[887,2649],{"d":2650},"M133.766-28.286h22.762v-22.762h-22.762Z",[882,2652,2654],{"transform":2653},"translate(196.857 2.9)",[887,2655],{"d":2656,"fill":884,"stroke":884,"className":2657,"style":2576},"M-51.324-41.144L-53.763-41.144L-53.763-41.460L-50.937-45.608Q-50.893-45.661-50.827-45.661L-50.673-45.661Q-50.634-45.661-50.601-45.628Q-50.568-45.595-50.568-45.551L-50.568-41.460L-49.667-41.460L-49.667-41.144L-50.568-41.144L-50.568-40.278Q-50.568-39.983-49.667-39.983L-49.667-39.667L-52.220-39.667L-52.220-39.983Q-51.860-39.983-51.592-40.038Q-51.324-40.093-51.324-40.278L-51.324-41.144M-51.267-44.633L-53.429-41.460L-51.267-41.460",[912],[882,2659,2660,2663],{"fill":893,"stroke":893},[887,2661],{"fill":902,"d":2662},"M-65.403-57.307h79.667",[882,2664,2665,2673],{"fill":893,"stroke":902,"fontSize":2388},[882,2666,2668],{"transform":2667},"translate(21.922 -24.472)",[887,2669],{"d":2670,"fill":893,"stroke":893,"className":2671,"style":2672},"M-48.693-38.358L-53.106-38.358Q-53.174-38.368-53.220-38.414Q-53.267-38.460-53.267-38.532Q-53.267-38.676-53.106-38.700L-48.693-38.700Q-48.533-38.676-48.533-38.532Q-48.533-38.460-48.579-38.414Q-48.625-38.368-48.693-38.358M-48.786-39.920L-53.174-42.032Q-53.267-42.066-53.267-42.179Q-53.267-42.289-53.174-42.333L-48.786-44.442Q-48.755-44.462-48.704-44.462Q-48.635-44.462-48.584-44.411Q-48.533-44.360-48.533-44.295Q-48.533-44.189-48.618-44.141L-52.699-42.179L-48.618-40.221Q-48.533-40.173-48.533-40.074Q-48.533-40.002-48.584-39.951Q-48.635-39.899-48.704-39.899Q-48.755-39.899-48.786-39.920",[912],"stroke-width:0.210",[882,2674,2675],{"transform":2667},[887,2676],{"d":2677,"fill":893,"stroke":893,"className":2678,"style":2672},"M-44.761-39.927Q-44.618-39.821-44.389-39.821Q-44.163-39.821-43.989-40.017Q-43.814-40.214-43.760-40.443L-43.445-41.704Q-43.373-41.971-43.373-42.104Q-43.373-42.295-43.485-42.413Q-43.596-42.531-43.787-42.531Q-44.016-42.531-44.214-42.407Q-44.413-42.282-44.554-42.078Q-44.696-41.875-44.754-41.656Q-44.765-41.591-44.823-41.591L-44.935-41.591Q-44.966-41.591-44.990-41.622Q-45.014-41.653-45.014-41.677L-45.014-41.704Q-44.901-42.131-44.548-42.442Q-44.194-42.753-43.773-42.753Q-43.602-42.753-43.438-42.700Q-43.274-42.647-43.141-42.543Q-43.008-42.439-42.933-42.285Q-42.792-42.490-42.591-42.622Q-42.389-42.753-42.170-42.753Q-41.880-42.753-41.651-42.618Q-41.422-42.483-41.422-42.213Q-41.422-42.094-41.475-41.990Q-41.528-41.885-41.625-41.822Q-41.723-41.759-41.842-41.759Q-41.958-41.759-42.040-41.832Q-42.122-41.906-42.122-42.025Q-42.122-42.166-42.032-42.280Q-41.941-42.395-41.808-42.425Q-41.962-42.531-42.184-42.531Q-42.338-42.531-42.468-42.437Q-42.598-42.343-42.686-42.207Q-42.775-42.070-42.823-41.906L-43.138-40.648Q-43.199-40.364-43.199-40.248Q-43.199-40.057-43.088-39.939Q-42.977-39.821-42.786-39.821Q-42.611-39.821-42.452-39.896Q-42.293-39.971-42.163-40.101Q-42.034-40.231-41.945-40.388Q-41.856-40.545-41.822-40.696Q-41.798-40.757-41.743-40.757L-41.634-40.757Q-41.600-40.757-41.577-40.732Q-41.555-40.706-41.555-40.675Q-41.555-40.662-41.562-40.648Q-41.630-40.368-41.815-40.128Q-41.999-39.889-42.259-39.744Q-42.519-39.599-42.803-39.599Q-43.069-39.599-43.298-39.718Q-43.527-39.838-43.640-40.067Q-43.770-39.869-43.973-39.734Q-44.177-39.599-44.406-39.599Q-44.686-39.599-44.917-39.734Q-45.147-39.869-45.147-40.135Q-45.147-40.316-45.026-40.453Q-44.905-40.590-44.727-40.590Q-44.607-40.590-44.527-40.518Q-44.447-40.446-44.447-40.327Q-44.447-40.187-44.534-40.072Q-44.621-39.958-44.761-39.927",[912],[882,2680,2682,2685],{"fill":2681,"stroke":2681},"var(--tk-line)",[887,2683],{"fill":902,"d":2684},"M19.955-57.307H71.17",[882,2686,2688,2695],{"fill":2681,"stroke":902,"fontFamily":2687,"fontSize":2388},"cmmi7",[882,2689,2691],{"transform":2690},"translate(93.054 -23.703)",[887,2692],{"d":2693,"fill":2681,"stroke":2681,"className":2694,"style":2672},"M-53.267-39.305Q-53.267-39.414-53.174-39.452L-49.100-41.417L-53.174-43.375Q-53.267-43.413-53.267-43.522Q-53.267-43.594-53.217-43.647Q-53.168-43.700-53.092-43.700Q-53.089-43.700-53.007-43.680L-48.618-41.564Q-48.533-41.516-48.533-41.417Q-48.533-41.311-48.618-41.263L-53.007-39.147Q-53.034-39.141-53.055-39.134Q-53.075-39.127-53.092-39.127Q-53.168-39.127-53.217-39.183Q-53.267-39.240-53.267-39.305",[912],[882,2696,2697],{"transform":2690},[887,2698],{"d":2677,"fill":2681,"stroke":2681,"className":2699,"style":2672},[912],[882,2701,2702,2705],{"fill":2681,"stroke":2681},[887,2703],{"fill":902,"d":2704},"M76.86-57.307h51.215",[882,2706,2708],{"transform":2707},"translate(135.59 -23.174)",[887,2709],{"d":2710,"fill":2681,"stroke":2681,"className":2711,"style":2672},"M-53.133-40.501L-53.133-42.005Q-53.133-42.275-53.241-42.336Q-53.349-42.398-53.660-42.398L-53.660-42.678L-52.552-42.753L-52.552-40.521L-52.552-40.501Q-52.552-40.221-52.501-40.077Q-52.450-39.934-52.308-39.877Q-52.166-39.821-51.879-39.821Q-51.626-39.821-51.421-39.961Q-51.216-40.101-51.100-40.327Q-50.983-40.552-50.983-40.802L-50.983-42.005Q-50.983-42.275-51.091-42.336Q-51.199-42.398-51.510-42.398L-51.510-42.678L-50.402-42.753L-50.402-40.340Q-50.402-40.149-50.349-40.067Q-50.296-39.985-50.196-39.966Q-50.095-39.947-49.879-39.947L-49.879-39.667L-50.956-39.599L-50.956-40.163Q-51.065-39.981-51.211-39.858Q-51.356-39.735-51.542-39.667Q-51.729-39.599-51.930-39.599Q-53.133-39.599-53.133-40.501M-47.610-39.667L-49.244-39.667L-49.244-39.947Q-49.015-39.947-48.866-39.981Q-48.717-40.016-48.717-40.156L-48.717-42.005Q-48.717-42.275-48.825-42.336Q-48.933-42.398-49.244-42.398L-49.244-42.678L-48.184-42.753L-48.184-42.104Q-48.013-42.412-47.709-42.583Q-47.405-42.753-47.060-42.753Q-46.554-42.753-46.270-42.530Q-45.986-42.306-45.986-41.810L-45.986-40.156Q-45.986-40.019-45.838-39.983Q-45.689-39.947-45.463-39.947L-45.463-39.667L-47.094-39.667L-47.094-39.947Q-46.865-39.947-46.716-39.981Q-46.567-40.016-46.567-40.156L-46.567-41.796Q-46.567-42.131-46.687-42.331Q-46.807-42.531-47.121-42.531Q-47.391-42.531-47.625-42.395Q-47.859-42.258-47.998-42.024Q-48.136-41.790-48.136-41.516L-48.136-40.156Q-48.136-40.019-47.986-39.983Q-47.835-39.947-47.610-39.947L-47.610-39.667M-44.917-41.202Q-44.917-41.523-44.792-41.812Q-44.667-42.101-44.441-42.324Q-44.216-42.548-43.920-42.668Q-43.625-42.788-43.307-42.788Q-42.979-42.788-42.717-42.688Q-42.456-42.589-42.280-42.407Q-42.104-42.224-42.010-41.966Q-41.916-41.708-41.916-41.376Q-41.916-41.284-41.998-41.263L-44.253-41.263L-44.253-41.202Q-44.253-40.614-43.970-40.231Q-43.686-39.848-43.119-39.848Q-42.797-39.848-42.529-40.041Q-42.261-40.234-42.172-40.549Q-42.165-40.590-42.090-40.604L-41.998-40.604Q-41.916-40.580-41.916-40.508Q-41.916-40.501-41.922-40.474Q-42.035-40.077-42.406-39.838Q-42.777-39.599-43.201-39.599Q-43.638-39.599-44.038-39.807Q-44.438-40.016-44.677-40.383Q-44.917-40.750-44.917-41.202M-44.247-41.472L-42.432-41.472Q-42.432-41.749-42.529-42.001Q-42.626-42.254-42.825-42.410Q-43.023-42.565-43.307-42.565Q-43.584-42.565-43.797-42.407Q-44.011-42.248-44.129-41.993Q-44.247-41.738-44.247-41.472M-40.145-39.667L-41.468-39.667L-41.468-39.947Q-40.907-39.947-40.528-40.347L-39.814-41.144L-40.726-42.193Q-40.863-42.340-41.012-42.372Q-41.160-42.405-41.427-42.405L-41.427-42.685L-39.926-42.685L-39.926-42.405Q-40.118-42.405-40.118-42.271Q-40.118-42.241-40.087-42.193L-39.492-41.509L-39.051-42.005Q-38.939-42.135-38.939-42.251Q-38.939-42.313-38.976-42.359Q-39.014-42.405-39.072-42.405L-39.072-42.685L-37.756-42.685L-37.756-42.405Q-38.316-42.405-38.696-42.005L-39.318-41.304L-38.323-40.156Q-38.224-40.057-38.123-40.012Q-38.022-39.968-37.911-39.958Q-37.800-39.947-37.623-39.947L-37.623-39.667L-39.116-39.667L-39.116-39.947Q-39.051-39.947-38.991-39.981Q-38.932-40.016-38.932-40.081Q-38.932-40.128-38.962-40.156L-39.639-40.942L-40.172-40.347Q-40.285-40.217-40.285-40.101Q-40.285-40.036-40.244-39.992Q-40.203-39.947-40.145-39.947L-40.145-39.667M-37.069-40.395Q-37.069-40.727-36.845-40.954Q-36.621-41.181-36.278-41.309Q-35.934-41.438-35.562-41.490Q-35.189-41.543-34.885-41.543L-34.885-41.796Q-34.885-42.001-34.992-42.181Q-35.100-42.360-35.281-42.463Q-35.462-42.565-35.671-42.565Q-36.078-42.565-36.314-42.473Q-36.225-42.436-36.178-42.352Q-36.132-42.268-36.132-42.166Q-36.132-42.070-36.178-41.991Q-36.225-41.913-36.305-41.868Q-36.385-41.824-36.474-41.824Q-36.625-41.824-36.725-41.921Q-36.826-42.019-36.826-42.166Q-36.826-42.788-35.671-42.788Q-35.459-42.788-35.209-42.724Q-34.960-42.661-34.758-42.542Q-34.557-42.422-34.430-42.237Q-34.304-42.053-34.304-41.810L-34.304-40.234Q-34.304-40.118-34.242-40.022Q-34.181-39.927-34.068-39.927Q-33.959-39.927-33.894-40.021Q-33.829-40.115-33.829-40.234L-33.829-40.682L-33.562-40.682L-33.562-40.234Q-33.562-39.964-33.789-39.799Q-34.017-39.633-34.297-39.633Q-34.505-39.633-34.642-39.787Q-34.779-39.940-34.803-40.156Q-34.950-39.889-35.232-39.744Q-35.514-39.599-35.838-39.599Q-36.115-39.599-36.399-39.674Q-36.683-39.749-36.876-39.928Q-37.069-40.108-37.069-40.395M-36.454-40.395Q-36.454-40.221-36.353-40.091Q-36.252-39.961-36.096-39.891Q-35.941-39.821-35.777-39.821Q-35.558-39.821-35.350-39.918Q-35.141-40.016-35.013-40.197Q-34.885-40.378-34.885-40.604L-34.885-41.332Q-35.209-41.332-35.575-41.241Q-35.941-41.150-36.197-40.938Q-36.454-40.727-36.454-40.395M-31.463-39.667L-33.097-39.667L-33.097-39.947Q-32.868-39.947-32.720-39.981Q-32.571-40.016-32.571-40.156L-32.571-42.005Q-32.571-42.275-32.678-42.336Q-32.786-42.398-33.097-42.398L-33.097-42.678L-32.038-42.753L-32.038-42.104Q-31.867-42.412-31.563-42.583Q-31.258-42.753-30.913-42.753Q-30.513-42.753-30.236-42.613Q-29.959-42.473-29.874-42.125Q-29.707-42.418-29.407-42.586Q-29.108-42.753-28.763-42.753Q-28.257-42.753-27.974-42.530Q-27.690-42.306-27.690-41.810L-27.690-40.156Q-27.690-40.019-27.541-39.983Q-27.393-39.947-27.167-39.947L-27.167-39.667L-28.797-39.667L-28.797-39.947Q-28.572-39.947-28.421-39.983Q-28.271-40.019-28.271-40.156L-28.271-41.796Q-28.271-42.131-28.391-42.331Q-28.510-42.531-28.825-42.531Q-29.095-42.531-29.329-42.395Q-29.563-42.258-29.701-42.024Q-29.840-41.790-29.840-41.516L-29.840-40.156Q-29.840-40.019-29.691-39.983Q-29.543-39.947-29.317-39.947L-29.317-39.667L-30.947-39.667L-30.947-39.947Q-30.718-39.947-30.570-39.981Q-30.421-40.016-30.421-40.156L-30.421-41.796Q-30.421-42.131-30.541-42.331Q-30.660-42.531-30.975-42.531Q-31.245-42.531-31.479-42.395Q-31.713-42.258-31.851-42.024Q-31.990-41.790-31.990-41.516L-31.990-40.156Q-31.990-40.019-31.839-39.983Q-31.689-39.947-31.463-39.947L-31.463-39.667M-24.962-39.667L-26.514-39.667L-26.514-39.947Q-26.289-39.947-26.140-39.981Q-25.991-40.016-25.991-40.156L-25.991-42.005Q-25.991-42.193-26.039-42.277Q-26.087-42.360-26.184-42.379Q-26.282-42.398-26.494-42.398L-26.494-42.678L-25.438-42.753L-25.438-40.156Q-25.438-40.016-25.306-39.981Q-25.174-39.947-24.962-39.947L-24.962-39.667M-26.234-43.974Q-26.234-44.145-26.111-44.264Q-25.988-44.384-25.817-44.384Q-25.649-44.384-25.526-44.264Q-25.403-44.145-25.403-43.974Q-25.403-43.799-25.526-43.676Q-25.649-43.553-25.817-43.553Q-25.988-43.553-26.111-43.676Q-26.234-43.799-26.234-43.974M-22.635-39.667L-24.269-39.667L-24.269-39.947Q-24.040-39.947-23.891-39.981Q-23.742-40.016-23.742-40.156L-23.742-42.005Q-23.742-42.275-23.850-42.336Q-23.958-42.398-24.269-42.398L-24.269-42.678L-23.209-42.753L-23.209-42.104Q-23.038-42.412-22.734-42.583Q-22.430-42.753-22.084-42.753Q-21.579-42.753-21.295-42.530Q-21.011-42.306-21.011-41.810L-21.011-40.156Q-21.011-40.019-20.863-39.983Q-20.714-39.947-20.488-39.947L-20.488-39.667L-22.119-39.667L-22.119-39.947Q-21.890-39.947-21.741-39.981Q-21.592-40.016-21.592-40.156L-21.592-41.796Q-21.592-42.131-21.712-42.331Q-21.832-42.531-22.146-42.531Q-22.416-42.531-22.650-42.395Q-22.884-42.258-23.023-42.024Q-23.161-41.790-23.161-41.516L-23.161-40.156Q-23.161-40.019-23.011-39.983Q-22.860-39.947-22.635-39.947L-22.635-39.667M-19.941-41.202Q-19.941-41.523-19.817-41.812Q-19.692-42.101-19.466-42.324Q-19.241-42.548-18.945-42.668Q-18.649-42.788-18.332-42.788Q-18.003-42.788-17.742-42.688Q-17.480-42.589-17.304-42.407Q-17.128-42.224-17.034-41.966Q-16.940-41.708-16.940-41.376Q-16.940-41.284-17.022-41.263L-19.278-41.263L-19.278-41.202Q-19.278-40.614-18.995-40.231Q-18.711-39.848-18.144-39.848Q-17.822-39.848-17.554-40.041Q-17.286-40.234-17.197-40.549Q-17.190-40.590-17.115-40.604L-17.022-40.604Q-16.940-40.580-16.940-40.508Q-16.940-40.501-16.947-40.474Q-17.060-40.077-17.431-39.838Q-17.802-39.599-18.226-39.599Q-18.663-39.599-19.063-39.807Q-19.463-40.016-19.702-40.383Q-19.941-40.750-19.941-41.202M-19.272-41.472L-17.457-41.472Q-17.457-41.749-17.554-42.001Q-17.651-42.254-17.850-42.410Q-18.048-42.565-18.332-42.565Q-18.608-42.565-18.822-42.407Q-19.036-42.248-19.154-41.993Q-19.272-41.738-19.272-41.472M-16.353-41.178Q-16.353-41.516-16.212-41.807Q-16.072-42.097-15.828-42.311Q-15.584-42.524-15.279-42.639Q-14.975-42.753-14.650-42.753Q-14.380-42.753-14.117-42.654Q-13.854-42.555-13.663-42.377L-13.663-43.775Q-13.663-44.045-13.770-44.107Q-13.878-44.168-14.189-44.168L-14.189-44.449L-13.112-44.524L-13.112-40.340Q-13.112-40.152-13.058-40.069Q-13.003-39.985-12.902-39.966Q-12.801-39.947-12.586-39.947L-12.586-39.667L-13.693-39.599L-13.693-40.016Q-14.110-39.599-14.736-39.599Q-15.167-39.599-15.539-39.811Q-15.912-40.022-16.132-40.383Q-16.353-40.744-16.353-41.178M-14.678-39.821Q-14.469-39.821-14.283-39.893Q-14.097-39.964-13.943-40.101Q-13.789-40.238-13.693-40.416L-13.693-42.025Q-13.779-42.172-13.924-42.292Q-14.069-42.412-14.239-42.471Q-14.408-42.531-14.589-42.531Q-15.149-42.531-15.418-42.142Q-15.686-41.752-15.686-41.171Q-15.686-40.600-15.452-40.210Q-15.218-39.821-14.678-39.821",[912],[882,2713,2714],{"fill":893,"stroke":893},[882,2715,2717],{"transform":2716},"translate(55.49 29.346)",[887,2718],{"d":2719,"fill":893,"stroke":893,"className":2720,"style":2672},"M-53.253-40.193Q-53.253-40.340-53.202-40.443L-52.614-41.957Q-52.539-42.159-52.539-42.299Q-52.539-42.531-52.699-42.531Q-52.980-42.531-53.169-42.260Q-53.359-41.988-53.448-41.656Q-53.458-41.591-53.520-41.591L-53.629-41.591Q-53.660-41.591-53.684-41.622Q-53.708-41.653-53.708-41.677L-53.708-41.704Q-53.639-41.964-53.499-42.201Q-53.359-42.439-53.149-42.596Q-52.939-42.753-52.686-42.753Q-52.504-42.753-52.351-42.682Q-52.197-42.610-52.101-42.473Q-52.005-42.336-52.005-42.159Q-52.005-42.012-52.057-41.906L-52.645-40.395Q-52.720-40.228-52.720-40.053Q-52.720-39.821-52.559-39.821Q-52.282-39.821-52.089-40.098Q-51.896-40.375-51.817-40.696Q-51.793-40.757-51.739-40.757L-51.629-40.757Q-51.595-40.757-51.573-40.732Q-51.551-40.706-51.551-40.675Q-51.551-40.662-51.558-40.648Q-51.619-40.398-51.759-40.157Q-51.899-39.917-52.110-39.758Q-52.320-39.599-52.573-39.599Q-52.850-39.599-53.051-39.761Q-53.253-39.923-53.253-40.193M-52.439-43.909Q-52.439-44.063-52.311-44.186Q-52.183-44.309-52.026-44.309Q-51.913-44.309-51.829-44.228Q-51.746-44.148-51.746-44.028Q-51.746-43.871-51.874-43.750Q-52.002-43.628-52.159-43.628Q-52.272-43.628-52.356-43.709Q-52.439-43.789-52.439-43.909",[912],[882,2722,2723,2726],{"fill":893,"stroke":893},[887,2724],{"fill":902,"d":2725},"M2.883-19.75v-4.408",[887,2727],{"d":2728,"style":2729},"m2.883-26.663-1.35 3.584 1.35-1.179 1.351 1.18Z","stroke-linejoin:round",[882,2731,2733],{"transform":2732},"translate(140.407 28.665)",[887,2734],{"d":2735,"fill":884,"stroke":884,"className":2736,"style":2672},"M-54.015-38.686Q-54.015-38.864-53.894-38.992Q-53.772-39.120-53.602-39.120Q-53.479-39.120-53.397-39.047Q-53.314-38.973-53.314-38.854Q-53.314-38.748-53.379-38.643Q-53.444-38.539-53.540-38.491Q-53.444-38.464-53.321-38.464Q-53.010-38.464-52.768-38.732Q-52.525-39-52.446-39.325L-51.790-41.957Q-51.752-42.094-51.752-42.200Q-51.752-42.330-51.805-42.430Q-51.858-42.531-51.985-42.531Q-52.286-42.531-52.539-42.266Q-52.792-42.001-52.932-41.670Q-52.959-41.591-53.007-41.591L-53.120-41.591Q-53.147-41.591-53.171-41.622Q-53.195-41.653-53.195-41.677L-53.195-41.704Q-53.021-42.131-52.701-42.442Q-52.381-42.753-51.971-42.753Q-51.776-42.753-51.599-42.677Q-51.421-42.600-51.312-42.451Q-51.202-42.302-51.202-42.097Q-51.202-42.036-51.230-41.906L-51.886-39.274Q-51.961-38.977-52.185-38.737Q-52.409-38.498-52.713-38.368Q-53.017-38.238-53.328-38.238Q-53.584-38.238-53.800-38.346Q-54.015-38.454-54.015-38.686M-51.643-43.909Q-51.643-44.066-51.515-44.187Q-51.387-44.309-51.230-44.309Q-51.117-44.309-51.033-44.228Q-50.949-44.148-50.949-44.028Q-50.949-43.875-51.077-43.751Q-51.206-43.628-51.363-43.628Q-51.476-43.628-51.559-43.709Q-51.643-43.789-51.643-43.909",[912],[887,2738],{"fill":902,"d":2739},"M88.241-19.75v-4.408",[887,2741],{"d":2742,"style":2729},"m88.241-26.663-1.35 3.584 1.35-1.179 1.351 1.18Z",[882,2744,2746],{"transform":2745},"translate(190.36 28.648)",[887,2747],{"d":2748,"fill":884,"stroke":884,"className":2749,"style":2672},"M-52.286-38.310L-53.673-38.310Q-53.708-38.310-53.731-38.346Q-53.755-38.382-53.755-38.413L-53.728-38.525Q-53.701-38.584-53.649-38.590Q-53.424-38.590-53.344-38.628Q-53.263-38.666-53.215-38.833L-52.439-41.957Q-52.405-42.094-52.405-42.213Q-52.405-42.343-52.451-42.437Q-52.498-42.531-52.614-42.531Q-52.720-42.531-52.800-42.439Q-52.880-42.347-52.940-42.201Q-53-42.056-53.041-41.901Q-53.082-41.745-53.106-41.656Q-53.116-41.591-53.174-41.591L-53.342-41.591Q-53.373-41.591-53.397-41.622Q-53.420-41.653-53.420-41.677L-53.420-41.704Q-53.301-42.152-53.120-42.453Q-52.939-42.753-52.600-42.753Q-52.364-42.753-52.169-42.634Q-51.975-42.514-51.910-42.292Q-51.462-42.753-50.963-42.753Q-50.655-42.753-50.423-42.594Q-50.190-42.436-50.069-42.172Q-49.948-41.909-49.948-41.605Q-49.948-41.144-50.189-40.675Q-50.430-40.207-50.838-39.903Q-51.247-39.599-51.711-39.599Q-51.920-39.599-52.096-39.694Q-52.272-39.790-52.392-39.968L-52.686-38.785Q-52.706-38.724-52.706-38.659Q-52.706-38.590-52.265-38.590Q-52.180-38.563-52.180-38.478L-52.210-38.365Q-52.238-38.317-52.286-38.310M-51.698-39.821Q-51.335-39.821-51.064-40.187Q-50.792-40.552-50.650-41.046Q-50.508-41.540-50.508-41.892Q-50.508-42.148-50.625-42.340Q-50.741-42.531-50.977-42.531Q-51.257-42.531-51.503-42.319Q-51.749-42.107-51.930-41.817L-52.258-40.494Q-52.228-40.231-52.086-40.026Q-51.944-39.821-51.698-39.821M-48.751-40.193Q-48.751-40.316-48.700-40.443L-48.112-41.957Q-48.037-42.159-48.037-42.313Q-48.037-42.531-48.198-42.531Q-48.454-42.531-48.620-42.266Q-48.786-42.001-48.885-41.656Q-48.895-41.591-48.953-41.591L-49.121-41.591Q-49.151-41.591-49.175-41.622Q-49.199-41.653-49.199-41.677L-49.199-41.704Q-49.131-41.964-48.991-42.201Q-48.851-42.439-48.640-42.596Q-48.430-42.753-48.177-42.753Q-47.914-42.753-47.723-42.589Q-47.531-42.425-47.531-42.159Q-47.531-42.053-47.583-41.906L-48.170-40.395Q-48.246-40.190-48.246-40.040Q-48.246-39.821-48.092-39.821Q-47.825-39.821-47.656-40.094Q-47.487-40.368-47.408-40.696Q-47.377-40.757-47.330-40.757L-47.162-40.757Q-47.128-40.757-47.106-40.728Q-47.084-40.699-47.084-40.675Q-47.084-40.662-47.090-40.648Q-47.152-40.398-47.294-40.156Q-47.436-39.913-47.644-39.756Q-47.853-39.599-48.105-39.599Q-48.376-39.599-48.564-39.763Q-48.751-39.927-48.751-40.193M-47.911-43.916Q-47.911-44.056-47.801-44.165Q-47.692-44.274-47.548-44.274Q-47.439-44.274-47.364-44.203Q-47.289-44.131-47.289-44.021Q-47.289-43.878-47.403-43.770Q-47.518-43.663-47.658-43.663Q-47.764-43.663-47.837-43.733Q-47.911-43.803-47.911-43.916M-45.956-40.494Q-45.956-40.805-45.856-41.101Q-45.757-41.396-45.535-41.957Q-45.460-42.159-45.460-42.313Q-45.460-42.531-45.614-42.531Q-45.877-42.531-46.043-42.266Q-46.209-42.001-46.308-41.656Q-46.318-41.591-46.376-41.591L-46.543-41.591Q-46.574-41.591-46.598-41.622Q-46.622-41.653-46.622-41.677L-46.622-41.704Q-46.554-41.964-46.414-42.201Q-46.273-42.439-46.063-42.596Q-45.853-42.753-45.600-42.753Q-45.337-42.753-45.146-42.589Q-44.954-42.425-44.954-42.159Q-44.954-42.025-45.005-41.906Q-45.087-41.694-45.197-41.407Q-45.306-41.120-45.369-40.875Q-45.433-40.631-45.433-40.409Q-45.433-40.139-45.298-39.980Q-45.163-39.821-44.899-39.821Q-44.595-39.821-44.329-40.156Q-44.062-40.491-43.903-40.945Q-43.744-41.400-43.744-41.677Q-43.744-41.865-43.799-41.969Q-43.854-42.073-43.946-42.195Q-44.038-42.316-44.038-42.391Q-44.038-42.531-43.920-42.646Q-43.802-42.760-43.662-42.760Q-43.484-42.760-43.401-42.588Q-43.317-42.415-43.317-42.213Q-43.317-41.776-43.519-41.147Q-43.720-40.518-44.086-40.058Q-44.452-39.599-44.913-39.599Q-45.217-39.599-45.450-39.691Q-45.682-39.783-45.819-39.985Q-45.956-40.187-45.956-40.494M-42.521-40.802Q-42.521-41.164-42.360-41.516Q-42.199-41.868-41.914-42.154Q-41.628-42.439-41.278-42.596Q-40.928-42.753-40.559-42.753Q-40.213-42.753-39.938-42.600Q-39.663-42.446-39.506-42.169Q-39.349-41.892-39.349-41.550Q-39.349-41.058-39.632-40.605Q-39.916-40.152-40.374-39.875Q-40.832-39.599-41.311-39.599Q-41.830-39.599-42.175-39.940Q-42.521-40.282-42.521-40.802M-41.293-39.821Q-40.976-39.821-40.718-40.012Q-40.459-40.204-40.285-40.510Q-40.111-40.815-40.020-41.157Q-39.930-41.499-39.930-41.796Q-39.930-42.111-40.099-42.321Q-40.268-42.531-40.576-42.531Q-40.900-42.531-41.158-42.338Q-41.417-42.145-41.593-41.837Q-41.769-41.530-41.857-41.185Q-41.946-40.839-41.946-40.556Q-41.946-40.245-41.772-40.033Q-41.598-39.821-41.293-39.821M-38.214-40.255Q-38.214-40.351-38.193-40.443L-37.705-42.405L-38.446-42.405Q-38.535-42.429-38.535-42.518L-38.508-42.627Q-38.491-42.671-38.426-42.685L-37.633-42.685L-37.353-43.796Q-37.325-43.905-37.236-43.974Q-37.147-44.042-37.038-44.042Q-36.946-44.042-36.877-43.982Q-36.809-43.922-36.809-43.827Q-36.809-43.803-36.811-43.791Q-36.813-43.779-36.816-43.762L-37.089-42.685L-36.344-42.685Q-36.262-42.658-36.262-42.579L-36.290-42.466Q-36.296-42.422-36.368-42.405L-37.158-42.405L-37.660-40.395Q-37.691-40.241-37.691-40.135Q-37.691-39.821-37.479-39.821Q-37.178-39.821-36.944-40.099Q-36.710-40.378-36.584-40.716Q-36.556-40.757-36.515-40.757L-36.344-40.757Q-36.310-40.757-36.290-40.732Q-36.269-40.706-36.269-40.675Q-36.269-40.662-36.276-40.648Q-36.440-40.221-36.761-39.910Q-37.083-39.599-37.493-39.599Q-37.793-39.599-38.004-39.782Q-38.214-39.964-38.214-40.255",[912],[1086,2751,2753,2754,2856,2857,2890,2891,2918,2919,2934,2935,2962,2963,2996],{"className":2752},[1089],"Lomuto sweep on ",[394,2755,2757],{"className":2756},[397],[394,2758,2760,2778],{"className":2759,"ariaHidden":402},[401],[394,2761,2763,2766,2769,2772,2775],{"className":2762},[406],[394,2764],{"className":2765,"style":765},[410],[394,2767,470],{"className":2768},[420,469],[394,2770],{"className":2771,"style":1350},[634],[394,2773,1597],{"className":2774},[559],[394,2776],{"className":2777,"style":1350},[634],[394,2779,2781,2784,2787,2790,2793,2796,2799,2802,2805,2808,2811,2814,2817,2820,2823,2826,2829,2832,2835,2838,2841,2844,2847,2850,2853],{"className":2780},[406],[394,2782],{"className":2783,"style":465},[410],[394,2785,2363],{"className":2786},[474],[394,2788,1259],{"className":2789},[420],[394,2791,2371],{"className":2792},[2370],[394,2794],{"className":2795,"style":2375},[634],[394,2797,949],{"className":2798},[420],[394,2800,2371],{"className":2801},[2370],[394,2803],{"className":2804,"style":2375},[634],[394,2806,2388],{"className":2807},[420],[394,2809,2371],{"className":2810},[2370],[394,2812],{"className":2813,"style":2375},[634],[394,2815,444],{"className":2816},[420],[394,2818,2371],{"className":2819},[2370],[394,2821],{"className":2822,"style":2375},[634],[394,2824,2407],{"className":2825},[420],[394,2827,2371],{"className":2828},[2370],[394,2830],{"className":2831,"style":2375},[634],[394,2833,2417],{"className":2834},[420],[394,2836,2371],{"className":2837},[2370],[394,2839],{"className":2840,"style":2375},[634],[394,2842,2427],{"className":2843},[420],[394,2845,2371],{"className":2846},[2370],[394,2848],{"className":2849,"style":2375},[634],[394,2851,2437],{"className":2852},[420],[394,2854,2441],{"className":2855},[491]," at ",[394,2858,2860],{"className":2859},[397],[394,2861,2863,2881],{"className":2862,"ariaHidden":402},[401],[394,2864,2866,2869,2872,2875,2878],{"className":2865},[406],[394,2867],{"className":2868,"style":1193},[410],[394,2870,1198],{"className":2871,"style":1197},[420,469],[394,2873],{"className":2874,"style":1350},[634],[394,2876,1597],{"className":2877},[559],[394,2879],{"className":2880,"style":1350},[634],[394,2882,2884,2887],{"className":2883},[406],[394,2885],{"className":2886,"style":1519},[410],[394,2888,2417],{"className":2889},[420],": the ",[394,2892,2894],{"className":2893},[397],[394,2895,2897,2909],{"className":2896,"ariaHidden":402},[401],[394,2898,2900,2903,2906],{"className":2899},[406],[394,2901],{"className":2902,"style":555},[410],[394,2904,560],{"className":2905},[559],[394,2907],{"className":2908,"style":1350},[634],[394,2910,2912,2915],{"className":2911},[406],[394,2913],{"className":2914,"style":799},[410],[394,2916,803],{"className":2917},[420,469]," region (boundary ",[394,2920,2922],{"className":2921},[397],[394,2923,2925],{"className":2924,"ariaHidden":402},[401],[394,2926,2928,2931],{"className":2927},[406],[394,2929],{"className":2930,"style":1212},[410],[394,2932,1216],{"className":2933},[420,469],") precedes the ",[394,2936,2938],{"className":2937},[397],[394,2939,2941,2953],{"className":2940,"ariaHidden":402},[401],[394,2942,2944,2947,2950],{"className":2943},[406],[394,2945],{"className":2946,"style":1246},[410],[394,2948,1250],{"className":2949},[559],[394,2951],{"className":2952,"style":1350},[634],[394,2954,2956,2959],{"className":2955},[406],[394,2957],{"className":2958,"style":799},[410],[394,2960,803],{"className":2961},[420,469]," region, with pivot ",[394,2964,2966],{"className":2965},[397],[394,2967,2969,2987],{"className":2968,"ariaHidden":402},[401],[394,2970,2972,2975,2978,2981,2984],{"className":2971},[406],[394,2973],{"className":2974,"style":799},[410],[394,2976,803],{"className":2977},[420,469],[394,2979],{"className":2980,"style":1350},[634],[394,2982,1597],{"className":2983},[559],[394,2985],{"className":2986,"style":1350},[634],[394,2988,2990,2993],{"className":2989},[406],[394,2991],{"className":2992,"style":1519},[410],[394,2994,2437],{"className":2995},[420]," parked at the end.",[446,2998,3000],{"id":2999},"hoare-partition","Hoare partition",[381,3002,3003,3004,3007],{},"Hoare's original scheme uses two indices that march toward each other from the\nends, swapping out-of-place pairs as they meet. It does fewer swaps on average\nthan Lomuto and handles arrays with many duplicate keys more gracefully, at the\ncost of a subtler invariant (the returned index splits the array but is ",[431,3005,3006],{},"not","\nnecessarily the pivot's final resting place).",[381,3009,3010,3011,656,3026,3041,3042,3057,3058,3085,3086,3101,3102,3129,3130,3145],{},"The two pointers ",[394,3012,3014],{"className":3013},[397],[394,3015,3017],{"className":3016,"ariaHidden":402},[401],[394,3018,3020,3023],{"className":3019},[406],[394,3021],{"className":3022,"style":1212},[410],[394,3024,1216],{"className":3025},[420,469],[394,3027,3029],{"className":3028},[397],[394,3030,3032],{"className":3031,"ariaHidden":402},[401],[394,3033,3035,3038],{"className":3034},[406],[394,3036],{"className":3037,"style":1193},[410],[394,3039,1198],{"className":3040,"style":1197},[420,469]," start outside the array and walk inward: ",[394,3043,3045],{"className":3044},[397],[394,3046,3048],{"className":3047,"ariaHidden":402},[401],[394,3049,3051,3054],{"className":3050},[406],[394,3052],{"className":3053,"style":1212},[410],[394,3055,1216],{"className":3056},[420,469]," stops\nat the first element ",[394,3059,3061],{"className":3060},[397],[394,3062,3064,3076],{"className":3063,"ariaHidden":402},[401],[394,3065,3067,3070,3073],{"className":3066},[406],[394,3068],{"className":3069,"style":555},[410],[394,3071,577],{"className":3072},[559],[394,3074],{"className":3075,"style":1350},[634],[394,3077,3079,3082],{"className":3078},[406],[394,3080],{"className":3081,"style":799},[410],[394,3083,803],{"className":3084},[420,469]," that does not belong on the left, ",[394,3087,3089],{"className":3088},[397],[394,3090,3092],{"className":3091,"ariaHidden":402},[401],[394,3093,3095,3098],{"className":3094},[406],[394,3096],{"className":3097,"style":1193},[410],[394,3099,1198],{"className":3100,"style":1197},[420,469]," at the first\n",[394,3103,3105],{"className":3104},[397],[394,3106,3108,3120],{"className":3107,"ariaHidden":402},[401],[394,3109,3111,3114,3117],{"className":3110},[406],[394,3112],{"className":3113,"style":555},[410],[394,3115,560],{"className":3116},[559],[394,3118],{"className":3119,"style":1350},[634],[394,3121,3123,3126],{"className":3122},[406],[394,3124],{"className":3125,"style":799},[410],[394,3127,803],{"className":3128},[420,469]," that does not belong on the right, and the pair is swapped. When the\npointers cross, ",[394,3131,3133],{"className":3132},[397],[394,3134,3136],{"className":3135,"ariaHidden":402},[401],[394,3137,3139,3142],{"className":3138},[406],[394,3140],{"className":3141,"style":1193},[410],[394,3143,1198],{"className":3144,"style":1197},[420,469]," marks the boundary.",[869,3147,3149,3414],{"className":3148},[872,873],[875,3150,3154],{"xmlns":877,"width":3151,"height":3152,"viewBox":3153},"380.975","135.618","-75 -75 285.731 101.713",[882,3155,3156,3159,3165,3168,3174,3177,3183,3186,3192,3203,3226,3237,3248,3256,3264,3272,3280,3291,3362,3388],{"stroke":884,"style":885},[887,3157],{"fill":902,"d":3158},"M-32.695-27.491h22.762v-22.762h-22.762Z",[882,3160,3161],{"transform":2584},[887,3162],{"d":3163,"fill":884,"stroke":884,"className":3164,"style":2576},"M-45.860-38.872L-49.310-38.872L-49.310-39.105Q-49.310-39.118-49.279-39.149L-47.825-40.726Q-47.359-41.223-47.106-41.528Q-46.853-41.834-46.662-42.245Q-46.471-42.656-46.471-43.095Q-46.471-43.684-46.794-44.117Q-47.117-44.550-47.697-44.550Q-47.961-44.550-48.207-44.440Q-48.453-44.330-48.629-44.143Q-48.805-43.956-48.901-43.706L-48.822-43.706Q-48.620-43.706-48.477-43.570Q-48.334-43.434-48.334-43.218Q-48.334-43.012-48.477-42.873Q-48.620-42.735-48.822-42.735Q-49.024-42.735-49.167-42.878Q-49.310-43.020-49.310-43.218Q-49.310-43.680-49.073-44.053Q-48.835-44.427-48.435-44.646Q-48.036-44.866-47.587-44.866Q-47.064-44.866-46.610-44.651Q-46.155-44.435-45.882-44.036Q-45.610-43.636-45.610-43.095Q-45.610-42.700-45.781-42.346Q-45.953-41.992-46.218-41.713Q-46.484-41.434-46.935-41.049Q-47.385-40.665-47.464-40.590L-48.488-39.628L-47.671-39.628Q-47.020-39.628-46.583-39.639Q-46.146-39.650-46.115-39.672Q-46.045-39.755-45.990-39.995Q-45.935-40.234-45.895-40.502L-45.610-40.502",[912],[887,3166],{"fill":902,"d":3167},"M24.21-27.491h22.762v-22.762H24.21Z",[882,3169,3170],{"transform":2609},[887,3171],{"d":3172,"fill":884,"stroke":884,"className":3173,"style":2576},"M-45.860-38.872L-48.892-38.872L-48.892-39.188Q-47.741-39.188-47.741-39.483L-47.741-44.207Q-48.229-43.974-48.950-43.974L-48.950-44.290Q-47.820-44.290-47.258-44.866L-47.113-44.866Q-47.078-44.866-47.045-44.833Q-47.012-44.800-47.012-44.765L-47.012-39.483Q-47.012-39.188-45.860-39.188",[912],[887,3175],{"fill":902,"d":3176},"M52.663-27.491h22.762v-22.762H52.663Z",[882,3178,3179],{"transform":2621},[887,3180],{"d":3181,"fill":884,"stroke":884,"className":3182,"style":2576},"M-48.704-39.259Q-48.457-38.960-47.851-38.960Q-47.570-38.960-47.330-39.098Q-47.091-39.237-46.913-39.459Q-46.735-39.681-46.625-39.944Q-46.392-40.520-46.392-41.636Q-46.559-41.271-46.864-41.047Q-47.170-40.823-47.552-40.823Q-48.088-40.823-48.504-41.102Q-48.919-41.381-49.150-41.847Q-49.380-42.313-49.380-42.840Q-49.380-43.253-49.233-43.622Q-49.086-43.992-48.822-44.268Q-48.559-44.545-48.189-44.706Q-47.820-44.866-47.407-44.866Q-46.849-44.866-46.475-44.574Q-46.102-44.282-45.898-43.818Q-45.693-43.354-45.614-42.838Q-45.535-42.322-45.535-41.790Q-45.535-41.074-45.803-40.351Q-46.071-39.628-46.594-39.151Q-47.117-38.674-47.842-38.674Q-48.392-38.674-48.769-38.923Q-49.147-39.171-49.147-39.689Q-49.147-39.808-49.090-39.911Q-49.033-40.015-48.932-40.074Q-48.831-40.133-48.704-40.133Q-48.519-40.133-48.396-40.001Q-48.273-39.870-48.273-39.689Q-48.273-39.514-48.400-39.386Q-48.528-39.259-48.704-39.259M-47.508-41.087Q-47.139-41.087-46.891-41.329Q-46.642-41.570-46.526-41.928Q-46.410-42.287-46.410-42.660Q-46.410-42.770-46.418-42.823Q-46.414-42.836-46.412-42.847Q-46.410-42.858-46.410-42.875Q-46.410-43.530-46.625-44.069Q-46.840-44.607-47.407-44.607Q-47.767-44.607-47.996-44.457Q-48.225-44.308-48.341-44.051Q-48.457-43.794-48.490-43.513Q-48.523-43.231-48.523-42.858L-48.523-42.823Q-48.523-42.497-48.497-42.210Q-48.471-41.922-48.372-41.663Q-48.273-41.403-48.062-41.245Q-47.851-41.087-47.508-41.087",[912],[887,3184],{"fill":902,"d":3185},"M109.569-27.491h22.762v-22.762h-22.762Z",[882,3187,3188],{"transform":2641},[887,3189],{"d":3190,"fill":884,"stroke":884,"className":3191,"style":2576},"M-48.145-39.114Q-48.145-39.751-47.989-40.397Q-47.833-41.043-47.541-41.649Q-47.249-42.256-46.840-42.805L-46.023-43.913L-47.051-43.913Q-48.695-43.913-48.743-43.869Q-48.849-43.741-48.967-43.038L-49.253-43.038L-48.958-44.954L-48.668-44.954L-48.668-44.928Q-48.668-44.765-48.104-44.717Q-47.539-44.668-46.994-44.668L-45.276-44.668L-45.276-44.462Q-45.276-44.444-45.278-44.435Q-45.280-44.427-45.285-44.418L-46.572-42.669Q-46.823-42.317-46.970-41.891Q-47.117-41.465-47.183-41.001Q-47.249-40.538-47.262-40.127Q-47.275-39.716-47.275-39.114Q-47.275-38.934-47.401-38.804Q-47.526-38.674-47.706-38.674Q-47.825-38.674-47.928-38.731Q-48.031-38.789-48.088-38.892Q-48.145-38.995-48.145-39.114",[912],[882,3193,3194,3197],{"fill":889,"stroke":893,"style":895},[887,3195],{"d":3196},"M-61.148-27.491h22.762v-22.762h-22.762Z",[882,3198,3199],{"transform":2571},[887,3200],{"d":3201,"fill":884,"stroke":884,"className":3202,"style":2576},"M-48.941-39.878Q-48.800-39.465-48.440-39.213Q-48.080-38.960-47.644-38.960Q-47.192-38.960-46.926-39.213Q-46.660-39.465-46.557-39.850Q-46.454-40.234-46.454-40.691Q-46.454-42.392-47.363-42.392Q-47.684-42.392-47.913-42.298Q-48.141-42.203-48.271-42.084Q-48.400-41.966-48.512-41.827Q-48.624-41.689-48.660-41.680L-48.743-41.680Q-48.787-41.680-48.818-41.711Q-48.849-41.742-48.849-41.790L-48.849-44.787Q-48.849-44.818-48.813-44.842Q-48.778-44.866-48.752-44.866L-48.712-44.866Q-48.080-44.576-47.407-44.576Q-46.735-44.576-46.093-44.866L-46.067-44.866Q-46.036-44.866-46.003-44.844Q-45.970-44.822-45.970-44.787L-45.970-44.686Q-45.970-44.682-45.979-44.664Q-45.988-44.646-45.988-44.642Q-46.304-44.247-46.774-44.025Q-47.245-43.803-47.741-43.803Q-48.150-43.803-48.532-43.913L-48.532-42.194Q-48.075-42.651-47.363-42.651Q-46.853-42.651-46.454-42.370Q-46.054-42.089-45.832-41.634Q-45.610-41.179-45.610-40.674Q-45.610-40.124-45.889-39.665Q-46.168-39.206-46.634-38.940Q-47.100-38.674-47.644-38.674Q-48.084-38.674-48.468-38.901Q-48.853-39.127-49.081-39.507Q-49.310-39.887-49.310-40.331Q-49.310-40.524-49.178-40.656Q-49.046-40.788-48.849-40.788Q-48.717-40.788-48.613-40.729Q-48.510-40.669-48.451-40.566Q-48.392-40.463-48.392-40.331Q-48.392-40.133-48.519-40.001Q-48.646-39.870-48.849-39.870Q-48.910-39.870-48.941-39.878",[912],[882,3204,3205],{"fill":893,"stroke":893},[882,3206,3207,3214,3220],{"fill":893,"stroke":902,"fontSize":2388},[882,3208,3210],{"transform":3209},"translate(-12.504 -25.356)",[887,3211],{"d":3212,"fill":893,"stroke":893,"className":3213,"style":2672},"M-47.809-37.515L-49.439-37.515L-49.439-37.795Q-49.210-37.795-49.061-37.830Q-48.913-37.864-48.913-38.004L-48.913-41.350Q-48.913-41.521-49.049-41.562Q-49.186-41.603-49.439-41.603L-49.439-41.883L-48.359-41.958L-48.359-41.552Q-48.137-41.753-47.850-41.856Q-47.562-41.958-47.255-41.958Q-46.828-41.958-46.464-41.745Q-46.100-41.531-45.886-41.167Q-45.672-40.803-45.672-40.383Q-45.672-39.938-45.912-39.574Q-46.151-39.210-46.544-39.007Q-46.937-38.804-47.381-38.804Q-47.648-38.804-47.896-38.904Q-48.143-39.005-48.331-39.186L-48.331-38.004Q-48.331-37.867-48.183-37.831Q-48.034-37.795-47.809-37.795L-47.809-37.515M-48.331-41.203L-48.331-39.593Q-48.198-39.340-47.955-39.183Q-47.713-39.026-47.436-39.026Q-47.108-39.026-46.855-39.227Q-46.602-39.429-46.469-39.747Q-46.335-40.065-46.335-40.383Q-46.335-40.612-46.400-40.841Q-46.465-41.070-46.593-41.268Q-46.722-41.466-46.916-41.586Q-47.111-41.705-47.344-41.705Q-47.638-41.705-47.906-41.576Q-48.174-41.446-48.331-41.203M-43.420-38.872L-44.972-38.872L-44.972-39.152Q-44.746-39.152-44.597-39.186Q-44.449-39.221-44.449-39.361L-44.449-41.210Q-44.449-41.398-44.496-41.482Q-44.544-41.565-44.642-41.584Q-44.739-41.603-44.951-41.603L-44.951-41.883L-43.895-41.958L-43.895-39.361Q-43.895-39.221-43.763-39.186Q-43.632-39.152-43.420-39.152L-43.420-38.872M-44.691-43.179Q-44.691-43.350-44.568-43.469Q-44.445-43.589-44.274-43.589Q-44.107-43.589-43.984-43.469Q-43.861-43.350-43.861-43.179Q-43.861-43.004-43.984-42.881Q-44.107-42.758-44.274-42.758Q-44.445-42.758-44.568-42.881Q-44.691-43.004-44.691-43.179M-41.184-38.899L-42.312-41.398Q-42.384-41.545-42.514-41.577Q-42.644-41.610-42.873-41.610L-42.873-41.890L-41.359-41.890L-41.359-41.610Q-41.711-41.610-41.711-41.463Q-41.711-41.418-41.701-41.398L-40.836-39.480L-40.057-41.210Q-40.022-41.278-40.022-41.357Q-40.022-41.470-40.106-41.540Q-40.190-41.610-40.309-41.610L-40.309-41.890L-39.113-41.890L-39.113-41.610Q-39.332-41.610-39.503-41.507Q-39.674-41.405-39.763-41.210L-40.798-38.899Q-40.846-38.804-40.952-38.804L-41.031-38.804Q-41.137-38.804-41.184-38.899",[912],[882,3215,3216],{"transform":3209},[887,3217],{"d":3218,"fill":893,"stroke":893,"className":3219,"style":2672},"M-38.827-40.355Q-38.827-40.697-38.692-40.996Q-38.557-41.295-38.317-41.519Q-38.078-41.743-37.760-41.868Q-37.442-41.993-37.111-41.993Q-36.666-41.993-36.267-41.777Q-35.867-41.562-35.632-41.184Q-35.398-40.807-35.398-40.355Q-35.398-40.014-35.540-39.730Q-35.682-39.446-35.926-39.239Q-36.171-39.033-36.480-38.918Q-36.789-38.804-37.111-38.804Q-37.541-38.804-37.943-39.005Q-38.345-39.207-38.586-39.559Q-38.827-39.911-38.827-40.355M-37.111-39.053Q-36.509-39.053-36.285-39.431Q-36.061-39.809-36.061-40.441Q-36.061-41.053-36.296-41.412Q-36.530-41.770-37.111-41.770Q-38.163-41.770-38.163-40.441Q-38.163-39.809-37.938-39.431Q-37.712-39.053-37.111-39.053M-34.277-39.713L-34.277-41.610L-34.916-41.610L-34.916-41.832Q-34.599-41.832-34.381-42.042Q-34.164-42.252-34.064-42.562Q-33.963-42.871-33.963-43.179L-33.696-43.179L-33.696-41.890L-32.620-41.890L-32.620-41.610L-33.696-41.610L-33.696-39.726Q-33.696-39.450-33.592-39.251Q-33.488-39.053-33.228-39.053Q-33.071-39.053-32.965-39.157Q-32.859-39.262-32.809-39.415Q-32.760-39.569-32.760-39.726L-32.760-40.140L-32.493-40.140L-32.493-39.713Q-32.493-39.487-32.592-39.277Q-32.691-39.067-32.876-38.935Q-33.060-38.804-33.289-38.804Q-33.727-38.804-34.002-39.041Q-34.277-39.279-34.277-39.713",[912],[882,3221,3222],{"transform":3209},[887,3223],{"d":3224,"fill":893,"stroke":893,"className":3225,"style":2672},"M-28.560-39.132Q-28.417-39.026-28.188-39.026Q-27.962-39.026-27.788-39.222Q-27.613-39.419-27.559-39.648L-27.244-40.909Q-27.172-41.176-27.172-41.309Q-27.172-41.500-27.284-41.618Q-27.395-41.736-27.586-41.736Q-27.815-41.736-28.013-41.612Q-28.212-41.487-28.353-41.283Q-28.495-41.080-28.553-40.861Q-28.564-40.796-28.622-40.796L-28.734-40.796Q-28.765-40.796-28.789-40.827Q-28.813-40.858-28.813-40.882L-28.813-40.909Q-28.700-41.336-28.347-41.647Q-27.993-41.958-27.572-41.958Q-27.401-41.958-27.237-41.905Q-27.073-41.852-26.940-41.748Q-26.807-41.644-26.732-41.490Q-26.591-41.695-26.390-41.827Q-26.188-41.958-25.969-41.958Q-25.679-41.958-25.450-41.823Q-25.221-41.688-25.221-41.418Q-25.221-41.299-25.274-41.195Q-25.327-41.090-25.424-41.027Q-25.522-40.964-25.641-40.964Q-25.757-40.964-25.839-41.037Q-25.921-41.111-25.921-41.230Q-25.921-41.371-25.831-41.485Q-25.740-41.600-25.607-41.630Q-25.761-41.736-25.983-41.736Q-26.137-41.736-26.267-41.642Q-26.397-41.548-26.485-41.412Q-26.574-41.275-26.622-41.111L-26.937-39.853Q-26.998-39.569-26.998-39.453Q-26.998-39.262-26.887-39.144Q-26.776-39.026-26.585-39.026Q-26.410-39.026-26.251-39.101Q-26.092-39.176-25.962-39.306Q-25.833-39.436-25.744-39.593Q-25.655-39.750-25.621-39.901Q-25.597-39.962-25.542-39.962L-25.433-39.962Q-25.399-39.962-25.376-39.937Q-25.354-39.911-25.354-39.880Q-25.354-39.867-25.361-39.853Q-25.429-39.573-25.614-39.333Q-25.798-39.094-26.058-38.949Q-26.318-38.804-26.602-38.804Q-26.868-38.804-27.097-38.923Q-27.326-39.043-27.439-39.272Q-27.569-39.074-27.772-38.939Q-27.976-38.804-28.205-38.804Q-28.485-38.804-28.716-38.939Q-28.946-39.074-28.946-39.340Q-28.946-39.521-28.825-39.658Q-28.704-39.795-28.526-39.795Q-28.406-39.795-28.326-39.723Q-28.246-39.651-28.246-39.532Q-28.246-39.392-28.333-39.277Q-28.420-39.163-28.560-39.132",[912],[882,3227,3228,3231],{"fill":889},[887,3229],{"d":3230},"M-4.242-27.491H18.52v-22.762H-4.242Z",[882,3232,3233],{"transform":2596},[887,3234],{"d":3235,"fill":884,"stroke":884,"className":3236,"style":2576},"M-49.380-40.239Q-49.380-40.797-49.020-41.210Q-48.660-41.623-48.084-41.895L-48.453-42.128Q-48.756-42.330-48.943-42.660Q-49.130-42.990-49.130-43.346Q-49.130-44-48.624-44.433Q-48.119-44.866-47.455-44.866Q-47.056-44.866-46.671-44.706Q-46.287-44.545-46.038-44.240Q-45.790-43.934-45.790-43.517Q-45.790-42.686-46.858-42.128L-46.304-41.781Q-45.957-41.553-45.746-41.184Q-45.535-40.814-45.535-40.401Q-45.535-40.023-45.693-39.705Q-45.851-39.386-46.128-39.153Q-46.405-38.920-46.748-38.797Q-47.091-38.674-47.455-38.674Q-47.921-38.674-48.367-38.861Q-48.813-39.048-49.097-39.402Q-49.380-39.755-49.380-40.239M-48.857-40.239Q-48.857-39.694-48.438-39.327Q-48.018-38.960-47.455-38.960Q-47.126-38.960-46.801-39.092Q-46.475-39.224-46.267-39.478Q-46.058-39.733-46.058-40.076Q-46.058-40.340-46.194-40.564Q-46.330-40.788-46.563-40.942L-47.807-41.724Q-48.268-41.487-48.563-41.100Q-48.857-40.713-48.857-40.239M-48.246-42.994L-47.130-42.291Q-46.906-42.414-46.702-42.603Q-46.497-42.792-46.377-43.025Q-46.256-43.258-46.256-43.517Q-46.256-43.825-46.427-44.075Q-46.599-44.326-46.875-44.466Q-47.152-44.607-47.464-44.607Q-47.913-44.607-48.286-44.361Q-48.660-44.115-48.660-43.688Q-48.660-43.284-48.246-42.994",[912],[882,3238,3239,3242],{"fill":889},[887,3240],{"d":3241},"M81.116-27.491h22.762v-22.762H81.116Z",[882,3243,3244],{"transform":2631},[887,3245],{"d":3246,"fill":884,"stroke":884,"className":3247,"style":2576},"M-48.866-39.593L-48.910-39.593Q-48.708-39.276-48.321-39.118Q-47.934-38.960-47.508-38.960Q-46.972-38.960-46.733-39.395Q-46.493-39.830-46.493-40.410Q-46.493-40.990-46.739-41.430Q-46.985-41.869-47.517-41.869L-48.137-41.869Q-48.163-41.869-48.196-41.898Q-48.229-41.926-48.229-41.948L-48.229-42.049Q-48.229-42.080-48.200-42.104Q-48.172-42.128-48.137-42.128L-47.618-42.168Q-47.152-42.168-46.906-42.640Q-46.660-43.113-46.660-43.631Q-46.660-44.058-46.873-44.332Q-47.086-44.607-47.508-44.607Q-47.851-44.607-48.176-44.477Q-48.501-44.348-48.686-44.093L-48.660-44.093Q-48.457-44.093-48.321-43.952Q-48.185-43.811-48.185-43.614Q-48.185-43.416-48.319-43.282Q-48.453-43.148-48.651-43.148Q-48.853-43.148-48.991-43.282Q-49.130-43.416-49.130-43.614Q-49.130-44.203-48.627-44.534Q-48.123-44.866-47.508-44.866Q-47.130-44.866-46.728-44.726Q-46.326-44.585-46.058-44.306Q-45.790-44.027-45.790-43.631Q-45.790-43.082-46.144-42.645Q-46.497-42.207-47.038-42.023Q-46.647-41.944-46.302-41.720Q-45.957-41.496-45.746-41.155Q-45.535-40.814-45.535-40.419Q-45.535-40.037-45.698-39.714Q-45.860-39.391-46.152-39.155Q-46.445-38.920-46.792-38.797Q-47.139-38.674-47.508-38.674Q-47.956-38.674-48.387-38.835Q-48.818-38.995-49.099-39.322Q-49.380-39.650-49.380-40.107Q-49.380-40.322-49.233-40.465Q-49.086-40.608-48.866-40.608Q-48.655-40.608-48.510-40.463Q-48.365-40.318-48.365-40.107Q-48.365-39.896-48.512-39.744Q-48.660-39.593-48.866-39.593",[912],[882,3249,3250],{"fill":893,"stroke":893},[882,3251,3252],{"transform":2716},[887,3253],{"d":3254,"fill":893,"stroke":893,"className":3255,"style":2672},"M-48.998-39.398Q-48.998-39.545-48.947-39.648L-48.359-41.162Q-48.284-41.364-48.284-41.504Q-48.284-41.736-48.444-41.736Q-48.725-41.736-48.914-41.465Q-49.104-41.193-49.193-40.861Q-49.203-40.796-49.265-40.796L-49.374-40.796Q-49.405-40.796-49.429-40.827Q-49.453-40.858-49.453-40.882L-49.453-40.909Q-49.384-41.169-49.244-41.406Q-49.104-41.644-48.894-41.801Q-48.684-41.958-48.431-41.958Q-48.249-41.958-48.096-41.887Q-47.942-41.815-47.846-41.678Q-47.750-41.541-47.750-41.364Q-47.750-41.217-47.802-41.111L-48.390-39.600Q-48.465-39.433-48.465-39.258Q-48.465-39.026-48.304-39.026Q-48.027-39.026-47.834-39.303Q-47.641-39.580-47.562-39.901Q-47.538-39.962-47.484-39.962L-47.374-39.962Q-47.340-39.962-47.318-39.937Q-47.296-39.911-47.296-39.880Q-47.296-39.867-47.303-39.853Q-47.364-39.603-47.504-39.362Q-47.644-39.122-47.855-38.963Q-48.065-38.804-48.318-38.804Q-48.595-38.804-48.796-38.966Q-48.998-39.128-48.998-39.398M-48.184-43.114Q-48.184-43.268-48.056-43.391Q-47.928-43.514-47.771-43.514Q-47.658-43.514-47.574-43.433Q-47.491-43.353-47.491-43.233Q-47.491-43.076-47.619-42.955Q-47.747-42.833-47.904-42.833Q-48.017-42.833-48.101-42.914Q-48.184-42.994-48.184-43.114",[912],[882,3257,3258,3261],{"fill":893,"stroke":893},[887,3259],{"fill":902,"d":3260},"M7.139-18.955v-4.408",[887,3262],{"d":3263,"style":2729},"m7.139-25.869-1.351 3.585 1.35-1.179 1.351 1.179Z",[882,3265,3266],{"fill":893,"stroke":893},[882,3267,3268],{"transform":2732},[887,3269],{"d":3270,"fill":893,"stroke":893,"className":3271,"style":2672},"M-49.760-37.891Q-49.760-38.069-49.639-38.197Q-49.517-38.325-49.347-38.325Q-49.224-38.325-49.142-38.252Q-49.059-38.178-49.059-38.059Q-49.059-37.953-49.124-37.848Q-49.189-37.744-49.285-37.696Q-49.189-37.669-49.066-37.669Q-48.755-37.669-48.513-37.937Q-48.270-38.205-48.191-38.530L-47.535-41.162Q-47.497-41.299-47.497-41.405Q-47.497-41.535-47.550-41.635Q-47.603-41.736-47.730-41.736Q-48.031-41.736-48.284-41.471Q-48.537-41.206-48.677-40.875Q-48.704-40.796-48.752-40.796L-48.865-40.796Q-48.892-40.796-48.916-40.827Q-48.940-40.858-48.940-40.882L-48.940-40.909Q-48.766-41.336-48.446-41.647Q-48.126-41.958-47.716-41.958Q-47.521-41.958-47.344-41.882Q-47.166-41.805-47.057-41.656Q-46.947-41.507-46.947-41.302Q-46.947-41.241-46.975-41.111L-47.631-38.479Q-47.706-38.182-47.930-37.942Q-48.154-37.703-48.458-37.573Q-48.762-37.443-49.073-37.443Q-49.330-37.443-49.545-37.551Q-49.760-37.659-49.760-37.891M-47.388-43.114Q-47.388-43.271-47.260-43.392Q-47.132-43.514-46.975-43.514Q-46.862-43.514-46.778-43.433Q-46.694-43.353-46.694-43.233Q-46.694-43.080-46.822-42.956Q-46.951-42.833-47.108-42.833Q-47.221-42.833-47.304-42.914Q-47.388-42.994-47.388-43.114",[912],[882,3273,3274,3277],{"fill":893,"stroke":893},[887,3275],{"fill":902,"d":3276},"M92.497-18.955v-4.408",[887,3278],{"d":3279,"style":2729},"m92.497-25.869-1.35 3.585 1.35-1.179 1.35 1.179Z",[882,3281,3284,3287],{"fill":3282,"stroke":3282,"style":3283},"var(--tk-warn)","stroke-width:.8",[887,3285],{"fill":902,"d":3286},"M10.279-.615c27.723 11.2 51.355 11.2 79.078 0",[887,3288],{"d":3289,"style":3290},"m7.51-1.734 3.274 3.023-.69-1.979 1.871-.944ZM92.126-1.734l-4.456.1 1.872.944-.69 1.98Z","stroke-linejoin:round;stroke-width:.799984",[882,3292,3293],{"fill":3282,"stroke":3282},[882,3294,3295,3302,3308,3314,3320,3326,3332,3338,3344,3350,3356],{"fill":3282,"stroke":902,"fontSize":2388},[882,3296,3298],{"transform":3297},"translate(69.63 57.233)",[887,3299],{"d":3300,"fill":3282,"stroke":3282,"className":3301,"style":2672},"M-49.453-38.879L-49.453-39.942Q-49.453-39.966-49.425-39.993Q-49.398-40.020-49.374-40.020L-49.265-40.020Q-49.200-40.020-49.186-39.962Q-49.090-39.528-48.844-39.277Q-48.598-39.026-48.184-39.026Q-47.843-39.026-47.590-39.159Q-47.337-39.292-47.337-39.600Q-47.337-39.757-47.431-39.872Q-47.525-39.986-47.663-40.055Q-47.802-40.123-47.969-40.161L-48.550-40.260Q-48.906-40.328-49.179-40.549Q-49.453-40.769-49.453-41.111Q-49.453-41.360-49.341-41.535Q-49.230-41.709-49.044-41.808Q-48.858-41.907-48.642-41.950Q-48.427-41.993-48.184-41.993Q-47.771-41.993-47.491-41.811L-47.275-41.986Q-47.265-41.989-47.258-41.991Q-47.251-41.993-47.241-41.993L-47.190-41.993Q-47.163-41.993-47.139-41.969Q-47.115-41.945-47.115-41.917L-47.115-41.070Q-47.115-41.049-47.139-41.022Q-47.163-40.995-47.190-40.995L-47.303-40.995Q-47.330-40.995-47.356-41.020Q-47.381-41.046-47.381-41.070Q-47.381-41.306-47.487-41.470Q-47.593-41.634-47.776-41.716Q-47.959-41.798-48.191-41.798Q-48.519-41.798-48.776-41.695Q-49.032-41.593-49.032-41.316Q-49.032-41.121-48.849-41.012Q-48.666-40.902-48.437-40.861L-47.863-40.755Q-47.617-40.707-47.403-40.579Q-47.190-40.451-47.053-40.248Q-46.916-40.044-46.916-39.795Q-46.916-39.282-47.282-39.043Q-47.648-38.804-48.184-38.804Q-48.680-38.804-49.012-39.098L-49.278-38.824Q-49.299-38.804-49.326-38.804L-49.374-38.804Q-49.398-38.804-49.425-38.831Q-49.453-38.858-49.453-38.879M-44.900-38.899L-45.881-41.398Q-45.942-41.541-46.060-41.576Q-46.178-41.610-46.393-41.610L-46.393-41.890L-44.913-41.890L-44.913-41.610Q-45.293-41.610-45.293-41.449Q-45.293-41.439-45.279-41.398L-44.565-39.566L-43.892-41.271Q-43.922-41.343-43.922-41.371Q-43.922-41.398-43.950-41.398Q-44.011-41.545-44.129-41.577Q-44.247-41.610-44.459-41.610L-44.459-41.890L-43.061-41.890L-43.061-41.610Q-43.437-41.610-43.437-41.449Q-43.437-41.418-43.430-41.398L-42.675-39.460L-41.988-41.210Q-41.967-41.261-41.967-41.316Q-41.967-41.456-42.080-41.533Q-42.193-41.610-42.333-41.610L-42.333-41.890L-41.113-41.890L-41.113-41.610Q-41.318-41.610-41.473-41.504Q-41.629-41.398-41.701-41.210L-42.606-38.899Q-42.641-38.804-42.753-38.804L-42.822-38.804Q-42.931-38.804-42.969-38.899L-43.751-40.902L-44.538-38.899Q-44.572-38.804-44.684-38.804L-44.753-38.804Q-44.862-38.804-44.900-38.899",[912],[882,3303,3304],{"transform":3297},[887,3305],{"d":3306,"fill":3282,"stroke":3282,"className":3307,"style":2672},"M-40.733-39.600Q-40.733-39.932-40.510-40.159Q-40.286-40.386-39.942-40.514Q-39.599-40.643-39.226-40.695Q-38.854-40.748-38.549-40.748L-38.549-41.001Q-38.549-41.206-38.657-41.386Q-38.765-41.565-38.946-41.668Q-39.127-41.770-39.335-41.770Q-39.742-41.770-39.978-41.678Q-39.889-41.641-39.843-41.557Q-39.797-41.473-39.797-41.371Q-39.797-41.275-39.843-41.196Q-39.889-41.118-39.970-41.073Q-40.050-41.029-40.139-41.029Q-40.289-41.029-40.390-41.126Q-40.491-41.224-40.491-41.371Q-40.491-41.993-39.335-41.993Q-39.124-41.993-38.874-41.929Q-38.625-41.866-38.423-41.747Q-38.221-41.627-38.095-41.442Q-37.968-41.258-37.968-41.015L-37.968-39.439Q-37.968-39.323-37.907-39.227Q-37.845-39.132-37.732-39.132Q-37.623-39.132-37.558-39.226Q-37.493-39.320-37.493-39.439L-37.493-39.887L-37.227-39.887L-37.227-39.439Q-37.227-39.169-37.454-39.004Q-37.681-38.838-37.961-38.838Q-38.170-38.838-38.307-38.992Q-38.443-39.145-38.467-39.361Q-38.614-39.094-38.896-38.949Q-39.178-38.804-39.503-38.804Q-39.780-38.804-40.064-38.879Q-40.347-38.954-40.540-39.133Q-40.733-39.313-40.733-39.600M-40.118-39.600Q-40.118-39.426-40.017-39.296Q-39.917-39.166-39.761-39.096Q-39.606-39.026-39.441-39.026Q-39.223-39.026-39.014-39.123Q-38.806-39.221-38.678-39.402Q-38.549-39.583-38.549-39.809L-38.549-40.537Q-38.874-40.537-39.240-40.446Q-39.606-40.355-39.862-40.143Q-40.118-39.932-40.118-39.600M-35.166-37.515L-36.796-37.515L-36.796-37.795Q-36.567-37.795-36.418-37.830Q-36.270-37.864-36.270-38.004L-36.270-41.350Q-36.270-41.521-36.406-41.562Q-36.543-41.603-36.796-41.603L-36.796-41.883L-35.716-41.958L-35.716-41.552Q-35.494-41.753-35.207-41.856Q-34.919-41.958-34.612-41.958Q-34.185-41.958-33.821-41.745Q-33.457-41.531-33.243-41.167Q-33.029-40.803-33.029-40.383Q-33.029-39.938-33.269-39.574Q-33.508-39.210-33.901-39.007Q-34.294-38.804-34.738-38.804Q-35.005-38.804-35.253-38.904Q-35.501-39.005-35.689-39.186L-35.689-38.004Q-35.689-37.867-35.540-37.831Q-35.391-37.795-35.166-37.795L-35.166-37.515M-35.689-41.203L-35.689-39.593Q-35.555-39.340-35.313-39.183Q-35.070-39.026-34.793-39.026Q-34.465-39.026-34.212-39.227Q-33.959-39.429-33.826-39.747Q-33.692-40.065-33.692-40.383Q-33.692-40.612-33.757-40.841Q-33.822-41.070-33.950-41.268Q-34.079-41.466-34.273-41.586Q-34.468-41.705-34.701-41.705Q-34.995-41.705-35.263-41.576Q-35.531-41.446-35.689-41.203",[912],[882,3309,3310],{"transform":3297},[887,3311],{"d":3312,"fill":3282,"stroke":3282,"className":3313,"style":2672},"M-28.111-38.872L-29.526-38.872Q-29.560-38.872-29.584-38.908Q-29.608-38.944-29.608-38.985L-29.581-39.098Q-29.553-39.145-29.506-39.152Q-28.945-39.152-28.651-39.593Q-28.648-39.600-28.634-39.612Q-28.620-39.624-28.613-39.634L-25.968-43.767Q-25.910-43.862-25.800-43.862L-25.712-43.862Q-25.612-43.862-25.592-43.767L-24.966-39.286Q-24.912-39.152-24.416-39.152Q-24.331-39.125-24.331-39.046L-24.358-38.934Q-24.385-38.882-24.437-38.872L-26.255-38.872Q-26.289-38.872-26.315-38.908Q-26.341-38.944-26.341-38.985L-26.313-39.098Q-26.269-39.145-26.228-39.152Q-25.732-39.152-25.667-39.313L-25.828-40.441L-27.803-40.441L-28.378-39.545Q-28.432-39.426-28.432-39.354Q-28.432-39.152-28.091-39.152Q-28.005-39.125-28.005-39.046L-28.032-38.934Q-28.063-38.879-28.111-38.872M-26.187-42.967L-27.622-40.721L-25.872-40.721",[912],[882,3315,3316],{"transform":3297},[887,3317],{"d":3318,"fill":3282,"stroke":3282,"className":3319,"style":2672},"M-21.964-37.122L-23.040-37.122L-23.040-44.122L-21.964-44.122L-21.964-43.780L-22.699-43.780L-22.699-37.464L-21.964-37.464",[912],[882,3321,3322],{"transform":3297},[887,3323],{"d":3324,"fill":3282,"stroke":3282,"className":3325,"style":2672},"M-20.962-39.398Q-20.962-39.545-20.911-39.648L-20.323-41.162Q-20.248-41.364-20.248-41.504Q-20.248-41.736-20.408-41.736Q-20.689-41.736-20.878-41.465Q-21.068-41.193-21.157-40.861Q-21.167-40.796-21.229-40.796L-21.338-40.796Q-21.369-40.796-21.393-40.827Q-21.417-40.858-21.417-40.882L-21.417-40.909Q-21.348-41.169-21.208-41.406Q-21.068-41.644-20.858-41.801Q-20.648-41.958-20.395-41.958Q-20.213-41.958-20.060-41.887Q-19.906-41.815-19.810-41.678Q-19.714-41.541-19.714-41.364Q-19.714-41.217-19.766-41.111L-20.354-39.600Q-20.429-39.433-20.429-39.258Q-20.429-39.026-20.268-39.026Q-19.991-39.026-19.798-39.303Q-19.605-39.580-19.526-39.901Q-19.502-39.962-19.448-39.962L-19.338-39.962Q-19.304-39.962-19.282-39.937Q-19.260-39.911-19.260-39.880Q-19.260-39.867-19.267-39.853Q-19.328-39.603-19.468-39.362Q-19.608-39.122-19.819-38.963Q-20.029-38.804-20.282-38.804Q-20.559-38.804-20.760-38.966Q-20.962-39.128-20.962-39.398M-20.148-43.114Q-20.148-43.268-20.020-43.391Q-19.892-43.514-19.735-43.514Q-19.622-43.514-19.538-43.433Q-19.455-43.353-19.455-43.233Q-19.455-43.076-19.583-42.955Q-19.711-42.833-19.868-42.833Q-19.981-42.833-20.065-42.914Q-20.148-42.994-20.148-43.114",[912],[882,3327,3328],{"transform":3297},[887,3329],{"d":3330,"fill":3282,"stroke":3282,"className":3331,"style":2672},"M-17.599-37.122L-18.675-37.122L-18.675-37.464L-17.941-37.464L-17.941-43.780L-18.675-43.780L-18.675-44.122L-17.599-44.122",[912],[882,3333,3334],{"transform":3297},[887,3335],{"d":3336,"fill":3282,"stroke":3282,"className":3337,"style":2672},"M-12.163-38.858Q-12.279-39.460-12.715-39.918Q-13.151-40.376-13.753-40.530Q-13.814-40.540-13.814-40.622Q-13.814-40.694-13.753-40.714Q-13.151-40.872-12.715-41.324Q-12.279-41.777-12.163-42.379Q-12.153-42.454-12.078-42.464L-11.910-42.464Q-11.873-42.457-11.847-42.427Q-11.821-42.396-11.821-42.358Q-11.914-41.883-12.174-41.480Q-12.433-41.077-12.826-40.789L-7.928-40.789Q-8.178-40.974-8.386-41.222Q-8.595-41.470-8.735-41.758Q-8.875-42.047-8.937-42.358Q-8.937-42.451-8.844-42.464L-8.677-42.464Q-8.602-42.454-8.591-42.379Q-8.509-41.979-8.286-41.635Q-8.062-41.292-7.730-41.054Q-7.399-40.817-6.999-40.714Q-6.941-40.694-6.941-40.622Q-6.941-40.591-6.956-40.562Q-6.971-40.533-6.999-40.530Q-7.395-40.427-7.730-40.184Q-8.065-39.942-8.289-39.597Q-8.513-39.251-8.591-38.858Q-8.602-38.783-8.677-38.773L-8.844-38.773Q-8.937-38.787-8.937-38.879Q-8.841-39.347-8.580-39.754Q-8.318-40.161-7.928-40.448L-12.826-40.448Q-12.440-40.171-12.177-39.762Q-11.914-39.354-11.821-38.879Q-11.821-38.841-11.847-38.810Q-11.873-38.780-11.910-38.773L-12.078-38.773Q-12.153-38.783-12.163-38.858",[912],[882,3339,3340],{"transform":3297},[887,3341],{"d":3342,"fill":3282,"stroke":3282,"className":3343,"style":2672},"M-2.216-38.872L-3.631-38.872Q-3.665-38.872-3.689-38.908Q-3.713-38.944-3.713-38.985L-3.686-39.098Q-3.658-39.145-3.611-39.152Q-3.050-39.152-2.756-39.593Q-2.753-39.600-2.739-39.612Q-2.725-39.624-2.718-39.634L-0.073-43.767Q-0.015-43.862 0.095-43.862L0.183-43.862Q0.283-43.862 0.303-43.767L0.929-39.286Q0.983-39.152 1.479-39.152Q1.564-39.125 1.564-39.046L1.537-38.934Q1.510-38.882 1.458-38.872L-0.360-38.872Q-0.394-38.872-0.420-38.908Q-0.446-38.944-0.446-38.985L-0.418-39.098Q-0.374-39.145-0.333-39.152Q0.163-39.152 0.228-39.313L0.067-40.441L-1.908-40.441L-2.483-39.545Q-2.537-39.426-2.537-39.354Q-2.537-39.152-2.196-39.152Q-2.110-39.125-2.110-39.046L-2.137-38.934Q-2.168-38.879-2.216-38.872M-0.292-42.967L-1.727-40.721L0.023-40.721",[912],[882,3345,3346],{"transform":3297},[887,3347],{"d":3348,"fill":3282,"stroke":3282,"className":3349,"style":2672},"M3.931-37.122L2.855-37.122L2.855-44.122L3.931-44.122L3.931-43.780L3.196-43.780L3.196-37.464L3.931-37.464",[912],[882,3351,3352],{"transform":3297},[887,3353],{"d":3354,"fill":3282,"stroke":3282,"className":3355,"style":2672},"M4.172-37.891Q4.172-38.069 4.293-38.197Q4.415-38.325 4.585-38.325Q4.708-38.325 4.790-38.252Q4.873-38.178 4.873-38.059Q4.873-37.953 4.808-37.848Q4.743-37.744 4.647-37.696Q4.743-37.669 4.866-37.669Q5.177-37.669 5.419-37.937Q5.662-38.205 5.741-38.530L6.397-41.162Q6.435-41.299 6.435-41.405Q6.435-41.535 6.382-41.635Q6.329-41.736 6.202-41.736Q5.901-41.736 5.648-41.471Q5.395-41.206 5.255-40.875Q5.228-40.796 5.180-40.796L5.067-40.796Q5.040-40.796 5.016-40.827Q4.992-40.858 4.992-40.882L4.992-40.909Q5.166-41.336 5.486-41.647Q5.806-41.958 6.216-41.958Q6.411-41.958 6.588-41.882Q6.766-41.805 6.875-41.656Q6.985-41.507 6.985-41.302Q6.985-41.241 6.957-41.111L6.301-38.479Q6.226-38.182 6.002-37.942Q5.778-37.703 5.474-37.573Q5.170-37.443 4.859-37.443Q4.603-37.443 4.387-37.551Q4.172-37.659 4.172-37.891M6.544-43.114Q6.544-43.271 6.672-43.392Q6.800-43.514 6.957-43.514Q7.070-43.514 7.154-43.433Q7.238-43.353 7.238-43.233Q7.238-43.080 7.110-42.956Q6.981-42.833 6.824-42.833Q6.711-42.833 6.628-42.914Q6.544-42.994 6.544-43.114",[912],[882,3357,3358],{"transform":3297},[887,3359],{"d":3360,"fill":3282,"stroke":3282,"className":3361,"style":2672},"M9.181-37.122L8.105-37.122L8.105-37.464L8.839-37.464L8.839-43.780L8.105-43.780L8.105-44.122L9.181-44.122",[912],[882,3363,3364,3370,3376,3382],{"stroke":902,"fontSize":2388},[882,3365,3367],{"transform":3366},"translate(214.083 -6.755)",[887,3368],{"d":3254,"fill":884,"stroke":884,"className":3369,"style":2672},[912],[882,3371,3372],{"transform":3366},[887,3373],{"d":3374,"fill":884,"stroke":884,"className":3375,"style":2672},"M-43.929-38.879L-43.929-39.942Q-43.929-39.966-43.901-39.993Q-43.874-40.020-43.850-40.020L-43.741-40.020Q-43.676-40.020-43.662-39.962Q-43.566-39.528-43.320-39.277Q-43.074-39.026-42.660-39.026Q-42.319-39.026-42.066-39.159Q-41.813-39.292-41.813-39.600Q-41.813-39.757-41.907-39.872Q-42.001-39.986-42.139-40.055Q-42.278-40.123-42.445-40.161L-43.026-40.260Q-43.382-40.328-43.655-40.549Q-43.929-40.769-43.929-41.111Q-43.929-41.360-43.817-41.535Q-43.706-41.709-43.520-41.808Q-43.334-41.907-43.118-41.950Q-42.903-41.993-42.660-41.993Q-42.247-41.993-41.967-41.811L-41.751-41.986Q-41.741-41.989-41.734-41.991Q-41.727-41.993-41.717-41.993L-41.666-41.993Q-41.639-41.993-41.615-41.969Q-41.591-41.945-41.591-41.917L-41.591-41.070Q-41.591-41.049-41.615-41.022Q-41.639-40.995-41.666-40.995L-41.779-40.995Q-41.806-40.995-41.832-41.020Q-41.857-41.046-41.857-41.070Q-41.857-41.306-41.963-41.470Q-42.069-41.634-42.252-41.716Q-42.435-41.798-42.667-41.798Q-42.995-41.798-43.252-41.695Q-43.508-41.593-43.508-41.316Q-43.508-41.121-43.325-41.012Q-43.142-40.902-42.913-40.861L-42.339-40.755Q-42.093-40.707-41.879-40.579Q-41.666-40.451-41.529-40.248Q-41.392-40.044-41.392-39.795Q-41.392-39.282-41.758-39.043Q-42.124-38.804-42.660-38.804Q-43.156-38.804-43.488-39.098L-43.754-38.824Q-43.775-38.804-43.802-38.804L-43.850-38.804Q-43.874-38.804-43.901-38.831Q-43.929-38.858-43.929-38.879M-40.805-40.407Q-40.805-40.728-40.680-41.017Q-40.555-41.306-40.329-41.529Q-40.104-41.753-39.808-41.873Q-39.513-41.993-39.195-41.993Q-38.867-41.993-38.605-41.893Q-38.344-41.794-38.168-41.612Q-37.992-41.429-37.898-41.171Q-37.804-40.913-37.804-40.581Q-37.804-40.489-37.886-40.468L-40.141-40.468L-40.141-40.407Q-40.141-39.819-39.858-39.436Q-39.574-39.053-39.007-39.053Q-38.685-39.053-38.417-39.246Q-38.149-39.439-38.060-39.754Q-38.053-39.795-37.978-39.809L-37.886-39.809Q-37.804-39.785-37.804-39.713Q-37.804-39.706-37.810-39.679Q-37.923-39.282-38.294-39.043Q-38.665-38.804-39.089-38.804Q-39.526-38.804-39.926-39.012Q-40.326-39.221-40.565-39.588Q-40.805-39.955-40.805-40.407M-40.135-40.677L-38.320-40.677Q-38.320-40.954-38.417-41.206Q-38.514-41.459-38.713-41.615Q-38.911-41.770-39.195-41.770Q-39.472-41.770-39.685-41.612Q-39.899-41.453-40.017-41.198Q-40.135-40.943-40.135-40.677M-37.257-40.407Q-37.257-40.728-37.132-41.017Q-37.007-41.306-36.782-41.529Q-36.556-41.753-36.260-41.873Q-35.965-41.993-35.647-41.993Q-35.319-41.993-35.057-41.893Q-34.796-41.794-34.620-41.612Q-34.444-41.429-34.350-41.171Q-34.256-40.913-34.256-40.581Q-34.256-40.489-34.338-40.468L-36.594-40.468L-36.594-40.407Q-36.594-39.819-36.310-39.436Q-36.026-39.053-35.459-39.053Q-35.138-39.053-34.869-39.246Q-34.601-39.439-34.512-39.754Q-34.505-39.795-34.430-39.809L-34.338-39.809Q-34.256-39.785-34.256-39.713Q-34.256-39.706-34.263-39.679Q-34.375-39.282-34.746-39.043Q-35.117-38.804-35.541-38.804Q-35.978-38.804-36.378-39.012Q-36.778-39.221-37.017-39.588Q-37.257-39.955-37.257-40.407M-36.587-40.677L-34.772-40.677Q-34.772-40.954-34.869-41.206Q-34.967-41.459-35.165-41.615Q-35.363-41.770-35.647-41.770Q-35.924-41.770-36.137-41.612Q-36.351-41.453-36.469-41.198Q-36.587-40.943-36.587-40.677M-32.072-38.872L-33.654-38.872L-33.654-39.152Q-33.425-39.152-33.276-39.186Q-33.128-39.221-33.128-39.361L-33.128-42.980Q-33.128-43.250-33.235-43.312Q-33.343-43.373-33.654-43.373L-33.654-43.654L-32.574-43.729L-32.574-40.441L-31.590-41.210Q-31.385-41.347-31.385-41.497Q-31.385-41.541-31.426-41.576Q-31.467-41.610-31.511-41.610L-31.511-41.890L-30.147-41.890L-30.147-41.610Q-30.636-41.610-31.156-41.210L-31.713-40.776L-30.735-39.552Q-30.534-39.306-30.400-39.229Q-30.267-39.152-29.980-39.152L-29.980-38.872L-31.412-38.872L-31.412-39.152Q-31.224-39.152-31.224-39.265Q-31.224-39.361-31.378-39.552L-32.113-40.461L-32.595-40.082L-32.595-39.361Q-32.595-39.224-32.446-39.188Q-32.297-39.152-32.072-39.152L-32.072-38.872M-29.467-38.879L-29.467-39.942Q-29.467-39.966-29.440-39.993Q-29.412-40.020-29.389-40.020L-29.279-40.020Q-29.214-40.020-29.201-39.962Q-29.105-39.528-28.859-39.277Q-28.613-39.026-28.199-39.026Q-27.857-39.026-27.604-39.159Q-27.351-39.292-27.351-39.600Q-27.351-39.757-27.445-39.872Q-27.539-39.986-27.678-40.055Q-27.816-40.123-27.984-40.161L-28.565-40.260Q-28.920-40.328-29.194-40.549Q-29.467-40.769-29.467-41.111Q-29.467-41.360-29.356-41.535Q-29.245-41.709-29.059-41.808Q-28.872-41.907-28.657-41.950Q-28.442-41.993-28.199-41.993Q-27.785-41.993-27.505-41.811L-27.290-41.986Q-27.280-41.989-27.273-41.991Q-27.266-41.993-27.256-41.993L-27.204-41.993Q-27.177-41.993-27.153-41.969Q-27.129-41.945-27.129-41.917L-27.129-41.070Q-27.129-41.049-27.153-41.022Q-27.177-40.995-27.204-40.995L-27.317-40.995Q-27.345-40.995-27.370-41.020Q-27.396-41.046-27.396-41.070Q-27.396-41.306-27.502-41.470Q-27.608-41.634-27.791-41.716Q-27.973-41.798-28.206-41.798Q-28.534-41.798-28.790-41.695Q-29.047-41.593-29.047-41.316Q-29.047-41.121-28.864-41.012Q-28.681-40.902-28.452-40.861L-27.878-40.755Q-27.632-40.707-27.418-40.579Q-27.204-40.451-27.068-40.248Q-26.931-40.044-26.931-39.795Q-26.931-39.282-27.297-39.043Q-27.662-38.804-28.199-38.804Q-28.695-38.804-29.026-39.098L-29.293-38.824Q-29.313-38.804-29.341-38.804L-29.389-38.804Q-29.412-38.804-29.440-38.831Q-29.467-38.858-29.467-38.879",[912],[882,3377,3378],{"transform":3366},[887,3379],{"d":3380,"fill":884,"stroke":884,"className":3381,"style":2672},"M-18.571-37.563L-22.984-37.563Q-23.052-37.573-23.098-37.619Q-23.145-37.665-23.145-37.737Q-23.145-37.881-22.984-37.905L-18.571-37.905Q-18.411-37.881-18.411-37.737Q-18.411-37.665-18.457-37.619Q-18.503-37.573-18.571-37.563M-23.145-39.279Q-23.145-39.381-23.052-39.426L-18.978-41.384L-23.052-43.346Q-23.145-43.391-23.145-43.500Q-23.145-43.565-23.093-43.616Q-23.042-43.667-22.970-43.667Q-22.926-43.667-22.885-43.647L-18.496-41.538Q-18.462-41.521-18.436-41.473Q-18.411-41.425-18.411-41.384Q-18.411-41.347-18.438-41.299Q-18.465-41.251-18.496-41.237L-22.885-39.125Q-22.926-39.104-22.970-39.104Q-23.042-39.104-23.093-39.156Q-23.145-39.207-23.145-39.279",[912],[882,3383,3384],{"transform":3366},[887,3385],{"d":3386,"fill":884,"stroke":884,"className":3387,"style":2672},"M-14.639-39.132Q-14.496-39.026-14.267-39.026Q-14.041-39.026-13.867-39.222Q-13.692-39.419-13.638-39.648L-13.323-40.909Q-13.251-41.176-13.251-41.309Q-13.251-41.500-13.363-41.618Q-13.474-41.736-13.665-41.736Q-13.894-41.736-14.092-41.612Q-14.291-41.487-14.432-41.283Q-14.574-41.080-14.632-40.861Q-14.643-40.796-14.701-40.796L-14.813-40.796Q-14.844-40.796-14.868-40.827Q-14.892-40.858-14.892-40.882L-14.892-40.909Q-14.779-41.336-14.426-41.647Q-14.072-41.958-13.651-41.958Q-13.480-41.958-13.316-41.905Q-13.152-41.852-13.019-41.748Q-12.886-41.644-12.811-41.490Q-12.670-41.695-12.469-41.827Q-12.267-41.958-12.048-41.958Q-11.758-41.958-11.529-41.823Q-11.300-41.688-11.300-41.418Q-11.300-41.299-11.353-41.195Q-11.406-41.090-11.503-41.027Q-11.601-40.964-11.720-40.964Q-11.836-40.964-11.918-41.037Q-12-41.111-12-41.230Q-12-41.371-11.910-41.485Q-11.819-41.600-11.686-41.630Q-11.840-41.736-12.062-41.736Q-12.216-41.736-12.346-41.642Q-12.476-41.548-12.564-41.412Q-12.653-41.275-12.701-41.111L-13.016-39.853Q-13.077-39.569-13.077-39.453Q-13.077-39.262-12.966-39.144Q-12.855-39.026-12.664-39.026Q-12.489-39.026-12.330-39.101Q-12.171-39.176-12.041-39.306Q-11.912-39.436-11.823-39.593Q-11.734-39.750-11.700-39.901Q-11.676-39.962-11.621-39.962L-11.512-39.962Q-11.478-39.962-11.455-39.937Q-11.433-39.911-11.433-39.880Q-11.433-39.867-11.440-39.853Q-11.508-39.573-11.693-39.333Q-11.877-39.094-12.137-38.949Q-12.397-38.804-12.681-38.804Q-12.947-38.804-13.176-38.923Q-13.405-39.043-13.518-39.272Q-13.648-39.074-13.851-38.939Q-14.055-38.804-14.284-38.804Q-14.564-38.804-14.795-38.939Q-15.025-39.074-15.025-39.340Q-15.025-39.521-14.904-39.658Q-14.783-39.795-14.605-39.795Q-14.485-39.795-14.405-39.723Q-14.325-39.651-14.325-39.532Q-14.325-39.392-14.412-39.277Q-14.499-39.163-14.639-39.132",[912],[882,3389,3390,3396,3402,3408],{"stroke":902,"fontSize":2388},[882,3391,3393],{"transform":3392},"translate(214.083 10.286)",[887,3394],{"d":3270,"fill":884,"stroke":884,"className":3395,"style":2672},[912],[882,3397,3398],{"transform":3392},[887,3399],{"d":3400,"fill":884,"stroke":884,"className":3401,"style":2672},"M-43.045-38.879L-43.045-39.942Q-43.045-39.966-43.017-39.993Q-42.990-40.020-42.966-40.020L-42.857-40.020Q-42.792-40.020-42.778-39.962Q-42.682-39.528-42.436-39.277Q-42.190-39.026-41.776-39.026Q-41.435-39.026-41.182-39.159Q-40.929-39.292-40.929-39.600Q-40.929-39.757-41.023-39.872Q-41.117-39.986-41.255-40.055Q-41.394-40.123-41.561-40.161L-42.142-40.260Q-42.498-40.328-42.771-40.549Q-43.045-40.769-43.045-41.111Q-43.045-41.360-42.933-41.535Q-42.822-41.709-42.636-41.808Q-42.450-41.907-42.234-41.950Q-42.019-41.993-41.776-41.993Q-41.363-41.993-41.083-41.811L-40.867-41.986Q-40.857-41.989-40.850-41.991Q-40.843-41.993-40.833-41.993L-40.782-41.993Q-40.755-41.993-40.731-41.969Q-40.707-41.945-40.707-41.917L-40.707-41.070Q-40.707-41.049-40.731-41.022Q-40.755-40.995-40.782-40.995L-40.895-40.995Q-40.922-40.995-40.948-41.020Q-40.973-41.046-40.973-41.070Q-40.973-41.306-41.079-41.470Q-41.185-41.634-41.368-41.716Q-41.551-41.798-41.783-41.798Q-42.111-41.798-42.368-41.695Q-42.624-41.593-42.624-41.316Q-42.624-41.121-42.441-41.012Q-42.258-40.902-42.029-40.861L-41.455-40.755Q-41.209-40.707-40.995-40.579Q-40.782-40.451-40.645-40.248Q-40.508-40.044-40.508-39.795Q-40.508-39.282-40.874-39.043Q-41.240-38.804-41.776-38.804Q-42.272-38.804-42.604-39.098L-42.870-38.824Q-42.891-38.804-42.918-38.804L-42.966-38.804Q-42.990-38.804-43.017-38.831Q-43.045-38.858-43.045-38.879M-39.921-40.407Q-39.921-40.728-39.796-41.017Q-39.671-41.306-39.445-41.529Q-39.220-41.753-38.924-41.873Q-38.629-41.993-38.311-41.993Q-37.983-41.993-37.721-41.893Q-37.460-41.794-37.284-41.612Q-37.108-41.429-37.014-41.171Q-36.920-40.913-36.920-40.581Q-36.920-40.489-37.002-40.468L-39.257-40.468L-39.257-40.407Q-39.257-39.819-38.974-39.436Q-38.690-39.053-38.123-39.053Q-37.801-39.053-37.533-39.246Q-37.265-39.439-37.176-39.754Q-37.169-39.795-37.094-39.809L-37.002-39.809Q-36.920-39.785-36.920-39.713Q-36.920-39.706-36.926-39.679Q-37.039-39.282-37.410-39.043Q-37.781-38.804-38.205-38.804Q-38.642-38.804-39.042-39.012Q-39.442-39.221-39.681-39.588Q-39.921-39.955-39.921-40.407M-39.251-40.677L-37.436-40.677Q-37.436-40.954-37.533-41.206Q-37.630-41.459-37.829-41.615Q-38.027-41.770-38.311-41.770Q-38.588-41.770-38.801-41.612Q-39.015-41.453-39.133-41.198Q-39.251-40.943-39.251-40.677M-36.373-40.407Q-36.373-40.728-36.248-41.017Q-36.123-41.306-35.898-41.529Q-35.672-41.753-35.376-41.873Q-35.081-41.993-34.763-41.993Q-34.435-41.993-34.173-41.893Q-33.912-41.794-33.736-41.612Q-33.560-41.429-33.466-41.171Q-33.372-40.913-33.372-40.581Q-33.372-40.489-33.454-40.468L-35.710-40.468L-35.710-40.407Q-35.710-39.819-35.426-39.436Q-35.142-39.053-34.575-39.053Q-34.254-39.053-33.985-39.246Q-33.717-39.439-33.628-39.754Q-33.621-39.795-33.546-39.809L-33.454-39.809Q-33.372-39.785-33.372-39.713Q-33.372-39.706-33.379-39.679Q-33.491-39.282-33.862-39.043Q-34.233-38.804-34.657-38.804Q-35.094-38.804-35.494-39.012Q-35.894-39.221-36.133-39.588Q-36.373-39.955-36.373-40.407M-35.703-40.677L-33.888-40.677Q-33.888-40.954-33.985-41.206Q-34.083-41.459-34.281-41.615Q-34.479-41.770-34.763-41.770Q-35.040-41.770-35.253-41.612Q-35.467-41.453-35.585-41.198Q-35.703-40.943-35.703-40.677M-31.188-38.872L-32.770-38.872L-32.770-39.152Q-32.541-39.152-32.392-39.186Q-32.244-39.221-32.244-39.361L-32.244-42.980Q-32.244-43.250-32.351-43.312Q-32.459-43.373-32.770-43.373L-32.770-43.654L-31.690-43.729L-31.690-40.441L-30.706-41.210Q-30.501-41.347-30.501-41.497Q-30.501-41.541-30.542-41.576Q-30.583-41.610-30.627-41.610L-30.627-41.890L-29.263-41.890L-29.263-41.610Q-29.752-41.610-30.272-41.210L-30.829-40.776L-29.851-39.552Q-29.650-39.306-29.516-39.229Q-29.383-39.152-29.096-39.152L-29.096-38.872L-30.528-38.872L-30.528-39.152Q-30.340-39.152-30.340-39.265Q-30.340-39.361-30.494-39.552L-31.229-40.461L-31.711-40.082L-31.711-39.361Q-31.711-39.224-31.562-39.188Q-31.413-39.152-31.188-39.152L-31.188-38.872M-28.583-38.879L-28.583-39.942Q-28.583-39.966-28.556-39.993Q-28.528-40.020-28.505-40.020L-28.395-40.020Q-28.330-40.020-28.317-39.962Q-28.221-39.528-27.975-39.277Q-27.729-39.026-27.315-39.026Q-26.973-39.026-26.720-39.159Q-26.467-39.292-26.467-39.600Q-26.467-39.757-26.561-39.872Q-26.655-39.986-26.794-40.055Q-26.932-40.123-27.100-40.161L-27.681-40.260Q-28.036-40.328-28.310-40.549Q-28.583-40.769-28.583-41.111Q-28.583-41.360-28.472-41.535Q-28.361-41.709-28.175-41.808Q-27.988-41.907-27.773-41.950Q-27.558-41.993-27.315-41.993Q-26.901-41.993-26.621-41.811L-26.406-41.986Q-26.396-41.989-26.389-41.991Q-26.382-41.993-26.372-41.993L-26.320-41.993Q-26.293-41.993-26.269-41.969Q-26.245-41.945-26.245-41.917L-26.245-41.070Q-26.245-41.049-26.269-41.022Q-26.293-40.995-26.320-40.995L-26.433-40.995Q-26.461-40.995-26.486-41.020Q-26.512-41.046-26.512-41.070Q-26.512-41.306-26.618-41.470Q-26.724-41.634-26.907-41.716Q-27.089-41.798-27.322-41.798Q-27.650-41.798-27.906-41.695Q-28.163-41.593-28.163-41.316Q-28.163-41.121-27.980-41.012Q-27.797-40.902-27.568-40.861L-26.994-40.755Q-26.748-40.707-26.534-40.579Q-26.320-40.451-26.184-40.248Q-26.047-40.044-26.047-39.795Q-26.047-39.282-26.413-39.043Q-26.778-38.804-27.315-38.804Q-27.811-38.804-28.142-39.098L-28.409-38.824Q-28.429-38.804-28.457-38.804L-28.505-38.804Q-28.528-38.804-28.556-38.831Q-28.583-38.858-28.583-38.879",[912],[882,3403,3404],{"transform":3392},[887,3405],{"d":3406,"fill":884,"stroke":884,"className":3407,"style":2672},"M-17.687-37.563L-22.100-37.563Q-22.168-37.573-22.214-37.619Q-22.261-37.665-22.261-37.737Q-22.261-37.881-22.100-37.905L-17.687-37.905Q-17.527-37.881-17.527-37.737Q-17.527-37.665-17.573-37.619Q-17.619-37.573-17.687-37.563M-17.780-39.125L-22.168-41.237Q-22.261-41.271-22.261-41.384Q-22.261-41.494-22.168-41.538L-17.780-43.647Q-17.749-43.667-17.698-43.667Q-17.629-43.667-17.578-43.616Q-17.527-43.565-17.527-43.500Q-17.527-43.394-17.612-43.346L-21.693-41.384L-17.612-39.426Q-17.527-39.378-17.527-39.279Q-17.527-39.207-17.578-39.156Q-17.629-39.104-17.698-39.104Q-17.749-39.104-17.780-39.125",[912],[882,3409,3410],{"transform":3392},[887,3411],{"d":3412,"fill":884,"stroke":884,"className":3413,"style":2672},"M-13.754-39.132Q-13.611-39.026-13.382-39.026Q-13.156-39.026-12.982-39.222Q-12.807-39.419-12.753-39.648L-12.438-40.909Q-12.366-41.176-12.366-41.309Q-12.366-41.500-12.478-41.618Q-12.589-41.736-12.780-41.736Q-13.009-41.736-13.207-41.612Q-13.406-41.487-13.547-41.283Q-13.689-41.080-13.747-40.861Q-13.758-40.796-13.816-40.796L-13.928-40.796Q-13.959-40.796-13.983-40.827Q-14.007-40.858-14.007-40.882L-14.007-40.909Q-13.894-41.336-13.541-41.647Q-13.187-41.958-12.766-41.958Q-12.595-41.958-12.431-41.905Q-12.267-41.852-12.134-41.748Q-12.001-41.644-11.926-41.490Q-11.785-41.695-11.584-41.827Q-11.382-41.958-11.163-41.958Q-10.873-41.958-10.644-41.823Q-10.415-41.688-10.415-41.418Q-10.415-41.299-10.468-41.195Q-10.521-41.090-10.618-41.027Q-10.716-40.964-10.835-40.964Q-10.951-40.964-11.033-41.037Q-11.115-41.111-11.115-41.230Q-11.115-41.371-11.025-41.485Q-10.934-41.600-10.801-41.630Q-10.955-41.736-11.177-41.736Q-11.331-41.736-11.461-41.642Q-11.591-41.548-11.679-41.412Q-11.768-41.275-11.816-41.111L-12.131-39.853Q-12.192-39.569-12.192-39.453Q-12.192-39.262-12.081-39.144Q-11.970-39.026-11.779-39.026Q-11.604-39.026-11.445-39.101Q-11.286-39.176-11.156-39.306Q-11.027-39.436-10.938-39.593Q-10.849-39.750-10.815-39.901Q-10.791-39.962-10.736-39.962L-10.627-39.962Q-10.593-39.962-10.570-39.937Q-10.548-39.911-10.548-39.880Q-10.548-39.867-10.555-39.853Q-10.623-39.573-10.808-39.333Q-10.992-39.094-11.252-38.949Q-11.512-38.804-11.796-38.804Q-12.062-38.804-12.291-38.923Q-12.520-39.043-12.633-39.272Q-12.763-39.074-12.966-38.939Q-13.170-38.804-13.399-38.804Q-13.679-38.804-13.910-38.939Q-14.140-39.074-14.140-39.340Q-14.140-39.521-14.019-39.658Q-13.898-39.795-13.720-39.795Q-13.600-39.795-13.520-39.723Q-13.440-39.651-13.440-39.532Q-13.440-39.392-13.527-39.277Q-13.614-39.163-13.754-39.132",[912],[1086,3415,3417,3418,3460,3461,3476,3477,3492,3493,3535],{"className":3416},[1089],"Hoare partition with pivot ",[394,3419,3421],{"className":3420},[397],[394,3422,3424,3442],{"className":3423,"ariaHidden":402},[401],[394,3425,3427,3430,3433,3436,3439],{"className":3426},[406],[394,3428],{"className":3429,"style":799},[410],[394,3431,803],{"className":3432},[420,469],[394,3434],{"className":3435,"style":1350},[634],[394,3437,1597],{"className":3438},[559],[394,3440],{"className":3441,"style":1350},[634],[394,3443,3445,3448,3451,3454,3457],{"className":3444},[406],[394,3446],{"className":3447,"style":465},[410],[394,3449,470],{"className":3450},[420,469],[394,3452,475],{"className":3453},[474],[394,3455,381],{"className":3456},[420,469],[394,3458,492],{"className":3459},[491],": ",[394,3462,3464],{"className":3463},[397],[394,3465,3467],{"className":3466,"ariaHidden":402},[401],[394,3468,3470,3473],{"className":3469},[406],[394,3471],{"className":3472,"style":1212},[410],[394,3474,1216],{"className":3475},[420,469]," scans right past small elements, ",[394,3478,3480],{"className":3479},[397],[394,3481,3483],{"className":3482,"ariaHidden":402},[401],[394,3484,3486,3489],{"className":3485},[406],[394,3487],{"className":3488,"style":1193},[410],[394,3490,1198],{"className":3491,"style":1197},[420,469]," scans left past large ones, and the out-of-order pair ",[394,3494,3496],{"className":3495},[397],[394,3497,3499],{"className":3498,"ariaHidden":402},[401],[394,3500,3502,3505,3508,3511,3514,3517,3520,3523,3526,3529,3532],{"className":3501},[406],[394,3503],{"className":3504,"style":465},[410],[394,3506,470],{"className":3507},[420,469],[394,3509,475],{"className":3510},[474],[394,3512,1216],{"className":3513},[420,469],[394,3515,492],{"className":3516},[491],[394,3518,2371],{"className":3519},[2370],[394,3521],{"className":3522,"style":2375},[634],[394,3524,470],{"className":3525},[420,469],[394,3527,475],{"className":3528},[474],[394,3530,1198],{"className":3531,"style":1197},[420,469],[394,3533,492],{"className":3534},[491]," is swapped before both resume marching inward.",[711,3537,3539],{"className":713,"code":3538,"language":715,"meta":376,"style":376},"caption: $\\textsc{Hoare-Partition}(A, p, r)$ — pivot $= A[p]$\nnumber: 3\n$x \\gets A[p]$ \u002F\u002F the pivot\n$i \\gets p - 1$\n$j \\gets r + 1$\nrepeat\n  repeat $j \\gets j - 1$ until $A[j] \\le x$ \u002F\u002F scan down from right\n  repeat $i \\gets i + 1$ until $A[i] \\ge x$ \u002F\u002F scan up from left\n  if $i \u003C j$ then\n    exchange $A[i]$ with $A[j]$\n  else\n    return $j$ \u002F\u002F split point: $A[p..j] \\le A[j+1..r]$\n",[717,3540,3541,3546,3551,3556,3561,3566,3571,3576,3581,3586,3590,3595],{"__ignoreMap":376},[394,3542,3543],{"class":721,"line":6},[394,3544,3545],{},"caption: $\\textsc{Hoare-Partition}(A, p, r)$ — pivot $= A[p]$\n",[394,3547,3548],{"class":721,"line":18},[394,3549,3550],{},"number: 3\n",[394,3552,3553],{"class":721,"line":24},[394,3554,3555],{},"$x \\gets A[p]$ \u002F\u002F the pivot\n",[394,3557,3558],{"class":721,"line":73},[394,3559,3560],{},"$i \\gets p - 1$\n",[394,3562,3563],{"class":721,"line":102},[394,3564,3565],{},"$j \\gets r + 1$\n",[394,3567,3568],{"class":721,"line":108},[394,3569,3570],{},"repeat\n",[394,3572,3573],{"class":721,"line":116},[394,3574,3575],{},"  repeat $j \\gets j - 1$ until $A[j] \\le x$ \u002F\u002F scan down from right\n",[394,3577,3578],{"class":721,"line":196},[394,3579,3580],{},"  repeat $i \\gets i + 1$ until $A[i] \\ge x$ \u002F\u002F scan up from left\n",[394,3582,3583],{"class":721,"line":202},[394,3584,3585],{},"  if $i \u003C j$ then\n",[394,3587,3588],{"class":721,"line":283},[394,3589,1304],{},[394,3591,3592],{"class":721,"line":333},[394,3593,3594],{},"  else\n",[394,3596,3597],{"class":721,"line":354},[394,3598,3599],{},"    return $j$ \u002F\u002F split point: $A[p..j] \\le A[j+1..r]$\n",[381,3601,3602,3603,3651,3652,3718,3719,3734,3735,3738],{},"With Hoare partition the recursive calls become ",[394,3604,3606],{"className":3605},[397],[394,3607,3609],{"className":3608,"ariaHidden":402},[401],[394,3610,3612,3615,3624,3627,3630,3633,3636,3639,3642,3645,3648],{"className":3611},[406],[394,3613],{"className":3614,"style":465},[410],[394,3616,3618],{"className":3617},[415,416],[394,3619,3621],{"className":3620},[420,421],[394,3622,39],{"className":3623},[420],[394,3625,2246],{"className":3626},[474],[394,3628,470],{"className":3629},[420,469],[394,3631,2371],{"className":3632},[2370],[394,3634],{"className":3635,"style":2375},[634],[394,3637,381],{"className":3638},[420,469],[394,3640,2371],{"className":3641},[2370],[394,3643],{"className":3644,"style":2375},[634],[394,3646,1198],{"className":3647,"style":1197},[420,469],[394,3649,2254],{"className":3650},[491]," and\n",[394,3653,3655],{"className":3654},[397],[394,3656,3658,3697],{"className":3657,"ariaHidden":402},[401],[394,3659,3661,3664,3673,3676,3679,3682,3685,3688,3691,3694],{"className":3660},[406],[394,3662],{"className":3663,"style":465},[410],[394,3665,3667],{"className":3666},[415,416],[394,3668,3670],{"className":3669},[420,421],[394,3671,39],{"className":3672},[420],[394,3674,2246],{"className":3675},[474],[394,3677,470],{"className":3678},[420,469],[394,3680,2371],{"className":3681},[2370],[394,3683],{"className":3684,"style":2375},[634],[394,3686,1198],{"className":3687,"style":1197},[420,469],[394,3689],{"className":3690,"style":635},[634],[394,3692,684],{"className":3693},[639],[394,3695],{"className":3696,"style":635},[634],[394,3698,3700,3703,3706,3709,3712,3715],{"className":3699},[406],[394,3701],{"className":3702,"style":465},[410],[394,3704,444],{"className":3705},[420],[394,3707,2371],{"className":3708},[2370],[394,3710],{"className":3711,"style":2375},[634],[394,3713,487],{"className":3714,"style":486},[420,469],[394,3716,2254],{"className":3717},[491],", since ",[394,3720,3722],{"className":3721},[397],[394,3723,3725],{"className":3724,"ariaHidden":402},[401],[394,3726,3728,3731],{"className":3727},[406],[394,3729],{"className":3730,"style":1193},[410],[394,3732,1198],{"className":3733,"style":1197},[420,469]," is a ",[431,3736,3737],{},"boundary"," rather than the pivot's\nfinal index. Either scheme yields a correct, in-place quicksort; the difference\nlies purely in the constants and in robustness to duplicates.",[446,3740,3742],{"id":3741},"worst-case-versus-best-case","Worst case versus best case",[381,3744,3745,3746,3770,3771,3773],{},"Partition is always ",[394,3747,3749],{"className":3748},[397],[394,3750,3752],{"className":3751,"ariaHidden":402},[401],[394,3753,3755,3758,3761,3764,3767],{"className":3754},[406],[394,3756],{"className":3757,"style":465},[410],[394,3759,2242],{"className":3760},[420],[394,3762,2246],{"className":3763},[474],[394,3765,2250],{"className":3766},[420,469],[394,3768,2254],{"className":3769},[491],", so quicksort's total cost is governed entirely\nby how ",[431,3772,1148],{}," the splits are.",[381,3775,3776,3779,3780,3813,3814,3817],{},[389,3777,3778],{},"Worst case."," Suppose every partition is maximally lopsided, with one side empty\nand the other holding ",[394,3781,3783],{"className":3782},[397],[394,3784,3786,3804],{"className":3785,"ariaHidden":402},[401],[394,3787,3789,3792,3795,3798,3801],{"className":3788},[406],[394,3790],{"className":3791,"style":2286},[410],[394,3793,2250],{"className":3794},[420,469],[394,3796],{"className":3797,"style":635},[634],[394,3799,640],{"className":3800},[639],[394,3802],{"className":3803,"style":635},[634],[394,3805,3807,3810],{"className":3806},[406],[394,3808],{"className":3809,"style":1519},[410],[394,3811,444],{"className":3812},[420]," elements. This happens, for Lomuto with a\nlast-element pivot, on an array that is already sorted (or reverse sorted). The\n",[384,3815,3816],{"href":23},"recurrence"," is",[394,3819,3822],{"className":3820},[3821],"katex-display",[394,3823,3825],{"className":3824},[397],[394,3826,3828,3857,3881,3902,3930,3957,3981,4002,4029],{"className":3827,"ariaHidden":402},[401],[394,3829,3831,3834,3839,3842,3845,3848,3851,3854],{"className":3830},[406],[394,3832],{"className":3833,"style":465},[410],[394,3835,3838],{"className":3836,"style":3837},[420,469],"margin-right:0.1389em;","T",[394,3840,2246],{"className":3841},[474],[394,3843,2250],{"className":3844},[420,469],[394,3846,2254],{"className":3847},[491],[394,3849],{"className":3850,"style":1350},[634],[394,3852,1597],{"className":3853},[559],[394,3855],{"className":3856,"style":1350},[634],[394,3858,3860,3863,3866,3869,3872,3875,3878],{"className":3859},[406],[394,3861],{"className":3862,"style":465},[410],[394,3864,3838],{"className":3865,"style":3837},[420,469],[394,3867,2246],{"className":3868},[474],[394,3870,2250],{"className":3871},[420,469],[394,3873],{"className":3874,"style":635},[634],[394,3876,640],{"className":3877},[639],[394,3879],{"className":3880,"style":635},[634],[394,3882,3884,3887,3890,3893,3896,3899],{"className":3883},[406],[394,3885],{"className":3886,"style":465},[410],[394,3888,444],{"className":3889},[420],[394,3891,2254],{"className":3892},[491],[394,3894],{"className":3895,"style":635},[634],[394,3897,684],{"className":3898},[639],[394,3900],{"className":3901,"style":635},[634],[394,3903,3905,3908,3911,3914,3918,3921,3924,3927],{"className":3904},[406],[394,3906],{"className":3907,"style":465},[410],[394,3909,3838],{"className":3910,"style":3837},[420,469],[394,3912,2246],{"className":3913},[474],[394,3915,3917],{"className":3916},[420],"0",[394,3919,2254],{"className":3920},[491],[394,3922],{"className":3923,"style":635},[634],[394,3925,684],{"className":3926},[639],[394,3928],{"className":3929,"style":635},[634],[394,3931,3933,3936,3939,3942,3945,3948,3951,3954],{"className":3932},[406],[394,3934],{"className":3935,"style":465},[410],[394,3937,2242],{"className":3938},[420],[394,3940,2246],{"className":3941},[474],[394,3943,2250],{"className":3944},[420,469],[394,3946,2254],{"className":3947},[491],[394,3949],{"className":3950,"style":1350},[634],[394,3952,1597],{"className":3953},[559],[394,3955],{"className":3956,"style":1350},[634],[394,3958,3960,3963,3966,3969,3972,3975,3978],{"className":3959},[406],[394,3961],{"className":3962,"style":465},[410],[394,3964,3838],{"className":3965,"style":3837},[420,469],[394,3967,2246],{"className":3968},[474],[394,3970,2250],{"className":3971},[420,469],[394,3973],{"className":3974,"style":635},[634],[394,3976,640],{"className":3977},[639],[394,3979],{"className":3980,"style":635},[634],[394,3982,3984,3987,3990,3993,3996,3999],{"className":3983},[406],[394,3985],{"className":3986,"style":465},[410],[394,3988,444],{"className":3989},[420],[394,3991,2254],{"className":3992},[491],[394,3994],{"className":3995,"style":635},[634],[394,3997,684],{"className":3998},[639],[394,4000],{"className":4001,"style":635},[634],[394,4003,4005,4008,4011,4014,4017,4020,4023,4026],{"className":4004},[406],[394,4006],{"className":4007,"style":465},[410],[394,4009,2242],{"className":4010},[420],[394,4012,2246],{"className":4013},[474],[394,4015,2250],{"className":4016},[420,469],[394,4018,2254],{"className":4019},[491],[394,4021],{"className":4022,"style":1350},[634],[394,4024,1597],{"className":4025},[559],[394,4027],{"className":4028,"style":1350},[634],[394,4030,4032,4036,4039,4042,4083,4086],{"className":4031},[406],[394,4033],{"className":4034,"style":4035},[410],"height:1.1141em;vertical-align:-0.25em;",[394,4037,2242],{"className":4038},[420],[394,4040,2246],{"className":4041},[474],[394,4043,4045,4048],{"className":4044},[420],[394,4046,2250],{"className":4047},[420,469],[394,4049,4052],{"className":4050},[4051],"msupsub",[394,4053,4056],{"className":4054},[4055],"vlist-t",[394,4057,4060],{"className":4058},[4059],"vlist-r",[394,4061,4065],{"className":4062,"style":4064},[4063],"vlist","height:0.8641em;",[394,4066,4068,4073],{"style":4067},"top:-3.113em;margin-right:0.05em;",[394,4069],{"className":4070,"style":4072},[4071],"pstrut","height:2.7em;",[394,4074,4080],{"className":4075},[4076,4077,4078,4079],"sizing","reset-size6","size3","mtight",[394,4081,1259],{"className":4082},[420,4079],[394,4084,2254],{"className":4085},[491],[394,4087,597],{"className":4088},[420],[381,4090,4091,4092,4107,4108,4132,4133,4284],{},"The recursion tree degenerates into a path of depth ",[394,4093,4095],{"className":4094},[397],[394,4096,4098],{"className":4097,"ariaHidden":402},[401],[394,4099,4101,4104],{"className":4100},[406],[394,4102],{"className":4103,"style":799},[410],[394,4105,2250],{"className":4106},[420,469],", with ",[394,4109,4111],{"className":4110},[397],[394,4112,4114],{"className":4113,"ariaHidden":402},[401],[394,4115,4117,4120,4123,4126,4129],{"className":4116},[406],[394,4118],{"className":4119,"style":465},[410],[394,4121,2242],{"className":4122},[420],[394,4124,2246],{"className":4125},[474],[394,4127,2250],{"className":4128},[420,469],[394,4130,2254],{"className":4131},[491]," work\nat the top shrinking by one at each level: ",[394,4134,4136],{"className":4135},[397],[394,4137,4139,4157,4178,4199,4219,4237],{"className":4138,"ariaHidden":402},[401],[394,4140,4142,4145,4148,4151,4154],{"className":4141},[406],[394,4143],{"className":4144,"style":2286},[410],[394,4146,2250],{"className":4147},[420,469],[394,4149],{"className":4150,"style":635},[634],[394,4152,684],{"className":4153},[639],[394,4155],{"className":4156,"style":635},[634],[394,4158,4160,4163,4166,4169,4172,4175],{"className":4159},[406],[394,4161],{"className":4162,"style":465},[410],[394,4164,2246],{"className":4165},[474],[394,4167,2250],{"className":4168},[420,469],[394,4170],{"className":4171,"style":635},[634],[394,4173,640],{"className":4174},[639],[394,4176],{"className":4177,"style":635},[634],[394,4179,4181,4184,4187,4190,4193,4196],{"className":4180},[406],[394,4182],{"className":4183,"style":465},[410],[394,4185,444],{"className":4186},[420],[394,4188,2254],{"className":4189},[491],[394,4191],{"className":4192,"style":635},[634],[394,4194,684],{"className":4195},[639],[394,4197],{"className":4198,"style":635},[634],[394,4200,4202,4205,4210,4213,4216],{"className":4201},[406],[394,4203],{"className":4204,"style":2286},[410],[394,4206,4209],{"className":4207},[4208],"minner","⋯",[394,4211],{"className":4212,"style":635},[634],[394,4214,684],{"className":4215},[639],[394,4217],{"className":4218,"style":635},[634],[394,4220,4222,4225,4228,4231,4234],{"className":4221},[406],[394,4223],{"className":4224,"style":1519},[410],[394,4226,444],{"className":4227},[420],[394,4229],{"className":4230,"style":1350},[634],[394,4232,1597],{"className":4233},[559],[394,4235],{"className":4236,"style":1350},[634],[394,4238,4240,4244,4247,4250,4281],{"className":4239},[406],[394,4241],{"className":4242,"style":4243},[410],"height:1.0641em;vertical-align:-0.25em;",[394,4245,2242],{"className":4246},[420],[394,4248,2246],{"className":4249},[474],[394,4251,4253,4256],{"className":4252},[420],[394,4254,2250],{"className":4255},[420,469],[394,4257,4259],{"className":4258},[4051],[394,4260,4262],{"className":4261},[4055],[394,4263,4265],{"className":4264},[4059],[394,4266,4269],{"className":4267,"style":4268},[4063],"height:0.8141em;",[394,4270,4272,4275],{"style":4271},"top:-3.063em;margin-right:0.05em;",[394,4273],{"className":4274,"style":4072},[4071],[394,4276,4278],{"className":4277},[4076,4077,4078,4079],[394,4279,1259],{"className":4280},[420,4079],[394,4282,2254],{"className":4283},[491],".\nQuicksort's worst case is no better than insertion sort.",[381,4286,4287,4288,4291,4292,4316,4317,4320,4321,4348,4349,4388],{},"The reason a ",[431,4289,4290],{},"sorted"," array is the villain for Lomuto is concrete: the\nlast-element pivot ",[394,4293,4295],{"className":4294},[397],[394,4296,4298],{"className":4297,"ariaHidden":402},[401],[394,4299,4301,4304,4307,4310,4313],{"className":4300},[406],[394,4302],{"className":4303,"style":465},[410],[394,4305,470],{"className":4306},[420,469],[394,4308,475],{"className":4309},[474],[394,4311,487],{"className":4312,"style":486},[420,469],[394,4314,492],{"className":4315},[491]," is then the ",[389,4318,4319],{},"largest"," value, so the whole scan stays\n",[394,4322,4324],{"className":4323},[397],[394,4325,4327,4339],{"className":4326,"ariaHidden":402},[401],[394,4328,4330,4333,4336],{"className":4329},[406],[394,4331],{"className":4332,"style":555},[410],[394,4334,560],{"className":4335},[559],[394,4337],{"className":4338,"style":1350},[634],[394,4340,4342,4345],{"className":4341},[406],[394,4343],{"className":4344,"style":799},[410],[394,4346,803],{"className":4347},[420,469]," and the partition peels off just the pivot, leaving an empty right side\nand an ",[394,4350,4352],{"className":4351},[397],[394,4353,4355,4376],{"className":4354,"ariaHidden":402},[401],[394,4356,4358,4361,4364,4367,4370,4373],{"className":4357},[406],[394,4359],{"className":4360,"style":465},[410],[394,4362,2246],{"className":4363},[474],[394,4365,2250],{"className":4366},[420,469],[394,4368],{"className":4369,"style":635},[634],[394,4371,640],{"className":4372},[639],[394,4374],{"className":4375,"style":635},[634],[394,4377,4379,4382,4385],{"className":4378},[406],[394,4380],{"className":4381,"style":465},[410],[394,4383,444],{"className":4384},[420],[394,4386,2254],{"className":4387},[491],"-element left side to do it all again.",[869,4390,4392,4599],{"className":4391},[872,873],[875,4393,4397],{"xmlns":877,"width":4394,"height":4395,"viewBox":4396},"345.303","92.643","-75 -75 258.977 69.482",[882,4398,4399,4410,4421,4432,4443,4454,4465,4495,4557,4564],{"stroke":884,"style":885},[882,4400,4401,4404],{"fill":889},[887,4402],{"d":4403},"M-63.98-29.767h19.916v-19.917h-19.917Z",[882,4405,4406],{"transform":2571},[887,4407],{"d":4408,"fill":884,"stroke":884,"className":4409,"style":2576},"M-50.115-39.726L-53.147-39.726L-53.147-40.042Q-51.996-40.042-51.996-40.337L-51.996-45.061Q-52.484-44.828-53.205-44.828L-53.205-45.144Q-52.075-45.144-51.513-45.720L-51.368-45.720Q-51.333-45.720-51.300-45.687Q-51.267-45.654-51.267-45.619L-51.267-40.337Q-51.267-40.042-50.115-40.042",[912],[882,4411,4412,4415],{"fill":889},[887,4413],{"d":4414},"M-35.528-29.767h19.917v-19.917h-19.917Z",[882,4416,4417],{"transform":2584},[887,4418],{"d":4419,"fill":884,"stroke":884,"className":4420,"style":2576},"M-50.115-39.726L-53.565-39.726L-53.565-39.959Q-53.565-39.972-53.534-40.003L-52.080-41.580Q-51.614-42.077-51.361-42.382Q-51.108-42.688-50.917-43.099Q-50.726-43.510-50.726-43.949Q-50.726-44.538-51.049-44.971Q-51.372-45.404-51.952-45.404Q-52.216-45.404-52.462-45.294Q-52.708-45.184-52.884-44.997Q-53.060-44.810-53.156-44.560L-53.077-44.560Q-52.875-44.560-52.732-44.424Q-52.589-44.288-52.589-44.072Q-52.589-43.866-52.732-43.727Q-52.875-43.589-53.077-43.589Q-53.279-43.589-53.422-43.732Q-53.565-43.874-53.565-44.072Q-53.565-44.534-53.328-44.907Q-53.090-45.281-52.690-45.500Q-52.291-45.720-51.842-45.720Q-51.319-45.720-50.865-45.505Q-50.410-45.289-50.137-44.890Q-49.865-44.490-49.865-43.949Q-49.865-43.554-50.036-43.200Q-50.208-42.846-50.473-42.567Q-50.739-42.288-51.190-41.903Q-51.640-41.519-51.719-41.444L-52.743-40.482L-51.926-40.482Q-51.275-40.482-50.838-40.493Q-50.401-40.504-50.370-40.526Q-50.300-40.609-50.245-40.849Q-50.190-41.088-50.150-41.356L-49.865-41.356",[912],[882,4422,4423,4426],{"fill":889},[887,4424],{"d":4425},"M-7.075-29.767h19.917v-19.917H-7.075Z",[882,4427,4428],{"transform":2596},[887,4429],{"d":4430,"fill":884,"stroke":884,"className":4431,"style":2576},"M-53.121-40.447L-53.165-40.447Q-52.963-40.130-52.576-39.972Q-52.189-39.814-51.763-39.814Q-51.227-39.814-50.988-40.249Q-50.748-40.684-50.748-41.264Q-50.748-41.844-50.994-42.284Q-51.240-42.723-51.772-42.723L-52.392-42.723Q-52.418-42.723-52.451-42.752Q-52.484-42.780-52.484-42.802L-52.484-42.903Q-52.484-42.934-52.455-42.958Q-52.427-42.982-52.392-42.982L-51.873-43.022Q-51.407-43.022-51.161-43.494Q-50.915-43.967-50.915-44.485Q-50.915-44.912-51.128-45.186Q-51.341-45.461-51.763-45.461Q-52.106-45.461-52.431-45.331Q-52.756-45.202-52.941-44.947L-52.915-44.947Q-52.712-44.947-52.576-44.806Q-52.440-44.665-52.440-44.468Q-52.440-44.270-52.574-44.136Q-52.708-44.002-52.906-44.002Q-53.108-44.002-53.246-44.136Q-53.385-44.270-53.385-44.468Q-53.385-45.057-52.882-45.388Q-52.378-45.720-51.763-45.720Q-51.385-45.720-50.983-45.580Q-50.581-45.439-50.313-45.160Q-50.045-44.881-50.045-44.485Q-50.045-43.936-50.399-43.499Q-50.752-43.061-51.293-42.877Q-50.902-42.798-50.557-42.574Q-50.212-42.350-50.001-42.009Q-49.790-41.668-49.790-41.273Q-49.790-40.891-49.953-40.568Q-50.115-40.245-50.407-40.009Q-50.700-39.774-51.047-39.651Q-51.394-39.528-51.763-39.528Q-52.211-39.528-52.642-39.689Q-53.073-39.849-53.354-40.176Q-53.635-40.504-53.635-40.961Q-53.635-41.176-53.488-41.319Q-53.341-41.462-53.121-41.462Q-52.910-41.462-52.765-41.317Q-52.620-41.172-52.620-40.961Q-52.620-40.750-52.767-40.598Q-52.915-40.447-53.121-40.447",[912],[882,4433,4434,4437],{"fill":889},[887,4435],{"d":4436},"M21.377-29.767h19.917v-19.917H21.377Z",[882,4438,4439],{"transform":2609},[887,4440],{"d":4441,"fill":884,"stroke":884,"className":4442,"style":2576},"M-51.324-41.203L-53.763-41.203L-53.763-41.519L-50.937-45.667Q-50.893-45.720-50.827-45.720L-50.673-45.720Q-50.634-45.720-50.601-45.687Q-50.568-45.654-50.568-45.610L-50.568-41.519L-49.667-41.519L-49.667-41.203L-50.568-41.203L-50.568-40.337Q-50.568-40.042-49.667-40.042L-49.667-39.726L-52.220-39.726L-52.220-40.042Q-51.860-40.042-51.592-40.097Q-51.324-40.152-51.324-40.337L-51.324-41.203M-51.267-44.692L-53.429-41.519L-51.267-41.519",[912],[882,4444,4445,4448],{"fill":889},[887,4446],{"d":4447},"M49.83-29.767h19.917v-19.917H49.83Z",[882,4449,4450],{"transform":2621},[887,4451],{"d":4452,"fill":884,"stroke":884,"className":4453,"style":2576},"M-53.196-40.732Q-53.055-40.319-52.695-40.067Q-52.334-39.814-51.899-39.814Q-51.447-39.814-51.181-40.067Q-50.915-40.319-50.812-40.704Q-50.709-41.088-50.709-41.545Q-50.709-43.246-51.618-43.246Q-51.939-43.246-52.168-43.152Q-52.396-43.057-52.526-42.938Q-52.655-42.820-52.767-42.681Q-52.879-42.543-52.915-42.534L-52.998-42.534Q-53.042-42.534-53.073-42.565Q-53.104-42.596-53.104-42.644L-53.104-45.641Q-53.104-45.672-53.068-45.696Q-53.033-45.720-53.007-45.720L-52.967-45.720Q-52.334-45.430-51.662-45.430Q-50.990-45.430-50.348-45.720L-50.322-45.720Q-50.291-45.720-50.258-45.698Q-50.225-45.676-50.225-45.641L-50.225-45.540Q-50.225-45.536-50.234-45.518Q-50.243-45.500-50.243-45.496Q-50.559-45.101-51.029-44.879Q-51.500-44.657-51.996-44.657Q-52.405-44.657-52.787-44.767L-52.787-43.048Q-52.330-43.505-51.618-43.505Q-51.108-43.505-50.709-43.224Q-50.309-42.943-50.087-42.488Q-49.865-42.033-49.865-41.528Q-49.865-40.978-50.144-40.519Q-50.423-40.060-50.889-39.794Q-51.355-39.528-51.899-39.528Q-52.339-39.528-52.723-39.755Q-53.108-39.981-53.336-40.361Q-53.565-40.741-53.565-41.185Q-53.565-41.378-53.433-41.510Q-53.301-41.642-53.104-41.642Q-52.972-41.642-52.868-41.583Q-52.765-41.523-52.706-41.420Q-52.647-41.317-52.647-41.185Q-52.647-40.987-52.774-40.855Q-52.901-40.724-53.104-40.724Q-53.165-40.724-53.196-40.732",[912],[882,4455,4456,4459],{"fill":889,"stroke":893,"style":895},[887,4457],{"d":4458},"M78.283-29.767H98.2v-19.917H78.283Z",[882,4460,4461],{"transform":2631},[887,4462],{"d":4463,"fill":884,"stroke":884,"className":4464,"style":2576},"M-51.710-39.528Q-52.444-39.528-52.875-40.009Q-53.306-40.491-53.470-41.183Q-53.635-41.875-53.635-42.622Q-53.635-43.351-53.343-44.074Q-53.051-44.797-52.497-45.259Q-51.943-45.720-51.196-45.720Q-50.700-45.720-50.364-45.454Q-50.027-45.188-50.027-44.705Q-50.027-44.525-50.155-44.397Q-50.282-44.270-50.458-44.270Q-50.638-44.270-50.768-44.395Q-50.897-44.520-50.897-44.705Q-50.897-44.819-50.840-44.923Q-50.783-45.026-50.682-45.085Q-50.581-45.144-50.458-45.144Q-50.454-45.144-50.449-45.142Q-50.445-45.140-50.440-45.136Q-50.555-45.303-50.763-45.382Q-50.972-45.461-51.196-45.461Q-51.640-45.461-51.998-45.160Q-52.356-44.859-52.545-44.406Q-52.778-43.800-52.778-42.767Q-52.607-43.132-52.306-43.360Q-52.005-43.589-51.618-43.589Q-51.214-43.589-50.869-43.422Q-50.524-43.255-50.287-42.974Q-50.049-42.692-49.920-42.330Q-49.790-41.967-49.790-41.563Q-49.790-41.018-50.034-40.552Q-50.278-40.086-50.717-39.807Q-51.157-39.528-51.710-39.528M-51.710-39.814Q-51.249-39.814-51.014-40.071Q-50.779-40.328-50.713-40.702Q-50.647-41.075-50.647-41.545L-50.647-41.580Q-50.647-42.068-50.704-42.433Q-50.761-42.798-50.990-43.061Q-51.218-43.325-51.662-43.325Q-52.031-43.325-52.282-43.081Q-52.532-42.837-52.647-42.473Q-52.761-42.108-52.761-41.761Q-52.761-41.642-52.752-41.580Q-52.752-41.563-52.754-41.552Q-52.756-41.541-52.761-41.528Q-52.761-40.877-52.523-40.346Q-52.286-39.814-51.710-39.814",[912],[882,4466,4467],{"fill":893,"stroke":893},[882,4468,4470,4477,4483,4489],{"fill":893,"stroke":902,"fontFamily":4469,"fontSize":2388},"cmr7",[882,4471,4473],{"transform":4472},"translate(120.441 -24.503)",[887,4474],{"d":4475,"fill":893,"stroke":893,"className":4476,"style":2672},"M-52.064-38.369L-53.694-38.369L-53.694-38.649Q-53.465-38.649-53.316-38.684Q-53.168-38.718-53.168-38.858L-53.168-42.204Q-53.168-42.375-53.304-42.416Q-53.441-42.457-53.694-42.457L-53.694-42.737L-52.614-42.812L-52.614-42.406Q-52.392-42.607-52.105-42.710Q-51.817-42.812-51.510-42.812Q-51.083-42.812-50.719-42.599Q-50.355-42.385-50.141-42.021Q-49.927-41.657-49.927-41.237Q-49.927-40.792-50.167-40.428Q-50.406-40.064-50.799-39.861Q-51.192-39.658-51.636-39.658Q-51.903-39.658-52.151-39.758Q-52.398-39.859-52.586-40.040L-52.586-38.858Q-52.586-38.721-52.438-38.685Q-52.289-38.649-52.064-38.649L-52.064-38.369M-52.586-42.057L-52.586-40.447Q-52.453-40.194-52.210-40.037Q-51.968-39.880-51.691-39.880Q-51.363-39.880-51.110-40.081Q-50.857-40.283-50.724-40.601Q-50.590-40.919-50.590-41.237Q-50.590-41.466-50.655-41.695Q-50.720-41.924-50.848-42.122Q-50.977-42.320-51.171-42.440Q-51.366-42.559-51.599-42.559Q-51.893-42.559-52.161-42.430Q-52.429-42.300-52.586-42.057M-47.675-39.726L-49.227-39.726L-49.227-40.006Q-49.001-40.006-48.852-40.040Q-48.704-40.075-48.704-40.215L-48.704-42.064Q-48.704-42.252-48.751-42.336Q-48.799-42.419-48.897-42.438Q-48.994-42.457-49.206-42.457L-49.206-42.737L-48.150-42.812L-48.150-40.215Q-48.150-40.075-48.018-40.040Q-47.887-40.006-47.675-40.006L-47.675-39.726M-48.946-44.033Q-48.946-44.204-48.823-44.323Q-48.700-44.443-48.529-44.443Q-48.362-44.443-48.239-44.323Q-48.116-44.204-48.116-44.033Q-48.116-43.858-48.239-43.735Q-48.362-43.612-48.529-43.612Q-48.700-43.612-48.823-43.735Q-48.946-43.858-48.946-44.033M-45.439-39.753L-46.567-42.252Q-46.639-42.399-46.769-42.431Q-46.899-42.464-47.128-42.464L-47.128-42.744L-45.614-42.744L-45.614-42.464Q-45.966-42.464-45.966-42.317Q-45.966-42.272-45.956-42.252L-45.091-40.334L-44.312-42.064Q-44.277-42.132-44.277-42.211Q-44.277-42.324-44.361-42.394Q-44.445-42.464-44.564-42.464L-44.564-42.744L-43.368-42.744L-43.368-42.464Q-43.587-42.464-43.758-42.361Q-43.929-42.259-44.018-42.064L-45.053-39.753Q-45.101-39.658-45.207-39.658L-45.286-39.658Q-45.392-39.658-45.439-39.753",[912],[882,4478,4479],{"transform":4472},[887,4480],{"d":4481,"fill":893,"stroke":893,"className":4482,"style":2672},"M-43.083-41.209Q-43.083-41.551-42.948-41.850Q-42.813-42.149-42.573-42.373Q-42.334-42.597-42.016-42.722Q-41.698-42.847-41.367-42.847Q-40.922-42.847-40.523-42.631Q-40.123-42.416-39.888-42.038Q-39.654-41.661-39.654-41.209Q-39.654-40.868-39.796-40.584Q-39.938-40.300-40.182-40.093Q-40.427-39.887-40.736-39.772Q-41.045-39.658-41.367-39.658Q-41.797-39.658-42.199-39.859Q-42.601-40.061-42.842-40.413Q-43.083-40.765-43.083-41.209M-41.367-39.907Q-40.765-39.907-40.541-40.285Q-40.317-40.663-40.317-41.295Q-40.317-41.907-40.552-42.266Q-40.786-42.624-41.367-42.624Q-42.419-42.624-42.419-41.295Q-42.419-40.663-42.194-40.285Q-41.968-39.907-41.367-39.907M-38.533-40.567L-38.533-42.464L-39.172-42.464L-39.172-42.686Q-38.855-42.686-38.637-42.896Q-38.420-43.106-38.320-43.416Q-38.219-43.725-38.219-44.033L-37.952-44.033L-37.952-42.744L-36.876-42.744L-36.876-42.464L-37.952-42.464L-37.952-40.580Q-37.952-40.304-37.848-40.105Q-37.744-39.907-37.484-39.907Q-37.327-39.907-37.221-40.011Q-37.115-40.116-37.065-40.269Q-37.016-40.423-37.016-40.580L-37.016-40.994L-36.749-40.994L-36.749-40.567Q-36.749-40.341-36.848-40.131Q-36.947-39.921-37.132-39.789Q-37.316-39.658-37.545-39.658Q-37.983-39.658-38.258-39.895Q-38.533-40.133-38.533-40.567",[912],[882,4484,4485],{"transform":4472},[887,4486],{"d":4487,"fill":893,"stroke":893,"className":4488,"style":2672},"M-28.068-40.533L-32.901-40.533Q-32.969-40.543-33.015-40.589Q-33.061-40.635-33.061-40.707Q-33.061-40.772-33.015-40.818Q-32.969-40.864-32.901-40.874L-28.068-40.874Q-27.999-40.864-27.953-40.818Q-27.907-40.772-27.907-40.707Q-27.907-40.635-27.953-40.589Q-27.999-40.543-28.068-40.533M-28.068-42.071L-32.901-42.071Q-32.969-42.081-33.015-42.127Q-33.061-42.173-33.061-42.245Q-33.061-42.389-32.901-42.413L-28.068-42.413Q-27.907-42.389-27.907-42.245Q-27.907-42.173-27.953-42.127Q-27.999-42.081-28.068-42.071",[912],[882,4490,4491],{"transform":4472},[887,4492],{"d":4493,"fill":893,"stroke":893,"className":4494,"style":2672},"M-23.139-39.726L-24.773-39.726L-24.773-40.006Q-24.544-40.006-24.395-40.040Q-24.246-40.075-24.246-40.215L-24.246-42.064Q-24.246-42.334-24.354-42.395Q-24.462-42.457-24.773-42.457L-24.773-42.737L-23.713-42.812L-23.713-42.163Q-23.542-42.471-23.238-42.642Q-22.934-42.812-22.589-42.812Q-22.189-42.812-21.912-42.672Q-21.635-42.532-21.550-42.184Q-21.382-42.477-21.083-42.645Q-20.784-42.812-20.439-42.812Q-19.933-42.812-19.649-42.589Q-19.365-42.365-19.365-41.869L-19.365-40.215Q-19.365-40.078-19.217-40.042Q-19.068-40.006-18.843-40.006L-18.843-39.726L-20.473-39.726L-20.473-40.006Q-20.247-40.006-20.097-40.042Q-19.947-40.078-19.947-40.215L-19.947-41.855Q-19.947-42.190-20.066-42.390Q-20.186-42.590-20.500-42.590Q-20.770-42.590-21.004-42.454Q-21.239-42.317-21.377-42.083Q-21.515-41.849-21.515-41.575L-21.515-40.215Q-21.515-40.078-21.367-40.042Q-21.218-40.006-20.992-40.006L-20.992-39.726L-22.623-39.726L-22.623-40.006Q-22.394-40.006-22.245-40.040Q-22.096-40.075-22.096-40.215L-22.096-41.855Q-22.096-42.190-22.216-42.390Q-22.336-42.590-22.650-42.590Q-22.920-42.590-23.154-42.454Q-23.388-42.317-23.527-42.083Q-23.665-41.849-23.665-41.575L-23.665-40.215Q-23.665-40.078-23.515-40.042Q-23.364-40.006-23.139-40.006L-23.139-39.726M-18.197-40.454Q-18.197-40.786-17.973-41.013Q-17.749-41.240-17.405-41.368Q-17.062-41.497-16.689-41.549Q-16.317-41.602-16.012-41.602L-16.012-41.855Q-16.012-42.060-16.120-42.240Q-16.228-42.419-16.409-42.522Q-16.590-42.624-16.799-42.624Q-17.205-42.624-17.441-42.532Q-17.352-42.495-17.306-42.411Q-17.260-42.327-17.260-42.225Q-17.260-42.129-17.306-42.050Q-17.352-41.972-17.433-41.927Q-17.513-41.883-17.602-41.883Q-17.752-41.883-17.853-41.980Q-17.954-42.078-17.954-42.225Q-17.954-42.847-16.799-42.847Q-16.587-42.847-16.337-42.783Q-16.088-42.720-15.886-42.601Q-15.684-42.481-15.558-42.296Q-15.431-42.112-15.431-41.869L-15.431-40.293Q-15.431-40.177-15.370-40.081Q-15.308-39.986-15.196-39.986Q-15.086-39.986-15.021-40.080Q-14.956-40.174-14.956-40.293L-14.956-40.741L-14.690-40.741L-14.690-40.293Q-14.690-40.023-14.917-39.858Q-15.144-39.692-15.425-39.692Q-15.633-39.692-15.770-39.846Q-15.906-39.999-15.930-40.215Q-16.077-39.948-16.359-39.803Q-16.641-39.658-16.966-39.658Q-17.243-39.658-17.527-39.733Q-17.810-39.808-18.003-39.987Q-18.197-40.167-18.197-40.454M-17.581-40.454Q-17.581-40.280-17.480-40.150Q-17.380-40.020-17.224-39.950Q-17.069-39.880-16.905-39.880Q-16.686-39.880-16.477-39.977Q-16.269-40.075-16.141-40.256Q-16.012-40.437-16.012-40.663L-16.012-41.391Q-16.337-41.391-16.703-41.300Q-17.069-41.209-17.325-40.997Q-17.581-40.786-17.581-40.454M-13.090-39.726L-14.413-39.726L-14.413-40.006Q-13.852-40.006-13.473-40.406L-12.759-41.203L-13.671-42.252Q-13.808-42.399-13.957-42.431Q-14.105-42.464-14.372-42.464L-14.372-42.744L-12.871-42.744L-12.871-42.464Q-13.063-42.464-13.063-42.330Q-13.063-42.300-13.032-42.252L-12.437-41.568L-11.996-42.064Q-11.884-42.194-11.884-42.310Q-11.884-42.372-11.921-42.418Q-11.959-42.464-12.017-42.464L-12.017-42.744L-10.701-42.744L-10.701-42.464Q-11.261-42.464-11.641-42.064L-12.263-41.363L-11.268-40.215Q-11.169-40.116-11.068-40.071Q-10.968-40.027-10.856-40.017Q-10.745-40.006-10.568-40.006L-10.568-39.726L-12.061-39.726L-12.061-40.006Q-11.996-40.006-11.937-40.040Q-11.877-40.075-11.877-40.140Q-11.877-40.187-11.907-40.215L-12.584-41.001L-13.117-40.406Q-13.230-40.276-13.230-40.160Q-13.230-40.095-13.189-40.051Q-13.148-40.006-13.090-40.006",[912],[882,4496,4497,4500],{"fill":893,"stroke":893},[887,4498],{"fill":902,"d":4499},"M-65.403-22.654H71.169",[882,4501,4502,4509,4515,4521,4527,4533,4539,4545,4551],{"fill":893,"stroke":902,"fontSize":2388},[882,4503,4505],{"transform":4504},"translate(14.543 25.855)",[887,4506],{"d":4507,"fill":893,"stroke":893,"className":4508,"style":2672},"M-53.649-40.454Q-53.649-40.786-53.426-41.013Q-53.202-41.240-52.858-41.368Q-52.515-41.497-52.142-41.549Q-51.770-41.602-51.465-41.602L-51.465-41.855Q-51.465-42.060-51.573-42.240Q-51.681-42.419-51.862-42.522Q-52.043-42.624-52.251-42.624Q-52.658-42.624-52.894-42.532Q-52.805-42.495-52.759-42.411Q-52.713-42.327-52.713-42.225Q-52.713-42.129-52.759-42.050Q-52.805-41.972-52.886-41.927Q-52.966-41.883-53.055-41.883Q-53.205-41.883-53.306-41.980Q-53.407-42.078-53.407-42.225Q-53.407-42.847-52.251-42.847Q-52.040-42.847-51.790-42.783Q-51.541-42.720-51.339-42.601Q-51.137-42.481-51.011-42.296Q-50.884-42.112-50.884-41.869L-50.884-40.293Q-50.884-40.177-50.823-40.081Q-50.761-39.986-50.648-39.986Q-50.539-39.986-50.474-40.080Q-50.409-40.174-50.409-40.293L-50.409-40.741L-50.143-40.741L-50.143-40.293Q-50.143-40.023-50.370-39.858Q-50.597-39.692-50.877-39.692Q-51.086-39.692-51.223-39.846Q-51.359-39.999-51.383-40.215Q-51.530-39.948-51.812-39.803Q-52.094-39.658-52.419-39.658Q-52.696-39.658-52.980-39.733Q-53.263-39.808-53.456-39.987Q-53.649-40.167-53.649-40.454M-53.034-40.454Q-53.034-40.280-52.933-40.150Q-52.833-40.020-52.677-39.950Q-52.522-39.880-52.357-39.880Q-52.139-39.880-51.930-39.977Q-51.722-40.075-51.594-40.256Q-51.465-40.437-51.465-40.663L-51.465-41.391Q-51.790-41.391-52.156-41.300Q-52.522-41.209-52.778-40.997Q-53.034-40.786-53.034-40.454M-48.058-39.726L-49.661-39.726L-49.661-40.006Q-49.435-40.006-49.286-40.040Q-49.138-40.075-49.138-40.215L-49.138-43.834Q-49.138-44.104-49.245-44.166Q-49.353-44.227-49.661-44.227L-49.661-44.508L-48.584-44.583L-48.584-40.215Q-48.584-40.078-48.434-40.042Q-48.283-40.006-48.058-40.006L-48.058-39.726M-45.795-39.726L-47.398-39.726L-47.398-40.006Q-47.172-40.006-47.024-40.040Q-46.875-40.075-46.875-40.215L-46.875-43.834Q-46.875-44.104-46.983-44.166Q-47.090-44.227-47.398-44.227L-47.398-44.508L-46.321-44.583L-46.321-40.215Q-46.321-40.078-46.171-40.042Q-46.021-40.006-45.795-40.006",[912],[882,4510,4511],{"transform":4504},[887,4512],{"d":4513,"fill":893,"stroke":893,"className":4514,"style":2672},"M-37.485-38.417L-41.898-38.417Q-41.966-38.427-42.012-38.473Q-42.059-38.519-42.059-38.591Q-42.059-38.735-41.898-38.759L-37.485-38.759Q-37.325-38.735-37.325-38.591Q-37.325-38.519-37.371-38.473Q-37.417-38.427-37.485-38.417M-37.578-39.979L-41.966-42.091Q-42.059-42.125-42.059-42.238Q-42.059-42.348-41.966-42.392L-37.578-44.501Q-37.547-44.521-37.496-44.521Q-37.427-44.521-37.376-44.470Q-37.325-44.419-37.325-44.354Q-37.325-44.248-37.410-44.200L-41.491-42.238L-37.410-40.280Q-37.325-40.232-37.325-40.133Q-37.325-40.061-37.376-40.010Q-37.427-39.958-37.496-39.958Q-37.547-39.958-37.578-39.979",[912],[882,4516,4517],{"transform":4504},[887,4518],{"d":4519,"fill":893,"stroke":893,"className":4520,"style":2672},"M-33.553-39.986Q-33.410-39.880-33.181-39.880Q-32.955-39.880-32.781-40.076Q-32.606-40.273-32.552-40.502L-32.237-41.763Q-32.165-42.030-32.165-42.163Q-32.165-42.354-32.277-42.472Q-32.388-42.590-32.579-42.590Q-32.808-42.590-33.006-42.466Q-33.205-42.341-33.346-42.137Q-33.488-41.934-33.546-41.715Q-33.557-41.650-33.615-41.650L-33.727-41.650Q-33.758-41.650-33.782-41.681Q-33.806-41.712-33.806-41.736L-33.806-41.763Q-33.693-42.190-33.340-42.501Q-32.986-42.812-32.565-42.812Q-32.394-42.812-32.230-42.759Q-32.066-42.706-31.933-42.602Q-31.800-42.498-31.725-42.344Q-31.584-42.549-31.383-42.681Q-31.181-42.812-30.962-42.812Q-30.672-42.812-30.443-42.677Q-30.214-42.542-30.214-42.272Q-30.214-42.153-30.267-42.049Q-30.320-41.944-30.417-41.881Q-30.515-41.818-30.634-41.818Q-30.750-41.818-30.832-41.891Q-30.914-41.965-30.914-42.084Q-30.914-42.225-30.824-42.339Q-30.733-42.454-30.600-42.484Q-30.754-42.590-30.976-42.590Q-31.130-42.590-31.260-42.496Q-31.390-42.402-31.478-42.266Q-31.567-42.129-31.615-41.965L-31.930-40.707Q-31.991-40.423-31.991-40.307Q-31.991-40.116-31.880-39.998Q-31.769-39.880-31.578-39.880Q-31.403-39.880-31.244-39.955Q-31.085-40.030-30.955-40.160Q-30.826-40.290-30.737-40.447Q-30.648-40.604-30.614-40.755Q-30.590-40.816-30.535-40.816L-30.426-40.816Q-30.392-40.816-30.369-40.791Q-30.347-40.765-30.347-40.734Q-30.347-40.721-30.354-40.707Q-30.422-40.427-30.607-40.187Q-30.791-39.948-31.051-39.803Q-31.311-39.658-31.595-39.658Q-31.861-39.658-32.090-39.777Q-32.319-39.897-32.432-40.126Q-32.562-39.928-32.765-39.793Q-32.969-39.658-33.198-39.658Q-33.478-39.658-33.709-39.793Q-33.939-39.928-33.939-40.194Q-33.939-40.375-33.818-40.512Q-33.697-40.649-33.519-40.649Q-33.399-40.649-33.319-40.577Q-33.239-40.505-33.239-40.386Q-33.239-40.246-33.326-40.131Q-33.413-40.017-33.553-39.986",[912],[882,4522,4523],{"transform":4504},[887,4524],{"d":4525,"fill":893,"stroke":893,"className":4526,"style":2672},"M-24.615-37.976Q-25.165-38.376-25.536-38.931Q-25.907-39.487-26.088-40.133Q-26.269-40.779-26.269-41.476Q-26.269-41.989-26.169-42.484Q-26.068-42.980-25.863-43.431Q-25.658-43.882-25.345-44.274Q-25.032-44.665-24.615-44.969Q-24.605-44.973-24.598-44.974Q-24.591-44.976-24.581-44.976L-24.513-44.976Q-24.478-44.976-24.456-44.952Q-24.434-44.928-24.434-44.891Q-24.434-44.846-24.461-44.829Q-24.810-44.528-25.063-44.144Q-25.316-43.759-25.468-43.318Q-25.620-42.877-25.692-42.421Q-25.764-41.965-25.764-41.476Q-25.764-40.475-25.454-39.588Q-25.145-38.701-24.461-38.116Q-24.434-38.099-24.434-38.055Q-24.434-38.017-24.456-37.993Q-24.478-37.969-24.513-37.969L-24.581-37.969Q-24.588-37.973-24.596-37.974Q-24.605-37.976-24.615-37.976",[912],[882,4528,4529],{"transform":4504},[887,4530],{"d":4531,"fill":893,"stroke":893,"className":4532,"style":2672},"M-23.151-39.880Q-23.151-39.928-23.144-39.952L-22.632-42.016Q-22.598-42.143-22.598-42.259Q-22.598-42.399-22.651-42.495Q-22.704-42.590-22.827-42.590Q-23.049-42.590-23.150-42.363Q-23.250-42.136-23.360-41.715Q-23.370-41.650-23.432-41.650L-23.541-41.650Q-23.572-41.650-23.596-41.681Q-23.620-41.712-23.620-41.736L-23.620-41.763Q-23.507-42.197-23.326-42.505Q-23.144-42.812-22.813-42.812Q-22.628-42.812-22.449-42.737Q-22.269-42.662-22.157-42.522Q-22.044-42.382-22.044-42.190Q-21.897-42.375-21.716-42.515Q-21.535-42.655-21.321-42.734Q-21.107-42.812-20.875-42.812Q-20.465-42.812-20.208-42.616Q-19.952-42.419-19.952-42.023Q-19.952-41.739-20.080-41.341Q-20.208-40.943-20.407-40.454Q-20.482-40.259-20.482-40.112Q-20.482-39.880-20.314-39.880Q-20.038-39.880-19.844-40.157Q-19.651-40.434-19.573-40.755Q-19.549-40.816-19.497-40.816L-19.385-40.816Q-19.351-40.816-19.328-40.787Q-19.306-40.758-19.306-40.734Q-19.306-40.721-19.313-40.707Q-19.374-40.457-19.516-40.215Q-19.658-39.972-19.867-39.815Q-20.075-39.658-20.328-39.658Q-20.612-39.658-20.813-39.820Q-21.015-39.982-21.015-40.252Q-21.015-40.369-20.967-40.502Q-20.496-41.681-20.496-42.119Q-20.496-42.327-20.591-42.459Q-20.687-42.590-20.889-42.590Q-21.644-42.590-22.170-41.575L-22.584-39.914Q-22.608-39.808-22.702-39.733Q-22.796-39.658-22.912-39.658Q-23.011-39.658-23.081-39.719Q-23.151-39.781-23.151-39.880",[912],[882,4534,4535],{"transform":4504},[887,4536],{"d":4537,"fill":893,"stroke":893,"className":4538,"style":2672},"M-11.840-41.302L-16.253-41.302Q-16.321-41.312-16.367-41.358Q-16.414-41.404-16.414-41.476Q-16.414-41.620-16.253-41.643L-11.840-41.643Q-11.680-41.620-11.680-41.476Q-11.680-41.404-11.726-41.358Q-11.772-41.312-11.840-41.302",[912],[882,4540,4541],{"transform":4504},[887,4542],{"d":4543,"fill":893,"stroke":893,"className":4544,"style":2672},"M-5.772-39.726L-8.302-39.726L-8.302-40.006Q-7.334-40.006-7.334-40.215L-7.334-43.834Q-7.727-43.646-8.349-43.646L-8.349-43.927Q-7.932-43.927-7.568-44.028Q-7.204-44.128-6.948-44.374L-6.822-44.374Q-6.757-44.357-6.740-44.289L-6.740-40.215Q-6.740-40.006-5.772-40.006",[912],[882,4546,4547],{"transform":4504},[887,4548],{"d":4549,"fill":893,"stroke":893,"className":4550,"style":2672},"M-2.145-41.261Q-2.145-41.582-2.020-41.871Q-1.895-42.160-1.669-42.383Q-1.444-42.607-1.148-42.727Q-0.853-42.847-0.535-42.847Q-0.207-42.847 0.055-42.747Q0.316-42.648 0.492-42.466Q0.668-42.283 0.762-42.025Q0.856-41.767 0.856-41.435Q0.856-41.343 0.774-41.322L-1.481-41.322L-1.481-41.261Q-1.481-40.673-1.198-40.290Q-0.914-39.907-0.347-39.907Q-0.025-39.907 0.243-40.100Q0.511-40.293 0.600-40.608Q0.607-40.649 0.682-40.663L0.774-40.663Q0.856-40.639 0.856-40.567Q0.856-40.560 0.850-40.533Q0.737-40.136 0.366-39.897Q-0.005-39.658-0.429-39.658Q-0.866-39.658-1.266-39.866Q-1.666-40.075-1.905-40.442Q-2.145-40.809-2.145-41.261M-1.475-41.531L0.340-41.531Q0.340-41.808 0.243-42.060Q0.145-42.313-0.053-42.469Q-0.251-42.624-0.535-42.624Q-0.812-42.624-1.025-42.466Q-1.239-42.307-1.357-42.052Q-1.475-41.797-1.475-41.531M3.112-39.726L1.509-39.726L1.509-40.006Q1.735-40.006 1.884-40.040Q2.032-40.075 2.032-40.215L2.032-43.834Q2.032-44.104 1.925-44.166Q1.817-44.227 1.509-44.227L1.509-44.508L2.586-44.583L2.586-40.215Q2.586-40.078 2.736-40.042Q2.887-40.006 3.112-40.006L3.112-39.726M3.666-41.261Q3.666-41.582 3.791-41.871Q3.915-42.160 4.141-42.383Q4.367-42.607 4.662-42.727Q4.958-42.847 5.276-42.847Q5.604-42.847 5.865-42.747Q6.127-42.648 6.303-42.466Q6.479-42.283 6.573-42.025Q6.667-41.767 6.667-41.435Q6.667-41.343 6.585-41.322L4.329-41.322L4.329-41.261Q4.329-40.673 4.613-40.290Q4.896-39.907 5.464-39.907Q5.785-39.907 6.053-40.100Q6.322-40.293 6.411-40.608Q6.417-40.649 6.493-40.663L6.585-40.663Q6.667-40.639 6.667-40.567Q6.667-40.560 6.660-40.533Q6.547-40.136 6.176-39.897Q5.806-39.658 5.382-39.658Q4.944-39.658 4.544-39.866Q4.144-40.075 3.905-40.442Q3.666-40.809 3.666-41.261M4.336-41.531L6.151-41.531Q6.151-41.808 6.053-42.060Q5.956-42.313 5.758-42.469Q5.560-42.624 5.276-42.624Q4.999-42.624 4.785-42.466Q4.572-42.307 4.454-42.052Q4.336-41.797 4.336-41.531M8.936-39.726L7.303-39.726L7.303-40.006Q7.532-40.006 7.680-40.040Q7.829-40.075 7.829-40.215L7.829-42.064Q7.829-42.334 7.721-42.395Q7.614-42.457 7.303-42.457L7.303-42.737L8.362-42.812L8.362-42.163Q8.533-42.471 8.837-42.642Q9.142-42.812 9.487-42.812Q9.887-42.812 10.164-42.672Q10.440-42.532 10.526-42.184Q10.693-42.477 10.992-42.645Q11.291-42.812 11.637-42.812Q12.143-42.812 12.426-42.589Q12.710-42.365 12.710-41.869L12.710-40.215Q12.710-40.078 12.859-40.042Q13.007-40.006 13.233-40.006L13.233-39.726L11.603-39.726L11.603-40.006Q11.828-40.006 11.978-40.042Q12.129-40.078 12.129-40.215L12.129-41.855Q12.129-42.190 12.009-42.390Q11.890-42.590 11.575-42.590Q11.305-42.590 11.071-42.454Q10.837-42.317 10.698-42.083Q10.560-41.849 10.560-41.575L10.560-40.215Q10.560-40.078 10.709-40.042Q10.857-40.006 11.083-40.006L11.083-39.726L9.453-39.726L9.453-40.006Q9.682-40.006 9.830-40.040Q9.979-40.075 9.979-40.215L9.979-41.855Q9.979-42.190 9.859-42.390Q9.740-42.590 9.425-42.590Q9.155-42.590 8.921-42.454Q8.687-42.317 8.549-42.083Q8.410-41.849 8.410-41.575L8.410-40.215Q8.410-40.078 8.561-40.042Q8.711-40.006 8.936-40.006L8.936-39.726M13.780-41.261Q13.780-41.582 13.905-41.871Q14.029-42.160 14.255-42.383Q14.480-42.607 14.776-42.727Q15.072-42.847 15.390-42.847Q15.718-42.847 15.979-42.747Q16.241-42.648 16.417-42.466Q16.593-42.283 16.687-42.025Q16.781-41.767 16.781-41.435Q16.781-41.343 16.699-41.322L14.443-41.322L14.443-41.261Q14.443-40.673 14.727-40.290Q15.010-39.907 15.578-39.907Q15.899-39.907 16.167-40.100Q16.436-40.293 16.524-40.608Q16.531-40.649 16.606-40.663L16.699-40.663Q16.781-40.639 16.781-40.567Q16.781-40.560 16.774-40.533Q16.661-40.136 16.290-39.897Q15.919-39.658 15.496-39.658Q15.058-39.658 14.658-39.866Q14.258-40.075 14.019-40.442Q13.780-40.809 13.780-41.261M14.450-41.531L16.265-41.531Q16.265-41.808 16.167-42.060Q16.070-42.313 15.872-42.469Q15.673-42.624 15.390-42.624Q15.113-42.624 14.899-42.466Q14.686-42.307 14.568-42.052Q14.450-41.797 14.450-41.531M19.050-39.726L17.416-39.726L17.416-40.006Q17.645-40.006 17.794-40.040Q17.943-40.075 17.943-40.215L17.943-42.064Q17.943-42.334 17.835-42.395Q17.728-42.457 17.416-42.457L17.416-42.737L18.476-42.812L18.476-42.163Q18.647-42.471 18.951-42.642Q19.255-42.812 19.601-42.812Q20.106-42.812 20.390-42.589Q20.674-42.365 20.674-41.869L20.674-40.215Q20.674-40.078 20.822-40.042Q20.971-40.006 21.197-40.006L21.197-39.726L19.566-39.726L19.566-40.006Q19.795-40.006 19.944-40.040Q20.093-40.075 20.093-40.215L20.093-41.855Q20.093-42.190 19.973-42.390Q19.853-42.590 19.539-42.590Q19.269-42.590 19.035-42.454Q18.801-42.317 18.662-42.083Q18.524-41.849 18.524-41.575L18.524-40.215Q18.524-40.078 18.674-40.042Q18.825-40.006 19.050-40.006",[912],[882,4552,4553],{"transform":4504},[887,4554],{"d":4555,"fill":893,"stroke":893,"className":4556,"style":2672},"M22.125-40.567L22.125-42.464L21.486-42.464L21.486-42.686Q21.804-42.686 22.021-42.896Q22.238-43.106 22.338-43.416Q22.439-43.725 22.439-44.033L22.706-44.033L22.706-42.744L23.783-42.744L23.783-42.464L22.706-42.464L22.706-40.580Q22.706-40.304 22.810-40.105Q22.914-39.907 23.174-39.907Q23.331-39.907 23.437-40.011Q23.543-40.116 23.593-40.269Q23.642-40.423 23.642-40.580L23.642-40.994L23.909-40.994L23.909-40.567Q23.909-40.341 23.810-40.131Q23.711-39.921 23.526-39.789Q23.342-39.658 23.113-39.658Q22.675-39.658 22.400-39.895Q22.125-40.133 22.125-40.567M24.719-39.733L24.719-40.796Q24.719-40.820 24.746-40.847Q24.774-40.874 24.798-40.874L24.907-40.874Q24.972-40.874 24.986-40.816Q25.081-40.382 25.327-40.131Q25.574-39.880 25.987-39.880Q26.329-39.880 26.582-40.013Q26.835-40.146 26.835-40.454Q26.835-40.611 26.741-40.726Q26.647-40.840 26.508-40.909Q26.370-40.977 26.202-41.015L25.621-41.114Q25.266-41.182 24.992-41.403Q24.719-41.623 24.719-41.965Q24.719-42.214 24.830-42.389Q24.941-42.563 25.128-42.662Q25.314-42.761 25.529-42.804Q25.744-42.847 25.987-42.847Q26.401-42.847 26.681-42.665L26.896-42.840Q26.907-42.843 26.913-42.845Q26.920-42.847 26.930-42.847L26.982-42.847Q27.009-42.847 27.033-42.823Q27.057-42.799 27.057-42.771L27.057-41.924Q27.057-41.903 27.033-41.876Q27.009-41.849 26.982-41.849L26.869-41.849Q26.842-41.849 26.816-41.874Q26.790-41.900 26.790-41.924Q26.790-42.160 26.684-42.324Q26.578-42.488 26.396-42.570Q26.213-42.652 25.980-42.652Q25.652-42.652 25.396-42.549Q25.139-42.447 25.139-42.170Q25.139-41.975 25.322-41.866Q25.505-41.756 25.734-41.715L26.308-41.609Q26.555-41.561 26.768-41.433Q26.982-41.305 27.118-41.102Q27.255-40.898 27.255-40.649Q27.255-40.136 26.889-39.897Q26.524-39.658 25.987-39.658Q25.492-39.658 25.160-39.952L24.893-39.678Q24.873-39.658 24.846-39.658L24.798-39.658Q24.774-39.658 24.746-39.685Q24.719-39.712 24.719-39.733M28.205-37.969L28.137-37.969Q28.103-37.969 28.081-37.995Q28.058-38.020 28.058-38.055Q28.058-38.099 28.089-38.116Q28.445-38.420 28.694-38.810Q28.944-39.200 29.096-39.632Q29.248-40.064 29.318-40.533Q29.388-41.001 29.388-41.476Q29.388-41.955 29.318-42.421Q29.248-42.888 29.094-43.323Q28.940-43.759 28.689-44.147Q28.438-44.535 28.089-44.829Q28.058-44.846 28.058-44.891Q28.058-44.925 28.081-44.950Q28.103-44.976 28.137-44.976L28.205-44.976Q28.216-44.976 28.224-44.974Q28.233-44.973 28.243-44.969Q28.786-44.569 29.159-44.016Q29.532-43.462 29.713-42.816Q29.894-42.170 29.894-41.476Q29.894-40.775 29.713-40.128Q29.532-39.480 29.157-38.926Q28.783-38.372 28.243-37.976Q28.233-37.976 28.224-37.974Q28.216-37.973 28.205-37.969",[912],[882,4558,4560],{"transform":4559},"translate(133.16 26.616)",[887,4561],{"d":4562,"fill":884,"stroke":884,"className":4563,"style":2672},"M-53.649-40.454Q-53.649-40.786-53.426-41.013Q-53.202-41.240-52.858-41.368Q-52.515-41.497-52.142-41.549Q-51.770-41.602-51.465-41.602L-51.465-41.855Q-51.465-42.060-51.573-42.240Q-51.681-42.419-51.862-42.522Q-52.043-42.624-52.251-42.624Q-52.658-42.624-52.894-42.532Q-52.805-42.495-52.759-42.411Q-52.713-42.327-52.713-42.225Q-52.713-42.129-52.759-42.050Q-52.805-41.972-52.886-41.927Q-52.966-41.883-53.055-41.883Q-53.205-41.883-53.306-41.980Q-53.407-42.078-53.407-42.225Q-53.407-42.847-52.251-42.847Q-52.040-42.847-51.790-42.783Q-51.541-42.720-51.339-42.601Q-51.137-42.481-51.011-42.296Q-50.884-42.112-50.884-41.869L-50.884-40.293Q-50.884-40.177-50.823-40.081Q-50.761-39.986-50.648-39.986Q-50.539-39.986-50.474-40.080Q-50.409-40.174-50.409-40.293L-50.409-40.741L-50.143-40.741L-50.143-40.293Q-50.143-40.023-50.370-39.858Q-50.597-39.692-50.877-39.692Q-51.086-39.692-51.223-39.846Q-51.359-39.999-51.383-40.215Q-51.530-39.948-51.812-39.803Q-52.094-39.658-52.419-39.658Q-52.696-39.658-52.980-39.733Q-53.263-39.808-53.456-39.987Q-53.649-40.167-53.649-40.454M-53.034-40.454Q-53.034-40.280-52.933-40.150Q-52.833-40.020-52.677-39.950Q-52.522-39.880-52.357-39.880Q-52.139-39.880-51.930-39.977Q-51.722-40.075-51.594-40.256Q-51.465-40.437-51.465-40.663L-51.465-41.391Q-51.790-41.391-52.156-41.300Q-52.522-41.209-52.778-40.997Q-53.034-40.786-53.034-40.454M-48.058-39.726L-49.661-39.726L-49.661-40.006Q-49.435-40.006-49.286-40.040Q-49.138-40.075-49.138-40.215L-49.138-43.834Q-49.138-44.104-49.245-44.166Q-49.353-44.227-49.661-44.227L-49.661-44.508L-48.584-44.583L-48.584-40.215Q-48.584-40.078-48.434-40.042Q-48.283-40.006-48.058-40.006L-48.058-39.726M-47.504-41.209Q-47.504-41.551-47.369-41.850Q-47.234-42.149-46.995-42.373Q-46.755-42.597-46.438-42.722Q-46.120-42.847-45.788-42.847Q-45.344-42.847-44.944-42.631Q-44.544-42.416-44.310-42.038Q-44.076-41.661-44.076-41.209Q-44.076-40.868-44.218-40.584Q-44.359-40.300-44.604-40.093Q-44.848-39.887-45.157-39.772Q-45.467-39.658-45.788-39.658Q-46.219-39.658-46.620-39.859Q-47.022-40.061-47.263-40.413Q-47.504-40.765-47.504-41.209M-45.788-39.907Q-45.187-39.907-44.963-40.285Q-44.739-40.663-44.739-41.295Q-44.739-41.907-44.973-42.266Q-45.207-42.624-45.788-42.624Q-46.841-42.624-46.841-41.295Q-46.841-40.663-46.615-40.285Q-46.390-39.907-45.788-39.907M-41.799-39.726L-43.433-39.726L-43.433-40.006Q-43.204-40.006-43.055-40.040Q-42.907-40.075-42.907-40.215L-42.907-42.064Q-42.907-42.334-43.014-42.395Q-43.122-42.457-43.433-42.457L-43.433-42.737L-42.374-42.812L-42.374-42.163Q-42.203-42.471-41.898-42.642Q-41.594-42.812-41.249-42.812Q-40.743-42.812-40.459-42.589Q-40.176-42.365-40.176-41.869L-40.176-40.215Q-40.176-40.078-40.027-40.042Q-39.878-40.006-39.653-40.006L-39.653-39.726L-41.283-39.726L-41.283-40.006Q-41.054-40.006-40.906-40.040Q-40.757-40.075-40.757-40.215L-40.757-41.855Q-40.757-42.190-40.876-42.390Q-40.996-42.590-41.311-42.590Q-41.581-42.590-41.815-42.454Q-42.049-42.317-42.187-42.083Q-42.326-41.849-42.326-41.575L-42.326-40.215Q-42.326-40.078-42.175-40.042Q-42.025-40.006-41.799-40.006L-41.799-39.726M-39.106-41.261Q-39.106-41.582-38.981-41.871Q-38.856-42.160-38.631-42.383Q-38.405-42.607-38.110-42.727Q-37.814-42.847-37.496-42.847Q-37.168-42.847-36.907-42.747Q-36.645-42.648-36.469-42.466Q-36.293-42.283-36.199-42.025Q-36.105-41.767-36.105-41.435Q-36.105-41.343-36.187-41.322L-38.443-41.322L-38.443-41.261Q-38.443-40.673-38.159-40.290Q-37.876-39.907-37.308-39.907Q-36.987-39.907-36.719-40.100Q-36.450-40.293-36.361-40.608Q-36.355-40.649-36.279-40.663L-36.187-40.663Q-36.105-40.639-36.105-40.567Q-36.105-40.560-36.112-40.533Q-36.225-40.136-36.595-39.897Q-36.966-39.658-37.390-39.658Q-37.828-39.658-38.228-39.866Q-38.627-40.075-38.867-40.442Q-39.106-40.809-39.106-41.261M-38.436-41.531L-36.621-41.531Q-36.621-41.808-36.719-42.060Q-36.816-42.313-37.014-42.469Q-37.212-42.624-37.496-42.624Q-37.773-42.624-37.987-42.466Q-38.200-42.307-38.318-42.052Q-38.436-41.797-38.436-41.531",[912],[882,4565,4566],{"fill":3282,"stroke":3282},[882,4567,4568,4575,4581,4587,4593],{"fill":3282,"stroke":902,"fontFamily":4469,"fontSize":2388},[882,4569,4571],{"transform":4570},"translate(174.25 1.75)",[887,4572],{"d":4573,"fill":3282,"stroke":3282,"className":4574,"style":2672},"M-51.958-39.726L-53.694-39.726L-53.694-40.006Q-53.465-40.006-53.316-40.040Q-53.168-40.075-53.168-40.215L-53.168-42.064Q-53.168-42.334-53.275-42.395Q-53.383-42.457-53.694-42.457L-53.694-42.737L-52.665-42.812L-52.665-42.105Q-52.535-42.413-52.293-42.612Q-52.050-42.812-51.732-42.812Q-51.513-42.812-51.342-42.688Q-51.171-42.563-51.171-42.351Q-51.171-42.214-51.271-42.115Q-51.370-42.016-51.503-42.016Q-51.640-42.016-51.739-42.115Q-51.838-42.214-51.838-42.351Q-51.838-42.491-51.739-42.590Q-52.029-42.590-52.229-42.394Q-52.429-42.197-52.522-41.903Q-52.614-41.609-52.614-41.329L-52.614-40.215Q-52.614-40.006-51.958-40.006L-51.958-39.726M-48.970-39.726L-50.522-39.726L-50.522-40.006Q-50.296-40.006-50.148-40.040Q-49.999-40.075-49.999-40.215L-49.999-42.064Q-49.999-42.252-50.047-42.336Q-50.095-42.419-50.192-42.438Q-50.290-42.457-50.501-42.457L-50.501-42.737L-49.445-42.812L-49.445-40.215Q-49.445-40.075-49.314-40.040Q-49.182-40.006-48.970-40.006L-48.970-39.726M-50.242-44.033Q-50.242-44.204-50.119-44.323Q-49.996-44.443-49.825-44.443Q-49.657-44.443-49.534-44.323Q-49.411-44.204-49.411-44.033Q-49.411-43.858-49.534-43.735Q-49.657-43.612-49.825-43.612Q-49.996-43.612-50.119-43.735Q-50.242-43.858-50.242-44.033M-48.365-39.193Q-48.365-39.439-48.169-39.623Q-47.972-39.808-47.716-39.887Q-47.853-39.999-47.924-40.160Q-47.996-40.321-47.996-40.502Q-47.996-40.823-47.784-41.069Q-48.119-41.367-48.119-41.777Q-48.119-42.238-47.730-42.525Q-47.340-42.812-46.861-42.812Q-46.390-42.812-46.055-42.566Q-45.880-42.720-45.670-42.802Q-45.460-42.884-45.231-42.884Q-45.067-42.884-44.946-42.777Q-44.824-42.669-44.824-42.505Q-44.824-42.409-44.896-42.337Q-44.968-42.266-45.060-42.266Q-45.159-42.266-45.229-42.339Q-45.299-42.413-45.299-42.512Q-45.299-42.566-45.286-42.597L-45.279-42.611Q-45.272-42.631-45.263-42.642Q-45.255-42.652-45.251-42.659Q-45.607-42.659-45.894-42.436Q-45.607-42.143-45.607-41.777Q-45.607-41.462-45.792-41.230Q-45.976-40.997-46.265-40.869Q-46.554-40.741-46.861-40.741Q-47.063-40.741-47.254-40.791Q-47.446-40.840-47.624-40.950Q-47.716-40.823-47.716-40.680Q-47.716-40.498-47.588-40.363Q-47.459-40.228-47.275-40.228L-46.643-40.228Q-46.195-40.228-45.826-40.157Q-45.457-40.085-45.197-39.856Q-44.937-39.627-44.937-39.193Q-44.937-38.872-45.233-38.670Q-45.528-38.468-45.932-38.379Q-46.335-38.290-46.649-38.290Q-46.967-38.290-47.371-38.379Q-47.774-38.468-48.070-38.670Q-48.365-38.872-48.365-39.193M-47.911-39.193Q-47.911-38.964-47.692-38.815Q-47.473-38.666-47.181-38.598Q-46.889-38.530-46.649-38.530Q-46.485-38.530-46.277-38.566Q-46.068-38.601-45.862-38.682Q-45.655-38.762-45.523-38.890Q-45.392-39.018-45.392-39.193Q-45.392-39.545-45.773-39.639Q-46.154-39.733-46.656-39.733L-47.275-39.733Q-47.514-39.733-47.712-39.582Q-47.911-39.432-47.911-39.193M-46.861-40.980Q-46.195-40.980-46.195-41.777Q-46.195-42.577-46.861-42.577Q-47.531-42.577-47.531-41.777Q-47.531-40.980-46.861-40.980M-42.661-39.726L-44.294-39.726L-44.294-40.006Q-44.065-40.006-43.917-40.040Q-43.768-40.075-43.768-40.215L-43.768-43.834Q-43.768-44.104-43.876-44.166Q-43.983-44.227-44.294-44.227L-44.294-44.508L-43.214-44.583L-43.214-42.197Q-43.108-42.382-42.931-42.524Q-42.753-42.665-42.544-42.739Q-42.336-42.812-42.110-42.812Q-41.605-42.812-41.321-42.589Q-41.037-42.365-41.037-41.869L-41.037-40.215Q-41.037-40.078-40.888-40.042Q-40.740-40.006-40.514-40.006L-40.514-39.726L-42.145-39.726L-42.145-40.006Q-41.916-40.006-41.767-40.040Q-41.618-40.075-41.618-40.215L-41.618-41.855Q-41.618-42.190-41.738-42.390Q-41.857-42.590-42.172-42.590Q-42.442-42.590-42.676-42.454Q-42.910-42.317-43.049-42.083Q-43.187-41.849-43.187-41.575L-43.187-40.215Q-43.187-40.078-43.037-40.042Q-42.886-40.006-42.661-40.006",[912],[882,4576,4577],{"transform":4570},[887,4578],{"d":4579,"fill":3282,"stroke":3282,"className":4580,"style":2672},"M-39.605-40.567L-39.605-42.464L-40.244-42.464L-40.244-42.686Q-39.926-42.686-39.709-42.896Q-39.492-43.106-39.392-43.416Q-39.291-43.725-39.291-44.033L-39.024-44.033L-39.024-42.744L-37.947-42.744L-37.947-42.464L-39.024-42.464L-39.024-40.580Q-39.024-40.304-38.920-40.105Q-38.816-39.907-38.556-39.907Q-38.399-39.907-38.293-40.011Q-38.187-40.116-38.137-40.269Q-38.088-40.423-38.088-40.580L-38.088-40.994L-37.821-40.994L-37.821-40.567Q-37.821-40.341-37.920-40.131Q-38.019-39.921-38.204-39.789Q-38.388-39.658-38.617-39.658Q-39.055-39.658-39.330-39.895Q-39.605-40.133-39.605-40.567",[912],[882,4582,4583],{"transform":4570},[887,4584],{"d":4585,"fill":3282,"stroke":3282,"className":4586,"style":2672},"M-34.312-39.733L-34.312-40.796Q-34.312-40.820-34.284-40.847Q-34.257-40.874-34.233-40.874L-34.124-40.874Q-34.059-40.874-34.045-40.816Q-33.949-40.382-33.703-40.131Q-33.457-39.880-33.043-39.880Q-32.702-39.880-32.449-40.013Q-32.196-40.146-32.196-40.454Q-32.196-40.611-32.290-40.726Q-32.384-40.840-32.522-40.909Q-32.661-40.977-32.828-41.015L-33.409-41.114Q-33.765-41.182-34.038-41.403Q-34.312-41.623-34.312-41.965Q-34.312-42.214-34.200-42.389Q-34.089-42.563-33.903-42.662Q-33.717-42.761-33.501-42.804Q-33.286-42.847-33.043-42.847Q-32.630-42.847-32.350-42.665L-32.134-42.840Q-32.124-42.843-32.117-42.845Q-32.110-42.847-32.100-42.847L-32.049-42.847Q-32.022-42.847-31.998-42.823Q-31.974-42.799-31.974-42.771L-31.974-41.924Q-31.974-41.903-31.998-41.876Q-32.022-41.849-32.049-41.849L-32.162-41.849Q-32.189-41.849-32.215-41.874Q-32.240-41.900-32.240-41.924Q-32.240-42.160-32.346-42.324Q-32.452-42.488-32.635-42.570Q-32.818-42.652-33.050-42.652Q-33.378-42.652-33.635-42.549Q-33.891-42.447-33.891-42.170Q-33.891-41.975-33.708-41.866Q-33.525-41.756-33.296-41.715L-32.722-41.609Q-32.476-41.561-32.262-41.433Q-32.049-41.305-31.912-41.102Q-31.775-40.898-31.775-40.649Q-31.775-40.136-32.141-39.897Q-32.507-39.658-33.043-39.658Q-33.539-39.658-33.871-39.952L-34.137-39.678Q-34.158-39.658-34.185-39.658L-34.233-39.658Q-34.257-39.658-34.284-39.685Q-34.312-39.712-34.312-39.733M-29.530-39.726L-31.082-39.726L-31.082-40.006Q-30.856-40.006-30.707-40.040Q-30.559-40.075-30.559-40.215L-30.559-42.064Q-30.559-42.252-30.606-42.336Q-30.654-42.419-30.752-42.438Q-30.849-42.457-31.061-42.457L-31.061-42.737L-30.005-42.812L-30.005-40.215Q-30.005-40.075-29.873-40.040Q-29.742-40.006-29.530-40.006L-29.530-39.726M-30.801-44.033Q-30.801-44.204-30.678-44.323Q-30.555-44.443-30.384-44.443Q-30.217-44.443-30.094-44.323Q-29.971-44.204-29.971-44.033Q-29.971-43.858-30.094-43.735Q-30.217-43.612-30.384-43.612Q-30.555-43.612-30.678-43.735Q-30.801-43.858-30.801-44.033M-28.884-41.237Q-28.884-41.575-28.744-41.866Q-28.604-42.156-28.359-42.370Q-28.115-42.583-27.811-42.698Q-27.506-42.812-27.182-42.812Q-26.912-42.812-26.648-42.713Q-26.385-42.614-26.194-42.436L-26.194-43.834Q-26.194-44.104-26.302-44.166Q-26.409-44.227-26.720-44.227L-26.720-44.508L-25.644-44.583L-25.644-40.399Q-25.644-40.211-25.589-40.128Q-25.534-40.044-25.433-40.025Q-25.333-40.006-25.117-40.006L-25.117-39.726L-26.225-39.658L-26.225-40.075Q-26.642-39.658-27.267-39.658Q-27.698-39.658-28.070-39.870Q-28.443-40.081-28.663-40.442Q-28.884-40.803-28.884-41.237M-27.209-39.880Q-27.001-39.880-26.814-39.952Q-26.628-40.023-26.474-40.160Q-26.320-40.297-26.225-40.475L-26.225-42.084Q-26.310-42.231-26.455-42.351Q-26.601-42.471-26.770-42.530Q-26.939-42.590-27.120-42.590Q-27.681-42.590-27.949-42.201Q-28.217-41.811-28.217-41.230Q-28.217-40.659-27.983-40.269Q-27.749-39.880-27.209-39.880M-24.509-41.261Q-24.509-41.582-24.384-41.871Q-24.259-42.160-24.034-42.383Q-23.808-42.607-23.512-42.727Q-23.217-42.847-22.899-42.847Q-22.571-42.847-22.309-42.747Q-22.048-42.648-21.872-42.466Q-21.696-42.283-21.602-42.025Q-21.508-41.767-21.508-41.435Q-21.508-41.343-21.590-41.322L-23.846-41.322L-23.846-41.261Q-23.846-40.673-23.562-40.290Q-23.278-39.907-22.711-39.907Q-22.390-39.907-22.121-40.100Q-21.853-40.293-21.764-40.608Q-21.757-40.649-21.682-40.663L-21.590-40.663Q-21.508-40.639-21.508-40.567Q-21.508-40.560-21.515-40.533Q-21.627-40.136-21.998-39.897Q-22.369-39.658-22.793-39.658Q-23.230-39.658-23.630-39.866Q-24.030-40.075-24.270-40.442Q-24.509-40.809-24.509-41.261M-23.839-41.531L-22.024-41.531Q-22.024-41.808-22.121-42.060Q-22.219-42.313-22.417-42.469Q-22.615-42.624-22.899-42.624Q-23.176-42.624-23.389-42.466Q-23.603-42.307-23.721-42.052Q-23.839-41.797-23.839-41.531",[912],[882,4588,4589],{"transform":4570},[887,4590],{"d":4591,"fill":3282,"stroke":3282,"className":4592,"style":2672},"M-18.255-41.261Q-18.255-41.582-18.130-41.871Q-18.005-42.160-17.779-42.383Q-17.554-42.607-17.258-42.727Q-16.963-42.847-16.645-42.847Q-16.317-42.847-16.055-42.747Q-15.794-42.648-15.618-42.466Q-15.442-42.283-15.348-42.025Q-15.254-41.767-15.254-41.435Q-15.254-41.343-15.336-41.322L-17.591-41.322L-17.591-41.261Q-17.591-40.673-17.308-40.290Q-17.024-39.907-16.457-39.907Q-16.135-39.907-15.867-40.100Q-15.599-40.293-15.510-40.608Q-15.503-40.649-15.428-40.663L-15.336-40.663Q-15.254-40.639-15.254-40.567Q-15.254-40.560-15.260-40.533Q-15.373-40.136-15.744-39.897Q-16.115-39.658-16.539-39.658Q-16.976-39.658-17.376-39.866Q-17.776-40.075-18.015-40.442Q-18.255-40.809-18.255-41.261M-17.585-41.531L-15.770-41.531Q-15.770-41.808-15.867-42.060Q-15.965-42.313-16.163-42.469Q-16.361-42.624-16.645-42.624Q-16.922-42.624-17.135-42.466Q-17.349-42.307-17.467-42.052Q-17.585-41.797-17.585-41.531M-12.984-39.726L-14.618-39.726L-14.618-40.006Q-14.389-40.006-14.240-40.040Q-14.091-40.075-14.091-40.215L-14.091-42.064Q-14.091-42.334-14.199-42.395Q-14.307-42.457-14.618-42.457L-14.618-42.737L-13.558-42.812L-13.558-42.163Q-13.387-42.471-13.083-42.642Q-12.779-42.812-12.434-42.812Q-12.034-42.812-11.757-42.672Q-11.480-42.532-11.395-42.184Q-11.227-42.477-10.928-42.645Q-10.629-42.812-10.284-42.812Q-9.778-42.812-9.494-42.589Q-9.211-42.365-9.211-41.869L-9.211-40.215Q-9.211-40.078-9.062-40.042Q-8.913-40.006-8.688-40.006L-8.688-39.726L-10.318-39.726L-10.318-40.006Q-10.092-40.006-9.942-40.042Q-9.792-40.078-9.792-40.215L-9.792-41.855Q-9.792-42.190-9.911-42.390Q-10.031-42.590-10.345-42.590Q-10.615-42.590-10.850-42.454Q-11.084-42.317-11.222-42.083Q-11.361-41.849-11.361-41.575L-11.361-40.215Q-11.361-40.078-11.212-40.042Q-11.063-40.006-10.838-40.006L-10.838-39.726L-12.468-39.726L-12.468-40.006Q-12.239-40.006-12.090-40.040Q-11.942-40.075-11.942-40.215L-11.942-41.855Q-11.942-42.190-12.061-42.390Q-12.181-42.590-12.495-42.590Q-12.765-42.590-12.999-42.454Q-13.234-42.317-13.372-42.083Q-13.510-41.849-13.510-41.575L-13.510-40.215Q-13.510-40.078-13.360-40.042Q-13.210-40.006-12.984-40.006L-12.984-39.726M-6.456-38.369L-8.086-38.369L-8.086-38.649Q-7.857-38.649-7.708-38.684Q-7.560-38.718-7.560-38.858L-7.560-42.204Q-7.560-42.375-7.696-42.416Q-7.833-42.457-8.086-42.457L-8.086-42.737L-7.006-42.812L-7.006-42.406Q-6.784-42.607-6.497-42.710Q-6.210-42.812-5.902-42.812Q-5.475-42.812-5.111-42.599Q-4.747-42.385-4.533-42.021Q-4.320-41.657-4.320-41.237Q-4.320-40.792-4.559-40.428Q-4.798-40.064-5.191-39.861Q-5.584-39.658-6.028-39.658Q-6.295-39.658-6.543-39.758Q-6.791-39.859-6.979-40.040L-6.979-38.858Q-6.979-38.721-6.830-38.685Q-6.681-38.649-6.456-38.649L-6.456-38.369M-6.979-42.057L-6.979-40.447Q-6.845-40.194-6.603-40.037Q-6.360-39.880-6.083-39.880Q-5.755-39.880-5.502-40.081Q-5.249-40.283-5.116-40.601Q-4.983-40.919-4.983-41.237Q-4.983-41.466-5.048-41.695Q-5.112-41.924-5.241-42.122Q-5.369-42.320-5.564-42.440Q-5.758-42.559-5.991-42.559Q-6.285-42.559-6.553-42.430Q-6.821-42.300-6.979-42.057M-3.157-40.567L-3.157-42.464L-3.797-42.464L-3.797-42.686Q-3.479-42.686-3.262-42.896Q-3.045-43.106-2.944-43.416Q-2.843-43.725-2.843-44.033L-2.576-44.033L-2.576-42.744L-1.500-42.744L-1.500-42.464L-2.576-42.464L-2.576-40.580Q-2.576-40.304-2.472-40.105Q-2.368-39.907-2.108-39.907Q-1.951-39.907-1.845-40.011Q-1.739-40.116-1.689-40.269Q-1.640-40.423-1.640-40.580L-1.640-40.994L-1.373-40.994L-1.373-40.567Q-1.373-40.341-1.472-40.131Q-1.571-39.921-1.756-39.789Q-1.941-39.658-2.170-39.658Q-2.607-39.658-2.882-39.895Q-3.157-40.133-3.157-40.567",[912],[882,4594,4595],{"transform":4570},[887,4596],{"d":4597,"fill":3282,"stroke":3282,"className":4598,"style":2672},"M-0.427-38.591Q-0.297-38.523-0.160-38.523Q0.011-38.523 0.161-38.612Q0.312-38.701 0.423-38.846Q0.534-38.991 0.612-39.159L0.876-39.726L-0.293-42.252Q-0.368-42.399-0.498-42.431Q-0.628-42.464-0.861-42.464L-0.861-42.744L0.660-42.744L0.660-42.464Q0.312-42.464 0.312-42.317Q0.315-42.296 0.317-42.279Q0.319-42.262 0.319-42.252L1.176-40.393L1.949-42.064Q1.983-42.132 1.983-42.211Q1.983-42.324 1.899-42.394Q1.816-42.464 1.703-42.464L1.703-42.744L2.899-42.744L2.899-42.464Q2.680-42.464 2.508-42.360Q2.335-42.255 2.243-42.064L0.906-39.159Q0.736-38.789 0.466-38.543Q0.195-38.297-0.160-38.297Q-0.430-38.297-0.649-38.463Q-0.868-38.629-0.868-38.892Q-0.868-39.029-0.775-39.118Q-0.683-39.206-0.543-39.206Q-0.406-39.206-0.317-39.118Q-0.228-39.029-0.228-38.892Q-0.228-38.789-0.281-38.711Q-0.334-38.632-0.427-38.591",[912],[1086,4600,4602,4603,4627,4628,4655,4656,4689],{"className":4601},[1089],"On a sorted array Lomuto's pivot ",[394,4604,4606],{"className":4605},[397],[394,4607,4609],{"className":4608,"ariaHidden":402},[401],[394,4610,4612,4615,4618,4621,4624],{"className":4611},[406],[394,4613],{"className":4614,"style":465},[410],[394,4616,470],{"className":4617},[420,469],[394,4619,475],{"className":4620},[474],[394,4622,487],{"className":4623,"style":486},[420,469],[394,4625,492],{"className":4626},[491]," is the maximum, so every element is ",[394,4629,4631],{"className":4630},[397],[394,4632,4634,4646],{"className":4633,"ariaHidden":402},[401],[394,4635,4637,4640,4643],{"className":4636},[406],[394,4638],{"className":4639,"style":555},[410],[394,4641,560],{"className":4642},[559],[394,4644],{"className":4645,"style":1350},[634],[394,4647,4649,4652],{"className":4648},[406],[394,4650],{"className":4651,"style":799},[410],[394,4653,803],{"className":4654},[420,469],": partition strips off one element and recurses on the other ",[394,4657,4659],{"className":4658},[397],[394,4660,4662,4680],{"className":4661,"ariaHidden":402},[401],[394,4663,4665,4668,4671,4674,4677],{"className":4664},[406],[394,4666],{"className":4667,"style":2286},[410],[394,4669,2250],{"className":4670},[420,469],[394,4672],{"className":4673,"style":635},[634],[394,4675,640],{"className":4676},[639],[394,4678],{"className":4679,"style":635},[634],[394,4681,4683,4686],{"className":4682},[406],[394,4684],{"className":4685,"style":1519},[410],[394,4687,444],{"className":4688},[420],", the maximally lopsided split.",[381,4691,4692,4695],{},[389,4693,4694],{},"Best case."," If every partition splits evenly, the recurrence is the\nmergesort recurrence,",[394,4697,4699],{"className":4698},[3821],[394,4700,4702],{"className":4701},[397],[394,4703,4705,4732,4769,4796],{"className":4704,"ariaHidden":402},[401],[394,4706,4708,4711,4714,4717,4720,4723,4726,4729],{"className":4707},[406],[394,4709],{"className":4710,"style":465},[410],[394,4712,3838],{"className":4713,"style":3837},[420,469],[394,4715,2246],{"className":4716},[474],[394,4718,2250],{"className":4719},[420,469],[394,4721,2254],{"className":4722},[491],[394,4724],{"className":4725,"style":1350},[634],[394,4727,1597],{"className":4728},[559],[394,4730],{"className":4731,"style":1350},[634],[394,4733,4735,4738,4741,4744,4747,4750,4753,4757,4760,4763,4766],{"className":4734},[406],[394,4736],{"className":4737,"style":465},[410],[394,4739,1259],{"className":4740},[420],[394,4742],{"className":4743,"style":2375},[634],[394,4745,3838],{"className":4746,"style":3837},[420,469],[394,4748,2246],{"className":4749},[474],[394,4751,2250],{"className":4752},[420,469],[394,4754,4756],{"className":4755},[420],"\u002F2",[394,4758,2254],{"className":4759},[491],[394,4761],{"className":4762,"style":635},[634],[394,4764,684],{"className":4765},[639],[394,4767],{"className":4768,"style":635},[634],[394,4770,4772,4775,4778,4781,4784,4787,4790,4793],{"className":4771},[406],[394,4773],{"className":4774,"style":465},[410],[394,4776,2242],{"className":4777},[420],[394,4779,2246],{"className":4780},[474],[394,4782,2250],{"className":4783},[420,469],[394,4785,2254],{"className":4786},[491],[394,4788],{"className":4789,"style":1350},[634],[394,4791,1597],{"className":4792},[559],[394,4794],{"className":4795,"style":1350},[634],[394,4797,4799,4802,4805,4808,4811,4814,4824,4827,4830,4833],{"className":4798},[406],[394,4800],{"className":4801,"style":465},[410],[394,4803,2242],{"className":4804},[420],[394,4806,2246],{"className":4807},[474],[394,4809,2250],{"className":4810},[420,469],[394,4812],{"className":4813,"style":2375},[634],[394,4815,4818],{"className":4816},[4817],"mop",[394,4819,4823],{"className":4820,"style":4822},[420,4821],"mathrm","margin-right:0.0139em;","log",[394,4825],{"className":4826,"style":2375},[634],[394,4828,2250],{"className":4829},[420,469],[394,4831,2254],{"className":4832},[491],[394,4834,597],{"className":4835},[420],[381,4837,4838,4841,4842,4858,4859,4874],{},[389,4839,4840],{},"The happy surprise."," Balance need not be perfect. Even a fixed ",[394,4843,4845],{"className":4844},[397],[394,4846,4848],{"className":4847,"ariaHidden":402},[401],[394,4849,4851,4854],{"className":4850},[406],[394,4852],{"className":4853,"style":1519},[410],[394,4855,4857],{"className":4856},[420],"9","-to-",[394,4860,4862],{"className":4861},[397],[394,4863,4865],{"className":4864,"ariaHidden":402},[401],[394,4866,4868,4871],{"className":4867},[406],[394,4869],{"className":4870,"style":1519},[410],[394,4872,444],{"className":4873},[420],"\nsplit gives",[394,4876,4878],{"className":4877},[3821],[394,4879,4881],{"className":4880},[397],[394,4882,4884,4911,4945,4975,5002],{"className":4883,"ariaHidden":402},[401],[394,4885,4887,4890,4893,4896,4899,4902,4905,4908],{"className":4886},[406],[394,4888],{"className":4889,"style":465},[410],[394,4891,3838],{"className":4892,"style":3837},[420,469],[394,4894,2246],{"className":4895},[474],[394,4897,2250],{"className":4898},[420,469],[394,4900,2254],{"className":4901},[491],[394,4903],{"className":4904,"style":1350},[634],[394,4906,1597],{"className":4907},[559],[394,4909],{"className":4910,"style":1350},[634],[394,4912,4914,4917,4920,4923,4926,4929,4933,4936,4939,4942],{"className":4913},[406],[394,4915],{"className":4916,"style":465},[410],[394,4918,3838],{"className":4919,"style":3837},[420,469],[394,4921,2246],{"className":4922},[474],[394,4924,4857],{"className":4925},[420],[394,4927,2250],{"className":4928},[420,469],[394,4930,4932],{"className":4931},[420],"\u002F10",[394,4934,2254],{"className":4935},[491],[394,4937],{"className":4938,"style":635},[634],[394,4940,684],{"className":4941},[639],[394,4943],{"className":4944,"style":635},[634],[394,4946,4948,4951,4954,4957,4960,4963,4966,4969,4972],{"className":4947},[406],[394,4949],{"className":4950,"style":465},[410],[394,4952,3838],{"className":4953,"style":3837},[420,469],[394,4955,2246],{"className":4956},[474],[394,4958,2250],{"className":4959},[420,469],[394,4961,4932],{"className":4962},[420],[394,4964,2254],{"className":4965},[491],[394,4967],{"className":4968,"style":635},[634],[394,4970,684],{"className":4971},[639],[394,4973],{"className":4974,"style":635},[634],[394,4976,4978,4981,4984,4987,4990,4993,4996,4999],{"className":4977},[406],[394,4979],{"className":4980,"style":465},[410],[394,4982,2242],{"className":4983},[420],[394,4985,2246],{"className":4986},[474],[394,4988,2250],{"className":4989},[420,469],[394,4991,2254],{"className":4992},[491],[394,4994],{"className":4995,"style":1350},[634],[394,4997,1597],{"className":4998},[559],[394,5000],{"className":5001,"style":1350},[634],[394,5003,5005,5008,5011,5014,5017,5020,5026,5029,5032,5035],{"className":5004},[406],[394,5006],{"className":5007,"style":465},[410],[394,5009,2242],{"className":5010},[420],[394,5012,2246],{"className":5013},[474],[394,5015,2250],{"className":5016},[420,469],[394,5018],{"className":5019,"style":2375},[634],[394,5021,5023],{"className":5022},[4817],[394,5024,4823],{"className":5025,"style":4822},[420,4821],[394,5027],{"className":5028,"style":2375},[634],[394,5030,2250],{"className":5031},[420,469],[394,5033,2254],{"className":5034},[491],[394,5036,2371],{"className":5037},[2370],[381,5039,5040,5041,5074,5075,5091,5092,5117,5118,5121,5122,5161,5162,5165],{},"because the recursion tree still has only ",[394,5042,5044],{"className":5043},[397],[394,5045,5047],{"className":5046,"ariaHidden":402},[401],[394,5048,5050,5053,5056,5059,5065,5068,5071],{"className":5049},[406],[394,5051],{"className":5052,"style":465},[410],[394,5054,2242],{"className":5055},[420],[394,5057,2246],{"className":5058},[474],[394,5060,5062],{"className":5061},[4817],[394,5063,4823],{"className":5064,"style":4822},[420,4821],[394,5066],{"className":5067,"style":2375},[634],[394,5069,2250],{"className":5070},[420,469],[394,5072,2254],{"className":5073},[491]," levels (the longest\nroot-to-leaf path shrinks by a factor of ",[394,5076,5078],{"className":5077},[397],[394,5079,5081],{"className":5080,"ariaHidden":402},[401],[394,5082,5084,5087],{"className":5083},[406],[394,5085],{"className":5086,"style":465},[410],[394,5088,5090],{"className":5089},[420],"10\u002F9"," each step) and each level does\n",[394,5093,5095],{"className":5094},[397],[394,5096,5098],{"className":5097,"ariaHidden":402},[401],[394,5099,5101,5104,5108,5111,5114],{"className":5100},[406],[394,5102],{"className":5103,"style":465},[410],[394,5105,5107],{"className":5106,"style":486},[420,469],"O",[394,5109,2246],{"className":5110},[474],[394,5112,2250],{"className":5113},[420,469],[394,5115,2254],{"className":5116},[491]," work. ",[431,5119,5120],{},"Any"," split by a constant fraction yields ",[394,5123,5125],{"className":5124},[397],[394,5126,5128],{"className":5127,"ariaHidden":402},[401],[394,5129,5131,5134,5137,5140,5143,5146,5152,5155,5158],{"className":5130},[406],[394,5132],{"className":5133,"style":465},[410],[394,5135,2242],{"className":5136},[420],[394,5138,2246],{"className":5139},[474],[394,5141,2250],{"className":5142},[420,469],[394,5144],{"className":5145,"style":2375},[634],[394,5147,5149],{"className":5148},[4817],[394,5150,4823],{"className":5151,"style":4822},[420,4821],[394,5153],{"className":5154,"style":2375},[634],[394,5156,2250],{"className":5157},[420,469],[394,5159,2254],{"className":5160},[491],". Only\nsplits that are lopsided by a constant ",[431,5163,5164],{},"number"," of elements, like the worst\ncase, push us to quadratic.",[869,5167,5169,5526],{"className":5168},[872,873],[875,5170,5174],{"xmlns":877,"width":5171,"height":5172,"viewBox":5173},"356.732","139.497","-75 -75 267.549 104.623",[882,5175,5176,5215,5227,5230,5249,5252,5268,5271,5288,5291,5307,5310,5326,5329,5345,5348,5352,5355,5358,5361,5365,5368,5371,5374,5377,5380,5383,5429,5440,5443,5463,5466,5485,5507,5510,5514,5517,5520,5523],{"stroke":884,"style":885},[882,5177,5178,5185,5191,5197,5203,5209],{"stroke":902,"fontSize":4857},[882,5179,5181],{"transform":5180},"translate(-115.338 -63.191)",[887,5182],{"d":5183,"fill":884,"stroke":884,"className":5184,"style":2576},"M59.223 1.474L58.933 1.474L58.933-3.852Q58.933-4.094 58.863-4.202Q58.792-4.309 58.658-4.333Q58.524-4.358 58.238-4.358L58.238-4.674L59.610-4.771L59.610-1.971Q59.856-2.222 60.190-2.362Q60.524-2.503 60.875-2.503Q61.275-2.503 61.638-2.340Q62-2.178 62.257-1.899Q62.514-1.620 62.664-1.242Q62.813-0.864 62.813-0.468Q62.813 0.094 62.536 0.560Q62.259 1.026 61.785 1.300Q61.310 1.575 60.761 1.575Q60.396 1.575 60.075 1.406Q59.755 1.237 59.535 0.942L59.223 1.474M59.636-1.558L59.636 0.573Q59.794 0.907 60.078 1.109Q60.361 1.311 60.704 1.311Q61.394 1.311 61.697 0.791Q62 0.270 62-0.468Q62-1.193 61.734-1.719Q61.468-2.244 60.805-2.244Q60.445-2.244 60.130-2.059Q59.816-1.875 59.636-1.558M63.494 0.564Q63.494 0.024 63.927-0.310Q64.360-0.644 64.967-0.783Q65.573-0.921 66.105-0.921L66.105-1.255Q66.105-1.514 65.986-1.758Q65.867-2.002 65.659-2.149Q65.450-2.297 65.177-2.297Q64.615-2.297 64.303-2.099Q64.452-2.072 64.545-1.954Q64.637-1.835 64.637-1.677Q64.637-1.501 64.512-1.371Q64.386-1.242 64.206-1.242Q64.017-1.242 63.890-1.369Q63.762-1.497 63.762-1.677Q63.762-2.147 64.202-2.354Q64.641-2.560 65.177-2.560Q65.467-2.560 65.755-2.472Q66.043-2.384 66.276-2.224Q66.509-2.064 66.658-1.824Q66.808-1.585 66.808-1.290L66.808 0.745Q66.808 0.898 66.883 1.037Q66.957 1.175 67.102 1.175Q67.256 1.175 67.329 1.039Q67.401 0.903 67.401 0.745L67.401 0.169L67.687 0.169L67.687 0.745Q67.687 1.078 67.438 1.303Q67.190 1.527 66.861 1.527Q66.601 1.527 66.419 1.333Q66.237 1.140 66.193 0.863Q66.026 1.184 65.692 1.380Q65.358 1.575 64.988 1.575Q64.435 1.575 63.965 1.327Q63.494 1.078 63.494 0.564M64.250 0.564Q64.250 0.876 64.492 1.094Q64.734 1.311 65.050 1.311Q65.485 1.311 65.795 1.002Q66.105 0.692 66.105 0.261L66.105-0.666Q65.687-0.666 65.261-0.539Q64.835-0.411 64.542-0.134Q64.250 0.142 64.250 0.564M70.113 1.474L68.051 1.474L68.051 1.158Q68.359 1.158 68.550 1.105Q68.741 1.052 68.741 0.863L68.741-3.852Q68.741-4.094 68.671-4.202Q68.601-4.309 68.467-4.333Q68.333-4.358 68.051-4.358L68.051-4.674L69.418-4.771L69.418 0.863Q69.418 1.052 69.612 1.105Q69.805 1.158 70.113 1.158L70.113 1.474M70.679 0.564Q70.679 0.024 71.112-0.310Q71.545-0.644 72.152-0.783Q72.758-0.921 73.290-0.921L73.290-1.255Q73.290-1.514 73.171-1.758Q73.052-2.002 72.844-2.149Q72.635-2.297 72.363-2.297Q71.800-2.297 71.488-2.099Q71.637-2.072 71.730-1.954Q71.822-1.835 71.822-1.677Q71.822-1.501 71.697-1.371Q71.571-1.242 71.391-1.242Q71.202-1.242 71.075-1.369Q70.947-1.497 70.947-1.677Q70.947-2.147 71.387-2.354Q71.826-2.560 72.363-2.560Q72.653-2.560 72.940-2.472Q73.228-2.384 73.461-2.224Q73.694-2.064 73.843-1.824Q73.993-1.585 73.993-1.290L73.993 0.745Q73.993 0.898 74.068 1.037Q74.142 1.175 74.287 1.175Q74.441 1.175 74.514 1.039Q74.586 0.903 74.586 0.745L74.586 0.169L74.872 0.169L74.872 0.745Q74.872 1.078 74.623 1.303Q74.375 1.527 74.046 1.527Q73.786 1.527 73.604 1.333Q73.422 1.140 73.378 0.863Q73.211 1.184 72.877 1.380Q72.543 1.575 72.174 1.575Q71.620 1.575 71.150 1.327Q70.679 1.078 70.679 0.564M71.435 0.564Q71.435 0.876 71.677 1.094Q71.919 1.311 72.235 1.311Q72.670 1.311 72.980 1.002Q73.290 0.692 73.290 0.261L73.290-0.666Q72.872-0.666 72.446-0.539Q72.020-0.411 71.728-0.134Q71.435 0.142 71.435 0.564M77.315 1.474L75.228 1.474L75.228 1.158Q75.535 1.158 75.727 1.105Q75.918 1.052 75.918 0.863L75.918-1.585Q75.918-1.826 75.847-1.934Q75.777-2.042 75.643-2.066Q75.509-2.090 75.228-2.090L75.228-2.406L76.568-2.503L76.568-1.668Q76.766-2.050 77.120-2.277Q77.473-2.503 77.900-2.503Q79.178-2.503 79.178-1.290L79.178 0.863Q79.178 1.052 79.370 1.105Q79.561 1.158 79.868 1.158L79.868 1.474L77.781 1.474L77.781 1.158Q78.093 1.158 78.284 1.105Q78.475 1.052 78.475 0.863L78.475-1.255Q78.475-1.514 78.431-1.736Q78.387-1.958 78.242-2.101Q78.097-2.244 77.838-2.244Q77.495-2.244 77.214-2.055Q76.933-1.866 76.777-1.554Q76.621-1.242 76.621-0.895L76.621 0.863Q76.621 1.052 76.814 1.105Q77.008 1.158 77.315 1.158L77.315 1.474M82.378 1.575Q81.828 1.575 81.369 1.296Q80.910 1.017 80.642 0.547Q80.374 0.077 80.374-0.468Q80.374-0.881 80.523-1.259Q80.673-1.637 80.947-1.932Q81.222-2.226 81.591-2.393Q81.960-2.560 82.378-2.560Q82.712-2.560 83.032-2.494Q83.353-2.428 83.582-2.242Q83.810-2.055 83.810-1.730Q83.810-1.554 83.683-1.426Q83.555-1.299 83.380-1.299Q83.195-1.299 83.065-1.424Q82.936-1.549 82.936-1.730Q82.936-1.866 83.010-1.978Q83.085-2.090 83.217-2.143Q82.909-2.270 82.378-2.270Q81.943-2.270 81.675-1.993Q81.406-1.716 81.294-1.301Q81.182-0.886 81.182-0.468Q81.182-0.038 81.321 0.364Q81.459 0.766 81.754 1.026Q82.048 1.285 82.488 1.285Q82.909 1.285 83.213 1.035Q83.516 0.784 83.621 0.375Q83.630 0.345 83.654 0.320Q83.678 0.296 83.709 0.296L83.819 0.296Q83.907 0.296 83.907 0.411Q83.762 0.947 83.349 1.261Q82.936 1.575 82.378 1.575M86.482 1.575Q85.924 1.575 85.452 1.292Q84.979 1.008 84.705 0.531Q84.430 0.055 84.430-0.499Q84.430-0.895 84.573-1.270Q84.716-1.646 84.973-1.934Q85.230-2.222 85.588-2.391Q85.946-2.560 86.350-2.560Q86.895-2.560 87.267-2.323Q87.638-2.086 87.825-1.668Q88.011-1.251 88.011-0.714Q88.011-0.662 87.987-0.624Q87.963-0.587 87.915-0.587L85.243-0.587L85.243-0.508Q85.243 0.239 85.555 0.762Q85.867 1.285 86.566 1.285Q86.970 1.285 87.291 1.028Q87.612 0.771 87.735 0.367Q87.752 0.287 87.836 0.287L87.915 0.287Q87.954 0.287 87.983 0.318Q88.011 0.349 88.011 0.393L88.011 0.428Q87.906 0.771 87.684 1.030Q87.462 1.289 87.148 1.432Q86.834 1.575 86.482 1.575M85.252-0.838L87.365-0.838Q87.365-1.106 87.313-1.352Q87.260-1.598 87.139-1.820Q87.018-2.042 86.821-2.169Q86.623-2.297 86.350-2.297Q86.008-2.297 85.755-2.072Q85.502-1.848 85.377-1.510Q85.252-1.172 85.252-0.838M90.534 1.575Q89.989 1.575 89.545 1.292Q89.101 1.008 88.846 0.536Q88.592 0.063 88.592-0.468Q88.592-1.022 88.868-1.488Q89.145-1.954 89.618-2.228Q90.090-2.503 90.635-2.503Q90.969-2.503 91.272-2.371Q91.575-2.239 91.795-2.002L91.795-3.852Q91.795-4.094 91.725-4.202Q91.655-4.309 91.520-4.333Q91.386-4.358 91.101-4.358L91.101-4.674L92.467-4.771L92.467 0.657Q92.467 0.894 92.538 1.002Q92.608 1.109 92.744 1.133Q92.881 1.158 93.162 1.158L93.162 1.474L91.769 1.575L91.769 1.026Q91.518 1.289 91.200 1.432Q90.881 1.575 90.534 1.575M90.595 1.311Q90.965 1.311 91.274 1.100Q91.584 0.890 91.769 0.547L91.769-1.585Q91.597-1.888 91.316-2.066Q91.035-2.244 90.696-2.244Q90.007-2.244 89.703-1.723Q89.400-1.202 89.400-0.460Q89.400 0.261 89.670 0.786Q89.941 1.311 90.595 1.311M94.195 0.969Q94.195 0.841 94.263 0.725Q94.331 0.608 94.447 0.538Q94.564 0.468 94.700 0.468Q94.902 0.468 95.054 0.615Q95.205 0.762 95.205 0.969Q95.205 1.175 95.056 1.325Q94.906 1.474 94.700 1.474Q94.489 1.474 94.342 1.322Q94.195 1.171 94.195 0.969M94.195-1.901Q94.195-2.099 94.340-2.253Q94.485-2.406 94.700-2.406Q94.836-2.406 94.953-2.338Q95.069-2.270 95.137-2.154Q95.205-2.037 95.205-1.901Q95.205-1.699 95.054-1.547Q94.902-1.396 94.700-1.396Q94.493-1.396 94.344-1.549Q94.195-1.703 94.195-1.901",[912],[882,5186,5187],{"transform":5180},[887,5188],{"d":5189,"fill":884,"stroke":884,"className":5190,"style":2576},"M103.720 1.672Q103.074 1.672 102.514 1.412Q101.954 1.153 101.532 0.696Q101.110 0.239 100.877-0.352Q100.644-0.943 100.644-1.567Q100.644-2.200 100.875-2.806Q101.106-3.413 101.523-3.874Q101.941-4.336 102.505-4.604Q103.070-4.872 103.720-4.872Q104.375-4.872 104.944-4.604Q105.513-4.336 105.929-3.870Q106.344-3.404 106.572-2.808Q106.801-2.213 106.801-1.567Q106.801-0.943 106.572-0.352Q106.344 0.239 105.920 0.696Q105.496 1.153 104.933 1.412Q104.371 1.672 103.720 1.672M102.130 0.538Q102.415 0.929 102.835 1.162Q103.255 1.395 103.720 1.395Q104.191 1.395 104.610 1.162Q105.030 0.929 105.316 0.538Q105.900-0.262 105.900-1.567Q105.900-2.925 105.316-3.738Q105.034-4.133 104.615-4.371Q104.195-4.608 103.720-4.608Q103.250-4.608 102.830-4.371Q102.411-4.133 102.130-3.738Q101.545-2.934 101.545-1.567Q101.545-0.956 101.677-0.429Q101.809 0.099 102.130 0.538M102.354-0.939L102.064-0.939L102.064-2.279L102.354-2.279L102.354-1.971L105.087-1.971L105.087-2.279L105.377-2.279L105.377-0.939L105.087-0.939L105.087-1.242L102.354-1.242L102.354-0.939M110.172 3.715Q109.666 3.328 109.297 2.823Q108.928 2.318 108.684 1.718Q108.440 1.118 108.326 0.501Q108.212-0.117 108.212-0.776Q108.212-1.435 108.326-2.050Q108.440-2.666 108.680-3.259Q108.919-3.852 109.293-4.362Q109.666-4.872 110.172-5.258Q110.207-5.276 110.229-5.276L110.308-5.276Q110.396-5.276 110.396-5.175Q110.396-5.140 110.360-5.105Q109.798-4.582 109.453-3.876Q109.108-3.171 108.961-2.389Q108.814-1.607 108.814-0.776Q108.814-0.152 108.893 0.432Q108.972 1.017 109.150 1.584Q109.328 2.151 109.627 2.652Q109.925 3.153 110.360 3.561Q110.396 3.597 110.396 3.636Q110.396 3.733 110.308 3.733L110.229 3.733Q110.207 3.733 110.172 3.715",[912],[882,5192,5193],{"transform":5180},[887,5194],{"d":5195,"fill":884,"stroke":884,"className":5196,"style":2576},"M111.660 1.303Q111.660 1.250 111.669 1.215L112.337-1.453Q112.390-1.651 112.390-1.848Q112.390-2.244 112.126-2.244Q111.840-2.244 111.706-1.921Q111.572-1.598 111.454-1.092Q111.436-1.009 111.361-1.009L111.256-1.009Q111.208-1.009 111.186-1.048Q111.164-1.088 111.164-1.128Q111.326-1.747 111.526-2.125Q111.726-2.503 112.148-2.503Q112.368-2.503 112.572-2.409Q112.776-2.314 112.906-2.141Q113.036-1.967 113.036-1.747Q113.313-2.099 113.675-2.301Q114.038-2.503 114.451-2.503Q114.947-2.503 115.244-2.250Q115.541-1.998 115.541-1.514Q115.541-1.141 115.380-0.646Q115.220-0.152 114.965 0.520Q114.846 0.806 114.846 1.043Q114.846 1.311 115.035 1.311Q115.277 1.311 115.473 1.125Q115.668 0.938 115.789 0.672Q115.910 0.406 115.971 0.160Q115.980 0.129 116.004 0.105Q116.028 0.081 116.059 0.081L116.169 0.081Q116.213 0.081 116.235 0.114Q116.257 0.147 116.257 0.195Q116.125 0.727 115.807 1.151Q115.488 1.575 115.026 1.575Q114.697 1.575 114.462 1.362Q114.227 1.149 114.227 0.815Q114.227 0.635 114.288 0.485Q114.547-0.178 114.719-0.719Q114.890-1.259 114.890-1.651Q114.890-1.804 114.849-1.941Q114.807-2.077 114.706-2.160Q114.605-2.244 114.433-2.244Q113.937-2.244 113.568-1.932Q113.198-1.620 112.930-1.110L112.346 1.250Q112.315 1.386 112.199 1.481Q112.082 1.575 111.946 1.575Q111.827 1.575 111.744 1.500Q111.660 1.426 111.660 1.303",[912],[882,5198,5199],{"transform":5180},[887,5200],{"d":5201,"fill":884,"stroke":884,"className":5202,"style":2576},"M120.412 1.474L118.351 1.474L118.351 1.158Q118.658 1.158 118.849 1.105Q119.041 1.052 119.041 0.863L119.041-3.852Q119.041-4.094 118.970-4.202Q118.900-4.309 118.766-4.333Q118.632-4.358 118.351-4.358L118.351-4.674L119.717-4.771L119.717 0.863Q119.717 1.052 119.911 1.105Q120.104 1.158 120.412 1.158L120.412 1.474M120.869-0.433Q120.869-1 121.141-1.488Q121.414-1.976 121.884-2.268Q122.354-2.560 122.921-2.560Q123.343-2.560 123.719-2.391Q124.094-2.222 124.371-1.930Q124.648-1.637 124.806-1.242Q124.964-0.846 124.964-0.433Q124.964 0.116 124.685 0.578Q124.406 1.039 123.938 1.307Q123.470 1.575 122.921 1.575Q122.367 1.575 121.897 1.307Q121.427 1.039 121.148 0.578Q120.869 0.116 120.869-0.433M122.921 1.285Q123.418 1.285 123.694 1.024Q123.971 0.762 124.064 0.358Q124.156-0.047 124.156-0.543Q124.156-1.018 124.057-1.407Q123.958-1.796 123.686-2.046Q123.413-2.297 122.921-2.297Q122.209-2.297 121.945-1.802Q121.682-1.308 121.682-0.543Q121.682 0.257 121.937 0.771Q122.191 1.285 122.921 1.285M125.487 2.168Q125.487 1.856 125.716 1.617Q125.944 1.377 126.265 1.276Q126.085 1.136 125.991 0.927Q125.896 0.718 125.896 0.485Q125.896 0.072 126.173-0.262Q125.760-0.666 125.760-1.180Q125.760-1.571 125.980-1.870Q126.199-2.169 126.551-2.336Q126.902-2.503 127.280-2.503Q127.834-2.503 128.251-2.191Q128.440-2.384 128.702-2.494Q128.963-2.604 129.249-2.604Q129.451-2.604 129.585-2.461Q129.719-2.318 129.719-2.125Q129.719-1.998 129.636-1.919Q129.552-1.839 129.429-1.839Q129.311-1.839 129.227-1.919Q129.144-1.998 129.144-2.125Q129.144-2.200 129.152-2.226Q129.170-2.261 129.192-2.294Q129.214-2.327 129.223-2.340Q128.779-2.340 128.432-2.037Q128.792-1.655 128.792-1.180Q128.792-0.886 128.665-0.640Q128.537-0.394 128.324-0.218Q128.111-0.042 127.832 0.055Q127.553 0.151 127.280 0.151Q126.771 0.151 126.362-0.117Q126.234 0.055 126.234 0.261Q126.234 0.503 126.393 0.674Q126.551 0.846 126.784 0.846L127.548 0.846Q128.093 0.846 128.539 0.942Q128.985 1.039 129.284 1.329Q129.583 1.619 129.583 2.168Q129.583 2.748 128.897 3.038Q128.212 3.328 127.540 3.328Q126.867 3.328 126.177 3.038Q125.487 2.748 125.487 2.168M126.028 2.168Q126.028 2.463 126.281 2.661Q126.533 2.858 126.894 2.953Q127.254 3.047 127.540 3.047Q128.041 3.047 128.542 2.821Q129.043 2.595 129.043 2.168Q129.043 1.711 128.601 1.579Q128.159 1.448 127.548 1.448L126.784 1.448Q126.590 1.448 126.412 1.542Q126.234 1.637 126.131 1.801Q126.028 1.966 126.028 2.168M127.272-0.130L127.280-0.130Q128.063-0.130 128.063-1.180Q128.063-2.226 127.280-2.226Q126.489-2.226 126.489-1.180Q126.489-0.130 127.272-0.130",[912],[882,5204,5205],{"transform":5180},[887,5206],{"d":5207,"fill":884,"stroke":884,"className":5208,"style":2576},"M132.271 1.303Q132.271 1.250 132.280 1.215L132.948-1.453Q133.001-1.651 133.001-1.848Q133.001-2.244 132.737-2.244Q132.451-2.244 132.317-1.921Q132.183-1.598 132.065-1.092Q132.047-1.009 131.972-1.009L131.867-1.009Q131.819-1.009 131.797-1.048Q131.775-1.088 131.775-1.128Q131.937-1.747 132.137-2.125Q132.337-2.503 132.759-2.503Q132.979-2.503 133.183-2.409Q133.387-2.314 133.517-2.141Q133.647-1.967 133.647-1.747Q133.924-2.099 134.286-2.301Q134.649-2.503 135.062-2.503Q135.558-2.503 135.855-2.250Q136.152-1.998 136.152-1.514Q136.152-1.141 135.991-0.646Q135.831-0.152 135.576 0.520Q135.457 0.806 135.457 1.043Q135.457 1.311 135.646 1.311Q135.888 1.311 136.084 1.125Q136.279 0.938 136.400 0.672Q136.521 0.406 136.582 0.160Q136.591 0.129 136.615 0.105Q136.639 0.081 136.670 0.081L136.780 0.081Q136.824 0.081 136.846 0.114Q136.868 0.147 136.868 0.195Q136.736 0.727 136.418 1.151Q136.099 1.575 135.637 1.575Q135.308 1.575 135.073 1.362Q134.838 1.149 134.838 0.815Q134.838 0.635 134.899 0.485Q135.158-0.178 135.330-0.719Q135.501-1.259 135.501-1.651Q135.501-1.804 135.460-1.941Q135.418-2.077 135.317-2.160Q135.216-2.244 135.044-2.244Q134.548-2.244 134.179-1.932Q133.809-1.620 133.541-1.110L132.957 1.250Q132.926 1.386 132.810 1.481Q132.693 1.575 132.557 1.575Q132.438 1.575 132.355 1.500Q132.271 1.426 132.271 1.303",[912],[882,5210,5211],{"transform":5180},[887,5212],{"d":5213,"fill":884,"stroke":884,"className":5214,"style":2576},"M137.799 3.733L137.715 3.733Q137.627 3.733 137.627 3.636Q137.627 3.597 137.662 3.561Q138.497 2.788 138.858 1.654Q139.218 0.520 139.218-0.776Q139.218-1.396 139.139-1.987Q139.060-2.578 138.880-3.136Q138.699-3.694 138.398-4.202Q138.097-4.709 137.662-5.105Q137.627-5.140 137.627-5.175Q137.627-5.276 137.715-5.276L137.799-5.276Q137.816-5.276 137.851-5.258Q138.357-4.876 138.730-4.362Q139.104-3.848 139.341-3.270Q139.578-2.692 139.695-2.064Q139.811-1.435 139.811-0.776Q139.811-0.117 139.695 0.514Q139.578 1.144 139.339 1.729Q139.099 2.313 138.728 2.823Q138.357 3.333 137.851 3.715Q137.816 3.733 137.799 3.733",[912],[882,5216,5217,5220],{"fill":889},[887,5218],{"d":5219},"M-23.102-36.937h14.226v-14.226h-14.226Z",[882,5221,5223],{"transform":5222},"translate(-76.449 -44.018)",[887,5224],{"d":5225,"fill":884,"stroke":884,"className":5226,"style":2672},"M58.771 1.320Q58.771 1.272 58.778 1.248L59.290-0.816Q59.324-0.943 59.324-1.059Q59.324-1.199 59.271-1.295Q59.218-1.390 59.095-1.390Q58.873-1.390 58.772-1.163Q58.672-0.936 58.562-0.515Q58.552-0.450 58.490-0.450L58.381-0.450Q58.350-0.450 58.326-0.481Q58.302-0.512 58.302-0.536L58.302-0.563Q58.415-0.997 58.596-1.305Q58.778-1.612 59.109-1.612Q59.294-1.612 59.473-1.537Q59.653-1.462 59.765-1.322Q59.878-1.182 59.878-0.990Q60.025-1.175 60.206-1.315Q60.387-1.455 60.601-1.534Q60.815-1.612 61.047-1.612Q61.457-1.612 61.714-1.416Q61.970-1.219 61.970-0.823Q61.970-0.539 61.842-0.141Q61.714 0.257 61.515 0.746Q61.440 0.941 61.440 1.088Q61.440 1.320 61.608 1.320Q61.884 1.320 62.078 1.043Q62.271 0.766 62.349 0.445Q62.373 0.384 62.425 0.384L62.537 0.384Q62.571 0.384 62.594 0.413Q62.616 0.442 62.616 0.466Q62.616 0.479 62.609 0.493Q62.548 0.743 62.406 0.985Q62.264 1.228 62.055 1.385Q61.847 1.542 61.594 1.542Q61.310 1.542 61.109 1.380Q60.907 1.218 60.907 0.948Q60.907 0.831 60.955 0.698Q61.426-0.481 61.426-0.919Q61.426-1.127 61.331-1.259Q61.235-1.390 61.033-1.390Q60.278-1.390 59.752-0.375L59.338 1.286Q59.314 1.392 59.220 1.467Q59.126 1.542 59.010 1.542Q58.911 1.542 58.841 1.481Q58.771 1.419 58.771 1.320",[912],[887,5228],{"fill":902,"d":5229},"M-51.177-11.485h13.47V-25.4h-13.47Z",[882,5231,5232,5240,5243],{"stroke":902},[882,5233,5235],{"transform":5234},"translate(-105.832 -18.702)",[887,5236],{"d":5237,"fill":884,"stroke":884,"className":5238,"style":5239},"M60.067-1.338Q60.067-1.362 60.079-1.394L60.438-2.839Q60.458-2.937 60.458-2.983Q60.458-3.093 60.410-3.165Q60.362-3.237 60.262-3.237Q60.099-3.237 60.017-3.068Q59.935-2.900 59.857-2.624Q59.850-2.588 59.798-2.578L59.693-2.578Q59.632-2.595 59.632-2.649Q59.632-2.653 59.637-2.678Q59.676-2.844 59.761-3.018Q59.845-3.193 59.974-3.308Q60.104-3.422 60.272-3.422Q60.516-3.422 60.709-3.300Q60.902-3.178 60.902-2.944Q61.092-3.161 61.327-3.292Q61.561-3.422 61.827-3.422Q62.035-3.422 62.208-3.364Q62.381-3.305 62.488-3.170Q62.594-3.034 62.594-2.822Q62.594-2.692 62.540-2.496Q62.486-2.299 62.387-2.049Q62.289-1.799 62.257-1.723Q62.213-1.633 62.213-1.523Q62.213-1.342 62.352-1.342Q62.496-1.342 62.613-1.438Q62.730-1.533 62.811-1.673Q62.892-1.814 62.928-1.958Q62.936-1.992 62.982-2.004L63.087-2.004Q63.153-1.982 63.153-1.933Q63.153-1.928 63.148-1.904Q63.104-1.723 62.986-1.547Q62.867-1.372 62.699-1.264Q62.530-1.157 62.337-1.157Q62.123-1.157 61.950-1.274Q61.778-1.391 61.778-1.599Q61.778-1.692 61.817-1.777Q61.839-1.831 61.905-1.994Q61.971-2.158 62.031-2.335Q62.091-2.512 62.121-2.642Q62.152-2.773 62.152-2.888Q62.152-3.051 62.065-3.144Q61.979-3.237 61.817-3.237Q61.583-3.237 61.384-3.116Q61.185-2.995 61.040-2.808Q60.895-2.622 60.777-2.392L60.523-1.357Q60.501-1.272 60.423-1.214Q60.345-1.157 60.262-1.157Q60.184-1.157 60.126-1.208Q60.067-1.259 60.067-1.338",[912],"stroke-width:0.150",[887,5241],{"d":5242},"M-46.644-19.148h4.404v.34h-4.404z",[882,5244,5245],{"transform":5234},[887,5246],{"d":5247,"fill":884,"stroke":884,"className":5248,"style":5239},"M62.470 3.884L60.143 3.884L60.143 3.703Q60.146 3.691 60.165 3.664L61.205 2.788Q61.513 2.529 61.667 2.385Q61.820 2.241 61.950 2.024Q62.079 1.806 62.079 1.565Q62.079 1.323 61.952 1.147Q61.825 0.971 61.621 0.882Q61.418 0.793 61.178 0.793Q60.971 0.793 60.775 0.881Q60.580 0.969 60.475 1.135Q60.595 1.135 60.672 1.227Q60.749 1.318 60.749 1.433Q60.749 1.560 60.662 1.649Q60.575 1.738 60.448 1.738Q60.319 1.738 60.231 1.648Q60.143 1.557 60.143 1.433Q60.143 1.152 60.316 0.953Q60.490 0.754 60.761 0.654Q61.032 0.554 61.305 0.554Q61.630 0.554 61.935 0.661Q62.240 0.769 62.437 0.996Q62.633 1.223 62.633 1.560Q62.633 1.797 62.520 1.989Q62.406 2.182 62.246 2.320Q62.086 2.458 61.804 2.646Q61.522 2.834 61.444 2.893L60.778 3.384L61.234 3.384Q61.667 3.384 61.961 3.377Q62.255 3.371 62.270 3.359Q62.348 3.261 62.404 2.900L62.633 2.900",[912],[887,5250],{"fill":902,"d":5251},"M5.729-11.485h13.47V-25.4H5.728Z",[882,5253,5254,5260,5263],{"stroke":902},[882,5255,5257],{"transform":5256},"translate(-48.927 -18.702)",[887,5258],{"d":5237,"fill":884,"stroke":884,"className":5259,"style":5239},[912],[887,5261],{"d":5262},"M10.261-19.148h4.404v.34h-4.404z",[882,5264,5265],{"transform":5256},[887,5266],{"d":5247,"fill":884,"stroke":884,"className":5267,"style":5239},[912],[887,5269],{"fill":902,"d":5270},"M-65.403 14.123h13.47V.207h-13.47Z",[882,5272,5273,5279,5282],{"stroke":902},[882,5274,5276],{"transform":5275},"translate(-120.058 6.906)",[887,5277],{"d":5237,"fill":884,"stroke":884,"className":5278,"style":5239},[912],[887,5280],{"d":5281},"M-60.87 6.46h4.404v.34h-4.404z",[882,5283,5284],{"transform":5275},[887,5285],{"d":5286,"fill":884,"stroke":884,"className":5287,"style":5239},"M61.659 3.069L60.004 3.069L60.004 2.829L61.869 0.588Q61.896 0.554 61.950 0.554L62.079 0.554Q62.108 0.554 62.134 0.577Q62.160 0.600 62.160 0.634L62.160 2.829L62.775 2.829L62.775 3.069L62.160 3.069L62.160 3.525Q62.160 3.645 62.770 3.645L62.770 3.884L61.049 3.884L61.049 3.645Q61.659 3.645 61.659 3.525L61.659 3.069M61.698 1.108L60.270 2.829L61.698 2.829",[912],[887,5289],{"fill":902,"d":5290},"M-36.95 14.123h13.47V.207h-13.47Z",[882,5292,5293,5299,5302],{"stroke":902},[882,5294,5296],{"transform":5295},"translate(-91.606 6.906)",[887,5297],{"d":5237,"fill":884,"stroke":884,"className":5298,"style":5239},[912],[887,5300],{"d":5301},"M-32.418 6.46h4.404v.34h-4.404z",[882,5303,5304],{"transform":5295},[887,5305],{"d":5286,"fill":884,"stroke":884,"className":5306,"style":5239},[912],[887,5308],{"fill":902,"d":5309},"M-8.498 14.123h13.47V.207h-13.47Z",[882,5311,5312,5318,5321],{"stroke":902},[882,5313,5315],{"transform":5314},"translate(-63.153 6.906)",[887,5316],{"d":5237,"fill":884,"stroke":884,"className":5317,"style":5239},[912],[887,5319],{"d":5320},"M-3.965 6.46H.44v.34h-4.404z",[882,5322,5323],{"transform":5314},[887,5324],{"d":5286,"fill":884,"stroke":884,"className":5325,"style":5239},[912],[887,5327],{"fill":902,"d":5328},"M19.955 14.123h13.47V.207h-13.47Z",[882,5330,5331,5337,5340],{"stroke":902},[882,5332,5334],{"transform":5333},"translate(-34.7 6.906)",[887,5335],{"d":5237,"fill":884,"stroke":884,"className":5336,"style":5239},[912],[887,5338],{"d":5339},"M24.488 6.46h4.404v.34h-4.404z",[882,5341,5342],{"transform":5333},[887,5343],{"d":5286,"fill":884,"stroke":884,"className":5344,"style":5239},[912],[887,5346],{"fill":902,"d":5347},"m-23.302-37.47-12.194 10.977",[887,5349],{"d":5350,"style":5351},"m-37.358-24.817 3.567-1.394-1.78-.215-.027-1.793Z","stroke-linejoin:round;stroke-width:.399984",[887,5353],{"fill":902,"d":5354},"M-8.676-37.47 3.518-26.493",[887,5356],{"d":5357,"style":5351},"m5.38-24.817-1.76-3.402-.028 1.793-1.78.215Z",[887,5359],{"fill":902,"d":5360},"m-48.418-11.285-4.96 8.927",[887,5362],{"d":5363,"style":5364},"m-54.595-.168 2.921-2.477-1.753.374-.608-1.686Z","stroke-linejoin:round;stroke-width:.399988",[887,5366],{"fill":902,"d":5367},"m-40.466-11.285 4.96 8.927",[887,5369],{"d":5370,"style":5364},"m-34.289-.168-.56-3.79-.608 1.687-1.753-.374Z",[887,5372],{"fill":902,"d":5373},"m8.487-11.285-4.96 8.927",[887,5375],{"d":5376,"style":5364},"m2.31-.168 2.922-2.477-1.753.374-.609-1.686Z",[887,5378],{"fill":902,"d":5379},"m16.44-11.285 4.96 8.927",[887,5381],{"d":5382,"style":5364},"m22.617-.168-.56-3.79-.609 1.687-1.753-.374Z",[882,5384,5385,5392,5398,5404,5410,5416,5423],{"stroke":902},[882,5386,5388],{"transform":5387},"translate(40.667 -62.721)",[887,5389],{"d":5390,"fill":884,"stroke":884,"className":5391,"style":2576},"M60.014 1.456L58.823-1.791Q58.748-1.989 58.603-2.039Q58.458-2.090 58.168-2.090L58.168-2.406L60.049-2.406L60.049-2.090Q59.526-2.090 59.526-1.866Q59.526-1.835 59.544-1.791L60.409 0.591L61.165-1.497L61.055-1.791Q60.981-1.989 60.833-2.039Q60.686-2.090 60.401-2.090L60.401-2.406L62.189-2.406L62.189-2.090Q61.679-2.090 61.679-1.866Q61.679-1.813 61.688-1.791L62.607 0.709L63.424-1.541Q63.442-1.585 63.442-1.686Q63.442-1.879 63.290-1.984Q63.138-2.090 62.936-2.090L62.936-2.406L64.479-2.406L64.479-2.090Q64.211-2.090 64.015-1.941Q63.820-1.791 63.732-1.541L62.633 1.456Q62.602 1.575 62.470 1.575L62.409 1.575Q62.290 1.575 62.246 1.456L61.328-1.075L60.401 1.456Q60.357 1.575 60.238 1.575L60.176 1.575Q60.045 1.575 60.014 1.456",[912],[882,5393,5394],{"transform":5387},[887,5395],{"d":5396,"fill":884,"stroke":884,"className":5397,"style":2576},"M64.671-0.433Q64.671-1 64.944-1.488Q65.216-1.976 65.686-2.268Q66.157-2.560 66.724-2.560Q67.145-2.560 67.521-2.391Q67.897-2.222 68.174-1.930Q68.451-1.637 68.609-1.242Q68.767-0.846 68.767-0.433Q68.767 0.116 68.488 0.578Q68.209 1.039 67.741 1.307Q67.273 1.575 66.724 1.575Q66.170 1.575 65.700 1.307Q65.229 1.039 64.950 0.578Q64.671 0.116 64.671-0.433M66.724 1.285Q67.220 1.285 67.497 1.024Q67.774 0.762 67.866 0.358Q67.958-0.047 67.958-0.543Q67.958-1.018 67.860-1.407Q67.761-1.796 67.488-2.046Q67.216-2.297 66.724-2.297Q66.012-2.297 65.748-1.802Q65.484-1.308 65.484-0.543Q65.484 0.257 65.739 0.771Q65.994 1.285 66.724 1.285M71.514 1.474L69.281 1.474L69.281 1.158Q69.593 1.158 69.784 1.105Q69.975 1.052 69.975 0.863L69.975-1.585Q69.975-1.826 69.905-1.934Q69.835-2.042 69.701-2.066Q69.567-2.090 69.281-2.090L69.281-2.406L70.595-2.503L70.595-1.642Q70.758-2.033 71.026-2.268Q71.294-2.503 71.685-2.503Q71.957-2.503 72.173-2.340Q72.388-2.178 72.388-1.919Q72.388-1.743 72.269-1.624Q72.151-1.505 71.975-1.505Q71.795-1.505 71.676-1.624Q71.558-1.743 71.558-1.919Q71.558-2.134 71.711-2.244L71.694-2.244Q71.316-2.244 71.083-1.982Q70.850-1.721 70.751-1.334Q70.652-0.947 70.652-0.587L70.652 0.863Q70.652 1.052 70.909 1.105Q71.166 1.158 71.514 1.158L71.514 1.474M72.955 1.492L72.955 0.050Q72.955 0.019 72.984-0.005Q73.012-0.029 73.043-0.029L73.153-0.029Q73.188-0.029 73.210-0.007Q73.232 0.015 73.241 0.050Q73.500 1.311 74.467 1.311Q74.893 1.311 75.187 1.127Q75.482 0.942 75.482 0.538Q75.482 0.244 75.251 0.048Q75.020-0.148 74.708-0.209L74.106-0.328Q73.641-0.416 73.298-0.699Q72.955-0.983 72.955-1.422Q72.955-2.015 73.392-2.288Q73.829-2.560 74.467-2.560Q74.946-2.560 75.293-2.314L75.543-2.538Q75.600-2.560 75.600-2.560L75.653-2.560Q75.680-2.560 75.713-2.534Q75.745-2.507 75.745-2.477L75.745-1.317Q75.745-1.286 75.710-1.259Q75.675-1.233 75.653-1.233L75.543-1.233Q75.521-1.233 75.488-1.262Q75.455-1.290 75.455-1.317Q75.455-1.782 75.190-2.053Q74.924-2.323 74.458-2.323Q74.054-2.323 73.750-2.178Q73.447-2.033 73.447-1.677Q73.447-1.431 73.665-1.277Q73.882-1.123 74.159-1.066L74.787-0.939Q75.104-0.877 75.374-0.710Q75.644-0.543 75.811-0.277Q75.978-0.011 75.978 0.305Q75.978 0.947 75.552 1.261Q75.126 1.575 74.467 1.575Q74.194 1.575 73.928 1.481Q73.662 1.386 73.482 1.197L73.162 1.536Q73.144 1.575 73.096 1.575L73.043 1.575Q73.021 1.575 72.988 1.547Q72.955 1.518 72.955 1.492M77.226 0.402L77.226-2.090L76.462-2.090L76.462-2.349Q76.866-2.349 77.132-2.615Q77.398-2.881 77.519-3.281Q77.640-3.681 77.640-4.063L77.930-4.063L77.930-2.406L79.217-2.406L79.217-2.090L77.930-2.090L77.930 0.367Q77.930 0.736 78.055 1.010Q78.180 1.285 78.505 1.285Q78.804 1.285 78.943 0.991Q79.081 0.696 79.081 0.367L79.081-0.156L79.367-0.156L79.367 0.402Q79.367 0.679 79.257 0.951Q79.147 1.224 78.934 1.399Q78.721 1.575 78.439 1.575Q78.079 1.575 77.807 1.437Q77.534 1.298 77.380 1.035Q77.226 0.771 77.226 0.402",[912],[882,5399,5400],{"transform":5387},[887,5401],{"d":5402,"fill":884,"stroke":884,"className":5403,"style":2576},"M85.296 1.575Q84.746 1.575 84.287 1.296Q83.828 1.017 83.560 0.547Q83.292 0.077 83.292-0.468Q83.292-0.881 83.441-1.259Q83.590-1.637 83.865-1.932Q84.140-2.226 84.509-2.393Q84.878-2.560 85.296-2.560Q85.630-2.560 85.950-2.494Q86.271-2.428 86.500-2.242Q86.728-2.055 86.728-1.730Q86.728-1.554 86.601-1.426Q86.473-1.299 86.297-1.299Q86.113-1.299 85.983-1.424Q85.854-1.549 85.854-1.730Q85.854-1.866 85.928-1.978Q86.003-2.090 86.135-2.143Q85.827-2.270 85.296-2.270Q84.860-2.270 84.592-1.993Q84.324-1.716 84.212-1.301Q84.100-0.886 84.100-0.468Q84.100-0.038 84.239 0.364Q84.377 0.766 84.671 1.026Q84.966 1.285 85.405 1.285Q85.827 1.285 86.130 1.035Q86.434 0.784 86.539 0.375Q86.548 0.345 86.572 0.320Q86.596 0.296 86.627 0.296L86.737 0.296Q86.825 0.296 86.825 0.411Q86.680 0.947 86.267 1.261Q85.854 1.575 85.296 1.575M87.458 0.564Q87.458 0.024 87.890-0.310Q88.323-0.644 88.930-0.783Q89.536-0.921 90.068-0.921L90.068-1.255Q90.068-1.514 89.949-1.758Q89.831-2.002 89.622-2.149Q89.413-2.297 89.141-2.297Q88.578-2.297 88.266-2.099Q88.416-2.072 88.508-1.954Q88.600-1.835 88.600-1.677Q88.600-1.501 88.475-1.371Q88.350-1.242 88.170-1.242Q87.981-1.242 87.853-1.369Q87.726-1.497 87.726-1.677Q87.726-2.147 88.165-2.354Q88.605-2.560 89.141-2.560Q89.431-2.560 89.719-2.472Q90.006-2.384 90.239-2.224Q90.472-2.064 90.622-1.824Q90.771-1.585 90.771-1.290L90.771 0.745Q90.771 0.898 90.846 1.037Q90.921 1.175 91.066 1.175Q91.219 1.175 91.292 1.039Q91.364 0.903 91.364 0.745L91.364 0.169L91.650 0.169L91.650 0.745Q91.650 1.078 91.402 1.303Q91.153 1.527 90.824 1.527Q90.565 1.527 90.382 1.333Q90.200 1.140 90.156 0.863Q89.989 1.184 89.655 1.380Q89.321 1.575 88.952 1.575Q88.398 1.575 87.928 1.327Q87.458 1.078 87.458 0.564M88.213 0.564Q88.213 0.876 88.455 1.094Q88.697 1.311 89.013 1.311Q89.448 1.311 89.758 1.002Q90.068 0.692 90.068 0.261L90.068-0.666Q89.651-0.666 89.224-0.539Q88.798-0.411 88.506-0.134Q88.213 0.142 88.213 0.564M92.015 1.492L92.015 0.050Q92.015 0.019 92.043-0.005Q92.072-0.029 92.103-0.029L92.213-0.029Q92.248-0.029 92.270-0.007Q92.292 0.015 92.300 0.050Q92.560 1.311 93.526 1.311Q93.953 1.311 94.247 1.127Q94.542 0.942 94.542 0.538Q94.542 0.244 94.311 0.048Q94.080-0.148 93.768-0.209L93.166-0.328Q92.700-0.416 92.358-0.699Q92.015-0.983 92.015-1.422Q92.015-2.015 92.452-2.288Q92.889-2.560 93.526-2.560Q94.005-2.560 94.353-2.314L94.603-2.538Q94.660-2.560 94.660-2.560L94.713-2.560Q94.739-2.560 94.772-2.534Q94.805-2.507 94.805-2.477L94.805-1.317Q94.805-1.286 94.770-1.259Q94.735-1.233 94.713-1.233L94.603-1.233Q94.581-1.233 94.548-1.262Q94.515-1.290 94.515-1.317Q94.515-1.782 94.249-2.053Q93.984-2.323 93.518-2.323Q93.113-2.323 92.810-2.178Q92.507-2.033 92.507-1.677Q92.507-1.431 92.724-1.277Q92.942-1.123 93.219-1.066L93.847-0.939Q94.164-0.877 94.434-0.710Q94.704-0.543 94.871-0.277Q95.038-0.011 95.038 0.305Q95.038 0.947 94.612 1.261Q94.186 1.575 93.526 1.575Q93.254 1.575 92.988 1.481Q92.722 1.386 92.542 1.197L92.221 1.536Q92.204 1.575 92.155 1.575L92.103 1.575Q92.081 1.575 92.048 1.547Q92.015 1.518 92.015 1.492M97.662 1.575Q97.104 1.575 96.631 1.292Q96.159 1.008 95.884 0.531Q95.609 0.055 95.609-0.499Q95.609-0.895 95.752-1.270Q95.895-1.646 96.152-1.934Q96.409-2.222 96.767-2.391Q97.126-2.560 97.530-2.560Q98.075-2.560 98.446-2.323Q98.817-2.086 99.004-1.668Q99.191-1.251 99.191-0.714Q99.191-0.662 99.167-0.624Q99.143-0.587 99.094-0.587L96.422-0.587L96.422-0.508Q96.422 0.239 96.734 0.762Q97.046 1.285 97.745 1.285Q98.150 1.285 98.470 1.028Q98.791 0.771 98.914 0.367Q98.932 0.287 99.015 0.287L99.094 0.287Q99.134 0.287 99.162 0.318Q99.191 0.349 99.191 0.393L99.191 0.428Q99.086 0.771 98.864 1.030Q98.642 1.289 98.328 1.432Q98.013 1.575 97.662 1.575M96.431-0.838L98.545-0.838Q98.545-1.106 98.492-1.352Q98.440-1.598 98.319-1.820Q98.198-2.042 98-2.169Q97.802-2.297 97.530-2.297Q97.187-2.297 96.934-2.072Q96.682-1.848 96.557-1.510Q96.431-1.172 96.431-0.838M100.237 0.969Q100.237 0.841 100.305 0.725Q100.373 0.608 100.490 0.538Q100.606 0.468 100.742 0.468Q100.944 0.468 101.096 0.615Q101.248 0.762 101.248 0.969Q101.248 1.175 101.098 1.325Q100.949 1.474 100.742 1.474Q100.531 1.474 100.384 1.322Q100.237 1.171 100.237 0.969M100.237-1.901Q100.237-2.099 100.382-2.253Q100.527-2.406 100.742-2.406Q100.879-2.406 100.995-2.338Q101.111-2.270 101.180-2.154Q101.248-2.037 101.248-1.901Q101.248-1.699 101.096-1.547Q100.944-1.396 100.742-1.396Q100.536-1.396 100.386-1.549Q100.237-1.703 100.237-1.901",[912],[882,5405,5406],{"transform":5387},[887,5407],{"d":5408,"fill":884,"stroke":884,"className":5409,"style":2576},"M109.753 1.672Q109.107 1.672 108.547 1.412Q107.987 1.153 107.565 0.696Q107.143 0.239 106.910-0.352Q106.677-0.943 106.677-1.567Q106.677-2.200 106.908-2.806Q107.139-3.413 107.556-3.874Q107.974-4.336 108.538-4.604Q109.103-4.872 109.753-4.872Q110.408-4.872 110.977-4.604Q111.546-4.336 111.962-3.870Q112.377-3.404 112.605-2.808Q112.834-2.213 112.834-1.567Q112.834-0.943 112.605-0.352Q112.377 0.239 111.953 0.696Q111.529 1.153 110.966 1.412Q110.404 1.672 109.753 1.672M108.163 0.538Q108.448 0.929 108.868 1.162Q109.288 1.395 109.753 1.395Q110.224 1.395 110.643 1.162Q111.063 0.929 111.349 0.538Q111.933-0.262 111.933-1.567Q111.933-2.925 111.349-3.738Q111.067-4.133 110.648-4.371Q110.228-4.608 109.753-4.608Q109.283-4.608 108.863-4.371Q108.444-4.133 108.163-3.738Q107.578-2.934 107.578-1.567Q107.578-0.956 107.710-0.429Q107.842 0.099 108.163 0.538M108.387-0.939L108.097-0.939L108.097-2.279L108.387-2.279L108.387-1.971L111.120-1.971L111.120-2.279L111.410-2.279L111.410-0.939L111.120-0.939L111.120-1.242L108.387-1.242L108.387-0.939M116.205 3.715Q115.699 3.328 115.330 2.823Q114.961 2.318 114.717 1.718Q114.473 1.118 114.359 0.501Q114.245-0.117 114.245-0.776Q114.245-1.435 114.359-2.050Q114.473-2.666 114.713-3.259Q114.952-3.852 115.326-4.362Q115.699-4.872 116.205-5.258Q116.240-5.276 116.262-5.276L116.341-5.276Q116.429-5.276 116.429-5.175Q116.429-5.140 116.393-5.105Q115.831-4.582 115.486-3.876Q115.141-3.171 114.994-2.389Q114.847-1.607 114.847-0.776Q114.847-0.152 114.926 0.432Q115.005 1.017 115.183 1.584Q115.361 2.151 115.660 2.652Q115.958 3.153 116.393 3.561Q116.429 3.597 116.429 3.636Q116.429 3.733 116.341 3.733L116.262 3.733Q116.240 3.733 116.205 3.715",[912],[882,5411,5412],{"transform":5387},[887,5413],{"d":5414,"fill":884,"stroke":884,"className":5415,"style":2576},"M117.693 1.303Q117.693 1.250 117.702 1.215L118.370-1.453Q118.423-1.651 118.423-1.848Q118.423-2.244 118.159-2.244Q117.873-2.244 117.739-1.921Q117.605-1.598 117.487-1.092Q117.469-1.009 117.394-1.009L117.289-1.009Q117.241-1.009 117.219-1.048Q117.197-1.088 117.197-1.128Q117.359-1.747 117.559-2.125Q117.759-2.503 118.181-2.503Q118.401-2.503 118.605-2.409Q118.809-2.314 118.939-2.141Q119.069-1.967 119.069-1.747Q119.346-2.099 119.708-2.301Q120.071-2.503 120.484-2.503Q120.980-2.503 121.277-2.250Q121.574-1.998 121.574-1.514Q121.574-1.141 121.413-0.646Q121.253-0.152 120.998 0.520Q120.879 0.806 120.879 1.043Q120.879 1.311 121.068 1.311Q121.310 1.311 121.506 1.125Q121.701 0.938 121.822 0.672Q121.943 0.406 122.004 0.160Q122.013 0.129 122.037 0.105Q122.061 0.081 122.092 0.081L122.202 0.081Q122.246 0.081 122.268 0.114Q122.290 0.147 122.290 0.195Q122.158 0.727 121.840 1.151Q121.521 1.575 121.059 1.575Q120.730 1.575 120.495 1.362Q120.260 1.149 120.260 0.815Q120.260 0.635 120.321 0.485Q120.580-0.178 120.752-0.719Q120.923-1.259 120.923-1.651Q120.923-1.804 120.882-1.941Q120.840-2.077 120.739-2.160Q120.638-2.244 120.466-2.244Q119.970-2.244 119.601-1.932Q119.231-1.620 118.963-1.110L118.379 1.250Q118.348 1.386 118.232 1.481Q118.115 1.575 117.979 1.575Q117.860 1.575 117.777 1.500Q117.693 1.426 117.693 1.303",[912],[882,5417,5418],{"transform":5387},[887,5419],{"d":5420,"fill":884,"stroke":884,"className":5421,"style":5422},"M125.576-2.349L122.966-2.349L122.966-2.534Q122.972-2.557 122.992-2.583L124.143-3.638Q124.483-3.949 124.663-4.135Q124.844-4.321 124.989-4.581Q125.134-4.842 125.134-5.138Q125.134-5.411 125.008-5.626Q124.882-5.841 124.662-5.961Q124.442-6.081 124.167-6.081Q123.991-6.081 123.821-6.024Q123.651-5.967 123.519-5.860Q123.388-5.753 123.308-5.595Q123.396-5.595 123.474-5.551Q123.552-5.507 123.596-5.431Q123.639-5.355 123.639-5.258Q123.639-5.118 123.543-5.021Q123.446-4.924 123.303-4.924Q123.165-4.924 123.065-5.024Q122.966-5.123 122.966-5.258Q122.966-5.583 123.156-5.831Q123.347-6.078 123.650-6.209Q123.953-6.339 124.269-6.339Q124.650-6.339 124.993-6.204Q125.336-6.070 125.550-5.797Q125.764-5.525 125.764-5.138Q125.764-4.863 125.639-4.636Q125.514-4.409 125.334-4.237Q125.154-4.066 124.829-3.826Q124.504-3.585 124.419-3.518L123.663-2.914L124.196-2.914Q124.685-2.914 125.016-2.922Q125.347-2.929 125.362-2.944Q125.421-3.014 125.453-3.149Q125.485-3.284 125.517-3.495L125.764-3.495",[912],"stroke-width:0.180",[882,5424,5425],{"transform":5387},[887,5426],{"d":5427,"fill":884,"stroke":884,"className":5428,"style":2576},"M127.387 3.733L127.303 3.733Q127.215 3.733 127.215 3.636Q127.215 3.597 127.250 3.561Q128.085 2.788 128.446 1.654Q128.806 0.520 128.806-0.776Q128.806-1.396 128.727-1.987Q128.648-2.578 128.468-3.136Q128.287-3.694 127.986-4.202Q127.685-4.709 127.250-5.105Q127.215-5.140 127.215-5.175Q127.215-5.276 127.303-5.276L127.387-5.276Q127.404-5.276 127.439-5.258Q127.945-4.876 128.318-4.362Q128.692-3.848 128.929-3.270Q129.166-2.692 129.283-2.064Q129.399-1.435 129.399-0.776Q129.399-0.117 129.283 0.514Q129.166 1.144 128.927 1.729Q128.687 2.313 128.316 2.823Q127.945 3.333 127.439 3.715Q127.404 3.733 127.387 3.733",[912],[882,5430,5431,5434],{"fill":889},[887,5432],{"d":5433},"M107.78-36.937h14.227v-14.226H107.78Z",[882,5435,5437],{"transform":5436},"translate(54.434 -44.018)",[887,5438],{"d":5225,"fill":884,"stroke":884,"className":5439,"style":2672},[912],[887,5441],{"fill":902,"d":5442},"M126.733-15.028h21.846v-12.52h-21.846Z",[882,5444,5445,5451,5457],{"stroke":902,"fontSize":2388},[882,5446,5448],{"transform":5447},"translate(72.078 -20.923)",[887,5449],{"d":5225,"fill":884,"stroke":884,"className":5450,"style":2672},[912],[882,5452,5453],{"transform":5447},[887,5454],{"d":5455,"fill":884,"stroke":884,"className":5456,"style":2672},"M68.260-0.102L63.847-0.102Q63.779-0.112 63.733-0.158Q63.686-0.204 63.686-0.276Q63.686-0.420 63.847-0.443L68.260-0.443Q68.420-0.420 68.420-0.276Q68.420-0.204 68.374-0.158Q68.328-0.112 68.260-0.102",[912],[882,5458,5459],{"transform":5447},[887,5460],{"d":5461,"fill":884,"stroke":884,"className":5462,"style":2672},"M72.507 1.474L69.977 1.474L69.977 1.194Q70.945 1.194 70.945 0.985L70.945-2.634Q70.552-2.446 69.930-2.446L69.930-2.727Q70.347-2.727 70.711-2.828Q71.075-2.928 71.331-3.174L71.457-3.174Q71.522-3.157 71.539-3.089L71.539 0.985Q71.539 1.194 72.507 1.194",[912],[887,5464],{"fill":902,"d":5465},"M149.495 7.48h21.846V-4.53h-21.846Z",[882,5467,5468,5474,5479],{"stroke":902,"fontSize":2388},[882,5469,5471],{"transform":5470},"translate(94.84 1.839)",[887,5472],{"d":5225,"fill":884,"stroke":884,"className":5473,"style":2672},[912],[882,5475,5476],{"transform":5470},[887,5477],{"d":5455,"fill":884,"stroke":884,"className":5478,"style":2672},[912],[882,5480,5481],{"transform":5470},[887,5482],{"d":5483,"fill":884,"stroke":884,"className":5484,"style":2672},"M72.507 1.474L69.622 1.474L69.622 1.272Q69.622 1.242 69.649 1.214L70.897-0.003Q70.969-0.078 71.011-0.120Q71.054-0.163 71.133-0.242Q71.546-0.655 71.777-1.013Q72.008-1.370 72.008-1.794Q72.008-2.026 71.929-2.229Q71.850-2.433 71.709-2.583Q71.567-2.734 71.372-2.814Q71.177-2.894 70.945-2.894Q70.634-2.894 70.376-2.735Q70.118-2.576 69.988-2.299L70.008-2.299Q70.176-2.299 70.283-2.188Q70.391-2.077 70.391-1.913Q70.391-1.756 70.282-1.643Q70.172-1.530 70.008-1.530Q69.848-1.530 69.735-1.643Q69.622-1.756 69.622-1.913Q69.622-2.289 69.830-2.576Q70.039-2.863 70.374-3.019Q70.709-3.174 71.064-3.174Q71.488-3.174 71.868-3.016Q72.247-2.857 72.481-2.540Q72.715-2.224 72.715-1.794Q72.715-1.483 72.575-1.214Q72.435-0.946 72.230-0.741Q72.025-0.536 71.662-0.254Q71.300 0.028 71.191 0.124L70.336 0.852L70.979 0.852Q71.242 0.852 71.531 0.850Q71.820 0.849 72.038 0.840Q72.257 0.831 72.274 0.814Q72.336 0.749 72.373 0.582Q72.411 0.414 72.449 0.172L72.715 0.172",[912],[882,5486,5488,5495,5501],{"stroke":902,"fontFamily":5487,"fontSize":2388},"cmsy7",[882,5489,5491],{"transform":5490},"translate(116.736 21.545)",[887,5492],{"d":5493,"fill":884,"stroke":884,"className":5494,"style":2672},"M58.757-0.276Q58.757-0.443 58.884-0.567Q59.010-0.690 59.177-0.690Q59.345-0.690 59.468-0.567Q59.591-0.443 59.591-0.276Q59.591-0.102 59.468 0.021Q59.345 0.144 59.177 0.144Q59.010 0.144 58.884 0.021Q58.757-0.102 58.757-0.276",[912],[882,5496,5497],{"transform":5490},[887,5498],{"d":5499,"fill":884,"stroke":884,"className":5500,"style":2672},"M62.498-0.276Q62.498-0.443 62.625-0.567Q62.751-0.690 62.918-0.690Q63.086-0.690 63.209-0.567Q63.332-0.443 63.332-0.276Q63.332-0.102 63.209 0.021Q63.086 0.144 62.918 0.144Q62.751 0.144 62.625 0.021Q62.498-0.102 62.498-0.276",[912],[882,5502,5503],{"transform":5490},[887,5504],{"d":5505,"fill":884,"stroke":884,"className":5506,"style":2672},"M66.239-0.276Q66.239-0.443 66.366-0.567Q66.492-0.690 66.659-0.690Q66.827-0.690 66.950-0.567Q67.073-0.443 67.073-0.276Q67.073-0.102 66.950 0.021Q66.827 0.144 66.659 0.144Q66.492 0.144 66.366 0.021Q66.239-0.102 66.239-0.276",[912],[887,5508],{"fill":902,"d":5509},"m122.207-36.739 7.077 7.078",[887,5511],{"d":5512,"style":5513},"m131.055-27.889-1.579-3.49-.122 1.789-1.788.121Z","stroke-linejoin:round;stroke-width:.399992",[887,5515],{"fill":902,"d":5516},"m144.115-14.828 8.185 8.184",[887,5518],{"d":5519,"style":5513},"m154.072-4.872-1.58-3.49-.121 1.789-1.789.121Z",[887,5521],{"fill":902,"d":5522},"m166.623 7.68 6.638 6.637",[887,5524],{"d":5525,"style":5513},"m175.033 16.088-1.58-3.49-.121 1.79-1.789.121Z",[1086,5527,5529,5530,5563,5564,5579,5580,597],{"className":5528},[1089],"Balanced splits keep the tree ",[394,5531,5533],{"className":5532},[397],[394,5534,5536],{"className":5535,"ariaHidden":402},[401],[394,5537,5539,5542,5545,5548,5554,5557,5560],{"className":5538},[406],[394,5540],{"className":5541,"style":465},[410],[394,5543,2242],{"className":5544},[420],[394,5546,2246],{"className":5547},[474],[394,5549,5551],{"className":5550},[4817],[394,5552,4823],{"className":5553,"style":4822},[420,4821],[394,5555],{"className":5556,"style":2375},[634],[394,5558,2250],{"className":5559},[420,469],[394,5561,2254],{"className":5562},[491]," deep; a constant-size lopsided split stretches it into a depth-",[394,5565,5567],{"className":5566},[397],[394,5568,5570],{"className":5569,"ariaHidden":402},[401],[394,5571,5573,5576],{"className":5572},[406],[394,5574],{"className":5575,"style":799},[410],[394,5577,2250],{"className":5578},[420,469]," path costing ",[394,5581,5583],{"className":5582},[397],[394,5584,5586],{"className":5585,"ariaHidden":402},[401],[394,5587,5589,5592,5595,5598,5627],{"className":5588},[406],[394,5590],{"className":5591,"style":4243},[410],[394,5593,2242],{"className":5594},[420],[394,5596,2246],{"className":5597},[474],[394,5599,5601,5604],{"className":5600},[420],[394,5602,2250],{"className":5603},[420,469],[394,5605,5607],{"className":5606},[4051],[394,5608,5610],{"className":5609},[4055],[394,5611,5613],{"className":5612},[4059],[394,5614,5616],{"className":5615,"style":4268},[4063],[394,5617,5618,5621],{"style":4271},[394,5619],{"className":5620,"style":4072},[4071],[394,5622,5624],{"className":5623},[4076,4077,4078,4079],[394,5625,1259],{"className":5626},[420,4079],[394,5628,2254],{"className":5629},[491],[777,5631,5633],{"id":5632},"the-shrinking-recurrence-lemma","The shrinking-recurrence lemma",[381,5635,5636,5637,5640,5641,5644,5645,5648],{},"This ",[596,5638,5639],{},"constant-fraction is enough"," intuition packages into a clean\nlemma that we will reuse for ",[384,5642,5643],{"href":46},"linear-time selection",". It says\nthat as long as the recursive subproblems together are a ",[431,5646,5647],{},"constant fraction\nsmaller"," than the original, linear work at each level collapses to linear work\noverall.",[5650,5651,5653],"callout",{"type":5652},"lemma",[381,5654,5655,5658,5659,5713,5714,5768,5769,5871,5872,656,5949,5992,5993,6063,6064,597],{},[389,5656,5657],{},"Lemma."," Let ",[394,5660,5662],{"className":5661},[397],[394,5663,5665,5704],{"className":5664,"ariaHidden":402},[401],[394,5666,5668,5671,5675,5678,5681,5685,5688,5691,5695,5698,5701],{"className":5667},[406],[394,5669],{"className":5670,"style":411},[410],[394,5672,5674],{"className":5673},[420,469],"λ",[394,5676,2371],{"className":5677},[2370],[394,5679],{"className":5680,"style":2375},[634],[394,5682,5684],{"className":5683},[420,469],"μ",[394,5686,2371],{"className":5687},[2370],[394,5689],{"className":5690,"style":2375},[634],[394,5692,5694],{"className":5693},[420,469],"b",[394,5696],{"className":5697,"style":1350},[634],[394,5699,1250],{"className":5700},[559],[394,5702],{"className":5703,"style":1350},[634],[394,5705,5707,5710],{"className":5706},[406],[394,5708],{"className":5709,"style":1519},[410],[394,5711,3917],{"className":5712},[420]," be constants with ",[394,5715,5717],{"className":5716},[397],[394,5718,5720,5739,5759],{"className":5719,"ariaHidden":402},[401],[394,5721,5723,5727,5730,5733,5736],{"className":5722},[406],[394,5724],{"className":5725,"style":5726},[410],"height:0.7778em;vertical-align:-0.0833em;",[394,5728,5674],{"className":5729},[420,469],[394,5731],{"className":5732,"style":635},[634],[394,5734,684],{"className":5735},[639],[394,5737],{"className":5738,"style":635},[634],[394,5740,5742,5746,5749,5752,5756],{"className":5741},[406],[394,5743],{"className":5744,"style":5745},[410],"height:0.7335em;vertical-align:-0.1944em;",[394,5747,5684],{"className":5748},[420,469],[394,5750],{"className":5751,"style":1350},[634],[394,5753,5755],{"className":5754},[559],"\u003C",[394,5757],{"className":5758,"style":1350},[634],[394,5760,5762,5765],{"className":5761},[406],[394,5763],{"className":5764,"style":1519},[410],[394,5766,444],{"className":5767},[420],". If\n",[394,5770,5772],{"className":5771},[397],[394,5773,5775,5802,5830,5860],{"className":5774,"ariaHidden":402},[401],[394,5776,5778,5781,5784,5787,5790,5793,5796,5799],{"className":5777},[406],[394,5779],{"className":5780,"style":465},[410],[394,5782,3838],{"className":5783,"style":3837},[420,469],[394,5785,2246],{"className":5786},[474],[394,5788,2250],{"className":5789},[420,469],[394,5791,2254],{"className":5792},[491],[394,5794],{"className":5795,"style":1350},[634],[394,5797,560],{"className":5798},[559],[394,5800],{"className":5801,"style":1350},[634],[394,5803,5805,5808,5811,5814,5818,5821,5824,5827],{"className":5804},[406],[394,5806],{"className":5807,"style":465},[410],[394,5809,3838],{"className":5810,"style":3837},[420,469],[394,5812,2246],{"className":5813},[474],[394,5815,5817],{"className":5816},[420,469],"λn",[394,5819,2254],{"className":5820},[491],[394,5822],{"className":5823,"style":635},[634],[394,5825,684],{"className":5826},[639],[394,5828],{"className":5829,"style":635},[634],[394,5831,5833,5836,5839,5842,5845,5848,5851,5854,5857],{"className":5832},[406],[394,5834],{"className":5835,"style":465},[410],[394,5837,3838],{"className":5838,"style":3837},[420,469],[394,5840,2246],{"className":5841},[474],[394,5843,5684],{"className":5844},[420,469],[394,5846,2250],{"className":5847},[420,469],[394,5849,2254],{"className":5850},[491],[394,5852],{"className":5853,"style":635},[634],[394,5855,684],{"className":5856},[639],[394,5858],{"className":5859,"style":635},[634],[394,5861,5863,5867],{"className":5862},[406],[394,5864],{"className":5865,"style":5866},[410],"height:0.6944em;",[394,5868,5870],{"className":5869},[420,469],"bn"," for all ",[394,5873,5875],{"className":5874},[397],[394,5876,5878,5896],{"className":5877,"ariaHidden":402},[401],[394,5879,5881,5884,5887,5890,5893],{"className":5880},[406],[394,5882],{"className":5883,"style":1246},[410],[394,5885,2250],{"className":5886},[420,469],[394,5888],{"className":5889,"style":1350},[634],[394,5891,1250],{"className":5892},[559],[394,5894],{"className":5895,"style":1350},[634],[394,5897,5899,5903],{"className":5898},[406],[394,5900],{"className":5901,"style":5902},[410],"height:0.5806em;vertical-align:-0.15em;",[394,5904,5906,5909],{"className":5905},[420],[394,5907,2250],{"className":5908},[420,469],[394,5910,5912],{"className":5911},[4051],[394,5913,5916,5940],{"className":5914},[4055,5915],"vlist-t2",[394,5917,5919,5935],{"className":5918},[4059],[394,5920,5923],{"className":5921,"style":5922},[4063],"height:0.3011em;",[394,5924,5926,5929],{"style":5925},"top:-2.55em;margin-left:0em;margin-right:0.05em;",[394,5927],{"className":5928,"style":4072},[4071],[394,5930,5932],{"className":5931},[4076,4077,4078,4079],[394,5933,3917],{"className":5934},[420,4079],[394,5936,5939],{"className":5937},[5938],"vlist-s","​",[394,5941,5943],{"className":5942},[4059],[394,5944,5947],{"className":5945,"style":5946},[4063],"height:0.15em;",[394,5948],{},[394,5950,5952],{"className":5951},[397],[394,5953,5955,5982],{"className":5954,"ariaHidden":402},[401],[394,5956,5958,5961,5964,5967,5970,5973,5976,5979],{"className":5957},[406],[394,5959],{"className":5960,"style":465},[410],[394,5962,3838],{"className":5963,"style":3837},[420,469],[394,5965,2246],{"className":5966},[474],[394,5968,2250],{"className":5969},[420,469],[394,5971,2254],{"className":5972},[491],[394,5974],{"className":5975,"style":1350},[634],[394,5977,560],{"className":5978},[559],[394,5980],{"className":5981,"style":1350},[634],[394,5983,5985,5988],{"className":5984},[406],[394,5986],{"className":5987,"style":799},[410],[394,5989,5991],{"className":5990},[420,469],"c"," for\n",[394,5994,5996],{"className":5995},[397],[394,5997,5999,6017],{"className":5998,"ariaHidden":402},[401],[394,6000,6002,6005,6008,6011,6014],{"className":6001},[406],[394,6003],{"className":6004,"style":555},[410],[394,6006,2250],{"className":6007},[420,469],[394,6009],{"className":6010,"style":1350},[634],[394,6012,560],{"className":6013},[559],[394,6015],{"className":6016,"style":1350},[634],[394,6018,6020,6023],{"className":6019},[406],[394,6021],{"className":6022,"style":5902},[410],[394,6024,6026,6029],{"className":6025},[420],[394,6027,2250],{"className":6028},[420,469],[394,6030,6032],{"className":6031},[4051],[394,6033,6035,6055],{"className":6034},[4055,5915],[394,6036,6038,6052],{"className":6037},[4059],[394,6039,6041],{"className":6040,"style":5922},[4063],[394,6042,6043,6046],{"style":5925},[394,6044],{"className":6045,"style":4072},[4071],[394,6047,6049],{"className":6048},[4076,4077,4078,4079],[394,6050,3917],{"className":6051},[420,4079],[394,6053,5939],{"className":6054},[5938],[394,6056,6058],{"className":6057},[4059],[394,6059,6061],{"className":6060,"style":5946},[4063],[394,6062],{},", then ",[394,6065,6067],{"className":6066},[397],[394,6068,6070,6097],{"className":6069,"ariaHidden":402},[401],[394,6071,6073,6076,6079,6082,6085,6088,6091,6094],{"className":6072},[406],[394,6074],{"className":6075,"style":465},[410],[394,6077,3838],{"className":6078,"style":3837},[420,469],[394,6080,2246],{"className":6081},[474],[394,6083,2250],{"className":6084},[420,469],[394,6086,2254],{"className":6087},[491],[394,6089],{"className":6090,"style":1350},[634],[394,6092,1597],{"className":6093},[559],[394,6095],{"className":6096,"style":1350},[634],[394,6098,6100,6103,6106,6109,6112],{"className":6099},[406],[394,6101],{"className":6102,"style":465},[410],[394,6104,5107],{"className":6105,"style":486},[420,469],[394,6107,2246],{"className":6108},[474],[394,6110,2250],{"className":6111},[420,469],[394,6113,2254],{"className":6114},[491],[381,6116,6117,6118,5871,6161,6194],{},"The proof is a tidy induction that pins the hidden constant exactly. Claim:\n",[394,6119,6121],{"className":6120},[397],[394,6122,6124,6151],{"className":6123,"ariaHidden":402},[401],[394,6125,6127,6130,6133,6136,6139,6142,6145,6148],{"className":6126},[406],[394,6128],{"className":6129,"style":465},[410],[394,6131,3838],{"className":6132,"style":3837},[420,469],[394,6134,2246],{"className":6135},[474],[394,6137,2250],{"className":6138},[420,469],[394,6140,2254],{"className":6141},[491],[394,6143],{"className":6144,"style":1350},[634],[394,6146,560],{"className":6147},[559],[394,6149],{"className":6150,"style":1350},[634],[394,6152,6154,6157],{"className":6153},[406],[394,6155],{"className":6156,"style":799},[410],[394,6158,6160],{"className":6159},[420,469],"an",[394,6162,6164],{"className":6163},[397],[394,6165,6167,6185],{"className":6166,"ariaHidden":402},[401],[394,6168,6170,6173,6176,6179,6182],{"className":6169},[406],[394,6171],{"className":6172,"style":555},[410],[394,6174,2250],{"className":6175},[420,469],[394,6177],{"className":6178,"style":1350},[634],[394,6180,577],{"className":6181},[559],[394,6183],{"className":6184,"style":1350},[634],[394,6186,6188,6191],{"className":6187},[406],[394,6189],{"className":6190,"style":1519},[410],[394,6192,444],{"className":6193},[420],", where",[394,6196,6198],{"className":6197},[3821],[394,6199,6201],{"className":6200},[397],[394,6202,6204,6222],{"className":6203,"ariaHidden":402},[401],[394,6205,6207,6210,6213,6216,6219],{"className":6206},[406],[394,6208],{"className":6209,"style":799},[410],[394,6211,384],{"className":6212},[420,469],[394,6214],{"className":6215,"style":1350},[634],[394,6217,1597],{"className":6218},[559],[394,6220],{"className":6221,"style":1350},[634],[394,6223,6225,6229,6236,6239,6374,6377],{"className":6224},[406],[394,6226],{"className":6227,"style":6228},[410],"height:2.4em;vertical-align:-0.95em;",[394,6230,6232],{"className":6231},[4817],[394,6233,6235],{"className":6234},[420,4821],"max",[394,6237],{"className":6238,"style":2375},[634],[394,6240,6242,6252,6255,6258,6261,6265,6268,6364,6367],{"className":6241},[4208],[394,6243,6247],{"className":6244,"style":6246},[474,6245],"delimcenter","top:0em;",[394,6248,6251],{"className":6249},[6250,4078],"delimsizing","{",[394,6253],{"className":6254,"style":2375},[634],[394,6256,5991],{"className":6257},[420,469],[394,6259,2371],{"className":6260},[2370],[394,6262,6264],{"className":6263},[634]," ",[394,6266],{"className":6267,"style":2375},[634],[394,6269,6271,6275,6361],{"className":6270},[420],[394,6272],{"className":6273},[474,6274],"nulldelimiter",[394,6276,6279],{"className":6277},[6278],"mfrac",[394,6280,6282,6352],{"className":6281},[4055,5915],[394,6283,6285,6349],{"className":6284},[4059],[394,6286,6289,6326,6337],{"className":6287,"style":6288},[4063],"height:1.3714em;",[394,6290,6292,6296],{"style":6291},"top:-2.314em;",[394,6293],{"className":6294,"style":6295},[4071],"height:3em;",[394,6297,6299,6302,6305,6308,6311,6314,6317,6320,6323],{"className":6298},[420],[394,6300,444],{"className":6301},[420],[394,6303],{"className":6304,"style":635},[634],[394,6306,640],{"className":6307},[639],[394,6309],{"className":6310,"style":635},[634],[394,6312,5674],{"className":6313},[420,469],[394,6315],{"className":6316,"style":635},[634],[394,6318,640],{"className":6319},[639],[394,6321],{"className":6322,"style":635},[634],[394,6324,5684],{"className":6325},[420,469],[394,6327,6329,6332],{"style":6328},"top:-3.23em;",[394,6330],{"className":6331,"style":6295},[4071],[394,6333],{"className":6334,"style":6336},[6335],"frac-line","border-bottom-width:0.04em;",[394,6338,6340,6343],{"style":6339},"top:-3.677em;",[394,6341],{"className":6342,"style":6295},[4071],[394,6344,6346],{"className":6345},[420],[394,6347,5694],{"className":6348},[420,469],[394,6350,5939],{"className":6351},[5938],[394,6353,6355],{"className":6354},[4059],[394,6356,6359],{"className":6357,"style":6358},[4063],"height:0.8804em;",[394,6360],{},[394,6362],{"className":6363},[491,6274],[394,6365],{"className":6366,"style":2375},[634],[394,6368,6370],{"className":6369,"style":6246},[491,6245],[394,6371,6373],{"className":6372},[6250,4078],"}",[394,6375],{"className":6376,"style":2375},[634],[394,6378,597],{"className":6379},[420],[381,6381,6382,6383,6447,6448,511,6451,6502],{},"The constant ",[394,6384,6386],{"className":6385},[397],[394,6387,6389,6417,6435],{"className":6388,"ariaHidden":402},[401],[394,6390,6392,6395,6398,6402,6405,6408,6411,6414],{"className":6391},[406],[394,6393],{"className":6394,"style":465},[410],[394,6396,5694],{"className":6397},[420,469],[394,6399,6401],{"className":6400},[420],"\u002F",[394,6403,2246],{"className":6404},[474],[394,6406,444],{"className":6407},[420],[394,6409],{"className":6410,"style":635},[634],[394,6412,640],{"className":6413},[639],[394,6415],{"className":6416,"style":635},[634],[394,6418,6420,6423,6426,6429,6432],{"className":6419},[406],[394,6421],{"className":6422,"style":5726},[410],[394,6424,5674],{"className":6425},[420,469],[394,6427],{"className":6428,"style":635},[634],[394,6430,640],{"className":6431},[639],[394,6433],{"className":6434,"style":635},[634],[394,6436,6438,6441,6444],{"className":6437},[406],[394,6439],{"className":6440,"style":465},[410],[394,6442,5684],{"className":6443},[420,469],[394,6445,2254],{"className":6446},[491]," is positive ",[431,6449,6450],{},"precisely because",[394,6452,6454],{"className":6453},[397],[394,6455,6457,6475,6493],{"className":6456,"ariaHidden":402},[401],[394,6458,6460,6463,6466,6469,6472],{"className":6459},[406],[394,6461],{"className":6462,"style":5726},[410],[394,6464,5674],{"className":6465},[420,469],[394,6467],{"className":6468,"style":635},[634],[394,6470,684],{"className":6471},[639],[394,6473],{"className":6474,"style":635},[634],[394,6476,6478,6481,6484,6487,6490],{"className":6477},[406],[394,6479],{"className":6480,"style":5745},[410],[394,6482,5684],{"className":6483},[420,469],[394,6485],{"className":6486,"style":1350},[634],[394,6488,5755],{"className":6489},[559],[394,6491],{"className":6492,"style":1350},[634],[394,6494,6496,6499],{"className":6495},[406],[394,6497],{"className":6498,"style":1519},[410],[394,6500,444],{"className":6501},[420],";\nthat is where the shrinkage is spent.",[495,6504,6505,6660],{},[498,6506,6507,6510,6511,6581,6582,597],{},[389,6508,6509],{},"Base case"," (",[394,6512,6514],{"className":6513},[397],[394,6515,6517,6535],{"className":6516,"ariaHidden":402},[401],[394,6518,6520,6523,6526,6529,6532],{"className":6519},[406],[394,6521],{"className":6522,"style":555},[410],[394,6524,2250],{"className":6525},[420,469],[394,6527],{"className":6528,"style":1350},[634],[394,6530,560],{"className":6531},[559],[394,6533],{"className":6534,"style":1350},[634],[394,6536,6538,6541],{"className":6537},[406],[394,6539],{"className":6540,"style":5902},[410],[394,6542,6544,6547],{"className":6543},[420],[394,6545,2250],{"className":6546},[420,469],[394,6548,6550],{"className":6549},[4051],[394,6551,6553,6573],{"className":6552},[4055,5915],[394,6554,6556,6570],{"className":6555},[4059],[394,6557,6559],{"className":6558,"style":5922},[4063],[394,6560,6561,6564],{"style":5925},[394,6562],{"className":6563,"style":4072},[4071],[394,6565,6567],{"className":6566},[4076,4077,4078,4079],[394,6568,3917],{"className":6569},[420,4079],[394,6571,5939],{"className":6572},[5938],[394,6574,6576],{"className":6575},[4059],[394,6577,6579],{"className":6578,"style":5946},[4063],[394,6580],{},"). ",[394,6583,6585],{"className":6584},[397],[394,6586,6588,6615,6633,6651],{"className":6587,"ariaHidden":402},[401],[394,6589,6591,6594,6597,6600,6603,6606,6609,6612],{"className":6590},[406],[394,6592],{"className":6593,"style":465},[410],[394,6595,3838],{"className":6596,"style":3837},[420,469],[394,6598,2246],{"className":6599},[474],[394,6601,2250],{"className":6602},[420,469],[394,6604,2254],{"className":6605},[491],[394,6607],{"className":6608,"style":1350},[634],[394,6610,560],{"className":6611},[559],[394,6613],{"className":6614,"style":1350},[634],[394,6616,6618,6621,6624,6627,6630],{"className":6617},[406],[394,6619],{"className":6620,"style":555},[410],[394,6622,5991],{"className":6623},[420,469],[394,6625],{"className":6626,"style":1350},[634],[394,6628,560],{"className":6629},[559],[394,6631],{"className":6632,"style":1350},[634],[394,6634,6636,6639,6642,6645,6648],{"className":6635},[406],[394,6637],{"className":6638,"style":555},[410],[394,6640,384],{"className":6641},[420,469],[394,6643],{"className":6644,"style":1350},[634],[394,6646,560],{"className":6647},[559],[394,6649],{"className":6650,"style":1350},[634],[394,6652,6654,6657],{"className":6653},[406],[394,6655],{"className":6656,"style":799},[410],[394,6658,6160],{"className":6659},[420,469],[498,6661,6662,6510,6665,6735],{},[389,6663,6664],{},"Inductive step",[394,6666,6668],{"className":6667},[397],[394,6669,6671,6689],{"className":6670,"ariaHidden":402},[401],[394,6672,6674,6677,6680,6683,6686],{"className":6673},[406],[394,6675],{"className":6676,"style":1246},[410],[394,6678,2250],{"className":6679},[420,469],[394,6681],{"className":6682,"style":1350},[634],[394,6684,1250],{"className":6685},[559],[394,6687],{"className":6688,"style":1350},[634],[394,6690,6692,6695],{"className":6691},[406],[394,6693],{"className":6694,"style":5902},[410],[394,6696,6698,6701],{"className":6697},[420],[394,6699,2250],{"className":6700},[420,469],[394,6702,6704],{"className":6703},[4051],[394,6705,6707,6727],{"className":6706},[4055,5915],[394,6708,6710,6724],{"className":6709},[4059],[394,6711,6713],{"className":6712,"style":5922},[4063],[394,6714,6715,6718],{"style":5925},[394,6716],{"className":6717,"style":4072},[4071],[394,6719,6721],{"className":6720},[4076,4077,4078,4079],[394,6722,3917],{"className":6723},[420,4079],[394,6725,5939],{"className":6726},[5938],[394,6728,6730],{"className":6729},[4059],[394,6731,6733],{"className":6732,"style":5946},[4063],[394,6734],{},"). Assuming the bound for all smaller arguments,",[394,6737,6739],{"className":6738},[3821],[394,6740,6742],{"className":6741},[397],[394,6743,6745],{"className":6744,"ariaHidden":402},[401],[394,6746,6748,6752],{"className":6747},[406],[394,6749],{"className":6750,"style":6751},[410],"height:2.71em;vertical-align:-1.105em;",[394,6753,6755],{"className":6754},[420],[394,6756,6759,6815],{"className":6757},[6758],"mtable",[394,6760,6763],{"className":6761},[6762],"col-align-r",[394,6764,6766,6806],{"className":6765},[4055,5915],[394,6767,6769,6803],{"className":6768},[4059],[394,6770,6773,6794],{"className":6771,"style":6772},[4063],"height:1.605em;",[394,6774,6776,6779],{"style":6775},"top:-3.765em;",[394,6777],{"className":6778,"style":6295},[4071],[394,6780,6782,6785,6788,6791],{"className":6781},[420],[394,6783,3838],{"className":6784,"style":3837},[420,469],[394,6786,2246],{"className":6787},[474],[394,6789,2250],{"className":6790},[420,469],[394,6792,2254],{"className":6793},[491],[394,6795,6797,6800],{"style":6796},"top:-2.255em;",[394,6798],{"className":6799,"style":6295},[4071],[394,6801],{"className":6802},[420],[394,6804,5939],{"className":6805},[5938],[394,6807,6809],{"className":6808},[4059],[394,6810,6813],{"className":6811,"style":6812},[4063],"height:1.105em;",[394,6814],{},[394,6816,6819],{"className":6817},[6818],"col-align-l",[394,6820,6822,7128],{"className":6821},[4055,5915],[394,6823,6825,7125],{"className":6824},[4059],[394,6826,6828,6939],{"className":6827,"style":6772},[4063],[394,6829,6830,6833],{"style":6775},[394,6831],{"className":6832,"style":6295},[4071],[394,6834,6836,6839,6842,6845,6848,6851,6854,6857,6860,6863,6866,6869,6872,6875,6878,6881,6884,6887,6890,6893,6896,6899,6902,6905,6909,6912,6915,6918,6921,6924,6927,6930,6933,6936],{"className":6835},[420],[394,6837],{"className":6838},[420],[394,6840],{"className":6841,"style":1350},[634],[394,6843,560],{"className":6844},[559],[394,6846],{"className":6847,"style":1350},[634],[394,6849,3838],{"className":6850,"style":3837},[420,469],[394,6852,2246],{"className":6853},[474],[394,6855,5817],{"className":6856},[420,469],[394,6858,2254],{"className":6859},[491],[394,6861],{"className":6862,"style":635},[634],[394,6864,684],{"className":6865},[639],[394,6867],{"className":6868,"style":635},[634],[394,6870,3838],{"className":6871,"style":3837},[420,469],[394,6873,2246],{"className":6874},[474],[394,6876,5684],{"className":6877},[420,469],[394,6879,2250],{"className":6880},[420,469],[394,6882,2254],{"className":6883},[491],[394,6885],{"className":6886,"style":635},[634],[394,6888,684],{"className":6889},[639],[394,6891],{"className":6892,"style":635},[634],[394,6894,5870],{"className":6895},[420,469],[394,6897],{"className":6898,"style":1350},[634],[394,6900,560],{"className":6901},[559],[394,6903],{"className":6904,"style":1350},[634],[394,6906,6908],{"className":6907},[420,469],"aλn",[394,6910],{"className":6911,"style":635},[634],[394,6913,684],{"className":6914},[639],[394,6916],{"className":6917,"style":635},[634],[394,6919,384],{"className":6920},[420,469],[394,6922,5684],{"className":6923},[420,469],[394,6925,2250],{"className":6926},[420,469],[394,6928],{"className":6929,"style":635},[634],[394,6931,684],{"className":6932},[639],[394,6934],{"className":6935,"style":635},[634],[394,6937,5870],{"className":6938},[420,469],[394,6940,6941,6944],{"style":6796},[394,6942],{"className":6943,"style":6295},[4071],[394,6945,6947,6950,6953,6956,6959,6966,6969,6972,6975,6978,6981,6984,6987,6990,6993,6996,6999,7002,7008,7011,7014,7017,7020,7023,7029,7032,7035,7038,7041,7044,7047,7050,7053,7056,7059,7062,7065,7068,7071,7074,7077,7080,7083,7086,7089,7092,7095,7098,7104,7107,7110,7113,7116,7119,7122],{"className":6946},[420],[394,6948],{"className":6949},[420],[394,6951],{"className":6952,"style":1350},[634],[394,6954,1597],{"className":6955},[559],[394,6957],{"className":6958,"style":1350},[634],[394,6960,6962],{"className":6961},[474],[394,6963,2246],{"className":6964},[6250,6965],"size1",[394,6967,384],{"className":6968},[420,469],[394,6970,2246],{"className":6971},[474],[394,6973,5674],{"className":6974},[420,469],[394,6976],{"className":6977,"style":635},[634],[394,6979,684],{"className":6980},[639],[394,6982],{"className":6983,"style":635},[634],[394,6985,5684],{"className":6986},[420,469],[394,6988,2254],{"className":6989},[491],[394,6991],{"className":6992,"style":635},[634],[394,6994,684],{"className":6995},[639],[394,6997],{"className":6998,"style":635},[634],[394,7000,5694],{"className":7001},[420,469],[394,7003,7005],{"className":7004},[491],[394,7006,2254],{"className":7007},[6250,6965],[394,7009],{"className":7010,"style":2375},[634],[394,7012,2250],{"className":7013},[420,469],[394,7015],{"className":7016,"style":1350},[634],[394,7018,560],{"className":7019},[559],[394,7021],{"className":7022,"style":1350},[634],[394,7024,7026],{"className":7025},[474],[394,7027,2246],{"className":7028},[6250,6965],[394,7030,384],{"className":7031},[420,469],[394,7033,2246],{"className":7034},[474],[394,7036,5674],{"className":7037},[420,469],[394,7039],{"className":7040,"style":635},[634],[394,7042,684],{"className":7043},[639],[394,7045],{"className":7046,"style":635},[634],[394,7048,5684],{"className":7049},[420,469],[394,7051,2254],{"className":7052},[491],[394,7054],{"className":7055,"style":635},[634],[394,7057,684],{"className":7058},[639],[394,7060],{"className":7061,"style":635},[634],[394,7063,384],{"className":7064},[420,469],[394,7066,2246],{"className":7067},[474],[394,7069,444],{"className":7070},[420],[394,7072],{"className":7073,"style":635},[634],[394,7075,640],{"className":7076},[639],[394,7078],{"className":7079,"style":635},[634],[394,7081,5674],{"className":7082},[420,469],[394,7084],{"className":7085,"style":635},[634],[394,7087,640],{"className":7088},[639],[394,7090],{"className":7091,"style":635},[634],[394,7093,5684],{"className":7094},[420,469],[394,7096,2254],{"className":7097},[491],[394,7099,7101],{"className":7100},[491],[394,7102,2254],{"className":7103},[6250,6965],[394,7105],{"className":7106,"style":2375},[634],[394,7108,2250],{"className":7109},[420,469],[394,7111],{"className":7112,"style":1350},[634],[394,7114,1597],{"className":7115},[559],[394,7117],{"className":7118,"style":1350},[634],[394,7120,6160],{"className":7121},[420,469],[394,7123,2371],{"className":7124},[2370],[394,7126,5939],{"className":7127},[5938],[394,7129,7131],{"className":7130},[4059],[394,7132,7134],{"className":7133,"style":6812},[4063],[394,7135],{},[381,7137,7138,7139,7217,7218,7233,7234,7285,7286],{},"where the last inequality uses ",[394,7140,7142],{"className":7141},[397],[394,7143,7145,7163,7187,7205],{"className":7144,"ariaHidden":402},[401],[394,7146,7148,7151,7154,7157,7160],{"className":7147},[406],[394,7149],{"className":7150,"style":1363},[410],[394,7152,5694],{"className":7153},[420,469],[394,7155],{"className":7156,"style":1350},[634],[394,7158,560],{"className":7159},[559],[394,7161],{"className":7162,"style":1350},[634],[394,7164,7166,7169,7172,7175,7178,7181,7184],{"className":7165},[406],[394,7167],{"className":7168,"style":465},[410],[394,7170,384],{"className":7171},[420,469],[394,7173,2246],{"className":7174},[474],[394,7176,444],{"className":7177},[420],[394,7179],{"className":7180,"style":635},[634],[394,7182,640],{"className":7183},[639],[394,7185],{"className":7186,"style":635},[634],[394,7188,7190,7193,7196,7199,7202],{"className":7189},[406],[394,7191],{"className":7192,"style":5726},[410],[394,7194,5674],{"className":7195},[420,469],[394,7197],{"className":7198,"style":635},[634],[394,7200,640],{"className":7201},[639],[394,7203],{"className":7204,"style":635},[634],[394,7206,7208,7211,7214],{"className":7207},[406],[394,7209],{"className":7210,"style":465},[410],[394,7212,5684],{"className":7213},[420,469],[394,7215,2254],{"className":7216},[491],", which is exactly how\n",[394,7219,7221],{"className":7220},[397],[394,7222,7224],{"className":7223,"ariaHidden":402},[401],[394,7225,7227,7230],{"className":7226},[406],[394,7228],{"className":7229,"style":799},[410],[394,7231,384],{"className":7232},[420,469]," was chosen. So ",[394,7235,7237],{"className":7236},[397],[394,7238,7240,7267],{"className":7239,"ariaHidden":402},[401],[394,7241,7243,7246,7249,7252,7255,7258,7261,7264],{"className":7242},[406],[394,7244],{"className":7245,"style":465},[410],[394,7247,3838],{"className":7248,"style":3837},[420,469],[394,7250,2246],{"className":7251},[474],[394,7253,2250],{"className":7254},[420,469],[394,7256,2254],{"className":7257},[491],[394,7259],{"className":7260,"style":1350},[634],[394,7262,1597],{"className":7263},[559],[394,7265],{"className":7266,"style":1350},[634],[394,7268,7270,7273,7276,7279,7282],{"className":7269},[406],[394,7271],{"className":7272,"style":465},[410],[394,7274,5107],{"className":7275,"style":486},[420,469],[394,7277,2246],{"className":7278},[474],[394,7280,2250],{"className":7281},[420,469],[394,7283,2254],{"className":7284},[491],". ",[394,7287,7289],{"className":7288},[397],[394,7290,7292],{"className":7291,"ariaHidden":402},[401],[394,7293,7295,7299],{"className":7294},[406],[394,7296],{"className":7297,"style":7298},[410],"height:0.675em;",[394,7300,7303],{"className":7301},[420,7302],"amsrm","■",[381,7305,7306,7307,7310,7311,7314,7315,7366,7367,7406,7407,7431,7432,7483,7484,7487,7488,7491],{},"For balanced quicksort the per-level work ",[431,7308,7309],{},"grows"," a logarithmic number of times\nrather than collapsing, since the splits sum to the ",[431,7312,7313],{},"whole"," array (",[394,7316,7318],{"className":7317},[397],[394,7319,7321,7339,7357],{"className":7320,"ariaHidden":402},[401],[394,7322,7324,7327,7330,7333,7336],{"className":7323},[406],[394,7325],{"className":7326,"style":5726},[410],[394,7328,5674],{"className":7329},[420,469],[394,7331],{"className":7332,"style":635},[634],[394,7334,684],{"className":7335},[639],[394,7337],{"className":7338,"style":635},[634],[394,7340,7342,7345,7348,7351,7354],{"className":7341},[406],[394,7343],{"className":7344,"style":591},[410],[394,7346,5684],{"className":7347},[420,469],[394,7349],{"className":7350,"style":1350},[634],[394,7352,1597],{"className":7353},[559],[394,7355],{"className":7356,"style":1350},[634],[394,7358,7360,7363],{"className":7359},[406],[394,7361],{"className":7362,"style":1519},[410],[394,7364,444],{"className":7365},[420],",\nthe boundary case the lemma deliberately excludes), which is why quicksort is\n",[394,7368,7370],{"className":7369},[397],[394,7371,7373],{"className":7372,"ariaHidden":402},[401],[394,7374,7376,7379,7382,7385,7388,7391,7397,7400,7403],{"className":7375},[406],[394,7377],{"className":7378,"style":465},[410],[394,7380,2242],{"className":7381},[420],[394,7383,2246],{"className":7384},[474],[394,7386,2250],{"className":7387},[420,469],[394,7389],{"className":7390,"style":2375},[634],[394,7392,7394],{"className":7393},[4817],[394,7395,4823],{"className":7396,"style":4822},[420,4821],[394,7398],{"className":7399,"style":2375},[634],[394,7401,2250],{"className":7402},[420,469],[394,7404,2254],{"className":7405},[491]," and not ",[394,7408,7410],{"className":7409},[397],[394,7411,7413],{"className":7412,"ariaHidden":402},[401],[394,7414,7416,7419,7422,7425,7428],{"className":7415},[406],[394,7417],{"className":7418,"style":465},[410],[394,7420,2242],{"className":7421},[420],[394,7423,2246],{"className":7424},[474],[394,7426,2250],{"className":7427},[420,469],[394,7429,2254],{"className":7430},[491],". The lemma's strict inequality\n",[394,7433,7435],{"className":7434},[397],[394,7436,7438,7456,7474],{"className":7437,"ariaHidden":402},[401],[394,7439,7441,7444,7447,7450,7453],{"className":7440},[406],[394,7442],{"className":7443,"style":5726},[410],[394,7445,5674],{"className":7446},[420,469],[394,7448],{"className":7449,"style":635},[634],[394,7451,684],{"className":7452},[639],[394,7454],{"className":7455,"style":635},[634],[394,7457,7459,7462,7465,7468,7471],{"className":7458},[406],[394,7460],{"className":7461,"style":5745},[410],[394,7463,5684],{"className":7464},[420,469],[394,7466],{"className":7467,"style":1350},[634],[394,7469,5755],{"className":7470},[559],[394,7472],{"className":7473,"style":1350},[634],[394,7475,7477,7480],{"className":7476},[406],[394,7478],{"className":7479,"style":1519},[410],[394,7481,444],{"className":7482},[420]," is what separates ",[596,7485,7486],{},"recurse on both halves"," (sorting) from\n",[596,7489,7490],{},"throw away a constant fraction and recurse on one piece"," (selection).",[446,7493,7495],{"id":7494},"why-randomization-helps","Why randomization helps",[381,7497,7498,7499,7502,7503,7533],{},"The danger is a pivot rule that an adversary, or merely unlucky real-world\ndata, can drive into the worst case. The fix is to ",[389,7500,7501],{},"randomize",": choose the\npivot uniformly at random from ",[394,7504,7506],{"className":7505},[397],[394,7507,7509],{"className":7508,"ariaHidden":402},[401],[394,7510,7512,7515,7518,7521,7524,7527,7530],{"className":7511},[406],[394,7513],{"className":7514,"style":465},[410],[394,7516,470],{"className":7517},[420,469],[394,7519,475],{"className":7520},[474],[394,7522,381],{"className":7523},[420,469],[394,7525,482],{"className":7526},[420],[394,7528,487],{"className":7529,"style":486},[420,469],[394,7531,492],{"className":7532},[491]," (equivalently, swap a random element\nto the end before running Lomuto partition).",[711,7535,7537],{"className":713,"code":7536,"language":715,"meta":376,"style":376},"caption: $\\textsc{Randomized-Partition}(A, p, r)$\nnumber: 4\n$k \\gets$ a uniformly random integer in $[p, r]$\nexchange $A[k]$ with $A[r]$ \u002F\u002F randomize pivot, reuse Lomuto\nreturn call $\\textsc{Partition}(A, p, r)$\n",[717,7538,7539,7544,7549,7554,7559],{"__ignoreMap":376},[394,7540,7541],{"class":721,"line":6},[394,7542,7543],{},"caption: $\\textsc{Randomized-Partition}(A, p, r)$\n",[394,7545,7546],{"class":721,"line":18},[394,7547,7548],{},"number: 4\n",[394,7550,7551],{"class":721,"line":24},[394,7552,7553],{},"$k \\gets$ a uniformly random integer in $[p, r]$\n",[394,7555,7556],{"class":721,"line":73},[394,7557,7558],{},"exchange $A[k]$ with $A[r]$ \u002F\u002F randomize pivot, reuse Lomuto\n",[394,7560,7561],{"class":721,"line":102},[394,7562,7563],{},"return call $\\textsc{Partition}(A, p, r)$\n",[381,7565,7566,7567,7570,7571,7574,7575,7614,7615,7618,7619],{},"Now no particular input is bad: the ",[431,7568,7569],{},"coin flips",", not the input order, decide\nthe split. The worst case still exists in principle (every random choice could\nbe unlucky), but its probability is vanishingly small, and we can prove the\n",[389,7572,7573],{},"expected"," running time is ",[394,7576,7578],{"className":7577},[397],[394,7579,7581],{"className":7580,"ariaHidden":402},[401],[394,7582,7584,7587,7590,7593,7596,7599,7605,7608,7611],{"className":7583},[406],[394,7585],{"className":7586,"style":465},[410],[394,7588,2242],{"className":7589},[420],[394,7591,2246],{"className":7592},[474],[394,7594,2250],{"className":7595},[420,469],[394,7597],{"className":7598,"style":2375},[634],[394,7600,7602],{"className":7601},[4817],[394,7603,4823],{"className":7604,"style":4822},[420,4821],[394,7606],{"className":7607,"style":2375},[634],[394,7609,2250],{"className":7610},[420,469],[394,7612,2254],{"className":7613},[491]," on ",[431,7616,7617],{},"every"," input.",[436,7620,7621],{},[384,7622,2407],{"href":7623,"ariaDescribedBy":7624,"dataFootnoteRef":376,"id":7625},"#user-content-fn-clrs-random",[442],"user-content-fnref-clrs-random",[777,7627,7629],{"id":7628},"the-expected-comparisons-argument","The expected-comparisons argument",[381,7631,7632,7633,7818,7819,8005,8006,8009,8010,8180,8181,8314],{},"Let the sorted order of the elements be ",[394,7634,7636],{"className":7635},[397],[394,7637,7639,7698,7753,7771],{"className":7638,"ariaHidden":402},[401],[394,7640,7642,7646,7689,7692,7695],{"className":7641},[406],[394,7643],{"className":7644,"style":7645},[410],"height:0.6891em;vertical-align:-0.15em;",[394,7647,7649,7654],{"className":7648},[420],[394,7650,7653],{"className":7651,"style":7652},[420,469],"margin-right:0.044em;","z",[394,7655,7657],{"className":7656},[4051],[394,7658,7660,7681],{"className":7659},[4055,5915],[394,7661,7663,7678],{"className":7662},[4059],[394,7664,7666],{"className":7665,"style":5922},[4063],[394,7667,7669,7672],{"style":7668},"top:-2.55em;margin-left:-0.044em;margin-right:0.05em;",[394,7670],{"className":7671,"style":4072},[4071],[394,7673,7675],{"className":7674},[4076,4077,4078,4079],[394,7676,444],{"className":7677},[420,4079],[394,7679,5939],{"className":7680},[5938],[394,7682,7684],{"className":7683},[4059],[394,7685,7687],{"className":7686,"style":5946},[4063],[394,7688],{},[394,7690],{"className":7691,"style":1350},[634],[394,7693,5755],{"className":7694},[559],[394,7696],{"className":7697,"style":1350},[634],[394,7699,7701,7704,7744,7747,7750],{"className":7700},[406],[394,7702],{"className":7703,"style":7645},[410],[394,7705,7707,7710],{"className":7706},[420],[394,7708,7653],{"className":7709,"style":7652},[420,469],[394,7711,7713],{"className":7712},[4051],[394,7714,7716,7736],{"className":7715},[4055,5915],[394,7717,7719,7733],{"className":7718},[4059],[394,7720,7722],{"className":7721,"style":5922},[4063],[394,7723,7724,7727],{"style":7668},[394,7725],{"className":7726,"style":4072},[4071],[394,7728,7730],{"className":7729},[4076,4077,4078,4079],[394,7731,1259],{"className":7732},[420,4079],[394,7734,5939],{"className":7735},[5938],[394,7737,7739],{"className":7738},[4059],[394,7740,7742],{"className":7741,"style":5946},[4063],[394,7743],{},[394,7745],{"className":7746,"style":1350},[634],[394,7748,5755],{"className":7749},[559],[394,7751],{"className":7752,"style":1350},[634],[394,7754,7756,7759,7762,7765,7768],{"className":7755},[406],[394,7757],{"className":7758,"style":1246},[410],[394,7760,4209],{"className":7761},[4208],[394,7763],{"className":7764,"style":1350},[634],[394,7766,5755],{"className":7767},[559],[394,7769],{"className":7770,"style":1350},[634],[394,7772,7774,7777],{"className":7773},[406],[394,7775],{"className":7776,"style":5902},[410],[394,7778,7780,7783],{"className":7779},[420],[394,7781,7653],{"className":7782,"style":7652},[420,469],[394,7784,7786],{"className":7785},[4051],[394,7787,7789,7810],{"className":7788},[4055,5915],[394,7790,7792,7807],{"className":7791},[4059],[394,7793,7796],{"className":7794,"style":7795},[4063],"height:0.1514em;",[394,7797,7798,7801],{"style":7668},[394,7799],{"className":7800,"style":4072},[4071],[394,7802,7804],{"className":7803},[4076,4077,4078,4079],[394,7805,2250],{"className":7806},[420,469,4079],[394,7808,5939],{"className":7809},[5938],[394,7811,7813],{"className":7812},[4059],[394,7814,7816],{"className":7815,"style":5946},[4063],[394,7817],{},", and let\n",[394,7820,7822],{"className":7821},[397],[394,7823,7825,7890],{"className":7824,"ariaHidden":402},[401],[394,7826,7828,7832,7881,7884,7887],{"className":7827},[406],[394,7829],{"className":7830,"style":7831},[410],"height:0.9694em;vertical-align:-0.2861em;",[394,7833,7835,7840],{"className":7834},[420],[394,7836,7839],{"className":7837,"style":7838},[420,469],"margin-right:0.0715em;","Z",[394,7841,7843],{"className":7842},[4051],[394,7844,7846,7872],{"className":7845},[4055,5915],[394,7847,7849,7869],{"className":7848},[4059],[394,7850,7853],{"className":7851,"style":7852},[4063],"height:0.3117em;",[394,7854,7856,7859],{"style":7855},"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;",[394,7857],{"className":7858,"style":4072},[4071],[394,7860,7862],{"className":7861},[4076,4077,4078,4079],[394,7863,7865],{"className":7864},[420,4079],[394,7866,7868],{"className":7867,"style":1197},[420,469,4079],"ij",[394,7870,5939],{"className":7871},[5938],[394,7873,7875],{"className":7874},[4059],[394,7876,7879],{"className":7877,"style":7878},[4063],"height:0.2861em;",[394,7880],{},[394,7882],{"className":7883,"style":1350},[634],[394,7885,1597],{"className":7886},[559],[394,7888],{"className":7889,"style":1350},[634],[394,7891,7893,7897],{"className":7892},[406],[394,7894],{"className":7895,"style":7896},[410],"height:1.0361em;vertical-align:-0.2861em;",[394,7898,7900,7903,7943,7946,7949,7953,7956,7959,7962,8002],{"className":7899},[4208],[394,7901,6251],{"className":7902,"style":6246},[474,6245],[394,7904,7906,7909],{"className":7905},[420],[394,7907,7653],{"className":7908,"style":7652},[420,469],[394,7910,7912],{"className":7911},[4051],[394,7913,7915,7935],{"className":7914},[4055,5915],[394,7916,7918,7932],{"className":7917},[4059],[394,7919,7921],{"className":7920,"style":7852},[4063],[394,7922,7923,7926],{"style":7668},[394,7924],{"className":7925,"style":4072},[4071],[394,7927,7929],{"className":7928},[4076,4077,4078,4079],[394,7930,1216],{"className":7931},[420,469,4079],[394,7933,5939],{"className":7934},[5938],[394,7936,7938],{"className":7937},[4059],[394,7939,7941],{"className":7940,"style":5946},[4063],[394,7942],{},[394,7944,2371],{"className":7945},[2370],[394,7947],{"className":7948,"style":2375},[634],[394,7950,7952],{"className":7951},[4208],"…",[394,7954],{"className":7955,"style":2375},[634],[394,7957,2371],{"className":7958},[2370],[394,7960],{"className":7961,"style":2375},[634],[394,7963,7965,7968],{"className":7964},[420],[394,7966,7653],{"className":7967,"style":7652},[420,469],[394,7969,7971],{"className":7970},[4051],[394,7972,7974,7994],{"className":7973},[4055,5915],[394,7975,7977,7991],{"className":7976},[4059],[394,7978,7980],{"className":7979,"style":7852},[4063],[394,7981,7982,7985],{"style":7668},[394,7983],{"className":7984,"style":4072},[4071],[394,7986,7988],{"className":7987},[4076,4077,4078,4079],[394,7989,1198],{"className":7990,"style":1197},[420,469,4079],[394,7992,5939],{"className":7993},[5938],[394,7995,7997],{"className":7996},[4059],[394,7998,8000],{"className":7999,"style":7878},[4063],[394,8001],{},[394,8003,6373],{"className":8004,"style":6246},[491,6245],". Two elements are compared ",[431,8007,8008],{},"at most once"," over\nthe whole run, since comparisons only ever happen against a pivot, and a pivot is\nremoved from future partitions. Define the indicator\n",[394,8011,8013],{"className":8012},[397],[394,8014,8016,8077],{"className":8015,"ariaHidden":402},[401],[394,8017,8019,8022,8068,8071,8074],{"className":8018},[406],[394,8020],{"className":8021,"style":7831},[410],[394,8023,8025,8030],{"className":8024},[420],[394,8026,8029],{"className":8027,"style":8028},[420,469],"margin-right:0.0785em;","X",[394,8031,8033],{"className":8032},[4051],[394,8034,8036,8060],{"className":8035},[4055,5915],[394,8037,8039,8057],{"className":8038},[4059],[394,8040,8042],{"className":8041,"style":7852},[4063],[394,8043,8045,8048],{"style":8044},"top:-2.55em;margin-left:-0.0785em;margin-right:0.05em;",[394,8046],{"className":8047,"style":4072},[4071],[394,8049,8051],{"className":8050},[4076,4077,4078,4079],[394,8052,8054],{"className":8053},[420,4079],[394,8055,7868],{"className":8056,"style":1197},[420,469,4079],[394,8058,5939],{"className":8059},[5938],[394,8061,8063],{"className":8062},[4059],[394,8064,8066],{"className":8065,"style":7878},[4063],[394,8067],{},[394,8069],{"className":8070,"style":1350},[634],[394,8072,1597],{"className":8073},[559],[394,8075],{"className":8076,"style":1350},[634],[394,8078,8080,8083,8087,8090,8130,8137,8177],{"className":8079},[406],[394,8081],{"className":8082,"style":7896},[410],[394,8084,444],{"className":8085},[420,8086],"mathbf",[394,8088,475],{"className":8089},[474],[394,8091,8093,8096],{"className":8092},[420],[394,8094,7653],{"className":8095,"style":7652},[420,469],[394,8097,8099],{"className":8098},[4051],[394,8100,8102,8122],{"className":8101},[4055,5915],[394,8103,8105,8119],{"className":8104},[4059],[394,8106,8108],{"className":8107,"style":7852},[4063],[394,8109,8110,8113],{"style":7668},[394,8111],{"className":8112,"style":4072},[4071],[394,8114,8116],{"className":8115},[4076,4077,4078,4079],[394,8117,1216],{"className":8118},[420,469,4079],[394,8120,5939],{"className":8121},[5938],[394,8123,8125],{"className":8124},[4059],[394,8126,8128],{"className":8127,"style":5946},[4063],[394,8129],{},[394,8131,8133],{"className":8132},[420,421],[394,8134,8136],{"className":8135},[420]," is compared with ",[394,8138,8140,8143],{"className":8139},[420],[394,8141,7653],{"className":8142,"style":7652},[420,469],[394,8144,8146],{"className":8145},[4051],[394,8147,8149,8169],{"className":8148},[4055,5915],[394,8150,8152,8166],{"className":8151},[4059],[394,8153,8155],{"className":8154,"style":7852},[4063],[394,8156,8157,8160],{"style":7668},[394,8158],{"className":8159,"style":4072},[4071],[394,8161,8163],{"className":8162},[4076,4077,4078,4079],[394,8164,1198],{"className":8165,"style":1197},[420,469,4079],[394,8167,5939],{"className":8168},[5938],[394,8170,8172],{"className":8171},[4059],[394,8173,8175],{"className":8174,"style":7878},[4063],[394,8176],{},[394,8178,492],{"className":8179},[491],". The total comparison\ncount is ",[394,8182,8184],{"className":8183},[397],[394,8185,8187,8205],{"className":8186,"ariaHidden":402},[401],[394,8188,8190,8193,8196,8199,8202],{"className":8189},[406],[394,8191],{"className":8192,"style":765},[410],[394,8194,8029],{"className":8195,"style":8028},[420,469],[394,8197],{"className":8198,"style":1350},[634],[394,8200,1597],{"className":8201},[559],[394,8203],{"className":8204,"style":1350},[634],[394,8206,8208,8212,8268,8271],{"className":8207},[406],[394,8209],{"className":8210,"style":8211},[410],"height:1.1858em;vertical-align:-0.4358em;",[394,8213,8215,8222],{"className":8214},[4817],[394,8216,8221],{"className":8217,"style":8220},[4817,8218,8219],"op-symbol","small-op","position:relative;top:0em;","∑",[394,8223,8225],{"className":8224},[4051],[394,8226,8228,8259],{"className":8227},[4055,5915],[394,8229,8231,8256],{"className":8230},[4059],[394,8232,8235],{"className":8233,"style":8234},[4063],"height:0.162em;",[394,8236,8238,8241],{"style":8237},"top:-2.4003em;margin-left:0em;margin-right:0.05em;",[394,8239],{"className":8240,"style":4072},[4071],[394,8242,8244],{"className":8243},[4076,4077,4078,4079],[394,8245,8247,8250,8253],{"className":8246},[420,4079],[394,8248,1216],{"className":8249},[420,469,4079],[394,8251,5755],{"className":8252},[559,4079],[394,8254,1198],{"className":8255,"style":1197},[420,469,4079],[394,8257,5939],{"className":8258},[5938],[394,8260,8262],{"className":8261},[4059],[394,8263,8266],{"className":8264,"style":8265},[4063],"height:0.4358em;",[394,8267],{},[394,8269],{"className":8270,"style":2375},[634],[394,8272,8274,8277],{"className":8273},[420],[394,8275,8029],{"className":8276,"style":8028},[420,469],[394,8278,8280],{"className":8279},[4051],[394,8281,8283,8306],{"className":8282},[4055,5915],[394,8284,8286,8303],{"className":8285},[4059],[394,8287,8289],{"className":8288,"style":7852},[4063],[394,8290,8291,8294],{"style":8044},[394,8292],{"className":8293,"style":4072},[4071],[394,8295,8297],{"className":8296},[4076,4077,4078,4079],[394,8298,8300],{"className":8299},[420,4079],[394,8301,7868],{"className":8302,"style":1197},[420,469,4079],[394,8304,5939],{"className":8305},[5938],[394,8307,8309],{"className":8308},[4059],[394,8310,8312],{"className":8311,"style":7878},[4063],[394,8313],{},", so by linearity of expectation",[394,8316,8318],{"className":8317},[3821],[394,8319,8321],{"className":8320},[397],[394,8322,8324,8353],{"className":8323,"ariaHidden":402},[401],[394,8325,8327,8330,8335,8338,8341,8344,8347,8350],{"className":8326},[406],[394,8328],{"className":8329,"style":465},[410],[394,8331,8334],{"className":8332},[420,8333],"mathbb","E",[394,8336,475],{"className":8337},[474],[394,8339,8029],{"className":8340,"style":8028},[420,469],[394,8342,492],{"className":8343},[491],[394,8345],{"className":8346,"style":1350},[634],[394,8348,1597],{"className":8349},[559],[394,8351],{"className":8352,"style":1350},[634],[394,8354,8356,8360,8441,8444,8519,8522,8529,8532,8572,8579,8619,8622],{"className":8355},[406],[394,8357],{"className":8358,"style":8359},[410],"height:3.2149em;vertical-align:-1.4138em;",[394,8361,8364],{"className":8362},[4817,8363],"op-limits",[394,8365,8367,8432],{"className":8366},[4055,5915],[394,8368,8370,8429],{"className":8369},[4059],[394,8371,8374,8396,8408],{"className":8372,"style":8373},[4063],"height:1.8011em;",[394,8375,8377,8381],{"style":8376},"top:-1.8723em;margin-left:0em;",[394,8378],{"className":8379,"style":8380},[4071],"height:3.05em;",[394,8382,8384],{"className":8383},[4076,4077,4078,4079],[394,8385,8387,8390,8393],{"className":8386},[420,4079],[394,8388,1216],{"className":8389},[420,469,4079],[394,8391,1597],{"className":8392},[559,4079],[394,8394,444],{"className":8395},[420,4079],[394,8397,8399,8402],{"style":8398},"top:-3.05em;",[394,8400],{"className":8401,"style":8380},[4071],[394,8403,8404],{},[394,8405,8221],{"className":8406},[4817,8218,8407],"large-op",[394,8409,8411,8414],{"style":8410},"top:-4.3em;margin-left:0em;",[394,8412],{"className":8413,"style":8380},[4071],[394,8415,8417],{"className":8416},[4076,4077,4078,4079],[394,8418,8420,8423,8426],{"className":8419},[420,4079],[394,8421,2250],{"className":8422},[420,469,4079],[394,8424,640],{"className":8425},[639,4079],[394,8427,444],{"className":8428},[420,4079],[394,8430,5939],{"className":8431},[5938],[394,8433,8435],{"className":8434},[4059],[394,8436,8439],{"className":8437,"style":8438},[4063],"height:1.2777em;",[394,8440],{},[394,8442],{"className":8443,"style":2375},[634],[394,8445,8447],{"className":8446},[4817,8363],[394,8448,8450,8510],{"className":8449},[4055,5915],[394,8451,8453,8507],{"className":8452},[4059],[394,8454,8457,8483,8493],{"className":8455,"style":8456},[4063],"height:1.6514em;",[394,8458,8459,8462],{"style":8376},[394,8460],{"className":8461,"style":8380},[4071],[394,8463,8465],{"className":8464},[4076,4077,4078,4079],[394,8466,8468,8471,8474,8477,8480],{"className":8467},[420,4079],[394,8469,1198],{"className":8470,"style":1197},[420,469,4079],[394,8472,1597],{"className":8473},[559,4079],[394,8475,1216],{"className":8476},[420,469,4079],[394,8478,684],{"className":8479},[639,4079],[394,8481,444],{"className":8482},[420,4079],[394,8484,8485,8488],{"style":8398},[394,8486],{"className":8487,"style":8380},[4071],[394,8489,8490],{},[394,8491,8221],{"className":8492},[4817,8218,8407],[394,8494,8495,8498],{"style":8410},[394,8496],{"className":8497,"style":8380},[4071],[394,8499,8501],{"className":8500},[4076,4077,4078,4079],[394,8502,8504],{"className":8503},[420,4079],[394,8505,2250],{"className":8506},[420,469,4079],[394,8508,5939],{"className":8509},[5938],[394,8511,8513],{"className":8512},[4059],[394,8514,8517],{"className":8515,"style":8516},[4063],"height:1.4138em;",[394,8518],{},[394,8520],{"className":8521,"style":2375},[634],[394,8523,8525],{"className":8524},[4817],[394,8526,8528],{"className":8527},[420,4821],"Pr",[394,8530,475],{"className":8531},[474],[394,8533,8535,8538],{"className":8534},[420],[394,8536,7653],{"className":8537,"style":7652},[420,469],[394,8539,8541],{"className":8540},[4051],[394,8542,8544,8564],{"className":8543},[4055,5915],[394,8545,8547,8561],{"className":8546},[4059],[394,8548,8550],{"className":8549,"style":7852},[4063],[394,8551,8552,8555],{"style":7668},[394,8553],{"className":8554,"style":4072},[4071],[394,8556,8558],{"className":8557},[4076,4077,4078,4079],[394,8559,1216],{"className":8560},[420,469,4079],[394,8562,5939],{"className":8563},[5938],[394,8565,8567],{"className":8566},[4059],[394,8568,8570],{"className":8569,"style":5946},[4063],[394,8571],{},[394,8573,8575],{"className":8574},[420,421],[394,8576,8578],{"className":8577},[420]," compared with ",[394,8580,8582,8585],{"className":8581},[420],[394,8583,7653],{"className":8584,"style":7652},[420,469],[394,8586,8588],{"className":8587},[4051],[394,8589,8591,8611],{"className":8590},[4055,5915],[394,8592,8594,8608],{"className":8593},[4059],[394,8595,8597],{"className":8596,"style":7852},[4063],[394,8598,8599,8602],{"style":7668},[394,8600],{"className":8601,"style":4072},[4071],[394,8603,8605],{"className":8604},[4076,4077,4078,4079],[394,8606,1198],{"className":8607,"style":1197},[420,469,4079],[394,8609,5939],{"className":8610},[5938],[394,8612,8614],{"className":8613},[4059],[394,8615,8617],{"className":8616,"style":7878},[4063],[394,8618],{},[394,8620,492],{"className":8621},[491],[394,8623,597],{"className":8624},[420],[381,8626,8627,8628,656,8680,8733,8734,8898,8899,8952,8953,9005,9006,3651,9058,9110],{},"The combinatorial fact that matters: ",[394,8629,8631],{"className":8630},[397],[394,8632,8634],{"className":8633,"ariaHidden":402},[401],[394,8635,8637,8640],{"className":8636},[406],[394,8638],{"className":8639,"style":5902},[410],[394,8641,8643,8646],{"className":8642},[420],[394,8644,7653],{"className":8645,"style":7652},[420,469],[394,8647,8649],{"className":8648},[4051],[394,8650,8652,8672],{"className":8651},[4055,5915],[394,8653,8655,8669],{"className":8654},[4059],[394,8656,8658],{"className":8657,"style":7852},[4063],[394,8659,8660,8663],{"style":7668},[394,8661],{"className":8662,"style":4072},[4071],[394,8664,8666],{"className":8665},[4076,4077,4078,4079],[394,8667,1216],{"className":8668},[420,469,4079],[394,8670,5939],{"className":8671},[5938],[394,8673,8675],{"className":8674},[4059],[394,8676,8678],{"className":8677,"style":5946},[4063],[394,8679],{},[394,8681,8683],{"className":8682},[397],[394,8684,8686],{"className":8685,"ariaHidden":402},[401],[394,8687,8689,8693],{"className":8688},[406],[394,8690],{"className":8691,"style":8692},[410],"height:0.7167em;vertical-align:-0.2861em;",[394,8694,8696,8699],{"className":8695},[420],[394,8697,7653],{"className":8698,"style":7652},[420,469],[394,8700,8702],{"className":8701},[4051],[394,8703,8705,8725],{"className":8704},[4055,5915],[394,8706,8708,8722],{"className":8707},[4059],[394,8709,8711],{"className":8710,"style":7852},[4063],[394,8712,8713,8716],{"style":7668},[394,8714],{"className":8715,"style":4072},[4071],[394,8717,8719],{"className":8718},[4076,4077,4078,4079],[394,8720,1198],{"className":8721,"style":1197},[420,469,4079],[394,8723,5939],{"className":8724},[5938],[394,8726,8728],{"className":8727},[4059],[394,8729,8731],{"className":8730,"style":7878},[4063],[394,8732],{}," are compared ",[389,8735,8736,8737,8792,8793,8845,8846,597],{},"iff the first\npivot chosen from the range ",[394,8738,8740],{"className":8739},[397],[394,8741,8743],{"className":8742,"ariaHidden":402},[401],[394,8744,8746,8749],{"className":8745},[406],[394,8747],{"className":8748,"style":7831},[410],[394,8750,8752,8755],{"className":8751},[420],[394,8753,7839],{"className":8754,"style":7838},[420,469],[394,8756,8758],{"className":8757},[4051],[394,8759,8761,8784],{"className":8760},[4055,5915],[394,8762,8764,8781],{"className":8763},[4059],[394,8765,8767],{"className":8766,"style":7852},[4063],[394,8768,8769,8772],{"style":7855},[394,8770],{"className":8771,"style":4072},[4071],[394,8773,8775],{"className":8774},[4076,4077,4078,4079],[394,8776,8778],{"className":8777},[420,4079],[394,8779,7868],{"className":8780,"style":1197},[420,469,4079],[394,8782,5939],{"className":8783},[5938],[394,8785,8787],{"className":8786},[4059],[394,8788,8790],{"className":8789,"style":7878},[4063],[394,8791],{}," is either ",[394,8794,8796],{"className":8795},[397],[394,8797,8799],{"className":8798,"ariaHidden":402},[401],[394,8800,8802,8805],{"className":8801},[406],[394,8803],{"className":8804,"style":5902},[410],[394,8806,8808,8811],{"className":8807},[420],[394,8809,7653],{"className":8810,"style":7652},[420,469],[394,8812,8814],{"className":8813},[4051],[394,8815,8817,8837],{"className":8816},[4055,5915],[394,8818,8820,8834],{"className":8819},[4059],[394,8821,8823],{"className":8822,"style":7852},[4063],[394,8824,8825,8828],{"style":7668},[394,8826],{"className":8827,"style":4072},[4071],[394,8829,8831],{"className":8830},[4076,4077,4078,4079],[394,8832,1216],{"className":8833},[420,469,4079],[394,8835,5939],{"className":8836},[5938],[394,8838,8840],{"className":8839},[4059],[394,8841,8843],{"className":8842,"style":5946},[4063],[394,8844],{}," or ",[394,8847,8849],{"className":8848},[397],[394,8850,8852],{"className":8851,"ariaHidden":402},[401],[394,8853,8855,8858],{"className":8854},[406],[394,8856],{"className":8857,"style":8692},[410],[394,8859,8861,8864],{"className":8860},[420],[394,8862,7653],{"className":8863,"style":7652},[420,469],[394,8865,8867],{"className":8866},[4051],[394,8868,8870,8890],{"className":8869},[4055,5915],[394,8871,8873,8887],{"className":8872},[4059],[394,8874,8876],{"className":8875,"style":7852},[4063],[394,8877,8878,8881],{"style":7668},[394,8879],{"className":8880,"style":4072},[4071],[394,8882,8884],{"className":8883},[4076,4077,4078,4079],[394,8885,1198],{"className":8886,"style":1197},[420,469,4079],[394,8888,5939],{"className":8889},[5938],[394,8891,8893],{"className":8892},[4059],[394,8894,8896],{"className":8895,"style":7878},[4063],[394,8897],{}," If instead some\nmiddle element ",[394,8900,8902],{"className":8901},[397],[394,8903,8905],{"className":8904,"ariaHidden":402},[401],[394,8906,8908,8911],{"className":8907},[406],[394,8909],{"className":8910,"style":5902},[410],[394,8912,8914,8917],{"className":8913},[420],[394,8915,7653],{"className":8916,"style":7652},[420,469],[394,8918,8920],{"className":8919},[4051],[394,8921,8923,8944],{"className":8922},[4055,5915],[394,8924,8926,8941],{"className":8925},[4059],[394,8927,8929],{"className":8928,"style":7795},[4063],[394,8930,8931,8934],{"style":7668},[394,8932],{"className":8933,"style":4072},[4071],[394,8935,8937],{"className":8936},[4076,4077,4078,4079],[394,8938,8940],{"className":8939},[420,469,4079],"m",[394,8942,5939],{"className":8943},[5938],[394,8945,8947],{"className":8946},[4059],[394,8948,8950],{"className":8949,"style":5946},[4063],[394,8951],{}," (with ",[394,8954,8956],{"className":8955},[397],[394,8957,8959,8978,8996],{"className":8958,"ariaHidden":402},[401],[394,8960,8962,8966,8969,8972,8975],{"className":8961},[406],[394,8963],{"className":8964,"style":8965},[410],"height:0.6986em;vertical-align:-0.0391em;",[394,8967,1216],{"className":8968},[420,469],[394,8970],{"className":8971,"style":1350},[634],[394,8973,5755],{"className":8974},[559],[394,8976],{"className":8977,"style":1350},[634],[394,8979,8981,8984,8987,8990,8993],{"className":8980},[406],[394,8982],{"className":8983,"style":1246},[410],[394,8985,8940],{"className":8986},[420,469],[394,8988],{"className":8989,"style":1350},[634],[394,8991,5755],{"className":8992},[559],[394,8994],{"className":8995,"style":1350},[634],[394,8997,8999,9002],{"className":8998},[406],[394,9000],{"className":9001,"style":1193},[410],[394,9003,1198],{"className":9004,"style":1197},[420,469],") is picked first, it splits ",[394,9007,9009],{"className":9008},[397],[394,9010,9012],{"className":9011,"ariaHidden":402},[401],[394,9013,9015,9018],{"className":9014},[406],[394,9016],{"className":9017,"style":5902},[410],[394,9019,9021,9024],{"className":9020},[420],[394,9022,7653],{"className":9023,"style":7652},[420,469],[394,9025,9027],{"className":9026},[4051],[394,9028,9030,9050],{"className":9029},[4055,5915],[394,9031,9033,9047],{"className":9032},[4059],[394,9034,9036],{"className":9035,"style":7852},[4063],[394,9037,9038,9041],{"style":7668},[394,9039],{"className":9040,"style":4072},[4071],[394,9042,9044],{"className":9043},[4076,4077,4078,4079],[394,9045,1216],{"className":9046},[420,469,4079],[394,9048,5939],{"className":9049},[5938],[394,9051,9053],{"className":9052},[4059],[394,9054,9056],{"className":9055,"style":5946},[4063],[394,9057],{},[394,9059,9061],{"className":9060},[397],[394,9062,9064],{"className":9063,"ariaHidden":402},[401],[394,9065,9067,9070],{"className":9066},[406],[394,9068],{"className":9069,"style":8692},[410],[394,9071,9073,9076],{"className":9072},[420],[394,9074,7653],{"className":9075,"style":7652},[420,469],[394,9077,9079],{"className":9078},[4051],[394,9080,9082,9102],{"className":9081},[4055,5915],[394,9083,9085,9099],{"className":9084},[4059],[394,9086,9088],{"className":9087,"style":7852},[4063],[394,9089,9090,9093],{"style":7668},[394,9091],{"className":9092,"style":4072},[4071],[394,9094,9096],{"className":9095},[4076,4077,4078,4079],[394,9097,1198],{"className":9098,"style":1197},[420,469,4079],[394,9100,5939],{"className":9101},[5938],[394,9103,9105],{"className":9104},[4059],[394,9106,9108],{"className":9107,"style":7878},[4063],[394,9109],{}," into different subarrays and they never meet.",[869,9112,9114,9300],{"className":9113},[872,873],[875,9115,9119],{"xmlns":877,"width":9116,"height":9117,"viewBox":9118},"218.321","95.454","-75 -75 163.741 71.590",[882,9120,9121,9141,9144,9158,9161,9180,9206,9229,9249,9294,9297],{"stroke":884,"style":885},[882,9122,9123,9126],{"fill":889},[887,9124],{"d":9125},"M-56.93-25.992h19.917v-19.917H-56.93Z",[882,9127,9128,9135],{"fill":884,"stroke":902},[882,9129,9131],{"transform":9130},"translate(-3.738 1.438)",[887,9132],{"d":9133,"fill":884,"stroke":884,"className":9134,"style":2576},"M-46.405-35.849L-46.515-35.849Q-46.555-35.849-46.579-35.880Q-46.603-35.910-46.603-35.950Q-46.603-35.985-46.585-36.003Q-46.330-36.433-45.985-36.807Q-45.640-37.180-45.205-37.561Q-44.770-37.941-44.329-38.327Q-43.887-38.714-43.606-39.017Q-43.733-39.017-43.929-39.064Q-44.124-39.110-44.276-39.154Q-44.428-39.198-44.559-39.226Q-44.691-39.255-44.841-39.255Q-45.082-39.255-45.306-39.160Q-45.531-39.066-45.588-38.859Q-45.605-38.776-45.676-38.776L-45.785-38.776Q-45.873-38.776-45.873-38.894Q-45.812-39.136-45.638-39.382Q-45.465-39.628-45.225-39.778Q-44.986-39.927-44.713-39.927Q-44.533-39.927-44.392-39.835Q-44.252-39.742-44.102-39.586Q-43.953-39.430-43.847-39.356Q-43.742-39.281-43.597-39.281Q-43.430-39.281-43.314-39.398Q-43.197-39.514-43.061-39.716Q-42.925-39.918-42.868-39.927L-42.762-39.927Q-42.727-39.927-42.698-39.898Q-42.670-39.870-42.670-39.830Q-42.670-39.800-42.687-39.782Q-43.013-39.237-43.450-38.802Q-43.887-38.367-44.599-37.758Q-45.311-37.150-45.684-36.741L-45.667-36.741Q-45.561-36.759-45.513-36.759Q-45.337-36.759-45.120-36.701Q-44.902-36.644-44.687-36.585Q-44.472-36.526-44.291-36.526Q-43.931-36.526-43.606-36.737Q-43.281-36.948-43.201-37.273Q-43.193-37.304-43.169-37.328Q-43.144-37.352-43.109-37.352L-43.004-37.352Q-42.955-37.352-42.933-37.319Q-42.911-37.286-42.911-37.238Q-42.991-36.895-43.206-36.574Q-43.421-36.253-43.738-36.051Q-44.054-35.849-44.406-35.849Q-44.586-35.849-44.713-35.930Q-44.841-36.012-44.990-36.170Q-45.139-36.328-45.256-36.414Q-45.372-36.499-45.522-36.499Q-45.742-36.499-45.911-36.367Q-46.080-36.236-46.229-36.044Q-46.379-35.853-46.405-35.849",[912],[882,9136,9137],{"transform":9130},[887,9138],{"d":9139,"fill":884,"stroke":884,"className":9140,"style":5422},"M-41.891-35.413Q-41.891-35.527-41.841-35.627L-41.325-36.925Q-41.273-37.062-41.273-37.177Q-41.273-37.379-41.422-37.379Q-41.586-37.379-41.722-37.263Q-41.858-37.147-41.948-36.976Q-42.037-36.804-42.075-36.643Q-42.096-36.605-42.149-36.588L-42.245-36.588Q-42.316-36.608-42.316-36.673Q-42.316-36.679-42.310-36.708Q-42.222-37.051-41.977-37.323Q-41.733-37.596-41.410-37.596Q-41.252-37.596-41.107-37.535Q-40.962-37.475-40.874-37.357Q-40.786-37.238-40.786-37.074Q-40.786-36.951-40.827-36.857L-41.343-35.562Q-41.399-35.448-41.399-35.310Q-41.399-35.105-41.255-35.105Q-41.088-35.105-40.952-35.221Q-40.816-35.337-40.725-35.507Q-40.634-35.677-40.593-35.844Q-40.572-35.876-40.528-35.899L-40.432-35.899Q-40.353-35.870-40.353-35.814Q-40.353-35.808-40.361-35.779Q-40.411-35.568-40.539-35.362Q-40.666-35.155-40.857-35.023Q-41.047-34.891-41.267-34.891Q-41.513-34.891-41.702-35.031Q-41.891-35.170-41.891-35.413M-41.182-38.586Q-41.182-38.726-41.072-38.830Q-40.962-38.934-40.821-38.934Q-40.719-38.934-40.644-38.863Q-40.569-38.791-40.569-38.688Q-40.569-38.548-40.681-38.444Q-40.792-38.340-40.930-38.340Q-41.032-38.340-41.107-38.414Q-41.182-38.489-41.182-38.586",[912],[887,9142],{"fill":902,"d":9143},"M-28.477-25.992H-8.56v-19.917h-19.917ZM-.025-25.992h19.917v-19.917H-.025Z",[882,9145,9146,9152],{"stroke":902},[882,9147,9149],{"transform":9148},"translate(51.223 1.438)",[887,9150],{"d":9133,"fill":884,"stroke":884,"className":9151,"style":2576},[912],[882,9153,9154],{"transform":9148},[887,9155],{"d":9156,"fill":884,"stroke":884,"className":9157,"style":5422},"M-41.867-35.094Q-41.867-35.135-41.861-35.155L-41.422-36.901Q-41.399-36.986-41.399-37.092Q-41.399-37.212-41.450-37.295Q-41.501-37.379-41.609-37.379Q-41.797-37.379-41.902-37.156Q-42.008-36.933-42.075-36.643Q-42.084-36.599-42.149-36.588L-42.245-36.588Q-42.301-36.602-42.316-36.667Q-42.316-36.696-42.310-36.708Q-42.222-37.062-42.053-37.329Q-41.885-37.596-41.595-37.596Q-41.331-37.596-41.113-37.449Q-40.895-37.303-40.895-37.051Q-40.687-37.303-40.417-37.449Q-40.148-37.596-39.849-37.596Q-39.524-37.596-39.267-37.443Q-39.011-37.291-39.011-36.983Q-38.797-37.264-38.519-37.430Q-38.240-37.596-37.912-37.596Q-37.675-37.596-37.484-37.525Q-37.294-37.455-37.180-37.297Q-37.066-37.138-37.066-36.901Q-37.066-36.664-37.174-36.342Q-37.282-36.019-37.461-35.562Q-37.517-35.448-37.517-35.310Q-37.517-35.225-37.482-35.165Q-37.446-35.105-37.373-35.105Q-37.206-35.105-37.068-35.221Q-36.931-35.337-36.837-35.513Q-36.743-35.688-36.705-35.844Q-36.696-35.885-36.641-35.899L-36.544-35.899Q-36.465-35.870-36.465-35.814Q-36.465-35.808-36.471-35.779Q-36.556-35.433-36.808-35.162Q-37.060-34.891-37.385-34.891Q-37.631-34.891-37.820-35.031Q-38.009-35.170-38.009-35.413Q-38.009-35.527-37.959-35.627Q-37.786-36.066-37.675-36.400Q-37.564-36.734-37.564-36.977Q-37.564-37.159-37.653-37.269Q-37.742-37.379-37.924-37.379Q-38.302-37.379-38.589-37.115Q-38.876-36.851-39.081-36.444L-39.418-35.111Q-39.439-35.014-39.522-34.953Q-39.606-34.891-39.705-34.891Q-39.796-34.891-39.862-34.949Q-39.928-35.006-39.928-35.094Q-39.928-35.135-39.922-35.155L-39.550-36.643Q-39.503-36.813-39.503-36.977Q-39.503-37.159-39.592-37.269Q-39.682-37.379-39.863-37.379Q-40.241-37.379-40.528-37.115Q-40.816-36.851-41.021-36.444L-41.355-35.111Q-41.375-35.014-41.462-34.953Q-41.548-34.891-41.645-34.891Q-41.735-34.891-41.801-34.949Q-41.867-35.006-41.867-35.094",[912],[887,9159],{"fill":902,"d":9160},"M28.428-25.992h19.917v-19.917H28.428Z",[882,9162,9163,9166],{"fill":889},[887,9164],{"d":9165},"M56.88-25.992h19.918v-19.917H56.88Z",[882,9167,9168,9174],{"fill":884,"stroke":902},[882,9169,9171],{"transform":9170},"translate(109.701 .854)",[887,9172],{"d":9133,"fill":884,"stroke":884,"className":9173,"style":2576},[912],[882,9175,9176],{"transform":9170},[887,9177],{"d":9178,"fill":884,"stroke":884,"className":9179,"style":5422},"M-42.597-34.121Q-42.597-34.273-42.493-34.383Q-42.389-34.493-42.239-34.493Q-42.131-34.493-42.059-34.429Q-41.987-34.364-41.987-34.259Q-41.987-34.071-42.149-33.960Q-42.058-33.942-41.967-33.942Q-41.823-33.942-41.690-34.008Q-41.557-34.074-41.457-34.178Q-41.358-34.282-41.286-34.414Q-41.214-34.546-41.182-34.680L-40.625-36.901Q-40.599-36.983-40.599-37.092Q-40.599-37.203-40.650-37.291Q-40.701-37.379-40.810-37.379Q-41.079-37.379-41.308-37.158Q-41.536-36.936-41.656-36.643Q-41.677-36.605-41.727-36.588L-41.823-36.588Q-41.897-36.608-41.897-36.673Q-41.897-36.679-41.891-36.708Q-41.826-36.869-41.709-37.039Q-41.592-37.209-41.457-37.327Q-41.322-37.446-41.154-37.521Q-40.985-37.596-40.798-37.596Q-40.514-37.596-40.304-37.445Q-40.095-37.294-40.095-37.021Q-40.095-36.951-40.115-36.881L-40.684-34.613Q-40.754-34.344-40.955-34.143Q-41.155-33.942-41.432-33.834Q-41.709-33.725-41.973-33.725Q-42.210-33.725-42.403-33.816Q-42.597-33.907-42.597-34.121M-40.487-38.586Q-40.487-38.726-40.376-38.830Q-40.265-38.934-40.127-38.934Q-40.024-38.934-39.950-38.863Q-39.875-38.791-39.875-38.688Q-39.875-38.548-39.985-38.444Q-40.095-38.340-40.235-38.340Q-40.338-38.340-40.413-38.414Q-40.487-38.489-40.487-38.586",[912],[882,9181,9182,9185],{"fill":893,"stroke":893},[887,9183],{"fill":902,"d":9184},"M-59.775-20.301H79.643",[882,9186,9187,9194,9200],{"fill":893,"stroke":902},[882,9188,9190],{"transform":9189},"translate(40.097 23.965)",[887,9191],{"d":9192,"fill":893,"stroke":893,"className":9193,"style":2672},"M-44.908-35.950L-46.644-35.950L-46.644-36.230Q-46.415-36.230-46.266-36.264Q-46.118-36.299-46.118-36.439L-46.118-38.288Q-46.118-38.558-46.225-38.619Q-46.333-38.681-46.644-38.681L-46.644-38.961L-45.615-39.036L-45.615-38.329Q-45.485-38.637-45.243-38.836Q-45-39.036-44.682-39.036Q-44.463-39.036-44.292-38.912Q-44.121-38.787-44.121-38.575Q-44.121-38.438-44.221-38.339Q-44.320-38.240-44.453-38.240Q-44.590-38.240-44.689-38.339Q-44.788-38.438-44.788-38.575Q-44.788-38.715-44.689-38.814Q-44.979-38.814-45.179-38.618Q-45.379-38.421-45.472-38.127Q-45.564-37.833-45.564-37.553L-45.564-36.439Q-45.564-36.230-44.908-36.230L-44.908-35.950M-43.479-36.678Q-43.479-37.010-43.255-37.237Q-43.031-37.464-42.688-37.592Q-42.344-37.721-41.972-37.773Q-41.599-37.826-41.295-37.826L-41.295-38.079Q-41.295-38.284-41.402-38.464Q-41.510-38.643-41.691-38.746Q-41.872-38.848-42.081-38.848Q-42.488-38.848-42.723-38.756Q-42.635-38.719-42.588-38.635Q-42.542-38.551-42.542-38.449Q-42.542-38.353-42.588-38.274Q-42.635-38.196-42.715-38.151Q-42.795-38.107-42.884-38.107Q-43.035-38.107-43.135-38.204Q-43.236-38.302-43.236-38.449Q-43.236-39.071-42.081-39.071Q-41.869-39.071-41.619-39.007Q-41.370-38.944-41.168-38.825Q-40.967-38.705-40.840-38.520Q-40.714-38.336-40.714-38.093L-40.714-36.517Q-40.714-36.401-40.652-36.305Q-40.591-36.210-40.478-36.210Q-40.368-36.210-40.304-36.304Q-40.239-36.398-40.239-36.517L-40.239-36.965L-39.972-36.965L-39.972-36.517Q-39.972-36.247-40.199-36.082Q-40.427-35.916-40.707-35.916Q-40.915-35.916-41.052-36.070Q-41.189-36.223-41.213-36.439Q-41.360-36.172-41.642-36.027Q-41.924-35.882-42.248-35.882Q-42.525-35.882-42.809-35.957Q-43.093-36.032-43.286-36.211Q-43.479-36.391-43.479-36.678M-42.864-36.678Q-42.864-36.504-42.763-36.374Q-42.662-36.244-42.506-36.174Q-42.351-36.104-42.187-36.104Q-41.968-36.104-41.760-36.201Q-41.551-36.299-41.423-36.480Q-41.295-36.661-41.295-36.887L-41.295-37.615Q-41.619-37.615-41.985-37.524Q-42.351-37.433-42.607-37.221Q-42.864-37.010-42.864-36.678M-37.873-35.950L-39.507-35.950L-39.507-36.230Q-39.278-36.230-39.129-36.264Q-38.981-36.299-38.981-36.439L-38.981-38.288Q-38.981-38.558-39.088-38.619Q-39.196-38.681-39.507-38.681L-39.507-38.961L-38.448-39.036L-38.448-38.387Q-38.277-38.695-37.972-38.866Q-37.668-39.036-37.323-39.036Q-36.817-39.036-36.534-38.813Q-36.250-38.589-36.250-38.093L-36.250-36.439Q-36.250-36.302-36.101-36.266Q-35.952-36.230-35.727-36.230L-35.727-35.950L-37.357-35.950L-37.357-36.230Q-37.128-36.230-36.980-36.264Q-36.831-36.299-36.831-36.439L-36.831-38.079Q-36.831-38.414-36.951-38.614Q-37.070-38.814-37.385-38.814Q-37.655-38.814-37.889-38.678Q-38.123-38.541-38.261-38.307Q-38.400-38.073-38.400-37.799L-38.400-36.439Q-38.400-36.302-38.249-36.266Q-38.099-36.230-37.873-36.230L-37.873-35.950M-35.180-35.417Q-35.180-35.663-34.983-35.847Q-34.787-36.032-34.531-36.111Q-34.667-36.223-34.739-36.384Q-34.811-36.545-34.811-36.726Q-34.811-37.047-34.599-37.293Q-34.934-37.591-34.934-38.001Q-34.934-38.462-34.544-38.749Q-34.155-39.036-33.676-39.036Q-33.204-39.036-32.869-38.790Q-32.695-38.944-32.485-39.026Q-32.275-39.108-32.046-39.108Q-31.882-39.108-31.760-39.001Q-31.639-38.893-31.639-38.729Q-31.639-38.633-31.711-38.561Q-31.783-38.490-31.875-38.490Q-31.974-38.490-32.044-38.563Q-32.114-38.637-32.114-38.736Q-32.114-38.790-32.100-38.821L-32.094-38.835Q-32.087-38.855-32.078-38.866Q-32.070-38.876-32.066-38.883Q-32.422-38.883-32.709-38.660Q-32.422-38.367-32.422-38.001Q-32.422-37.686-32.606-37.454Q-32.791-37.221-33.080-37.093Q-33.368-36.965-33.676-36.965Q-33.878-36.965-34.069-37.015Q-34.261-37.064-34.438-37.174Q-34.531-37.047-34.531-36.904Q-34.531-36.722-34.402-36.587Q-34.274-36.452-34.090-36.452L-33.457-36.452Q-33.010-36.452-32.640-36.381Q-32.271-36.309-32.012-36.080Q-31.752-35.851-31.752-35.417Q-31.752-35.096-32.047-34.894Q-32.343-34.692-32.746-34.603Q-33.150-34.514-33.464-34.514Q-33.782-34.514-34.185-34.603Q-34.589-34.692-34.884-34.894Q-35.180-35.096-35.180-35.417M-34.725-35.417Q-34.725-35.188-34.507-35.039Q-34.288-34.890-33.996-34.822Q-33.703-34.754-33.464-34.754Q-33.300-34.754-33.092-34.790Q-32.883-34.825-32.676-34.906Q-32.470-34.986-32.338-35.114Q-32.206-35.242-32.206-35.417Q-32.206-35.769-32.587-35.863Q-32.969-35.957-33.471-35.957L-34.090-35.957Q-34.329-35.957-34.527-35.806Q-34.725-35.656-34.725-35.417M-33.676-37.204Q-33.010-37.204-33.010-38.001Q-33.010-38.801-33.676-38.801Q-34.346-38.801-34.346-38.001Q-34.346-37.204-33.676-37.204M-31.198-37.485Q-31.198-37.806-31.073-38.095Q-30.949-38.384-30.723-38.607Q-30.497-38.831-30.202-38.951Q-29.906-39.071-29.588-39.071Q-29.260-39.071-28.999-38.971Q-28.737-38.872-28.561-38.690Q-28.385-38.507-28.291-38.249Q-28.197-37.991-28.197-37.659Q-28.197-37.567-28.279-37.546L-30.535-37.546L-30.535-37.485Q-30.535-36.897-30.251-36.514Q-29.968-36.131-29.400-36.131Q-29.079-36.131-28.811-36.324Q-28.542-36.517-28.453-36.832Q-28.447-36.873-28.371-36.887L-28.279-36.887Q-28.197-36.863-28.197-36.791Q-28.197-36.784-28.204-36.757Q-28.317-36.360-28.688-36.121Q-29.058-35.882-29.482-35.882Q-29.920-35.882-30.320-36.090Q-30.720-36.299-30.959-36.666Q-31.198-37.033-31.198-37.485M-30.528-37.755L-28.713-37.755Q-28.713-38.032-28.811-38.284Q-28.908-38.537-29.106-38.693Q-29.305-38.848-29.588-38.848Q-29.865-38.848-30.079-38.690Q-30.292-38.531-30.410-38.276Q-30.528-38.021-30.528-37.755",[912],[882,9195,9196],{"transform":9189},[887,9197],{"d":9198,"fill":893,"stroke":893,"className":9199,"style":2672},"M-24.641-36.029Q-24.641-36.155-24.572-36.223L-20.505-40.451L-21.582-40.451Q-22.128-40.451-22.486-40.342Q-22.843-40.233-23.085-39.952Q-23.328-39.672-23.485-39.156Q-23.502-39.108-23.571-39.095L-23.660-39.095Q-23.745-39.118-23.745-39.190Q-23.745-39.197-23.738-39.235L-23.297-40.674Q-23.280-40.718-23.212-40.732L-19.705-40.732Q-19.630-40.732-19.630-40.653Q-19.630-40.537-19.698-40.479L-23.759-36.258L-22.624-36.258Q-22.115-36.258-21.792-36.331Q-21.469-36.405-21.248-36.579Q-21.028-36.753-20.871-37.044Q-20.713-37.334-20.553-37.833Q-20.546-37.871-20.478-37.888L-20.385-37.888Q-20.293-37.861-20.293-37.792Q-20.293-37.785-20.300-37.755L-20.860-36.012Q-20.877-35.964-20.946-35.950L-24.565-35.950Q-24.641-35.950-24.641-36.029",[912],[882,9201,9202],{"transform":9189},[887,9203],{"d":9204,"fill":893,"stroke":893,"className":9205,"style":5239},"M-18.905-35.336Q-18.905-35.431-18.863-35.514L-18.424-36.596Q-18.380-36.700-18.380-36.796Q-18.380-36.974-18.519-36.974Q-18.721-36.974-18.874-36.786Q-19.027-36.598-19.090-36.361Q-19.097-36.325-19.149-36.315L-19.254-36.315Q-19.315-36.332-19.315-36.386Q-19.315-36.390-19.310-36.415Q-19.234-36.708-19.011-36.934Q-18.787-37.159-18.504-37.159Q-18.284-37.159-18.115-37.046Q-17.945-36.932-17.945-36.720Q-17.945-36.630-17.984-36.539L-18.424-35.460Q-18.470-35.363-18.470-35.260Q-18.470-35.079-18.328-35.079Q-18.126-35.079-17.972-35.271Q-17.818-35.463-17.759-35.695Q-17.752-35.729-17.703-35.741L-17.598-35.741Q-17.535-35.719-17.535-35.670Q-17.535-35.665-17.540-35.641Q-17.572-35.507-17.650-35.369Q-17.728-35.231-17.828-35.129Q-17.928-35.028-18.063-34.961Q-18.199-34.894-18.343-34.894Q-18.560-34.894-18.732-35.011Q-18.905-35.128-18.905-35.336M-18.319-37.970Q-18.319-38.095-18.218-38.190Q-18.118-38.285-17.994-38.285Q-17.899-38.285-17.834-38.223Q-17.769-38.160-17.769-38.065Q-17.769-37.941-17.869-37.846Q-17.969-37.750-18.094-37.750Q-18.184-37.750-18.251-37.813Q-18.319-37.875-18.319-37.970M-16.903-34.276Q-16.903-34.410-16.807-34.511Q-16.712-34.611-16.578-34.611Q-16.485-34.611-16.419-34.551Q-16.353-34.491-16.353-34.401Q-16.353-34.225-16.497-34.130Q-16.431-34.110-16.334-34.110Q-16.092-34.110-15.895-34.298Q-15.699-34.486-15.643-34.725L-15.179-36.576Q-15.157-36.686-15.157-36.720Q-15.157-36.825-15.206-36.899Q-15.255-36.974-15.357-36.974Q-15.518-36.974-15.665-36.885Q-15.811-36.796-15.924-36.653Q-16.036-36.510-16.097-36.361Q-16.119-36.327-16.158-36.315L-16.263-36.315Q-16.324-36.332-16.324-36.386Q-16.324-36.390-16.319-36.415Q-16.195-36.722-15.925-36.941Q-15.655-37.159-15.342-37.159Q-15.096-37.159-14.904-37.034Q-14.713-36.908-14.713-36.676Q-14.713-36.615-14.727-36.559L-15.203-34.669Q-15.259-34.442-15.443-34.273Q-15.626-34.103-15.869-34.014Q-16.112-33.925-16.348-33.925Q-16.558-33.925-16.730-34.008Q-16.903-34.091-16.903-34.276M-15.084-37.970Q-15.084-38.090-14.984-38.187Q-14.884-38.285-14.759-38.285Q-14.666-38.285-14.599-38.223Q-14.532-38.160-14.532-38.065Q-14.532-37.941-14.632-37.846Q-14.732-37.750-14.859-37.750Q-14.949-37.750-15.017-37.813Q-15.084-37.875-15.084-37.970",[912],[882,9207,9208],{"fill":893,"stroke":893},[882,9209,9210,9217,9223],{"fill":893,"stroke":902,"fontFamily":4469,"fontSize":2388},[882,9211,9213],{"transform":9212},"translate(-15.299 -18.167)",[887,9214],{"d":9215,"fill":893,"stroke":893,"className":9216,"style":2672},"M-46.699-37.485Q-46.699-37.806-46.574-38.095Q-46.449-38.384-46.223-38.607Q-45.998-38.831-45.702-38.951Q-45.407-39.071-45.089-39.071Q-44.761-39.071-44.499-38.971Q-44.238-38.872-44.062-38.690Q-43.886-38.507-43.792-38.249Q-43.698-37.991-43.698-37.659Q-43.698-37.567-43.780-37.546L-46.035-37.546L-46.035-37.485Q-46.035-36.897-45.752-36.514Q-45.468-36.131-44.901-36.131Q-44.579-36.131-44.311-36.324Q-44.043-36.517-43.954-36.832Q-43.947-36.873-43.872-36.887L-43.780-36.887Q-43.698-36.863-43.698-36.791Q-43.698-36.784-43.704-36.757Q-43.817-36.360-44.188-36.121Q-44.559-35.882-44.983-35.882Q-45.420-35.882-45.820-36.090Q-46.220-36.299-46.459-36.666Q-46.699-37.033-46.699-37.485M-46.029-37.755L-44.214-37.755Q-44.214-38.032-44.311-38.284Q-44.409-38.537-44.607-38.693Q-44.805-38.848-45.089-38.848Q-45.366-38.848-45.579-38.690Q-45.793-38.531-45.911-38.276Q-46.029-38.021-46.029-37.755M-41.428-35.950L-43.062-35.950L-43.062-36.230Q-42.833-36.230-42.684-36.264Q-42.535-36.299-42.535-36.439L-42.535-38.288Q-42.535-38.558-42.643-38.619Q-42.751-38.681-43.062-38.681L-43.062-38.961L-42.002-39.036L-42.002-38.387Q-41.831-38.695-41.527-38.866Q-41.223-39.036-40.878-39.036Q-40.372-39.036-40.088-38.813Q-39.805-38.589-39.805-38.093L-39.805-36.439Q-39.805-36.302-39.656-36.266Q-39.507-36.230-39.282-36.230L-39.282-35.950L-40.912-35.950L-40.912-36.230Q-40.683-36.230-40.534-36.264Q-40.386-36.299-40.386-36.439L-40.386-38.079Q-40.386-38.414-40.505-38.614Q-40.625-38.814-40.939-38.814Q-41.209-38.814-41.443-38.678Q-41.678-38.541-41.816-38.307Q-41.954-38.073-41.954-37.799L-41.954-36.439Q-41.954-36.302-41.804-36.266Q-41.654-36.230-41.428-36.230L-41.428-35.950M-38.694-37.461Q-38.694-37.799-38.554-38.090Q-38.413-38.380-38.169-38.594Q-37.925-38.807-37.620-38.922Q-37.316-39.036-36.992-39.036Q-36.722-39.036-36.458-38.937Q-36.195-38.838-36.004-38.660L-36.004-40.058Q-36.004-40.328-36.111-40.390Q-36.219-40.451-36.530-40.451L-36.530-40.732L-35.453-40.807L-35.453-36.623Q-35.453-36.435-35.399-36.352Q-35.344-36.268-35.243-36.249Q-35.142-36.230-34.927-36.230L-34.927-35.950L-36.035-35.882L-36.035-36.299Q-36.451-35.882-37.077-35.882Q-37.508-35.882-37.880-36.094Q-38.253-36.305-38.473-36.666Q-38.694-37.027-38.694-37.461M-37.019-36.104Q-36.810-36.104-36.624-36.176Q-36.438-36.247-36.284-36.384Q-36.130-36.521-36.035-36.699L-36.035-38.308Q-36.120-38.455-36.265-38.575Q-36.410-38.695-36.580-38.754Q-36.749-38.814-36.930-38.814Q-37.491-38.814-37.759-38.425Q-38.027-38.035-38.027-37.454Q-38.027-36.883-37.793-36.493Q-37.559-36.104-37.019-36.104M-32.634-34.593L-34.264-34.593L-34.264-34.873Q-34.035-34.873-33.886-34.908Q-33.738-34.942-33.738-35.082L-33.738-38.428Q-33.738-38.599-33.874-38.640Q-34.011-38.681-34.264-38.681L-34.264-38.961L-33.184-39.036L-33.184-38.630Q-32.962-38.831-32.675-38.934Q-32.388-39.036-32.080-39.036Q-31.653-39.036-31.289-38.823Q-30.925-38.609-30.711-38.245Q-30.497-37.881-30.497-37.461Q-30.497-37.016-30.737-36.652Q-30.976-36.288-31.369-36.085Q-31.762-35.882-32.206-35.882Q-32.473-35.882-32.721-35.982Q-32.969-36.083-33.157-36.264L-33.157-35.082Q-33.157-34.945-33.008-34.909Q-32.859-34.873-32.634-34.873L-32.634-34.593M-33.157-38.281L-33.157-36.671Q-33.023-36.418-32.781-36.261Q-32.538-36.104-32.261-36.104Q-31.933-36.104-31.680-36.305Q-31.427-36.507-31.294-36.825Q-31.160-37.143-31.160-37.461Q-31.160-37.690-31.225-37.919Q-31.290-38.148-31.419-38.346Q-31.547-38.544-31.742-38.664Q-31.936-38.783-32.169-38.783Q-32.463-38.783-32.731-38.654Q-32.999-38.524-33.157-38.281",[912],[882,9218,9219],{"transform":9212},[887,9220],{"d":9221,"fill":893,"stroke":893,"className":9222,"style":2672},"M-29.678-37.433Q-29.678-37.775-29.543-38.074Q-29.408-38.373-29.168-38.597Q-28.929-38.821-28.611-38.946Q-28.293-39.071-27.962-39.071Q-27.517-39.071-27.118-38.855Q-26.718-38.640-26.483-38.262Q-26.249-37.885-26.249-37.433Q-26.249-37.092-26.391-36.808Q-26.533-36.524-26.777-36.317Q-27.022-36.111-27.331-35.996Q-27.640-35.882-27.962-35.882Q-28.392-35.882-28.794-36.083Q-29.196-36.285-29.437-36.637Q-29.678-36.989-29.678-37.433M-27.962-36.131Q-27.360-36.131-27.136-36.509Q-26.912-36.887-26.912-37.519Q-26.912-38.131-27.147-38.490Q-27.381-38.848-27.962-38.848Q-29.014-38.848-29.014-37.519Q-29.014-36.887-28.789-36.509Q-28.563-36.131-27.962-36.131M-24.038-35.950L-25.590-35.950L-25.590-36.230Q-25.364-36.230-25.215-36.264Q-25.067-36.299-25.067-36.439L-25.067-38.288Q-25.067-38.476-25.115-38.560Q-25.162-38.643-25.260-38.662Q-25.357-38.681-25.569-38.681L-25.569-38.961L-24.513-39.036L-24.513-36.439Q-24.513-36.299-24.381-36.264Q-24.250-36.230-24.038-36.230L-24.038-35.950M-25.309-40.257Q-25.309-40.428-25.186-40.547Q-25.063-40.667-24.892-40.667Q-24.725-40.667-24.602-40.547Q-24.479-40.428-24.479-40.257Q-24.479-40.082-24.602-39.959Q-24.725-39.836-24.892-39.836Q-25.063-39.836-25.186-39.959Q-25.309-40.082-25.309-40.257M-21.710-35.950L-23.344-35.950L-23.344-36.230Q-23.115-36.230-22.966-36.264Q-22.818-36.299-22.818-36.439L-22.818-38.288Q-22.818-38.558-22.925-38.619Q-23.033-38.681-23.344-38.681L-23.344-38.961L-22.284-39.036L-22.284-38.387Q-22.114-38.695-21.809-38.866Q-21.505-39.036-21.160-39.036Q-20.654-39.036-20.370-38.813Q-20.087-38.589-20.087-38.093L-20.087-36.439Q-20.087-36.302-19.938-36.266Q-19.789-36.230-19.564-36.230L-19.564-35.950L-21.194-35.950L-21.194-36.230Q-20.965-36.230-20.816-36.264Q-20.668-36.299-20.668-36.439L-20.668-38.079Q-20.668-38.414-20.787-38.614Q-20.907-38.814-21.222-38.814Q-21.492-38.814-21.726-38.678Q-21.960-38.541-22.098-38.307Q-22.237-38.073-22.237-37.799L-22.237-36.439Q-22.237-36.302-22.086-36.266Q-21.936-36.230-21.710-36.230",[912],[882,9224,9225],{"transform":9212},[887,9226],{"d":9227,"fill":893,"stroke":893,"className":9228,"style":2672},"M-18.658-36.791L-18.658-38.688L-19.297-38.688L-19.297-38.910Q-18.979-38.910-18.762-39.120Q-18.545-39.330-18.445-39.640Q-18.344-39.949-18.344-40.257L-18.077-40.257L-18.077-38.968L-17-38.968L-17-38.688L-18.077-38.688L-18.077-36.804Q-18.077-36.528-17.973-36.329Q-17.869-36.131-17.609-36.131Q-17.452-36.131-17.346-36.235Q-17.240-36.340-17.190-36.493Q-17.141-36.647-17.141-36.804L-17.141-37.218L-16.874-37.218L-16.874-36.791Q-16.874-36.565-16.973-36.355Q-17.072-36.145-17.257-36.013Q-17.441-35.882-17.670-35.882Q-18.108-35.882-18.383-36.119Q-18.658-36.357-18.658-36.791",[912],[882,9230,9231],{"fill":893,"stroke":893},[882,9232,9233,9239,9244],{"fill":893,"stroke":902,"fontFamily":4469,"fontSize":2388},[882,9234,9236],{"transform":9235},"translate(98.512 -18.167)",[887,9237],{"d":9215,"fill":893,"stroke":893,"className":9238,"style":2672},[912],[882,9240,9241],{"transform":9235},[887,9242],{"d":9221,"fill":893,"stroke":893,"className":9243,"style":2672},[912],[882,9245,9246],{"transform":9235},[887,9247],{"d":9227,"fill":893,"stroke":893,"className":9248,"style":2672},[912],[882,9250,9251,9258,9264,9270,9276,9282,9288],{"stroke":902,"fontFamily":4469,"fontSize":2388},[882,9252,9254],{"transform":9253},"translate(-4.659 -28.125)",[887,9255],{"d":9256,"fill":884,"stroke":884,"className":9257,"style":2672},"M-46.599-36.678Q-46.599-37.010-46.376-37.237Q-46.152-37.464-45.808-37.592Q-45.465-37.721-45.092-37.773Q-44.720-37.826-44.415-37.826L-44.415-38.079Q-44.415-38.284-44.523-38.464Q-44.631-38.643-44.812-38.746Q-44.993-38.848-45.201-38.848Q-45.608-38.848-45.844-38.756Q-45.755-38.719-45.709-38.635Q-45.663-38.551-45.663-38.449Q-45.663-38.353-45.709-38.274Q-45.755-38.196-45.836-38.151Q-45.916-38.107-46.005-38.107Q-46.155-38.107-46.256-38.204Q-46.357-38.302-46.357-38.449Q-46.357-39.071-45.201-39.071Q-44.990-39.071-44.740-39.007Q-44.491-38.944-44.289-38.825Q-44.087-38.705-43.961-38.520Q-43.834-38.336-43.834-38.093L-43.834-36.517Q-43.834-36.401-43.773-36.305Q-43.711-36.210-43.598-36.210Q-43.489-36.210-43.424-36.304Q-43.359-36.398-43.359-36.517L-43.359-36.965L-43.093-36.965L-43.093-36.517Q-43.093-36.247-43.320-36.082Q-43.547-35.916-43.827-35.916Q-44.036-35.916-44.173-36.070Q-44.309-36.223-44.333-36.439Q-44.480-36.172-44.762-36.027Q-45.044-35.882-45.369-35.882Q-45.646-35.882-45.930-35.957Q-46.213-36.032-46.406-36.211Q-46.599-36.391-46.599-36.678M-45.984-36.678Q-45.984-36.504-45.883-36.374Q-45.783-36.244-45.627-36.174Q-45.472-36.104-45.307-36.104Q-45.089-36.104-44.880-36.201Q-44.672-36.299-44.544-36.480Q-44.415-36.661-44.415-36.887L-44.415-37.615Q-44.740-37.615-45.106-37.524Q-45.472-37.433-45.728-37.221Q-45.984-37.010-45.984-36.678",[912],[882,9259,9260],{"transform":9253},[887,9261],{"d":9262,"fill":884,"stroke":884,"className":9263,"style":2672},"M-38.295-35.950L-39.929-35.950L-39.929-36.230Q-39.700-36.230-39.551-36.264Q-39.402-36.299-39.402-36.439L-39.402-38.288Q-39.402-38.558-39.510-38.619Q-39.618-38.681-39.929-38.681L-39.929-38.961L-38.869-39.036L-38.869-38.387Q-38.698-38.695-38.394-38.866Q-38.090-39.036-37.745-39.036Q-37.345-39.036-37.068-38.896Q-36.791-38.756-36.706-38.408Q-36.538-38.701-36.239-38.869Q-35.940-39.036-35.595-39.036Q-35.089-39.036-34.805-38.813Q-34.521-38.589-34.521-38.093L-34.521-36.439Q-34.521-36.302-34.373-36.266Q-34.224-36.230-33.999-36.230L-33.999-35.950L-35.629-35.950L-35.629-36.230Q-35.403-36.230-35.253-36.266Q-35.103-36.302-35.103-36.439L-35.103-38.079Q-35.103-38.414-35.222-38.614Q-35.342-38.814-35.656-38.814Q-35.926-38.814-36.160-38.678Q-36.395-38.541-36.533-38.307Q-36.671-38.073-36.671-37.799L-36.671-36.439Q-36.671-36.302-36.523-36.266Q-36.374-36.230-36.148-36.230L-36.148-35.950L-37.779-35.950L-37.779-36.230Q-37.550-36.230-37.401-36.264Q-37.252-36.299-37.252-36.439L-37.252-38.079Q-37.252-38.414-37.372-38.614Q-37.492-38.814-37.806-38.814Q-38.076-38.814-38.310-38.678Q-38.544-38.541-38.683-38.307Q-38.821-38.073-38.821-37.799L-38.821-36.439Q-38.821-36.302-38.671-36.266Q-38.520-36.230-38.295-36.230L-38.295-35.950M-31.794-35.950L-33.346-35.950L-33.346-36.230Q-33.120-36.230-32.971-36.264Q-32.823-36.299-32.823-36.439L-32.823-38.288Q-32.823-38.476-32.871-38.560Q-32.918-38.643-33.016-38.662Q-33.113-38.681-33.325-38.681L-33.325-38.961L-32.269-39.036L-32.269-36.439Q-32.269-36.299-32.137-36.264Q-32.006-36.230-31.794-36.230L-31.794-35.950M-33.065-40.257Q-33.065-40.428-32.942-40.547Q-32.819-40.667-32.648-40.667Q-32.481-40.667-32.358-40.547Q-32.235-40.428-32.235-40.257Q-32.235-40.082-32.358-39.959Q-32.481-39.836-32.648-39.836Q-32.819-39.836-32.942-39.959Q-33.065-40.082-33.065-40.257M-31.148-37.461Q-31.148-37.799-31.008-38.090Q-30.868-38.380-30.623-38.594Q-30.379-38.807-30.075-38.922Q-29.770-39.036-29.446-39.036Q-29.176-39.036-28.913-38.937Q-28.649-38.838-28.458-38.660L-28.458-40.058Q-28.458-40.328-28.566-40.390Q-28.673-40.451-28.984-40.451L-28.984-40.732L-27.908-40.807L-27.908-36.623Q-27.908-36.435-27.853-36.352Q-27.798-36.268-27.697-36.249Q-27.597-36.230-27.381-36.230L-27.381-35.950L-28.489-35.882L-28.489-36.299Q-28.906-35.882-29.531-35.882Q-29.962-35.882-30.334-36.094Q-30.707-36.305-30.927-36.666Q-31.148-37.027-31.148-37.461M-29.473-36.104Q-29.265-36.104-29.078-36.176Q-28.892-36.247-28.738-36.384Q-28.584-36.521-28.489-36.699L-28.489-38.308Q-28.574-38.455-28.719-38.575Q-28.865-38.695-29.034-38.754Q-29.203-38.814-29.384-38.814Q-29.945-38.814-30.213-38.425Q-30.481-38.035-30.481-37.454Q-30.481-36.883-30.247-36.493Q-30.013-36.104-29.473-36.104M-26.732-37.461Q-26.732-37.799-26.592-38.090Q-26.452-38.380-26.207-38.594Q-25.963-38.807-25.659-38.922Q-25.354-39.036-25.030-39.036Q-24.760-39.036-24.497-38.937Q-24.233-38.838-24.042-38.660L-24.042-40.058Q-24.042-40.328-24.150-40.390Q-24.257-40.451-24.568-40.451L-24.568-40.732L-23.492-40.807L-23.492-36.623Q-23.492-36.435-23.437-36.352Q-23.382-36.268-23.281-36.249Q-23.181-36.230-22.965-36.230L-22.965-35.950L-24.073-35.882L-24.073-36.299Q-24.490-35.882-25.115-35.882Q-25.546-35.882-25.918-36.094Q-26.291-36.305-26.511-36.666Q-26.732-37.027-26.732-37.461M-25.057-36.104Q-24.849-36.104-24.662-36.176Q-24.476-36.247-24.322-36.384Q-24.168-36.521-24.073-36.699L-24.073-38.308Q-24.158-38.455-24.303-38.575Q-24.449-38.695-24.618-38.754Q-24.787-38.814-24.968-38.814Q-25.529-38.814-25.797-38.425Q-26.065-38.035-26.065-37.454Q-26.065-36.883-25.831-36.493Q-25.597-36.104-25.057-36.104M-20.648-35.950L-22.251-35.950L-22.251-36.230Q-22.025-36.230-21.877-36.264Q-21.728-36.299-21.728-36.439L-21.728-40.058Q-21.728-40.328-21.836-40.390Q-21.943-40.451-22.251-40.451L-22.251-40.732L-21.174-40.807L-21.174-36.439Q-21.174-36.302-21.024-36.266Q-20.874-36.230-20.648-36.230L-20.648-35.950M-20.094-37.485Q-20.094-37.806-19.969-38.095Q-19.845-38.384-19.619-38.607Q-19.394-38.831-19.098-38.951Q-18.802-39.071-18.484-39.071Q-18.156-39.071-17.895-38.971Q-17.633-38.872-17.457-38.690Q-17.281-38.507-17.187-38.249Q-17.093-37.991-17.093-37.659Q-17.093-37.567-17.175-37.546L-19.431-37.546L-19.431-37.485Q-19.431-36.897-19.147-36.514Q-18.864-36.131-18.296-36.131Q-17.975-36.131-17.707-36.324Q-17.438-36.517-17.350-36.832Q-17.343-36.873-17.268-36.887L-17.175-36.887Q-17.093-36.863-17.093-36.791Q-17.093-36.784-17.100-36.757Q-17.213-36.360-17.584-36.121Q-17.955-35.882-18.378-35.882Q-18.816-35.882-19.216-36.090Q-19.616-36.299-19.855-36.666Q-20.094-37.033-20.094-37.485M-19.424-37.755L-17.609-37.755Q-17.609-38.032-17.707-38.284Q-17.804-38.537-18.002-38.693Q-18.201-38.848-18.484-38.848Q-18.761-38.848-18.975-38.690Q-19.188-38.531-19.306-38.276Q-19.424-38.021-19.424-37.755",[912],[882,9265,9266],{"transform":9253},[887,9267],{"d":9268,"fill":884,"stroke":884,"className":9269,"style":2672},"M-12.152-34.593L-13.782-34.593L-13.782-34.873Q-13.553-34.873-13.404-34.908Q-13.256-34.942-13.256-35.082L-13.256-38.428Q-13.256-38.599-13.392-38.640Q-13.529-38.681-13.782-38.681L-13.782-38.961L-12.702-39.036L-12.702-38.630Q-12.480-38.831-12.193-38.934Q-11.905-39.036-11.598-39.036Q-11.171-39.036-10.807-38.823Q-10.443-38.609-10.229-38.245Q-10.015-37.881-10.015-37.461Q-10.015-37.016-10.255-36.652Q-10.494-36.288-10.887-36.085Q-11.280-35.882-11.724-35.882Q-11.991-35.882-12.239-35.982Q-12.486-36.083-12.674-36.264L-12.674-35.082Q-12.674-34.945-12.526-34.909Q-12.377-34.873-12.152-34.873L-12.152-34.593M-12.674-38.281L-12.674-36.671Q-12.541-36.418-12.298-36.261Q-12.056-36.104-11.779-36.104Q-11.451-36.104-11.198-36.305Q-10.945-36.507-10.812-36.825Q-10.678-37.143-10.678-37.461Q-10.678-37.690-10.743-37.919Q-10.808-38.148-10.936-38.346Q-11.065-38.544-11.259-38.664Q-11.454-38.783-11.687-38.783Q-11.981-38.783-12.249-38.654Q-12.517-38.524-12.674-38.281M-7.763-35.950L-9.315-35.950L-9.315-36.230Q-9.089-36.230-8.940-36.264Q-8.792-36.299-8.792-36.439L-8.792-38.288Q-8.792-38.476-8.839-38.560Q-8.887-38.643-8.985-38.662Q-9.082-38.681-9.294-38.681L-9.294-38.961L-8.238-39.036L-8.238-36.439Q-8.238-36.299-8.106-36.264Q-7.975-36.230-7.763-36.230L-7.763-35.950M-9.034-40.257Q-9.034-40.428-8.911-40.547Q-8.788-40.667-8.617-40.667Q-8.450-40.667-8.327-40.547Q-8.204-40.428-8.204-40.257Q-8.204-40.082-8.327-39.959Q-8.450-39.836-8.617-39.836Q-8.788-39.836-8.911-39.959Q-9.034-40.082-9.034-40.257M-5.527-35.977L-6.655-38.476Q-6.727-38.623-6.857-38.655Q-6.987-38.688-7.216-38.688L-7.216-38.968L-5.702-38.968L-5.702-38.688Q-6.054-38.688-6.054-38.541Q-6.054-38.496-6.044-38.476L-5.179-36.558L-4.400-38.288Q-4.365-38.356-4.365-38.435Q-4.365-38.548-4.449-38.618Q-4.533-38.688-4.652-38.688L-4.652-38.968L-3.456-38.968L-3.456-38.688Q-3.675-38.688-3.846-38.585Q-4.017-38.483-4.106-38.288L-5.141-35.977Q-5.189-35.882-5.295-35.882L-5.374-35.882Q-5.480-35.882-5.527-35.977",[912],[882,9271,9272],{"transform":9253},[887,9273],{"d":9274,"fill":884,"stroke":884,"className":9275,"style":2672},"M-3.171-37.433Q-3.171-37.775-3.036-38.074Q-2.901-38.373-2.661-38.597Q-2.422-38.821-2.104-38.946Q-1.786-39.071-1.455-39.071Q-1.010-39.071-0.611-38.855Q-0.211-38.640 0.024-38.262Q0.258-37.885 0.258-37.433Q0.258-37.092 0.116-36.808Q-0.026-36.524-0.270-36.317Q-0.515-36.111-0.824-35.996Q-1.133-35.882-1.455-35.882Q-1.885-35.882-2.287-36.083Q-2.689-36.285-2.930-36.637Q-3.171-36.989-3.171-37.433M-1.455-36.131Q-0.853-36.131-0.629-36.509Q-0.405-36.887-0.405-37.519Q-0.405-38.131-0.640-38.490Q-0.874-38.848-1.455-38.848Q-2.507-38.848-2.507-37.519Q-2.507-36.887-2.282-36.509Q-2.056-36.131-1.455-36.131M1.379-36.791L1.379-38.688L0.740-38.688L0.740-38.910Q1.057-38.910 1.275-39.120Q1.492-39.330 1.592-39.640Q1.693-39.949 1.693-40.257L1.960-40.257L1.960-38.968L3.036-38.968L3.036-38.688L1.960-38.688L1.960-36.804Q1.960-36.528 2.064-36.329Q2.168-36.131 2.428-36.131Q2.585-36.131 2.691-36.235Q2.797-36.340 2.847-36.493Q2.896-36.647 2.896-36.804L2.896-37.218L3.163-37.218L3.163-36.791Q3.163-36.565 3.064-36.355Q2.965-36.145 2.780-36.013Q2.596-35.882 2.367-35.882Q1.929-35.882 1.654-36.119Q1.379-36.357 1.379-36.791",[912],[882,9277,9278],{"transform":9253},[887,9279],{"d":9280,"fill":884,"stroke":884,"className":9281,"style":2672},"M8.358-35.950L6.724-35.950L6.724-36.230Q6.953-36.230 7.102-36.264Q7.251-36.299 7.251-36.439L7.251-40.058Q7.251-40.328 7.143-40.390Q7.035-40.451 6.724-40.451L6.724-40.732L7.804-40.807L7.804-38.421Q7.910-38.606 8.088-38.748Q8.266-38.889 8.474-38.963Q8.683-39.036 8.908-39.036Q9.414-39.036 9.698-38.813Q9.982-38.589 9.982-38.093L9.982-36.439Q9.982-36.302 10.130-36.266Q10.279-36.230 10.505-36.230L10.505-35.950L8.874-35.950L8.874-36.230Q9.103-36.230 9.252-36.264Q9.401-36.299 9.401-36.439L9.401-38.079Q9.401-38.414 9.281-38.614Q9.161-38.814 8.847-38.814Q8.577-38.814 8.343-38.678Q8.109-38.541 7.970-38.307Q7.832-38.073 7.832-37.799L7.832-36.439Q7.832-36.302 7.982-36.266Q8.133-36.230 8.358-36.230L8.358-35.950M11.051-37.485Q11.051-37.806 11.176-38.095Q11.301-38.384 11.527-38.607Q11.752-38.831 12.048-38.951Q12.343-39.071 12.661-39.071Q12.989-39.071 13.251-38.971Q13.512-38.872 13.688-38.690Q13.864-38.507 13.958-38.249Q14.052-37.991 14.052-37.659Q14.052-37.567 13.970-37.546L11.715-37.546L11.715-37.485Q11.715-36.897 11.998-36.514Q12.282-36.131 12.849-36.131Q13.171-36.131 13.439-36.324Q13.707-36.517 13.796-36.832Q13.803-36.873 13.878-36.887L13.970-36.887Q14.052-36.863 14.052-36.791Q14.052-36.784 14.046-36.757Q13.933-36.360 13.562-36.121Q13.191-35.882 12.767-35.882Q12.330-35.882 11.930-36.090Q11.530-36.299 11.291-36.666Q11.051-37.033 11.051-37.485M11.721-37.755L13.536-37.755Q13.536-38.032 13.439-38.284Q13.341-38.537 13.143-38.693Q12.945-38.848 12.661-38.848Q12.384-38.848 12.171-38.690Q11.957-38.531 11.839-38.276Q11.721-38.021 11.721-37.755M16.390-35.950L14.654-35.950L14.654-36.230Q14.883-36.230 15.032-36.264Q15.180-36.299 15.180-36.439L15.180-38.288Q15.180-38.558 15.073-38.619Q14.965-38.681 14.654-38.681L14.654-38.961L15.683-39.036L15.683-38.329Q15.813-38.637 16.055-38.836Q16.298-39.036 16.616-39.036Q16.835-39.036 17.006-38.912Q17.176-38.787 17.176-38.575Q17.176-38.438 17.077-38.339Q16.978-38.240 16.845-38.240Q16.708-38.240 16.609-38.339Q16.510-38.438 16.510-38.575Q16.510-38.715 16.609-38.814Q16.319-38.814 16.119-38.618Q15.919-38.421 15.826-38.127Q15.734-37.833 15.734-37.553L15.734-36.439Q15.734-36.230 16.390-36.230L16.390-35.950M17.720-37.485Q17.720-37.806 17.845-38.095Q17.969-38.384 18.195-38.607Q18.421-38.831 18.716-38.951Q19.012-39.071 19.330-39.071Q19.658-39.071 19.919-38.971Q20.181-38.872 20.357-38.690Q20.533-38.507 20.627-38.249Q20.721-37.991 20.721-37.659Q20.721-37.567 20.639-37.546L18.383-37.546L18.383-37.485Q18.383-36.897 18.667-36.514Q18.950-36.131 19.518-36.131Q19.839-36.131 20.107-36.324Q20.376-36.517 20.465-36.832Q20.471-36.873 20.547-36.887L20.639-36.887Q20.721-36.863 20.721-36.791Q20.721-36.784 20.714-36.757Q20.601-36.360 20.230-36.121Q19.860-35.882 19.436-35.882Q18.998-35.882 18.598-36.090Q18.198-36.299 17.959-36.666Q17.720-37.033 17.720-37.485M18.390-37.755L20.205-37.755Q20.205-38.032 20.107-38.284Q20.010-38.537 19.812-38.693Q19.613-38.848 19.330-38.848Q19.053-38.848 18.839-38.690Q18.626-38.531 18.508-38.276Q18.390-38.021 18.390-37.755",[912],[882,9283,9284],{"transform":9253},[887,9285],{"d":9286,"fill":884,"stroke":884,"className":9287,"style":2672},"M24.023-35.957L24.023-37.020Q24.023-37.044 24.051-37.071Q24.078-37.098 24.102-37.098L24.211-37.098Q24.276-37.098 24.290-37.040Q24.386-36.606 24.632-36.355Q24.878-36.104 25.292-36.104Q25.633-36.104 25.886-36.237Q26.139-36.370 26.139-36.678Q26.139-36.835 26.045-36.950Q25.951-37.064 25.813-37.133Q25.674-37.201 25.507-37.239L24.926-37.338Q24.570-37.406 24.297-37.627Q24.023-37.847 24.023-38.189Q24.023-38.438 24.135-38.613Q24.246-38.787 24.432-38.886Q24.618-38.985 24.834-39.028Q25.049-39.071 25.292-39.071Q25.705-39.071 25.985-38.889L26.201-39.064Q26.211-39.067 26.218-39.069Q26.225-39.071 26.235-39.071L26.286-39.071Q26.313-39.071 26.337-39.047Q26.361-39.023 26.361-38.995L26.361-38.148Q26.361-38.127 26.337-38.100Q26.313-38.073 26.286-38.073L26.173-38.073Q26.146-38.073 26.120-38.098Q26.095-38.124 26.095-38.148Q26.095-38.384 25.989-38.548Q25.883-38.712 25.700-38.794Q25.517-38.876 25.285-38.876Q24.957-38.876 24.700-38.773Q24.444-38.671 24.444-38.394Q24.444-38.199 24.627-38.090Q24.810-37.980 25.039-37.939L25.613-37.833Q25.859-37.785 26.073-37.657Q26.286-37.529 26.423-37.326Q26.560-37.122 26.560-36.873Q26.560-36.360 26.194-36.121Q25.828-35.882 25.292-35.882Q24.796-35.882 24.464-36.176L24.198-35.902Q24.177-35.882 24.150-35.882L24.102-35.882Q24.078-35.882 24.051-35.909Q24.023-35.936 24.023-35.957M27.147-37.485Q27.147-37.806 27.272-38.095Q27.397-38.384 27.623-38.607Q27.848-38.831 28.144-38.951Q28.439-39.071 28.757-39.071Q29.085-39.071 29.347-38.971Q29.608-38.872 29.784-38.690Q29.960-38.507 30.054-38.249Q30.148-37.991 30.148-37.659Q30.148-37.567 30.066-37.546L27.811-37.546L27.811-37.485Q27.811-36.897 28.094-36.514Q28.378-36.131 28.945-36.131Q29.267-36.131 29.535-36.324Q29.803-36.517 29.892-36.832Q29.899-36.873 29.974-36.887L30.066-36.887Q30.148-36.863 30.148-36.791Q30.148-36.784 30.142-36.757Q30.029-36.360 29.658-36.121Q29.287-35.882 28.863-35.882Q28.426-35.882 28.026-36.090Q27.626-36.299 27.387-36.666Q27.147-37.033 27.147-37.485M27.817-37.755L29.632-37.755Q29.632-38.032 29.535-38.284Q29.438-38.537 29.239-38.693Q29.041-38.848 28.757-38.848Q28.480-38.848 28.267-38.690Q28.053-38.531 27.935-38.276Q27.817-38.021 27.817-37.755M32.380-34.593L30.750-34.593L30.750-34.873Q30.979-34.873 31.128-34.908Q31.276-34.942 31.276-35.082L31.276-38.428Q31.276-38.599 31.140-38.640Q31.003-38.681 30.750-38.681L30.750-38.961L31.830-39.036L31.830-38.630Q32.052-38.831 32.339-38.934Q32.626-39.036 32.934-39.036Q33.361-39.036 33.725-38.823Q34.089-38.609 34.303-38.245Q34.517-37.881 34.517-37.461Q34.517-37.016 34.277-36.652Q34.038-36.288 33.645-36.085Q33.252-35.882 32.808-35.882Q32.541-35.882 32.293-35.982Q32.045-36.083 31.857-36.264L31.857-35.082Q31.857-34.945 32.006-34.909Q32.155-34.873 32.380-34.873L32.380-34.593M31.857-38.281L31.857-36.671Q31.991-36.418 32.233-36.261Q32.476-36.104 32.753-36.104Q33.081-36.104 33.334-36.305Q33.587-36.507 33.720-36.825Q33.854-37.143 33.854-37.461Q33.854-37.690 33.789-37.919Q33.724-38.148 33.595-38.346Q33.467-38.544 33.272-38.664Q33.078-38.783 32.845-38.783Q32.551-38.783 32.283-38.654Q32.015-38.524 31.857-38.281M35.210-36.678Q35.210-37.010 35.434-37.237Q35.658-37.464 36.002-37.592Q36.345-37.721 36.718-37.773Q37.090-37.826 37.395-37.826L37.395-38.079Q37.395-38.284 37.287-38.464Q37.179-38.643 36.998-38.746Q36.817-38.848 36.608-38.848Q36.202-38.848 35.966-38.756Q36.055-38.719 36.101-38.635Q36.147-38.551 36.147-38.449Q36.147-38.353 36.101-38.274Q36.055-38.196 35.974-38.151Q35.894-38.107 35.805-38.107Q35.655-38.107 35.554-38.204Q35.453-38.302 35.453-38.449Q35.453-39.071 36.608-39.071Q36.820-39.071 37.070-39.007Q37.319-38.944 37.521-38.825Q37.723-38.705 37.849-38.520Q37.976-38.336 37.976-38.093L37.976-36.517Q37.976-36.401 38.037-36.305Q38.099-36.210 38.211-36.210Q38.321-36.210 38.386-36.304Q38.451-36.398 38.451-36.517L38.451-36.965L38.717-36.965L38.717-36.517Q38.717-36.247 38.490-36.082Q38.263-35.916 37.982-35.916Q37.774-35.916 37.637-36.070Q37.501-36.223 37.477-36.439Q37.330-36.172 37.048-36.027Q36.766-35.882 36.441-35.882Q36.164-35.882 35.880-35.957Q35.597-36.032 35.404-36.211Q35.210-36.391 35.210-36.678M35.826-36.678Q35.826-36.504 35.927-36.374Q36.027-36.244 36.183-36.174Q36.338-36.104 36.502-36.104Q36.721-36.104 36.930-36.201Q37.138-36.299 37.266-36.480Q37.395-36.661 37.395-36.887L37.395-37.615Q37.070-37.615 36.704-37.524Q36.338-37.433 36.082-37.221Q35.826-37.010 35.826-36.678M40.884-35.950L39.148-35.950L39.148-36.230Q39.377-36.230 39.526-36.264Q39.674-36.299 39.674-36.439L39.674-38.288Q39.674-38.558 39.567-38.619Q39.459-38.681 39.148-38.681L39.148-38.961L40.177-39.036L40.177-38.329Q40.307-38.637 40.549-38.836Q40.792-39.036 41.110-39.036Q41.329-39.036 41.500-38.912Q41.670-38.787 41.670-38.575Q41.670-38.438 41.571-38.339Q41.472-38.240 41.339-38.240Q41.202-38.240 41.103-38.339Q41.004-38.438 41.004-38.575Q41.004-38.715 41.103-38.814Q40.813-38.814 40.613-38.618Q40.413-38.421 40.320-38.127Q40.228-37.833 40.228-37.553L40.228-36.439Q40.228-36.230 40.884-36.230L40.884-35.950M42.313-36.678Q42.313-37.010 42.537-37.237Q42.761-37.464 43.104-37.592Q43.448-37.721 43.820-37.773Q44.193-37.826 44.497-37.826L44.497-38.079Q44.497-38.284 44.389-38.464Q44.282-38.643 44.101-38.746Q43.919-38.848 43.711-38.848Q43.304-38.848 43.068-38.756Q43.157-38.719 43.203-38.635Q43.250-38.551 43.250-38.449Q43.250-38.353 43.203-38.274Q43.157-38.196 43.077-38.151Q42.997-38.107 42.908-38.107Q42.757-38.107 42.657-38.204Q42.556-38.302 42.556-38.449Q42.556-39.071 43.711-39.071Q43.923-39.071 44.172-39.007Q44.422-38.944 44.624-38.825Q44.825-38.705 44.952-38.520Q45.078-38.336 45.078-38.093L45.078-36.517Q45.078-36.401 45.140-36.305Q45.201-36.210 45.314-36.210Q45.423-36.210 45.488-36.304Q45.553-36.398 45.553-36.517L45.553-36.965L45.820-36.965L45.820-36.517Q45.820-36.247 45.593-36.082Q45.365-35.916 45.085-35.916Q44.876-35.916 44.740-36.070Q44.603-36.223 44.579-36.439Q44.432-36.172 44.150-36.027Q43.868-35.882 43.543-35.882Q43.267-35.882 42.983-35.957Q42.699-36.032 42.506-36.211Q42.313-36.391 42.313-36.678M42.928-36.678Q42.928-36.504 43.029-36.374Q43.130-36.244 43.285-36.174Q43.441-36.104 43.605-36.104Q43.824-36.104 44.032-36.201Q44.241-36.299 44.369-36.480Q44.497-36.661 44.497-36.887L44.497-37.615Q44.172-37.615 43.807-37.524Q43.441-37.433 43.185-37.221Q42.928-37.010 42.928-36.678M46.763-36.791L46.763-38.688L46.124-38.688L46.124-38.910Q46.442-38.910 46.659-39.120Q46.876-39.330 46.977-39.640Q47.078-39.949 47.078-40.257L47.344-40.257L47.344-38.968L48.421-38.968L48.421-38.688L47.344-38.688L47.344-36.804Q47.344-36.528 47.449-36.329Q47.553-36.131 47.813-36.131Q47.970-36.131 48.076-36.235Q48.182-36.340 48.231-36.493Q48.281-36.647 48.281-36.804L48.281-37.218L48.547-37.218L48.547-36.791Q48.547-36.565 48.448-36.355Q48.349-36.145 48.165-36.013Q47.980-35.882 47.751-35.882Q47.313-35.882 47.038-36.119Q46.763-36.357 46.763-36.791M49.316-37.485Q49.316-37.806 49.441-38.095Q49.566-38.384 49.792-38.607Q50.017-38.831 50.313-38.951Q50.608-39.071 50.926-39.071Q51.254-39.071 51.516-38.971Q51.777-38.872 51.953-38.690Q52.129-38.507 52.223-38.249Q52.317-37.991 52.317-37.659Q52.317-37.567 52.235-37.546L49.980-37.546L49.980-37.485Q49.980-36.897 50.263-36.514Q50.547-36.131 51.114-36.131Q51.436-36.131 51.704-36.324Q51.972-36.517 52.061-36.832Q52.068-36.873 52.143-36.887L52.235-36.887Q52.317-36.863 52.317-36.791Q52.317-36.784 52.311-36.757Q52.198-36.360 51.827-36.121Q51.456-35.882 51.032-35.882Q50.595-35.882 50.195-36.090Q49.795-36.299 49.556-36.666Q49.316-37.033 49.316-37.485M49.986-37.755L51.801-37.755Q51.801-38.032 51.704-38.284Q51.606-38.537 51.408-38.693Q51.210-38.848 50.926-38.848Q50.649-38.848 50.436-38.690Q50.222-38.531 50.104-38.276Q49.986-38.021 49.986-37.755M52.905-35.957L52.905-37.020Q52.905-37.044 52.933-37.071Q52.960-37.098 52.984-37.098L53.093-37.098Q53.158-37.098 53.172-37.040Q53.268-36.606 53.514-36.355Q53.760-36.104 54.173-36.104Q54.515-36.104 54.768-36.237Q55.021-36.370 55.021-36.678Q55.021-36.835 54.927-36.950Q54.833-37.064 54.695-37.133Q54.556-37.201 54.389-37.239L53.808-37.338Q53.452-37.406 53.179-37.627Q52.905-37.847 52.905-38.189Q52.905-38.438 53.016-38.613Q53.127-38.787 53.314-38.886Q53.500-38.985 53.715-39.028Q53.931-39.071 54.173-39.071Q54.587-39.071 54.867-38.889L55.083-39.064Q55.093-39.067 55.100-39.069Q55.106-39.071 55.117-39.071L55.168-39.071Q55.195-39.071 55.219-39.047Q55.243-39.023 55.243-38.995L55.243-38.148Q55.243-38.127 55.219-38.100Q55.195-38.073 55.168-38.073L55.055-38.073Q55.028-38.073 55.002-38.098Q54.977-38.124 54.977-38.148Q54.977-38.384 54.871-38.548Q54.765-38.712 54.582-38.794Q54.399-38.876 54.167-38.876Q53.838-38.876 53.582-38.773Q53.326-38.671 53.326-38.394Q53.326-38.199 53.509-38.090Q53.691-37.980 53.920-37.939L54.495-37.833Q54.741-37.785 54.954-37.657Q55.168-37.529 55.305-37.326Q55.441-37.122 55.441-36.873Q55.441-36.360 55.076-36.121Q54.710-35.882 54.173-35.882Q53.678-35.882 53.346-36.176L53.080-35.902Q53.059-35.882 53.032-35.882L52.984-35.882Q52.960-35.882 52.933-35.909Q52.905-35.936 52.905-35.957",[912],[882,9289,9290],{"transform":9253},[887,9291],{"d":9292,"fill":884,"stroke":884,"className":9293,"style":2672},"M59.331-36.791L59.331-38.688L58.692-38.688L58.692-38.910Q59.010-38.910 59.227-39.120Q59.444-39.330 59.544-39.640Q59.645-39.949 59.645-40.257L59.912-40.257L59.912-38.968L60.989-38.968L60.989-38.688L59.912-38.688L59.912-36.804Q59.912-36.528 60.016-36.329Q60.120-36.131 60.380-36.131Q60.537-36.131 60.643-36.235Q60.749-36.340 60.799-36.493Q60.848-36.647 60.848-36.804L60.848-37.218L61.115-37.218L61.115-36.791Q61.115-36.565 61.016-36.355Q60.917-36.145 60.732-36.013Q60.548-35.882 60.319-35.882Q59.881-35.882 59.606-36.119Q59.331-36.357 59.331-36.791M63.607-35.950L61.973-35.950L61.973-36.230Q62.202-36.230 62.351-36.264Q62.499-36.299 62.499-36.439L62.499-40.058Q62.499-40.328 62.392-40.390Q62.284-40.451 61.973-40.451L61.973-40.732L63.053-40.807L63.053-38.421Q63.159-38.606 63.337-38.748Q63.514-38.889 63.723-38.963Q63.931-39.036 64.157-39.036Q64.663-39.036 64.947-38.813Q65.230-38.589 65.230-38.093L65.230-36.439Q65.230-36.302 65.379-36.266Q65.528-36.230 65.753-36.230L65.753-35.950L64.123-35.950L64.123-36.230Q64.352-36.230 64.500-36.264Q64.649-36.299 64.649-36.439L64.649-38.079Q64.649-38.414 64.530-38.614Q64.410-38.814 64.095-38.814Q63.825-38.814 63.591-38.678Q63.357-38.541 63.219-38.307Q63.080-38.073 63.080-37.799L63.080-36.439Q63.080-36.302 63.231-36.266Q63.381-36.230 63.607-36.230L63.607-35.950M66.300-37.485Q66.300-37.806 66.425-38.095Q66.550-38.384 66.775-38.607Q67.001-38.831 67.296-38.951Q67.592-39.071 67.910-39.071Q68.238-39.071 68.500-38.971Q68.761-38.872 68.937-38.690Q69.113-38.507 69.207-38.249Q69.301-37.991 69.301-37.659Q69.301-37.567 69.219-37.546L66.963-37.546L66.963-37.485Q66.963-36.897 67.247-36.514Q67.531-36.131 68.098-36.131Q68.419-36.131 68.688-36.324Q68.956-36.517 69.045-36.832Q69.052-36.873 69.127-36.887L69.219-36.887Q69.301-36.863 69.301-36.791Q69.301-36.784 69.294-36.757Q69.181-36.360 68.811-36.121Q68.440-35.882 68.016-35.882Q67.578-35.882 67.178-36.090Q66.779-36.299 66.539-36.666Q66.300-37.033 66.300-37.485M66.970-37.755L68.785-37.755Q68.785-38.032 68.688-38.284Q68.590-38.537 68.392-38.693Q68.194-38.848 67.910-38.848Q67.633-38.848 67.419-38.690Q67.206-38.531 67.088-38.276Q66.970-38.021 66.970-37.755M71.571-35.950L69.937-35.950L69.937-36.230Q70.166-36.230 70.314-36.264Q70.463-36.299 70.463-36.439L70.463-38.288Q70.463-38.558 70.355-38.619Q70.248-38.681 69.937-38.681L69.937-38.961L70.996-39.036L70.996-38.387Q71.167-38.695 71.471-38.866Q71.776-39.036 72.121-39.036Q72.521-39.036 72.798-38.896Q73.074-38.756 73.160-38.408Q73.327-38.701 73.626-38.869Q73.926-39.036 74.271-39.036Q74.777-39.036 75.060-38.813Q75.344-38.589 75.344-38.093L75.344-36.439Q75.344-36.302 75.493-36.266Q75.641-36.230 75.867-36.230L75.867-35.950L74.237-35.950L74.237-36.230Q74.462-36.230 74.613-36.266Q74.763-36.302 74.763-36.439L74.763-38.079Q74.763-38.414 74.643-38.614Q74.524-38.814 74.209-38.814Q73.939-38.814 73.705-38.678Q73.471-38.541 73.333-38.307Q73.194-38.073 73.194-37.799L73.194-36.439Q73.194-36.302 73.343-36.266Q73.491-36.230 73.717-36.230L73.717-35.950L72.087-35.950L72.087-36.230Q72.316-36.230 72.464-36.264Q72.613-36.299 72.613-36.439L72.613-38.079Q72.613-38.414 72.493-38.614Q72.374-38.814 72.059-38.814Q71.789-38.814 71.555-38.678Q71.321-38.541 71.183-38.307Q71.044-38.073 71.044-37.799L71.044-36.439Q71.044-36.302 71.195-36.266Q71.345-36.230 71.571-36.230",[912],[887,9295],{"fill":902,"d":9296},"M9.934-58.713v8.107",[887,9298],{"d":9299,"style":2729},"m9.934-48.1 1.35-3.585-1.35 1.179-1.351-1.18Z",[1086,9301,9303,9304,9402,9403,9458,9459,9511],{"className":9302},[1089],"Endpoints ",[394,9305,9307],{"className":9306},[397],[394,9308,9310],{"className":9309,"ariaHidden":402},[401],[394,9311,9313,9316,9356,9359,9362],{"className":9312},[406],[394,9314],{"className":9315,"style":8692},[410],[394,9317,9319,9322],{"className":9318},[420],[394,9320,7653],{"className":9321,"style":7652},[420,469],[394,9323,9325],{"className":9324},[4051],[394,9326,9328,9348],{"className":9327},[4055,5915],[394,9329,9331,9345],{"className":9330},[4059],[394,9332,9334],{"className":9333,"style":7852},[4063],[394,9335,9336,9339],{"style":7668},[394,9337],{"className":9338,"style":4072},[4071],[394,9340,9342],{"className":9341},[4076,4077,4078,4079],[394,9343,1216],{"className":9344},[420,469,4079],[394,9346,5939],{"className":9347},[5938],[394,9349,9351],{"className":9350},[4059],[394,9352,9354],{"className":9353,"style":5946},[4063],[394,9355],{},[394,9357,2371],{"className":9358},[2370],[394,9360],{"className":9361,"style":2375},[634],[394,9363,9365,9368],{"className":9364},[420],[394,9366,7653],{"className":9367,"style":7652},[420,469],[394,9369,9371],{"className":9370},[4051],[394,9372,9374,9394],{"className":9373},[4055,5915],[394,9375,9377,9391],{"className":9376},[4059],[394,9378,9380],{"className":9379,"style":7852},[4063],[394,9381,9382,9385],{"style":7668},[394,9383],{"className":9384,"style":4072},[4071],[394,9386,9388],{"className":9387},[4076,4077,4078,4079],[394,9389,1198],{"className":9390,"style":1197},[420,469,4079],[394,9392,5939],{"className":9393},[5938],[394,9395,9397],{"className":9396},[4059],[394,9398,9400],{"className":9399,"style":7878},[4063],[394,9401],{}," are compared only when the first pivot drawn from ",[394,9404,9406],{"className":9405},[397],[394,9407,9409],{"className":9408,"ariaHidden":402},[401],[394,9410,9412,9415],{"className":9411},[406],[394,9413],{"className":9414,"style":7831},[410],[394,9416,9418,9421],{"className":9417},[420],[394,9419,7839],{"className":9420,"style":7838},[420,469],[394,9422,9424],{"className":9423},[4051],[394,9425,9427,9450],{"className":9426},[4055,5915],[394,9428,9430,9447],{"className":9429},[4059],[394,9431,9433],{"className":9432,"style":7852},[4063],[394,9434,9435,9438],{"style":7855},[394,9436],{"className":9437,"style":4072},[4071],[394,9439,9441],{"className":9440},[4076,4077,4078,4079],[394,9442,9444],{"className":9443},[420,4079],[394,9445,7868],{"className":9446,"style":1197},[420,469,4079],[394,9448,5939],{"className":9449},[5938],[394,9451,9453],{"className":9452},[4059],[394,9454,9456],{"className":9455,"style":7878},[4063],[394,9457],{}," is one of them; any middle pivot ",[394,9460,9462],{"className":9461},[397],[394,9463,9465],{"className":9464,"ariaHidden":402},[401],[394,9466,9468,9471],{"className":9467},[406],[394,9469],{"className":9470,"style":5902},[410],[394,9472,9474,9477],{"className":9473},[420],[394,9475,7653],{"className":9476,"style":7652},[420,469],[394,9478,9480],{"className":9479},[4051],[394,9481,9483,9503],{"className":9482},[4055,5915],[394,9484,9486,9500],{"className":9485},[4059],[394,9487,9489],{"className":9488,"style":7795},[4063],[394,9490,9491,9494],{"style":7668},[394,9492],{"className":9493,"style":4072},[4071],[394,9495,9497],{"className":9496},[4076,4077,4078,4079],[394,9498,8940],{"className":9499},[420,469,4079],[394,9501,5939],{"className":9502},[5938],[394,9504,9506],{"className":9505},[4059],[394,9507,9509],{"className":9508,"style":5946},[4063],[394,9510],{}," separates them forever.",[381,9513,9514,9515,9566,9567,9622],{},"Since the first pivot drawn\nfrom the ",[394,9516,9518],{"className":9517},[397],[394,9519,9521,9539,9557],{"className":9520,"ariaHidden":402},[401],[394,9522,9524,9527,9530,9533,9536],{"className":9523},[406],[394,9525],{"className":9526,"style":1193},[410],[394,9528,1198],{"className":9529,"style":1197},[420,469],[394,9531],{"className":9532,"style":635},[634],[394,9534,640],{"className":9535},[639],[394,9537],{"className":9538,"style":635},[634],[394,9540,9542,9545,9548,9551,9554],{"className":9541},[406],[394,9543],{"className":9544,"style":1445},[410],[394,9546,1216],{"className":9547},[420,469],[394,9549],{"className":9550,"style":635},[634],[394,9552,684],{"className":9553},[639],[394,9555],{"className":9556,"style":635},[634],[394,9558,9560,9563],{"className":9559},[406],[394,9561],{"className":9562,"style":1519},[410],[394,9564,444],{"className":9565},[420]," elements of ",[394,9568,9570],{"className":9569},[397],[394,9571,9573],{"className":9572,"ariaHidden":402},[401],[394,9574,9576,9579],{"className":9575},[406],[394,9577],{"className":9578,"style":7831},[410],[394,9580,9582,9585],{"className":9581},[420],[394,9583,7839],{"className":9584,"style":7838},[420,469],[394,9586,9588],{"className":9587},[4051],[394,9589,9591,9614],{"className":9590},[4055,5915],[394,9592,9594,9611],{"className":9593},[4059],[394,9595,9597],{"className":9596,"style":7852},[4063],[394,9598,9599,9602],{"style":7855},[394,9600],{"className":9601,"style":4072},[4071],[394,9603,9605],{"className":9604},[4076,4077,4078,4079],[394,9606,9608],{"className":9607},[420,4079],[394,9609,7868],{"className":9610,"style":1197},[420,469,4079],[394,9612,5939],{"className":9613},[5938],[394,9615,9617],{"className":9616},[4059],[394,9618,9620],{"className":9619,"style":7878},[4063],[394,9621],{}," is equally likely to be any of them,",[394,9624,9626],{"className":9625},[3821],[394,9627,9629],{"className":9628},[397],[394,9630,9632,9745],{"className":9631,"ariaHidden":402},[401],[394,9633,9635,9638,9644,9647,9687,9693,9733,9736,9739,9742],{"className":9634},[406],[394,9636],{"className":9637,"style":7896},[410],[394,9639,9641],{"className":9640},[4817],[394,9642,8528],{"className":9643},[420,4821],[394,9645,475],{"className":9646},[474],[394,9648,9650,9653],{"className":9649},[420],[394,9651,7653],{"className":9652,"style":7652},[420,469],[394,9654,9656],{"className":9655},[4051],[394,9657,9659,9679],{"className":9658},[4055,5915],[394,9660,9662,9676],{"className":9661},[4059],[394,9663,9665],{"className":9664,"style":7852},[4063],[394,9666,9667,9670],{"style":7668},[394,9668],{"className":9669,"style":4072},[4071],[394,9671,9673],{"className":9672},[4076,4077,4078,4079],[394,9674,1216],{"className":9675},[420,469,4079],[394,9677,5939],{"className":9678},[5938],[394,9680,9682],{"className":9681},[4059],[394,9683,9685],{"className":9684,"style":5946},[4063],[394,9686],{},[394,9688,9690],{"className":9689},[420,421],[394,9691,8578],{"className":9692},[420],[394,9694,9696,9699],{"className":9695},[420],[394,9697,7653],{"className":9698,"style":7652},[420,469],[394,9700,9702],{"className":9701},[4051],[394,9703,9705,9725],{"className":9704},[4055,5915],[394,9706,9708,9722],{"className":9707},[4059],[394,9709,9711],{"className":9710,"style":7852},[4063],[394,9712,9713,9716],{"style":7668},[394,9714],{"className":9715,"style":4072},[4071],[394,9717,9719],{"className":9718},[4076,4077,4078,4079],[394,9720,1198],{"className":9721,"style":1197},[420,469,4079],[394,9723,5939],{"className":9724},[5938],[394,9726,9728],{"className":9727},[4059],[394,9729,9731],{"className":9730,"style":7878},[4063],[394,9732],{},[394,9734,492],{"className":9735},[491],[394,9737],{"className":9738,"style":1350},[634],[394,9740,1597],{"className":9741},[559],[394,9743],{"className":9744,"style":1350},[634],[394,9746,9748,9752,9845],{"className":9747},[406],[394,9749],{"className":9750,"style":9751},[410],"height:2.2019em;vertical-align:-0.8804em;",[394,9753,9755,9758,9842],{"className":9754},[420],[394,9756],{"className":9757},[474,6274],[394,9759,9761],{"className":9760},[6278],[394,9762,9764,9834],{"className":9763},[4055,5915],[394,9765,9767,9831],{"className":9766},[4059],[394,9768,9771,9812,9820],{"className":9769,"style":9770},[4063],"height:1.3214em;",[394,9772,9773,9776],{"style":6291},[394,9774],{"className":9775,"style":6295},[4071],[394,9777,9779,9782,9785,9788,9791,9794,9797,9800,9803,9806,9809],{"className":9778},[420],[394,9780],{"className":9781,"style":2375},[634],[394,9783,1198],{"className":9784,"style":1197},[420,469],[394,9786],{"className":9787,"style":635},[634],[394,9789,640],{"className":9790},[639],[394,9792],{"className":9793,"style":635},[634],[394,9795,1216],{"className":9796},[420,469],[394,9798],{"className":9799,"style":635},[634],[394,9801,684],{"className":9802},[639],[394,9804],{"className":9805,"style":635},[634],[394,9807,444],{"className":9808},[420],[394,9810],{"className":9811,"style":2375},[634],[394,9813,9814,9817],{"style":6328},[394,9815],{"className":9816,"style":6295},[4071],[394,9818],{"className":9819,"style":6336},[6335],[394,9821,9822,9825],{"style":6339},[394,9823],{"className":9824,"style":6295},[4071],[394,9826,9828],{"className":9827},[420],[394,9829,1259],{"className":9830},[420],[394,9832,5939],{"className":9833},[5938],[394,9835,9837],{"className":9836},[4059],[394,9838,9840],{"className":9839,"style":6358},[4063],[394,9841],{},[394,9843],{"className":9844},[491,6274],[394,9846,597],{"className":9847},[420],[381,9849,9850,9851,2371],{},"Substituting and reindexing with ",[394,9852,9854],{"className":9853},[397],[394,9855,9857,9875,9893],{"className":9856,"ariaHidden":402},[401],[394,9858,9860,9863,9866,9869,9872],{"className":9859},[406],[394,9861],{"className":9862,"style":5866},[410],[394,9864,1368],{"className":9865,"style":1367},[420,469],[394,9867],{"className":9868,"style":1350},[634],[394,9870,1597],{"className":9871},[559],[394,9873],{"className":9874,"style":1350},[634],[394,9876,9878,9881,9884,9887,9890],{"className":9877},[406],[394,9879],{"className":9880,"style":1193},[410],[394,9882,1198],{"className":9883,"style":1197},[420,469],[394,9885],{"className":9886,"style":635},[634],[394,9888,640],{"className":9889},[639],[394,9891],{"className":9892,"style":635},[634],[394,9894,9896,9899],{"className":9895},[406],[394,9897],{"className":9898,"style":1212},[410],[394,9900,1216],{"className":9901},[420,469],[394,9903,9905],{"className":9904},[3821],[394,9906,9908],{"className":9907},[397],[394,9909,9911,9938,10191,10418,10559],{"className":9910,"ariaHidden":402},[401],[394,9912,9914,9917,9920,9923,9926,9929,9932,9935],{"className":9913},[406],[394,9915],{"className":9916,"style":465},[410],[394,9918,8334],{"className":9919},[420,8333],[394,9921,475],{"className":9922},[474],[394,9924,8029],{"className":9925,"style":8028},[420,469],[394,9927,492],{"className":9928},[491],[394,9930],{"className":9931,"style":1350},[634],[394,9933,1597],{"className":9934},[559],[394,9936],{"className":9937,"style":1350},[634],[394,9939,9941,9944,10017,10020,10093,10096,10182,10185,10188],{"className":9940},[406],[394,9942],{"className":9943,"style":8359},[410],[394,9945,9947],{"className":9946},[4817,8363],[394,9948,9950,10009],{"className":9949},[4055,5915],[394,9951,9953,10006],{"className":9952},[4059],[394,9954,9956,9976,9986],{"className":9955,"style":8373},[4063],[394,9957,9958,9961],{"style":8376},[394,9959],{"className":9960,"style":8380},[4071],[394,9962,9964],{"className":9963},[4076,4077,4078,4079],[394,9965,9967,9970,9973],{"className":9966},[420,4079],[394,9968,1216],{"className":9969},[420,469,4079],[394,9971,1597],{"className":9972},[559,4079],[394,9974,444],{"className":9975},[420,4079],[394,9977,9978,9981],{"style":8398},[394,9979],{"className":9980,"style":8380},[4071],[394,9982,9983],{},[394,9984,8221],{"className":9985},[4817,8218,8407],[394,9987,9988,9991],{"style":8410},[394,9989],{"className":9990,"style":8380},[4071],[394,9992,9994],{"className":9993},[4076,4077,4078,4079],[394,9995,9997,10000,10003],{"className":9996},[420,4079],[394,9998,2250],{"className":9999},[420,469,4079],[394,10001,640],{"className":10002},[639,4079],[394,10004,444],{"className":10005},[420,4079],[394,10007,5939],{"className":10008},[5938],[394,10010,10012],{"className":10011},[4059],[394,10013,10015],{"className":10014,"style":8438},[4063],[394,10016],{},[394,10018],{"className":10019,"style":2375},[634],[394,10021,10023],{"className":10022},[4817,8363],[394,10024,10026,10085],{"className":10025},[4055,5915],[394,10027,10029,10082],{"className":10028},[4059],[394,10030,10032,10058,10068],{"className":10031,"style":8456},[4063],[394,10033,10034,10037],{"style":8376},[394,10035],{"className":10036,"style":8380},[4071],[394,10038,10040],{"className":10039},[4076,4077,4078,4079],[394,10041,10043,10046,10049,10052,10055],{"className":10042},[420,4079],[394,10044,1198],{"className":10045,"style":1197},[420,469,4079],[394,10047,1597],{"className":10048},[559,4079],[394,10050,1216],{"className":10051},[420,469,4079],[394,10053,684],{"className":10054},[639,4079],[394,10056,444],{"className":10057},[420,4079],[394,10059,10060,10063],{"style":8398},[394,10061],{"className":10062,"style":8380},[4071],[394,10064,10065],{},[394,10066,8221],{"className":10067},[4817,8218,8407],[394,10069,10070,10073],{"style":8410},[394,10071],{"className":10072,"style":8380},[4071],[394,10074,10076],{"className":10075},[4076,4077,4078,4079],[394,10077,10079],{"className":10078},[420,4079],[394,10080,2250],{"className":10081},[420,469,4079],[394,10083,5939],{"className":10084},[5938],[394,10086,10088],{"className":10087},[4059],[394,10089,10091],{"className":10090,"style":8516},[4063],[394,10092],{},[394,10094],{"className":10095,"style":2375},[634],[394,10097,10099,10102,10179],{"className":10098},[420],[394,10100],{"className":10101},[474,6274],[394,10103,10105],{"className":10104},[6278],[394,10106,10108,10171],{"className":10107},[4055,5915],[394,10109,10111,10168],{"className":10110},[4059],[394,10112,10114,10149,10157],{"className":10113,"style":9770},[4063],[394,10115,10116,10119],{"style":6291},[394,10117],{"className":10118,"style":6295},[4071],[394,10120,10122,10125,10128,10131,10134,10137,10140,10143,10146],{"className":10121},[420],[394,10123,1198],{"className":10124,"style":1197},[420,469],[394,10126],{"className":10127,"style":635},[634],[394,10129,640],{"className":10130},[639],[394,10132],{"className":10133,"style":635},[634],[394,10135,1216],{"className":10136},[420,469],[394,10138],{"className":10139,"style":635},[634],[394,10141,684],{"className":10142},[639],[394,10144],{"className":10145,"style":635},[634],[394,10147,444],{"className":10148},[420],[394,10150,10151,10154],{"style":6328},[394,10152],{"className":10153,"style":6295},[4071],[394,10155],{"className":10156,"style":6336},[6335],[394,10158,10159,10162],{"style":6339},[394,10160],{"className":10161,"style":6295},[4071],[394,10163,10165],{"className":10164},[420],[394,10166,1259],{"className":10167},[420],[394,10169,5939],{"className":10170},[5938],[394,10172,10174],{"className":10173},[4059],[394,10175,10177],{"className":10176,"style":6358},[4063],[394,10178],{},[394,10180],{"className":10181},[491,6274],[394,10183],{"className":10184,"style":1350},[634],[394,10186,5755],{"className":10187},[559],[394,10189],{"className":10190,"style":1350},[634],[394,10192,10194,10198,10271,10274,10343,10346,10409,10412,10415],{"className":10193},[406],[394,10195],{"className":10196,"style":10197},[410],"height:3.1032em;vertical-align:-1.3021em;",[394,10199,10201],{"className":10200},[4817,8363],[394,10202,10204,10263],{"className":10203},[4055,5915],[394,10205,10207,10260],{"className":10206},[4059],[394,10208,10210,10230,10240],{"className":10209,"style":8373},[4063],[394,10211,10212,10215],{"style":8376},[394,10213],{"className":10214,"style":8380},[4071],[394,10216,10218],{"className":10217},[4076,4077,4078,4079],[394,10219,10221,10224,10227],{"className":10220},[420,4079],[394,10222,1216],{"className":10223},[420,469,4079],[394,10225,1597],{"className":10226},[559,4079],[394,10228,444],{"className":10229},[420,4079],[394,10231,10232,10235],{"style":8398},[394,10233],{"className":10234,"style":8380},[4071],[394,10236,10237],{},[394,10238,8221],{"className":10239},[4817,8218,8407],[394,10241,10242,10245],{"style":8410},[394,10243],{"className":10244,"style":8380},[4071],[394,10246,10248],{"className":10247},[4076,4077,4078,4079],[394,10249,10251,10254,10257],{"className":10250},[420,4079],[394,10252,2250],{"className":10253},[420,469,4079],[394,10255,640],{"className":10256},[639,4079],[394,10258,444],{"className":10259},[420,4079],[394,10261,5939],{"className":10262},[5938],[394,10264,10266],{"className":10265},[4059],[394,10267,10269],{"className":10268,"style":8438},[4063],[394,10270],{},[394,10272],{"className":10273,"style":2375},[634],[394,10275,10277],{"className":10276},[4817,8363],[394,10278,10280,10334],{"className":10279},[4055,5915],[394,10281,10283,10331],{"className":10282},[4059],[394,10284,10286,10307,10317],{"className":10285,"style":8456},[4063],[394,10287,10289,10292],{"style":10288},"top:-1.8479em;margin-left:0em;",[394,10290],{"className":10291,"style":8380},[4071],[394,10293,10295],{"className":10294},[4076,4077,4078,4079],[394,10296,10298,10301,10304],{"className":10297},[420,4079],[394,10299,1368],{"className":10300,"style":1367},[420,469,4079],[394,10302,1597],{"className":10303},[559,4079],[394,10305,444],{"className":10306},[420,4079],[394,10308,10309,10312],{"style":8398},[394,10310],{"className":10311,"style":8380},[4071],[394,10313,10314],{},[394,10315,8221],{"className":10316},[4817,8218,8407],[394,10318,10319,10322],{"style":8410},[394,10320],{"className":10321,"style":8380},[4071],[394,10323,10325],{"className":10324},[4076,4077,4078,4079],[394,10326,10328],{"className":10327},[420,4079],[394,10329,2250],{"className":10330},[420,469,4079],[394,10332,5939],{"className":10333},[5938],[394,10335,10337],{"className":10336},[4059],[394,10338,10341],{"className":10339,"style":10340},[4063],"height:1.3021em;",[394,10342],{},[394,10344],{"className":10345,"style":2375},[634],[394,10347,10349,10352,10406],{"className":10348},[420],[394,10350],{"className":10351},[474,6274],[394,10353,10355],{"className":10354},[6278],[394,10356,10358,10397],{"className":10357},[4055,5915],[394,10359,10361,10394],{"className":10360},[4059],[394,10362,10364,10375,10383],{"className":10363,"style":9770},[4063],[394,10365,10366,10369],{"style":6291},[394,10367],{"className":10368,"style":6295},[4071],[394,10370,10372],{"className":10371},[420],[394,10373,1368],{"className":10374,"style":1367},[420,469],[394,10376,10377,10380],{"style":6328},[394,10378],{"className":10379,"style":6295},[4071],[394,10381],{"className":10382,"style":6336},[6335],[394,10384,10385,10388],{"style":6339},[394,10386],{"className":10387,"style":6295},[4071],[394,10389,10391],{"className":10390},[420],[394,10392,1259],{"className":10393},[420],[394,10395,5939],{"className":10396},[5938],[394,10398,10400],{"className":10399},[4059],[394,10401,10404],{"className":10402,"style":10403},[4063],"height:0.686em;",[394,10405],{},[394,10407],{"className":10408},[491,6274],[394,10410],{"className":10411,"style":1350},[634],[394,10413,1597],{"className":10414},[559],[394,10416],{"className":10417,"style":1350},[634],[394,10419,10421,10425,10428,10431,10504,10507,10550,10553,10556],{"className":10420},[406],[394,10422],{"className":10423,"style":10424},[410],"height:3.0788em;vertical-align:-1.2777em;",[394,10426,1259],{"className":10427},[420],[394,10429],{"className":10430,"style":2375},[634],[394,10432,10434],{"className":10433},[4817,8363],[394,10435,10437,10496],{"className":10436},[4055,5915],[394,10438,10440,10493],{"className":10439},[4059],[394,10441,10443,10463,10473],{"className":10442,"style":8373},[4063],[394,10444,10445,10448],{"style":8376},[394,10446],{"className":10447,"style":8380},[4071],[394,10449,10451],{"className":10450},[4076,4077,4078,4079],[394,10452,10454,10457,10460],{"className":10453},[420,4079],[394,10455,1216],{"className":10456},[420,469,4079],[394,10458,1597],{"className":10459},[559,4079],[394,10461,444],{"className":10462},[420,4079],[394,10464,10465,10468],{"style":8398},[394,10466],{"className":10467,"style":8380},[4071],[394,10469,10470],{},[394,10471,8221],{"className":10472},[4817,8218,8407],[394,10474,10475,10478],{"style":8410},[394,10476],{"className":10477,"style":8380},[4071],[394,10479,10481],{"className":10480},[4076,4077,4078,4079],[394,10482,10484,10487,10490],{"className":10483},[420,4079],[394,10485,2250],{"className":10486},[420,469,4079],[394,10488,640],{"className":10489},[639,4079],[394,10491,444],{"className":10492},[420,4079],[394,10494,5939],{"className":10495},[5938],[394,10497,10499],{"className":10498},[4059],[394,10500,10502],{"className":10501,"style":8438},[4063],[394,10503],{},[394,10505],{"className":10506,"style":2375},[634],[394,10508,10510,10515],{"className":10509},[420],[394,10511,10514],{"className":10512,"style":10513},[420,469],"margin-right:0.0813em;","H",[394,10516,10518],{"className":10517},[4051],[394,10519,10521,10542],{"className":10520},[4055,5915],[394,10522,10524,10539],{"className":10523},[4059],[394,10525,10527],{"className":10526,"style":7795},[4063],[394,10528,10530,10533],{"style":10529},"top:-2.55em;margin-left:-0.0813em;margin-right:0.05em;",[394,10531],{"className":10532,"style":4072},[4071],[394,10534,10536],{"className":10535},[4076,4077,4078,4079],[394,10537,2250],{"className":10538},[420,469,4079],[394,10540,5939],{"className":10541},[5938],[394,10543,10545],{"className":10544},[4059],[394,10546,10548],{"className":10547,"style":5946},[4063],[394,10549],{},[394,10551],{"className":10552,"style":1350},[634],[394,10554,1597],{"className":10555},[559],[394,10557],{"className":10558,"style":1350},[634],[394,10560,10562,10565,10568,10571,10574,10577,10583,10586,10589,10592],{"className":10561},[406],[394,10563],{"className":10564,"style":465},[410],[394,10566,5107],{"className":10567,"style":486},[420,469],[394,10569,2246],{"className":10570},[474],[394,10572,2250],{"className":10573},[420,469],[394,10575],{"className":10576,"style":2375},[634],[394,10578,10580],{"className":10579},[4817],[394,10581,4823],{"className":10582,"style":4822},[420,4821],[394,10584],{"className":10585,"style":2375},[634],[394,10587,2250],{"className":10588},[420,469],[394,10590,2254],{"className":10591},[491],[394,10593,2371],{"className":10594},[2370],[381,10596,10597,10598,10776,10777,10816,10817,597],{},"using the harmonic-number bound ",[394,10599,10601],{"className":10600},[397],[394,10602,10604,10660,10749],{"className":10603,"ariaHidden":402},[401],[394,10605,10607,10611,10651,10654,10657],{"className":10606},[406],[394,10608],{"className":10609,"style":10610},[410],"height:0.8333em;vertical-align:-0.15em;",[394,10612,10614,10617],{"className":10613},[420],[394,10615,10514],{"className":10616,"style":10513},[420,469],[394,10618,10620],{"className":10619},[4051],[394,10621,10623,10643],{"className":10622},[4055,5915],[394,10624,10626,10640],{"className":10625},[4059],[394,10627,10629],{"className":10628,"style":7795},[4063],[394,10630,10631,10634],{"style":10529},[394,10632],{"className":10633,"style":4072},[4071],[394,10635,10637],{"className":10636},[4076,4077,4078,4079],[394,10638,2250],{"className":10639},[420,469,4079],[394,10641,5939],{"className":10642},[5938],[394,10644,10646],{"className":10645},[4059],[394,10647,10649],{"className":10648,"style":5946},[4063],[394,10650],{},[394,10652],{"className":10653,"style":1350},[634],[394,10655,1597],{"className":10656},[559],[394,10658],{"className":10659,"style":1350},[634],[394,10661,10663,10667,10730,10733,10737,10740,10743,10746],{"className":10662},[406],[394,10664],{"className":10665,"style":10666},[410],"height:1.104em;vertical-align:-0.2997em;",[394,10668,10670,10673],{"className":10669},[4817],[394,10671,8221],{"className":10672,"style":8220},[4817,8218,8219],[394,10674,10676],{"className":10675},[4051],[394,10677,10679,10721],{"className":10678},[4055,5915],[394,10680,10682,10718],{"className":10681},[4059],[394,10683,10686,10706],{"className":10684,"style":10685},[4063],"height:0.8043em;",[394,10687,10688,10691],{"style":8237},[394,10689],{"className":10690,"style":4072},[4071],[394,10692,10694],{"className":10693},[4076,4077,4078,4079],[394,10695,10697,10700,10703],{"className":10696},[420,4079],[394,10698,1368],{"className":10699,"style":1367},[420,469,4079],[394,10701,1597],{"className":10702},[559,4079],[394,10704,444],{"className":10705},[420,4079],[394,10707,10709,10712],{"style":10708},"top:-3.2029em;margin-right:0.05em;",[394,10710],{"className":10711,"style":4072},[4071],[394,10713,10715],{"className":10714},[4076,4077,4078,4079],[394,10716,2250],{"className":10717},[420,469,4079],[394,10719,5939],{"className":10720},[5938],[394,10722,10724],{"className":10723},[4059],[394,10725,10728],{"className":10726,"style":10727},[4063],"height:0.2997em;",[394,10729],{},[394,10731],{"className":10732,"style":2375},[634],[394,10734,10736],{"className":10735},[420],"1\u002F",[394,10738,1368],{"className":10739,"style":1367},[420,469],[394,10741],{"className":10742,"style":1350},[634],[394,10744,1597],{"className":10745},[559],[394,10747],{"className":10748,"style":1350},[634],[394,10750,10752,10755,10758,10761,10767,10770,10773],{"className":10751},[406],[394,10753],{"className":10754,"style":465},[410],[394,10756,2242],{"className":10757},[420],[394,10759,2246],{"className":10760},[474],[394,10762,10764],{"className":10763},[4817],[394,10765,4823],{"className":10766,"style":4822},[420,4821],[394,10768],{"className":10769,"style":2375},[634],[394,10771,2250],{"className":10772},[420,469],[394,10774,2254],{"className":10775},[491],". So\nrandomized quicksort makes ",[394,10778,10780],{"className":10779},[397],[394,10781,10783],{"className":10782,"ariaHidden":402},[401],[394,10784,10786,10789,10792,10795,10798,10801,10807,10810,10813],{"className":10785},[406],[394,10787],{"className":10788,"style":465},[410],[394,10790,2242],{"className":10791},[420],[394,10793,2246],{"className":10794},[474],[394,10796,2250],{"className":10797},[420,469],[394,10799],{"className":10800,"style":2375},[634],[394,10802,10804],{"className":10803},[4817],[394,10805,4823],{"className":10806,"style":4822},[420,4821],[394,10808],{"className":10809,"style":2375},[634],[394,10811,2250],{"className":10812},[420,469],[394,10814,2254],{"className":10815},[491]," comparisons in expectation,\n",[431,10818,10819],{},"regardless of the input arrangement",[446,10821,10823],{"id":10822},"quicksort-versus-mergesort","Quicksort versus mergesort",[10825,10826,10827,10840],"table",{},[10828,10829,10830],"thead",{},[10831,10832,10833,10836,10838],"tr",{},[10834,10835],"th",{},[10834,10837,39],{},[10834,10839,386],{},[10841,10842,10843,10942,11029,11096,11107,11116],"tbody",{},[10831,10844,10845,10849,10901],{},[10846,10847,10848],"td",{},"Worst case",[10846,10850,10851],{},[394,10852,10854],{"className":10853},[397],[394,10855,10857],{"className":10856,"ariaHidden":402},[401],[394,10858,10860,10863,10866,10869,10898],{"className":10859},[406],[394,10861],{"className":10862,"style":4243},[410],[394,10864,2242],{"className":10865},[420],[394,10867,2246],{"className":10868},[474],[394,10870,10872,10875],{"className":10871},[420],[394,10873,2250],{"className":10874},[420,469],[394,10876,10878],{"className":10877},[4051],[394,10879,10881],{"className":10880},[4055],[394,10882,10884],{"className":10883},[4059],[394,10885,10887],{"className":10886,"style":4268},[4063],[394,10888,10889,10892],{"style":4271},[394,10890],{"className":10891,"style":4072},[4071],[394,10893,10895],{"className":10894},[4076,4077,4078,4079],[394,10896,1259],{"className":10897},[420,4079],[394,10899,2254],{"className":10900},[491],[10846,10902,10903],{},[394,10904,10906],{"className":10905},[397],[394,10907,10909],{"className":10908,"ariaHidden":402},[401],[394,10910,10912,10915,10918,10921,10924,10927,10933,10936,10939],{"className":10911},[406],[394,10913],{"className":10914,"style":465},[410],[394,10916,2242],{"className":10917},[420],[394,10919,2246],{"className":10920},[474],[394,10922,2250],{"className":10923},[420,469],[394,10925],{"className":10926,"style":2375},[634],[394,10928,10930],{"className":10929},[4817],[394,10931,4823],{"className":10932,"style":4822},[420,4821],[394,10934],{"className":10935,"style":2375},[634],[394,10937,2250],{"className":10938},[420,469],[394,10940,2254],{"className":10941},[491],[10831,10943,10944,10947,10988],{},[10846,10945,10946],{},"Expected \u002F average",[10846,10948,10949],{},[394,10950,10952],{"className":10951},[397],[394,10953,10955],{"className":10954,"ariaHidden":402},[401],[394,10956,10958,10961,10964,10967,10970,10973,10979,10982,10985],{"className":10957},[406],[394,10959],{"className":10960,"style":465},[410],[394,10962,2242],{"className":10963},[420],[394,10965,2246],{"className":10966},[474],[394,10968,2250],{"className":10969},[420,469],[394,10971],{"className":10972,"style":2375},[634],[394,10974,10976],{"className":10975},[4817],[394,10977,4823],{"className":10978,"style":4822},[420,4821],[394,10980],{"className":10981,"style":2375},[634],[394,10983,2250],{"className":10984},[420,469],[394,10986,2254],{"className":10987},[491],[10846,10989,10990],{},[394,10991,10993],{"className":10992},[397],[394,10994,10996],{"className":10995,"ariaHidden":402},[401],[394,10997,10999,11002,11005,11008,11011,11014,11020,11023,11026],{"className":10998},[406],[394,11000],{"className":11001,"style":465},[410],[394,11003,2242],{"className":11004},[420],[394,11006,2246],{"className":11007},[474],[394,11009,2250],{"className":11010},[420,469],[394,11012],{"className":11013,"style":2375},[634],[394,11015,11017],{"className":11016},[4817],[394,11018,4823],{"className":11019,"style":4822},[420,4821],[394,11021],{"className":11022,"style":2375},[634],[394,11024,2250],{"className":11025},[420,469],[394,11027,2254],{"className":11028},[491],[10831,11030,11031,11034,11070],{},[10846,11032,11033],{},"Extra space",[10846,11035,11036,11069],{},[394,11037,11039],{"className":11038},[397],[394,11040,11042],{"className":11041,"ariaHidden":402},[401],[394,11043,11045,11048,11051,11054,11060,11063,11066],{"className":11044},[406],[394,11046],{"className":11047,"style":465},[410],[394,11049,2242],{"className":11050},[420],[394,11052,2246],{"className":11053},[474],[394,11055,11057],{"className":11056},[4817],[394,11058,4823],{"className":11059,"style":4822},[420,4821],[394,11061],{"className":11062,"style":2375},[634],[394,11064,2250],{"className":11065},[420,469],[394,11067,2254],{"className":11068},[491]," (stack)",[10846,11071,11072],{},[394,11073,11075],{"className":11074},[397],[394,11076,11078],{"className":11077,"ariaHidden":402},[401],[394,11079,11081,11084,11087,11090,11093],{"className":11080},[406],[394,11082],{"className":11083,"style":465},[410],[394,11085,2242],{"className":11086},[420],[394,11088,2246],{"className":11089},[474],[394,11091,2250],{"className":11092},[420,469],[394,11094,2254],{"className":11095},[491],[10831,11097,11098,11101,11104],{},[10846,11099,11100],{},"In place",[10846,11102,11103],{},"yes",[10846,11105,11106],{},"no",[10831,11108,11109,11112,11114],{},[10846,11110,11111],{},"Stable",[10846,11113,11106],{},[10846,11115,11103],{},[10831,11117,11118,11121,11124],{},[10846,11119,11120],{},"Constants",[10846,11122,11123],{},"small (cache-friendly)",[10846,11125,11126],{},"larger",[381,11128,11129,11130,11133,11134,11141,11142,11192,11193,11196,11197,11200,11201,11234,11235,11274],{},"In practice ",[389,11131,11132],{},"quicksort is usually the fastest comparison sort"," on arrays in\nmemory: it works in place, has tight inner loops, and accesses memory\nsequentially, which the cache loves.",[436,11135,11136],{},[384,11137,2437],{"href":11138,"ariaDescribedBy":11139,"dataFootnoteRef":376,"id":11140},"#user-content-fn-skiena-qs",[442],"user-content-fnref-skiena-qs"," Its weaknesses are the ",[394,11143,11145],{"className":11144},[397],[394,11146,11148],{"className":11147,"ariaHidden":402},[401],[394,11149,11151,11154,11157,11160,11189],{"className":11150},[406],[394,11152],{"className":11153,"style":4243},[410],[394,11155,2242],{"className":11156},[420],[394,11158,2246],{"className":11159},[474],[394,11161,11163,11166],{"className":11162},[420],[394,11164,2250],{"className":11165},[420,469],[394,11167,11169],{"className":11168},[4051],[394,11170,11172],{"className":11171},[4055],[394,11173,11175],{"className":11174},[4059],[394,11176,11178],{"className":11177,"style":4268},[4063],[394,11179,11180,11183],{"style":4271},[394,11181],{"className":11182,"style":4072},[4071],[394,11184,11186],{"className":11185},[4076,4077,4078,4079],[394,11187,1259],{"className":11188},[420,4079],[394,11190,2254],{"className":11191},[491]," worst\ncase (tamed by randomization or median-of-three pivoting) and instability.\nMergesort wins when you need a worst-case guarantee, stability, or are sorting\nlinked lists or data too large for memory. A common engineering compromise,\n",[431,11194,11195],{},"introsort",", runs quicksort but switches to ",[384,11198,11199],{"href":56},"heapsort"," once the recursion depth\nexceeds ",[394,11202,11204],{"className":11203},[397],[394,11205,11207],{"className":11206,"ariaHidden":402},[401],[394,11208,11210,11213,11216,11219,11225,11228,11231],{"className":11209},[406],[394,11211],{"className":11212,"style":465},[410],[394,11214,2242],{"className":11215},[420],[394,11217,2246],{"className":11218},[474],[394,11220,11222],{"className":11221},[4817],[394,11223,4823],{"className":11224,"style":4822},[420,4821],[394,11226],{"className":11227,"style":2375},[634],[394,11229,2250],{"className":11230},[420,469],[394,11232,2254],{"className":11233},[491],", capturing quicksort's speed with a worst-case\n",[394,11236,11238],{"className":11237},[397],[394,11239,11241],{"className":11240,"ariaHidden":402},[401],[394,11242,11244,11247,11250,11253,11256,11259,11265,11268,11271],{"className":11243},[406],[394,11245],{"className":11246,"style":465},[410],[394,11248,2242],{"className":11249},[420],[394,11251,2246],{"className":11252},[474],[394,11254,2250],{"className":11255},[420,469],[394,11257],{"className":11258,"style":2375},[634],[394,11260,11262],{"className":11261},[4817],[394,11263,4823],{"className":11264,"style":4822},[420,4821],[394,11266],{"className":11267,"style":2375},[634],[394,11269,2250],{"className":11270},[420,469],[394,11272,2254],{"className":11273},[491]," ceiling.",[446,11276,11278],{"id":11277},"takeaways","Takeaways",[495,11280,11281,11409,11457,11666,11774],{},[498,11282,11283,11304,11305,11326,11327,11342,11343,11408],{},[394,11284,11286],{"className":11285},[397],[394,11287,11289],{"className":11288,"ariaHidden":402},[401],[394,11290,11292,11295],{"className":11291},[406],[394,11293],{"className":11294,"style":411},[410],[394,11296,11298],{"className":11297},[415,416],[394,11299,11301],{"className":11300},[420,421],[394,11302,39],{"className":11303},[420]," front-loads the work into ",[394,11306,11308],{"className":11307},[397],[394,11309,11311],{"className":11310,"ariaHidden":402},[401],[394,11312,11314,11317],{"className":11313},[406],[394,11315],{"className":11316,"style":765},[410],[394,11318,11320],{"className":11319},[415,416],[394,11321,11323],{"className":11322},[420,421],[394,11324,775],{"className":11325},[420],"; once the array is\npartitioned around a pivot ",[394,11328,11330],{"className":11329},[397],[394,11331,11333],{"className":11332,"ariaHidden":402},[401],[394,11334,11336,11339],{"className":11335},[406],[394,11337],{"className":11338,"style":799},[410],[394,11340,803],{"className":11341},[420,469]," into ",[394,11344,11346],{"className":11345},[397],[394,11347,11349,11361,11380,11399],{"className":11348,"ariaHidden":402},[401],[394,11350,11352,11355,11358],{"className":11351},[406],[394,11353],{"className":11354,"style":1246},[410],[394,11356,5755],{"className":11357},[559],[394,11359],{"className":11360,"style":1350},[634],[394,11362,11364,11367,11370,11373,11377],{"className":11363},[406],[394,11365],{"className":11366,"style":465},[410],[394,11368,803],{"className":11369},[420,469],[394,11371],{"className":11372,"style":1350},[634],[394,11374,11376],{"className":11375},[559],"∣",[394,11378],{"className":11379,"style":1350},[634],[394,11381,11383,11386,11389,11392,11396],{"className":11382},[406],[394,11384],{"className":11385,"style":465},[410],[394,11387,803],{"className":11388},[420,469],[394,11390],{"className":11391,"style":1350},[634],[394,11393,11395],{"className":11394},[559],"∣>",[394,11397],{"className":11398,"style":1350},[634],[394,11400,11402,11405],{"className":11401},[406],[394,11403],{"className":11404,"style":799},[410],[394,11406,803],{"className":11407},[420,469],", the pivot is in its final\nslot and the recursive sorts need no combine step.",[498,11410,11411,11433,11434,11456],{},[394,11412,11414],{"className":11413},[397],[394,11415,11417],{"className":11416,"ariaHidden":402},[401],[394,11418,11420,11423],{"className":11419},[406],[394,11421],{"className":11422,"style":765},[410],[394,11424,11426],{"className":11425},[415,416],[394,11427,11429],{"className":11428},[420,421],[394,11430,11432],{"className":11431},[420],"Lomuto"," (single sweep, pivot at the end) and ",[394,11435,11437],{"className":11436},[397],[394,11438,11440],{"className":11439,"ariaHidden":402},[401],[394,11441,11443,11446],{"className":11442},[406],[394,11444],{"className":11445,"style":765},[410],[394,11447,11449],{"className":11448},[415,416],[394,11450,11452],{"className":11451},[420,421],[394,11453,11455],{"className":11454},[420],"Hoare"," (two converging\nindices) are both correct via partition loop invariants; Hoare does fewer\nswaps and handles duplicates better.",[498,11458,11459,11460,11510,11511,11514,11515,11554,11555,11661,11662,11665],{},"Cost is set by split balance: lopsided-by-a-constant gives ",[394,11461,11463],{"className":11462},[397],[394,11464,11466],{"className":11465,"ariaHidden":402},[401],[394,11467,11469,11472,11475,11478,11507],{"className":11468},[406],[394,11470],{"className":11471,"style":4243},[410],[394,11473,2242],{"className":11474},[420],[394,11476,2246],{"className":11477},[474],[394,11479,11481,11484],{"className":11480},[420],[394,11482,2250],{"className":11483},[420,469],[394,11485,11487],{"className":11486},[4051],[394,11488,11490],{"className":11489},[4055],[394,11491,11493],{"className":11492},[4059],[394,11494,11496],{"className":11495,"style":4268},[4063],[394,11497,11498,11501],{"style":4271},[394,11499],{"className":11500,"style":4072},[4071],[394,11502,11504],{"className":11503},[4076,4077,4078,4079],[394,11505,1259],{"className":11506},[420,4079],[394,11508,2254],{"className":11509},[491],", but\n",[431,11512,11513],{},"any"," constant-fraction split gives ",[394,11516,11518],{"className":11517},[397],[394,11519,11521],{"className":11520,"ariaHidden":402},[401],[394,11522,11524,11527,11530,11533,11536,11539,11545,11548,11551],{"className":11523},[406],[394,11525],{"className":11526,"style":465},[410],[394,11528,2242],{"className":11529},[420],[394,11531,2246],{"className":11532},[474],[394,11534,2250],{"className":11535},[420,469],[394,11537],{"className":11538,"style":2375},[634],[394,11540,11542],{"className":11541},[4817],[394,11543,4823],{"className":11544,"style":4822},[420,4821],[394,11546],{"className":11547,"style":2375},[634],[394,11549,2250],{"className":11550},[420,469],[394,11552,2254],{"className":11553},[491],". The shrinking-recurrence\nlemma (",[394,11556,11558],{"className":11557},[397],[394,11559,11561,11579,11597,11616,11643],{"className":11560,"ariaHidden":402},[401],[394,11562,11564,11567,11570,11573,11576],{"className":11563},[406],[394,11565],{"className":11566,"style":5726},[410],[394,11568,5674],{"className":11569},[420,469],[394,11571],{"className":11572,"style":635},[634],[394,11574,684],{"className":11575},[639],[394,11577],{"className":11578,"style":635},[634],[394,11580,11582,11585,11588,11591,11594],{"className":11581},[406],[394,11583],{"className":11584,"style":5745},[410],[394,11586,5684],{"className":11587},[420,469],[394,11589],{"className":11590,"style":1350},[634],[394,11592,5755],{"className":11593},[559],[394,11595],{"className":11596,"style":1350},[634],[394,11598,11600,11603,11606,11609,11613],{"className":11599},[406],[394,11601],{"className":11602,"style":1519},[410],[394,11604,444],{"className":11605},[420],[394,11607],{"className":11608,"style":1350},[634],[394,11610,11612],{"className":11611},[559],"⇒",[394,11614],{"className":11615,"style":1350},[634],[394,11617,11619,11622,11625,11628,11631,11634,11637,11640],{"className":11618},[406],[394,11620],{"className":11621,"style":465},[410],[394,11623,3838],{"className":11624,"style":3837},[420,469],[394,11626,2246],{"className":11627},[474],[394,11629,2250],{"className":11630},[420,469],[394,11632,2254],{"className":11633},[491],[394,11635],{"className":11636,"style":1350},[634],[394,11638,1597],{"className":11639},[559],[394,11641],{"className":11642,"style":1350},[634],[394,11644,11646,11649,11652,11655,11658],{"className":11645},[406],[394,11647],{"className":11648,"style":465},[410],[394,11650,5107],{"className":11651,"style":486},[420,469],[394,11653,2246],{"className":11654},[474],[394,11656,2250],{"className":11657},[420,469],[394,11659,2254],{"className":11660},[491],") makes ",[596,11663,11664],{},"constant fraction is enough"," rigorous and powers linear-time selection next door.",[498,11667,11668,11671,11672,11711,11712,11773],{},[389,11669,11670],{},"Randomizing the pivot"," makes the expected cost ",[394,11673,11675],{"className":11674},[397],[394,11676,11678],{"className":11677,"ariaHidden":402},[401],[394,11679,11681,11684,11687,11690,11693,11696,11702,11705,11708],{"className":11680},[406],[394,11682],{"className":11683,"style":465},[410],[394,11685,2242],{"className":11686},[420],[394,11688,2246],{"className":11689},[474],[394,11691,2250],{"className":11692},[420,469],[394,11694],{"className":11695,"style":2375},[634],[394,11697,11699],{"className":11698},[4817],[394,11700,4823],{"className":11701,"style":4822},[420,4821],[394,11703],{"className":11704,"style":2375},[634],[394,11706,2250],{"className":11707},[420,469],[394,11709,2254],{"className":11710},[491]," on every\ninput; the proof counts each pair's ",[394,11713,11715],{"className":11714},[397],[394,11716,11718,11743,11761],{"className":11717,"ariaHidden":402},[401],[394,11719,11721,11724,11728,11731,11734,11737,11740],{"className":11720},[406],[394,11722],{"className":11723,"style":465},[410],[394,11725,11727],{"className":11726},[420],"2\u002F",[394,11729,2246],{"className":11730},[474],[394,11732,1198],{"className":11733,"style":1197},[420,469],[394,11735],{"className":11736,"style":635},[634],[394,11738,640],{"className":11739},[639],[394,11741],{"className":11742,"style":635},[634],[394,11744,11746,11749,11752,11755,11758],{"className":11745},[406],[394,11747],{"className":11748,"style":1445},[410],[394,11750,1216],{"className":11751},[420,469],[394,11753],{"className":11754,"style":635},[634],[394,11756,684],{"className":11757},[639],[394,11759],{"className":11760,"style":635},[634],[394,11762,11764,11767,11770],{"className":11763},[406],[394,11765],{"className":11766,"style":465},[410],[394,11768,444],{"className":11769},[420],[394,11771,2254],{"className":11772},[491]," chance of being compared.",[498,11775,11776],{},"Quicksort is typically the fastest in-memory sort; mergesort wins on\nworst-case guarantees, stability, and external data.",[11778,11779,11782,11787],"section",{"className":11780,"dataFootnotes":376},[11781],"footnotes",[446,11783,11786],{"className":11784,"id":442},[11785],"sr-only","Footnotes",[11788,11789,11790,11808,11820,11871],"ol",{},[498,11791,11793,11796,11797,11800,11801],{"id":11792},"user-content-fn-erickson-qs",[389,11794,11795],{},"Erickson",", ",[431,11798,11799],{},"Algorithms",", Ch. 1 — Recursion: quicksort as divide-and-conquer that front-loads the work into partitioning, leaving an empty combine step. ",[384,11802,11807],{"href":11803,"ariaLabel":11804,"className":11805,"dataFootnoteBackref":376},"#user-content-fnref-erickson-qs","Back to reference 1",[11806],"data-footnote-backref","↩",[498,11809,11811,11814,11815],{"id":11810},"user-content-fn-clrs-lomuto",[389,11812,11813],{},"CLRS",", Ch. 7 — Quicksort: the Lomuto single-sweep partition scheme and its four-region loop invariant. ",[384,11816,11807],{"href":11817,"ariaLabel":11818,"className":11819,"dataFootnoteBackref":376},"#user-content-fnref-clrs-lomuto","Back to reference 2",[11806],[498,11821,11823,11825,11826,11865,11866],{"id":11822},"user-content-fn-clrs-random",[389,11824,11813],{},", Ch. 7 — Quicksort: randomized quicksort and the proof that its expected comparison count is ",[394,11827,11829],{"className":11828},[397],[394,11830,11832],{"className":11831,"ariaHidden":402},[401],[394,11833,11835,11838,11841,11844,11847,11850,11856,11859,11862],{"className":11834},[406],[394,11836],{"className":11837,"style":465},[410],[394,11839,2242],{"className":11840},[420],[394,11842,2246],{"className":11843},[474],[394,11845,2250],{"className":11846},[420,469],[394,11848],{"className":11849,"style":2375},[634],[394,11851,11853],{"className":11852},[4817],[394,11854,4823],{"className":11855,"style":4822},[420,4821],[394,11857],{"className":11858,"style":2375},[634],[394,11860,2250],{"className":11861},[420,469],[394,11863,2254],{"className":11864},[491]," on every input. ",[384,11867,11807],{"href":11868,"ariaLabel":11869,"className":11870,"dataFootnoteBackref":376},"#user-content-fnref-clrs-random","Back to reference 3",[11806],[498,11872,11874,11796,11877,11880,11881],{"id":11873},"user-content-fn-skiena-qs",[389,11875,11876],{},"Skiena",[431,11878,11879],{},"The Algorithm Design Manual",", §4 — Sorting and Searching: quicksort as the fastest in-memory comparison sort in practice, and the role of pivot selection. ",[384,11882,11807],{"href":11883,"ariaLabel":11884,"className":11885,"dataFootnoteBackref":376},"#user-content-fnref-skiena-qs","Back to reference 4",[11806],[11887,11888,11889],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark-mode .shiki span {color: var(--shiki-dark-mode);background: var(--shiki-dark-mode-bg);font-style: var(--shiki-dark-mode-font-style);font-weight: var(--shiki-dark-mode-font-weight);text-decoration: var(--shiki-dark-mode-text-decoration);}html.dark-mode .shiki span {color: var(--shiki-dark-mode);background: var(--shiki-dark-mode-bg);font-style: var(--shiki-dark-mode-font-style);font-weight: var(--shiki-dark-mode-font-weight);text-decoration: var(--shiki-dark-mode-text-decoration);}",{"title":376,"searchDepth":18,"depth":18,"links":11891},[11892,11895,11898,11899,11902,11905,11906,11907],{"id":448,"depth":18,"text":449,"children":11893},[11894],{"id":779,"depth":24,"text":780},{"id":1151,"depth":18,"text":1152,"children":11896},[11897],{"id":1317,"depth":24,"text":1318},{"id":2999,"depth":18,"text":3000},{"id":3741,"depth":18,"text":3742,"children":11900},[11901],{"id":5632,"depth":24,"text":5633},{"id":7494,"depth":18,"text":7495,"children":11903},[11904],{"id":7628,"depth":24,"text":7629},{"id":10822,"depth":18,"text":10823},{"id":11277,"depth":18,"text":11278},{"id":442,"depth":18,"text":11786},"Mergesort does its hard work in the combine step: splitting is trivial,\nmerging is where the sorting happens. Quicksort flips this around. It does\nits hard work in the divide step, partitioning the array so that\neverything small comes before everything large, after which the combine step\nis empty. Sort the two parts in place and the whole array is sorted, with no\nmerging required.1","md",{"moduleNumber":18,"lessonNumber":18,"order":11911},202,true,[11914,11918,11921,11924],{"title":11915,"slug":11916,"difficulty":11917},"Sort Colors","sort-colors","Medium",{"title":11919,"slug":11920,"difficulty":11917},"Sort an Array","sort-an-array",{"title":11922,"slug":11923,"difficulty":11917},"Kth Largest Element in an Array","kth-largest-element-in-an-array",{"title":11925,"slug":11926,"difficulty":11917},"Top K Frequent Elements","top-k-frequent-elements","---\ntitle: Quicksort\nmodule: Divide & Conquer\nmoduleNumber: 2\nlessonNumber: 2\norder: 202\nsummary: >-\n  Quicksort sorts in place by partitioning around a pivot and recursing on\n  each side. We give Lomuto and Hoare partitioning with a correctness\n  invariant, see why a bad pivot costs $\\Theta(n^2)$ while a balanced one gives\n  $\\Theta(n\\log n)$, and prove that randomizing the pivot makes the expected\n  cost $\\Theta(n\\log n)$ on every input.\ntopics: [Comparison Sorting, Probabilistic Analysis]\nsources:\n  - book: CLRS\n    ref: \"Ch. 7 — Quicksort\"\n  - book: Skiena\n    ref: \"§4 — Sorting and Searching\"\n  - book: Erickson\n    ref: \"Ch. 1 — Recursion\"\npractice:\n  - title: 'Sort Colors'\n    slug: sort-colors\n    difficulty: Medium\n  - title: 'Sort an Array'\n    slug: sort-an-array\n    difficulty: Medium\n  - title: 'Kth Largest Element in an Array'\n    slug: kth-largest-element-in-an-array\n    difficulty: Medium\n  - title: 'Top K Frequent Elements'\n    slug: top-k-frequent-elements\n    difficulty: Medium\n---\n\n[Mergesort](\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort) does its hard work in the **combine** step: splitting is trivial,\nmerging is where the sorting happens. $\\textsc{Quicksort}$ flips this around. It does\nits hard work in the **divide** step, partitioning the array so that\neverything small comes before everything large, after which the combine step\nis _empty_. Sort the two parts in place and the whole array is sorted, with no\nmerging required.[^erickson-qs]\n\n## The paradigm applied\n\nTo sort $A[p..r]$:\n\n- **Divide.** Choose a **pivot** element and _partition_ $A[p..r]$ into two\n  regions: a left part whose elements are all $\\le$ the pivot, and a right part\n  whose elements are all $\\ge$ the pivot, with the pivot itself in between at\n  some index $q$.\n- **Conquer.** Recursively sort $A[p..q-1]$ and $A[q+1..r]$.\n- **Combine.** Nothing to do: the subarrays are already in place and in order\n  relative to each other.\n\n```algorithm\ncaption: $\\textsc{Quicksort}(A, p, r)$ — sort $A[p..r]$ in place\nnumber: 1\nif $p \u003C r$ then\n  $q \\gets$ call $\\textsc{Partition}(A, p, r)$ \u002F\u002F pivot at final index q\n  call $\\textsc{Quicksort}(A, p, q - 1)$ \u002F\u002F everything $\\le$ pivot\n  call $\\textsc{Quicksort}(A, q + 1, r)$ \u002F\u002F everything $\\ge$ pivot\n```\n\nEverything hinges on $\\textsc{Partition}$.\n\n### Partitioning around a pivot\n\nPartition _rearranges an array around a pivot_ $x$ so\nthat it falls into three contiguous regions: everything less than the pivot,\nthen the pivot itself sitting at its final sorted index $q$, then everything\ngreater. Sorting $A[p..r]$ around a chosen pivot value $x$ rearranges it into\n\n$$\n% caption: Partition splits the array into elements less than the pivot, the pivot at\n%          index $q$, then greater elements.\n\\begin{tikzpicture}[>=Stealth]\n  \\definecolor{acc}{HTML}{2348F2}\n  % the three regions\n  \\draw[fill=acc!8]   (0,0)   rectangle (3.4,0.8);\n  \\draw[fill=acc!25, draw=acc, very thick] (3.4,0) rectangle (4.4,0.8);\n  \\draw[fill=red!8]    (4.4,0) rectangle (8.0,0.8);\n  % region labels\n  \\node at (1.7,0.4) {$\u003C\\,x$};\n  \\node at (3.9,0.4) {$x$};\n  \\node at (6.2,0.4) {$>\\,x$};\n  % index brackets underneath\n  \\draw[\u003C->] (0,-0.25)   -- (3.4,-0.25) node[midway,below] {\\footnotesize $A[p..q-1]$};\n  \\draw[->]  (3.9,-0.25) -- (3.9,-0.55) node[below] {\\footnotesize $q$};\n  \\draw[\u003C->] (4.4,-0.25) -- (8.0,-0.25) node[midway,below] {\\footnotesize $A[q+1..r]$};\n  % endpoints\n  \\node[above] at (0,0.8)   {\\footnotesize $p$};\n  \\node[above] at (8.0,0.8) {\\footnotesize $r$};\n  \\node[above] at (3.9,0.85) {\\footnotesize pivot at $q$};\n\\end{tikzpicture}\n$$\n\nNo element to the left of $q$ exceeds the pivot, and none to the right is\nsmaller, so the pivot is _already in its final position_. The two recursive\nsorts never have to look across the boundary at $q$, which is exactly why the\ncombine step vanishes. The whole game of quicksort is to make this split, and to\nmake it _balanced_.\n\n## Lomuto partition\n\nThe simplest scheme, due to Lomuto, takes the last element $A[r]$ as the pivot\nand sweeps an index $j$ across the array, maintaining a boundary $i$ between the\nelements known to be $\\le$ the pivot and those known to be $>$ it.[^clrs-lomuto]\n\n```algorithm\ncaption: $\\textsc{Partition}(A, p, r)$ — Lomuto scheme, pivot $= A[r]$\nnumber: 2\n$x \\gets A[r]$ \u002F\u002F the pivot\n$i \\gets p - 1$ \u002F\u002F end of $\\le x$ region\nfor $j \\gets p$ to $r - 1$ do\n  if $A[j] \\le x$ then\n    $i \\gets i + 1$\n    exchange $A[i]$ with $A[j]$\nexchange $A[i + 1]$ with $A[r]$ \u002F\u002F pivot into its slot\nreturn $i + 1$\n```\n\n### Correctness of partition\n\nPartition is correct by a four-region loop invariant. At the start of each\niteration of the **for** loop, for any array index:\n\n- if $p \\le k \\le i$ then $A[k] \\le x$;\n- if $i + 1 \\le k \\le j - 1$ then $A[k] > x$;\n- $A[r] = x$.\n\nIn words: everything up to $i$ is small, everything from $i+1$ to $j-1$ is\nlarge, the slice from $j$ onward is unexamined, and the pivot waits at the end.\n\n- **Initialization.** Before the first iteration $i = p - 1$ and $j = p$, so\n  both regions (1) and (2) are empty. The invariant holds vacuously, and\n  $A[r] = x$.\n- **Maintenance.** If $A[j] > x$, only $j$ advances, extending the \"large\"\n  region (2), which stays valid. If $A[j] \\le x$, we increment $i$ and swap $A[i]$\n  with $A[j]$: the newly small element joins region (1), and the large element\n  that was at $A[i]$ moves to the back of region (2). Both regions stay correct.\n- **Termination.** The loop ends with $j = r$. Regions (1) and (2) together\n  cover $A[p..r-1]$. The final swap places the pivot at index $i+1$, with all\n  smaller elements to its left and all larger to its right: exactly the\n  postcondition, and $i+1$ is the pivot's final position $q$.\n\nPartition does $\\Theta(n)$ comparisons on $n = r - p + 1$ elements.\n\nA snapshot of the sweep makes the four regions concrete. On\n$A = \\langle 2,8,7,1,3,5,6,4\\rangle$ with pivot $x = A[r] = 4$, just after the\nscan reaches $j = 5$ the boundary $i$ has collected the small elements on the\nleft, the large ones trail behind, and the rest is still unexamined:\n\n$$\n% caption: Lomuto sweep on $A=\\langle 2,8,7,1,3,5,6,4\\rangle$ at $j=5$: the $\\le x$ region\n%          (boundary $i$) precedes the $> x$ region, with pivot $x=4$ parked at the end.\n\\begin{tikzpicture}[font=\\small, >={Stealth[round]},\n  cell\u002F.style={draw, minimum width=8mm, minimum height=8mm, font=\\small}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\foreach \\v\u002F\\x in {2\u002F0,1\u002F1,3\u002F2} \\node[cell, fill=acc!14] at (\\x,0) {$\\v$};\n  \\foreach \\v\u002F\\x in {8\u002F3,7\u002F4} \\node[cell, fill=black!8] at (\\x,0) {$\\v$};\n  \\foreach \\v\u002F\\x in {5\u002F5,6\u002F6} \\node[cell] at (\\x,0) {$\\v$};\n  \\node[cell, fill=acc!35] at (7,0) {$4$};\n  \\draw[acc] (-0.4,0.62) -- (2.4,0.62) node[midway, above=2pt, font=\\scriptsize] {$\\le x$};\n  \\draw[black!55] (2.6,0.62) -- (4.4,0.62) node[midway, above=2pt, font=\\scriptsize] {$> x$};\n  \\draw[black!40] (4.6,0.62) -- (6.4,0.62) node[midway, above=2pt, font=\\scriptsize] {unexamined};\n  \\node[font=\\scriptsize\\itshape, acc] at (2,-0.95) {$i$};\n  \\draw[->, acc] (2,-0.7) -- (2,-0.45);\n  \\node[font=\\scriptsize\\itshape] at (5,-0.95) {$j$};\n  \\draw[->] (5,-0.7) -- (5,-0.45);\n  \\node[font=\\scriptsize\\itshape] at (7,-0.95) {pivot};\n\\end{tikzpicture}\n$$\n\n## Hoare partition\n\nHoare's original scheme uses two indices that march toward each other from the\nends, swapping out-of-place pairs as they meet. It does fewer swaps on average\nthan Lomuto and handles arrays with many duplicate keys more gracefully, at the\ncost of a subtler invariant (the returned index splits the array but is _not_\nnecessarily the pivot's final resting place).\n\nThe two pointers $i$ and $j$ start outside the array and walk inward: $i$ stops\nat the first element $\\ge x$ that does not belong on the left, $j$ at the first\n$\\le x$ that does not belong on the right, and the pair is swapped. When the\npointers cross, $j$ marks the boundary.\n\n$$\n% caption: Hoare partition with pivot $x=A[p]$: $i$ scans right past small elements, $j$\n%          scans left past large ones, and the out-of-order pair $A[i],A[j]$ is swapped\n%          before both resume marching inward.\n\\begin{tikzpicture}[font=\\small, >={Stealth[round]},\n  cell\u002F.style={draw, minimum width=8mm, minimum height=8mm, font=\\small}]\n  \\definecolor{acc}{HTML}{2348F2}\n  % plain cells (skip the three highlighted positions 0,2,5)\n  \\foreach \\v\u002F\\x in {2\u002F1,1\u002F3,9\u002F4,7\u002F6} \\node[cell] at (\\x,0) {$\\v$};\n  % pivot = A[p] = 5\n  \\node[cell, fill=acc!18, draw=acc, very thick] at (0,0) {$5$};\n  \\node[font=\\scriptsize, acc] at (0,0.95) {pivot $x$};\n  % i lands on 8 (>= x), j lands on 3 (\u003C= x): the out-of-order pair\n  \\node[cell, fill=acc!12] at (2,0) {$8$};\n  \\node[cell, fill=acc!12] at (5,0) {$3$};\n  \\node[font=\\scriptsize\\itshape, acc] at (2,-0.95) {$i$};\n  \\draw[->, acc] (2,-0.7) -- (2,-0.45);\n  \\node[font=\\scriptsize\\itshape, acc] at (5,-0.95) {$j$};\n  \\draw[->, acc] (5,-0.7) -- (5,-0.45);\n  % swap arrow between the two flagged cells, routed below the digits\n  \\draw[\u003C->, red!75!black, thick] (2,-1.3) to[bend right=22] (5,-1.3);\n  \\node[font=\\scriptsize, red!75!black] at (3.5,-1.95) {swap $A[i]\\leftrightarrow A[j]$};\n  \\node[font=\\scriptsize, anchor=west] at (7.4,0.3) {$i$ seeks $\\ge x$};\n  \\node[font=\\scriptsize, anchor=west] at (7.4,-0.3) {$j$ seeks $\\le x$};\n\\end{tikzpicture}\n$$\n\n```algorithm\ncaption: $\\textsc{Hoare-Partition}(A, p, r)$ — pivot $= A[p]$\nnumber: 3\n$x \\gets A[p]$ \u002F\u002F the pivot\n$i \\gets p - 1$\n$j \\gets r + 1$\nrepeat\n  repeat $j \\gets j - 1$ until $A[j] \\le x$ \u002F\u002F scan down from right\n  repeat $i \\gets i + 1$ until $A[i] \\ge x$ \u002F\u002F scan up from left\n  if $i \u003C j$ then\n    exchange $A[i]$ with $A[j]$\n  else\n    return $j$ \u002F\u002F split point: $A[p..j] \\le A[j+1..r]$\n```\n\nWith Hoare partition the recursive calls become $\\textsc{Quicksort}(A, p, j)$ and\n$\\textsc{Quicksort}(A, j+1, r)$, since $j$ is a _boundary_ rather than the pivot's\nfinal index. Either scheme yields a correct, in-place quicksort; the difference\nlies purely in the constants and in robustness to duplicates.\n\n## Worst case versus best case\n\nPartition is always $\\Theta(n)$, so quicksort's total cost is governed entirely\nby how _balanced_ the splits are.\n\n**Worst case.** Suppose every partition is maximally lopsided, with one side empty\nand the other holding $n-1$ elements. This happens, for Lomuto with a\nlast-element pivot, on an array that is already sorted (or reverse sorted). The\n[recurrence](\u002Falgorithms\u002Ffoundations\u002Frecurrences) is\n\n$$\nT(n) = T(n - 1) + T(0) + \\Theta(n) = T(n-1) + \\Theta(n) = \\Theta(n^2).\n$$\n\nThe recursion tree degenerates into a path of depth $n$, with $\\Theta(n)$ work\nat the top shrinking by one at each level: $n + (n-1) + \\cdots + 1 = \\Theta(n^2)$.\nQuicksort's worst case is no better than insertion sort.\n\nThe reason a _sorted_ array is the villain for Lomuto is concrete: the\nlast-element pivot $A[r]$ is then the **largest** value, so the whole scan stays\n$\\le x$ and the partition peels off just the pivot, leaving an empty right side\nand an $(n-1)$-element left side to do it all again.\n\n$$\n% caption: On a sorted array Lomuto's pivot $A[r]$ is the maximum, so every element is\n%          $\\le x$: partition strips off one element and recurses on the other $n-1$, the\n%          maximally lopsided split.\n\\begin{tikzpicture}[font=\\small, >={Stealth[round]},\n  cell\u002F.style={draw, minimum width=7mm, minimum height=7mm, font=\\small}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\foreach \\v\u002F\\x in {1\u002F0,2\u002F1,3\u002F2,4\u002F3,5\u002F4} \\node[cell, fill=acc!12] at (\\x,0) {$\\v$};\n  \\node[cell, fill=acc!18, draw=acc, very thick] at (5,0) {$6$};\n  \\node[font=\\scriptsize, acc] at (5,0.92) {pivot $=\\max$};\n  \\draw[acc] (-0.4,-0.6) -- (4.4,-0.6) node[midway, below, font=\\scriptsize] {all $\\le x$ ($n-1$ elements)};\n  \\node[font=\\scriptsize] at (5,-0.85) {alone};\n  \\node[font=\\scriptsize, red!75!black, anchor=west] at (6.0,0) {right side empty};\n\\end{tikzpicture}\n$$\n\n**Best case.** If every partition splits evenly, the recurrence is the\nmergesort recurrence,\n\n$$\nT(n) = 2\\,T(n\u002F2) + \\Theta(n) = \\Theta(n\\log n).\n$$\n\n**The happy surprise.** Balance need not be perfect. Even a fixed $9$-to-$1$\nsplit gives\n\n$$\nT(n) = T(9n\u002F10) + T(n\u002F10) + \\Theta(n) = \\Theta(n\\log n),\n$$\n\nbecause the recursion tree still has only $\\Theta(\\log n)$ levels (the longest\nroot-to-leaf path shrinks by a factor of $10\u002F9$ each step) and each level does\n$O(n)$ work. _Any_ split by a constant fraction yields $\\Theta(n\\log n)$. Only\nsplits that are lopsided by a constant _number_ of elements, like the worst\ncase, push us to quadratic.\n\n$$\n% caption: Balanced splits keep the tree $\\Theta(\\log n)$ deep; a constant-size lopsided\n%          split stretches it into a depth-$n$ path costing $\\Theta(n^2)$.\n\\begin{tikzpicture}[font=\\scriptsize, >={Stealth[round]}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node[font=\\small] at (-2.6,2.3) {balanced: $\\Theta(n\\log n)$};\n  \\node[draw, fill=acc!10, minimum size=5mm] (a) at (-2.6,1.6) {$n$};\n  \\node[draw, minimum size=4mm] (b) at (-3.6,0.7) {$\\tfrac n2$};\n  \\node[draw, minimum size=4mm] (c) at (-1.6,0.7) {$\\tfrac n2$};\n  \\node[draw, minimum size=3.6mm] (d) at (-4.1,-0.2) {$\\tfrac n4$};\n  \\node[draw, minimum size=3.6mm] (e) at (-3.1,-0.2) {$\\tfrac n4$};\n  \\node[draw, minimum size=3.6mm] (f) at (-2.1,-0.2) {$\\tfrac n4$};\n  \\node[draw, minimum size=3.6mm] (g) at (-1.1,-0.2) {$\\tfrac n4$};\n  \\draw[->](a)--(b);\\draw[->](a)--(c);\\draw[->](b)--(d);\\draw[->](b)--(e);\\draw[->](c)--(f);\\draw[->](c)--(g);\n  \\node[font=\\small] at (2.7,2.3) {worst case: $\\Theta(n^2)$};\n  \\node[draw, fill=acc!10, minimum size=5mm] (p) at (2,1.6) {$n$};\n  \\node[draw, minimum size=4.4mm] (q) at (2.8,0.8) {$n{-}1$};\n  \\node[draw, minimum size=4mm] (s) at (3.6,0) {$n{-}2$};\n  \\node (t) at (4.3,-0.7) {$\\cdots$};\n  \\draw[->](p)--(q);\\draw[->](q)--(s);\\draw[->](s)--(t);\n\\end{tikzpicture}\n$$\n\n### The shrinking-recurrence lemma\n\nThis \"constant-fraction is enough\" intuition packages into a clean\nlemma that we will reuse for [linear-time selection](\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection). It says\nthat as long as the recursive subproblems together are a _constant fraction\nsmaller_ than the original, linear work at each level collapses to linear work\noverall.\n\n> **Lemma.** Let $\\lambda, \\mu, b > 0$ be constants with $\\lambda + \\mu \u003C 1$. If\n> $T(n) \\le T(\\lambda n) + T(\\mu n) + bn$ for all $n > n_0$ and $T(n) \\le c$ for\n> $n \\le n_0$, then $T(n) = O(n)$.\n\nThe proof is a tidy induction that pins the hidden constant exactly. Claim:\n$T(n) \\le a n$ for all $n \\ge 1$, where\n\n$$\na = \\max\\set{\\,c,\\ \\frac{b}{1 - \\lambda - \\mu}\\,}.\n$$\n\nThe constant $b\u002F(1-\\lambda-\\mu)$ is positive _precisely because_ $\\lambda + \\mu \u003C 1$;\nthat is where the shrinkage is spent.\n\n- **Base case** ($n \\le n_0$). $T(n) \\le c \\le a \\le a n$.\n- **Inductive step** ($n > n_0$). Assuming the bound for all smaller arguments,\n\n$$\n\\begin{aligned}\nT(n) &\\le T(\\lambda n) + T(\\mu n) + bn\n      \\le a\\lambda n + a\\mu n + bn \\\\\n     &= \\bigl(a(\\lambda + \\mu) + b\\bigr)\\,n\n      \\le \\bigl(a(\\lambda + \\mu) + a(1 - \\lambda - \\mu)\\bigr)\\,n = a n,\n\\end{aligned}\n$$\n\nwhere the last inequality uses $b \\le a(1 - \\lambda - \\mu)$, which is exactly how\n$a$ was chosen. So $T(n) = O(n)$. $\\blacksquare$\n\nFor balanced quicksort the per-level work _grows_ a logarithmic number of times\nrather than collapsing, since the splits sum to the _whole_ array ($\\lambda + \\mu = 1$,\nthe boundary case the lemma deliberately excludes), which is why quicksort is\n$\\Theta(n\\log n)$ and not $\\Theta(n)$. The lemma's strict inequality\n$\\lambda + \\mu \u003C 1$ is what separates \"recurse on both halves\" (sorting) from\n\"throw away a constant fraction and recurse on one piece\" (selection).\n\n## Why randomization helps\n\nThe danger is a pivot rule that an adversary, or merely unlucky real-world\ndata, can drive into the worst case. The fix is to **randomize**: choose the\npivot uniformly at random from $A[p..r]$ (equivalently, swap a random element\nto the end before running Lomuto partition).\n\n```algorithm\ncaption: $\\textsc{Randomized-Partition}(A, p, r)$\nnumber: 4\n$k \\gets$ a uniformly random integer in $[p, r]$\nexchange $A[k]$ with $A[r]$ \u002F\u002F randomize pivot, reuse Lomuto\nreturn call $\\textsc{Partition}(A, p, r)$\n```\n\nNow no particular input is bad: the _coin flips_, not the input order, decide\nthe split. The worst case still exists in principle (every random choice could\nbe unlucky), but its probability is vanishingly small, and we can prove the\n**expected** running time is $\\Theta(n\\log n)$ on _every_ input.[^clrs-random]\n\n### The expected-comparisons argument\n\nLet the sorted order of the elements be $z_1 \u003C z_2 \u003C \\cdots \u003C z_n$, and let\n$Z_{ij} = \\set{z_i, \\dots, z_j}$. Two elements are compared _at most once_ over\nthe whole run, since comparisons only ever happen against a pivot, and a pivot is\nremoved from future partitions. Define the indicator\n$X_{ij} = \\mathbf{1}[z_i \\text{ is compared with } z_j]$. The total comparison\ncount is $X = \\sum_{i\u003Cj} X_{ij}$, so by linearity of expectation\n\n$$\n\\mathbb{E}[X] = \\sum_{i=1}^{n-1}\\sum_{j=i+1}^{n} \\Pr[z_i \\text{ compared with } z_j].\n$$\n\nThe combinatorial fact that matters: $z_i$ and $z_j$ are compared **iff the first\npivot chosen from the range $Z_{ij}$ is either $z_i$ or $z_j$.** If instead some\nmiddle element $z_m$ (with $i \u003C m \u003C j$) is picked first, it splits $z_i$ and\n$z_j$ into different subarrays and they never meet.\n\n$$\n% caption: Endpoints $z_i,z_j$ are compared only when the first pivot drawn from $Z_{ij}$\n%          is one of them; any middle pivot $z_m$ separates them forever.\n\\begin{tikzpicture}[font=\\small, >={Stealth[round]},\n  cell\u002F.style={draw, minimum width=7mm, minimum height=7mm, font=\\small}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node[cell, fill=acc!22] (zi) at (0,0) {$z_i$};\n  \\node[cell] at (1,0) {};\n  \\node[cell] (zm) at (2,0) {$z_m$};\n  \\node[cell] at (3,0) {};\n  \\node[cell, fill=acc!22] (zj) at (4,0) {$z_j$};\n  \\draw[acc] (-0.45,-0.55) -- (4.45,-0.55) node[midway, below, font=\\scriptsize] {range $Z_{ij}$};\n  \\node[font=\\scriptsize, acc] at (0,0.7) {endpoint};\n  \\node[font=\\scriptsize, acc] at (4,0.7) {endpoint};\n  \\node[font=\\scriptsize] at (2,1.05) {a middle pivot here separates them};\n  \\draw[->] (2,0.8) -- (2,0.42);\n\\end{tikzpicture}\n$$\n\nSince the first pivot drawn\nfrom the $j - i + 1$ elements of $Z_{ij}$ is equally likely to be any of them,\n\n$$\n\\Pr[z_i \\text{ compared with } z_j] = \\frac{2}{\\,j - i + 1\\,}.\n$$\n\nSubstituting and reindexing with $k = j - i$,\n\n$$\n\\mathbb{E}[X] = \\sum_{i=1}^{n-1}\\sum_{j=i+1}^{n} \\frac{2}{j-i+1}\n\u003C \\sum_{i=1}^{n-1} \\sum_{k=1}^{n} \\frac{2}{k}\n= 2\\sum_{i=1}^{n-1} H_n = O(n\\log n),\n$$\n\nusing the harmonic-number bound $H_n = \\sum_{k=1}^n 1\u002Fk = \\Theta(\\log n)$. So\nrandomized quicksort makes $\\Theta(n\\log n)$ comparisons in expectation,\n_regardless of the input arrangement_.\n\n## Quicksort versus mergesort\n\n| | Quicksort | Mergesort |\n| --- | --- | --- |\n| Worst case | $\\Theta(n^2)$ | $\\Theta(n\\log n)$ |\n| Expected \u002F average | $\\Theta(n\\log n)$ | $\\Theta(n\\log n)$ |\n| Extra space | $\\Theta(\\log n)$ (stack) | $\\Theta(n)$ |\n| In place | yes | no |\n| Stable | no | yes |\n| Constants | small (cache-friendly) | larger |\n\nIn practice **quicksort is usually the fastest comparison sort** on arrays in\nmemory: it works in place, has tight inner loops, and accesses memory\nsequentially, which the cache loves.[^skiena-qs] Its weaknesses are the $\\Theta(n^2)$ worst\ncase (tamed by randomization or median-of-three pivoting) and instability.\nMergesort wins when you need a worst-case guarantee, stability, or are sorting\nlinked lists or data too large for memory. A common engineering compromise,\n_introsort_, runs quicksort but switches to [heapsort](\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort) once the recursion depth\nexceeds $\\Theta(\\log n)$, capturing quicksort's speed with a worst-case\n$\\Theta(n\\log n)$ ceiling.\n\n## Takeaways\n\n- $\\textsc{Quicksort}$ front-loads the work into $\\textsc{Partition}$; once the array is\n  partitioned around a pivot $x$ into $\u003C x \\mid x \\mid > x$, the pivot is in its final\n  slot and the recursive sorts need no combine step.\n- $\\textsc{Lomuto}$ (single sweep, pivot at the end) and $\\textsc{Hoare}$ (two converging\n  indices) are both correct via partition loop invariants; Hoare does fewer\n  swaps and handles duplicates better.\n- Cost is set by split balance: lopsided-by-a-constant gives $\\Theta(n^2)$, but\n  _any_ constant-fraction split gives $\\Theta(n\\log n)$. The shrinking-recurrence\n  lemma ($\\lambda + \\mu \u003C 1 \\Rightarrow T(n) = O(n)$) makes \"constant fraction is\n  enough\" rigorous and powers linear-time selection next door.\n- **Randomizing the pivot** makes the expected cost $\\Theta(n\\log n)$ on every\n  input; the proof counts each pair's $2\u002F(j-i+1)$ chance of being compared.\n- Quicksort is typically the fastest in-memory sort; mergesort wins on\n  worst-case guarantees, stability, and external data.\n\n[^erickson-qs]: **Erickson**, _Algorithms_, Ch. 1 — Recursion: quicksort as divide-and-conquer that front-loads the work into partitioning, leaving an empty combine step.\n[^clrs-lomuto]: **CLRS**, Ch. 7 — Quicksort: the Lomuto single-sweep partition scheme and its four-region loop invariant.\n[^clrs-random]: **CLRS**, Ch. 7 — Quicksort: randomized quicksort and the proof that its expected comparison count is $\\Theta(n\\log n)$ on every input.\n[^skiena-qs]: **Skiena**, _The Algorithm Design Manual_, §4 — Sorting and Searching: quicksort as the fastest in-memory comparison sort in practice, and the role of pivot selection.\n",{"text":11929,"minutes":11930,"time":11931,"words":11932},"9 min read",8.615,516900,1723,{"title":39,"description":11908},[11935,11937,11939],{"book":11813,"ref":11936},"Ch. 7 — Quicksort",{"book":11876,"ref":11938},"§4 — Sorting and Searching",{"book":11795,"ref":11940},"Ch. 1 — Recursion","available","01.algorithms\u002F02.divide-and-conquer\u002F02.quicksort",[36,42],"OC0Tng3Rmeo2XHZ9ML-y8IPUm4U6BZf3bWi1wkRW9Ec",{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":11946,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":11947,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":11948,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":11949,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":11932,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":11950,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":11951,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":11952,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":11953,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":11954,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":11955,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":11956,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":11957,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":11958,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":11959,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":11960,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":11961,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":11962,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":11963,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":11964,"\u002Falgorithms\u002Fsequences\u002Ftries":11965,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":11966,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":11967,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":11968,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":11969,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":11970,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":11971,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":11972,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":11973,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":11974,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":11975,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":11976,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":11977,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":11978,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":11979,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":11980,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":11981,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":11982,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":11983,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":11984,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":11985,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":11986,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":11987,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":11988,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":11989,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":11990,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":11991,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":11961,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":11992,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":11993,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":11994,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":11995,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":11977,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":11996,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":11997,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":11957,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":11998,"\u002Falgorithms":11999,"\u002Ftheory-of-computation":12000,"\u002Fcomputer-architecture":12000,"\u002Fphysical-computing":12000,"\u002Fdatabases":12000,"\u002Fdeep-learning":12000},1763,2107,1738,2628,2048,1697,1044,1542,1565,1679,1586,1388,1465,1971,1455,1533,1483,1578,1791,1481,2704,1658,2070,1978,2080,1568,1451,1291,1543,1883,1443,1599,2038,2241,1744,1678,2288,1929,1657,1412,1554,1418,1713,1798,1694,1762,1534,1595,1262,1495,1630,2306,2142,107,0,{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":12002,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":12003,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":12004,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":12005,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":12006,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":12007,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":12008,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":12009,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":12010,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":12011,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":12012,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":12013,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":12014,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":12015,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":12016,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":12017,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":12018,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":12019,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":12020,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":12021,"\u002Falgorithms\u002Fsequences\u002Ftries":12022,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":12023,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":12024,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":12025,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":12026,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":12027,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":12028,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":12029,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":12030,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":12031,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":12032,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":12033,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":12034,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":12035,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":12036,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":12037,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":12038,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":12039,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":12040,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":12041,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":12042,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":12043,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":12044,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":12045,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":12046,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":12047,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":12048,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":12049,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":12050,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":12051,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":12052,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":12053,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":12054,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":12055,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":12056,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":12057,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":12058,"\u002Falgorithms":12059,"\u002Ftheory-of-computation":12061,"\u002Fcomputer-architecture":12064,"\u002Fphysical-computing":12067,"\u002Fdatabases":12070,"\u002Fdeep-learning":12073},{"path":11,"title":10,"module":5,"summary":14},{"path":17,"title":16,"module":5,"summary":20},{"path":23,"title":22,"module":5,"summary":27},{"path":34,"title":33,"module":29,"summary":37},{"path":40,"title":39,"module":29,"summary":43},{"path":46,"title":45,"module":29,"summary":49},{"path":56,"title":55,"module":51,"summary":59},{"path":62,"title":61,"module":51,"summary":64},{"path":67,"title":66,"module":51,"summary":70},{"path":78,"title":77,"module":72,"summary":81},{"path":84,"title":83,"module":72,"summary":87},{"path":90,"title":89,"module":72,"summary":92},{"path":95,"title":94,"module":72,"summary":98},{"path":101,"title":100,"module":72,"summary":104},{"path":107,"title":106,"module":72,"summary":112},{"path":115,"title":114,"module":72,"summary":119},{"path":126,"title":125,"module":121,"summary":129},{"path":132,"title":131,"module":121,"summary":134},{"path":137,"title":136,"module":121,"summary":140},{"path":143,"title":142,"module":121,"summary":146},{"path":149,"title":148,"module":121,"summary":151},{"path":158,"title":157,"module":153,"summary":162},{"path":165,"title":164,"module":153,"summary":167},{"path":170,"title":169,"module":153,"summary":172},{"path":175,"title":174,"module":153,"summary":177},{"path":180,"title":179,"module":153,"summary":182},{"path":185,"title":184,"module":153,"summary":187},{"path":190,"title":189,"module":153,"summary":192},{"path":195,"title":194,"module":153,"summary":198},{"path":201,"title":200,"module":153,"summary":204},{"path":211,"title":210,"module":206,"summary":213},{"path":216,"title":215,"module":206,"summary":219},{"path":222,"title":221,"module":206,"summary":224},{"path":227,"title":226,"module":206,"summary":229},{"path":236,"title":235,"module":231,"summary":238},{"path":241,"title":240,"module":231,"summary":244},{"path":247,"title":246,"module":231,"summary":249},{"path":252,"title":251,"module":231,"summary":254},{"path":257,"title":256,"module":231,"summary":259},{"path":262,"title":261,"module":231,"summary":264},{"path":267,"title":266,"module":231,"summary":269},{"path":272,"title":271,"module":231,"summary":274},{"path":277,"title":276,"module":231,"summary":279},{"path":282,"title":281,"module":231,"summary":285},{"path":292,"title":291,"module":287,"summary":295},{"path":298,"title":297,"module":287,"summary":300},{"path":303,"title":302,"module":287,"summary":305},{"path":312,"title":311,"module":307,"summary":315},{"path":318,"title":317,"module":307,"summary":320},{"path":323,"title":322,"module":307,"summary":325},{"path":328,"title":327,"module":307,"summary":330},{"path":338,"title":337,"module":332,"summary":341},{"path":344,"title":343,"module":332,"summary":346},{"path":349,"title":348,"module":332,"summary":351},{"path":359,"title":358,"module":353,"summary":362},{"path":364,"title":361,"module":353,"summary":366},{"path":369,"title":368,"module":353,"summary":373},{"path":12060,"title":11799,"module":376,"summary":376},"\u002Falgorithms",{"path":12062,"title":12063,"module":376,"summary":376},"\u002Ftheory-of-computation","Theory of Computation",{"path":12065,"title":12066,"module":376,"summary":376},"\u002Fcomputer-architecture","Computer Architecture",{"path":12068,"title":12069,"module":376,"summary":376},"\u002Fphysical-computing","Physical Computing",{"path":12071,"title":12072,"module":376,"summary":376},"\u002Fdatabases","Databases",{"path":12074,"title":12075,"module":376,"summary":376},"\u002Fdeep-learning","Deep Learning",1781560520743]