[{"data":1,"prerenderedAt":6794},["ShallowReactive",2],{"nav:algorithms":3,"lesson:\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":374,"course-wordcounts":6662,"ref-card-index":6718},[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":266,"blurb":376,"body":377,"description":6625,"extension":6626,"meta":6627,"module":231,"navigation":6629,"path":267,"practice":6630,"rawbody":6644,"readingTime":6645,"seo":6650,"sources":6651,"status":6658,"stem":6659,"summary":269,"topics":6660,"__hash__":6661},"course\u002F01.algorithms\u002F08.dynamic-programming\u002F07.tree-dp.md","",{"type":378,"value":379,"toc":6617},"minimark",[380,466,505,638,755,760,884,923,1064,1153,1550,1800,2405,2465,2562,2566,2584,2783,3008,3011,3092,3131,3564,3922,3954,4156,4401,4663,5028,5258,5405,5457,5752,5884,5959,5963,6501,6613],[381,382,383,384,388,389,392,393,396,397,401,402,443,444,460,461,465],"p",{},"Dynamic programming works whenever a problem decomposes into\n",[385,386,387],"strong",{},"overlapping subproblems"," ordered so that each can be solved from smaller ones\nalready in hand. On a sequence the natural subproblems are prefixes; on an\ninterval they are subintervals. On a ",[385,390,391],{},"tree"," the natural subproblems are\n",[385,394,395],{},"rooted subtrees",", and the ordering that makes them solvable is the\n",[398,399,400],"em",{},"post-order"," traversal, which visits every node only after all of its children.\nRoot the tree anywhere, define an answer ",[403,404,407],"span",{"className":405},[406],"katex",[403,408,412],{"className":409,"ariaHidden":411},[410],"katex-html","true",[403,413,416,421,428,433,438],{"className":414},[415],"base",[403,417],{"className":418,"style":420},[419],"strut","height:1em;vertical-align:-0.25em;",[403,422,427],{"className":423,"style":426},[424,425],"mord","mathnormal","margin-right:0.1076em;","f",[403,429,432],{"className":430},[431],"mopen","(",[403,434,437],{"className":435,"style":436},[424,425],"margin-right:0.0359em;","v",[403,439,442],{"className":440},[441],"mclose",")"," for the subtree hanging below\neach node ",[403,445,447],{"className":446},[406],[403,448,450],{"className":449,"ariaHidden":411},[410],[403,451,453,457],{"className":452},[415],[403,454],{"className":455,"style":456},[419],"height:0.4306em;",[403,458,437],{"className":459,"style":436},[424,425],", and a single ",[462,463,464],"a",{"href":158},"depth-first sweep"," fills the entire table.",[381,467,468,469,472,473,488,489,504],{},"The defining feature of these problems is that the recurrence is ",[385,470,471],{},"local",": the\nanswer at ",[403,474,476],{"className":475},[406],[403,477,479],{"className":478,"ariaHidden":411},[410],[403,480,482,485],{"className":481},[415],[403,483],{"className":484,"style":456},[419],[403,486,437],{"className":487,"style":436},[424,425]," depends only on the answers at ",[403,490,492],{"className":491},[406],[403,493,495],{"className":494,"ariaHidden":411},[410],[403,496,498,501],{"className":497},[415],[403,499],{"className":500,"style":456},[419],[403,502,437],{"className":503,"style":436},[424,425],"'s children,",[403,506,509],{"className":507},[508],"katex-display",[403,510,512],{"className":511},[406],[403,513,515,546,601],{"className":514,"ariaHidden":411},[410],[403,516,518,521,524,527,530,533,538,543],{"className":517},[415],[403,519],{"className":520,"style":420},[419],[403,522,427],{"className":523,"style":426},[424,425],[403,525,432],{"className":526},[431],[403,528,437],{"className":529,"style":436},[424,425],[403,531,442],{"className":532},[441],[403,534],{"className":535,"style":537},[536],"mspace","margin-right:0.2778em;",[403,539,542],{"className":540},[541],"mrel","=",[403,544],{"className":545,"style":537},[536],[403,547,549,553,562,570,574,578,581,584,588,591,594,598],{"className":548},[415],[403,550],{"className":551,"style":552},[419],"height:1.2em;vertical-align:-0.35em;",[403,554,557],{"className":555},[424,556],"text",[403,558,561],{"className":559},[424,560],"textsf","combine",[403,563,565],{"className":564},[431],[403,566,432],{"className":567},[568,569],"delimsizing","size1",[403,571,573],{"className":572},[431],"{",[403,575],{"className":576,"style":577},[536],"margin-right:0.1667em;",[403,579,427],{"className":580,"style":426},[424,425],[403,582,432],{"className":583},[431],[403,585,587],{"className":586},[424,425],"c",[403,589,442],{"className":590},[441],[403,592],{"className":593,"style":537},[536],[403,595,597],{"className":596},[541],":",[403,599],{"className":600,"style":537},[536],[403,602,604,607,610,617,620,623,627,633],{"className":603},[415],[403,605],{"className":606,"style":552},[419],[403,608,587],{"className":609},[424,425],[403,611,613],{"className":612},[424,556],[403,614,616],{"className":615},[424]," a child of ",[403,618,437],{"className":619,"style":436},[424,425],[403,621],{"className":622,"style":577},[536],[403,624,626],{"className":625},[441],"}",[403,628,630],{"className":629},[441],[403,631,442],{"className":632},[568,569],[403,634,637],{"className":635},[636],"mpunct",",",[381,639,640,641,668,669,695,696,711,712,721,722,725,726,750,751,754],{},"never on grandchildren directly and never on the rest of the tree. Because the\nDFS touches each node and each edge exactly once and does ",[403,642,644],{"className":643},[406],[403,645,647],{"className":646,"ariaHidden":411},[410],[403,648,650,653,658,661,665],{"className":649},[415],[403,651],{"className":652,"style":420},[419],[403,654,657],{"className":655,"style":656},[424,425],"margin-right:0.0278em;","O",[403,659,432],{"className":660},[431],[403,662,664],{"className":663},[424],"1",[403,666,442],{"className":667},[441]," work per child,\nthe whole computation runs in ",[403,670,672],{"className":671},[406],[403,673,675],{"className":674,"ariaHidden":411},[410],[403,676,678,681,685,688,692],{"className":677},[415],[403,679],{"className":680,"style":420},[419],[403,682,684],{"className":683},[424],"Θ",[403,686,432],{"className":687},[431],[403,689,691],{"className":690},[424,425],"n",[403,693,442],{"className":694},[441]," time for a tree on ",[403,697,699],{"className":698},[406],[403,700,702],{"className":701,"ariaHidden":411},[410],[403,703,705,708],{"className":704},[415],[403,706],{"className":707,"style":456},[419],[403,709,691],{"className":710},[424,425]," nodes.",[713,714,715],"sup",{},[462,716,664],{"href":717,"ariaDescribedBy":718,"dataFootnoteRef":376,"id":720},"#user-content-fn-erickson-tree",[719],"footnote-label","user-content-fnref-erickson-tree","\nThe work is in choosing the ",[398,723,724],{},"state",": what ",[403,727,729],{"className":728},[406],[403,730,732],{"className":731,"ariaHidden":411},[410],[403,733,735,738,741,744,747],{"className":734},[415],[403,736],{"className":737,"style":420},[419],[403,739,427],{"className":740,"style":426},[424,425],[403,742,432],{"className":743},[431],[403,745,437],{"className":746,"style":436},[424,425],[403,748,442],{"className":749},[441]," must remember about the subtree\nso that a parent can combine children without re-descending into them. This is\nthe usual ",[462,752,753],{"href":236},"optimal-substructure","\nquestion, specialized to subtrees.",[756,757,759],"h2",{"id":758},"the-archetype-maximum-weight-independent-set","The archetype: maximum-weight independent set",[381,761,762,763,778,779,871,872,875,876],{},"Let each node ",[403,764,766],{"className":765},[406],[403,767,769],{"className":768,"ariaHidden":411},[410],[403,770,772,775],{"className":771},[415],[403,773],{"className":774,"style":456},[419],[403,776,437],{"className":777,"style":436},[424,425]," of a tree carry a weight ",[403,780,782],{"className":781},[406],[403,783,785,860],{"className":784,"ariaHidden":411},[410],[403,786,788,792,850,853,857],{"className":787},[415],[403,789],{"className":790,"style":791},[419],"height:0.786em;vertical-align:-0.15em;",[403,793,795,800],{"className":794},[424],[403,796,799],{"className":797,"style":798},[424,425],"margin-right:0.0269em;","w",[403,801,804],{"className":802},[803],"msupsub",[403,805,809,841],{"className":806},[807,808],"vlist-t","vlist-t2",[403,810,813,836],{"className":811},[812],"vlist-r",[403,814,818],{"className":815,"style":817},[816],"vlist","height:0.1514em;",[403,819,821,826],{"style":820},"top:-2.55em;margin-left:-0.0269em;margin-right:0.05em;",[403,822],{"className":823,"style":825},[824],"pstrut","height:2.7em;",[403,827,833],{"className":828},[829,830,831,832],"sizing","reset-size6","size3","mtight",[403,834,437],{"className":835,"style":436},[424,425,832],[403,837,840],{"className":838},[839],"vlist-s","​",[403,842,844],{"className":843},[812],[403,845,848],{"className":846,"style":847},[816],"height:0.15em;",[403,849],{},[403,851],{"className":852,"style":537},[536],[403,854,856],{"className":855},[541],"≥",[403,858],{"className":859,"style":537},[536],[403,861,863,867],{"className":862},[415],[403,864],{"className":865,"style":866},[419],"height:0.6444em;",[403,868,870],{"className":869},[424],"0",". An ",[385,873,874],{},"independent set"," is\na set of nodes no two of which are adjacent; we want one of maximum total weight.\nOn a general graph this is NP-hard, but on a tree dynamic programming solves\nit in linear time, the canonical illustration of the whole technique.",[713,877,878],{},[462,879,883],{"href":880,"ariaDescribedBy":881,"dataFootnoteRef":376,"id":882},"#user-content-fn-skiena-tree",[719],"user-content-fnref-skiena-tree","2",[381,885,886,887,906,907,922],{},"The idea is to make the state record ",[398,888,889,890,905],{},"whether ",[403,891,893],{"className":892},[406],[403,894,896],{"className":895,"ariaHidden":411},[410],[403,897,899,902],{"className":898},[415],[403,900],{"className":901,"style":456},[419],[403,903,437],{"className":904,"style":436},[424,425]," itself is used",", because that\nis exactly the one fact a parent needs in order to decide about itself. Define,\nfor the subtree rooted at ",[403,908,910],{"className":909},[406],[403,911,913],{"className":912,"ariaHidden":411},[410],[403,914,916,919],{"className":915},[415],[403,917],{"className":918,"style":456},[419],[403,920,437],{"className":921,"style":436},[424,425],", two values:",[924,925,926,1005],"ul",{},[927,928,929,968,969,984,985,1000,1001,1004],"li",{},[403,930,932],{"className":931},[406],[403,933,935],{"className":934,"ariaHidden":411},[410],[403,936,938,941,945,948,952,955,959,962,965],{"className":937},[415],[403,939],{"className":940,"style":420},[419],[403,942,944],{"className":943},[424,425],"d",[403,946,381],{"className":947},[424,425],[403,949,951],{"className":950},[431],"[",[403,953,437],{"className":954,"style":436},[424,425],[403,956,958],{"className":957},[441],"]",[403,960,951],{"className":961},[431],[403,963,870],{"className":964},[424],[403,966,958],{"className":967},[441],", the best independent set of ",[403,970,972],{"className":971},[406],[403,973,975],{"className":974,"ariaHidden":411},[410],[403,976,978,981],{"className":977},[415],[403,979],{"className":980,"style":456},[419],[403,982,437],{"className":983,"style":436},[424,425],"'s subtree in which ",[403,986,988],{"className":987},[406],[403,989,991],{"className":990,"ariaHidden":411},[410],[403,992,994,997],{"className":993},[415],[403,995],{"className":996,"style":456},[419],[403,998,437],{"className":999,"style":436},[424,425]," is ",[385,1002,1003],{},"not","\ntaken;",[927,1006,1007,1043,1044,1059,1060,1063],{},[403,1008,1010],{"className":1009},[406],[403,1011,1013],{"className":1012,"ariaHidden":411},[410],[403,1014,1016,1019,1022,1025,1028,1031,1034,1037,1040],{"className":1015},[415],[403,1017],{"className":1018,"style":420},[419],[403,1020,944],{"className":1021},[424,425],[403,1023,381],{"className":1024},[424,425],[403,1026,951],{"className":1027},[431],[403,1029,437],{"className":1030,"style":436},[424,425],[403,1032,958],{"className":1033},[441],[403,1035,951],{"className":1036},[431],[403,1038,664],{"className":1039},[424],[403,1041,958],{"className":1042},[441],", the best one in which ",[403,1045,1047],{"className":1046},[406],[403,1048,1050],{"className":1049,"ariaHidden":411},[410],[403,1051,1053,1056],{"className":1052},[415],[403,1054],{"className":1055,"style":456},[419],[403,1057,437],{"className":1058,"style":436},[424,425]," ",[385,1061,1062],{},"is"," taken.",[381,1065,1066,1067,1082,1083,1098,1099,1059,1114,1116,1117,597],{},"If ",[403,1068,1070],{"className":1069},[406],[403,1071,1073],{"className":1072,"ariaHidden":411},[410],[403,1074,1076,1079],{"className":1075},[415],[403,1077],{"className":1078,"style":456},[419],[403,1080,437],{"className":1081,"style":436},[424,425]," is not taken, each child ",[403,1084,1086],{"className":1085},[406],[403,1087,1089],{"className":1088,"ariaHidden":411},[410],[403,1090,1092,1095],{"className":1091},[415],[403,1093],{"className":1094,"style":456},[419],[403,1096,587],{"className":1097},[424,425]," is free to be taken or not, so we keep the\nbetter of its two options. If ",[403,1100,1102],{"className":1101},[406],[403,1103,1105],{"className":1104,"ariaHidden":411},[410],[403,1106,1108,1111],{"className":1107},[415],[403,1109],{"className":1110,"style":456},[419],[403,1112,437],{"className":1113,"style":436},[424,425],[398,1115,1062],{}," taken, no child may be taken, so each\nchild must contribute its ",[403,1118,1120],{"className":1119},[406],[403,1121,1123],{"className":1122,"ariaHidden":411},[410],[403,1124,1126,1129,1132,1135,1138,1141,1144,1147,1150],{"className":1125},[415],[403,1127],{"className":1128,"style":420},[419],[403,1130,944],{"className":1131},[424,425],[403,1133,381],{"className":1134},[424,425],[403,1136,951],{"className":1137},[431],[403,1139,587],{"className":1140},[424,425],[403,1142,958],{"className":1143},[441],[403,1145,951],{"className":1146},[431],[403,1148,870],{"className":1149},[424],[403,1151,958],{"className":1152},[441],[403,1154,1156],{"className":1155},[508],[403,1157,1159],{"className":1158},[406],[403,1160,1162,1201,1398,1457],{"className":1161,"ariaHidden":411},[410],[403,1163,1165,1168,1171,1174,1177,1180,1183,1186,1189,1192,1195,1198],{"className":1164},[415],[403,1166],{"className":1167,"style":420},[419],[403,1169,944],{"className":1170},[424,425],[403,1172,381],{"className":1173},[424,425],[403,1175,951],{"className":1176},[431],[403,1178,437],{"className":1179,"style":436},[424,425],[403,1181,958],{"className":1182},[441],[403,1184,951],{"className":1185},[431],[403,1187,870],{"className":1188},[424],[403,1190,958],{"className":1191},[441],[403,1193],{"className":1194,"style":537},[536],[403,1196,542],{"className":1197},[541],[403,1199],{"className":1200,"style":537},[536],[403,1202,1204,1208,1275,1278,1286,1292,1295,1298,1301,1304,1307,1310,1313,1316,1319,1322,1325,1328,1331,1334,1337,1340,1343,1346,1349,1355,1358,1362,1365,1368,1371,1374,1377,1380,1383,1386,1389,1392,1395],{"className":1203},[415],[403,1205],{"className":1206,"style":1207},[419],"height:2.3521em;vertical-align:-1.3021em;",[403,1209,1213],{"className":1210},[1211,1212],"mop","op-limits",[403,1214,1216,1266],{"className":1215},[807,808],[403,1217,1219,1263],{"className":1218},[812],[403,1220,1223,1249],{"className":1221,"style":1222},[816],"height:1.05em;",[403,1224,1226,1230],{"style":1225},"top:-1.8479em;margin-left:0em;",[403,1227],{"className":1228,"style":1229},[824],"height:3.05em;",[403,1231,1233],{"className":1232},[829,830,831,832],[403,1234,1236,1239,1246],{"className":1235},[424,832],[403,1237,587],{"className":1238},[424,425,832],[403,1240,1242],{"className":1241},[424,556,832],[403,1243,1245],{"className":1244},[424,832]," child of ",[403,1247,437],{"className":1248,"style":436},[424,425,832],[403,1250,1252,1255],{"style":1251},"top:-3.05em;",[403,1253],{"className":1254,"style":1229},[824],[403,1256,1257],{},[403,1258,1262],{"className":1259},[1211,1260,1261],"op-symbol","large-op","∑",[403,1264,840],{"className":1265},[839],[403,1267,1269],{"className":1268},[812],[403,1270,1273],{"className":1271,"style":1272},[816],"height:1.3021em;",[403,1274],{},[403,1276],{"className":1277,"style":577},[536],[403,1279,1281],{"className":1280},[1211],[403,1282,1285],{"className":1283},[424,1284],"mathrm","max",[403,1287,1289],{"className":1288},[431],[403,1290,432],{"className":1291},[568,569],[403,1293,944],{"className":1294},[424,425],[403,1296,381],{"className":1297},[424,425],[403,1299,951],{"className":1300},[431],[403,1302,587],{"className":1303},[424,425],[403,1305,958],{"className":1306},[441],[403,1308,951],{"className":1309},[431],[403,1311,870],{"className":1312},[424],[403,1314,958],{"className":1315},[441],[403,1317,637],{"className":1318},[636],[403,1320],{"className":1321,"style":577},[536],[403,1323],{"className":1324,"style":577},[536],[403,1326,944],{"className":1327},[424,425],[403,1329,381],{"className":1330},[424,425],[403,1332,951],{"className":1333},[431],[403,1335,587],{"className":1336},[424,425],[403,1338,958],{"className":1339},[441],[403,1341,951],{"className":1342},[431],[403,1344,664],{"className":1345},[424],[403,1347,958],{"className":1348},[441],[403,1350,1352],{"className":1351},[441],[403,1353,442],{"className":1354},[568,569],[403,1356,637],{"className":1357},[636],[403,1359],{"className":1360,"style":1361},[536],"margin-right:2em;",[403,1363],{"className":1364,"style":577},[536],[403,1366,944],{"className":1367},[424,425],[403,1369,381],{"className":1370},[424,425],[403,1372,951],{"className":1373},[431],[403,1375,437],{"className":1376,"style":436},[424,425],[403,1378,958],{"className":1379},[441],[403,1381,951],{"className":1382},[431],[403,1384,664],{"className":1385},[424],[403,1387,958],{"className":1388},[441],[403,1390],{"className":1391,"style":537},[536],[403,1393,542],{"className":1394},[541],[403,1396],{"className":1397,"style":537},[536],[403,1399,1401,1405,1445,1449,1454],{"className":1400},[415],[403,1402],{"className":1403,"style":1404},[419],"height:0.7333em;vertical-align:-0.15em;",[403,1406,1408,1411],{"className":1407},[424],[403,1409,799],{"className":1410,"style":798},[424,425],[403,1412,1414],{"className":1413},[803],[403,1415,1417,1437],{"className":1416},[807,808],[403,1418,1420,1434],{"className":1419},[812],[403,1421,1423],{"className":1422,"style":817},[816],[403,1424,1425,1428],{"style":820},[403,1426],{"className":1427,"style":825},[824],[403,1429,1431],{"className":1430},[829,830,831,832],[403,1432,437],{"className":1433,"style":436},[424,425,832],[403,1435,840],{"className":1436},[839],[403,1438,1440],{"className":1439},[812],[403,1441,1443],{"className":1442,"style":847},[816],[403,1444],{},[403,1446],{"className":1447,"style":1448},[536],"margin-right:0.2222em;",[403,1450,1453],{"className":1451},[1452],"mbin","+",[403,1455],{"className":1456,"style":1448},[536],[403,1458,1460,1463,1519,1522,1525,1528,1531,1534,1537,1540,1543,1546],{"className":1459},[415],[403,1461],{"className":1462,"style":1207},[419],[403,1464,1466],{"className":1465},[1211,1212],[403,1467,1469,1511],{"className":1468},[807,808],[403,1470,1472,1508],{"className":1471},[812],[403,1473,1475,1498],{"className":1474,"style":1222},[816],[403,1476,1477,1480],{"style":1225},[403,1478],{"className":1479,"style":1229},[824],[403,1481,1483],{"className":1482},[829,830,831,832],[403,1484,1486,1489,1495],{"className":1485},[424,832],[403,1487,587],{"className":1488},[424,425,832],[403,1490,1492],{"className":1491},[424,556,832],[403,1493,1245],{"className":1494},[424,832],[403,1496,437],{"className":1497,"style":436},[424,425,832],[403,1499,1500,1503],{"style":1251},[403,1501],{"className":1502,"style":1229},[824],[403,1504,1505],{},[403,1506,1262],{"className":1507},[1211,1260,1261],[403,1509,840],{"className":1510},[839],[403,1512,1514],{"className":1513},[812],[403,1515,1517],{"className":1516,"style":1272},[816],[403,1518],{},[403,1520],{"className":1521,"style":577},[536],[403,1523,944],{"className":1524},[424,425],[403,1526,381],{"className":1527},[424,425],[403,1529,951],{"className":1530},[431],[403,1532,587],{"className":1533},[424,425],[403,1535,958],{"className":1536},[441],[403,1538,951],{"className":1539},[431],[403,1541,870],{"className":1542},[424],[403,1544,958],{"className":1545},[441],[403,1547,1549],{"className":1548},[424],".",[381,1551,1552,1553,1607,1608,1700,1701,1795,1796,1799],{},"The base case falls out for free: a leaf has no children, so ",[403,1554,1556],{"className":1555},[406],[403,1557,1559,1598],{"className":1558,"ariaHidden":411},[410],[403,1560,1562,1565,1568,1571,1574,1577,1580,1583,1586,1589,1592,1595],{"className":1561},[415],[403,1563],{"className":1564,"style":420},[419],[403,1566,944],{"className":1567},[424,425],[403,1569,381],{"className":1570},[424,425],[403,1572,951],{"className":1573},[431],[403,1575,437],{"className":1576,"style":436},[424,425],[403,1578,958],{"className":1579},[441],[403,1581,951],{"className":1582},[431],[403,1584,870],{"className":1585},[424],[403,1587,958],{"className":1588},[441],[403,1590],{"className":1591,"style":537},[536],[403,1593,542],{"className":1594},[541],[403,1596],{"className":1597,"style":537},[536],[403,1599,1601,1604],{"className":1600},[415],[403,1602],{"className":1603,"style":866},[419],[403,1605,870],{"className":1606},[424]," and\n",[403,1609,1611],{"className":1610},[406],[403,1612,1614,1653],{"className":1613,"ariaHidden":411},[410],[403,1615,1617,1620,1623,1626,1629,1632,1635,1638,1641,1644,1647,1650],{"className":1616},[415],[403,1618],{"className":1619,"style":420},[419],[403,1621,944],{"className":1622},[424,425],[403,1624,381],{"className":1625},[424,425],[403,1627,951],{"className":1628},[431],[403,1630,437],{"className":1631,"style":436},[424,425],[403,1633,958],{"className":1634},[441],[403,1636,951],{"className":1637},[431],[403,1639,664],{"className":1640},[424],[403,1642,958],{"className":1643},[441],[403,1645],{"className":1646,"style":537},[536],[403,1648,542],{"className":1649},[541],[403,1651],{"className":1652,"style":537},[536],[403,1654,1656,1660],{"className":1655},[415],[403,1657],{"className":1658,"style":1659},[419],"height:0.5806em;vertical-align:-0.15em;",[403,1661,1663,1666],{"className":1662},[424],[403,1664,799],{"className":1665,"style":798},[424,425],[403,1667,1669],{"className":1668},[803],[403,1670,1672,1692],{"className":1671},[807,808],[403,1673,1675,1689],{"className":1674},[812],[403,1676,1678],{"className":1677,"style":817},[816],[403,1679,1680,1683],{"style":820},[403,1681],{"className":1682,"style":825},[824],[403,1684,1686],{"className":1685},[829,830,831,832],[403,1687,437],{"className":1688,"style":436},[424,425,832],[403,1690,840],{"className":1691},[839],[403,1693,1695],{"className":1694},[812],[403,1696,1698],{"className":1697,"style":847},[816],[403,1699],{},". The answer for the whole tree is\n",[403,1702,1704],{"className":1703},[406],[403,1705,1707],{"className":1706,"ariaHidden":411},[410],[403,1708,1710,1713,1719,1725,1728,1731,1734,1741,1744,1747,1750,1753,1756,1759,1762,1765,1768,1771,1777,1780,1783,1786,1789],{"className":1709},[415],[403,1711],{"className":1712,"style":552},[419],[403,1714,1716],{"className":1715},[1211],[403,1717,1285],{"className":1718},[424,1284],[403,1720,1722],{"className":1721},[431],[403,1723,432],{"className":1724},[568,569],[403,1726,944],{"className":1727},[424,425],[403,1729,381],{"className":1730},[424,425],[403,1732,951],{"className":1733},[431],[403,1735,1737],{"className":1736},[424,556],[403,1738,1740],{"className":1739},[424],"root",[403,1742,958],{"className":1743},[441],[403,1745,951],{"className":1746},[431],[403,1748,870],{"className":1749},[424],[403,1751,958],{"className":1752},[441],[403,1754,637],{"className":1755},[636],[403,1757],{"className":1758,"style":577},[536],[403,1760],{"className":1761,"style":577},[536],[403,1763,944],{"className":1764},[424,425],[403,1766,381],{"className":1767},[424,425],[403,1769,951],{"className":1770},[431],[403,1772,1774],{"className":1773},[424,556],[403,1775,1740],{"className":1776},[424],[403,1778,958],{"className":1779},[441],[403,1781,951],{"className":1782},[431],[403,1784,664],{"className":1785},[424],[403,1787,958],{"className":1788},[441],[403,1790,1792],{"className":1791},[441],[403,1793,442],{"className":1794},[568,569],". This is\n",[385,1797,1798],{},"House Robber III",", where weights are the money in each house and the\nadjacency constraint forbids robbing a parent and its child on the same night.",[1801,1802,1806,2302],"figure",{"className":1803},[1804,1805],"tikz-figure","tikz-diagram-rendered",[1807,1808,1813],"svg",{"xmlns":1809,"width":1810,"height":1811,"viewBox":1812},"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg","456.958","311.496","-75 -75 342.718 233.622",[1814,1815,1818,1852,1855,1875,1878,1902,1905,1929,1932,1952,1955,1978,1981,2023,2032,2185],"g",{"stroke":1816,"style":1817},"currentColor","stroke-miterlimit:10;stroke-width:.4",[1814,1819,1823,1827],{"fill":1820,"stroke":1821,"style":1822},"var(--tk-soft-accent)","var(--tk-accent)","stroke-width:1.2",[1824,1825],"path",{"d":1826},"M76.66-16.787c0-9.429-7.643-17.072-17.071-17.072s-17.072 7.643-17.072 17.072S50.16.284 59.589.284 76.66-7.359 76.66-16.787Zm-17.071 0",[1814,1828,1831,1840,1846],{"fill":1816,"stroke":1829,"fontSize":1830},"none","9",[1814,1832,1834],{"transform":1833},"translate(-9.25 2.25)",[1824,1835],{"d":1836,"fill":1816,"stroke":1816,"className":1837,"style":1839},"M59.976-18.154Q59.976-18.712 60.336-19.125Q60.696-19.538 61.272-19.810L60.903-20.043Q60.600-20.245 60.413-20.575Q60.226-20.905 60.226-21.261Q60.226-21.915 60.732-22.348Q61.237-22.781 61.901-22.781Q62.300-22.781 62.685-22.621Q63.069-22.460 63.318-22.155Q63.566-21.849 63.566-21.432Q63.566-20.601 62.498-20.043L63.052-19.696Q63.399-19.468 63.610-19.099Q63.821-18.729 63.821-18.316Q63.821-17.938 63.663-17.620Q63.505-17.301 63.228-17.068Q62.951-16.835 62.608-16.712Q62.265-16.589 61.901-16.589Q61.435-16.589 60.989-16.776Q60.543-16.963 60.259-17.317Q59.976-17.670 59.976-18.154M60.499-18.154Q60.499-17.609 60.918-17.242Q61.338-16.875 61.901-16.875Q62.230-16.875 62.555-17.007Q62.881-17.139 63.089-17.393Q63.298-17.648 63.298-17.991Q63.298-18.255 63.162-18.479Q63.026-18.703 62.793-18.857L61.549-19.639Q61.088-19.402 60.793-19.015Q60.499-18.628 60.499-18.154M61.110-20.909L62.226-20.206Q62.450-20.329 62.654-20.518Q62.859-20.707 62.979-20.940Q63.100-21.173 63.100-21.432Q63.100-21.740 62.929-21.990Q62.757-22.241 62.481-22.381Q62.204-22.522 61.892-22.522Q61.443-22.522 61.070-22.276Q60.696-22.030 60.696-21.603Q60.696-21.199 61.110-20.909",[1838],"tikz-text","stroke-width:0.270",[1814,1841,1842],{"transform":1833},[1824,1843],{"d":1844,"fill":1816,"stroke":1816,"className":1845,"style":1839},"M64.728-14.726Q64.728-14.770 64.737-14.787L67.949-23.418Q67.993-23.537 68.130-23.537Q68.204-23.537 68.261-23.480Q68.318-23.423 68.318-23.348Q68.318-23.304 68.310-23.287L65.106-14.656Q65.049-14.537 64.926-14.537Q64.842-14.537 64.785-14.594Q64.728-14.651 64.728-14.726",[1838],[1814,1847,1848],{"transform":1833},[1824,1849],{"d":1850,"fill":1816,"stroke":1816,"className":1851,"style":1839},"M72.745-16.787L69.713-16.787L69.713-17.103Q70.864-17.103 70.864-17.398L70.864-22.122Q70.376-21.889 69.655-21.889L69.655-22.205Q70.785-22.205 71.347-22.781L71.492-22.781Q71.527-22.781 71.560-22.748Q71.593-22.715 71.593-22.680L71.593-17.398Q71.593-17.103 72.745-17.103L72.745-16.787M75.768-16.589Q74.643-16.589 74.230-17.486Q73.817-18.382 73.817-19.657Q73.817-20.430 73.966-21.129Q74.116-21.828 74.551-22.304Q74.986-22.781 75.768-22.781Q76.546-22.781 76.981-22.302Q77.416-21.823 77.566-21.127Q77.715-20.430 77.715-19.657Q77.715-18.378 77.302-17.484Q76.889-16.589 75.768-16.589M75.768-16.849Q76.287-16.849 76.537-17.360Q76.788-17.872 76.845-18.483Q76.902-19.094 76.902-19.802Q76.902-20.487 76.845-21.047Q76.788-21.608 76.535-22.065Q76.282-22.522 75.768-22.522Q75.364-22.522 75.127-22.245Q74.889-21.968 74.782-21.527Q74.674-21.085 74.650-20.692Q74.626-20.298 74.626-19.802Q74.626-19.296 74.650-18.868Q74.674-18.439 74.782-17.956Q74.889-17.473 75.129-17.161Q75.368-16.849 75.768-16.849",[1838],[1824,1853],{"fill":1829,"d":1854},"M28.29 51.5c0-9.43-7.643-17.072-17.071-17.072S-5.853 42.07-5.853 51.499 1.79 68.571 11.22 68.571 28.29 60.928 28.29 51.499Zm-17.071 0",[1814,1856,1857,1864,1869],{"stroke":1829,"fontSize":1830},[1814,1858,1860],{"transform":1859},"translate(-55.307 70.537)",[1824,1861],{"d":1862,"fill":1816,"stroke":1816,"className":1863,"style":1839},"M62.287-18.264L59.848-18.264L59.848-18.580L62.674-22.728Q62.718-22.781 62.784-22.781L62.938-22.781Q62.977-22.781 63.010-22.748Q63.043-22.715 63.043-22.671L63.043-18.580L63.944-18.580L63.944-18.264L63.043-18.264L63.043-17.398Q63.043-17.103 63.944-17.103L63.944-16.787L61.391-16.787L61.391-17.103Q61.751-17.103 62.019-17.158Q62.287-17.213 62.287-17.398L62.287-18.264M62.344-21.753L60.182-18.580L62.344-18.580",[1838],[1814,1865,1866],{"transform":1859},[1824,1867],{"d":1844,"fill":1816,"stroke":1816,"className":1868,"style":1839},[1838],[1814,1870,1871],{"transform":1859},[1824,1872],{"d":1873,"fill":1816,"stroke":1816,"className":1874,"style":1839},"M69.739-17.508L69.695-17.508Q69.897-17.191 70.284-17.033Q70.671-16.875 71.097-16.875Q71.633-16.875 71.872-17.310Q72.112-17.745 72.112-18.325Q72.112-18.905 71.866-19.345Q71.620-19.784 71.088-19.784L70.468-19.784Q70.442-19.784 70.409-19.813Q70.376-19.841 70.376-19.863L70.376-19.964Q70.376-19.995 70.405-20.019Q70.433-20.043 70.468-20.043L70.987-20.083Q71.453-20.083 71.699-20.555Q71.945-21.028 71.945-21.546Q71.945-21.973 71.732-22.247Q71.519-22.522 71.097-22.522Q70.754-22.522 70.429-22.392Q70.104-22.263 69.919-22.008L69.945-22.008Q70.148-22.008 70.284-21.867Q70.420-21.726 70.420-21.529Q70.420-21.331 70.286-21.197Q70.152-21.063 69.954-21.063Q69.752-21.063 69.614-21.197Q69.475-21.331 69.475-21.529Q69.475-22.118 69.978-22.449Q70.482-22.781 71.097-22.781Q71.475-22.781 71.877-22.641Q72.279-22.500 72.547-22.221Q72.815-21.942 72.815-21.546Q72.815-20.997 72.461-20.560Q72.108-20.122 71.567-19.938Q71.958-19.859 72.303-19.635Q72.648-19.411 72.859-19.070Q73.070-18.729 73.070-18.334Q73.070-17.952 72.907-17.629Q72.745-17.306 72.453-17.070Q72.160-16.835 71.813-16.712Q71.466-16.589 71.097-16.589Q70.649-16.589 70.218-16.750Q69.787-16.910 69.506-17.237Q69.225-17.565 69.225-18.022Q69.225-18.237 69.372-18.380Q69.519-18.523 69.739-18.523Q69.950-18.523 70.095-18.378Q70.240-18.233 70.240-18.022Q70.240-17.811 70.093-17.659Q69.945-17.508 69.739-17.508",[1838],[1824,1876],{"fill":1829,"d":1877},"M49.375-2.368 21.202 37.406",[1814,1879,1880,1883],{"fill":1820,"stroke":1821,"style":1822},[1824,1881],{"d":1882},"M-20.08 119.786c0-9.429-7.642-17.072-17.07-17.072-9.43 0-17.072 7.643-17.072 17.072s7.643 17.072 17.071 17.072 17.072-7.644 17.072-17.072Zm-17.07 0",[1814,1884,1885,1892,1897],{"fill":1816,"stroke":1829,"fontSize":1830},[1814,1886,1888],{"transform":1887},"translate(-103.677 138.823)",[1824,1889],{"d":1890,"fill":1816,"stroke":1816,"className":1891,"style":1839},"M61.901-16.589Q60.776-16.589 60.362-17.486Q59.949-18.382 59.949-19.657Q59.949-20.430 60.099-21.129Q60.248-21.828 60.683-22.304Q61.118-22.781 61.901-22.781Q62.678-22.781 63.113-22.302Q63.548-21.823 63.698-21.127Q63.847-20.430 63.847-19.657Q63.847-18.378 63.434-17.484Q63.021-16.589 61.901-16.589M61.901-16.849Q62.419-16.849 62.670-17.360Q62.920-17.872 62.977-18.483Q63.034-19.094 63.034-19.802Q63.034-20.487 62.977-21.047Q62.920-21.608 62.667-22.065Q62.415-22.522 61.901-22.522Q61.496-22.522 61.259-22.245Q61.022-21.968 60.914-21.527Q60.806-21.085 60.782-20.692Q60.758-20.298 60.758-19.802Q60.758-19.296 60.782-18.868Q60.806-18.439 60.914-17.956Q61.022-17.473 61.261-17.161Q61.501-16.849 61.901-16.849",[1838],[1814,1893,1894],{"transform":1887},[1824,1895],{"d":1844,"fill":1816,"stroke":1816,"className":1896,"style":1839},[1838],[1814,1898,1899],{"transform":1887},[1824,1900],{"d":1873,"fill":1816,"stroke":1816,"className":1901,"style":1839},[1838],[1824,1903],{"fill":1829,"d":1904},"m1.236 65.593-28.173 39.773",[1814,1906,1907,1910],{"fill":1820,"stroke":1821,"style":1822},[1824,1908],{"d":1909},"M76.66 119.786c0-9.429-7.643-17.072-17.071-17.072s-17.072 7.643-17.072 17.072 7.643 17.072 17.072 17.072 17.071-7.644 17.071-17.072Zm-17.071 0",[1814,1911,1912,1918,1923],{"fill":1816,"stroke":1829,"fontSize":1830},[1814,1913,1915],{"transform":1914},"translate(-6.937 138.823)",[1824,1916],{"d":1890,"fill":1816,"stroke":1816,"className":1917,"style":1839},[1838],[1814,1919,1920],{"transform":1914},[1824,1921],{"d":1844,"fill":1816,"stroke":1816,"className":1922,"style":1839},[1838],[1814,1924,1925],{"transform":1914},[1824,1926],{"d":1927,"fill":1816,"stroke":1816,"className":1928,"style":1839},"M72.745-16.787L69.713-16.787L69.713-17.103Q70.864-17.103 70.864-17.398L70.864-22.122Q70.376-21.889 69.655-21.889L69.655-22.205Q70.785-22.205 71.347-22.781L71.492-22.781Q71.527-22.781 71.560-22.748Q71.593-22.715 71.593-22.680L71.593-17.398Q71.593-17.103 72.745-17.103",[1838],[1824,1930],{"fill":1829,"d":1931},"m21.202 65.593 28.173 39.773M125.03 51.5c0-9.43-7.643-17.072-17.072-17.072S90.887 42.07 90.887 51.499s7.643 17.072 17.071 17.072 17.072-7.643 17.072-17.072Zm-17.072 0",[1814,1933,1934,1941,1946],{"stroke":1829,"fontSize":1830},[1814,1935,1937],{"transform":1936},"translate(41.432 70.537)",[1824,1938],{"d":1939,"fill":1816,"stroke":1816,"className":1940,"style":1839},"M63.496-16.787L60.464-16.787L60.464-17.103Q61.615-17.103 61.615-17.398L61.615-22.122Q61.127-21.889 60.406-21.889L60.406-22.205Q61.536-22.205 62.098-22.781L62.243-22.781Q62.278-22.781 62.311-22.748Q62.344-22.715 62.344-22.680L62.344-17.398Q62.344-17.103 63.496-17.103",[1838],[1814,1942,1943],{"transform":1936},[1824,1944],{"d":1844,"fill":1816,"stroke":1816,"className":1945,"style":1839},[1838],[1814,1947,1948],{"transform":1936},[1824,1949],{"d":1950,"fill":1816,"stroke":1816,"className":1951,"style":1839},"M71.536-18.264L69.097-18.264L69.097-18.580L71.923-22.728Q71.967-22.781 72.033-22.781L72.187-22.781Q72.226-22.781 72.259-22.748Q72.292-22.715 72.292-22.671L72.292-18.580L73.193-18.580L73.193-18.264L72.292-18.264L72.292-17.398Q72.292-17.103 73.193-17.103L73.193-16.787L70.640-16.787L70.640-17.103Q71-17.103 71.268-17.158Q71.536-17.213 71.536-17.398L71.536-18.264M71.593-21.753L69.431-18.580L71.593-18.580",[1838],[1824,1953],{"fill":1829,"d":1954},"m69.803-2.368 28.172 39.774",[1814,1956,1957,1960],{"fill":1820,"stroke":1821,"style":1822},[1824,1958],{"d":1959},"M125.03 119.786c0-9.429-7.643-17.072-17.072-17.072s-17.071 7.643-17.071 17.072 7.643 17.072 17.071 17.072 17.072-7.644 17.072-17.072Zm-17.072 0",[1814,1961,1962,1968,1973],{"fill":1816,"stroke":1829,"fontSize":1830},[1814,1963,1965],{"transform":1964},"translate(41.432 138.823)",[1824,1966],{"d":1890,"fill":1816,"stroke":1816,"className":1967,"style":1839},[1838],[1814,1969,1970],{"transform":1964},[1824,1971],{"d":1844,"fill":1816,"stroke":1816,"className":1972,"style":1839},[1838],[1814,1974,1975],{"transform":1964},[1824,1976],{"d":1927,"fill":1816,"stroke":1816,"className":1977,"style":1839},[1838],[1824,1979],{"fill":1829,"d":1980},"M107.958 68.771v33.343",[1814,1982,1985,1993,1999,2005,2011,2017],{"fill":1983,"stroke":1829,"fontSize":1984},"var(--tk-warn)","8",[1814,1986,1988],{"transform":1987},"translate(-132.746 -37.834)",[1824,1989],{"d":1990,"fill":1983,"stroke":1983,"className":1991,"style":1992},"M59.870-16.795L59.870-18.017Q59.870-18.045 59.901-18.076Q59.933-18.107 59.956-18.107L60.062-18.107Q60.132-18.107 60.148-18.045Q60.210-17.724 60.349-17.484Q60.487-17.244 60.720-17.103Q60.952-16.963 61.261-16.963Q61.499-16.963 61.708-17.023Q61.917-17.084 62.054-17.232Q62.191-17.381 62.191-17.627Q62.191-17.881 61.980-18.047Q61.769-18.213 61.499-18.267L60.878-18.381Q60.472-18.459 60.171-18.715Q59.870-18.971 59.870-19.346Q59.870-19.713 60.071-19.935Q60.273-20.158 60.597-20.256Q60.921-20.353 61.261-20.353Q61.726-20.353 62.023-20.146L62.245-20.330Q62.269-20.353 62.300-20.353L62.351-20.353Q62.382-20.353 62.409-20.326Q62.437-20.299 62.437-20.267L62.437-19.283Q62.437-19.252 62.411-19.223Q62.386-19.193 62.351-19.193L62.245-19.193Q62.210-19.193 62.183-19.221Q62.155-19.248 62.155-19.283Q62.155-19.682 61.903-19.902Q61.651-20.123 61.253-20.123Q60.898-20.123 60.614-20Q60.331-19.877 60.331-19.572Q60.331-19.353 60.532-19.221Q60.734-19.088 60.980-19.045L61.605-18.932Q62.034-18.842 62.343-18.545Q62.651-18.248 62.651-17.834Q62.651-17.264 62.253-16.986Q61.855-16.709 61.261-16.709Q60.710-16.709 60.359-17.045L60.062-16.732Q60.038-16.709 60.003-16.709L59.956-16.709Q59.933-16.709 59.901-16.740Q59.870-16.771 59.870-16.795M65.003-16.787L63.206-16.787L63.206-17.084Q63.476-17.084 63.644-17.129Q63.812-17.174 63.812-17.346L63.812-21.506Q63.812-21.721 63.749-21.816Q63.687-21.912 63.569-21.933Q63.452-21.955 63.206-21.955L63.206-22.252L64.429-22.338L64.429-18.572L65.526-19.459Q65.734-19.639 65.734-19.787Q65.734-19.853 65.681-19.896Q65.628-19.939 65.558-19.939L65.558-20.236L67.093-20.236L67.093-19.939Q66.562-19.939 65.964-19.459L65.355-18.963L66.429-17.564Q66.566-17.389 66.673-17.281Q66.780-17.174 66.915-17.129Q67.050-17.084 67.276-17.084L67.276-16.787L65.651-16.787L65.651-17.084Q65.894-17.084 65.894-17.236Q65.894-17.314 65.851-17.385Q65.808-17.455 65.726-17.564L64.925-18.611L64.398-18.185L64.398-17.346Q64.398-17.178 64.566-17.131Q64.734-17.084 65.003-17.084L65.003-16.787M69.519-16.787L67.741-16.787L67.741-17.084Q68.015-17.084 68.183-17.131Q68.351-17.178 68.351-17.346L68.351-19.482Q68.351-19.697 68.294-19.793Q68.237-19.889 68.124-19.910Q68.011-19.932 67.765-19.932L67.765-20.228L68.964-20.314L68.964-17.346Q68.964-17.178 69.110-17.131Q69.257-17.084 69.519-17.084L69.519-16.787M68.077-21.709Q68.077-21.900 68.212-22.031Q68.347-22.162 68.542-22.162Q68.663-22.162 68.767-22.099Q68.870-22.037 68.933-21.933Q68.995-21.830 68.995-21.709Q68.995-21.514 68.864-21.379Q68.734-21.244 68.542-21.244Q68.343-21.244 68.210-21.377Q68.077-21.510 68.077-21.709M71.901-15.236L70.046-15.236L70.046-15.529Q70.316-15.529 70.484-15.574Q70.651-15.619 70.651-15.795L70.651-19.619Q70.651-19.826 70.495-19.879Q70.339-19.932 70.046-19.932L70.046-20.228L71.269-20.314L71.269-19.849Q71.499-20.072 71.814-20.193Q72.128-20.314 72.468-20.314Q72.941-20.314 73.345-20.068Q73.749-19.822 73.982-19.406Q74.214-18.990 74.214-18.514Q74.214-18.139 74.066-17.810Q73.917-17.482 73.648-17.230Q73.378-16.978 73.034-16.844Q72.691-16.709 72.331-16.709Q72.042-16.709 71.771-16.830Q71.499-16.951 71.292-17.162L71.292-15.795Q71.292-15.619 71.460-15.574Q71.628-15.529 71.901-15.529L71.901-15.236M71.292-19.451L71.292-17.611Q71.444-17.322 71.706-17.142Q71.968-16.963 72.276-16.963Q72.562-16.963 72.784-17.101Q73.007-17.240 73.159-17.471Q73.312-17.701 73.390-17.973Q73.468-18.244 73.468-18.514Q73.468-18.846 73.343-19.203Q73.218-19.560 72.970-19.797Q72.722-20.033 72.374-20.033Q72.050-20.033 71.755-19.877Q71.460-19.721 71.292-19.451",[1838],"stroke-width:0.240",[1814,1994,1995],{"transform":1987},[1824,1996],{"d":1997,"fill":1983,"stroke":1983,"className":1998,"style":1992},"M78.281-17.740Q78.281-17.912 78.324-18.123Q78.367-18.334 78.428-18.521Q78.489-18.709 78.586-18.961Q78.684-19.213 78.758-19.404Q78.848-19.627 78.848-19.810Q78.848-20.060 78.680-20.060Q78.364-20.060 78.155-19.754Q77.946-19.447 77.840-19.060Q77.828-18.986 77.758-18.986L77.656-18.986Q77.621-18.986 77.594-19.021Q77.567-19.057 77.567-19.084L77.567-19.115Q77.692-19.576 77.989-19.945Q78.285-20.314 78.696-20.314Q78.891-20.314 79.065-20.230Q79.239-20.146 79.340-19.994Q79.442-19.842 79.442-19.635Q79.442-19.482 79.383-19.346Q79.289-19.103 79.164-18.775Q79.039-18.447 78.967-18.168Q78.895-17.889 78.895-17.635Q78.895-17.326 79.049-17.144Q79.203-16.963 79.504-16.963Q79.899-16.963 80.281-17.435Q80.410-17.603 80.557-17.904Q80.703-18.205 80.799-18.504Q80.895-18.803 80.895-19.010Q80.895-19.236 80.821-19.355Q80.746-19.474 80.610-19.629Q80.473-19.783 80.473-19.885Q80.473-20.057 80.614-20.189Q80.754-20.322 80.910-20.322Q81.125-20.322 81.219-20.131Q81.313-19.939 81.313-19.709Q81.313-19.205 81.084-18.484Q80.856-17.764 80.436-17.236Q80.016-16.709 79.489-16.709Q79.235-16.709 79.014-16.767Q78.793-16.826 78.631-16.951Q78.469-17.076 78.375-17.277Q78.281-17.478 78.281-17.740",[1838],[1814,2000,2001],{"transform":1987},[1824,2002],{"d":2003,"fill":1983,"stroke":1983,"className":2004,"style":1992},"M85.077-14.971Q85.077-14.990 85.092-15.045L88.018-22.682Q88.084-22.787 88.190-22.787Q88.268-22.787 88.321-22.734Q88.374-22.682 88.374-22.603Q88.374-22.584 88.358-22.529L85.428-14.892Q85.366-14.787 85.260-14.787Q85.186-14.787 85.131-14.842Q85.077-14.896 85.077-14.971",[1838],[1814,2006,2007],{"transform":1987},[1824,2008],{"d":2009,"fill":1983,"stroke":1983,"className":2010,"style":1992},"M92.550-17.748L92.550-19.939L91.847-19.939L91.847-20.193Q92.203-20.193 92.445-20.426Q92.687-20.658 92.798-21.006Q92.910-21.353 92.910-21.709L93.191-21.709L93.191-20.236L94.367-20.236L94.367-19.939L93.191-19.939L93.191-17.764Q93.191-17.443 93.310-17.215Q93.429-16.986 93.710-16.986Q93.890-16.986 94.007-17.109Q94.124-17.232 94.177-17.412Q94.230-17.592 94.230-17.764L94.230-18.236L94.511-18.236L94.511-17.748Q94.511-17.494 94.406-17.254Q94.300-17.014 94.103-16.861Q93.906-16.709 93.648-16.709Q93.332-16.709 93.080-16.832Q92.828-16.955 92.689-17.189Q92.550-17.424 92.550-17.748M95.328-17.619Q95.328-18.103 95.730-18.398Q96.132-18.693 96.683-18.812Q97.234-18.932 97.726-18.932L97.726-19.221Q97.726-19.447 97.611-19.654Q97.496-19.861 97.298-19.980Q97.101-20.099 96.871-20.099Q96.445-20.099 96.160-19.994Q96.230-19.967 96.277-19.912Q96.324-19.857 96.349-19.787Q96.374-19.717 96.374-19.642Q96.374-19.537 96.324-19.445Q96.273-19.353 96.181-19.303Q96.089-19.252 95.984-19.252Q95.878-19.252 95.787-19.303Q95.695-19.353 95.644-19.445Q95.593-19.537 95.593-19.642Q95.593-20.060 95.982-20.207Q96.371-20.353 96.871-20.353Q97.203-20.353 97.556-20.223Q97.910-20.092 98.138-19.838Q98.367-19.584 98.367-19.236L98.367-17.435Q98.367-17.303 98.439-17.193Q98.511-17.084 98.640-17.084Q98.765-17.084 98.833-17.189Q98.902-17.295 98.902-17.435L98.902-17.947L99.183-17.947L99.183-17.435Q99.183-17.232 99.066-17.074Q98.949-16.916 98.767-16.832Q98.585-16.748 98.382-16.748Q98.152-16.748 97.999-16.920Q97.847-17.092 97.816-17.322Q97.656-17.041 97.347-16.875Q97.039-16.709 96.687-16.709Q96.175-16.709 95.751-16.932Q95.328-17.154 95.328-17.619M96.015-17.619Q96.015-17.334 96.242-17.148Q96.468-16.963 96.761-16.963Q97.007-16.963 97.232-17.080Q97.457-17.197 97.591-17.400Q97.726-17.603 97.726-17.857L97.726-18.689Q97.460-18.689 97.175-18.635Q96.890-18.580 96.619-18.451Q96.347-18.322 96.181-18.115Q96.015-17.908 96.015-17.619M101.300-16.787L99.503-16.787L99.503-17.084Q99.773-17.084 99.941-17.129Q100.109-17.174 100.109-17.346L100.109-21.506Q100.109-21.721 100.046-21.816Q99.984-21.912 99.867-21.933Q99.749-21.955 99.503-21.955L99.503-22.252L100.726-22.338L100.726-18.572L101.824-19.459Q102.031-19.639 102.031-19.787Q102.031-19.853 101.978-19.896Q101.925-19.939 101.855-19.939L101.855-20.236L103.390-20.236L103.390-19.939Q102.859-19.939 102.261-19.459L101.652-18.963L102.726-17.564Q102.863-17.389 102.970-17.281Q103.078-17.174 103.212-17.129Q103.347-17.084 103.574-17.084L103.574-16.787L101.949-16.787L101.949-17.084Q102.191-17.084 102.191-17.236Q102.191-17.314 102.148-17.385Q102.105-17.455 102.023-17.564L101.222-18.611L100.695-18.185L100.695-17.346Q100.695-17.178 100.863-17.131Q101.031-17.084 101.300-17.084",[1838],[1814,2012,2013],{"transform":1987},[1824,2014],{"d":2015,"fill":1983,"stroke":1983,"className":2016,"style":1992},"M103.731-18.541Q103.731-19.021 103.964-19.437Q104.196-19.853 104.606-20.103Q105.016-20.353 105.493-20.353Q106.223-20.353 106.622-19.912Q107.020-19.471 107.020-18.740Q107.020-18.635 106.927-18.611L104.477-18.611L104.477-18.541Q104.477-18.131 104.598-17.775Q104.720-17.420 104.991-17.203Q105.263-16.986 105.692-16.986Q106.055-16.986 106.352-17.215Q106.649-17.443 106.751-17.795Q106.759-17.842 106.845-17.857L106.927-17.857Q107.020-17.830 107.020-17.748Q107.020-17.740 107.013-17.709Q106.950-17.482 106.811-17.299Q106.673-17.115 106.481-16.982Q106.290-16.849 106.071-16.779Q105.852-16.709 105.614-16.709Q105.243-16.709 104.905-16.846Q104.567-16.982 104.300-17.234Q104.032-17.486 103.882-17.826Q103.731-18.166 103.731-18.541M104.485-18.849L106.446-18.849Q106.446-19.154 106.345-19.445Q106.243-19.736 106.026-19.918Q105.809-20.099 105.493-20.099Q105.192-20.099 104.962-19.912Q104.731-19.724 104.608-19.433Q104.485-19.142 104.485-18.849",[1838],[1814,2018,2019],{"transform":1987},[1824,2020],{"d":2021,"fill":1983,"stroke":1983,"className":2022,"style":1992},"M111.041-17.740Q111.041-17.912 111.084-18.123Q111.127-18.334 111.188-18.521Q111.249-18.709 111.346-18.961Q111.444-19.213 111.518-19.404Q111.608-19.627 111.608-19.810Q111.608-20.060 111.440-20.060Q111.124-20.060 110.915-19.754Q110.706-19.447 110.600-19.060Q110.588-18.986 110.518-18.986L110.416-18.986Q110.381-18.986 110.354-19.021Q110.327-19.057 110.327-19.084L110.327-19.115Q110.452-19.576 110.749-19.945Q111.045-20.314 111.456-20.314Q111.651-20.314 111.825-20.230Q111.999-20.146 112.100-19.994Q112.202-19.842 112.202-19.635Q112.202-19.482 112.143-19.346Q112.049-19.103 111.924-18.775Q111.799-18.447 111.727-18.168Q111.655-17.889 111.655-17.635Q111.655-17.326 111.809-17.144Q111.963-16.963 112.264-16.963Q112.659-16.963 113.041-17.435Q113.170-17.603 113.317-17.904Q113.463-18.205 113.559-18.504Q113.655-18.803 113.655-19.010Q113.655-19.236 113.581-19.355Q113.506-19.474 113.370-19.629Q113.233-19.783 113.233-19.885Q113.233-20.057 113.374-20.189Q113.514-20.322 113.670-20.322Q113.885-20.322 113.979-20.131Q114.073-19.939 114.073-19.709Q114.073-19.205 113.844-18.484Q113.616-17.764 113.196-17.236Q112.776-16.709 112.249-16.709Q111.995-16.709 111.774-16.767Q111.553-16.826 111.391-16.951Q111.229-17.076 111.135-17.277Q111.041-17.478 111.041-17.740",[1838],[1814,2024,2026,2029],{"fill":1983,"stroke":1983,"style":2025},"stroke-width:.8",[1824,2027],{"fill":1829,"d":2028},"M-21.162-43.35C3.803-32.42 19.841-29.115 44.493-29.268",[1824,2030],{"stroke":1829,"d":2031},"m47.093-29.283-4.173-2.054 1.573 2.07-1.547 2.09",[1814,2033,2034,2041,2047,2053,2059,2065,2071,2077,2083,2089,2095,2101,2107,2113,2119,2125,2131,2137,2143,2149,2155,2161,2167,2173,2179],{"stroke":1829,"fontSize":1984},[1814,2035,2037],{"transform":2036},"translate(64.292 1.643)",[1824,2038],{"d":2039,"fill":1816,"stroke":1816,"className":2040,"style":1992},"M61.835-26.287L59.855-26.287L59.855-26.584Q60.124-26.584 60.292-26.629Q60.460-26.674 60.460-26.846L60.460-28.982Q60.460-29.197 60.398-29.293Q60.335-29.389 60.218-29.410Q60.101-29.432 59.855-29.432L59.855-29.728L61.023-29.814L61.023-29.029Q61.101-29.240 61.253-29.426Q61.405-29.611 61.605-29.713Q61.804-29.814 62.030-29.814Q62.276-29.814 62.468-29.670Q62.659-29.525 62.659-29.295Q62.659-29.139 62.554-29.029Q62.448-28.920 62.292-28.920Q62.136-28.920 62.026-29.029Q61.917-29.139 61.917-29.295Q61.917-29.455 62.023-29.560Q61.698-29.560 61.484-29.332Q61.269-29.103 61.173-28.764Q61.077-28.424 61.077-28.119L61.077-26.846Q61.077-26.678 61.304-26.631Q61.530-26.584 61.835-26.584L61.835-26.287M63.140-27.982Q63.140-28.486 63.396-28.918Q63.651-29.349 64.087-29.601Q64.523-29.853 65.023-29.853Q65.409-29.853 65.751-29.709Q66.093-29.564 66.355-29.303Q66.616-29.041 66.759-28.705Q66.901-28.369 66.901-27.982Q66.901-27.490 66.638-27.080Q66.374-26.670 65.944-26.439Q65.515-26.209 65.023-26.209Q64.530-26.209 64.097-26.441Q63.663-26.674 63.401-27.082Q63.140-27.490 63.140-27.982M65.023-26.486Q65.480-26.486 65.732-26.709Q65.984-26.932 66.071-27.283Q66.159-27.635 66.159-28.080Q66.159-28.510 66.066-28.848Q65.972-29.185 65.718-29.392Q65.464-29.599 65.023-29.599Q64.374-29.599 64.130-29.183Q63.886-28.767 63.886-28.080Q63.886-27.635 63.974-27.283Q64.062-26.932 64.314-26.709Q64.566-26.486 65.023-26.486",[1838],[1814,2042,2043],{"transform":2036},[1824,2044],{"d":2045,"fill":1816,"stroke":1816,"className":2046,"style":1992},"M67.625-27.982Q67.625-28.486 67.881-28.918Q68.137-29.349 68.573-29.601Q69.008-29.853 69.508-29.853Q69.895-29.853 70.237-29.709Q70.578-29.564 70.840-29.303Q71.102-29.041 71.244-28.705Q71.387-28.369 71.387-27.982Q71.387-27.490 71.123-27.080Q70.860-26.670 70.430-26.439Q70-26.209 69.508-26.209Q69.016-26.209 68.582-26.441Q68.149-26.674 67.887-27.082Q67.625-27.490 67.625-27.982M69.508-26.486Q69.965-26.486 70.217-26.709Q70.469-26.932 70.557-27.283Q70.645-27.635 70.645-28.080Q70.645-28.510 70.551-28.848Q70.457-29.185 70.203-29.392Q69.950-29.599 69.508-29.599Q68.860-29.599 68.616-29.183Q68.371-28.767 68.371-28.080Q68.371-27.635 68.459-27.283Q68.547-26.932 68.799-26.709Q69.051-26.486 69.508-26.486M72.496-27.248L72.496-29.439L71.793-29.439L71.793-29.693Q72.149-29.693 72.391-29.926Q72.633-30.158 72.744-30.506Q72.856-30.853 72.856-31.209L73.137-31.209L73.137-29.736L74.313-29.736L74.313-29.439L73.137-29.439L73.137-27.264Q73.137-26.943 73.256-26.715Q73.375-26.486 73.657-26.486Q73.836-26.486 73.953-26.609Q74.071-26.732 74.123-26.912Q74.176-27.092 74.176-27.264L74.176-27.736L74.457-27.736L74.457-27.248Q74.457-26.994 74.352-26.754Q74.246-26.514 74.049-26.361Q73.852-26.209 73.594-26.209Q73.278-26.209 73.026-26.332Q72.774-26.455 72.635-26.689Q72.496-26.924 72.496-27.248M75.657-26.752Q75.657-26.935 75.793-27.072Q75.930-27.209 76.121-27.209Q76.313-27.209 76.446-27.076Q76.578-26.943 76.578-26.752Q76.578-26.553 76.446-26.420Q76.313-26.287 76.121-26.287Q75.930-26.287 75.793-26.424Q75.657-26.560 75.657-26.752M75.657-29.279Q75.657-29.463 75.793-29.599Q75.930-29.736 76.121-29.736Q76.313-29.736 76.446-29.603Q76.578-29.471 76.578-29.279Q76.578-29.080 76.446-28.947Q76.313-28.814 76.121-28.814Q75.930-28.814 75.793-28.951Q75.657-29.088 75.657-29.279",[1838],[1814,2048,2049],{"transform":2036},[1824,2050],{"d":2051,"fill":1816,"stroke":1816,"className":2052,"style":1992},"M81.945-27.248L81.945-29.439L81.242-29.439L81.242-29.693Q81.598-29.693 81.840-29.926Q82.082-30.158 82.193-30.506Q82.305-30.853 82.305-31.209L82.586-31.209L82.586-29.736L83.762-29.736L83.762-29.439L82.586-29.439L82.586-27.264Q82.586-26.943 82.705-26.715Q82.824-26.486 83.105-26.486Q83.285-26.486 83.402-26.609Q83.519-26.732 83.572-26.912Q83.625-27.092 83.625-27.264L83.625-27.736L83.906-27.736L83.906-27.248Q83.906-26.994 83.801-26.754Q83.695-26.514 83.498-26.361Q83.301-26.209 83.043-26.209Q82.727-26.209 82.475-26.332Q82.223-26.455 82.084-26.689Q81.945-26.924 81.945-27.248M84.723-27.119Q84.723-27.603 85.125-27.898Q85.527-28.193 86.078-28.312Q86.629-28.432 87.121-28.432L87.121-28.721Q87.121-28.947 87.006-29.154Q86.891-29.361 86.693-29.480Q86.496-29.599 86.266-29.599Q85.840-29.599 85.555-29.494Q85.625-29.467 85.672-29.412Q85.719-29.357 85.744-29.287Q85.769-29.217 85.769-29.142Q85.769-29.037 85.719-28.945Q85.668-28.853 85.576-28.803Q85.484-28.752 85.379-28.752Q85.273-28.752 85.182-28.803Q85.090-28.853 85.039-28.945Q84.988-29.037 84.988-29.142Q84.988-29.560 85.377-29.707Q85.766-29.853 86.266-29.853Q86.598-29.853 86.951-29.723Q87.305-29.592 87.533-29.338Q87.762-29.084 87.762-28.736L87.762-26.935Q87.762-26.803 87.834-26.693Q87.906-26.584 88.035-26.584Q88.160-26.584 88.228-26.689Q88.297-26.795 88.297-26.935L88.297-27.447L88.578-27.447L88.578-26.935Q88.578-26.732 88.461-26.574Q88.344-26.416 88.162-26.332Q87.980-26.248 87.777-26.248Q87.547-26.248 87.394-26.420Q87.242-26.592 87.211-26.822Q87.051-26.541 86.742-26.375Q86.434-26.209 86.082-26.209Q85.570-26.209 85.146-26.432Q84.723-26.654 84.723-27.119M85.410-27.119Q85.410-26.834 85.637-26.648Q85.863-26.463 86.156-26.463Q86.402-26.463 86.627-26.580Q86.852-26.697 86.986-26.900Q87.121-27.103 87.121-27.357L87.121-28.189Q86.855-28.189 86.570-28.135Q86.285-28.080 86.014-27.951Q85.742-27.822 85.576-27.615Q85.410-27.408 85.410-27.119M90.695-26.287L88.898-26.287L88.898-26.584Q89.168-26.584 89.336-26.629Q89.504-26.674 89.504-26.846L89.504-31.006Q89.504-31.221 89.441-31.316Q89.379-31.412 89.262-31.433Q89.144-31.455 88.898-31.455L88.898-31.752L90.121-31.838L90.121-28.072L91.219-28.959Q91.426-29.139 91.426-29.287Q91.426-29.353 91.373-29.396Q91.320-29.439 91.250-29.439L91.250-29.736L92.785-29.736L92.785-29.439Q92.254-29.439 91.656-28.959L91.047-28.463L92.121-27.064Q92.258-26.889 92.365-26.781Q92.473-26.674 92.607-26.629Q92.742-26.584 92.969-26.584L92.969-26.287L91.344-26.287L91.344-26.584Q91.586-26.584 91.586-26.736Q91.586-26.814 91.543-26.885Q91.500-26.955 91.418-27.064L90.617-28.111L90.090-27.685L90.090-26.846Q90.090-26.678 90.258-26.631Q90.426-26.584 90.695-26.584",[1838],[1814,2054,2055],{"transform":2036},[1824,2056],{"d":2057,"fill":1816,"stroke":1816,"className":2058,"style":1992},"M93.126-28.041Q93.126-28.521 93.359-28.937Q93.591-29.353 94.001-29.603Q94.411-29.853 94.888-29.853Q95.618-29.853 96.017-29.412Q96.415-28.971 96.415-28.240Q96.415-28.135 96.322-28.111L93.872-28.111L93.872-28.041Q93.872-27.631 93.993-27.275Q94.115-26.920 94.386-26.703Q94.658-26.486 95.087-26.486Q95.451-26.486 95.747-26.715Q96.044-26.943 96.146-27.295Q96.154-27.342 96.240-27.357L96.322-27.357Q96.415-27.330 96.415-27.248Q96.415-27.240 96.408-27.209Q96.345-26.982 96.206-26.799Q96.068-26.615 95.876-26.482Q95.685-26.349 95.466-26.279Q95.247-26.209 95.009-26.209Q94.638-26.209 94.300-26.346Q93.962-26.482 93.695-26.734Q93.427-26.986 93.277-27.326Q93.126-27.666 93.126-28.041M93.880-28.349L95.841-28.349Q95.841-28.654 95.740-28.945Q95.638-29.236 95.421-29.418Q95.204-29.599 94.888-29.599Q94.587-29.599 94.357-29.412Q94.126-29.224 94.003-28.933Q93.880-28.642 93.880-28.349",[1838],[1814,2060,2061],{"transform":2036},[1824,2062],{"d":2063,"fill":1816,"stroke":1816,"className":2064,"style":1992},"M100.436-27.240Q100.436-27.412 100.479-27.623Q100.522-27.834 100.583-28.021Q100.644-28.209 100.741-28.461Q100.839-28.713 100.913-28.904Q101.003-29.127 101.003-29.310Q101.003-29.560 100.835-29.560Q100.519-29.560 100.310-29.254Q100.101-28.947 99.995-28.560Q99.983-28.486 99.913-28.486L99.811-28.486Q99.776-28.486 99.749-28.521Q99.722-28.557 99.722-28.584L99.722-28.615Q99.847-29.076 100.144-29.445Q100.440-29.814 100.851-29.814Q101.046-29.814 101.220-29.730Q101.394-29.646 101.495-29.494Q101.597-29.342 101.597-29.135Q101.597-28.982 101.538-28.846Q101.444-28.603 101.319-28.275Q101.194-27.947 101.122-27.668Q101.050-27.389 101.050-27.135Q101.050-26.826 101.204-26.644Q101.358-26.463 101.659-26.463Q102.054-26.463 102.436-26.935Q102.565-27.103 102.712-27.404Q102.858-27.705 102.954-28.004Q103.050-28.303 103.050-28.510Q103.050-28.736 102.976-28.855Q102.901-28.974 102.765-29.129Q102.628-29.283 102.628-29.385Q102.628-29.557 102.769-29.689Q102.909-29.822 103.065-29.822Q103.280-29.822 103.374-29.631Q103.468-29.439 103.468-29.209Q103.468-28.705 103.239-27.984Q103.011-27.264 102.591-26.736Q102.171-26.209 101.644-26.209Q101.390-26.209 101.169-26.267Q100.948-26.326 100.786-26.451Q100.624-26.576 100.530-26.777Q100.436-26.978 100.436-27.240",[1838],[1814,2066,2067],{"transform":2036},[1824,2068],{"d":2069,"fill":1816,"stroke":1816,"className":2070,"style":1992},"M112.719-27.264L107.406-27.264Q107.328-27.271 107.279-27.320Q107.231-27.369 107.231-27.447Q107.231-27.517 107.278-27.568Q107.324-27.619 107.406-27.631L112.719-27.631Q112.793-27.619 112.840-27.568Q112.887-27.517 112.887-27.447Q112.887-27.369 112.838-27.320Q112.789-27.271 112.719-27.264M112.719-28.951L107.406-28.951Q107.328-28.959 107.279-29.008Q107.231-29.057 107.231-29.135Q107.231-29.205 107.278-29.256Q107.324-29.307 107.406-29.318L112.719-29.318Q112.793-29.307 112.840-29.256Q112.887-29.205 112.887-29.135Q112.887-29.057 112.838-29.008Q112.789-28.959 112.719-28.951",[1838],[1814,2072,2073],{"transform":2036},[1824,2074],{"d":2075,"fill":1816,"stroke":1816,"className":2076,"style":1992},"M116.571-27.166L116.508-27.166Q116.649-26.814 116.973-26.603Q117.297-26.392 117.684-26.392Q118.278-26.392 118.528-26.826Q118.778-27.260 118.778-27.896Q118.778-28.490 118.608-28.937Q118.438-29.385 117.938-29.385Q117.641-29.385 117.436-29.305Q117.231-29.224 117.129-29.133Q117.028-29.041 116.913-28.908Q116.797-28.775 116.747-28.760L116.676-28.760Q116.590-28.783 116.571-28.861L116.571-31.510Q116.602-31.607 116.676-31.607Q116.692-31.607 116.700-31.605Q116.708-31.603 116.715-31.599Q117.301-31.349 117.899-31.349Q118.481-31.349 119.098-31.607L119.122-31.607Q119.165-31.607 119.192-31.582Q119.219-31.557 119.219-31.517L119.219-31.439Q119.219-31.408 119.196-31.385Q118.899-31.033 118.477-30.836Q118.055-30.639 117.594-30.639Q117.247-30.639 116.868-30.744L116.868-29.248Q117.086-29.443 117.362-29.541Q117.637-29.639 117.938-29.639Q118.395-29.639 118.764-29.391Q119.133-29.142 119.340-28.738Q119.547-28.334 119.547-27.889Q119.547-27.400 119.292-26.992Q119.036-26.584 118.604-26.351Q118.172-26.119 117.684-26.119Q117.290-26.119 116.934-26.310Q116.579-26.502 116.368-26.836Q116.157-27.170 116.157-27.584Q116.157-27.764 116.274-27.877Q116.391-27.990 116.571-27.990Q116.688-27.990 116.780-27.937Q116.872-27.885 116.924-27.793Q116.977-27.701 116.977-27.584Q116.977-27.400 116.864-27.283Q116.751-27.166 116.571-27.166",[1838],[1814,2078,2079],{"transform":2036},[1824,2080],{"d":2081,"fill":1816,"stroke":1816,"className":2082,"style":1992},"M124.991-28.103L122.518-28.103Q122.440-28.115 122.391-28.164Q122.343-28.213 122.343-28.287Q122.343-28.361 122.391-28.410Q122.440-28.459 122.518-28.471L124.991-28.471L124.991-30.951Q125.018-31.119 125.175-31.119Q125.249-31.119 125.298-31.070Q125.347-31.021 125.358-30.951L125.358-28.471L127.831-28.471Q127.999-28.439 127.999-28.287Q127.999-28.135 127.831-28.103L125.358-28.103L125.358-25.623Q125.347-25.553 125.298-25.504Q125.249-25.455 125.175-25.455Q125.018-25.455 124.991-25.623",[1838],[1814,2084,2085],{"transform":2036},[1824,2086],{"d":2087,"fill":1816,"stroke":1816,"className":2088,"style":1992},"M131.874-26.209Q131.518-26.209 131.249-26.389Q130.979-26.568 130.839-26.863Q130.698-27.158 130.698-27.517Q130.698-27.904 130.860-28.318Q131.022-28.732 131.306-29.070Q131.589-29.408 131.958-29.611Q132.327-29.814 132.729-29.814Q133.222-29.814 133.499-29.365L133.936-31.135Q133.979-31.299 133.979-31.349Q133.979-31.455 133.483-31.455Q133.386-31.486 133.386-31.584L133.409-31.685Q133.440-31.740 133.499-31.752L134.600-31.838Q134.643-31.838 134.683-31.807Q134.722-31.775 134.722-31.721L133.569-27.119Q133.530-26.873 133.530-26.822Q133.530-26.463 133.776-26.463Q133.921-26.463 134.022-26.570Q134.124-26.678 134.188-26.832Q134.253-26.986 134.302-27.176Q134.350-27.365 134.370-27.463Q134.397-27.533 134.460-27.533L134.561-27.533Q134.600-27.533 134.626-27.500Q134.651-27.467 134.651-27.439Q134.651-27.424 134.643-27.408Q134.530-26.916 134.331-26.562Q134.132-26.209 133.761-26.209Q133.479-26.209 133.253-26.351Q133.026-26.494 132.944-26.752Q132.722-26.510 132.448-26.359Q132.175-26.209 131.874-26.209M131.890-26.463Q132.100-26.463 132.309-26.576Q132.518-26.689 132.688-26.863Q132.858-27.037 132.987-27.232Q132.975-27.217 132.966-27.203Q132.956-27.189 132.944-27.174L133.378-28.896Q133.339-29.076 133.253-29.226Q133.167-29.377 133.030-29.469Q132.893-29.560 132.714-29.560Q132.378-29.560 132.106-29.279Q131.835-28.998 131.675-28.623Q131.550-28.303 131.452-27.883Q131.354-27.463 131.354-27.182Q131.354-26.892 131.487-26.678Q131.620-26.463 131.890-26.463M136.225-24.736L134.624-24.736Q134.589-24.736 134.556-24.777Q134.522-24.818 134.522-24.853L134.554-24.959Q134.585-25.021 134.640-25.029Q134.831-25.029 134.915-25.045Q134.999-25.060 135.052-25.127Q135.104-25.193 135.143-25.334L136.034-28.904Q136.073-29.060 136.073-29.197Q136.073-29.346 136.020-29.453Q135.968-29.560 135.835-29.560Q135.655-29.560 135.536-29.391Q135.417-29.221 135.360-29.035Q135.304-28.849 135.233-28.560Q135.222-28.486 135.151-28.486L135.050-28.486Q135.015-28.486 134.987-28.521Q134.960-28.557 134.960-28.584L134.960-28.615Q135.046-28.947 135.140-29.189Q135.233-29.432 135.409-29.623Q135.585-29.814 135.850-29.814Q136.132-29.814 136.362-29.670Q136.593-29.525 136.659-29.271Q137.179-29.814 137.737-29.814Q138.272-29.814 138.593-29.430Q138.913-29.045 138.913-28.502Q138.913-27.978 138.632-27.439Q138.350-26.900 137.884-26.555Q137.417-26.209 136.882-26.209Q136.643-26.209 136.442-26.326Q136.241-26.443 136.112-26.654L135.768-25.279Q135.757-25.240 135.737-25.119Q135.737-25.029 136.241-25.029Q136.347-24.998 136.347-24.904L136.311-24.799Q136.280-24.744 136.225-24.736M136.667-28.853L136.233-27.127Q136.292-26.853 136.462-26.658Q136.632-26.463 136.897-26.463Q137.233-26.463 137.513-26.754Q137.792-27.045 137.929-27.400Q138.054-27.693 138.155-28.127Q138.257-28.560 138.257-28.838Q138.257-29.123 138.124-29.342Q137.991-29.560 137.722-29.560Q137.511-29.560 137.315-29.459Q137.120-29.357 136.960-29.201Q136.800-29.045 136.667-28.853",[1838],[1814,2090,2091],{"transform":2036},[1824,2092],{"d":2093,"fill":1816,"stroke":1816,"className":2094,"style":1992},"M141.190-24.287L140.014-24.287L140.014-32.287L141.190-32.287L141.190-31.920L140.381-31.920L140.381-24.654L141.190-24.654",[1838],[1814,2096,2097],{"transform":2036},[1824,2098],{"d":2099,"fill":1816,"stroke":1816,"className":2100,"style":1992},"M142.887-26.209Q142.547-26.209 142.287-26.387Q142.028-26.564 141.893-26.859Q141.758-27.154 141.758-27.502Q141.758-27.764 141.824-28.021L142.574-31.049Q142.586-31.096 142.613-31.197Q142.641-31.299 142.641-31.349Q142.641-31.455 142.145-31.455Q142.047-31.486 142.047-31.584L142.071-31.685Q142.078-31.732 142.160-31.752L143.262-31.838Q143.305-31.838 143.344-31.807Q143.383-31.775 143.383-31.721L142.809-29.400Q143.266-29.814 143.742-29.814Q144.106-29.814 144.371-29.635Q144.637-29.455 144.778-29.154Q144.918-28.853 144.918-28.502Q144.918-27.978 144.637-27.439Q144.356-26.900 143.889-26.555Q143.422-26.209 142.887-26.209M142.903-26.463Q143.238-26.463 143.518-26.754Q143.797-27.045 143.934-27.400Q144.059-27.693 144.160-28.127Q144.262-28.560 144.262-28.838Q144.262-29.123 144.129-29.342Q143.996-29.560 143.727-29.560Q143.516-29.560 143.321-29.459Q143.125-29.357 142.965-29.201Q142.805-29.045 142.672-28.853L142.446-27.982Q142.395-27.748 142.365-27.566Q142.336-27.385 142.336-27.232Q142.336-26.932 142.477-26.697Q142.617-26.463 142.903-26.463",[1838],[1814,2102,2103],{"transform":2036},[1824,2104],{"d":2105,"fill":1816,"stroke":1816,"className":2106,"style":1992},"M146.378-24.287L145.203-24.287L145.203-24.654L146.011-24.654L146.011-31.920L145.203-31.920L145.203-32.287L146.378-32.287L146.378-24.287M149.546-24.287L148.371-24.287L148.371-32.287L149.546-32.287L149.546-31.920L148.738-31.920L148.738-24.654L149.546-24.654L149.546-24.287M151.859-26.119Q151.156-26.119 150.755-26.519Q150.355-26.920 150.210-27.529Q150.066-28.139 150.066-28.838Q150.066-29.361 150.136-29.824Q150.207-30.287 150.400-30.699Q150.593-31.111 150.951-31.359Q151.308-31.607 151.859-31.607Q152.410-31.607 152.767-31.359Q153.124-31.111 153.316-30.701Q153.507-30.291 153.578-29.822Q153.648-29.353 153.648-28.838Q153.648-28.139 153.505-27.531Q153.363-26.924 152.962-26.521Q152.562-26.119 151.859-26.119M151.859-26.377Q152.332-26.377 152.564-26.812Q152.796-27.248 152.851-27.787Q152.906-28.326 152.906-28.967Q152.906-29.963 152.722-30.656Q152.539-31.349 151.859-31.349Q151.492-31.349 151.271-31.111Q151.050-30.873 150.955-30.516Q150.859-30.158 150.833-29.787Q150.808-29.416 150.808-28.967Q150.808-28.326 150.863-27.787Q150.917-27.248 151.150-26.812Q151.382-26.377 151.859-26.377M155.343-24.287L154.167-24.287L154.167-24.654L154.976-24.654L154.976-31.920L154.167-31.920L154.167-32.287L155.343-32.287",[1838],[1814,2108,2109],{"transform":2036},[1824,2110],{"d":2111,"fill":1816,"stroke":1816,"className":2112,"style":1992},"M161.363-28.103L158.890-28.103Q158.812-28.115 158.763-28.164Q158.715-28.213 158.715-28.287Q158.715-28.361 158.763-28.410Q158.812-28.459 158.890-28.471L161.363-28.471L161.363-30.951Q161.390-31.119 161.547-31.119Q161.621-31.119 161.670-31.070Q161.719-31.021 161.730-30.951L161.730-28.471L164.203-28.471Q164.371-28.439 164.371-28.287Q164.371-28.135 164.203-28.103L161.730-28.103L161.730-25.623Q161.719-25.553 161.670-25.504Q161.621-25.455 161.547-25.455Q161.390-25.455 161.363-25.623",[1838],[1814,2114,2115],{"transform":2036},[1824,2116],{"d":2117,"fill":1816,"stroke":1816,"className":2118,"style":1992},"M168.246-26.209Q167.890-26.209 167.621-26.389Q167.351-26.568 167.211-26.863Q167.070-27.158 167.070-27.517Q167.070-27.904 167.232-28.318Q167.394-28.732 167.678-29.070Q167.961-29.408 168.330-29.611Q168.699-29.814 169.101-29.814Q169.594-29.814 169.871-29.365L170.308-31.135Q170.351-31.299 170.351-31.349Q170.351-31.455 169.855-31.455Q169.758-31.486 169.758-31.584L169.781-31.685Q169.812-31.740 169.871-31.752L170.972-31.838Q171.015-31.838 171.054-31.807Q171.094-31.775 171.094-31.721L169.941-27.119Q169.902-26.873 169.902-26.822Q169.902-26.463 170.148-26.463Q170.293-26.463 170.394-26.570Q170.496-26.678 170.560-26.832Q170.625-26.986 170.674-27.176Q170.722-27.365 170.742-27.463Q170.769-27.533 170.832-27.533L170.933-27.533Q170.972-27.533 170.998-27.500Q171.023-27.467 171.023-27.439Q171.023-27.424 171.015-27.408Q170.902-26.916 170.703-26.562Q170.504-26.209 170.133-26.209Q169.851-26.209 169.625-26.351Q169.398-26.494 169.316-26.752Q169.094-26.510 168.820-26.359Q168.547-26.209 168.246-26.209M168.262-26.463Q168.472-26.463 168.681-26.576Q168.890-26.689 169.060-26.863Q169.230-27.037 169.359-27.232Q169.347-27.217 169.338-27.203Q169.328-27.189 169.316-27.174L169.750-28.896Q169.711-29.076 169.625-29.226Q169.539-29.377 169.402-29.469Q169.265-29.560 169.086-29.560Q168.750-29.560 168.478-29.279Q168.207-28.998 168.047-28.623Q167.922-28.303 167.824-27.883Q167.726-27.463 167.726-27.182Q167.726-26.892 167.859-26.678Q167.992-26.463 168.262-26.463M172.597-24.736L170.996-24.736Q170.961-24.736 170.928-24.777Q170.894-24.818 170.894-24.853L170.926-24.959Q170.957-25.021 171.012-25.029Q171.203-25.029 171.287-25.045Q171.371-25.060 171.424-25.127Q171.476-25.193 171.515-25.334L172.406-28.904Q172.445-29.060 172.445-29.197Q172.445-29.346 172.392-29.453Q172.340-29.560 172.207-29.560Q172.027-29.560 171.908-29.391Q171.789-29.221 171.732-29.035Q171.676-28.849 171.605-28.560Q171.594-28.486 171.523-28.486L171.422-28.486Q171.387-28.486 171.359-28.521Q171.332-28.557 171.332-28.584L171.332-28.615Q171.418-28.947 171.512-29.189Q171.605-29.432 171.781-29.623Q171.957-29.814 172.222-29.814Q172.504-29.814 172.734-29.670Q172.965-29.525 173.031-29.271Q173.551-29.814 174.109-29.814Q174.644-29.814 174.965-29.430Q175.285-29.045 175.285-28.502Q175.285-27.978 175.004-27.439Q174.722-26.900 174.256-26.555Q173.789-26.209 173.254-26.209Q173.015-26.209 172.814-26.326Q172.613-26.443 172.484-26.654L172.140-25.279Q172.129-25.240 172.109-25.119Q172.109-25.029 172.613-25.029Q172.719-24.998 172.719-24.904L172.683-24.799Q172.652-24.744 172.597-24.736M173.039-28.853L172.605-27.127Q172.664-26.853 172.834-26.658Q173.004-26.463 173.269-26.463Q173.605-26.463 173.885-26.754Q174.164-27.045 174.301-27.400Q174.426-27.693 174.527-28.127Q174.629-28.560 174.629-28.838Q174.629-29.123 174.496-29.342Q174.363-29.560 174.094-29.560Q173.883-29.560 173.687-29.459Q173.492-29.357 173.332-29.201Q173.172-29.045 173.039-28.853",[1838],[1814,2120,2121],{"transform":2036},[1824,2122],{"d":2123,"fill":1816,"stroke":1816,"className":2124,"style":1992},"M177.562-24.287L176.386-24.287L176.386-32.287L177.562-32.287L177.562-31.920L176.753-31.920L176.753-24.654L177.562-24.654",[1838],[1814,2126,2127],{"transform":2036},[1824,2128],{"d":2129,"fill":1816,"stroke":1816,"className":2130,"style":1992},"M178.763-27.303Q178.763-27.064 178.851-26.875Q178.939-26.685 179.110-26.574Q179.282-26.463 179.517-26.463Q180.025-26.463 180.480-26.656Q180.935-26.849 181.220-27.224Q181.239-27.256 181.290-27.256Q181.341-27.256 181.388-27.205Q181.435-27.154 181.435-27.103Q181.435-27.064 181.411-27.041Q181.095-26.627 180.579-26.418Q180.064-26.209 179.497-26.209Q179.196-26.209 178.941-26.310Q178.685-26.412 178.493-26.599Q178.302-26.787 178.196-27.045Q178.091-27.303 178.091-27.592Q178.091-28.014 178.280-28.416Q178.470-28.818 178.796-29.135Q179.122-29.451 179.525-29.633Q179.927-29.814 180.349-29.814Q180.732-29.814 181.044-29.648Q181.357-29.482 181.357-29.127Q181.357-28.912 181.226-28.752Q181.095-28.592 180.884-28.592Q180.751-28.592 180.657-28.678Q180.564-28.764 180.564-28.896Q180.564-29.068 180.685-29.201Q180.806-29.334 180.970-29.357Q180.767-29.560 180.329-29.560Q179.962-29.560 179.665-29.342Q179.368-29.123 179.167-28.771Q178.966-28.420 178.864-28.021Q178.763-27.623 178.763-27.303",[1838],[1814,2132,2133],{"transform":2036},[1824,2134],{"d":2135,"fill":1816,"stroke":1816,"className":2136,"style":1992},"M182.796-24.287L181.621-24.287L181.621-24.654L182.429-24.654L182.429-31.920L181.621-31.920L181.621-32.287L182.796-32.287L182.796-24.287M185.964-24.287L184.789-24.287L184.789-32.287L185.964-32.287L185.964-31.920L185.156-31.920L185.156-24.654L185.964-24.654L185.964-24.287M188.277-26.119Q187.574-26.119 187.173-26.519Q186.773-26.920 186.628-27.529Q186.484-28.139 186.484-28.838Q186.484-29.361 186.554-29.824Q186.625-30.287 186.818-30.699Q187.011-31.111 187.369-31.359Q187.726-31.607 188.277-31.607Q188.828-31.607 189.185-31.359Q189.542-31.111 189.734-30.701Q189.925-30.291 189.996-29.822Q190.066-29.353 190.066-28.838Q190.066-28.139 189.923-27.531Q189.781-26.924 189.380-26.521Q188.980-26.119 188.277-26.119M188.277-26.377Q188.750-26.377 188.982-26.812Q189.214-27.248 189.269-27.787Q189.324-28.326 189.324-28.967Q189.324-29.963 189.140-30.656Q188.957-31.349 188.277-31.349Q187.910-31.349 187.689-31.111Q187.468-30.873 187.373-30.516Q187.277-30.158 187.251-29.787Q187.226-29.416 187.226-28.967Q187.226-28.326 187.281-27.787Q187.335-27.248 187.568-26.812Q187.800-26.377 188.277-26.377M191.761-24.287L190.585-24.287L190.585-24.654L191.394-24.654L191.394-31.920L190.585-31.920L190.585-32.287L191.761-32.287",[1838],[1814,2138,2139],{"transform":2036},[1824,2140],{"d":2141,"fill":1816,"stroke":1816,"className":2142,"style":1992},"M89.404-17.764L84.091-17.764Q84.013-17.771 83.964-17.820Q83.916-17.869 83.916-17.947Q83.916-18.017 83.963-18.068Q84.009-18.119 84.091-18.131L89.404-18.131Q89.478-18.119 89.525-18.068Q89.572-18.017 89.572-17.947Q89.572-17.869 89.523-17.820Q89.474-17.771 89.404-17.764M89.404-19.451L84.091-19.451Q84.013-19.459 83.964-19.508Q83.916-19.557 83.916-19.635Q83.916-19.705 83.963-19.756Q84.009-19.807 84.091-19.818L89.404-19.818Q89.478-19.807 89.525-19.756Q89.572-19.705 89.572-19.635Q89.572-19.557 89.523-19.508Q89.474-19.459 89.404-19.451",[1838],[1814,2144,2145],{"transform":2036},[1824,2146],{"d":2147,"fill":1816,"stroke":1816,"className":2148,"style":1992},"M93.255-17.666L93.192-17.666Q93.333-17.314 93.657-17.103Q93.981-16.892 94.368-16.892Q94.962-16.892 95.212-17.326Q95.462-17.760 95.462-18.396Q95.462-18.990 95.292-19.437Q95.122-19.885 94.622-19.885Q94.325-19.885 94.120-19.805Q93.915-19.724 93.813-19.633Q93.712-19.541 93.597-19.408Q93.481-19.275 93.431-19.260L93.360-19.260Q93.274-19.283 93.255-19.361L93.255-22.010Q93.286-22.107 93.360-22.107Q93.376-22.107 93.384-22.105Q93.392-22.103 93.399-22.099Q93.985-21.849 94.583-21.849Q95.165-21.849 95.782-22.107L95.806-22.107Q95.849-22.107 95.876-22.082Q95.903-22.057 95.903-22.017L95.903-21.939Q95.903-21.908 95.880-21.885Q95.583-21.533 95.161-21.336Q94.739-21.139 94.278-21.139Q93.931-21.139 93.552-21.244L93.552-19.748Q93.770-19.943 94.046-20.041Q94.321-20.139 94.622-20.139Q95.079-20.139 95.448-19.891Q95.817-19.642 96.024-19.238Q96.231-18.834 96.231-18.389Q96.231-17.900 95.976-17.492Q95.720-17.084 95.288-16.851Q94.856-16.619 94.368-16.619Q93.974-16.619 93.618-16.810Q93.263-17.002 93.052-17.336Q92.841-17.670 92.841-18.084Q92.841-18.264 92.958-18.377Q93.075-18.490 93.255-18.490Q93.372-18.490 93.464-18.437Q93.556-18.385 93.608-18.293Q93.661-18.201 93.661-18.084Q93.661-17.900 93.548-17.783Q93.435-17.666 93.255-17.666",[1838],[1814,2150,2151],{"transform":2036},[1824,2152],{"d":2153,"fill":1816,"stroke":1816,"className":2154,"style":1992},"M101.675-18.603L99.202-18.603Q99.124-18.615 99.075-18.664Q99.027-18.713 99.027-18.787Q99.027-18.861 99.075-18.910Q99.124-18.959 99.202-18.971L101.675-18.971L101.675-21.451Q101.702-21.619 101.859-21.619Q101.933-21.619 101.982-21.570Q102.031-21.521 102.042-21.451L102.042-18.971L104.515-18.971Q104.683-18.939 104.683-18.787Q104.683-18.635 104.515-18.603L102.042-18.603L102.042-16.123Q102.031-16.053 101.982-16.004Q101.933-15.955 101.859-15.955Q101.702-15.955 101.675-16.123",[1838],[1814,2156,2157],{"transform":2036},[1824,2158],{"d":2159,"fill":1816,"stroke":1816,"className":2160,"style":1992},"M109.535-18.099L107.293-18.099L107.293-18.396L109.864-22.053Q109.903-22.107 109.965-22.107L110.110-22.107Q110.160-22.107 110.192-22.076Q110.223-22.045 110.223-21.994L110.223-18.396L111.055-18.396L111.055-18.099L110.223-18.099L110.223-17.346Q110.223-17.084 111.047-17.084L111.047-16.787L108.711-16.787L108.711-17.084Q109.535-17.084 109.535-17.346L109.535-18.099M109.590-21.201L107.621-18.396L109.590-18.396",[1838],[1814,2162,2163],{"transform":2036},[1824,2164],{"d":2165,"fill":1816,"stroke":1816,"className":2166,"style":1992},"M116.314-18.603L113.841-18.603Q113.763-18.615 113.714-18.664Q113.666-18.713 113.666-18.787Q113.666-18.861 113.714-18.910Q113.763-18.959 113.841-18.971L116.314-18.971L116.314-21.451Q116.341-21.619 116.498-21.619Q116.572-21.619 116.621-21.570Q116.670-21.521 116.681-21.451L116.681-18.971L119.154-18.971Q119.322-18.939 119.322-18.787Q119.322-18.635 119.154-18.603L116.681-18.603L116.681-16.123Q116.670-16.053 116.621-16.004Q116.572-15.955 116.498-15.955Q116.341-15.955 116.314-16.123",[1838],[1814,2168,2169],{"transform":2036},[1824,2170],{"d":2171,"fill":1816,"stroke":1816,"className":2172,"style":1992},"M125.288-16.787L122.495-16.787L122.495-17.084Q123.557-17.084 123.557-17.346L123.557-21.514Q123.128-21.299 122.448-21.299L122.448-21.596Q123.467-21.596 123.983-22.107L124.128-22.107Q124.202-22.088 124.221-22.010L124.221-17.346Q124.221-17.084 125.288-17.084",[1838],[1814,2174,2175],{"transform":2036},[1824,2176],{"d":2177,"fill":1816,"stroke":1816,"className":2178,"style":1992},"M134.266-17.764L128.953-17.764Q128.875-17.771 128.826-17.820Q128.778-17.869 128.778-17.947Q128.778-18.017 128.825-18.068Q128.871-18.119 128.953-18.131L134.266-18.131Q134.340-18.119 134.387-18.068Q134.434-18.017 134.434-17.947Q134.434-17.869 134.385-17.820Q134.336-17.771 134.266-17.764M134.266-19.451L128.953-19.451Q128.875-19.459 128.826-19.508Q128.778-19.557 128.778-19.635Q128.778-19.705 128.825-19.756Q128.871-19.807 128.953-19.818L134.266-19.818Q134.340-19.807 134.387-19.756Q134.434-19.705 134.434-19.635Q134.434-19.557 134.385-19.508Q134.336-19.459 134.266-19.451",[1838],[1814,2180,2181],{"transform":2036},[1824,2182],{"d":2183,"fill":1816,"stroke":1816,"className":2184,"style":1992},"M140.871-16.787L138.078-16.787L138.078-17.084Q139.140-17.084 139.140-17.346L139.140-21.514Q138.711-21.299 138.031-21.299L138.031-21.596Q139.050-21.596 139.566-22.107L139.711-22.107Q139.785-22.088 139.804-22.010L139.804-17.346Q139.804-17.084 140.871-17.084L140.871-16.787M143.644-16.619Q142.941-16.619 142.541-17.019Q142.140-17.420 141.996-18.029Q141.851-18.639 141.851-19.338Q141.851-19.861 141.922-20.324Q141.992-20.787 142.185-21.199Q142.379-21.611 142.736-21.859Q143.093-22.107 143.644-22.107Q144.195-22.107 144.552-21.859Q144.910-21.611 145.101-21.201Q145.293-20.791 145.363-20.322Q145.433-19.853 145.433-19.338Q145.433-18.639 145.291-18.031Q145.148-17.424 144.748-17.021Q144.347-16.619 143.644-16.619M143.644-16.877Q144.117-16.877 144.349-17.312Q144.582-17.748 144.636-18.287Q144.691-18.826 144.691-19.467Q144.691-20.463 144.507-21.156Q144.324-21.849 143.644-21.849Q143.277-21.849 143.056-21.611Q142.836-21.373 142.740-21.016Q142.644-20.658 142.619-20.287Q142.593-19.916 142.593-19.467Q142.593-18.826 142.648-18.287Q142.703-17.748 142.935-17.312Q143.168-16.877 143.644-16.877",[1838],[1814,2186,2187,2194,2200,2206,2212,2218,2224,2230,2236,2242,2248,2254,2260,2266,2272,2278,2284,2290,2296],{"stroke":1829,"fontSize":1984},[1814,2188,2190],{"transform":2189},"translate(-77.854 165.603)",[1824,2191],{"d":2192,"fill":1816,"stroke":1816,"className":2193,"style":1992},"M61.413-16.818L60.343-19.674Q60.276-19.853 60.146-19.896Q60.015-19.939 59.757-19.939L59.757-20.236L61.437-20.236L61.437-19.939Q60.987-19.939 60.987-19.740Q60.991-19.724 60.993-19.707Q60.995-19.689 60.995-19.674L61.788-17.580L62.499-19.490Q62.464-19.584 62.464-19.629Q62.464-19.674 62.429-19.674Q62.362-19.853 62.232-19.896Q62.101-19.939 61.847-19.939L61.847-20.236L63.437-20.236L63.437-19.939Q62.987-19.939 62.987-19.740Q62.991-19.721 62.993-19.703Q62.995-19.685 62.995-19.674L63.827-17.459L64.581-19.459Q64.605-19.517 64.605-19.588Q64.605-19.748 64.468-19.844Q64.331-19.939 64.163-19.939L64.163-20.236L65.550-20.236L65.550-19.939Q65.316-19.939 65.138-19.812Q64.960-19.685 64.878-19.459L63.894-16.818Q63.839-16.709 63.726-16.709L63.667-16.709Q63.554-16.709 63.511-16.818L62.651-19.092L61.796-16.818Q61.757-16.709 61.636-16.709L61.581-16.709Q61.468-16.709 61.413-16.818",[1838],[1814,2195,2196],{"transform":2189},[1824,2197],{"d":2198,"fill":1816,"stroke":1816,"className":2199,"style":1992},"M65.729-18.541Q65.729-19.021 65.962-19.437Q66.194-19.853 66.604-20.103Q67.014-20.353 67.491-20.353Q68.221-20.353 68.620-19.912Q69.018-19.471 69.018-18.740Q69.018-18.635 68.925-18.611L66.475-18.611L66.475-18.541Q66.475-18.131 66.596-17.775Q66.718-17.420 66.989-17.203Q67.261-16.986 67.690-16.986Q68.053-16.986 68.350-17.215Q68.647-17.443 68.749-17.795Q68.757-17.842 68.843-17.857L68.925-17.857Q69.018-17.830 69.018-17.748Q69.018-17.740 69.011-17.709Q68.948-17.482 68.809-17.299Q68.671-17.115 68.479-16.982Q68.288-16.849 68.069-16.779Q67.850-16.709 67.612-16.709Q67.241-16.709 66.903-16.846Q66.565-16.982 66.298-17.234Q66.030-17.486 65.880-17.826Q65.729-18.166 65.729-18.541M66.483-18.849L68.444-18.849Q68.444-19.154 68.343-19.445Q68.241-19.736 68.024-19.918Q67.807-20.099 67.491-20.099Q67.190-20.099 66.960-19.912Q66.729-19.724 66.606-19.433Q66.483-19.142 66.483-18.849M71.366-16.787L69.589-16.787L69.589-17.084Q69.862-17.084 70.030-17.131Q70.198-17.178 70.198-17.346L70.198-19.482Q70.198-19.697 70.141-19.793Q70.085-19.889 69.971-19.910Q69.858-19.932 69.612-19.932L69.612-20.228L70.811-20.314L70.811-17.346Q70.811-17.178 70.958-17.131Q71.104-17.084 71.366-17.084L71.366-16.787M69.925-21.709Q69.925-21.900 70.059-22.031Q70.194-22.162 70.389-22.162Q70.511-22.162 70.614-22.099Q70.718-22.037 70.780-21.933Q70.843-21.830 70.843-21.709Q70.843-21.514 70.712-21.379Q70.581-21.244 70.389-21.244Q70.190-21.244 70.057-21.377Q69.925-21.510 69.925-21.709M71.866-16.178Q71.866-16.459 72.077-16.670Q72.288-16.881 72.573-16.971Q72.417-17.096 72.339-17.285Q72.261-17.474 72.261-17.674Q72.261-18.029 72.491-18.322Q72.124-18.662 72.124-19.131Q72.124-19.482 72.327-19.752Q72.530-20.021 72.850-20.168Q73.171-20.314 73.514-20.314Q74.034-20.314 74.405-20.033Q74.768-20.404 75.315-20.404Q75.495-20.404 75.622-20.277Q75.749-20.150 75.749-19.971Q75.749-19.865 75.671-19.787Q75.593-19.709 75.483-19.709Q75.374-19.709 75.298-19.785Q75.221-19.861 75.221-19.971Q75.221-20.072 75.261-20.123Q75.268-20.131 75.272-20.137Q75.276-20.142 75.276-20.146Q74.901-20.146 74.581-19.892Q74.901-19.553 74.901-19.131Q74.901-18.861 74.784-18.644Q74.667-18.428 74.462-18.269Q74.257-18.111 74.014-18.029Q73.772-17.947 73.514-17.947Q73.296-17.947 73.083-18.006Q72.870-18.064 72.675-18.185Q72.581-18.045 72.581-17.865Q72.581-17.658 72.718-17.506Q72.854-17.353 73.061-17.353L73.757-17.353Q74.245-17.353 74.657-17.269Q75.069-17.185 75.348-16.928Q75.628-16.670 75.628-16.178Q75.628-15.814 75.307-15.582Q74.987-15.349 74.546-15.248Q74.104-15.146 73.749-15.146Q73.393-15.146 72.950-15.248Q72.507-15.349 72.186-15.582Q71.866-15.814 71.866-16.178M72.370-16.178Q72.370-15.982 72.514-15.834Q72.659-15.685 72.872-15.596Q73.085-15.506 73.325-15.459Q73.565-15.412 73.749-15.412Q73.991-15.412 74.321-15.490Q74.651-15.568 74.887-15.742Q75.124-15.916 75.124-16.178Q75.124-16.584 74.714-16.693Q74.303-16.803 73.741-16.803L73.061-16.803Q72.792-16.803 72.581-16.625Q72.370-16.447 72.370-16.178M73.514-18.213Q74.237-18.213 74.237-19.131Q74.237-20.053 73.514-20.053Q72.788-20.053 72.788-19.131Q72.788-18.213 73.514-18.213M78.042-16.787L76.186-16.787L76.186-17.084Q76.460-17.084 76.628-17.131Q76.796-17.178 76.796-17.346L76.796-21.506Q76.796-21.721 76.733-21.816Q76.671-21.912 76.552-21.933Q76.432-21.955 76.186-21.955L76.186-22.252L77.409-22.338L77.409-19.635Q77.534-19.846 77.721-19.996Q77.909-20.146 78.136-20.230Q78.362-20.314 78.608-20.314Q79.776-20.314 79.776-19.236L79.776-17.346Q79.776-17.178 79.946-17.131Q80.116-17.084 80.386-17.084L80.386-16.787L78.530-16.787L78.530-17.084Q78.803-17.084 78.971-17.131Q79.139-17.178 79.139-17.346L79.139-19.221Q79.139-19.603 79.018-19.832Q78.897-20.060 78.546-20.060Q78.233-20.060 77.979-19.898Q77.725-19.736 77.579-19.467Q77.432-19.197 77.432-18.900L77.432-17.346Q77.432-17.178 77.602-17.131Q77.772-17.084 78.042-17.084",[1838],[1814,2201,2202],{"transform":2189},[1824,2203],{"d":2204,"fill":1816,"stroke":1816,"className":2205,"style":1992},"M81.230-17.748L81.230-19.939L80.527-19.939L80.527-20.193Q80.883-20.193 81.125-20.426Q81.367-20.658 81.478-21.006Q81.590-21.353 81.590-21.709L81.871-21.709L81.871-20.236L83.047-20.236L83.047-19.939L81.871-19.939L81.871-17.764Q81.871-17.443 81.990-17.215Q82.109-16.986 82.390-16.986Q82.570-16.986 82.687-17.109Q82.805-17.232 82.857-17.412Q82.910-17.592 82.910-17.764L82.910-18.236L83.191-18.236L83.191-17.748Q83.191-17.494 83.086-17.254Q82.980-17.014 82.783-16.861Q82.586-16.709 82.328-16.709Q82.012-16.709 81.760-16.832Q81.508-16.955 81.369-17.189Q81.230-17.424 81.230-17.748M83.953-16.795L83.953-18.017Q83.953-18.045 83.984-18.076Q84.015-18.107 84.039-18.107L84.144-18.107Q84.215-18.107 84.230-18.045Q84.293-17.724 84.431-17.484Q84.570-17.244 84.803-17.103Q85.035-16.963 85.344-16.963Q85.582-16.963 85.791-17.023Q86-17.084 86.137-17.232Q86.273-17.381 86.273-17.627Q86.273-17.881 86.062-18.047Q85.851-18.213 85.582-18.267L84.961-18.381Q84.555-18.459 84.254-18.715Q83.953-18.971 83.953-19.346Q83.953-19.713 84.154-19.935Q84.355-20.158 84.680-20.256Q85.004-20.353 85.344-20.353Q85.808-20.353 86.105-20.146L86.328-20.330Q86.351-20.353 86.383-20.353L86.433-20.353Q86.465-20.353 86.492-20.326Q86.519-20.299 86.519-20.267L86.519-19.283Q86.519-19.252 86.494-19.223Q86.469-19.193 86.433-19.193L86.328-19.193Q86.293-19.193 86.265-19.221Q86.238-19.248 86.238-19.283Q86.238-19.682 85.986-19.902Q85.734-20.123 85.336-20.123Q84.980-20.123 84.697-20Q84.414-19.877 84.414-19.572Q84.414-19.353 84.615-19.221Q84.816-19.088 85.062-19.045L85.687-18.932Q86.117-18.842 86.426-18.545Q86.734-18.248 86.734-17.834Q86.734-17.264 86.336-16.986Q85.937-16.709 85.344-16.709Q84.793-16.709 84.441-17.045L84.144-16.732Q84.121-16.709 84.086-16.709L84.039-16.709Q84.015-16.709 83.984-16.740Q83.953-16.771 83.953-16.795M87.742-17.252Q87.742-17.435 87.879-17.572Q88.015-17.709 88.207-17.709Q88.398-17.709 88.531-17.576Q88.664-17.443 88.664-17.252Q88.664-17.053 88.531-16.920Q88.398-16.787 88.207-16.787Q88.015-16.787 87.879-16.924Q87.742-17.060 87.742-17.252M87.742-19.779Q87.742-19.963 87.879-20.099Q88.015-20.236 88.207-20.236Q88.398-20.236 88.531-20.103Q88.664-19.971 88.664-19.779Q88.664-19.580 88.531-19.447Q88.398-19.314 88.207-19.314Q88.015-19.314 87.879-19.451Q87.742-19.588 87.742-19.779",[1838],[1814,2207,2208],{"transform":2189},[1824,2209],{"d":2210,"fill":1816,"stroke":1816,"className":2211,"style":1992},"M95.410-16.787L93.430-16.787L93.430-17.084Q93.699-17.084 93.867-17.129Q94.035-17.174 94.035-17.346L94.035-19.482Q94.035-19.697 93.973-19.793Q93.910-19.889 93.793-19.910Q93.676-19.932 93.430-19.932L93.430-20.228L94.598-20.314L94.598-19.529Q94.676-19.740 94.828-19.926Q94.980-20.111 95.180-20.213Q95.379-20.314 95.605-20.314Q95.852-20.314 96.043-20.170Q96.234-20.025 96.234-19.795Q96.234-19.639 96.129-19.529Q96.023-19.420 95.867-19.420Q95.711-19.420 95.602-19.529Q95.492-19.639 95.492-19.795Q95.492-19.955 95.598-20.060Q95.273-20.060 95.059-19.832Q94.844-19.603 94.748-19.264Q94.652-18.924 94.652-18.619L94.652-17.346Q94.652-17.178 94.879-17.131Q95.105-17.084 95.410-17.084L95.410-16.787M96.715-18.482Q96.715-18.986 96.971-19.418Q97.227-19.849 97.662-20.101Q98.098-20.353 98.598-20.353Q98.984-20.353 99.326-20.209Q99.668-20.064 99.930-19.803Q100.191-19.541 100.334-19.205Q100.477-18.869 100.477-18.482Q100.477-17.990 100.213-17.580Q99.949-17.170 99.519-16.939Q99.090-16.709 98.598-16.709Q98.105-16.709 97.672-16.941Q97.238-17.174 96.977-17.582Q96.715-17.990 96.715-18.482M98.598-16.986Q99.055-16.986 99.307-17.209Q99.559-17.432 99.646-17.783Q99.734-18.135 99.734-18.580Q99.734-19.010 99.641-19.348Q99.547-19.685 99.293-19.892Q99.039-20.099 98.598-20.099Q97.949-20.099 97.705-19.683Q97.461-19.267 97.461-18.580Q97.461-18.135 97.549-17.783Q97.637-17.432 97.889-17.209Q98.141-16.986 98.598-16.986",[1838],[1814,2213,2214],{"transform":2189},[1824,2215],{"d":2216,"fill":1816,"stroke":1816,"className":2217,"style":1992},"M101.201-18.482Q101.201-18.986 101.457-19.418Q101.713-19.849 102.149-20.101Q102.584-20.353 103.084-20.353Q103.471-20.353 103.813-20.209Q104.154-20.064 104.416-19.803Q104.678-19.541 104.820-19.205Q104.963-18.869 104.963-18.482Q104.963-17.990 104.699-17.580Q104.436-17.170 104.006-16.939Q103.576-16.709 103.084-16.709Q102.592-16.709 102.158-16.941Q101.725-17.174 101.463-17.582Q101.201-17.990 101.201-18.482M103.084-16.986Q103.541-16.986 103.793-17.209Q104.045-17.432 104.133-17.783Q104.221-18.135 104.221-18.580Q104.221-19.010 104.127-19.348Q104.033-19.685 103.779-19.892Q103.525-20.099 103.084-20.099Q102.436-20.099 102.192-19.683Q101.947-19.267 101.947-18.580Q101.947-18.135 102.035-17.783Q102.123-17.432 102.375-17.209Q102.627-16.986 103.084-16.986M106.072-17.748L106.072-19.939L105.369-19.939L105.369-20.193Q105.725-20.193 105.967-20.426Q106.209-20.658 106.320-21.006Q106.432-21.353 106.432-21.709L106.713-21.709L106.713-20.236L107.889-20.236L107.889-19.939L106.713-19.939L106.713-17.764Q106.713-17.443 106.832-17.215Q106.951-16.986 107.233-16.986Q107.412-16.986 107.529-17.109Q107.647-17.232 107.699-17.412Q107.752-17.592 107.752-17.764L107.752-18.236L108.033-18.236L108.033-17.748Q108.033-17.494 107.928-17.254Q107.822-17.014 107.625-16.861Q107.428-16.709 107.170-16.709Q106.854-16.709 106.602-16.832Q106.350-16.955 106.211-17.189Q106.072-17.424 106.072-17.748",[1838],[1814,2219,2220],{"transform":2189},[1824,2221],{"d":2222,"fill":1816,"stroke":1816,"className":2223,"style":1992},"M112.192-17.666L112.129-17.666Q112.270-17.314 112.594-17.103Q112.918-16.892 113.305-16.892Q113.899-16.892 114.149-17.326Q114.399-17.760 114.399-18.396Q114.399-18.990 114.229-19.437Q114.059-19.885 113.559-19.885Q113.262-19.885 113.057-19.805Q112.852-19.724 112.750-19.633Q112.649-19.541 112.534-19.408Q112.418-19.275 112.368-19.260L112.297-19.260Q112.211-19.283 112.192-19.361L112.192-22.010Q112.223-22.107 112.297-22.107Q112.313-22.107 112.321-22.105Q112.329-22.103 112.336-22.099Q112.922-21.849 113.520-21.849Q114.102-21.849 114.719-22.107L114.743-22.107Q114.786-22.107 114.813-22.082Q114.840-22.057 114.840-22.017L114.840-21.939Q114.840-21.908 114.817-21.885Q114.520-21.533 114.098-21.336Q113.676-21.139 113.215-21.139Q112.868-21.139 112.489-21.244L112.489-19.748Q112.707-19.943 112.983-20.041Q113.258-20.139 113.559-20.139Q114.016-20.139 114.385-19.891Q114.754-19.642 114.961-19.238Q115.168-18.834 115.168-18.389Q115.168-17.900 114.913-17.492Q114.657-17.084 114.225-16.851Q113.793-16.619 113.305-16.619Q112.911-16.619 112.555-16.810Q112.200-17.002 111.989-17.336Q111.778-17.670 111.778-18.084Q111.778-18.264 111.895-18.377Q112.012-18.490 112.192-18.490Q112.309-18.490 112.401-18.437Q112.493-18.385 112.545-18.293Q112.598-18.201 112.598-18.084Q112.598-17.900 112.485-17.783Q112.372-17.666 112.192-17.666M116.422-15.381Q116.422-15.404 116.454-15.451Q116.747-15.713 116.913-16.080Q117.079-16.447 117.079-16.834L117.079-16.892Q116.950-16.787 116.782-16.787Q116.590-16.787 116.454-16.920Q116.317-17.053 116.317-17.252Q116.317-17.443 116.454-17.576Q116.590-17.709 116.782-17.709Q117.082-17.709 117.207-17.439Q117.332-17.170 117.332-16.834Q117.332-16.385 117.151-15.971Q116.969-15.557 116.629-15.260Q116.606-15.236 116.567-15.236Q116.520-15.236 116.471-15.281Q116.422-15.326 116.422-15.381",[1838],[1814,2225,2226],{"transform":2189},[1824,2227],{"d":2228,"fill":1816,"stroke":1816,"className":2229,"style":1992},"M121.077-18.514Q121.077-19.010 121.327-19.435Q121.577-19.861 121.997-20.107Q122.417-20.353 122.917-20.353Q123.456-20.353 123.847-20.228Q124.237-20.103 124.237-19.689Q124.237-19.584 124.187-19.492Q124.136-19.400 124.044-19.349Q123.952-19.299 123.843-19.299Q123.737-19.299 123.646-19.349Q123.554-19.400 123.503-19.492Q123.452-19.584 123.452-19.689Q123.452-19.912 123.620-20.017Q123.398-20.076 122.925-20.076Q122.628-20.076 122.413-19.937Q122.198-19.799 122.067-19.568Q121.937-19.338 121.878-19.068Q121.819-18.799 121.819-18.514Q121.819-18.119 121.952-17.769Q122.085-17.420 122.357-17.203Q122.628-16.986 123.026-16.986Q123.401-16.986 123.677-17.203Q123.952-17.420 124.054-17.779Q124.069-17.842 124.132-17.842L124.237-17.842Q124.273-17.842 124.298-17.814Q124.323-17.787 124.323-17.748L124.323-17.724Q124.191-17.244 123.806-16.976Q123.421-16.709 122.917-16.709Q122.554-16.709 122.220-16.846Q121.886-16.982 121.626-17.232Q121.366-17.482 121.222-17.818Q121.077-18.154 121.077-18.514",[1838],[1814,2231,2232],{"transform":2189},[1824,2233],{"d":2234,"fill":1816,"stroke":1816,"className":2235,"style":1992},"M126.506-16.787L124.650-16.787L124.650-17.084Q124.924-17.084 125.092-17.131Q125.260-17.178 125.260-17.346L125.260-21.506Q125.260-21.721 125.197-21.816Q125.135-21.912 125.016-21.933Q124.897-21.955 124.650-21.955L124.650-22.252L125.873-22.338L125.873-19.635Q125.998-19.846 126.186-19.996Q126.373-20.146 126.600-20.230Q126.826-20.314 127.072-20.314Q128.240-20.314 128.240-19.236L128.240-17.346Q128.240-17.178 128.410-17.131Q128.580-17.084 128.850-17.084L128.850-16.787L126.994-16.787L126.994-17.084Q127.268-17.084 127.436-17.131Q127.604-17.178 127.604-17.346L127.604-19.221Q127.604-19.603 127.483-19.832Q127.361-20.060 127.010-20.060Q126.697-20.060 126.443-19.898Q126.190-19.736 126.043-19.467Q125.897-19.197 125.897-18.900L125.897-17.346Q125.897-17.178 126.067-17.131Q126.236-17.084 126.506-17.084L126.506-16.787M131.154-16.787L129.377-16.787L129.377-17.084Q129.650-17.084 129.818-17.131Q129.986-17.178 129.986-17.346L129.986-19.482Q129.986-19.697 129.930-19.793Q129.873-19.889 129.760-19.910Q129.647-19.932 129.400-19.932L129.400-20.228L130.600-20.314L130.600-17.346Q130.600-17.178 130.746-17.131Q130.893-17.084 131.154-17.084L131.154-16.787M129.713-21.709Q129.713-21.900 129.848-22.031Q129.983-22.162 130.178-22.162Q130.299-22.162 130.402-22.099Q130.506-22.037 130.568-21.933Q130.631-21.830 130.631-21.709Q130.631-21.514 130.500-21.379Q130.369-21.244 130.178-21.244Q129.979-21.244 129.846-21.377Q129.713-21.510 129.713-21.709M133.568-16.787L131.736-16.787L131.736-17.084Q132.010-17.084 132.178-17.131Q132.346-17.178 132.346-17.346L132.346-21.506Q132.346-21.721 132.283-21.816Q132.221-21.912 132.102-21.933Q131.983-21.955 131.736-21.955L131.736-22.252L132.959-22.338L132.959-17.346Q132.959-17.178 133.127-17.131Q133.295-17.084 133.568-17.084L133.568-16.787M135.830-16.709Q135.350-16.709 134.942-16.953Q134.533-17.197 134.295-17.611Q134.057-18.025 134.057-18.514Q134.057-19.006 134.315-19.422Q134.572-19.838 135.004-20.076Q135.436-20.314 135.928-20.314Q136.549-20.314 136.998-19.877L136.998-21.506Q136.998-21.721 136.936-21.816Q136.873-21.912 136.756-21.933Q136.639-21.955 136.393-21.955L136.393-22.252L137.615-22.338L137.615-17.529Q137.615-17.318 137.678-17.223Q137.740-17.127 137.858-17.105Q137.975-17.084 138.225-17.084L138.225-16.787L136.975-16.709L136.975-17.193Q136.510-16.709 135.830-16.709M135.897-16.963Q136.236-16.963 136.529-17.154Q136.822-17.346 136.975-17.642L136.975-19.474Q136.826-19.748 136.565-19.904Q136.303-20.060 135.990-20.060Q135.365-20.060 135.082-19.613Q134.799-19.166 134.799-18.506Q134.799-17.861 135.051-17.412Q135.303-16.963 135.897-16.963M140.740-16.787L138.760-16.787L138.760-17.084Q139.029-17.084 139.197-17.129Q139.365-17.174 139.365-17.346L139.365-19.482Q139.365-19.697 139.303-19.793Q139.240-19.889 139.123-19.910Q139.006-19.932 138.760-19.932L138.760-20.228L139.928-20.314L139.928-19.529Q140.006-19.740 140.158-19.926Q140.311-20.111 140.510-20.213Q140.709-20.314 140.936-20.314Q141.182-20.314 141.373-20.170Q141.565-20.025 141.565-19.795Q141.565-19.639 141.459-19.529Q141.354-19.420 141.197-19.420Q141.041-19.420 140.932-19.529Q140.822-19.639 140.822-19.795Q140.822-19.955 140.928-20.060Q140.604-20.060 140.389-19.832Q140.174-19.603 140.078-19.264Q139.983-18.924 139.983-18.619L139.983-17.346Q139.983-17.178 140.209-17.131Q140.436-17.084 140.740-17.084L140.740-16.787M142.045-18.541Q142.045-19.021 142.277-19.437Q142.510-19.853 142.920-20.103Q143.330-20.353 143.807-20.353Q144.537-20.353 144.936-19.912Q145.334-19.471 145.334-18.740Q145.334-18.635 145.240-18.611L142.791-18.611L142.791-18.541Q142.791-18.131 142.912-17.775Q143.033-17.420 143.305-17.203Q143.576-16.986 144.006-16.986Q144.369-16.986 144.666-17.215Q144.963-17.443 145.065-17.795Q145.072-17.842 145.158-17.857L145.240-17.857Q145.334-17.830 145.334-17.748Q145.334-17.740 145.326-17.709Q145.264-17.482 145.125-17.299Q144.986-17.115 144.795-16.982Q144.604-16.849 144.385-16.779Q144.166-16.709 143.928-16.709Q143.557-16.709 143.219-16.846Q142.881-16.982 142.613-17.234Q142.346-17.486 142.195-17.826Q142.045-18.166 142.045-18.541M142.799-18.849L144.760-18.849Q144.760-19.154 144.658-19.445Q144.557-19.736 144.340-19.918Q144.123-20.099 143.807-20.099Q143.506-20.099 143.275-19.912Q143.045-19.724 142.922-19.433Q142.799-19.142 142.799-18.849M147.752-16.787L145.897-16.787L145.897-17.084Q146.170-17.084 146.338-17.131Q146.506-17.178 146.506-17.346L146.506-19.482Q146.506-19.697 146.443-19.793Q146.381-19.889 146.262-19.910Q146.143-19.932 145.897-19.932L145.897-20.228L147.088-20.314L147.088-19.580Q147.201-19.795 147.395-19.963Q147.588-20.131 147.826-20.223Q148.065-20.314 148.318-20.314Q149.486-20.314 149.486-19.236L149.486-17.346Q149.486-17.178 149.656-17.131Q149.826-17.084 150.096-17.084L150.096-16.787L148.240-16.787L148.240-17.084Q148.514-17.084 148.682-17.131Q148.850-17.178 148.850-17.346L148.850-19.221Q148.850-19.603 148.729-19.832Q148.608-20.060 148.256-20.060Q147.943-20.060 147.690-19.898Q147.436-19.736 147.289-19.467Q147.143-19.197 147.143-18.900L147.143-17.346Q147.143-17.178 147.313-17.131Q147.483-17.084 147.752-17.084",[1838],[1814,2237,2238],{"transform":2189},[1824,2239],{"d":2240,"fill":1816,"stroke":1816,"className":2241,"style":1992},"M153.944-17.420Q154.135-17.146 154.491-17.019Q154.846-16.892 155.229-16.892Q155.565-16.892 155.774-17.078Q155.983-17.264 156.079-17.557Q156.174-17.849 156.174-18.162Q156.174-18.486 156.077-18.781Q155.979-19.076 155.766-19.260Q155.553-19.443 155.221-19.443L154.655-19.443Q154.624-19.443 154.594-19.473Q154.565-19.502 154.565-19.529L154.565-19.611Q154.565-19.646 154.594-19.672Q154.624-19.697 154.655-19.697L155.135-19.732Q155.421-19.732 155.618-19.937Q155.815-20.142 155.911-20.437Q156.006-20.732 156.006-21.010Q156.006-21.389 155.807-21.627Q155.608-21.865 155.229-21.865Q154.909-21.865 154.620-21.758Q154.331-21.650 154.167-21.428Q154.346-21.428 154.469-21.301Q154.592-21.174 154.592-21.002Q154.592-20.830 154.467-20.705Q154.342-20.580 154.167-20.580Q153.995-20.580 153.870-20.705Q153.745-20.830 153.745-21.002Q153.745-21.369 153.969-21.617Q154.194-21.865 154.534-21.986Q154.874-22.107 155.229-22.107Q155.577-22.107 155.940-21.986Q156.303-21.865 156.551-21.615Q156.799-21.365 156.799-21.010Q156.799-20.525 156.481-20.142Q156.163-19.760 155.686-19.588Q156.237-19.478 156.637-19.092Q157.038-18.705 157.038-18.170Q157.038-17.713 156.774-17.357Q156.510-17.002 156.089-16.810Q155.667-16.619 155.229-16.619Q154.819-16.619 154.426-16.754Q154.034-16.889 153.768-17.174Q153.503-17.459 153.503-17.877Q153.503-18.072 153.635-18.201Q153.768-18.330 153.960-18.330Q154.085-18.330 154.188-18.271Q154.292-18.213 154.354-18.107Q154.417-18.002 154.417-17.877Q154.417-17.682 154.282-17.551Q154.147-17.420 153.944-17.420",[1838],[1814,2243,2244],{"transform":2189},[1824,2245],{"d":2246,"fill":1816,"stroke":1816,"className":2247,"style":1992},"M158.225-15.381Q158.225-15.404 158.256-15.451Q158.549-15.713 158.715-16.080Q158.881-16.447 158.881-16.834L158.881-16.892Q158.753-16.787 158.585-16.787Q158.393-16.787 158.256-16.920Q158.120-17.053 158.120-17.252Q158.120-17.443 158.256-17.576Q158.393-17.709 158.585-17.709Q158.885-17.709 159.010-17.439Q159.135-17.170 159.135-16.834Q159.135-16.385 158.954-15.971Q158.772-15.557 158.432-15.260Q158.409-15.236 158.370-15.236Q158.323-15.236 158.274-15.281Q158.225-15.326 158.225-15.381",[1838],[1814,2249,2250],{"transform":2189},[1824,2251],{"d":2252,"fill":1816,"stroke":1816,"className":2253,"style":1992},"M163.659-18.099L161.417-18.099L161.417-18.396L163.988-22.053Q164.027-22.107 164.089-22.107L164.234-22.107Q164.284-22.107 164.316-22.076Q164.347-22.045 164.347-21.994L164.347-18.396L165.179-18.396L165.179-18.099L164.347-18.099L164.347-17.346Q164.347-17.084 165.171-17.084L165.171-16.787L162.835-16.787L162.835-17.084Q163.659-17.084 163.659-17.346L163.659-18.099M163.714-21.201L161.745-18.396L163.714-18.396L163.714-21.201M166.249-15.381Q166.249-15.404 166.281-15.451Q166.574-15.713 166.740-16.080Q166.906-16.447 166.906-16.834L166.906-16.892Q166.777-16.787 166.609-16.787Q166.417-16.787 166.281-16.920Q166.144-17.053 166.144-17.252Q166.144-17.443 166.281-17.576Q166.417-17.709 166.609-17.709Q166.909-17.709 167.034-17.439Q167.159-17.170 167.159-16.834Q167.159-16.385 166.978-15.971Q166.796-15.557 166.456-15.260Q166.433-15.236 166.394-15.236Q166.347-15.236 166.298-15.281Q166.249-15.326 166.249-15.381",[1838],[1814,2255,2256],{"transform":2189},[1824,2257],{"d":2258,"fill":1816,"stroke":1816,"className":2259,"style":1992},"M172.775-16.787L170.943-16.787L170.943-17.084Q171.217-17.084 171.385-17.131Q171.553-17.178 171.553-17.346L171.553-21.506Q171.553-21.721 171.490-21.816Q171.428-21.912 171.309-21.933Q171.189-21.955 170.943-21.955L170.943-22.252L172.166-22.338L172.166-17.346Q172.166-17.178 172.334-17.131Q172.502-17.084 172.775-17.084L172.775-16.787M173.221-18.541Q173.221-19.021 173.453-19.437Q173.685-19.853 174.096-20.103Q174.506-20.353 174.982-20.353Q175.713-20.353 176.111-19.912Q176.510-19.471 176.510-18.740Q176.510-18.635 176.416-18.611L173.967-18.611L173.967-18.541Q173.967-18.131 174.088-17.775Q174.209-17.420 174.480-17.203Q174.752-16.986 175.182-16.986Q175.545-16.986 175.842-17.215Q176.139-17.443 176.240-17.795Q176.248-17.842 176.334-17.857L176.416-17.857Q176.510-17.830 176.510-17.748Q176.510-17.740 176.502-17.709Q176.439-17.482 176.301-17.299Q176.162-17.115 175.971-16.982Q175.779-16.849 175.560-16.779Q175.342-16.709 175.103-16.709Q174.732-16.709 174.394-16.846Q174.057-16.982 173.789-17.234Q173.521-17.486 173.371-17.826Q173.221-18.166 173.221-18.541M173.975-18.849L175.935-18.849Q175.935-19.154 175.834-19.445Q175.732-19.736 175.516-19.918Q175.299-20.099 174.982-20.099Q174.682-20.099 174.451-19.912Q174.221-19.724 174.098-19.433Q173.975-19.142 173.975-18.849M177.096-17.619Q177.096-18.103 177.498-18.398Q177.900-18.693 178.451-18.812Q179.002-18.932 179.494-18.932L179.494-19.221Q179.494-19.447 179.379-19.654Q179.264-19.861 179.066-19.980Q178.869-20.099 178.639-20.099Q178.213-20.099 177.928-19.994Q177.998-19.967 178.045-19.912Q178.092-19.857 178.117-19.787Q178.143-19.717 178.143-19.642Q178.143-19.537 178.092-19.445Q178.041-19.353 177.949-19.303Q177.857-19.252 177.752-19.252Q177.646-19.252 177.555-19.303Q177.463-19.353 177.412-19.445Q177.361-19.537 177.361-19.642Q177.361-20.060 177.750-20.207Q178.139-20.353 178.639-20.353Q178.971-20.353 179.324-20.223Q179.678-20.092 179.906-19.838Q180.135-19.584 180.135-19.236L180.135-17.435Q180.135-17.303 180.207-17.193Q180.279-17.084 180.408-17.084Q180.533-17.084 180.602-17.189Q180.670-17.295 180.670-17.435L180.670-17.947L180.951-17.947L180.951-17.435Q180.951-17.232 180.834-17.074Q180.717-16.916 180.535-16.832Q180.353-16.748 180.150-16.748Q179.920-16.748 179.768-16.920Q179.615-17.092 179.584-17.322Q179.424-17.041 179.115-16.875Q178.807-16.709 178.455-16.709Q177.943-16.709 177.519-16.932Q177.096-17.154 177.096-17.619M177.783-17.619Q177.783-17.334 178.010-17.148Q178.236-16.963 178.529-16.963Q178.775-16.963 179-17.080Q179.225-17.197 179.359-17.400Q179.494-17.603 179.494-17.857L179.494-18.689Q179.228-18.689 178.943-18.635Q178.658-18.580 178.387-18.451Q178.115-18.322 177.949-18.115Q177.783-17.908 177.783-17.619",[1838],[1814,2261,2262],{"transform":2189},[1824,2263],{"d":2264,"fill":1816,"stroke":1816,"className":2265,"style":1992},"M182.815-16.818L181.592-19.674Q181.510-19.849 181.366-19.894Q181.221-19.939 180.952-19.939L180.952-20.236L182.663-20.236L182.663-19.939Q182.241-19.939 182.241-19.756Q182.241-19.721 182.256-19.674L183.202-17.482L184.042-19.459Q184.081-19.537 184.081-19.627Q184.081-19.767 183.975-19.853Q183.870-19.939 183.729-19.939L183.729-20.236L185.081-20.236L185.081-19.939Q184.557-19.939 184.342-19.459L183.217-16.818Q183.155-16.709 183.049-16.709L182.983-16.709Q182.870-16.709 182.815-16.818",[1838],[1814,2267,2268],{"transform":2189},[1824,2269],{"d":2270,"fill":1816,"stroke":1816,"className":2271,"style":1992},"M185.264-18.541Q185.264-19.021 185.497-19.437Q185.729-19.853 186.139-20.103Q186.549-20.353 187.026-20.353Q187.756-20.353 188.155-19.912Q188.553-19.471 188.553-18.740Q188.553-18.635 188.460-18.611L186.010-18.611L186.010-18.541Q186.010-18.131 186.131-17.775Q186.253-17.420 186.524-17.203Q186.796-16.986 187.225-16.986Q187.589-16.986 187.885-17.215Q188.182-17.443 188.284-17.795Q188.292-17.842 188.378-17.857L188.460-17.857Q188.553-17.830 188.553-17.748Q188.553-17.740 188.546-17.709Q188.483-17.482 188.344-17.299Q188.206-17.115 188.014-16.982Q187.823-16.849 187.604-16.779Q187.385-16.709 187.147-16.709Q186.776-16.709 186.438-16.846Q186.100-16.982 185.833-17.234Q185.565-17.486 185.415-17.826Q185.264-18.166 185.264-18.541M186.018-18.849L187.979-18.849Q187.979-19.154 187.878-19.445Q187.776-19.736 187.559-19.918Q187.342-20.099 187.026-20.099Q186.725-20.099 186.495-19.912Q186.264-19.724 186.141-19.433Q186.018-19.142 186.018-18.849M189.085-16.795L189.085-18.017Q189.085-18.045 189.116-18.076Q189.147-18.107 189.171-18.107L189.276-18.107Q189.346-18.107 189.362-18.045Q189.424-17.724 189.563-17.484Q189.702-17.244 189.934-17.103Q190.167-16.963 190.475-16.963Q190.714-16.963 190.922-17.023Q191.131-17.084 191.268-17.232Q191.405-17.381 191.405-17.627Q191.405-17.881 191.194-18.047Q190.983-18.213 190.714-18.267L190.092-18.381Q189.686-18.459 189.385-18.715Q189.085-18.971 189.085-19.346Q189.085-19.713 189.286-19.935Q189.487-20.158 189.811-20.256Q190.135-20.353 190.475-20.353Q190.940-20.353 191.237-20.146L191.460-20.330Q191.483-20.353 191.514-20.353L191.565-20.353Q191.596-20.353 191.624-20.326Q191.651-20.299 191.651-20.267L191.651-19.283Q191.651-19.252 191.626-19.223Q191.600-19.193 191.565-19.193L191.460-19.193Q191.424-19.193 191.397-19.221Q191.370-19.248 191.370-19.283Q191.370-19.682 191.118-19.902Q190.866-20.123 190.467-20.123Q190.112-20.123 189.829-20Q189.546-19.877 189.546-19.572Q189.546-19.353 189.747-19.221Q189.948-19.088 190.194-19.045L190.819-18.932Q191.249-18.842 191.557-18.545Q191.866-18.248 191.866-17.834Q191.866-17.264 191.467-16.986Q191.069-16.709 190.475-16.709Q189.924-16.709 189.573-17.045L189.276-16.732Q189.253-16.709 189.217-16.709L189.171-16.709Q189.147-16.709 189.116-16.740Q189.085-16.771 189.085-16.795",[1838],[1814,2273,2274],{"transform":2189},[1824,2275],{"d":2276,"fill":1816,"stroke":1816,"className":2277,"style":1992},"M195.783-17.420Q195.974-17.146 196.330-17.019Q196.685-16.892 197.068-16.892Q197.404-16.892 197.613-17.078Q197.822-17.264 197.918-17.557Q198.013-17.849 198.013-18.162Q198.013-18.486 197.916-18.781Q197.818-19.076 197.605-19.260Q197.392-19.443 197.060-19.443L196.494-19.443Q196.463-19.443 196.433-19.473Q196.404-19.502 196.404-19.529L196.404-19.611Q196.404-19.646 196.433-19.672Q196.463-19.697 196.494-19.697L196.974-19.732Q197.260-19.732 197.457-19.937Q197.654-20.142 197.750-20.437Q197.845-20.732 197.845-21.010Q197.845-21.389 197.646-21.627Q197.447-21.865 197.068-21.865Q196.748-21.865 196.459-21.758Q196.170-21.650 196.006-21.428Q196.185-21.428 196.308-21.301Q196.431-21.174 196.431-21.002Q196.431-20.830 196.306-20.705Q196.181-20.580 196.006-20.580Q195.834-20.580 195.709-20.705Q195.584-20.830 195.584-21.002Q195.584-21.369 195.808-21.617Q196.033-21.865 196.373-21.986Q196.713-22.107 197.068-22.107Q197.416-22.107 197.779-21.986Q198.142-21.865 198.390-21.615Q198.638-21.365 198.638-21.010Q198.638-20.525 198.320-20.142Q198.002-19.760 197.525-19.588Q198.076-19.478 198.476-19.092Q198.877-18.705 198.877-18.170Q198.877-17.713 198.613-17.357Q198.349-17.002 197.928-16.810Q197.506-16.619 197.068-16.619Q196.658-16.619 196.265-16.754Q195.873-16.889 195.607-17.174Q195.342-17.459 195.342-17.877Q195.342-18.072 195.474-18.201Q195.607-18.330 195.799-18.330Q195.924-18.330 196.027-18.271Q196.131-18.213 196.193-18.107Q196.256-18.002 196.256-17.877Q196.256-17.682 196.121-17.551Q195.986-17.420 195.783-17.420",[1838],[1814,2279,2280],{"transform":2189},[1824,2281],{"d":2282,"fill":1816,"stroke":1816,"className":2283,"style":1992},"M200.065-15.381Q200.065-15.404 200.096-15.451Q200.389-15.713 200.555-16.080Q200.721-16.447 200.721-16.834L200.721-16.892Q200.593-16.787 200.425-16.787Q200.233-16.787 200.096-16.920Q199.960-17.053 199.960-17.252Q199.960-17.443 200.096-17.576Q200.233-17.709 200.425-17.709Q200.725-17.709 200.850-17.439Q200.975-17.170 200.975-16.834Q200.975-16.385 200.794-15.971Q200.612-15.557 200.272-15.260Q200.249-15.236 200.210-15.236Q200.163-15.236 200.114-15.281Q200.065-15.326 200.065-15.381",[1838],[1814,2285,2286],{"transform":2189},[1824,2287],{"d":2288,"fill":1816,"stroke":1816,"className":2289,"style":1992},"M206.612-16.787L203.819-16.787L203.819-17.084Q204.881-17.084 204.881-17.346L204.881-21.514Q204.452-21.299 203.772-21.299L203.772-21.596Q204.791-21.596 205.307-22.107L205.452-22.107Q205.526-22.088 205.545-22.010L205.545-17.346Q205.545-17.084 206.612-17.084",[1838],[1814,2291,2292],{"transform":2189},[1824,2293],{"d":2294,"fill":1816,"stroke":1816,"className":2295,"style":1992},"M208.092-15.381Q208.092-15.404 208.123-15.451Q208.416-15.713 208.582-16.080Q208.748-16.447 208.748-16.834L208.748-16.892Q208.620-16.787 208.452-16.787Q208.260-16.787 208.123-16.920Q207.987-17.053 207.987-17.252Q207.987-17.443 208.123-17.576Q208.260-17.709 208.452-17.709Q208.752-17.709 208.877-17.439Q209.002-17.170 209.002-16.834Q209.002-16.385 208.821-15.971Q208.639-15.557 208.299-15.260Q208.276-15.236 208.237-15.236Q208.190-15.236 208.141-15.281Q208.092-15.326 208.092-15.381",[1838],[1814,2297,2298],{"transform":2189},[1824,2299],{"d":2300,"fill":1816,"stroke":1816,"className":2301,"style":1992},"M214.640-16.787L211.847-16.787L211.847-17.084Q212.909-17.084 212.909-17.346L212.909-21.514Q212.480-21.299 211.800-21.299L211.800-21.596Q212.819-21.596 213.335-22.107L213.480-22.107Q213.554-22.088 213.573-22.010L213.573-17.346Q213.573-17.084 214.640-17.084",[1838],[2303,2304,2307,2308,2372,2373,2388,2389,2404],"figcaption",{"className":2305},[2306],"tikz-cap","Post-order combine for max-weight independent set: each node caches ",[403,2309,2311],{"className":2310},[406],[403,2312,2314],{"className":2313,"ariaHidden":411},[410],[403,2315,2317,2320,2323,2326,2329,2332,2335,2338,2341,2344,2348,2351,2354,2357,2360,2363,2366,2369],{"className":2316},[415],[403,2318],{"className":2319,"style":420},[419],[403,2321,944],{"className":2322},[424,425],[403,2324,381],{"className":2325},[424,425],[403,2327,951],{"className":2328},[431],[403,2330,437],{"className":2331,"style":436},[424,425],[403,2333,958],{"className":2334},[441],[403,2336,951],{"className":2337},[431],[403,2339,870],{"className":2340},[424],[403,2342,958],{"className":2343},[441],[403,2345,2347],{"className":2346},[424],"\u002F",[403,2349,944],{"className":2350},[424,425],[403,2352,381],{"className":2353},[424,425],[403,2355,951],{"className":2356},[431],[403,2358,437],{"className":2359,"style":436},[424,425],[403,2361,958],{"className":2362},[441],[403,2364,951],{"className":2365},[431],[403,2367,664],{"className":2368},[424],[403,2370,958],{"className":2371},[441]," (skip ",[403,2374,2376],{"className":2375},[406],[403,2377,2379],{"className":2378,"ariaHidden":411},[410],[403,2380,2382,2385],{"className":2381},[415],[403,2383],{"className":2384,"style":456},[419],[403,2386,437],{"className":2387,"style":436},[424,425]," \u002F take ",[403,2390,2392],{"className":2391},[406],[403,2393,2395],{"className":2394,"ariaHidden":411},[410],[403,2396,2398,2401],{"className":2397},[415],[403,2399],{"className":2400,"style":456},[419],[403,2402,437],{"className":2403,"style":436},[424,425],"); the chosen set (root + its grandchildren) is shaded",[2406,2407,2411],"pre",{"className":2408,"code":2409,"language":2410,"meta":376,"style":376},"language-algorithm shiki shiki-themes Vesper Light - Orange Boost (Quick Open Adjusted) vesper","caption: $\\textsc{MaxIndepSet}(v)$ — returns the pair $(dp[v][0],\\, dp[v][1])$\nif $v = \\text{nil}$ then\n  return $(0, 0)$\n$take \\gets w_v$ \u002F\u002F $v$ taken\n$skip \\gets 0$   \u002F\u002F $v$ excluded\nfor each child $c$ of $v$ do\n  $(c_0, c_1) \\gets \\textsc{MaxIndepSet}(c)$\n  $skip \\gets skip + \\max(c_0, c_1)$ \u002F\u002F child free\n  $take \\gets take + c_0$            \u002F\u002F child forbidden\nreturn $(skip, take)$\n","algorithm",[2412,2413,2414,2420,2425,2430,2435,2440,2445,2450,2455,2460],"code",{"__ignoreMap":376},[403,2415,2417],{"class":2416,"line":6},"line",[403,2418,2419],{},"caption: $\\textsc{MaxIndepSet}(v)$ — returns the pair $(dp[v][0],\\, dp[v][1])$\n",[403,2421,2422],{"class":2416,"line":18},[403,2423,2424],{},"if $v = \\text{nil}$ then\n",[403,2426,2427],{"class":2416,"line":24},[403,2428,2429],{},"  return $(0, 0)$\n",[403,2431,2432],{"class":2416,"line":73},[403,2433,2434],{},"$take \\gets w_v$ \u002F\u002F $v$ taken\n",[403,2436,2437],{"class":2416,"line":102},[403,2438,2439],{},"$skip \\gets 0$   \u002F\u002F $v$ excluded\n",[403,2441,2442],{"class":2416,"line":108},[403,2443,2444],{},"for each child $c$ of $v$ do\n",[403,2446,2447],{"class":2416,"line":116},[403,2448,2449],{},"  $(c_0, c_1) \\gets \\textsc{MaxIndepSet}(c)$\n",[403,2451,2452],{"class":2416,"line":196},[403,2453,2454],{},"  $skip \\gets skip + \\max(c_0, c_1)$ \u002F\u002F child free\n",[403,2456,2457],{"class":2416,"line":202},[403,2458,2459],{},"  $take \\gets take + c_0$            \u002F\u002F child forbidden\n",[403,2461,2462],{"class":2416,"line":283},[403,2463,2464],{},"return $(skip, take)$\n",[381,2466,2467,2468,2483,2484,2499,2500,2524,2525,2549,2550,2553,2554],{},"Correctness is an induction on subtree size: assuming the recursive calls return\ncorrect pairs for every child, the two formulas above exhaust the only two\nchoices for ",[403,2469,2471],{"className":2470},[406],[403,2472,2474],{"className":2473,"ariaHidden":411},[410],[403,2475,2477,2480],{"className":2476},[415],[403,2478],{"className":2479,"style":456},[419],[403,2481,437],{"className":2482,"style":436},[424,425]," and combine each child's correct sub-answer optimally, so the\nreturned pair is correct for ",[403,2485,2487],{"className":2486},[406],[403,2488,2490],{"className":2489,"ariaHidden":411},[410],[403,2491,2493,2496],{"className":2492},[415],[403,2494],{"className":2495,"style":456},[419],[403,2497,437],{"className":2498,"style":436},[424,425],". The procedure visits each node once and spends\n",[403,2501,2503],{"className":2502},[406],[403,2504,2506],{"className":2505,"ariaHidden":411},[410],[403,2507,2509,2512,2515,2518,2521],{"className":2508},[415],[403,2510],{"className":2511,"style":420},[419],[403,2513,657],{"className":2514,"style":656},[424,425],[403,2516,432],{"className":2517},[431],[403,2519,664],{"className":2520},[424],[403,2522,442],{"className":2523},[441]," per child, hence ",[403,2526,2528],{"className":2527},[406],[403,2529,2531],{"className":2530,"ariaHidden":411},[410],[403,2532,2534,2537,2540,2543,2546],{"className":2533},[415],[403,2535],{"className":2536,"style":420},[419],[403,2538,684],{"className":2539},[424],[403,2541,432],{"className":2542},[431],[403,2544,691],{"className":2545},[424,425],[403,2547,442],{"className":2548},[441]," total. The state, ",[398,2551,2552],{},"taken vs. not taken",", is\nthe part worth remembering: a single extra bit per node turns an intractable\ngraph problem into a linear-time tree sweep.",[713,2555,2556],{},[462,2557,2561],{"href":2558,"ariaDescribedBy":2559,"dataFootnoteRef":376,"id":2560},"#user-content-fn-clrs-dp",[719],"user-content-fnref-clrs-dp","3",[756,2563,2565],{"id":2564},"paths-through-a-node-diameter-and-maximum-path-sum","Paths through a node: diameter and maximum path sum",[381,2567,2568,2569,2571,2572,2575,2576,2579,2580,2583],{},"A second pattern arises when the quantity we care about is a ",[385,2570,1824],{},", not a set.\nThe ",[385,2573,2574],{},"diameter"," of a tree is the number of edges on its longest path; the\n",[385,2577,2578],{},"maximum path sum"," (where nodes carry values, possibly negative) is the largest\ntotal along any path. Neither is a clean subtree quantity, because the optimal\npath may ",[398,2581,2582],{},"bend"," at some node, descending into two different children.",[381,2585,2586,2587,2602,2603,2631,2632,2635,2636,2651,2652,2667,2668,2763,2764,2782],{},"The resolution is the signature move of tree DP on paths. At each node ",[403,2588,2590],{"className":2589},[406],[403,2591,2593],{"className":2592,"ariaHidden":411},[410],[403,2594,2596,2599],{"className":2595},[415],[403,2597],{"className":2598,"style":456},[419],[403,2600,437],{"className":2601,"style":436},[424,425],",\nlet ",[403,2604,2606],{"className":2605},[406],[403,2607,2609],{"className":2608,"ariaHidden":411},[410],[403,2610,2612,2615,2622,2625,2628],{"className":2611},[415],[403,2613],{"className":2614,"style":420},[419],[403,2616,2618],{"className":2617},[424,556],[403,2619,2621],{"className":2620},[424,560],"down",[403,2623,432],{"className":2624},[431],[403,2626,437],{"className":2627,"style":436},[424,425],[403,2629,442],{"className":2630},[441]," be the best ",[398,2633,2634],{},"downward"," path that starts at ",[403,2637,2639],{"className":2638},[406],[403,2640,2642],{"className":2641,"ariaHidden":411},[410],[403,2643,2645,2648],{"className":2644},[415],[403,2646],{"className":2647,"style":456},[419],[403,2649,437],{"className":2650,"style":436},[424,425]," and goes\ninto a single subtree. A child ",[403,2653,2655],{"className":2654},[406],[403,2656,2658],{"className":2657,"ariaHidden":411},[410],[403,2659,2661,2664],{"className":2660},[415],[403,2662],{"className":2663,"style":456},[419],[403,2665,587],{"className":2666},[424,425]," extends to ",[403,2669,2671],{"className":2670},[406],[403,2672,2674,2704],{"className":2673,"ariaHidden":411},[410],[403,2675,2677,2680,2686,2689,2692,2695,2698,2701],{"className":2676},[415],[403,2678],{"className":2679,"style":420},[419],[403,2681,2683],{"className":2682},[424,556],[403,2684,2621],{"className":2685},[424,560],[403,2687,432],{"className":2688},[431],[403,2690,587],{"className":2691},[424,425],[403,2693,442],{"className":2694},[441],[403,2696],{"className":2697,"style":1448},[536],[403,2699,1453],{"className":2700},[1452],[403,2702],{"className":2703,"style":1448},[536],[403,2705,2707,2710,2713,2720,2760],{"className":2706},[415],[403,2708],{"className":2709,"style":420},[419],[403,2711,432],{"className":2712},[431],[403,2714,2716],{"className":2715},[424,556],[403,2717,2719],{"className":2718},[424],"edge or ",[403,2721,2723,2726],{"className":2722},[424],[403,2724,799],{"className":2725,"style":798},[424,425],[403,2727,2729],{"className":2728},[803],[403,2730,2732,2752],{"className":2731},[807,808],[403,2733,2735,2749],{"className":2734},[812],[403,2736,2738],{"className":2737,"style":817},[816],[403,2739,2740,2743],{"style":820},[403,2741],{"className":2742,"style":825},[824],[403,2744,2746],{"className":2745},[829,830,831,832],[403,2747,437],{"className":2748,"style":436},[424,425,832],[403,2750,840],{"className":2751},[839],[403,2753,2755],{"className":2754},[812],[403,2756,2758],{"className":2757,"style":847},[816],[403,2759],{},[403,2761,442],{"className":2762},[441],". The best path that ",[385,2765,2766,2767],{},"bends at ",[403,2768,2770],{"className":2769},[406],[403,2771,2773],{"className":2772,"ariaHidden":411},[410],[403,2774,2776,2779],{"className":2775},[415],[403,2777],{"className":2778,"style":456},[419],[403,2780,437],{"className":2781,"style":436},[424,425]," combines its two best children:",[403,2784,2786],{"className":2785},[508],[403,2787,2789],{"className":2788},[406],[403,2790,2792,2823,2892],{"className":2791,"ariaHidden":411},[410],[403,2793,2795,2798,2805,2808,2811,2814,2817,2820],{"className":2794},[415],[403,2796],{"className":2797,"style":420},[419],[403,2799,2801],{"className":2800},[424,556],[403,2802,2804],{"className":2803},[424,560],"best",[403,2806,432],{"className":2807},[431],[403,2809,437],{"className":2810,"style":436},[424,425],[403,2812,442],{"className":2813},[441],[403,2815],{"className":2816,"style":537},[536],[403,2818,542],{"className":2819},[541],[403,2821],{"className":2822,"style":537},[536],[403,2824,2826,2829,2835,2838,2880,2883,2886,2889],{"className":2825},[415],[403,2827],{"className":2828,"style":420},[419],[403,2830,2832],{"className":2831},[424,556],[403,2833,2621],{"className":2834},[424,560],[403,2836,432],{"className":2837},[431],[403,2839,2841,2844],{"className":2840},[424],[403,2842,587],{"className":2843},[424,425],[403,2845,2847],{"className":2846},[803],[403,2848,2850,2872],{"className":2849},[807,808],[403,2851,2853,2869],{"className":2852},[812],[403,2854,2857],{"className":2855,"style":2856},[816],"height:0.3011em;",[403,2858,2860,2863],{"style":2859},"top:-2.55em;margin-left:0em;margin-right:0.05em;",[403,2861],{"className":2862,"style":825},[824],[403,2864,2866],{"className":2865},[829,830,831,832],[403,2867,664],{"className":2868},[424,832],[403,2870,840],{"className":2871},[839],[403,2873,2875],{"className":2874},[812],[403,2876,2878],{"className":2877,"style":847},[816],[403,2879],{},[403,2881,442],{"className":2882},[441],[403,2884],{"className":2885,"style":1448},[536],[403,2887,1453],{"className":2888},[1452],[403,2890],{"className":2891,"style":1448},[536],[403,2893,2895,2898,2904,2907,2947,2950,2953,2956,2959,2962,3002,3005],{"className":2894},[415],[403,2896],{"className":2897,"style":420},[419],[403,2899,2901],{"className":2900},[424,556],[403,2902,2621],{"className":2903},[424,560],[403,2905,432],{"className":2906},[431],[403,2908,2910,2913],{"className":2909},[424],[403,2911,587],{"className":2912},[424,425],[403,2914,2916],{"className":2915},[803],[403,2917,2919,2939],{"className":2918},[807,808],[403,2920,2922,2936],{"className":2921},[812],[403,2923,2925],{"className":2924,"style":2856},[816],[403,2926,2927,2930],{"style":2859},[403,2928],{"className":2929,"style":825},[824],[403,2931,2933],{"className":2932},[829,830,831,832],[403,2934,883],{"className":2935},[424,832],[403,2937,840],{"className":2938},[839],[403,2940,2942],{"className":2941},[812],[403,2943,2945],{"className":2944,"style":847},[816],[403,2946],{},[403,2948,442],{"className":2949},[441],[403,2951],{"className":2952,"style":537},[536],[403,2954,432],{"className":2955},[431],[403,2957,1453],{"className":2958},[424],[403,2960],{"className":2961,"style":577},[536],[403,2963,2965,2968],{"className":2964},[424],[403,2966,799],{"className":2967,"style":798},[424,425],[403,2969,2971],{"className":2970},[803],[403,2972,2974,2994],{"className":2973},[807,808],[403,2975,2977,2991],{"className":2976},[812],[403,2978,2980],{"className":2979,"style":817},[816],[403,2981,2982,2985],{"style":820},[403,2983],{"className":2984,"style":825},[824],[403,2986,2988],{"className":2987},[829,830,831,832],[403,2989,437],{"className":2990,"style":436},[424,425,832],[403,2992,840],{"className":2993},[839],[403,2995,2997],{"className":2996},[812],[403,2998,3000],{"className":2999,"style":847},[816],[403,3001],{},[403,3003,442],{"className":3004},[441],[403,3006,637],{"className":3007},[636],[381,3009,3010],{},"for the two children with the largest downward values. Here is the trap that\ncatches everyone the first time:",[3012,3013,3015],"callout",{"type":3014},"remark",[381,3016,3017,3020,3021,3024,3025,3052,3053,3056,3057,3084,3085,3088,3089,3091],{},[385,3018,3019],{},"Remark (Return one thing, update another)."," A node ",[398,3022,3023],{},"returns"," to its parent only the\nsingle best downward extension ",[403,3026,3028],{"className":3027},[406],[403,3029,3031],{"className":3030,"ariaHidden":411},[410],[403,3032,3034,3037,3043,3046,3049],{"className":3033},[415],[403,3035],{"className":3036,"style":420},[419],[403,3038,3040],{"className":3039},[424,556],[403,3041,2621],{"className":3042},[424,560],[403,3044,432],{"className":3045},[431],[403,3047,437],{"className":3048,"style":436},[424,425],[403,3050,442],{"className":3051},[441],", a path the parent can lengthen.\nBut it ",[398,3054,3055],{},"updates"," a global maximum with the bent path ",[403,3058,3060],{"className":3059},[406],[403,3061,3063],{"className":3062,"ariaHidden":411},[410],[403,3064,3066,3069,3075,3078,3081],{"className":3065},[415],[403,3067],{"className":3068,"style":420},[419],[403,3070,3072],{"className":3071},[424,556],[403,3073,2804],{"className":3074},[424,560],[403,3076,432],{"className":3077},[431],[403,3079,437],{"className":3080,"style":436},[424,425],[403,3082,442],{"className":3083},[441],", which\nuses ",[385,3086,3087],{},"two"," children and therefore can ",[385,3090,1003],{}," be extended upward. Mixing the\ntwo, returning the two-child sum to the parent, would let a path fork twice\nand is the classic bug.",[2406,3093,3095],{"className":2408,"code":3094,"language":2410,"meta":376,"style":376},"caption: $\\textsc{MaxPathSum}(v)$ — returns best downward path; updates global $ans$\nif $v = \\text{nil}$ then\n  return $0$\n$L \\gets \\max(0, \\textsc{MaxPathSum}(left(v)))$  \u002F\u002F drop negative branches\n$R \\gets \\max(0, \\textsc{MaxPathSum}(right(v)))$\n$ans \\gets \\max(ans,\\; w_v + L + R)$             \u002F\u002F bend here: both sides\nreturn $w_v + \\max(L, R)$                         \u002F\u002F extendable: one side\n",[2412,3096,3097,3102,3106,3111,3116,3121,3126],{"__ignoreMap":376},[403,3098,3099],{"class":2416,"line":6},[403,3100,3101],{},"caption: $\\textsc{MaxPathSum}(v)$ — returns best downward path; updates global $ans$\n",[403,3103,3104],{"class":2416,"line":18},[403,3105,2424],{},[403,3107,3108],{"class":2416,"line":24},[403,3109,3110],{},"  return $0$\n",[403,3112,3113],{"class":2416,"line":73},[403,3114,3115],{},"$L \\gets \\max(0, \\textsc{MaxPathSum}(left(v)))$  \u002F\u002F drop negative branches\n",[403,3117,3118],{"class":2416,"line":102},[403,3119,3120],{},"$R \\gets \\max(0, \\textsc{MaxPathSum}(right(v)))$\n",[403,3122,3123],{"class":2416,"line":108},[403,3124,3125],{},"$ans \\gets \\max(ans,\\; w_v + L + R)$             \u002F\u002F bend here: both sides\n",[403,3127,3128],{"class":2416,"line":116},[403,3129,3130],{},"return $w_v + \\max(L, R)$                         \u002F\u002F extendable: one side\n",[1801,3132,3134,3373],{"className":3133},[1804,1805],[1807,3135,3139],{"xmlns":1809,"width":3136,"height":3137,"viewBox":3138},"323.867","196.628","-75 -75 242.900 147.471",[1814,3140,3141,3144,3159,3162,3169,3172,3184,3187,3194,3197,3204,3207,3215,3223,3310],{"stroke":1816,"style":1817},[1824,3142],{"fill":1829,"d":3143},"M-5.653-59.266c0-7.072-5.732-12.804-12.803-12.804S-31.26-66.338-31.26-59.266c0 7.071 5.732 12.803 12.804 12.803 7.071 0 12.803-5.732 12.803-12.803Zm-12.803 0",[1814,3145,3146,3153],{"stroke":1829,"fontSize":1830},[1814,3147,3149],{"transform":3148},"translate(-8.222 2.483)",[1824,3150],{"d":3151,"fill":1816,"stroke":1816,"className":3152,"style":1839},"M-12.220-61.318L-17.502-61.318Q-17.577-61.331-17.630-61.384Q-17.683-61.437-17.683-61.516Q-17.683-61.582-17.628-61.637Q-17.573-61.692-17.502-61.705L-12.220-61.705Q-12.150-61.692-12.099-61.641Q-12.049-61.591-12.049-61.516Q-12.049-61.349-12.220-61.318",[1838],[1814,3154,3155],{"transform":3148},[1824,3156],{"d":3157,"fill":1816,"stroke":1816,"className":3158,"style":1839},"M-7.355-59.266L-10.387-59.266L-10.387-59.582Q-9.236-59.582-9.236-59.877L-9.236-64.601Q-9.724-64.368-10.445-64.368L-10.445-64.684Q-9.315-64.684-8.753-65.260L-8.608-65.260Q-8.573-65.260-8.540-65.227Q-8.507-65.194-8.507-65.159L-8.507-59.877Q-8.507-59.582-7.355-59.582L-7.355-59.266M-4.332-59.068Q-5.457-59.068-5.870-59.965Q-6.283-60.861-6.283-62.136Q-6.283-62.909-6.134-63.608Q-5.984-64.307-5.549-64.783Q-5.114-65.260-4.332-65.260Q-3.554-65.260-3.119-64.781Q-2.684-64.302-2.534-63.606Q-2.385-62.909-2.385-62.136Q-2.385-60.857-2.798-59.963Q-3.211-59.068-4.332-59.068M-4.332-59.328Q-3.813-59.328-3.563-59.839Q-3.312-60.351-3.255-60.962Q-3.198-61.573-3.198-62.281Q-3.198-62.966-3.255-63.526Q-3.312-64.087-3.565-64.544Q-3.818-65.001-4.332-65.001Q-4.736-65.001-4.973-64.724Q-5.211-64.447-5.318-64.006Q-5.426-63.564-5.450-63.171Q-5.474-62.777-5.474-62.281Q-5.474-61.775-5.450-61.347Q-5.426-60.918-5.318-60.435Q-5.211-59.952-4.971-59.640Q-4.732-59.328-4.332-59.328",[1838],[1824,3160],{"fill":1829,"d":3161},"M-39.796-16.587c0-7.072-5.732-12.804-12.804-12.804-7.071 0-12.803 5.732-12.803 12.804 0 7.071 5.732 12.804 12.803 12.804s12.804-5.733 12.804-12.804Zm-12.804 0",[1814,3163,3165],{"transform":3164},"translate(-36.456 45.58)",[1824,3166],{"d":3167,"fill":1816,"stroke":1816,"className":3168,"style":1839},"M-17.393-59.653Q-17.146-59.354-16.540-59.354Q-16.259-59.354-16.019-59.492Q-15.780-59.631-15.602-59.853Q-15.424-60.075-15.314-60.338Q-15.081-60.914-15.081-62.030Q-15.248-61.665-15.553-61.441Q-15.859-61.217-16.241-61.217Q-16.777-61.217-17.193-61.496Q-17.608-61.775-17.839-62.241Q-18.069-62.707-18.069-63.234Q-18.069-63.647-17.922-64.016Q-17.775-64.386-17.511-64.662Q-17.248-64.939-16.878-65.100Q-16.509-65.260-16.096-65.260Q-15.538-65.260-15.164-64.968Q-14.791-64.676-14.587-64.212Q-14.382-63.748-14.303-63.232Q-14.224-62.716-14.224-62.184Q-14.224-61.468-14.492-60.745Q-14.760-60.022-15.283-59.545Q-15.806-59.068-16.531-59.068Q-17.081-59.068-17.458-59.317Q-17.836-59.565-17.836-60.083Q-17.836-60.202-17.779-60.305Q-17.722-60.409-17.621-60.468Q-17.520-60.527-17.393-60.527Q-17.208-60.527-17.085-60.395Q-16.962-60.264-16.962-60.083Q-16.962-59.908-17.089-59.780Q-17.217-59.653-17.393-59.653M-16.197-61.481Q-15.828-61.481-15.580-61.723Q-15.331-61.964-15.215-62.322Q-15.099-62.681-15.099-63.054Q-15.099-63.164-15.107-63.217Q-15.103-63.230-15.101-63.241Q-15.099-63.252-15.099-63.269Q-15.099-63.924-15.314-64.463Q-15.529-65.001-16.096-65.001Q-16.456-65.001-16.685-64.851Q-16.914-64.702-17.030-64.445Q-17.146-64.188-17.179-63.907Q-17.212-63.625-17.212-63.252L-17.212-63.217Q-17.212-62.891-17.186-62.604Q-17.160-62.316-17.061-62.057Q-16.962-61.797-16.751-61.639Q-16.540-61.481-16.197-61.481",[1838],[1824,3170],{"fill":1829,"d":3171},"M-26.58-49.113-44.476-26.74",[1814,3173,3174,3177],{"stroke":1821,"style":1822},[1824,3175],{"fill":1829,"d":3176},"M28.49-16.587c0-7.072-5.732-12.804-12.803-12.804S2.883-23.659 2.883-16.587c0 7.071 5.733 12.804 12.804 12.804s12.804-5.733 12.804-12.804Zm-12.803 0",[1814,3178,3180],{"transform":3179},"translate(29.518 45.58)",[1824,3181],{"d":3182,"fill":1821,"stroke":1821,"className":3183,"style":1839},"M-14.549-59.266L-17.999-59.266L-17.999-59.499Q-17.999-59.512-17.968-59.543L-16.514-61.120Q-16.048-61.617-15.795-61.922Q-15.542-62.228-15.351-62.639Q-15.160-63.050-15.160-63.489Q-15.160-64.078-15.483-64.511Q-15.806-64.944-16.386-64.944Q-16.650-64.944-16.896-64.834Q-17.142-64.724-17.318-64.537Q-17.494-64.350-17.590-64.100L-17.511-64.100Q-17.309-64.100-17.166-63.964Q-17.023-63.828-17.023-63.612Q-17.023-63.406-17.166-63.267Q-17.309-63.129-17.511-63.129Q-17.713-63.129-17.856-63.272Q-17.999-63.414-17.999-63.612Q-17.999-64.074-17.762-64.447Q-17.524-64.821-17.124-65.040Q-16.725-65.260-16.276-65.260Q-15.753-65.260-15.299-65.045Q-14.844-64.829-14.571-64.430Q-14.299-64.030-14.299-63.489Q-14.299-63.094-14.470-62.740Q-14.642-62.386-14.907-62.107Q-15.173-61.828-15.624-61.443Q-16.074-61.059-16.153-60.984L-17.177-60.022L-16.360-60.022Q-15.709-60.022-15.272-60.033Q-14.835-60.044-14.804-60.066Q-14.734-60.149-14.679-60.389Q-14.624-60.628-14.584-60.896L-14.299-60.896L-14.549-59.266M-11.526-59.068Q-12.651-59.068-13.064-59.965Q-13.477-60.861-13.477-62.136Q-13.477-62.909-13.328-63.608Q-13.178-64.307-12.743-64.783Q-12.308-65.260-11.526-65.260Q-10.748-65.260-10.313-64.781Q-9.878-64.302-9.728-63.606Q-9.579-62.909-9.579-62.136Q-9.579-60.857-9.992-59.963Q-10.405-59.068-11.526-59.068M-11.526-59.328Q-11.007-59.328-10.757-59.839Q-10.506-60.351-10.449-60.962Q-10.392-61.573-10.392-62.281Q-10.392-62.966-10.449-63.526Q-10.506-64.087-10.759-64.544Q-11.012-65.001-11.526-65.001Q-11.930-65.001-12.167-64.724Q-12.405-64.447-12.512-64.006Q-12.620-63.564-12.644-63.171Q-12.668-62.777-12.668-62.281Q-12.668-61.775-12.644-61.347Q-12.620-60.918-12.512-60.435Q-12.405-59.952-12.165-59.640Q-11.926-59.328-11.526-59.328",[1838],[1824,3185],{"fill":1829,"d":3186},"m-10.333-49.113 17.647 22.06M-5.653 26.092c0-7.071-5.732-12.804-12.803-12.804S-31.26 19.021-31.26 26.092s5.732 12.804 12.804 12.804c7.071 0 12.803-5.733 12.803-12.804Zm-12.803 0",[1814,3188,3190],{"transform":3189},"translate(-4.625 88.258)",[1824,3191],{"d":3192,"fill":1816,"stroke":1816,"className":3193,"style":1839},"M-14.549-59.266L-17.581-59.266L-17.581-59.582Q-16.430-59.582-16.430-59.877L-16.430-64.601Q-16.918-64.368-17.639-64.368L-17.639-64.684Q-16.509-64.684-15.947-65.260L-15.802-65.260Q-15.767-65.260-15.734-65.227Q-15.701-65.194-15.701-65.159L-15.701-59.877Q-15.701-59.582-14.549-59.582L-14.549-59.266M-13.011-60.272Q-12.871-59.859-12.510-59.607Q-12.150-59.354-11.715-59.354Q-11.262-59.354-10.996-59.607Q-10.730-59.859-10.627-60.244Q-10.524-60.628-10.524-61.085Q-10.524-62.786-11.434-62.786Q-11.754-62.786-11.983-62.692Q-12.211-62.597-12.341-62.478Q-12.471-62.360-12.583-62.221Q-12.695-62.083-12.730-62.074L-12.813-62.074Q-12.857-62.074-12.888-62.105Q-12.919-62.136-12.919-62.184L-12.919-65.181Q-12.919-65.212-12.884-65.236Q-12.849-65.260-12.822-65.260L-12.783-65.260Q-12.150-64.970-11.477-64.970Q-10.805-64.970-10.164-65.260L-10.137-65.260Q-10.106-65.260-10.073-65.238Q-10.040-65.216-10.040-65.181L-10.040-65.080Q-10.040-65.076-10.049-65.058Q-10.058-65.040-10.058-65.036Q-10.374-64.641-10.845-64.419Q-11.315-64.197-11.811-64.197Q-12.220-64.197-12.602-64.307L-12.602-62.588Q-12.145-63.045-11.434-63.045Q-10.924-63.045-10.524-62.764Q-10.124-62.483-9.902-62.028Q-9.680-61.573-9.680-61.068Q-9.680-60.518-9.959-60.059Q-10.238-59.600-10.704-59.334Q-11.170-59.068-11.715-59.068Q-12.154-59.068-12.539-59.295Q-12.923-59.521-13.152-59.901Q-13.380-60.281-13.380-60.725Q-13.380-60.918-13.248-61.050Q-13.117-61.182-12.919-61.182Q-12.787-61.182-12.684-61.123Q-12.581-61.063-12.521-60.960Q-12.462-60.857-12.462-60.725Q-12.462-60.527-12.589-60.395Q-12.717-60.264-12.919-60.264Q-12.980-60.264-13.011-60.272",[1838],[1824,3195],{"fill":1829,"d":3196},"m7.314-6.121-17.647 22.06M62.634 26.092c0-7.071-5.732-12.804-12.804-12.804-7.071 0-12.803 5.733-12.803 12.804s5.732 12.804 12.803 12.804 12.804-5.733 12.804-12.804Zm-12.804 0",[1814,3198,3200],{"transform":3199},"translate(65.974 88.258)",[1824,3201],{"d":3202,"fill":1816,"stroke":1816,"className":3203,"style":1839},"M-16.834-59.508Q-16.834-60.145-16.678-60.791Q-16.522-61.437-16.230-62.043Q-15.938-62.650-15.529-63.199L-14.712-64.307L-15.740-64.307Q-17.384-64.307-17.432-64.263Q-17.538-64.135-17.656-63.432L-17.942-63.432L-17.647-65.348L-17.357-65.348L-17.357-65.322Q-17.357-65.159-16.793-65.111Q-16.228-65.062-15.683-65.062L-13.965-65.062L-13.965-64.856Q-13.965-64.838-13.967-64.829Q-13.969-64.821-13.974-64.812L-15.261-63.063Q-15.512-62.711-15.659-62.285Q-15.806-61.859-15.872-61.395Q-15.938-60.932-15.951-60.521Q-15.964-60.110-15.964-59.508Q-15.964-59.328-16.090-59.198Q-16.215-59.068-16.395-59.068Q-16.514-59.068-16.617-59.125Q-16.720-59.183-16.777-59.286Q-16.834-59.389-16.834-59.508",[1838],[1824,3205],{"fill":1829,"d":3206},"m24.06-6.121 17.647 22.06",[1814,3208,3209,3212],{"fill":1821,"stroke":1821,"style":2025},[1824,3210],{"fill":1829,"d":3211},"M-12.622 14.471C-7.604 4.403-3.358-.935 3.315-6.437",[1824,3213],{"stroke":1829,"d":3214},"M5.321-8.09.79-7.05l2.526.613.12 2.597",[1814,3216,3217,3220],{"fill":1821,"stroke":1821,"style":2025},[1824,3218],{"fill":1829,"d":3219},"M43.996 14.471C38.978 4.403 34.732-.935 28.06-6.437",[1824,3221],{"stroke":1829,"d":3222},"m26.053-8.09 1.886 4.25.12-2.597 2.526-.612",[1814,3224,3225,3232,3238,3244,3250,3256,3262,3268,3274,3280,3286,3292,3298,3304],{"fill":1821,"stroke":1829,"fontSize":1984},[1814,3226,3228],{"transform":3227},"translate(102.078 49.79)",[1824,3229],{"d":3230,"fill":1821,"stroke":1821,"className":3231,"style":1992},"M-17.304-68.766L-17.585-68.766L-17.585-73.485Q-17.585-73.700-17.647-73.795Q-17.710-73.891-17.827-73.912Q-17.944-73.934-18.190-73.934L-18.190-74.231L-16.968-74.317L-16.968-71.829Q-16.491-72.293-15.792-72.293Q-15.311-72.293-14.903-72.049Q-14.495-71.805-14.259-71.391Q-14.022-70.977-14.022-70.493Q-14.022-70.118-14.171-69.789Q-14.319-69.461-14.589-69.209Q-14.858-68.957-15.202-68.823Q-15.546-68.688-15.905-68.688Q-16.226-68.688-16.524-68.836Q-16.823-68.985-17.030-69.246L-17.304-68.766M-16.944-71.438L-16.944-69.598Q-16.792-69.301-16.532-69.121Q-16.272-68.942-15.960-68.942Q-15.534-68.942-15.267-69.161Q-14.999-69.379-14.884-69.725Q-14.768-70.071-14.768-70.493Q-14.768-71.141-15.017-71.590Q-15.265-72.039-15.862-72.039Q-16.198-72.039-16.487-71.881Q-16.776-71.723-16.944-71.438",[1838],[1814,3233,3234],{"transform":3227},[1824,3235],{"d":3236,"fill":1821,"stroke":1821,"className":3237,"style":1992},"M-13.260-70.520Q-13.260-71-13.027-71.416Q-12.795-71.832-12.385-72.082Q-11.975-72.332-11.498-72.332Q-10.768-72.332-10.369-71.891Q-9.971-71.450-9.971-70.719Q-9.971-70.614-10.064-70.590L-12.514-70.590L-12.514-70.520Q-12.514-70.110-12.393-69.754Q-12.271-69.399-12-69.182Q-11.728-68.965-11.299-68.965Q-10.935-68.965-10.639-69.194Q-10.342-69.422-10.240-69.774Q-10.232-69.821-10.146-69.836L-10.064-69.836Q-9.971-69.809-9.971-69.727Q-9.971-69.719-9.978-69.688Q-10.041-69.461-10.180-69.278Q-10.318-69.094-10.510-68.961Q-10.701-68.829-10.920-68.758Q-11.139-68.688-11.377-68.688Q-11.748-68.688-12.086-68.825Q-12.424-68.961-12.691-69.213Q-12.959-69.465-13.109-69.805Q-13.260-70.145-13.260-70.520M-12.506-70.829L-10.545-70.829Q-10.545-71.133-10.646-71.424Q-10.748-71.715-10.965-71.897Q-11.182-72.079-11.498-72.079Q-11.799-72.079-12.029-71.891Q-12.260-71.704-12.383-71.412Q-12.506-71.121-12.506-70.829M-7.553-68.766L-9.408-68.766L-9.408-69.063Q-9.135-69.063-8.967-69.110Q-8.799-69.157-8.799-69.325L-8.799-71.461Q-8.799-71.676-8.861-71.772Q-8.924-71.868-9.043-71.889Q-9.162-71.911-9.408-71.911L-9.408-72.207L-8.217-72.293L-8.217-71.559Q-8.103-71.774-7.910-71.942Q-7.717-72.110-7.478-72.202Q-7.240-72.293-6.986-72.293Q-5.818-72.293-5.818-71.215L-5.818-69.325Q-5.818-69.157-5.648-69.110Q-5.478-69.063-5.209-69.063L-5.209-68.766L-7.064-68.766L-7.064-69.063Q-6.791-69.063-6.623-69.110Q-6.455-69.157-6.455-69.325L-6.455-71.200Q-6.455-71.582-6.576-71.811Q-6.697-72.039-7.049-72.039Q-7.361-72.039-7.615-71.877Q-7.869-71.715-8.016-71.446Q-8.162-71.176-8.162-70.879L-8.162-69.325Q-8.162-69.157-7.992-69.110Q-7.822-69.063-7.553-69.063L-7.553-68.766M-2.947-68.688Q-3.428-68.688-3.836-68.932Q-4.244-69.176-4.482-69.590Q-4.721-70.004-4.721-70.493Q-4.721-70.985-4.463-71.401Q-4.205-71.817-3.773-72.055Q-3.342-72.293-2.850-72.293Q-2.228-72.293-1.779-71.856L-1.779-73.485Q-1.779-73.700-1.842-73.795Q-1.904-73.891-2.021-73.912Q-2.139-73.934-2.385-73.934L-2.385-74.231L-1.162-74.317L-1.162-69.508Q-1.162-69.297-1.100-69.202Q-1.037-69.106-0.920-69.084Q-0.803-69.063-0.553-69.063L-0.553-68.766L-1.803-68.688L-1.803-69.172Q-2.268-68.688-2.947-68.688M-2.881-68.942Q-2.541-68.942-2.248-69.133Q-1.955-69.325-1.803-69.621L-1.803-71.454Q-1.951-71.727-2.213-71.883Q-2.475-72.039-2.787-72.039Q-3.412-72.039-3.695-71.592Q-3.978-71.145-3.978-70.485Q-3.978-69.840-3.727-69.391Q-3.475-68.942-2.881-68.942",[1838],[1814,3239,3240],{"transform":3227},[1824,3241],{"d":3242,"fill":1821,"stroke":1821,"className":3243,"style":1992},"M2.894-69.598Q2.894-70.082 3.296-70.377Q3.699-70.672 4.249-70.791Q4.800-70.911 5.292-70.911L5.292-71.200Q5.292-71.426 5.177-71.633Q5.062-71.840 4.865-71.959Q4.667-72.079 4.437-72.079Q4.011-72.079 3.726-71.973Q3.796-71.946 3.843-71.891Q3.890-71.836 3.915-71.766Q3.941-71.696 3.941-71.621Q3.941-71.516 3.890-71.424Q3.839-71.332 3.747-71.282Q3.656-71.231 3.550-71.231Q3.445-71.231 3.353-71.282Q3.261-71.332 3.210-71.424Q3.160-71.516 3.160-71.621Q3.160-72.039 3.548-72.186Q3.937-72.332 4.437-72.332Q4.769-72.332 5.122-72.202Q5.476-72.071 5.704-71.817Q5.933-71.563 5.933-71.215L5.933-69.414Q5.933-69.282 6.005-69.172Q6.078-69.063 6.206-69.063Q6.331-69.063 6.400-69.168Q6.468-69.274 6.468-69.414L6.468-69.926L6.749-69.926L6.749-69.414Q6.749-69.211 6.632-69.053Q6.515-68.895 6.333-68.811Q6.152-68.727 5.949-68.727Q5.718-68.727 5.566-68.899Q5.413-69.071 5.382-69.301Q5.222-69.020 4.913-68.854Q4.605-68.688 4.253-68.688Q3.742-68.688 3.318-68.911Q2.894-69.133 2.894-69.598M3.581-69.598Q3.581-69.313 3.808-69.127Q4.035-68.942 4.328-68.942Q4.574-68.942 4.798-69.059Q5.023-69.176 5.158-69.379Q5.292-69.582 5.292-69.836L5.292-70.668Q5.027-70.668 4.742-70.614Q4.456-70.559 4.185-70.430Q3.913-70.301 3.747-70.094Q3.581-69.887 3.581-69.598M7.667-69.727L7.667-71.918L6.964-71.918L6.964-72.172Q7.320-72.172 7.562-72.405Q7.804-72.637 7.915-72.985Q8.027-73.332 8.027-73.688L8.308-73.688L8.308-72.215L9.484-72.215L9.484-71.918L8.308-71.918L8.308-69.743Q8.308-69.422 8.427-69.194Q8.546-68.965 8.828-68.965Q9.007-68.965 9.124-69.088Q9.242-69.211 9.294-69.391Q9.347-69.571 9.347-69.743L9.347-70.215L9.628-70.215L9.628-69.727Q9.628-69.473 9.523-69.233Q9.417-68.993 9.220-68.840Q9.023-68.688 8.765-68.688Q8.449-68.688 8.197-68.811Q7.945-68.934 7.806-69.168Q7.667-69.403 7.667-69.727",[1838],[1814,3245,3246],{"transform":3227},[1824,3247],{"d":3248,"fill":1821,"stroke":1821,"className":3249,"style":1992},"M16.533-68.766L13.373-68.766L13.373-68.973Q13.373-69 13.396-69.032L14.748-70.430Q15.127-70.817 15.375-71.106Q15.623-71.395 15.797-71.752Q15.970-72.110 15.970-72.500Q15.970-72.848 15.838-73.141Q15.705-73.434 15.451-73.612Q15.197-73.789 14.842-73.789Q14.482-73.789 14.191-73.594Q13.900-73.399 13.756-73.071L13.810-73.071Q13.994-73.071 14.119-72.950Q14.244-72.829 14.244-72.637Q14.244-72.457 14.119-72.329Q13.994-72.200 13.810-72.200Q13.631-72.200 13.502-72.329Q13.373-72.457 13.373-72.637Q13.373-73.039 13.593-73.375Q13.814-73.711 14.179-73.899Q14.545-74.086 14.947-74.086Q15.427-74.086 15.843-73.899Q16.259-73.711 16.511-73.350Q16.763-72.989 16.763-72.500Q16.763-72.141 16.609-71.838Q16.455-71.536 16.203-71.276Q15.951-71.016 15.601-70.731Q15.252-70.446 15.084-70.293L14.154-69.454L14.869-69.454Q16.244-69.454 16.283-69.493Q16.353-69.571 16.396-69.756Q16.439-69.942 16.482-70.231L16.763-70.231L16.533-68.766M19.314-68.598Q18.611-68.598 18.211-68.998Q17.810-69.399 17.666-70.008Q17.521-70.618 17.521-71.317Q17.521-71.840 17.592-72.303Q17.662-72.766 17.855-73.178Q18.049-73.590 18.406-73.838Q18.763-74.086 19.314-74.086Q19.865-74.086 20.222-73.838Q20.580-73.590 20.771-73.180Q20.963-72.770 21.033-72.301Q21.103-71.832 21.103-71.317Q21.103-70.618 20.961-70.010Q20.818-69.403 20.418-69Q20.017-68.598 19.314-68.598M19.314-68.856Q19.787-68.856 20.019-69.291Q20.252-69.727 20.306-70.266Q20.361-70.805 20.361-71.446Q20.361-72.442 20.177-73.135Q19.994-73.829 19.314-73.829Q18.947-73.829 18.726-73.590Q18.506-73.352 18.410-72.995Q18.314-72.637 18.289-72.266Q18.263-71.895 18.263-71.446Q18.263-70.805 18.318-70.266Q18.373-69.727 18.605-69.291Q18.838-68.856 19.314-68.856M22.158-69.231Q22.158-69.414 22.295-69.551Q22.431-69.688 22.623-69.688Q22.814-69.688 22.947-69.555Q23.080-69.422 23.080-69.231Q23.080-69.032 22.947-68.899Q22.814-68.766 22.623-68.766Q22.431-68.766 22.295-68.903Q22.158-69.039 22.158-69.231M22.158-71.758Q22.158-71.942 22.295-72.079Q22.431-72.215 22.623-72.215Q22.814-72.215 22.947-72.082Q23.080-71.950 23.080-71.758Q23.080-71.559 22.947-71.426Q22.814-71.293 22.623-71.293Q22.431-71.293 22.295-71.430Q22.158-71.567 22.158-71.758",[1838],[1814,3251,3252],{"transform":3227},[1824,3253],{"d":3254,"fill":1821,"stroke":1821,"className":3255,"style":1992},"M-17.065-59.266L-17.792-59.266L-17.792-64.817L-17.089-64.817L-17.089-62.457Q-16.468-62.899-15.640-62.899Q-15.226-62.899-14.933-62.604Q-14.640-62.309-14.495-61.881Q-14.351-61.453-14.351-61.043Q-14.351-60.590-14.538-60.164Q-14.726-59.739-15.081-59.463Q-15.436-59.188-15.897-59.188Q-16.558-59.188-17.065-59.625L-17.065-59.266M-17.065-61.922L-17.065-60.227Q-16.995-60.106-16.868-59.987Q-16.741-59.868-16.593-59.807Q-16.444-59.746-16.288-59.746Q-15.917-59.746-15.642-59.914Q-15.366-60.082-15.224-60.375Q-15.081-60.668-15.081-61.043Q-15.081-61.606-15.364-61.971Q-15.647-62.336-16.190-62.336Q-16.444-62.336-16.677-62.229Q-16.909-62.121-17.065-61.922",[1838],[1814,3257,3258],{"transform":3227},[1824,3259],{"d":3260,"fill":1821,"stroke":1821,"className":3261,"style":1992},"M-11.710-59.188Q-12.210-59.188-12.638-59.442Q-13.065-59.696-13.315-60.129Q-13.565-60.563-13.565-61.067Q-13.565-61.418-13.435-61.764Q-13.304-62.110-13.071-62.370Q-12.839-62.629-12.520-62.784Q-12.202-62.938-11.831-62.938Q-11.046-62.938-10.675-62.391Q-10.304-61.844-10.304-61.020L-12.921-61.020Q-12.921-60.696-12.759-60.403Q-12.597-60.110-12.317-59.928Q-12.038-59.746-11.710-59.746Q-11.003-59.746-10.390-60.153L-10.343-59.555Q-10.976-59.188-11.710-59.188M-12.847-61.532L-10.831-61.532Q-10.890-61.782-11.026-61.975Q-11.163-62.168-11.370-62.274Q-11.577-62.379-11.831-62.379Q-12.183-62.379-12.458-62.133Q-12.733-61.887-12.847-61.532M-9.815-59.539L-9.702-60.168Q-9.405-59.973-9.073-59.868Q-8.741-59.762-8.382-59.762Q-8.089-59.762-7.868-59.870Q-7.647-59.977-7.647-60.243Q-7.647-60.434-7.810-60.553Q-7.972-60.672-8.183-60.707L-8.710-60.809Q-9.136-60.895-9.454-61.176Q-9.772-61.457-9.772-61.860Q-9.772-62.418-9.374-62.678Q-8.976-62.938-8.382-62.938Q-8.018-62.938-7.727-62.881Q-7.436-62.825-7.124-62.692L-7.229-62.082Q-7.550-62.254-7.829-62.325Q-8.108-62.395-8.479-62.395Q-8.733-62.395-8.925-62.293Q-9.116-62.192-9.116-61.953Q-9.116-61.789-8.974-61.682Q-8.831-61.575-8.647-61.539L-8.069-61.426Q-7.854-61.391-7.661-61.295Q-7.468-61.200-7.315-61.055Q-7.163-60.911-7.077-60.725Q-6.991-60.539-6.991-60.321Q-6.991-59.926-7.181-59.672Q-7.370-59.418-7.686-59.303Q-8.003-59.188-8.382-59.188Q-9.140-59.188-9.815-59.539M-5.284-59.188Q-5.663-59.188-5.806-59.563Q-5.948-59.938-5.948-60.387L-5.948-62.282L-6.636-62.282L-6.636-62.817L-5.925-62.817L-5.925-63.832L-5.276-63.832L-5.276-62.817L-4.108-62.817L-4.108-62.282L-5.276-62.282L-5.276-60.496Q-5.276-60.223-5.194-59.996Q-5.112-59.770-4.893-59.770Q-4.468-59.770-4.108-60.020L-3.964-59.481Q-4.577-59.188-5.284-59.188",[1838],[1814,3263,3264],{"transform":3227},[1824,3265],{"d":3266,"fill":1821,"stroke":1821,"className":3267,"style":1992},"M4.597-60.243L-0.716-60.243Q-0.794-60.250-0.843-60.299Q-0.891-60.348-0.891-60.426Q-0.891-60.496-0.844-60.547Q-0.798-60.598-0.716-60.610L4.597-60.610Q4.671-60.598 4.718-60.547Q4.765-60.496 4.765-60.426Q4.765-60.348 4.716-60.299Q4.667-60.250 4.597-60.243M4.597-61.930L-0.716-61.930Q-0.794-61.938-0.843-61.987Q-0.891-62.036-0.891-62.114Q-0.891-62.184-0.844-62.235Q-0.798-62.286-0.716-62.297L4.597-62.297Q4.671-62.286 4.718-62.235Q4.765-62.184 4.765-62.114Q4.765-62.036 4.716-61.987Q4.667-61.938 4.597-61.930",[1838],[1814,3269,3270],{"transform":3227},[1824,3271],{"d":3272,"fill":1821,"stroke":1821,"className":3273,"style":1992},"M11.202-59.266L8.409-59.266L8.409-59.563Q9.471-59.563 9.471-59.825L9.471-63.993Q9.042-63.778 8.362-63.778L8.362-64.075Q9.381-64.075 9.897-64.586L10.042-64.586Q10.116-64.567 10.135-64.489L10.135-59.825Q10.135-59.563 11.202-59.563L11.202-59.266M12.694-60.145L12.631-60.145Q12.772-59.793 13.096-59.582Q13.421-59.371 13.807-59.371Q14.401-59.371 14.651-59.805Q14.901-60.239 14.901-60.875Q14.901-61.469 14.731-61.916Q14.561-62.364 14.061-62.364Q13.764-62.364 13.559-62.284Q13.354-62.203 13.253-62.112Q13.151-62.020 13.036-61.887Q12.921-61.754 12.870-61.739L12.799-61.739Q12.713-61.762 12.694-61.840L12.694-64.489Q12.725-64.586 12.799-64.586Q12.815-64.586 12.823-64.584Q12.831-64.582 12.838-64.578Q13.424-64.328 14.022-64.328Q14.604-64.328 15.221-64.586L15.245-64.586Q15.288-64.586 15.315-64.561Q15.342-64.536 15.342-64.496L15.342-64.418Q15.342-64.387 15.319-64.364Q15.022-64.012 14.600-63.815Q14.178-63.618 13.717-63.618Q13.370-63.618 12.991-63.723L12.991-62.227Q13.210-62.422 13.485-62.520Q13.760-62.618 14.061-62.618Q14.518-62.618 14.887-62.370Q15.256-62.121 15.463-61.717Q15.671-61.313 15.671-60.868Q15.671-60.379 15.415-59.971Q15.159-59.563 14.727-59.330Q14.296-59.098 13.807-59.098Q13.413-59.098 13.057-59.289Q12.702-59.481 12.491-59.815Q12.280-60.149 12.280-60.563Q12.280-60.743 12.397-60.856Q12.514-60.969 12.694-60.969Q12.811-60.969 12.903-60.916Q12.995-60.864 13.047-60.772Q13.100-60.680 13.100-60.563Q13.100-60.379 12.987-60.262Q12.874-60.145 12.694-60.145",[1838],[1814,3275,3276],{"transform":3227},[1824,3277],{"d":3278,"fill":1821,"stroke":1821,"className":3279,"style":1992},"M19.229-61.082L16.756-61.082Q16.678-61.094 16.629-61.143Q16.581-61.192 16.581-61.266Q16.581-61.340 16.629-61.389Q16.678-61.438 16.756-61.450L19.229-61.450L19.229-63.930Q19.256-64.098 19.413-64.098Q19.487-64.098 19.536-64.049Q19.585-64 19.596-63.930L19.596-61.450L22.069-61.450Q22.237-61.418 22.237-61.266Q22.237-61.114 22.069-61.082L19.596-61.082L19.596-58.602Q19.585-58.532 19.536-58.483Q19.487-58.434 19.413-58.434Q19.256-58.434 19.229-58.602",[1838],[1814,3281,3282],{"transform":3227},[1824,3283],{"d":3284,"fill":1821,"stroke":1821,"className":3285,"style":1992},"M26.305-59.266L23.145-59.266L23.145-59.473Q23.145-59.500 23.168-59.532L24.520-60.930Q24.899-61.317 25.147-61.606Q25.395-61.895 25.569-62.252Q25.742-62.610 25.742-63Q25.742-63.348 25.610-63.641Q25.477-63.934 25.223-64.112Q24.969-64.289 24.614-64.289Q24.254-64.289 23.963-64.094Q23.672-63.899 23.528-63.571L23.582-63.571Q23.766-63.571 23.891-63.450Q24.016-63.328 24.016-63.137Q24.016-62.957 23.891-62.828Q23.766-62.700 23.582-62.700Q23.403-62.700 23.274-62.828Q23.145-62.957 23.145-63.137Q23.145-63.539 23.365-63.875Q23.586-64.211 23.951-64.399Q24.317-64.586 24.719-64.586Q25.199-64.586 25.615-64.399Q26.032-64.211 26.283-63.850Q26.535-63.489 26.535-63Q26.535-62.641 26.381-62.338Q26.227-62.036 25.975-61.776Q25.723-61.516 25.373-61.231Q25.024-60.946 24.856-60.793L23.926-59.953L24.641-59.953Q26.016-59.953 26.055-59.993Q26.125-60.071 26.168-60.256Q26.211-60.442 26.254-60.731L26.535-60.731L26.305-59.266M29.086-59.098Q28.383-59.098 27.983-59.498Q27.582-59.899 27.438-60.508Q27.293-61.118 27.293-61.817Q27.293-62.340 27.364-62.803Q27.434-63.266 27.627-63.678Q27.821-64.090 28.178-64.338Q28.535-64.586 29.086-64.586Q29.637-64.586 29.994-64.338Q30.352-64.090 30.543-63.680Q30.735-63.270 30.805-62.801Q30.875-62.332 30.875-61.817Q30.875-61.118 30.733-60.510Q30.590-59.903 30.190-59.500Q29.789-59.098 29.086-59.098M29.086-59.356Q29.559-59.356 29.791-59.791Q30.024-60.227 30.078-60.766Q30.133-61.305 30.133-61.946Q30.133-62.942 29.949-63.635Q29.766-64.328 29.086-64.328Q28.719-64.328 28.498-64.090Q28.278-63.852 28.182-63.495Q28.086-63.137 28.061-62.766Q28.035-62.395 28.035-61.946Q28.035-61.305 28.090-60.766Q28.145-60.227 28.377-59.791Q28.610-59.356 29.086-59.356",[1838],[1814,3287,3288],{"transform":3227},[1824,3289],{"d":3290,"fill":1821,"stroke":1821,"className":3291,"style":1992},"M34.340-61.082L31.867-61.082Q31.789-61.094 31.740-61.143Q31.692-61.192 31.692-61.266Q31.692-61.340 31.740-61.389Q31.789-61.438 31.867-61.450L34.340-61.450L34.340-63.930Q34.367-64.098 34.524-64.098Q34.598-64.098 34.647-64.049Q34.696-64 34.707-63.930L34.707-61.450L37.180-61.450Q37.348-61.418 37.348-61.266Q37.348-61.114 37.180-61.082L34.707-61.082L34.707-58.602Q34.696-58.532 34.647-58.483Q34.598-58.434 34.524-58.434Q34.367-58.434 34.340-58.602",[1838],[1814,3293,3294],{"transform":3227},[1824,3295],{"d":3296,"fill":1821,"stroke":1821,"className":3297,"style":1992},"M39.327-59.489Q39.327-59.914 39.411-60.364Q39.495-60.813 39.651-61.231Q39.808-61.649 40.022-62.036Q40.237-62.422 40.511-62.778L41.237-63.731L40.327-63.731Q38.831-63.731 38.792-63.692Q38.722-63.610 38.675-63.420Q38.628-63.231 38.585-62.953L38.304-62.953L38.573-64.672L38.854-64.672L38.854-64.649Q38.854-64.504 39.372-64.461Q39.890-64.418 40.382-64.418L41.952-64.418L41.952-64.227Q41.944-64.188 41.929-64.161L40.753-62.625Q40.452-62.207 40.313-61.700Q40.175-61.192 40.144-60.698Q40.112-60.203 40.112-59.489Q40.112-59.383 40.061-59.291Q40.011-59.200 39.919-59.149Q39.827-59.098 39.718-59.098Q39.612-59.098 39.520-59.149Q39.429-59.200 39.378-59.291Q39.327-59.383 39.327-59.489",[1838],[1814,3299,3300],{"transform":3227},[1824,3301],{"d":3302,"fill":1821,"stroke":1821,"className":3303,"style":1992},"M50.403-60.243L45.090-60.243Q45.012-60.250 44.963-60.299Q44.915-60.348 44.915-60.426Q44.915-60.496 44.962-60.547Q45.008-60.598 45.090-60.610L50.403-60.610Q50.477-60.598 50.524-60.547Q50.571-60.496 50.571-60.426Q50.571-60.348 50.522-60.299Q50.473-60.250 50.403-60.243M50.403-61.930L45.090-61.930Q45.012-61.938 44.963-61.987Q44.915-62.036 44.915-62.114Q44.915-62.184 44.962-62.235Q45.008-62.286 45.090-62.297L50.403-62.297Q50.477-62.286 50.524-62.235Q50.571-62.184 50.571-62.114Q50.571-62.036 50.522-61.987Q50.473-61.938 50.403-61.930",[1838],[1814,3305,3306],{"transform":3227},[1824,3307],{"d":3308,"fill":1821,"stroke":1821,"className":3309,"style":1992},"M55.894-60.578L53.652-60.578L53.652-60.875L56.223-64.532Q56.262-64.586 56.324-64.586L56.469-64.586Q56.519-64.586 56.551-64.555Q56.582-64.524 56.582-64.473L56.582-60.875L57.414-60.875L57.414-60.578L56.582-60.578L56.582-59.825Q56.582-59.563 57.406-59.563L57.406-59.266L55.070-59.266L55.070-59.563Q55.894-59.563 55.894-59.825L55.894-60.578M55.949-63.680L53.980-60.875L55.949-60.875L55.949-63.680M61.246-59.266L58.086-59.266L58.086-59.473Q58.086-59.500 58.109-59.532L59.461-60.930Q59.840-61.317 60.088-61.606Q60.336-61.895 60.510-62.252Q60.684-62.610 60.684-63Q60.684-63.348 60.551-63.641Q60.418-63.934 60.164-64.112Q59.910-64.289 59.555-64.289Q59.195-64.289 58.904-64.094Q58.613-63.899 58.469-63.571L58.523-63.571Q58.707-63.571 58.832-63.450Q58.957-63.328 58.957-63.137Q58.957-62.957 58.832-62.828Q58.707-62.700 58.523-62.700Q58.344-62.700 58.215-62.828Q58.086-62.957 58.086-63.137Q58.086-63.539 58.307-63.875Q58.527-64.211 58.893-64.399Q59.258-64.586 59.660-64.586Q60.141-64.586 60.557-64.399Q60.973-64.211 61.225-63.850Q61.477-63.489 61.477-63Q61.477-62.641 61.322-62.338Q61.168-62.036 60.916-61.776Q60.664-61.516 60.314-61.231Q59.965-60.946 59.797-60.793L58.867-59.953L59.582-59.953Q60.957-59.953 60.996-59.993Q61.066-60.071 61.109-60.256Q61.152-60.442 61.195-60.731L61.477-60.731",[1838],[1814,3311,3312,3319,3325,3331,3337,3343,3349,3355,3361,3367],{"stroke":1829,"fontSize":1984},[1814,3313,3315],{"transform":3314},"translate(105.576 97.842)",[1824,3316],{"d":3317,"fill":1816,"stroke":1816,"className":3318,"style":1992},"M-16.210-68.766L-18.190-68.766L-18.190-69.063Q-17.921-69.063-17.753-69.108Q-17.585-69.153-17.585-69.325L-17.585-71.461Q-17.585-71.676-17.647-71.772Q-17.710-71.868-17.827-71.889Q-17.944-71.911-18.190-71.911L-18.190-72.207L-17.022-72.293L-17.022-71.508Q-16.944-71.719-16.792-71.905Q-16.640-72.090-16.440-72.192Q-16.241-72.293-16.015-72.293Q-15.768-72.293-15.577-72.149Q-15.386-72.004-15.386-71.774Q-15.386-71.618-15.491-71.508Q-15.597-71.399-15.753-71.399Q-15.909-71.399-16.018-71.508Q-16.128-71.618-16.128-71.774Q-16.128-71.934-16.022-72.039Q-16.347-72.039-16.561-71.811Q-16.776-71.582-16.872-71.243Q-16.968-70.903-16.968-70.598L-16.968-69.325Q-16.968-69.157-16.741-69.110Q-16.515-69.063-16.210-69.063L-16.210-68.766M-14.905-70.520Q-14.905-71-14.673-71.416Q-14.440-71.832-14.030-72.082Q-13.620-72.332-13.143-72.332Q-12.413-72.332-12.015-71.891Q-11.616-71.450-11.616-70.719Q-11.616-70.614-11.710-70.590L-14.159-70.590L-14.159-70.520Q-14.159-70.110-14.038-69.754Q-13.917-69.399-13.645-69.182Q-13.374-68.965-12.944-68.965Q-12.581-68.965-12.284-69.194Q-11.987-69.422-11.886-69.774Q-11.878-69.821-11.792-69.836L-11.710-69.836Q-11.616-69.809-11.616-69.727Q-11.616-69.719-11.624-69.688Q-11.686-69.461-11.825-69.278Q-11.964-69.094-12.155-68.961Q-12.347-68.829-12.565-68.758Q-12.784-68.688-13.022-68.688Q-13.393-68.688-13.731-68.825Q-14.069-68.961-14.337-69.213Q-14.604-69.465-14.755-69.805Q-14.905-70.145-14.905-70.520M-14.151-70.829L-12.190-70.829Q-12.190-71.133-12.292-71.424Q-12.393-71.715-12.610-71.897Q-12.827-72.079-13.143-72.079Q-13.444-72.079-13.675-71.891Q-13.905-71.704-14.028-71.412Q-14.151-71.121-14.151-70.829M-10.503-69.727L-10.503-71.918L-11.206-71.918L-11.206-72.172Q-10.851-72.172-10.608-72.405Q-10.366-72.637-10.255-72.985Q-10.143-73.332-10.143-73.688L-9.862-73.688L-9.862-72.215L-8.686-72.215L-8.686-71.918L-9.862-71.918L-9.862-69.743Q-9.862-69.422-9.743-69.194Q-9.624-68.965-9.343-68.965Q-9.163-68.965-9.046-69.088Q-8.929-69.211-8.876-69.391Q-8.823-69.571-8.823-69.743L-8.823-70.215L-8.542-70.215L-8.542-69.727Q-8.542-69.473-8.647-69.233Q-8.753-68.993-8.950-68.840Q-9.147-68.688-9.405-68.688Q-9.722-68.688-9.974-68.811Q-10.226-68.934-10.364-69.168Q-10.503-69.403-10.503-69.727M-7.140-69.719L-7.140-71.461Q-7.140-71.676-7.202-71.772Q-7.265-71.868-7.384-71.889Q-7.503-71.911-7.749-71.911L-7.749-72.207L-6.503-72.293L-6.503-69.743L-6.503-69.719Q-6.503-69.407-6.448-69.245Q-6.393-69.082-6.243-69.012Q-6.093-68.942-5.772-68.942Q-5.343-68.942-5.069-69.280Q-4.796-69.618-4.796-70.063L-4.796-71.461Q-4.796-71.676-4.858-71.772Q-4.921-71.868-5.040-71.889Q-5.159-71.911-5.405-71.911L-5.405-72.207L-4.159-72.293L-4.159-69.508Q-4.159-69.297-4.097-69.202Q-4.034-69.106-3.915-69.084Q-3.796-69.063-3.550-69.063L-3.550-68.766L-4.772-68.688L-4.772-69.309Q-4.940-69.020-5.222-68.854Q-5.503-68.688-5.823-68.688Q-7.140-68.688-7.140-69.719M-1.097-68.766L-3.077-68.766L-3.077-69.063Q-2.808-69.063-2.640-69.108Q-2.472-69.153-2.472-69.325L-2.472-71.461Q-2.472-71.676-2.534-71.772Q-2.597-71.868-2.714-71.889Q-2.831-71.911-3.077-71.911L-3.077-72.207L-1.909-72.293L-1.909-71.508Q-1.831-71.719-1.679-71.905Q-1.526-72.090-1.327-72.192Q-1.128-72.293-0.901-72.293Q-0.655-72.293-0.464-72.149Q-0.272-72.004-0.272-71.774Q-0.272-71.618-0.378-71.508Q-0.483-71.399-0.640-71.399Q-0.796-71.399-0.905-71.508Q-1.015-71.618-1.015-71.774Q-1.015-71.934-0.909-72.039Q-1.233-72.039-1.448-71.811Q-1.663-71.582-1.759-71.243Q-1.854-70.903-1.854-70.598L-1.854-69.325Q-1.854-69.157-1.628-69.110Q-1.401-69.063-1.097-69.063L-1.097-68.766M2.138-68.766L0.282-68.766L0.282-69.063Q0.556-69.063 0.724-69.110Q0.892-69.157 0.892-69.325L0.892-71.461Q0.892-71.676 0.829-71.772Q0.767-71.868 0.648-71.889Q0.528-71.911 0.282-71.911L0.282-72.207L1.474-72.293L1.474-71.559Q1.587-71.774 1.780-71.942Q1.974-72.110 2.212-72.202Q2.450-72.293 2.704-72.293Q3.872-72.293 3.872-71.215L3.872-69.325Q3.872-69.157 4.042-69.110Q4.212-69.063 4.482-69.063L4.482-68.766L2.626-68.766L2.626-69.063Q2.899-69.063 3.067-69.110Q3.235-69.157 3.235-69.325L3.235-71.200Q3.235-71.582 3.114-71.811Q2.993-72.039 2.642-72.039Q2.329-72.039 2.075-71.877Q1.821-71.715 1.675-71.446Q1.528-71.176 1.528-70.879L1.528-69.325Q1.528-69.157 1.698-69.110Q1.868-69.063 2.138-69.063",[1838],[1814,3320,3321],{"transform":3314},[1824,3322],{"d":3323,"fill":1816,"stroke":1816,"className":3324,"style":1992},"M8.452-69.719L8.452-71.461Q8.452-71.676 8.389-71.772Q8.327-71.868 8.208-71.889Q8.089-71.911 7.843-71.911L7.843-72.207L9.089-72.293L9.089-69.743L9.089-69.719Q9.089-69.407 9.143-69.245Q9.198-69.082 9.348-69.012Q9.499-68.942 9.819-68.942Q10.249-68.942 10.522-69.280Q10.796-69.618 10.796-70.063L10.796-71.461Q10.796-71.676 10.733-71.772Q10.671-71.868 10.551-71.889Q10.432-71.911 10.186-71.911L10.186-72.207L11.432-72.293L11.432-69.508Q11.432-69.297 11.495-69.202Q11.557-69.106 11.676-69.084Q11.796-69.063 12.042-69.063L12.042-68.766L10.819-68.688L10.819-69.309Q10.651-69.020 10.370-68.854Q10.089-68.688 9.768-68.688Q8.452-68.688 8.452-69.719M14.370-67.215L12.514-67.215L12.514-67.508Q12.784-67.508 12.952-67.553Q13.120-67.598 13.120-67.774L13.120-71.598Q13.120-71.805 12.964-71.858Q12.807-71.911 12.514-71.911L12.514-72.207L13.737-72.293L13.737-71.829Q13.968-72.051 14.282-72.172Q14.596-72.293 14.936-72.293Q15.409-72.293 15.813-72.047Q16.218-71.801 16.450-71.385Q16.682-70.969 16.682-70.493Q16.682-70.118 16.534-69.789Q16.385-69.461 16.116-69.209Q15.846-68.957 15.503-68.823Q15.159-68.688 14.800-68.688Q14.510-68.688 14.239-68.809Q13.968-68.930 13.760-69.141L13.760-67.774Q13.760-67.598 13.928-67.553Q14.096-67.508 14.370-67.508L14.370-67.215M13.760-71.430L13.760-69.590Q13.913-69.301 14.175-69.121Q14.436-68.942 14.745-68.942Q15.030-68.942 15.253-69.080Q15.475-69.219 15.628-69.450Q15.780-69.680 15.858-69.952Q15.936-70.223 15.936-70.493Q15.936-70.825 15.811-71.182Q15.686-71.539 15.438-71.776Q15.190-72.012 14.843-72.012Q14.518-72.012 14.223-71.856Q13.928-71.700 13.760-71.430M17.686-69.231Q17.686-69.414 17.823-69.551Q17.960-69.688 18.151-69.688Q18.343-69.688 18.475-69.555Q18.608-69.422 18.608-69.231Q18.608-69.032 18.475-68.899Q18.343-68.766 18.151-68.766Q17.960-68.766 17.823-68.903Q17.686-69.039 17.686-69.231M17.686-71.758Q17.686-71.942 17.823-72.079Q17.960-72.215 18.151-72.215Q18.343-72.215 18.475-72.082Q18.608-71.950 18.608-71.758Q18.608-71.559 18.475-71.426Q18.343-71.293 18.151-71.293Q17.960-71.293 17.823-71.430Q17.686-71.567 17.686-71.758",[1838],[1814,3326,3327],{"transform":3314},[1824,3328],{"d":3329,"fill":1816,"stroke":1816,"className":3330,"style":1992},"M-16.761-59.188Q-17.194-59.188-17.518-59.471Q-17.843-59.754-18.009-60.188Q-18.175-60.621-18.175-61.043Q-18.175-61.352-18.079-61.682Q-17.983-62.012-17.802-62.289Q-17.620-62.567-17.352-62.733Q-17.085-62.899-16.753-62.899Q-16.393-62.899-16.048-62.789Q-15.702-62.680-15.440-62.489L-15.440-64.817L-14.737-64.817L-14.737-59.266L-15.464-59.266L-15.464-59.672Q-16.018-59.188-16.761-59.188M-16.335-59.746Q-16.065-59.746-15.833-59.889Q-15.601-60.032-15.464-60.274L-15.464-61.953Q-15.554-62.071-15.677-62.157Q-15.800-62.243-15.944-62.289Q-16.089-62.336-16.241-62.336Q-16.608-62.336-16.886-62.170Q-17.163-62.004-17.306-61.713Q-17.448-61.422-17.448-61.043Q-17.448-60.684-17.325-60.391Q-17.202-60.098-16.950-59.922Q-16.698-59.746-16.335-59.746M-13.835-61.020Q-13.835-61.532-13.583-61.973Q-13.331-62.414-12.895-62.676Q-12.460-62.938-11.952-62.938Q-11.440-62.938-11.009-62.676Q-10.577-62.414-10.325-61.973Q-10.073-61.532-10.073-61.020Q-10.073-60.524-10.331-60.096Q-10.589-59.668-11.022-59.428Q-11.456-59.188-11.952-59.188Q-12.323-59.188-12.661-59.325Q-12.999-59.461-13.267-59.713Q-13.534-59.965-13.685-60.305Q-13.835-60.645-13.835-61.020M-11.952-59.770Q-11.589-59.770-11.325-59.955Q-11.061-60.141-10.931-60.446Q-10.800-60.750-10.800-61.114Q-10.800-61.368-10.878-61.602Q-10.956-61.836-11.104-62.010Q-11.253-62.184-11.468-62.282Q-11.683-62.379-11.952-62.379Q-12.311-62.379-12.571-62.211Q-12.831-62.043-12.968-61.750Q-13.104-61.457-13.104-61.114Q-13.104-60.758-12.974-60.450Q-12.843-60.141-12.581-59.955Q-12.319-59.770-11.952-59.770",[1838],[1814,3332,3333],{"transform":3314},[1824,3334],{"d":3335,"fill":1816,"stroke":1816,"className":3336,"style":1992},"M-8.069-59.266L-8.772-59.266L-9.932-62.817L-9.244-62.817Q-9.131-62.469-8.967-61.955Q-8.803-61.442-8.676-61.016Q-8.549-60.590-8.461-60.243Q-8.373-59.895-8.373-59.746Q-8.373-59.934-8.241-60.436Q-8.108-60.938-7.903-61.586Q-7.698-62.235-7.502-62.817L-6.862-62.817Q-6.678-62.266-6.451-61.557Q-6.225-60.848-6.086-60.364Q-5.948-59.879-5.948-59.746Q-5.940-59.887-5.789-60.409Q-5.639-60.930-5.426-61.598Q-5.213-62.266-5.030-62.817L-4.373-62.817L-5.533-59.266L-6.299-59.266Q-6.549-60.016-6.723-60.571Q-6.897-61.125-7.039-61.641Q-7.182-62.157-7.182-62.336Q-7.190-61.942-8.069-59.266M-2.877-59.266L-3.604-59.266L-3.604-62.875L-2.932-62.875L-2.932-62.321Q-2.705-62.590-2.377-62.745Q-2.049-62.899-1.694-62.899Q-1.076-62.899-0.797-62.575Q-0.518-62.250-0.518-61.618L-0.518-59.266L-1.244-59.266L-1.244-61.618Q-1.244-62.012-1.465-62.174Q-1.686-62.336-2.092-62.336Q-2.354-62.336-2.532-62.168Q-2.709-62-2.793-61.750Q-2.877-61.500-2.877-61.243",[1838],[1814,3338,3339],{"transform":3314},[1824,3340],{"d":3341,"fill":1816,"stroke":1816,"className":3342,"style":1992},"M8.463-60.243L3.150-60.243Q3.072-60.250 3.023-60.299Q2.975-60.348 2.975-60.426Q2.975-60.496 3.022-60.547Q3.068-60.598 3.150-60.610L8.463-60.610Q8.537-60.598 8.584-60.547Q8.631-60.496 8.631-60.426Q8.631-60.348 8.582-60.299Q8.533-60.250 8.463-60.243M8.463-61.930L3.150-61.930Q3.072-61.938 3.023-61.987Q2.975-62.036 2.975-62.114Q2.975-62.184 3.022-62.235Q3.068-62.286 3.150-62.297L8.463-62.297Q8.537-62.286 8.584-62.235Q8.631-62.184 8.631-62.114Q8.631-62.036 8.582-61.987Q8.533-61.938 8.463-61.930",[1838],[1814,3344,3345],{"transform":3314},[1824,3346],{"d":3347,"fill":1816,"stroke":1816,"className":3348,"style":1992},"M15.061-59.266L11.901-59.266L11.901-59.473Q11.901-59.500 11.924-59.532L13.276-60.930Q13.655-61.317 13.903-61.606Q14.151-61.895 14.325-62.252Q14.498-62.610 14.498-63Q14.498-63.348 14.366-63.641Q14.233-63.934 13.979-64.112Q13.725-64.289 13.370-64.289Q13.010-64.289 12.719-64.094Q12.428-63.899 12.284-63.571L12.338-63.571Q12.522-63.571 12.647-63.450Q12.772-63.328 12.772-63.137Q12.772-62.957 12.647-62.828Q12.522-62.700 12.338-62.700Q12.159-62.700 12.030-62.828Q11.901-62.957 11.901-63.137Q11.901-63.539 12.121-63.875Q12.342-64.211 12.707-64.399Q13.073-64.586 13.475-64.586Q13.955-64.586 14.371-64.399Q14.787-64.211 15.039-63.850Q15.291-63.489 15.291-63Q15.291-62.641 15.137-62.338Q14.983-62.036 14.731-61.776Q14.479-61.516 14.129-61.231Q13.780-60.946 13.612-60.793L12.682-59.953L13.397-59.953Q14.772-59.953 14.811-59.993Q14.881-60.071 14.924-60.256Q14.967-60.442 15.010-60.731L15.291-60.731L15.061-59.266M17.842-59.098Q17.139-59.098 16.739-59.498Q16.338-59.899 16.194-60.508Q16.049-61.118 16.049-61.817Q16.049-62.340 16.120-62.803Q16.190-63.266 16.383-63.678Q16.577-64.090 16.934-64.338Q17.291-64.586 17.842-64.586Q18.393-64.586 18.750-64.338Q19.108-64.090 19.299-63.680Q19.491-63.270 19.561-62.801Q19.631-62.332 19.631-61.817Q19.631-61.118 19.489-60.510Q19.346-59.903 18.946-59.500Q18.545-59.098 17.842-59.098M17.842-59.356Q18.315-59.356 18.547-59.791Q18.780-60.227 18.834-60.766Q18.889-61.305 18.889-61.946Q18.889-62.942 18.705-63.635Q18.522-64.328 17.842-64.328Q17.475-64.328 17.254-64.090Q17.034-63.852 16.938-63.495Q16.842-63.137 16.817-62.766Q16.791-62.395 16.791-61.946Q16.791-61.305 16.846-60.766Q16.901-60.227 17.133-59.791Q17.366-59.356 17.842-59.356",[1838],[1814,3350,3351],{"transform":3314},[1824,3352],{"d":3353,"fill":1816,"stroke":1816,"className":3354,"style":1992},"M23.096-61.082L20.623-61.082Q20.545-61.094 20.496-61.143Q20.448-61.192 20.448-61.266Q20.448-61.340 20.496-61.389Q20.545-61.438 20.623-61.450L23.096-61.450L23.096-63.930Q23.123-64.098 23.280-64.098Q23.354-64.098 23.403-64.049Q23.452-64 23.463-63.930L23.463-61.450L25.936-61.450Q26.104-61.418 26.104-61.266Q26.104-61.114 25.936-61.082L23.463-61.082L23.463-58.602Q23.452-58.532 23.403-58.483Q23.354-58.434 23.280-58.434Q23.123-58.434 23.096-58.602",[1838],[1814,3356,3357],{"transform":3314},[1824,3358],{"d":3359,"fill":1816,"stroke":1816,"className":3360,"style":1992},"M30.180-59.266L27.387-59.266L27.387-59.563Q28.449-59.563 28.449-59.825L28.449-63.993Q28.020-63.778 27.340-63.778L27.340-64.075Q28.359-64.075 28.875-64.586L29.020-64.586Q29.094-64.567 29.113-64.489L29.113-59.825Q29.113-59.563 30.180-59.563L30.180-59.266M31.672-60.145L31.609-60.145Q31.750-59.793 32.074-59.582Q32.398-59.371 32.785-59.371Q33.379-59.371 33.629-59.805Q33.879-60.239 33.879-60.875Q33.879-61.469 33.709-61.916Q33.539-62.364 33.039-62.364Q32.742-62.364 32.537-62.284Q32.332-62.203 32.231-62.112Q32.129-62.020 32.014-61.887Q31.898-61.754 31.848-61.739L31.777-61.739Q31.691-61.762 31.672-61.840L31.672-64.489Q31.703-64.586 31.777-64.586Q31.793-64.586 31.801-64.584Q31.809-64.582 31.816-64.578Q32.402-64.328 33-64.328Q33.582-64.328 34.199-64.586L34.223-64.586Q34.266-64.586 34.293-64.561Q34.320-64.536 34.320-64.496L34.320-64.418Q34.320-64.387 34.297-64.364Q34-64.012 33.578-63.815Q33.156-63.618 32.695-63.618Q32.348-63.618 31.969-63.723L31.969-62.227Q32.188-62.422 32.463-62.520Q32.738-62.618 33.039-62.618Q33.496-62.618 33.865-62.370Q34.234-62.121 34.441-61.717Q34.648-61.313 34.648-60.868Q34.648-60.379 34.393-59.971Q34.137-59.563 33.705-59.330Q33.273-59.098 32.785-59.098Q32.391-59.098 32.035-59.289Q31.680-59.481 31.469-59.815Q31.258-60.149 31.258-60.563Q31.258-60.743 31.375-60.856Q31.492-60.969 31.672-60.969Q31.789-60.969 31.881-60.916Q31.973-60.864 32.025-60.772Q32.078-60.680 32.078-60.563Q32.078-60.379 31.965-60.262Q31.852-60.145 31.672-60.145",[1838],[1814,3362,3363],{"transform":3314},[1824,3364],{"d":3365,"fill":1816,"stroke":1816,"className":3366,"style":1992},"M43.408-60.243L38.095-60.243Q38.017-60.250 37.968-60.299Q37.920-60.348 37.920-60.426Q37.920-60.496 37.967-60.547Q38.013-60.598 38.095-60.610L43.408-60.610Q43.482-60.598 43.529-60.547Q43.576-60.496 43.576-60.426Q43.576-60.348 43.527-60.299Q43.478-60.250 43.408-60.243M43.408-61.930L38.095-61.930Q38.017-61.938 37.968-61.987Q37.920-62.036 37.920-62.114Q37.920-62.184 37.967-62.235Q38.013-62.286 38.095-62.297L43.408-62.297Q43.482-62.286 43.529-62.235Q43.576-62.184 43.576-62.114Q43.576-62.036 43.527-61.987Q43.478-61.938 43.408-61.930",[1838],[1814,3368,3369],{"transform":3314},[1824,3370],{"d":3371,"fill":1816,"stroke":1816,"className":3372,"style":1992},"M47.213-59.899Q47.404-59.625 47.760-59.498Q48.115-59.371 48.498-59.371Q48.834-59.371 49.043-59.557Q49.252-59.743 49.348-60.036Q49.443-60.328 49.443-60.641Q49.443-60.965 49.346-61.260Q49.248-61.555 49.035-61.739Q48.822-61.922 48.490-61.922L47.924-61.922Q47.893-61.922 47.863-61.952Q47.834-61.981 47.834-62.008L47.834-62.090Q47.834-62.125 47.863-62.151Q47.893-62.176 47.924-62.176L48.404-62.211Q48.690-62.211 48.887-62.416Q49.084-62.621 49.180-62.916Q49.275-63.211 49.275-63.489Q49.275-63.868 49.076-64.106Q48.877-64.344 48.498-64.344Q48.178-64.344 47.889-64.237Q47.600-64.129 47.436-63.907Q47.615-63.907 47.738-63.780Q47.861-63.653 47.861-63.481Q47.861-63.309 47.736-63.184Q47.611-63.059 47.436-63.059Q47.264-63.059 47.139-63.184Q47.014-63.309 47.014-63.481Q47.014-63.848 47.238-64.096Q47.463-64.344 47.803-64.465Q48.143-64.586 48.498-64.586Q48.846-64.586 49.209-64.465Q49.572-64.344 49.820-64.094Q50.068-63.844 50.068-63.489Q50.068-63.004 49.750-62.621Q49.432-62.239 48.955-62.067Q49.506-61.957 49.906-61.571Q50.307-61.184 50.307-60.649Q50.307-60.192 50.043-59.836Q49.779-59.481 49.358-59.289Q48.936-59.098 48.498-59.098Q48.088-59.098 47.695-59.233Q47.303-59.368 47.037-59.653Q46.772-59.938 46.772-60.356Q46.772-60.551 46.904-60.680Q47.037-60.809 47.229-60.809Q47.354-60.809 47.457-60.750Q47.561-60.692 47.623-60.586Q47.686-60.481 47.686-60.356Q47.686-60.161 47.551-60.030Q47.416-59.899 47.213-59.899M51.506-60.145L51.443-60.145Q51.584-59.793 51.908-59.582Q52.233-59.371 52.619-59.371Q53.213-59.371 53.463-59.805Q53.713-60.239 53.713-60.875Q53.713-61.469 53.543-61.916Q53.373-62.364 52.873-62.364Q52.576-62.364 52.371-62.284Q52.166-62.203 52.065-62.112Q51.963-62.020 51.848-61.887Q51.733-61.754 51.682-61.739L51.611-61.739Q51.525-61.762 51.506-61.840L51.506-64.489Q51.537-64.586 51.611-64.586Q51.627-64.586 51.635-64.584Q51.643-64.582 51.650-64.578Q52.236-64.328 52.834-64.328Q53.416-64.328 54.033-64.586L54.057-64.586Q54.100-64.586 54.127-64.561Q54.154-64.536 54.154-64.496L54.154-64.418Q54.154-64.387 54.131-64.364Q53.834-64.012 53.412-63.815Q52.990-63.618 52.529-63.618Q52.182-63.618 51.803-63.723L51.803-62.227Q52.022-62.422 52.297-62.520Q52.572-62.618 52.873-62.618Q53.330-62.618 53.699-62.370Q54.068-62.121 54.275-61.717Q54.483-61.313 54.483-60.868Q54.483-60.379 54.227-59.971Q53.971-59.563 53.539-59.330Q53.108-59.098 52.619-59.098Q52.225-59.098 51.869-59.289Q51.514-59.481 51.303-59.815Q51.092-60.149 51.092-60.563Q51.092-60.743 51.209-60.856Q51.326-60.969 51.506-60.969Q51.623-60.969 51.715-60.916Q51.807-60.864 51.859-60.772Q51.912-60.680 51.912-60.563Q51.912-60.379 51.799-60.262Q51.686-60.145 51.506-60.145",[1838],[2303,3374,3376,3377,3393,3394,3489,3490,3563],{"className":3375},[2306],"Max path sum: node ",[403,3378,3380],{"className":3379},[406],[403,3381,3383],{"className":3382,"ariaHidden":411},[410],[403,3384,3386,3389],{"className":3385},[415],[403,3387],{"className":3388,"style":866},[419],[403,3390,3392],{"className":3391},[424],"20"," bends, combining both children for ",[403,3395,3397],{"className":3396},[406],[403,3398,3400,3422,3442,3460,3479],{"className":3399,"ariaHidden":411},[410],[403,3401,3403,3407,3413,3416,3419],{"className":3402},[415],[403,3404],{"className":3405,"style":3406},[419],"height:0.6944em;",[403,3408,3410],{"className":3409},[424,556],[403,3411,2804],{"className":3412},[424,560],[403,3414],{"className":3415,"style":537},[536],[403,3417,542],{"className":3418},[541],[403,3420],{"className":3421,"style":537},[536],[403,3423,3425,3429,3433,3436,3439],{"className":3424},[415],[403,3426],{"className":3427,"style":3428},[419],"height:0.7278em;vertical-align:-0.0833em;",[403,3430,3432],{"className":3431},[424],"15",[403,3434],{"className":3435,"style":1448},[536],[403,3437,1453],{"className":3438},[1452],[403,3440],{"className":3441,"style":1448},[536],[403,3443,3445,3448,3451,3454,3457],{"className":3444},[415],[403,3446],{"className":3447,"style":3428},[419],[403,3449,3392],{"className":3450},[424],[403,3452],{"className":3453,"style":1448},[536],[403,3455,1453],{"className":3456},[1452],[403,3458],{"className":3459,"style":1448},[536],[403,3461,3463,3466,3470,3473,3476],{"className":3462},[415],[403,3464],{"className":3465,"style":866},[419],[403,3467,3469],{"className":3468},[424],"7",[403,3471],{"className":3472,"style":537},[536],[403,3474,542],{"className":3475},[541],[403,3477],{"className":3478,"style":537},[536],[403,3480,3482,3485],{"className":3481},[415],[403,3483],{"className":3484,"style":866},[419],[403,3486,3488],{"className":3487},[424],"42"," (global max), but returns only ",[403,3491,3493],{"className":3492},[406],[403,3494,3496,3517,3535,3553],{"className":3495,"ariaHidden":411},[410],[403,3497,3499,3502,3508,3511,3514],{"className":3498},[415],[403,3500],{"className":3501,"style":3406},[419],[403,3503,3505],{"className":3504},[424,556],[403,3506,2621],{"className":3507},[424,560],[403,3509],{"className":3510,"style":537},[536],[403,3512,542],{"className":3513},[541],[403,3515],{"className":3516,"style":537},[536],[403,3518,3520,3523,3526,3529,3532],{"className":3519},[415],[403,3521],{"className":3522,"style":3428},[419],[403,3524,3392],{"className":3525},[424],[403,3527],{"className":3528,"style":1448},[536],[403,3530,1453],{"className":3531},[1452],[403,3533],{"className":3534,"style":1448},[536],[403,3536,3538,3541,3544,3547,3550],{"className":3537},[415],[403,3539],{"className":3540,"style":866},[419],[403,3542,3432],{"className":3543},[424],[403,3545],{"className":3546,"style":537},[536],[403,3548,542],{"className":3549},[541],[403,3551],{"className":3552,"style":537},[536],[403,3554,3556,3559],{"className":3555},[415],[403,3557],{"className":3558,"style":866},[419],[403,3560,3562],{"className":3561},[424],"35"," upward",[381,3565,3566,3567,3570,3571,3608,3609,3629,3630,3633,3634,3723,3724,3855,3856,3871,3872,3896,3897,3921],{},"For ",[385,3568,3569],{},"Binary Tree Maximum Path Sum"," the ",[403,3572,3574],{"className":3573},[406],[403,3575,3577],{"className":3576,"ariaHidden":411},[410],[403,3578,3580,3583,3589,3592,3595,3598,3601,3605],{"className":3579},[415],[403,3581],{"className":3582,"style":420},[419],[403,3584,3586],{"className":3585},[1211],[403,3587,1285],{"className":3588},[424,1284],[403,3590,432],{"className":3591},[431],[403,3593,870],{"className":3594},[424],[403,3596,637],{"className":3597},[636],[403,3599],{"className":3600,"style":577},[536],[403,3602,3604],{"className":3603},[424],"⋅",[403,3606,442],{"className":3607},[441]," prunes branches that\nwould only hurt the total; the global ",[403,3610,3612],{"className":3611},[406],[403,3613,3615],{"className":3614,"ariaHidden":411},[410],[403,3616,3618,3621,3625],{"className":3617},[415],[403,3619],{"className":3620,"style":456},[419],[403,3622,3624],{"className":3623},[424,425],"an",[403,3626,3628],{"className":3627},[424,425],"s"," records the best bend seen anywhere.\nFor ",[385,3631,3632],{},"Diameter of Binary Tree"," the same skeleton applies with edge counts in\nplace of values: ",[403,3635,3637],{"className":3636},[406],[403,3638,3640,3670,3688],{"className":3639,"ariaHidden":411},[410],[403,3641,3643,3646,3652,3655,3658,3661,3664,3667],{"className":3642},[415],[403,3644],{"className":3645,"style":420},[419],[403,3647,3649],{"className":3648},[424,556],[403,3650,2621],{"className":3651},[424,560],[403,3653,432],{"className":3654},[431],[403,3656,437],{"className":3657,"style":436},[424,425],[403,3659,442],{"className":3660},[441],[403,3662],{"className":3663,"style":537},[536],[403,3665,542],{"className":3666},[541],[403,3668],{"className":3669,"style":537},[536],[403,3671,3673,3676,3679,3682,3685],{"className":3672},[415],[403,3674],{"className":3675,"style":3428},[419],[403,3677,664],{"className":3678},[424],[403,3680],{"className":3681,"style":1448},[536],[403,3683,1453],{"className":3684},[1452],[403,3686],{"className":3687,"style":1448},[536],[403,3689,3691,3694,3700,3703,3709,3712,3719],{"className":3690},[415],[403,3692],{"className":3693,"style":420},[419],[403,3695,3697],{"className":3696},[1211],[403,3698,1285],{"className":3699},[424,1284],[403,3701,432],{"className":3702},[431],[403,3704,3706],{"className":3705},[424,556],[403,3707,2621],{"className":3708},[424,560],[403,3710,432],{"className":3711},[431],[403,3713,3715],{"className":3714},[424,556],[403,3716,3718],{"className":3717},[424],"children",[403,3720,3722],{"className":3721},[441],"))"," and\nthe diameter is the largest ",[403,3725,3727],{"className":3726},[406],[403,3728,3730,3797],{"className":3729,"ariaHidden":411},[410],[403,3731,3733,3736,3742,3745,3785,3788,3791,3794],{"className":3732},[415],[403,3734],{"className":3735,"style":420},[419],[403,3737,3739],{"className":3738},[424,556],[403,3740,2621],{"className":3741},[424,560],[403,3743,432],{"className":3744},[431],[403,3746,3748,3751],{"className":3747},[424],[403,3749,587],{"className":3750},[424,425],[403,3752,3754],{"className":3753},[803],[403,3755,3757,3777],{"className":3756},[807,808],[403,3758,3760,3774],{"className":3759},[812],[403,3761,3763],{"className":3762,"style":2856},[816],[403,3764,3765,3768],{"style":2859},[403,3766],{"className":3767,"style":825},[824],[403,3769,3771],{"className":3770},[829,830,831,832],[403,3772,664],{"className":3773},[424,832],[403,3775,840],{"className":3776},[839],[403,3778,3780],{"className":3779},[812],[403,3781,3783],{"className":3782,"style":847},[816],[403,3784],{},[403,3786,442],{"className":3787},[441],[403,3789],{"className":3790,"style":1448},[536],[403,3792,1453],{"className":3793},[1452],[403,3795],{"className":3796,"style":1448},[536],[403,3798,3800,3803,3809,3812,3852],{"className":3799},[415],[403,3801],{"className":3802,"style":420},[419],[403,3804,3806],{"className":3805},[424,556],[403,3807,2621],{"className":3808},[424,560],[403,3810,432],{"className":3811},[431],[403,3813,3815,3818],{"className":3814},[424],[403,3816,587],{"className":3817},[424,425],[403,3819,3821],{"className":3820},[803],[403,3822,3824,3844],{"className":3823},[807,808],[403,3825,3827,3841],{"className":3826},[812],[403,3828,3830],{"className":3829,"style":2856},[816],[403,3831,3832,3835],{"style":2859},[403,3833],{"className":3834,"style":825},[824],[403,3836,3838],{"className":3837},[829,830,831,832],[403,3839,883],{"className":3840},[424,832],[403,3842,840],{"className":3843},[839],[403,3845,3847],{"className":3846},[812],[403,3848,3850],{"className":3849,"style":847},[816],[403,3851],{},[403,3853,442],{"className":3854},[441]," over all\nnodes ",[403,3857,3859],{"className":3858},[406],[403,3860,3862],{"className":3861,"ariaHidden":411},[410],[403,3863,3865,3868],{"className":3864},[415],[403,3866],{"className":3867,"style":456},[419],[403,3869,437],{"className":3870,"style":436},[424,425],". Both run in ",[403,3873,3875],{"className":3874},[406],[403,3876,3878],{"className":3877,"ariaHidden":411},[410],[403,3879,3881,3884,3887,3890,3893],{"className":3880},[415],[403,3882],{"className":3883,"style":420},[419],[403,3885,684],{"className":3886},[424],[403,3888,432],{"className":3889},[431],[403,3891,691],{"className":3892},[424,425],[403,3894,442],{"className":3895},[441],": one post-order pass, ",[403,3898,3900],{"className":3899},[406],[403,3901,3903],{"className":3902,"ariaHidden":411},[410],[403,3904,3906,3909,3912,3915,3918],{"className":3905},[415],[403,3907],{"className":3908,"style":420},[419],[403,3910,657],{"className":3911,"style":656},[424,425],[403,3913,432],{"className":3914},[431],[403,3916,664],{"className":3917},[424],[403,3919,442],{"className":3920},[441]," per node.",[756,3923,3925,3926,3929,3930],{"id":3924},"rerooting-an-answer-for-every-root-in-on","Rerooting: an answer for ",[398,3927,3928],{},"every"," root in ",[403,3931,3933],{"className":3932},[406],[403,3934,3936],{"className":3935,"ariaHidden":411},[410],[403,3937,3939,3942,3945,3948,3951],{"className":3938},[415],[403,3940],{"className":3941,"style":420},[419],[403,3943,657],{"className":3944,"style":656},[424,425],[403,3946,432],{"className":3947},[431],[403,3949,691],{"className":3950},[424,425],[403,3952,442],{"className":3953},[441],[381,3955,3956,3957,3960,3961,3976,3977,3992,3993,4017,4018,4033,4034,4087,4088,4091,4092,4096,4097,4100,4101,4116,4117,4141,4142,4144,4145,1549,4148],{},"The hardest variant asks for a quantity computed ",[398,3958,3959],{},"with each node in turn as the\nroot",": for every node ",[403,3962,3964],{"className":3963},[406],[403,3965,3967],{"className":3966,"ariaHidden":411},[410],[403,3968,3970,3973],{"className":3969},[415],[403,3971],{"className":3972,"style":456},[419],[403,3974,437],{"className":3975,"style":436},[424,425],", say, the sum of distances from ",[403,3978,3980],{"className":3979},[406],[403,3981,3983],{"className":3982,"ariaHidden":411},[410],[403,3984,3986,3989],{"className":3985},[415],[403,3987],{"className":3988,"style":456},[419],[403,3990,437],{"className":3991,"style":436},[424,425]," to all\nother nodes. Re-running an ",[403,3994,3996],{"className":3995},[406],[403,3997,3999],{"className":3998,"ariaHidden":411},[410],[403,4000,4002,4005,4008,4011,4014],{"className":4001},[415],[403,4003],{"className":4004,"style":420},[419],[403,4006,657],{"className":4007,"style":656},[424,425],[403,4009,432],{"className":4010},[431],[403,4012,691],{"className":4013},[424,425],[403,4015,442],{"className":4016},[441]," DFS from each of the ",[403,4019,4021],{"className":4020},[406],[403,4022,4024],{"className":4023,"ariaHidden":411},[410],[403,4025,4027,4030],{"className":4026},[415],[403,4028],{"className":4029,"style":456},[419],[403,4031,691],{"className":4032},[424,425]," roots costs ",[403,4035,4037],{"className":4036},[406],[403,4038,4040],{"className":4039,"ariaHidden":411},[410],[403,4041,4043,4047,4050,4053,4084],{"className":4042},[415],[403,4044],{"className":4045,"style":4046},[419],"height:1.0641em;vertical-align:-0.25em;",[403,4048,657],{"className":4049,"style":656},[424,425],[403,4051,432],{"className":4052},[431],[403,4054,4056,4059],{"className":4055},[424],[403,4057,691],{"className":4058},[424,425],[403,4060,4062],{"className":4061},[803],[403,4063,4065],{"className":4064},[807],[403,4066,4068],{"className":4067},[812],[403,4069,4072],{"className":4070,"style":4071},[816],"height:0.8141em;",[403,4073,4075,4078],{"style":4074},"top:-3.063em;margin-right:0.05em;",[403,4076],{"className":4077,"style":825},[824],[403,4079,4081],{"className":4080},[829,830,831,832],[403,4082,883],{"className":4083},[424,832],[403,4085,442],{"className":4086},[441],".\n",[385,4089,4090],{},"Rerooting"," (also called the ",[4093,4094,4095],"q",{},"all-roots"," or ",[4093,4098,4099],{},"re-root"," technique) computes all\n",[403,4102,4104],{"className":4103},[406],[403,4105,4107],{"className":4106,"ariaHidden":411},[410],[403,4108,4110,4113],{"className":4109},[415],[403,4111],{"className":4112,"style":456},[419],[403,4114,691],{"className":4115},[424,425]," answers in ",[403,4118,4120],{"className":4119},[406],[403,4121,4123],{"className":4122,"ariaHidden":411},[410],[403,4124,4126,4129,4132,4135,4138],{"className":4125},[415],[403,4127],{"className":4128,"style":420},[419],[403,4130,657],{"className":4131,"style":656},[424,425],[403,4133,432],{"className":4134},[431],[403,4136,691],{"className":4137},[424,425],[403,4139,442],{"className":4140},[441]," total, with two DFS passes: one ",[398,4143,2621],{},", one ",[398,4146,4147],{},"up",[713,4149,4150],{},[462,4151,4155],{"href":4152,"ariaDescribedBy":4153,"dataFootnoteRef":376,"id":4154},"#user-content-fn-skiena-reroot",[719],"user-content-fnref-skiena-reroot","4",[381,4157,4158,4159,4162,4163,4179,4180,4206,4207,4222,4223,4248,4249,4264,4265,4268,4269,4284,4285,4300,4301,4352,4353,4368,4369,4384,4385,4400],{},"Take ",[385,4160,4161],{},"Sum of Distances in Tree",". Fix an arbitrary root ",[403,4164,4166],{"className":4165},[406],[403,4167,4169],{"className":4168,"ariaHidden":411},[410],[403,4170,4172,4175],{"className":4171},[415],[403,4173],{"className":4174,"style":456},[419],[403,4176,4178],{"className":4177,"style":656},[424,425],"r"," and let ",[403,4181,4183],{"className":4182},[406],[403,4184,4186],{"className":4185,"ariaHidden":411},[410],[403,4187,4189,4192,4197,4200,4203],{"className":4188},[415],[403,4190],{"className":4191,"style":420},[419],[403,4193,4196],{"className":4194,"style":4195},[424,425],"margin-right:0.0576em;","S",[403,4198,432],{"className":4199},[431],[403,4201,437],{"className":4202,"style":436},[424,425],[403,4204,442],{"className":4205},[441]," be\nthe number of nodes in ",[403,4208,4210],{"className":4209},[406],[403,4211,4213],{"className":4212,"ariaHidden":411},[410],[403,4214,4216,4219],{"className":4215},[415],[403,4217],{"className":4218,"style":456},[419],[403,4220,437],{"className":4221,"style":436},[424,425],"'s subtree and ",[403,4224,4226],{"className":4225},[406],[403,4227,4229],{"className":4228,"ariaHidden":411},[410],[403,4230,4232,4235,4239,4242,4245],{"className":4231},[415],[403,4233],{"className":4234,"style":420},[419],[403,4236,4238],{"className":4237,"style":656},[424,425],"D",[403,4240,432],{"className":4241},[431],[403,4243,437],{"className":4244,"style":436},[424,425],[403,4246,442],{"className":4247},[441]," the sum of distances from ",[403,4250,4252],{"className":4251},[406],[403,4253,4255],{"className":4254,"ariaHidden":411},[410],[403,4256,4258,4261],{"className":4257},[415],[403,4259],{"className":4260,"style":456},[419],[403,4262,437],{"className":4263,"style":436},[424,425]," to\nevery node ",[398,4266,4267],{},"inside its own subtree",". A post-order pass computes both, since a\nchild ",[403,4270,4272],{"className":4271},[406],[403,4273,4275],{"className":4274,"ariaHidden":411},[410],[403,4276,4278,4281],{"className":4277},[415],[403,4279],{"className":4280,"style":456},[419],[403,4282,587],{"className":4283},[424,425]," at distance ",[403,4286,4288],{"className":4287},[406],[403,4289,4291],{"className":4290,"ariaHidden":411},[410],[403,4292,4294,4297],{"className":4293},[415],[403,4295],{"className":4296,"style":866},[419],[403,4298,664],{"className":4299},[424]," contributes ",[403,4302,4304],{"className":4303},[406],[403,4305,4307,4334],{"className":4306,"ariaHidden":411},[410],[403,4308,4310,4313,4316,4319,4322,4325,4328,4331],{"className":4309},[415],[403,4311],{"className":4312,"style":420},[419],[403,4314,4238],{"className":4315,"style":656},[424,425],[403,4317,432],{"className":4318},[431],[403,4320,587],{"className":4321},[424,425],[403,4323,442],{"className":4324},[441],[403,4326],{"className":4327,"style":1448},[536],[403,4329,1453],{"className":4330},[1452],[403,4332],{"className":4333,"style":1448},[536],[403,4335,4337,4340,4343,4346,4349],{"className":4336},[415],[403,4338],{"className":4339,"style":420},[419],[403,4341,4196],{"className":4342,"style":4195},[424,425],[403,4344,432],{"className":4345},[431],[403,4347,587],{"className":4348},[424,425],[403,4350,442],{"className":4351},[441]," (every node under ",[403,4354,4356],{"className":4355},[406],[403,4357,4359],{"className":4358,"ariaHidden":411},[410],[403,4360,4362,4365],{"className":4361},[415],[403,4363],{"className":4364,"style":456},[419],[403,4366,587],{"className":4367},[424,425]," is one\nedge farther from ",[403,4370,4372],{"className":4371},[406],[403,4373,4375],{"className":4374,"ariaHidden":411},[410],[403,4376,4378,4381],{"className":4377},[415],[403,4379],{"className":4380,"style":456},[419],[403,4382,437],{"className":4383,"style":436},[424,425]," than from ",[403,4386,4388],{"className":4387},[406],[403,4389,4391],{"className":4390,"ariaHidden":411},[410],[403,4392,4394,4397],{"className":4393},[415],[403,4395],{"className":4396,"style":456},[419],[403,4398,587],{"className":4399},[424,425],"):",[403,4402,4404],{"className":4403},[508],[403,4405,4407],{"className":4406},[406],[403,4408,4410,4437,4455,4556,4636],{"className":4409,"ariaHidden":411},[410],[403,4411,4413,4416,4419,4422,4425,4428,4431,4434],{"className":4412},[415],[403,4414],{"className":4415,"style":420},[419],[403,4417,4196],{"className":4418,"style":4195},[424,425],[403,4420,432],{"className":4421},[431],[403,4423,437],{"className":4424,"style":436},[424,425],[403,4426,442],{"className":4427},[441],[403,4429],{"className":4430,"style":537},[536],[403,4432,542],{"className":4433},[541],[403,4435],{"className":4436,"style":537},[536],[403,4438,4440,4443,4446,4449,4452],{"className":4439},[415],[403,4441],{"className":4442,"style":3428},[419],[403,4444,664],{"className":4445},[424],[403,4447],{"className":4448,"style":1448},[536],[403,4450,1453],{"className":4451},[1452],[403,4453],{"className":4454,"style":1448},[536],[403,4456,4458,4462,4511,4514,4517,4520,4523,4526,4529,4532,4535,4538,4541,4544,4547,4550,4553],{"className":4457},[415],[403,4459],{"className":4460,"style":4461},[419],"height:2.3em;vertical-align:-1.25em;",[403,4463,4465],{"className":4464},[1211,1212],[403,4466,4468,4502],{"className":4467},[807,808],[403,4469,4471,4499],{"className":4470},[812],[403,4472,4474,4489],{"className":4473,"style":1222},[816],[403,4475,4477,4480],{"style":4476},"top:-1.9em;margin-left:0em;",[403,4478],{"className":4479,"style":1229},[824],[403,4481,4483],{"className":4482},[829,830,831,832],[403,4484,4486],{"className":4485},[424,832],[403,4487,587],{"className":4488},[424,425,832],[403,4490,4491,4494],{"style":1251},[403,4492],{"className":4493,"style":1229},[824],[403,4495,4496],{},[403,4497,1262],{"className":4498},[1211,1260,1261],[403,4500,840],{"className":4501},[839],[403,4503,4505],{"className":4504},[812],[403,4506,4509],{"className":4507,"style":4508},[816],"height:1.25em;",[403,4510],{},[403,4512],{"className":4513,"style":577},[536],[403,4515,4196],{"className":4516,"style":4195},[424,425],[403,4518,432],{"className":4519},[431],[403,4521,587],{"className":4522},[424,425],[403,4524,442],{"className":4525},[441],[403,4527,637],{"className":4528},[636],[403,4530],{"className":4531,"style":1361},[536],[403,4533],{"className":4534,"style":577},[536],[403,4536,4238],{"className":4537,"style":656},[424,425],[403,4539,432],{"className":4540},[431],[403,4542,437],{"className":4543,"style":436},[424,425],[403,4545,442],{"className":4546},[441],[403,4548],{"className":4549,"style":537},[536],[403,4551,542],{"className":4552},[541],[403,4554],{"className":4555,"style":537},[536],[403,4557,4559,4562,4609,4615,4618,4621,4624,4627,4630,4633],{"className":4558},[415],[403,4560],{"className":4561,"style":4461},[419],[403,4563,4565],{"className":4564},[1211,1212],[403,4566,4568,4601],{"className":4567},[807,808],[403,4569,4571,4598],{"className":4570},[812],[403,4572,4574,4588],{"className":4573,"style":1222},[816],[403,4575,4576,4579],{"style":4476},[403,4577],{"className":4578,"style":1229},[824],[403,4580,4582],{"className":4581},[829,830,831,832],[403,4583,4585],{"className":4584},[424,832],[403,4586,587],{"className":4587},[424,425,832],[403,4589,4590,4593],{"style":1251},[403,4591],{"className":4592,"style":1229},[824],[403,4594,4595],{},[403,4596,1262],{"className":4597},[1211,1260,1261],[403,4599,840],{"className":4600},[839],[403,4602,4604],{"className":4603},[812],[403,4605,4607],{"className":4606,"style":4508},[816],[403,4608],{},[403,4610,4612],{"className":4611},[431],[403,4613,432],{"className":4614},[568,569],[403,4616,4238],{"className":4617,"style":656},[424,425],[403,4619,432],{"className":4620},[431],[403,4622,587],{"className":4623},[424,425],[403,4625,442],{"className":4626},[441],[403,4628],{"className":4629,"style":1448},[536],[403,4631,1453],{"className":4632},[1452],[403,4634],{"className":4635,"style":1448},[536],[403,4637,4639,4642,4645,4648,4651,4654,4660],{"className":4638},[415],[403,4640],{"className":4641,"style":552},[419],[403,4643,4196],{"className":4644,"style":4195},[424,425],[403,4646,432],{"className":4647},[431],[403,4649,587],{"className":4650},[424,425],[403,4652,442],{"className":4653},[441],[403,4655,4657],{"className":4656},[441],[403,4658,442],{"className":4659},[568,569],[403,4661,1549],{"className":4662},[424],[1801,4664,4666,4931],{"className":4665},[1804,1805],[1807,4667,4671],{"xmlns":1809,"width":4668,"height":4669,"viewBox":4670},"273.661","232.438","-75 -75 205.246 174.329",[1814,4672,4673,4685,4688,4695,4698,4705,4708,4715,4718,4725,4728,4773,4815,4853,4893],{"stroke":1816,"style":1817},[1814,4674,4675,4678],{"stroke":1821,"style":1822},[1824,4676],{"fill":1829,"d":4677},"M46.335-22.993c0-8.643-7.006-15.65-15.649-15.65s-15.649 7.007-15.649 15.65 7.006 15.649 15.65 15.649c8.642 0 15.648-7.006 15.648-15.65Zm-15.649 0",[1814,4679,4681],{"transform":4680},"translate(-2.036 1.722)",[1824,4682],{"d":4683,"fill":1821,"stroke":1821,"className":4684,"style":1992},"M31.381-23.169Q31.385-23.188 31.387-23.202Q31.389-23.216 31.389-23.239L31.983-25.610Q32.022-25.766 32.022-25.903Q32.022-26.052 31.969-26.159Q31.916-26.266 31.784-26.266Q31.604-26.266 31.485-26.097Q31.366-25.927 31.309-25.741Q31.252-25.555 31.182-25.266Q31.170-25.192 31.100-25.192L30.998-25.192Q30.963-25.192 30.936-25.227Q30.909-25.263 30.909-25.290L30.909-25.321Q30.995-25.653 31.088-25.895Q31.182-26.138 31.358-26.329Q31.534-26.520 31.799-26.520Q32.084-26.520 32.317-26.372Q32.549-26.223 32.616-25.970Q32.823-26.223 33.092-26.372Q33.362-26.520 33.678-26.520Q33.858-26.520 34.014-26.448Q34.170-26.376 34.264-26.239Q34.358-26.102 34.358-25.923Q34.358-25.708 34.225-25.550Q34.092-25.391 33.885-25.391Q33.752-25.391 33.659-25.475Q33.565-25.559 33.565-25.696Q33.565-25.872 33.686-26.005Q33.807-26.138 33.975-26.161Q33.842-26.266 33.663-26.266Q33.315-26.266 33.045-26.030Q32.776-25.794 32.581-25.434L32.022-23.200Q31.991-23.075 31.885-22.995Q31.780-22.915 31.655-22.915Q31.545-22.915 31.463-22.985Q31.381-23.055 31.381-23.169",[1838],[1824,4686],{"fill":1829,"d":4687},"M3.656 22.531c0-8.643-7.006-15.649-15.649-15.649s-15.649 7.006-15.649 15.65c0 8.642 7.006 15.648 15.65 15.648 8.642 0 15.648-7.006 15.648-15.649Zm-15.649 0",[1814,4689,4691],{"transform":4690},"translate(-44.937 47.247)",[1824,4692],{"d":4693,"fill":1816,"stroke":1816,"className":4694,"style":1992},"M32.190-22.915Q31.834-22.915 31.565-23.095Q31.295-23.274 31.155-23.569Q31.014-23.864 31.014-24.223Q31.014-24.610 31.176-25.024Q31.338-25.438 31.622-25.776Q31.905-26.114 32.274-26.317Q32.643-26.520 33.045-26.520Q33.538-26.520 33.815-26.071Q33.846-26.204 33.950-26.286Q34.053-26.368 34.182-26.368Q34.295-26.368 34.375-26.298Q34.456-26.227 34.456-26.114Q34.456-26.087 34.440-26.024L33.885-23.825Q33.846-23.579 33.846-23.528Q33.846-23.169 34.092-23.169Q34.237-23.169 34.338-23.276Q34.440-23.384 34.504-23.538Q34.569-23.692 34.618-23.882Q34.666-24.071 34.686-24.169Q34.713-24.239 34.776-24.239L34.877-24.239Q34.916-24.239 34.942-24.206Q34.967-24.173 34.967-24.145Q34.967-24.130 34.959-24.114Q34.846-23.622 34.647-23.268Q34.448-22.915 34.077-22.915Q33.795-22.915 33.569-23.057Q33.342-23.200 33.260-23.458Q33.038-23.216 32.764-23.065Q32.491-22.915 32.190-22.915M32.206-23.169Q32.416-23.169 32.625-23.282Q32.834-23.395 33.004-23.569Q33.174-23.743 33.303-23.938Q33.291-23.923 33.282-23.909Q33.272-23.895 33.260-23.880L33.694-25.602Q33.655-25.782 33.569-25.932Q33.483-26.083 33.346-26.175Q33.209-26.266 33.030-26.266Q32.694-26.266 32.422-25.985Q32.151-25.704 31.991-25.329Q31.866-25.009 31.768-24.589Q31.670-24.169 31.670-23.888Q31.670-23.598 31.803-23.384Q31.936-23.169 32.206-23.169",[1838],[1824,4696],{"fill":1829,"d":4697},"M19.573-11.14-1.154 10.97M3.656 68.056c0-8.643-7.006-15.65-15.649-15.65s-15.649 7.007-15.649 15.65c0 8.642 7.006 15.649 15.65 15.649 8.642 0 15.648-7.007 15.648-15.65Zm-15.649 0",[1814,4699,4701],{"transform":4700},"translate(-44.52 92.771)",[1824,4702],{"d":4703,"fill":1816,"stroke":1816,"className":4704,"style":1992},"M31.694-24.009Q31.694-23.770 31.782-23.581Q31.870-23.391 32.041-23.280Q32.213-23.169 32.448-23.169Q32.956-23.169 33.411-23.362Q33.866-23.555 34.151-23.930Q34.170-23.962 34.221-23.962Q34.272-23.962 34.319-23.911Q34.366-23.860 34.366-23.809Q34.366-23.770 34.342-23.747Q34.026-23.333 33.510-23.124Q32.995-22.915 32.428-22.915Q32.127-22.915 31.872-23.016Q31.616-23.118 31.424-23.305Q31.233-23.493 31.127-23.751Q31.022-24.009 31.022-24.298Q31.022-24.720 31.211-25.122Q31.401-25.524 31.727-25.841Q32.053-26.157 32.456-26.339Q32.858-26.520 33.280-26.520Q33.663-26.520 33.975-26.354Q34.288-26.188 34.288-25.833Q34.288-25.618 34.157-25.458Q34.026-25.298 33.815-25.298Q33.682-25.298 33.588-25.384Q33.495-25.470 33.495-25.602Q33.495-25.774 33.616-25.907Q33.737-26.040 33.901-26.063Q33.698-26.266 33.260-26.266Q32.893-26.266 32.596-26.048Q32.299-25.829 32.098-25.477Q31.897-25.126 31.795-24.727Q31.694-24.329 31.694-24.009",[1838],[1824,4706],{"fill":1829,"d":4707},"M-11.993 38.38v13.827M89.014 22.531c0-8.643-7.006-15.649-15.649-15.649s-15.649 7.006-15.649 15.65c0 8.642 7.007 15.648 15.65 15.648 8.642 0 15.648-7.006 15.648-15.649Zm-15.649 0",[1814,4709,4711],{"transform":4710},"translate(40.861 48.302)",[1824,4712],{"d":4713,"fill":1816,"stroke":1816,"className":4714,"style":1992},"M32.190-22.915Q31.850-22.915 31.590-23.093Q31.331-23.270 31.196-23.565Q31.061-23.860 31.061-24.208Q31.061-24.470 31.127-24.727L31.877-27.755Q31.889-27.802 31.916-27.903Q31.944-28.005 31.944-28.055Q31.944-28.161 31.448-28.161Q31.350-28.192 31.350-28.290L31.373-28.391Q31.381-28.438 31.463-28.458L32.565-28.544Q32.608-28.544 32.647-28.513Q32.686-28.481 32.686-28.427L32.112-26.106Q32.569-26.520 33.045-26.520Q33.409-26.520 33.674-26.341Q33.940-26.161 34.081-25.860Q34.221-25.559 34.221-25.208Q34.221-24.684 33.940-24.145Q33.659-23.606 33.192-23.261Q32.725-22.915 32.190-22.915M32.206-23.169Q32.541-23.169 32.821-23.460Q33.100-23.751 33.237-24.106Q33.362-24.399 33.463-24.833Q33.565-25.266 33.565-25.544Q33.565-25.829 33.432-26.048Q33.299-26.266 33.030-26.266Q32.819-26.266 32.623-26.165Q32.428-26.063 32.268-25.907Q32.108-25.751 31.975-25.559L31.748-24.688Q31.698-24.454 31.668-24.272Q31.639-24.091 31.639-23.938Q31.639-23.638 31.780-23.403Q31.920-23.169 32.206-23.169",[1838],[1824,4716],{"fill":1829,"d":4717},"m41.8-11.14 20.726 22.11M89.014 68.056c0-8.643-7.006-15.65-15.649-15.65s-15.649 7.007-15.649 15.65c0 8.642 7.007 15.649 15.65 15.649 8.642 0 15.648-7.007 15.648-15.65Zm-15.649 0",[1814,4719,4721],{"transform":4720},"translate(40.492 93.827)",[1824,4722],{"d":4723,"fill":1816,"stroke":1816,"className":4724,"style":1992},"M32.190-22.915Q31.834-22.915 31.565-23.095Q31.295-23.274 31.155-23.569Q31.014-23.864 31.014-24.223Q31.014-24.610 31.176-25.024Q31.338-25.438 31.622-25.776Q31.905-26.114 32.274-26.317Q32.643-26.520 33.045-26.520Q33.538-26.520 33.815-26.071L34.252-27.841Q34.295-28.005 34.295-28.055Q34.295-28.161 33.799-28.161Q33.702-28.192 33.702-28.290L33.725-28.391Q33.756-28.446 33.815-28.458L34.916-28.544Q34.959-28.544 34.998-28.513Q35.038-28.481 35.038-28.427L33.885-23.825Q33.846-23.579 33.846-23.528Q33.846-23.169 34.092-23.169Q34.237-23.169 34.338-23.276Q34.440-23.384 34.504-23.538Q34.569-23.692 34.618-23.882Q34.666-24.071 34.686-24.169Q34.713-24.239 34.776-24.239L34.877-24.239Q34.916-24.239 34.942-24.206Q34.967-24.173 34.967-24.145Q34.967-24.130 34.959-24.114Q34.846-23.622 34.647-23.268Q34.448-22.915 34.077-22.915Q33.795-22.915 33.569-23.057Q33.342-23.200 33.260-23.458Q33.038-23.216 32.764-23.065Q32.491-22.915 32.190-22.915M32.206-23.169Q32.416-23.169 32.625-23.282Q32.834-23.395 33.004-23.569Q33.174-23.743 33.303-23.938Q33.291-23.923 33.282-23.909Q33.272-23.895 33.260-23.880L33.694-25.602Q33.655-25.782 33.569-25.932Q33.483-26.083 33.346-26.175Q33.209-26.266 33.030-26.266Q32.694-26.266 32.422-25.985Q32.151-25.704 31.991-25.329Q31.866-25.009 31.768-24.589Q31.670-24.169 31.670-23.888Q31.670-23.598 31.803-23.384Q31.936-23.169 32.206-23.169",[1838],[1824,4726],{"fill":1829,"d":4727},"M73.365 38.38v13.827",[1814,4729,4730,4737,4743,4749,4755,4761,4767],{"fill":1821,"stroke":1829,"fontSize":1984},[1814,4731,4733],{"transform":4732},"translate(-20.58 -26.497)",[1824,4734],{"d":4735,"fill":1821,"stroke":1821,"className":4736,"style":1992},"M31.280-22.825L31.229-22.825Q31.194-22.825 31.168-22.854Q31.143-22.884 31.143-22.923L31.143-22.946L31.588-24.747Q31.604-24.809 31.678-24.809L31.784-24.809Q31.823-24.809 31.846-24.782Q31.870-24.755 31.870-24.712Q31.870-24.673 31.838-24.505Q31.807-24.337 31.807-24.251Q31.807-23.661 32.237-23.391Q32.666-23.122 33.288-23.122Q33.643-23.122 33.983-23.319Q34.323-23.516 34.536-23.848Q34.748-24.180 34.748-24.536Q34.748-24.833 34.581-25.050Q34.413-25.266 34.135-25.337L33.077-25.595Q32.811-25.657 32.596-25.827Q32.381-25.997 32.262-26.239Q32.143-26.481 32.143-26.763Q32.143-27.138 32.323-27.477Q32.502-27.817 32.799-28.075Q33.096-28.333 33.459-28.479Q33.823-28.626 34.190-28.626Q34.565-28.626 34.893-28.491Q35.221-28.356 35.413-28.071L35.877-28.602Q35.901-28.626 35.932-28.626L35.983-28.626Q36.022-28.626 36.045-28.598Q36.069-28.571 36.069-28.528L36.069-28.505L35.623-26.712Q35.596-26.641 35.534-26.641L35.428-26.641Q35.342-26.641 35.342-26.747Q35.373-26.923 35.373-27.138Q35.373-27.524 35.235-27.798Q35.096-28.071 34.829-28.212Q34.561-28.352 34.174-28.352Q33.842-28.352 33.508-28.180Q33.174-28.009 32.957-27.714Q32.741-27.419 32.741-27.083Q32.741-26.817 32.911-26.612Q33.081-26.407 33.350-26.337L34.405-26.083Q34.834-25.977 35.088-25.638Q35.342-25.298 35.342-24.856Q35.342-24.462 35.168-24.095Q34.995-23.727 34.692-23.438Q34.389-23.149 34.016-22.987Q33.643-22.825 33.260-22.825Q32.815-22.825 32.424-22.954Q32.034-23.083 31.799-23.376L31.334-22.848Q31.311-22.825 31.280-22.825",[1838],[1814,4738,4739],{"transform":4732},[1824,4740],{"d":4741,"fill":1821,"stroke":1821,"className":4742,"style":1992},"M42.264-23.970L36.951-23.970Q36.873-23.977 36.824-24.026Q36.776-24.075 36.776-24.153Q36.776-24.223 36.823-24.274Q36.869-24.325 36.951-24.337L42.264-24.337Q42.338-24.325 42.385-24.274Q42.432-24.223 42.432-24.153Q42.432-24.075 42.383-24.026Q42.334-23.977 42.264-23.970M42.264-25.657L36.951-25.657Q36.873-25.665 36.824-25.714Q36.776-25.763 36.776-25.841Q36.776-25.911 36.823-25.962Q36.869-26.013 36.951-26.024L42.264-26.024Q42.338-26.013 42.385-25.962Q42.432-25.911 42.432-25.841Q42.432-25.763 42.383-25.714Q42.334-25.665 42.264-25.657",[1838],[1814,4744,4745],{"transform":4732},[1824,4746],{"d":4747,"fill":1821,"stroke":1821,"className":4748,"style":1992},"M43.754-23.872L43.691-23.872Q43.832-23.520 44.156-23.309Q44.480-23.098 44.867-23.098Q45.461-23.098 45.711-23.532Q45.961-23.966 45.961-24.602Q45.961-25.196 45.791-25.643Q45.621-26.091 45.121-26.091Q44.824-26.091 44.619-26.011Q44.414-25.930 44.312-25.839Q44.211-25.747 44.096-25.614Q43.980-25.481 43.930-25.466L43.859-25.466Q43.773-25.489 43.754-25.567L43.754-28.216Q43.785-28.313 43.859-28.313Q43.875-28.313 43.883-28.311Q43.891-28.309 43.898-28.305Q44.484-28.055 45.082-28.055Q45.664-28.055 46.281-28.313L46.305-28.313Q46.348-28.313 46.375-28.288Q46.402-28.263 46.402-28.223L46.402-28.145Q46.402-28.114 46.379-28.091Q46.082-27.739 45.660-27.542Q45.238-27.345 44.777-27.345Q44.430-27.345 44.051-27.450L44.051-25.954Q44.269-26.149 44.545-26.247Q44.820-26.345 45.121-26.345Q45.578-26.345 45.947-26.097Q46.316-25.848 46.523-25.444Q46.730-25.040 46.730-24.595Q46.730-24.106 46.475-23.698Q46.219-23.290 45.787-23.057Q45.355-22.825 44.867-22.825Q44.473-22.825 44.117-23.016Q43.762-23.208 43.551-23.542Q43.340-23.876 43.340-24.290Q43.340-24.470 43.457-24.583Q43.574-24.696 43.754-24.696Q43.871-24.696 43.963-24.643Q44.055-24.591 44.107-24.499Q44.160-24.407 44.160-24.290Q44.160-24.106 44.047-23.989Q43.934-23.872 43.754-23.872",[1838],[1814,4750,4751],{"transform":4732},[1824,4752],{"d":4753,"fill":1821,"stroke":1821,"className":4754,"style":1992},"M47.988-21.587Q47.988-21.610 48.019-21.657Q48.312-21.919 48.478-22.286Q48.644-22.653 48.644-23.040L48.644-23.098Q48.516-22.993 48.348-22.993Q48.156-22.993 48.019-23.126Q47.883-23.259 47.883-23.458Q47.883-23.649 48.019-23.782Q48.156-23.915 48.348-23.915Q48.648-23.915 48.773-23.645Q48.898-23.376 48.898-23.040Q48.898-22.591 48.717-22.177Q48.535-21.763 48.195-21.466Q48.172-21.442 48.133-21.442Q48.086-21.442 48.037-21.487Q47.988-21.532 47.988-21.587",[1838],[1814,4756,4757],{"transform":4732},[1824,4758],{"d":4759,"fill":1821,"stroke":1821,"className":4760,"style":1992},"M57.189-22.993L54.263-22.993Q54.166-23.024 54.166-23.122L54.189-23.223Q54.224-23.278 54.287-23.290Q54.728-23.290 54.886-23.329Q55.045-23.368 55.087-23.595L56.166-27.915Q56.189-27.985 56.189-28.048Q56.189-28.110 56.127-28.130Q55.982-28.161 55.560-28.161Q55.455-28.188 55.455-28.290L55.486-28.391Q55.517-28.446 55.576-28.458L58.560-28.458Q59.142-28.458 59.595-28.188Q60.048-27.919 60.296-27.450Q60.545-26.981 60.545-26.399Q60.545-25.766 60.273-25.155Q60.002-24.544 59.525-24.055Q59.048-23.567 58.437-23.280Q57.826-22.993 57.189-22.993M55.767-23.337Q55.767-23.290 56.013-23.290L57.056-23.290Q58.041-23.290 58.806-24.016Q59.025-24.235 59.209-24.563Q59.392-24.891 59.521-25.255Q59.650-25.618 59.720-25.995Q59.791-26.372 59.791-26.680Q59.791-27.134 59.603-27.472Q59.416-27.809 59.068-27.985Q58.720-28.161 58.271-28.161L57.287-28.161Q57.115-28.161 57.052-28.147Q56.990-28.134 56.957-28.075Q56.923-28.016 56.880-27.856L55.798-23.536Q55.767-23.411 55.767-23.337",[1838],[1814,4762,4763],{"transform":4732},[1824,4764],{"d":4765,"fill":1821,"stroke":1821,"className":4766,"style":1992},"M66.946-23.970L61.633-23.970Q61.555-23.977 61.506-24.026Q61.458-24.075 61.458-24.153Q61.458-24.223 61.505-24.274Q61.551-24.325 61.633-24.337L66.946-24.337Q67.020-24.325 67.067-24.274Q67.114-24.223 67.114-24.153Q67.114-24.075 67.065-24.026Q67.016-23.977 66.946-23.970M66.946-25.657L61.633-25.657Q61.555-25.665 61.506-25.714Q61.458-25.763 61.458-25.841Q61.458-25.911 61.505-25.962Q61.551-26.013 61.633-26.024L66.946-26.024Q67.020-26.013 67.067-25.962Q67.114-25.911 67.114-25.841Q67.114-25.763 67.065-25.714Q67.016-25.665 66.946-25.657",[1838],[1814,4768,4769],{"transform":4732},[1824,4770],{"d":4771,"fill":1821,"stroke":1821,"className":4772,"style":1992},"M69.717-22.825Q69.045-22.825 68.649-23.249Q68.252-23.673 68.100-24.292Q67.948-24.911 67.948-25.579Q67.948-26.239 68.219-26.872Q68.491-27.505 69.004-27.909Q69.518-28.313 70.190-28.313Q70.479-28.313 70.727-28.214Q70.975-28.114 71.121-27.913Q71.268-27.712 71.268-27.407Q71.268-27.302 71.217-27.210Q71.166-27.118 71.075-27.067Q70.983-27.016 70.877-27.016Q70.709-27.016 70.596-27.130Q70.483-27.243 70.483-27.407Q70.483-27.567 70.592-27.684Q70.701-27.802 70.869-27.802Q70.670-28.071 70.190-28.071Q69.772-28.071 69.440-27.794Q69.108-27.516 68.932-27.098Q68.733-26.598 68.733-25.696Q68.897-26.020 69.176-26.220Q69.455-26.419 69.803-26.419Q70.287-26.419 70.672-26.173Q71.057-25.927 71.270-25.518Q71.483-25.110 71.483-24.626Q71.483-24.134 71.252-23.722Q71.022-23.309 70.612-23.067Q70.201-22.825 69.717-22.825M69.717-23.098Q70.143-23.098 70.360-23.319Q70.576-23.540 70.639-23.866Q70.701-24.192 70.701-24.626Q70.701-24.938 70.676-25.188Q70.651-25.438 70.561-25.663Q70.471-25.888 70.276-26.024Q70.080-26.161 69.764-26.161Q69.436-26.161 69.203-25.952Q68.971-25.743 68.860-25.425Q68.748-25.106 68.748-24.794Q68.752-24.755 68.754-24.722Q68.756-24.688 68.756-24.634Q68.756-24.618 68.754-24.610Q68.752-24.602 68.748-24.595Q68.748-24.020 68.975-23.559Q69.201-23.098 69.717-23.098",[1838],[1814,4774,4775,4781,4786,4792,4797,4803,4809],{"stroke":1829,"fontSize":1984},[1814,4776,4778],{"transform":4777},"translate(-95.986 47.48)",[1824,4779],{"d":4735,"fill":1816,"stroke":1816,"className":4780,"style":1992},[1838],[1814,4782,4783],{"transform":4777},[1824,4784],{"d":4741,"fill":1816,"stroke":1816,"className":4785,"style":1992},[1838],[1814,4787,4788],{"transform":4777},[1824,4789],{"d":4790,"fill":1816,"stroke":1816,"className":4791,"style":1992},"M46.500-22.993L43.340-22.993L43.340-23.200Q43.340-23.227 43.363-23.259L44.715-24.657Q45.094-25.044 45.342-25.333Q45.590-25.622 45.764-25.979Q45.937-26.337 45.937-26.727Q45.937-27.075 45.805-27.368Q45.672-27.661 45.418-27.839Q45.164-28.016 44.809-28.016Q44.449-28.016 44.158-27.821Q43.867-27.626 43.723-27.298L43.777-27.298Q43.961-27.298 44.086-27.177Q44.211-27.055 44.211-26.864Q44.211-26.684 44.086-26.555Q43.961-26.427 43.777-26.427Q43.598-26.427 43.469-26.555Q43.340-26.684 43.340-26.864Q43.340-27.266 43.560-27.602Q43.781-27.938 44.146-28.126Q44.512-28.313 44.914-28.313Q45.394-28.313 45.810-28.126Q46.227-27.938 46.478-27.577Q46.730-27.216 46.730-26.727Q46.730-26.368 46.576-26.065Q46.422-25.763 46.170-25.503Q45.918-25.243 45.568-24.958Q45.219-24.673 45.051-24.520L44.121-23.680L44.836-23.680Q46.211-23.680 46.250-23.720Q46.320-23.798 46.363-23.983Q46.406-24.169 46.449-24.458L46.730-24.458",[1838],[1814,4793,4794],{"transform":4777},[1824,4795],{"d":4753,"fill":1816,"stroke":1816,"className":4796,"style":1992},[1838],[1814,4798,4799],{"transform":4777},[1824,4800],{"d":4801,"fill":1816,"stroke":1816,"className":4802,"style":1992},"M54.356-22.993L51.430-22.993Q51.333-23.024 51.333-23.122L51.356-23.223Q51.391-23.278 51.454-23.290Q51.895-23.290 52.053-23.329Q52.212-23.368 52.255-23.595L53.333-27.915Q53.356-27.985 53.356-28.048Q53.356-28.110 53.294-28.130Q53.149-28.161 52.727-28.161Q52.622-28.188 52.622-28.290L52.653-28.391Q52.684-28.446 52.743-28.458L55.727-28.458Q56.309-28.458 56.762-28.188Q57.215-27.919 57.463-27.450Q57.712-26.981 57.712-26.399Q57.712-25.766 57.440-25.155Q57.169-24.544 56.692-24.055Q56.215-23.567 55.604-23.280Q54.993-22.993 54.356-22.993M52.934-23.337Q52.934-23.290 53.180-23.290L54.223-23.290Q55.208-23.290 55.973-24.016Q56.192-24.235 56.376-24.563Q56.559-24.891 56.688-25.255Q56.817-25.618 56.887-25.995Q56.958-26.372 56.958-26.680Q56.958-27.134 56.770-27.472Q56.583-27.809 56.235-27.985Q55.887-28.161 55.438-28.161L54.454-28.161Q54.282-28.161 54.219-28.147Q54.157-28.134 54.124-28.075Q54.090-28.016 54.047-27.856L52.965-23.536Q52.934-23.411 52.934-23.337",[1838],[1814,4804,4805],{"transform":4777},[1824,4806],{"d":4807,"fill":1816,"stroke":1816,"className":4808,"style":1992},"M64.113-23.970L58.800-23.970Q58.722-23.977 58.673-24.026Q58.625-24.075 58.625-24.153Q58.625-24.223 58.672-24.274Q58.718-24.325 58.800-24.337L64.113-24.337Q64.187-24.325 64.234-24.274Q64.281-24.223 64.281-24.153Q64.281-24.075 64.232-24.026Q64.183-23.977 64.113-23.970M64.113-25.657L58.800-25.657Q58.722-25.665 58.673-25.714Q58.625-25.763 58.625-25.841Q58.625-25.911 58.672-25.962Q58.718-26.013 58.800-26.024L64.113-26.024Q64.187-26.013 64.234-25.962Q64.281-25.911 64.281-25.841Q64.281-25.763 64.232-25.714Q64.183-25.665 64.113-25.657",[1838],[1814,4810,4811],{"transform":4777},[1824,4812],{"d":4813,"fill":1816,"stroke":1816,"className":4814,"style":1992},"M68.357-22.993L65.564-22.993L65.564-23.290Q66.626-23.290 66.626-23.552L66.626-27.720Q66.197-27.505 65.517-27.505L65.517-27.802Q66.536-27.802 67.052-28.313L67.197-28.313Q67.271-28.294 67.290-28.216L67.290-23.552Q67.290-23.290 68.357-23.290",[1838],[1814,4816,4817,4823,4828,4833,4838,4843,4848],{"stroke":1829,"fontSize":1984},[1814,4818,4820],{"transform":4819},"translate(57.659 47.48)",[1824,4821],{"d":4735,"fill":1816,"stroke":1816,"className":4822,"style":1992},[1838],[1814,4824,4825],{"transform":4819},[1824,4826],{"d":4741,"fill":1816,"stroke":1816,"className":4827,"style":1992},[1838],[1814,4829,4830],{"transform":4819},[1824,4831],{"d":4790,"fill":1816,"stroke":1816,"className":4832,"style":1992},[1838],[1814,4834,4835],{"transform":4819},[1824,4836],{"d":4753,"fill":1816,"stroke":1816,"className":4837,"style":1992},[1838],[1814,4839,4840],{"transform":4819},[1824,4841],{"d":4801,"fill":1816,"stroke":1816,"className":4842,"style":1992},[1838],[1814,4844,4845],{"transform":4819},[1824,4846],{"d":4807,"fill":1816,"stroke":1816,"className":4847,"style":1992},[1838],[1814,4849,4850],{"transform":4819},[1824,4851],{"d":4813,"fill":1816,"stroke":1816,"className":4852,"style":1992},[1838],[1814,4854,4855,4861,4866,4872,4877,4882,4887],{"stroke":1829,"fontSize":1984},[1814,4856,4858],{"transform":4857},"translate(-95.986 101.54)",[1824,4859],{"d":4735,"fill":1816,"stroke":1816,"className":4860,"style":1992},[1838],[1814,4862,4863],{"transform":4857},[1824,4864],{"d":4741,"fill":1816,"stroke":1816,"className":4865,"style":1992},[1838],[1814,4867,4868],{"transform":4857},[1824,4869],{"d":4870,"fill":1816,"stroke":1816,"className":4871,"style":1992},"M46.508-22.993L43.715-22.993L43.715-23.290Q44.777-23.290 44.777-23.552L44.777-27.720Q44.348-27.505 43.668-27.505L43.668-27.802Q44.687-27.802 45.203-28.313L45.348-28.313Q45.422-28.294 45.441-28.216L45.441-23.552Q45.441-23.290 46.508-23.290",[1838],[1814,4873,4874],{"transform":4857},[1824,4875],{"d":4753,"fill":1816,"stroke":1816,"className":4876,"style":1992},[1838],[1814,4878,4879],{"transform":4857},[1824,4880],{"d":4801,"fill":1816,"stroke":1816,"className":4881,"style":1992},[1838],[1814,4883,4884],{"transform":4857},[1824,4885],{"d":4807,"fill":1816,"stroke":1816,"className":4886,"style":1992},[1838],[1814,4888,4889],{"transform":4857},[1824,4890],{"d":4891,"fill":1816,"stroke":1816,"className":4892,"style":1992},"M66.884-22.825Q66.181-22.825 65.781-23.225Q65.380-23.626 65.236-24.235Q65.091-24.845 65.091-25.544Q65.091-26.067 65.161-26.530Q65.232-26.993 65.425-27.405Q65.618-27.817 65.976-28.065Q66.333-28.313 66.884-28.313Q67.435-28.313 67.792-28.065Q68.150-27.817 68.341-27.407Q68.533-26.997 68.603-26.528Q68.673-26.059 68.673-25.544Q68.673-24.845 68.531-24.237Q68.388-23.630 67.988-23.227Q67.587-22.825 66.884-22.825M66.884-23.083Q67.357-23.083 67.589-23.518Q67.822-23.954 67.876-24.493Q67.931-25.032 67.931-25.673Q67.931-26.669 67.747-27.362Q67.564-28.055 66.884-28.055Q66.517-28.055 66.296-27.817Q66.076-27.579 65.980-27.222Q65.884-26.864 65.859-26.493Q65.833-26.122 65.833-25.673Q65.833-25.032 65.888-24.493Q65.943-23.954 66.175-23.518Q66.408-23.083 66.884-23.083",[1838],[1814,4894,4895,4901,4906,4911,4916,4921,4926],{"stroke":1829,"fontSize":1984},[1814,4896,4898],{"transform":4897},"translate(57.659 101.54)",[1824,4899],{"d":4735,"fill":1816,"stroke":1816,"className":4900,"style":1992},[1838],[1814,4902,4903],{"transform":4897},[1824,4904],{"d":4741,"fill":1816,"stroke":1816,"className":4905,"style":1992},[1838],[1814,4907,4908],{"transform":4897},[1824,4909],{"d":4870,"fill":1816,"stroke":1816,"className":4910,"style":1992},[1838],[1814,4912,4913],{"transform":4897},[1824,4914],{"d":4753,"fill":1816,"stroke":1816,"className":4915,"style":1992},[1838],[1814,4917,4918],{"transform":4897},[1824,4919],{"d":4801,"fill":1816,"stroke":1816,"className":4920,"style":1992},[1838],[1814,4922,4923],{"transform":4897},[1824,4924],{"d":4807,"fill":1816,"stroke":1816,"className":4925,"style":1992},[1838],[1814,4927,4928],{"transform":4897},[1824,4929],{"d":4891,"fill":1816,"stroke":1816,"className":4930,"style":1992},[1838],[2303,4932,4934,4935,4950,4951,4967,4968,4983,4984,5027],{"className":4933},[2306],"Down-pass at root ",[403,4936,4938],{"className":4937},[406],[403,4939,4941],{"className":4940,"ariaHidden":411},[410],[403,4942,4944,4947],{"className":4943},[415],[403,4945],{"className":4946,"style":456},[419],[403,4948,4178],{"className":4949,"style":656},[424,425],": each node caches ",[403,4952,4954],{"className":4953},[406],[403,4955,4957],{"className":4956,"ariaHidden":411},[410],[403,4958,4960,4964],{"className":4959},[415],[403,4961],{"className":4962,"style":4963},[419],"height:0.6833em;",[403,4965,4196],{"className":4966,"style":4195},[424,425]," (subtree size) and ",[403,4969,4971],{"className":4970},[406],[403,4972,4974],{"className":4973,"ariaHidden":411},[410],[403,4975,4977,4980],{"className":4976},[415],[403,4978],{"className":4979,"style":4963},[419],[403,4981,4238],{"className":4982,"style":656},[424,425]," (in-subtree distance sum); ",[403,4985,4987],{"className":4986},[406],[403,4988,4990,5017],{"className":4989,"ariaHidden":411},[410],[403,4991,4993,4996,4999,5002,5005,5008,5011,5014],{"className":4992},[415],[403,4994],{"className":4995,"style":420},[419],[403,4997,4238],{"className":4998,"style":656},[424,425],[403,5000,432],{"className":5001},[431],[403,5003,4178],{"className":5004,"style":656},[424,425],[403,5006,442],{"className":5007},[441],[403,5009],{"className":5010,"style":537},[536],[403,5012,542],{"className":5013},[541],[403,5015],{"className":5016,"style":537},[536],[403,5018,5020,5023],{"className":5019},[415],[403,5021],{"className":5022,"style":866},[419],[403,5024,5026],{"className":5025},[424],"6"," is the true answer only at the root",[381,5029,5030,5031,5034,5035,5090,5091,5115,5116,5132,5133,5148,5149,5173,5174,5189,5190,5193,5194,5209,5210,5254,5255,597],{},"That gives the ",[398,5032,5033],{},"true global"," answer only at the root, where the subtree is the\nwhole tree: ",[403,5036,5038],{"className":5037},[406],[403,5039,5041,5072],{"className":5040,"ariaHidden":411},[410],[403,5042,5044,5047,5054,5057,5060,5063,5066,5069],{"className":5043},[415],[403,5045],{"className":5046,"style":420},[419],[403,5048,5050],{"className":5049},[424,556],[403,5051,5053],{"className":5052},[424,560],"ans",[403,5055,432],{"className":5056},[431],[403,5058,4178],{"className":5059,"style":656},[424,425],[403,5061,442],{"className":5062},[441],[403,5064],{"className":5065,"style":537},[536],[403,5067,542],{"className":5068},[541],[403,5070],{"className":5071,"style":537},[536],[403,5073,5075,5078,5081,5084,5087],{"className":5074},[415],[403,5076],{"className":5077,"style":420},[419],[403,5079,4238],{"className":5080,"style":656},[424,425],[403,5082,432],{"className":5083},[431],[403,5085,4178],{"className":5086,"style":656},[424,425],[403,5088,442],{"className":5089},[441],". The second pass pushes the answer from a\nparent to each child in ",[403,5092,5094],{"className":5093},[406],[403,5095,5097],{"className":5096,"ariaHidden":411},[410],[403,5098,5100,5103,5106,5109,5112],{"className":5099},[415],[403,5101],{"className":5102,"style":420},[419],[403,5104,657],{"className":5105,"style":656},[424,425],[403,5107,432],{"className":5108},[431],[403,5110,664],{"className":5111},[424],[403,5113,442],{"className":5114},[441],". Moving the root from ",[403,5117,5119],{"className":5118},[406],[403,5120,5122],{"className":5121,"ariaHidden":411},[410],[403,5123,5125,5128],{"className":5124},[415],[403,5126],{"className":5127,"style":456},[419],[403,5129,5131],{"className":5130},[424,425],"u"," to an adjacent child\n",[403,5134,5136],{"className":5135},[406],[403,5137,5139],{"className":5138,"ariaHidden":411},[410],[403,5140,5142,5145],{"className":5141},[415],[403,5143],{"className":5144,"style":456},[419],[403,5146,437],{"className":5147,"style":436},[424,425],", the ",[403,5150,5152],{"className":5151},[406],[403,5153,5155],{"className":5154,"ariaHidden":411},[410],[403,5156,5158,5161,5164,5167,5170],{"className":5157},[415],[403,5159],{"className":5160,"style":420},[419],[403,5162,4196],{"className":5163,"style":4195},[424,425],[403,5165,432],{"className":5166},[431],[403,5168,437],{"className":5169,"style":436},[424,425],[403,5171,442],{"className":5172},[441]," nodes on ",[403,5175,5177],{"className":5176},[406],[403,5178,5180],{"className":5179,"ariaHidden":411},[410],[403,5181,5183,5186],{"className":5182},[415],[403,5184],{"className":5185,"style":456},[419],[403,5187,437],{"className":5188,"style":436},[424,425],"'s side each get ",[385,5191,5192],{},"one closer"," (distance drops by\n",[403,5195,5197],{"className":5196},[406],[403,5198,5200],{"className":5199,"ariaHidden":411},[410],[403,5201,5203,5206],{"className":5202},[415],[403,5204],{"className":5205,"style":866},[419],[403,5207,664],{"className":5208},[424],") and the remaining ",[403,5211,5213],{"className":5212},[406],[403,5214,5216,5236],{"className":5215,"ariaHidden":411},[410],[403,5217,5219,5223,5226,5229,5233],{"className":5218},[415],[403,5220],{"className":5221,"style":5222},[419],"height:0.6667em;vertical-align:-0.0833em;",[403,5224,691],{"className":5225},[424,425],[403,5227],{"className":5228,"style":1448},[536],[403,5230,5232],{"className":5231},[1452],"−",[403,5234],{"className":5235,"style":1448},[536],[403,5237,5239,5242,5245,5248,5251],{"className":5238},[415],[403,5240],{"className":5241,"style":420},[419],[403,5243,4196],{"className":5244,"style":4195},[424,425],[403,5246,432],{"className":5247},[431],[403,5249,437],{"className":5250,"style":436},[424,425],[403,5252,442],{"className":5253},[441]," nodes each get ",[385,5256,5257],{},"one farther",[403,5259,5261],{"className":5260},[508],[403,5262,5264],{"className":5263},[406],[403,5265,5267,5297,5327,5354,5378],{"className":5266,"ariaHidden":411},[410],[403,5268,5270,5273,5279,5282,5285,5288,5291,5294],{"className":5269},[415],[403,5271],{"className":5272,"style":420},[419],[403,5274,5276],{"className":5275},[424,556],[403,5277,5053],{"className":5278},[424,560],[403,5280,432],{"className":5281},[431],[403,5283,437],{"className":5284,"style":436},[424,425],[403,5286,442],{"className":5287},[441],[403,5289],{"className":5290,"style":537},[536],[403,5292,542],{"className":5293},[541],[403,5295],{"className":5296,"style":537},[536],[403,5298,5300,5303,5309,5312,5315,5318,5321,5324],{"className":5299},[415],[403,5301],{"className":5302,"style":420},[419],[403,5304,5306],{"className":5305},[424,556],[403,5307,5053],{"className":5308},[424,560],[403,5310,432],{"className":5311},[431],[403,5313,5131],{"className":5314},[424,425],[403,5316,442],{"className":5317},[441],[403,5319],{"className":5320,"style":1448},[536],[403,5322,5232],{"className":5323},[1452],[403,5325],{"className":5326,"style":1448},[536],[403,5328,5330,5333,5336,5339,5342,5345,5348,5351],{"className":5329},[415],[403,5331],{"className":5332,"style":420},[419],[403,5334,4196],{"className":5335,"style":4195},[424,425],[403,5337,432],{"className":5338},[431],[403,5340,437],{"className":5341,"style":436},[424,425],[403,5343,442],{"className":5344},[441],[403,5346],{"className":5347,"style":1448},[536],[403,5349,1453],{"className":5350},[1452],[403,5352],{"className":5353,"style":1448},[536],[403,5355,5357,5360,5366,5369,5372,5375],{"className":5356},[415],[403,5358],{"className":5359,"style":552},[419],[403,5361,5363],{"className":5362},[431],[403,5364,432],{"className":5365},[568,569],[403,5367,691],{"className":5368},[424,425],[403,5370],{"className":5371,"style":1448},[536],[403,5373,5232],{"className":5374},[1452],[403,5376],{"className":5377,"style":1448},[536],[403,5379,5381,5384,5387,5390,5393,5396,5402],{"className":5380},[415],[403,5382],{"className":5383,"style":552},[419],[403,5385,4196],{"className":5386,"style":4195},[424,425],[403,5388,432],{"className":5389},[431],[403,5391,437],{"className":5392,"style":436},[424,425],[403,5394,442],{"className":5395},[441],[403,5397,5399],{"className":5398},[441],[403,5400,442],{"className":5401},[568,569],[403,5403,1549],{"className":5404},[424],[381,5406,5407,5408,5432,5433,1549],{},"Subtract the subtree's contribution, add the rest: the entire adjustment is a\nsingle ",[403,5409,5411],{"className":5410},[406],[403,5412,5414],{"className":5413,"ariaHidden":411},[410],[403,5415,5417,5420,5423,5426,5429],{"className":5416},[415],[403,5418],{"className":5419,"style":420},[419],[403,5421,657],{"className":5422,"style":656},[424,425],[403,5424,432],{"className":5425},[431],[403,5427,664],{"className":5428},[424],[403,5430,442],{"className":5431},[441]," formula, so the down-pass plus the up-pass together are ",[403,5434,5436],{"className":5435},[406],[403,5437,5439],{"className":5438,"ariaHidden":411},[410],[403,5440,5442,5445,5448,5451,5454],{"className":5441},[415],[403,5443],{"className":5444,"style":420},[419],[403,5446,684],{"className":5447},[424],[403,5449,432],{"className":5450},[431],[403,5452,691],{"className":5453},[424,425],[403,5455,442],{"className":5456},[441],[1801,5458,5460,5657],{"className":5459},[1804,1805],[1807,5461,5465],{"xmlns":1809,"width":5462,"height":5463,"viewBox":5464},"300.906","164.075","-75 -75 225.680 123.056",[1814,5466,5467,5470,5477,5489,5492,5522],{"stroke":1816,"style":1817},[1824,5468],{"fill":1829,"d":5469},"M22.8-59.266c0-7.072-5.732-12.804-12.804-12.804-7.071 0-12.803 5.732-12.803 12.804 0 7.071 5.732 12.803 12.803 12.803S22.8-52.195 22.8-59.266Zm-12.804 0",[1814,5471,5473],{"transform":5472},"translate(-2.661 1.937)",[1824,5474],{"d":5475,"fill":1816,"stroke":1816,"className":5476,"style":1839},"M10.994-60.264Q10.994-60.549 11.070-60.868Q11.147-61.186 11.262-61.487Q11.376-61.788 11.534-62.193Q11.653-62.478 11.653-62.711Q11.653-62.830 11.607-62.907Q11.560-62.984 11.455-62.984Q11.103-62.984 10.868-62.623Q10.633-62.263 10.528-61.832Q10.510-61.749 10.435-61.749L10.330-61.749Q10.282-61.749 10.260-61.788Q10.238-61.828 10.238-61.868Q10.326-62.210 10.486-62.516Q10.646-62.821 10.897-63.032Q11.147-63.243 11.473-63.243Q11.811-63.243 12.042-63.034Q12.272-62.826 12.272-62.487Q12.272-62.307 12.211-62.153Q12.180-62.065 12.028-61.670Q11.877-61.274 11.807-61.044Q11.736-60.813 11.690-60.589Q11.644-60.365 11.644-60.141Q11.644-59.842 11.774-59.635Q11.903-59.429 12.184-59.429Q12.778-59.429 13.208-60.141Q13.208-60.167 13.226-60.255L13.868-62.830Q13.903-62.971 14.017-63.058Q14.131-63.146 14.272-63.146Q14.386-63.146 14.467-63.069Q14.549-62.993 14.549-62.874Q14.549-62.821 14.540-62.795L13.903-60.220Q13.850-60.017 13.850-59.824Q13.850-59.429 14.109-59.429Q14.395-59.429 14.533-59.763Q14.672-60.097 14.786-60.580Q14.795-60.611 14.819-60.635Q14.843-60.659 14.874-60.659L14.984-60.659Q15.028-60.659 15.050-60.626Q15.072-60.593 15.072-60.545Q14.957-60.114 14.867-59.861Q14.777-59.609 14.584-59.387Q14.391-59.165 14.092-59.165Q13.806-59.165 13.571-59.314Q13.336-59.464 13.235-59.732Q13.024-59.473 12.756-59.319Q12.488-59.165 12.176-59.165Q11.811-59.165 11.547-59.292Q11.284-59.420 11.139-59.666Q10.994-59.912 10.994-60.264",[1838],[1814,5478,5479,5482],{"stroke":1821,"style":1822},[1824,5480],{"fill":1829,"d":5481},"M-8.498-13.742c0-7.071-5.732-12.804-12.804-12.804-7.071 0-12.803 5.733-12.803 12.804S-28.373-.938-21.302-.938-8.498-6.671-8.498-13.742Zm-12.804 0",[1814,5483,5485],{"transform":5484},"translate(-33.706 47.462)",[1824,5486],{"d":5487,"fill":1821,"stroke":1821,"className":5488,"style":1839},"M11.002-60.312Q11.002-60.510 11.055-60.767Q11.108-61.024 11.169-61.217Q11.231-61.411 11.341-61.694Q11.451-61.977 11.534-62.193Q11.653-62.478 11.653-62.711Q11.653-62.830 11.607-62.907Q11.560-62.984 11.455-62.984Q11.103-62.984 10.868-62.623Q10.633-62.263 10.528-61.832Q10.510-61.749 10.435-61.749L10.330-61.749Q10.282-61.749 10.260-61.788Q10.238-61.828 10.238-61.868Q10.326-62.210 10.486-62.516Q10.646-62.821 10.897-63.032Q11.147-63.243 11.473-63.243Q11.811-63.243 12.042-63.037Q12.272-62.830 12.272-62.487Q12.272-62.307 12.211-62.153Q12.119-61.907 12.002-61.604Q11.886-61.301 11.815-61.074Q11.745-60.848 11.699-60.628Q11.653-60.409 11.653-60.193Q11.653-59.850 11.818-59.640Q11.982-59.429 12.316-59.429Q12.971-59.429 13.450-60.409Q13.595-60.690 13.740-61.107Q13.885-61.525 13.885-61.784Q13.885-62.039 13.806-62.182Q13.727-62.325 13.575-62.505Q13.424-62.685 13.424-62.777Q13.424-62.957 13.571-63.105Q13.718-63.252 13.903-63.252Q14.127-63.252 14.226-63.045Q14.325-62.839 14.325-62.588Q14.325-62.166 14.184-61.589Q14.043-61.011 13.775-60.450Q13.507-59.890 13.131-59.527Q12.756-59.165 12.299-59.165Q11.714-59.165 11.358-59.451Q11.002-59.736 11.002-60.312",[1838],[1824,5490],{"fill":1829,"d":5491},"m2.63-48.551-16.338 23.764M-39.796 31.783c0-7.072-5.732-12.804-12.804-12.804-7.071 0-12.803 5.732-12.803 12.804 0 7.07 5.732 12.803 12.803 12.803s12.804-5.732 12.804-12.803ZM-28.895-2.697l-16.338 23.764M22.8 31.783c0-7.072-5.732-12.804-12.804-12.804-7.07 0-12.803 5.732-12.803 12.804 0 7.07 5.732 12.803 12.803 12.803S22.8 38.854 22.8 31.783ZM-13.708-2.697 2.63 21.067M54.098-13.742c0-7.071-5.732-12.804-12.804-12.804-7.07 0-12.803 5.733-12.803 12.804S34.223-.938 41.294-.938s12.804-5.733 12.804-12.804ZM17.363-48.551l16.565 24.094M54.098 31.783c0-7.072-5.732-12.804-12.804-12.804-7.07 0-12.803 5.732-12.803 12.804 0 7.07 5.732 12.803 12.803 12.803s12.804-5.732 12.804-12.803ZM41.294-.738v19.517",[1814,5493,5494,5497,5500],{"stroke":1821,"style":1822},[1824,5495],{"fill":1829,"d":5496},"M7.18-46.572C4.633-34.822-.13-27.822-7.464-22.917",[1824,5498],{"stroke":1829,"d":5499},"m-10.124-21.138 5.679-.718-3.02-1.06.174-3.196",[1814,5501,5503,5506],{"fill":5502},"#fff",[1824,5504],{"stroke":1829,"d":5505},"M-.702-31.955c0-7.342-5.951-13.293-13.293-13.293S-27.29-39.297-27.29-31.955s5.952 13.294 13.294 13.294S-.702-24.613-.702-31.955m-13.293 0",[1814,5507,5509,5516],{"fill":1821,"stroke":1829,"fontFamily":5508,"fontSize":1984},"cmr8",[1814,5510,5512],{"transform":5511},"translate(-35.214 29.772)",[1824,5513],{"d":5514,"fill":1821,"stroke":1821,"className":5515,"style":1992},"M12.242-59.266L10.262-59.266L10.262-59.563Q10.531-59.563 10.699-59.608Q10.867-59.653 10.867-59.825L10.867-61.961Q10.867-62.176 10.805-62.272Q10.742-62.368 10.625-62.389Q10.508-62.411 10.262-62.411L10.262-62.707L11.430-62.793L11.430-62.008Q11.508-62.219 11.660-62.405Q11.812-62.590 12.012-62.692Q12.211-62.793 12.437-62.793Q12.684-62.793 12.875-62.649Q13.066-62.504 13.066-62.274Q13.066-62.118 12.961-62.008Q12.855-61.899 12.699-61.899Q12.543-61.899 12.434-62.008Q12.324-62.118 12.324-62.274Q12.324-62.434 12.430-62.539Q12.105-62.539 11.891-62.311Q11.676-62.082 11.580-61.743Q11.484-61.403 11.484-61.098L11.484-59.825Q11.484-59.657 11.711-59.610Q11.937-59.563 12.242-59.563L12.242-59.266M13.547-61.020Q13.547-61.500 13.779-61.916Q14.012-62.332 14.422-62.582Q14.832-62.832 15.309-62.832Q16.039-62.832 16.437-62.391Q16.836-61.950 16.836-61.219Q16.836-61.114 16.742-61.090L14.293-61.090L14.293-61.020Q14.293-60.610 14.414-60.254Q14.535-59.899 14.807-59.682Q15.078-59.465 15.508-59.465Q15.871-59.465 16.168-59.694Q16.465-59.922 16.566-60.274Q16.574-60.321 16.660-60.336L16.742-60.336Q16.836-60.309 16.836-60.227Q16.836-60.219 16.828-60.188Q16.766-59.961 16.627-59.778Q16.488-59.594 16.297-59.461Q16.105-59.328 15.887-59.258Q15.668-59.188 15.430-59.188Q15.059-59.188 14.721-59.325Q14.383-59.461 14.115-59.713Q13.848-59.965 13.697-60.305Q13.547-60.645 13.547-61.020M14.301-61.328L16.262-61.328Q16.262-61.633 16.160-61.924Q16.059-62.215 15.842-62.397Q15.625-62.578 15.309-62.578Q15.008-62.578 14.777-62.391Q14.547-62.203 14.424-61.912Q14.301-61.621 14.301-61.328M19.332-59.266L17.351-59.266L17.351-59.563Q17.621-59.563 17.789-59.608Q17.957-59.653 17.957-59.825L17.957-61.961Q17.957-62.176 17.894-62.272Q17.832-62.368 17.715-62.389Q17.598-62.411 17.351-62.411L17.351-62.707L18.519-62.793L18.519-62.008Q18.598-62.219 18.750-62.405Q18.902-62.590 19.101-62.692Q19.301-62.793 19.527-62.793Q19.773-62.793 19.965-62.649Q20.156-62.504 20.156-62.274Q20.156-62.118 20.051-62.008Q19.945-61.899 19.789-61.899Q19.633-61.899 19.523-62.008Q19.414-62.118 19.414-62.274Q19.414-62.434 19.519-62.539Q19.195-62.539 18.980-62.311Q18.766-62.082 18.670-61.743Q18.574-61.403 18.574-61.098L18.574-59.825Q18.574-59.657 18.801-59.610Q19.027-59.563 19.332-59.563L19.332-59.266M20.637-60.961Q20.637-61.465 20.892-61.897Q21.148-62.328 21.584-62.580Q22.019-62.832 22.519-62.832Q22.906-62.832 23.248-62.688Q23.590-62.543 23.851-62.282Q24.113-62.020 24.256-61.684Q24.398-61.348 24.398-60.961Q24.398-60.469 24.135-60.059Q23.871-59.649 23.441-59.418Q23.012-59.188 22.519-59.188Q22.027-59.188 21.594-59.420Q21.160-59.653 20.898-60.061Q20.637-60.469 20.637-60.961M22.519-59.465Q22.976-59.465 23.228-59.688Q23.480-59.911 23.568-60.262Q23.656-60.614 23.656-61.059Q23.656-61.489 23.562-61.827Q23.469-62.164 23.215-62.371Q22.961-62.578 22.519-62.578Q21.871-62.578 21.627-62.162Q21.383-61.746 21.383-61.059Q21.383-60.614 21.471-60.262Q21.559-59.911 21.810-59.688Q22.062-59.465 22.519-59.465",[1838],[1814,5517,5518],{"transform":5511},[1824,5519],{"d":5520,"fill":1821,"stroke":1821,"className":5521,"style":1992},"M25.123-60.961Q25.123-61.465 25.379-61.897Q25.635-62.328 26.071-62.580Q26.506-62.832 27.006-62.832Q27.393-62.832 27.735-62.688Q28.076-62.543 28.338-62.282Q28.600-62.020 28.742-61.684Q28.885-61.348 28.885-60.961Q28.885-60.469 28.621-60.059Q28.358-59.649 27.928-59.418Q27.498-59.188 27.006-59.188Q26.514-59.188 26.080-59.420Q25.647-59.653 25.385-60.061Q25.123-60.469 25.123-60.961M27.006-59.465Q27.463-59.465 27.715-59.688Q27.967-59.911 28.055-60.262Q28.143-60.614 28.143-61.059Q28.143-61.489 28.049-61.827Q27.955-62.164 27.701-62.371Q27.448-62.578 27.006-62.578Q26.358-62.578 26.114-62.162Q25.869-61.746 25.869-61.059Q25.869-60.614 25.957-60.262Q26.045-59.911 26.297-59.688Q26.549-59.465 27.006-59.465M29.994-60.227L29.994-62.418L29.291-62.418L29.291-62.672Q29.647-62.672 29.889-62.905Q30.131-63.137 30.242-63.485Q30.354-63.832 30.354-64.188L30.635-64.188L30.635-62.715L31.811-62.715L31.811-62.418L30.635-62.418L30.635-60.243Q30.635-59.922 30.754-59.694Q30.873-59.465 31.155-59.465Q31.334-59.465 31.451-59.588Q31.569-59.711 31.621-59.891Q31.674-60.071 31.674-60.243L31.674-60.715L31.955-60.715L31.955-60.227Q31.955-59.973 31.850-59.733Q31.744-59.493 31.547-59.340Q31.350-59.188 31.092-59.188Q30.776-59.188 30.524-59.311Q30.272-59.434 30.133-59.668Q29.994-59.903 29.994-60.227",[1838],[1814,5523,5524,5531,5537,5543,5549,5555,5561,5567,5573,5579,5585,5591,5597,5603,5609,5615,5621,5627,5633,5639,5645,5651],{"fill":1821,"stroke":1829,"fontSize":1984},[1814,5525,5527],{"transform":5526},"translate(82.031 57.025)",[1824,5528],{"d":5529,"fill":1821,"stroke":1821,"className":5530,"style":1992},"M11.500-78.188Q11.144-78.188 10.875-78.368Q10.605-78.547 10.465-78.842Q10.324-79.137 10.324-79.496Q10.324-79.883 10.486-80.297Q10.648-80.711 10.932-81.049Q11.215-81.387 11.584-81.590Q11.953-81.793 12.355-81.793Q12.848-81.793 13.125-81.344Q13.156-81.477 13.260-81.559Q13.363-81.641 13.492-81.641Q13.605-81.641 13.685-81.571Q13.766-81.500 13.766-81.387Q13.766-81.360 13.750-81.297L13.195-79.098Q13.156-78.852 13.156-78.801Q13.156-78.442 13.402-78.442Q13.547-78.442 13.648-78.549Q13.750-78.657 13.814-78.811Q13.879-78.965 13.928-79.155Q13.976-79.344 13.996-79.442Q14.023-79.512 14.086-79.512L14.187-79.512Q14.226-79.512 14.252-79.479Q14.277-79.446 14.277-79.418Q14.277-79.403 14.269-79.387Q14.156-78.895 13.957-78.541Q13.758-78.188 13.387-78.188Q13.105-78.188 12.879-78.330Q12.652-78.473 12.570-78.731Q12.348-78.489 12.074-78.338Q11.801-78.188 11.500-78.188M11.516-78.442Q11.726-78.442 11.935-78.555Q12.144-78.668 12.314-78.842Q12.484-79.016 12.613-79.211Q12.601-79.196 12.592-79.182Q12.582-79.168 12.570-79.153L13.004-80.875Q12.965-81.055 12.879-81.205Q12.793-81.356 12.656-81.448Q12.519-81.539 12.340-81.539Q12.004-81.539 11.732-81.258Q11.461-80.977 11.301-80.602Q11.176-80.282 11.078-79.862Q10.980-79.442 10.980-79.161Q10.980-78.871 11.113-78.657Q11.246-78.442 11.516-78.442M15.203-78.442Q15.207-78.461 15.209-78.475Q15.211-78.489 15.211-78.512L15.805-80.883Q15.844-81.039 15.844-81.176Q15.844-81.325 15.791-81.432Q15.738-81.539 15.605-81.539Q15.426-81.539 15.307-81.370Q15.187-81.200 15.131-81.014Q15.074-80.829 15.004-80.539Q14.992-80.465 14.922-80.465L14.820-80.465Q14.785-80.465 14.758-80.500Q14.730-80.536 14.730-80.563L14.730-80.594Q14.816-80.926 14.910-81.168Q15.004-81.411 15.180-81.602Q15.355-81.793 15.621-81.793Q15.820-81.793 16.014-81.711Q16.207-81.629 16.334-81.475Q16.461-81.321 16.461-81.114Q16.711-81.430 17.037-81.612Q17.363-81.793 17.738-81.793Q18.187-81.793 18.471-81.567Q18.754-81.340 18.754-80.907Q18.754-80.567 18.621-80.166Q18.488-79.766 18.234-79.098Q18.141-78.875 18.141-78.692Q18.141-78.442 18.316-78.442Q18.625-78.442 18.846-78.764Q19.066-79.086 19.148-79.442Q19.176-79.512 19.234-79.512L19.340-79.512Q19.379-79.512 19.404-79.479Q19.430-79.446 19.430-79.418Q19.430-79.403 19.418-79.387Q19.305-78.934 19.010-78.561Q18.715-78.188 18.301-78.188Q17.992-78.188 17.773-78.375Q17.555-78.563 17.555-78.868Q17.555-79.036 17.613-79.153Q17.855-79.797 17.998-80.239Q18.141-80.680 18.141-81.008Q18.141-81.239 18.043-81.389Q17.945-81.539 17.723-81.539Q16.898-81.539 16.340-80.465L15.844-78.473Q15.812-78.348 15.707-78.268Q15.601-78.188 15.476-78.188Q15.367-78.188 15.285-78.258Q15.203-78.329 15.203-78.442M20.453-78.746Q20.668-78.442 21.332-78.442Q21.762-78.442 22.119-78.643Q22.476-78.844 22.476-79.243Q22.476-79.446 22.316-79.569Q22.156-79.692 21.949-79.731L21.484-79.817Q21.168-79.887 20.953-80.094Q20.738-80.301 20.738-80.610Q20.738-80.973 20.943-81.245Q21.148-81.516 21.478-81.655Q21.809-81.793 22.164-81.793Q22.551-81.793 22.861-81.625Q23.172-81.457 23.172-81.106Q23.172-80.914 23.066-80.774Q22.961-80.633 22.773-80.633Q22.664-80.633 22.582-80.705Q22.500-80.778 22.500-80.891Q22.500-81.036 22.598-81.145Q22.695-81.254 22.836-81.274Q22.746-81.418 22.555-81.479Q22.363-81.539 22.148-81.539Q21.816-81.539 21.543-81.368Q21.269-81.196 21.269-80.883Q21.269-80.727 21.381-80.633Q21.492-80.539 21.668-80.496L22.125-80.411Q22.500-80.340 22.752-80.108Q23.004-79.875 23.004-79.512Q23.004-79.239 22.859-78.971Q22.715-78.704 22.476-78.524Q22-78.188 21.316-78.188Q21.039-78.188 20.758-78.260Q20.476-78.332 20.285-78.506Q20.094-78.680 20.094-78.961Q20.094-79.184 20.223-79.348Q20.351-79.512 20.570-79.512Q20.715-79.512 20.803-79.430Q20.891-79.348 20.891-79.211Q20.891-79.032 20.760-78.889Q20.629-78.746 20.453-78.746",[1838],[1814,5532,5533],{"transform":5526},[1824,5534],{"d":5535,"fill":1821,"stroke":1821,"className":5536,"style":1992},"M26.216-76.274Q25.603-76.731 25.201-77.366Q24.798-78 24.603-78.746Q24.408-79.493 24.408-80.266Q24.408-81.039 24.603-81.786Q24.798-82.532 25.201-83.166Q25.603-83.801 26.216-84.258Q26.228-84.262 26.236-84.264Q26.244-84.266 26.255-84.266L26.333-84.266Q26.372-84.266 26.398-84.239Q26.423-84.211 26.423-84.168Q26.423-84.118 26.392-84.098Q25.884-83.645 25.562-83.022Q25.240-82.399 25.099-81.704Q24.958-81.008 24.958-80.266Q24.958-79.532 25.097-78.832Q25.236-78.133 25.560-77.508Q25.884-76.883 26.392-76.434Q26.423-76.414 26.423-76.364Q26.423-76.321 26.398-76.293Q26.372-76.266 26.333-76.266L26.255-76.266Q26.247-76.270 26.238-76.272Q26.228-76.274 26.216-76.274",[1838],[1814,5538,5539],{"transform":5526},[1824,5540],{"d":5541,"fill":1821,"stroke":1821,"className":5542,"style":1992},"M27.843-79.219Q27.843-79.391 27.885-79.602Q27.928-79.813 27.989-80Q28.050-80.188 28.147-80.440Q28.245-80.692 28.319-80.883Q28.409-81.106 28.409-81.289Q28.409-81.539 28.241-81.539Q27.925-81.539 27.716-81.233Q27.507-80.926 27.401-80.539Q27.389-80.465 27.319-80.465L27.218-80.465Q27.182-80.465 27.155-80.500Q27.128-80.536 27.128-80.563L27.128-80.594Q27.253-81.055 27.550-81.424Q27.846-81.793 28.257-81.793Q28.452-81.793 28.626-81.709Q28.800-81.625 28.901-81.473Q29.003-81.321 29.003-81.114Q29.003-80.961 28.944-80.825Q28.850-80.582 28.725-80.254Q28.600-79.926 28.528-79.647Q28.456-79.368 28.456-79.114Q28.456-78.805 28.610-78.623Q28.764-78.442 29.065-78.442Q29.460-78.442 29.843-78.914Q29.971-79.082 30.118-79.383Q30.264-79.684 30.360-79.983Q30.456-80.282 30.456-80.489Q30.456-80.715 30.382-80.834Q30.307-80.954 30.171-81.108Q30.034-81.262 30.034-81.364Q30.034-81.536 30.175-81.668Q30.315-81.801 30.471-81.801Q30.686-81.801 30.780-81.610Q30.874-81.418 30.874-81.188Q30.874-80.684 30.645-79.963Q30.417-79.243 29.997-78.715Q29.577-78.188 29.050-78.188Q28.796-78.188 28.575-78.246Q28.354-78.305 28.192-78.430Q28.030-78.555 27.936-78.756Q27.843-78.957 27.843-79.219",[1838],[1814,5544,5545],{"transform":5526},[1824,5546],{"d":5547,"fill":1821,"stroke":1821,"className":5548,"style":1992},"M31.972-76.266L31.890-76.266Q31.854-76.266 31.829-76.295Q31.804-76.325 31.804-76.364Q31.804-76.414 31.835-76.434Q32.222-76.770 32.505-77.219Q32.788-77.668 32.954-78.168Q33.120-78.668 33.194-79.186Q33.269-79.704 33.269-80.266Q33.269-80.836 33.194-81.352Q33.120-81.868 32.954-82.364Q32.788-82.860 32.509-83.307Q32.229-83.754 31.835-84.098Q31.804-84.118 31.804-84.168Q31.804-84.207 31.829-84.237Q31.854-84.266 31.890-84.266L31.972-84.266Q31.983-84.266 31.993-84.264Q32.003-84.262 32.011-84.258Q32.624-83.801 33.026-83.166Q33.429-82.532 33.624-81.786Q33.819-81.039 33.819-80.266Q33.819-79.493 33.624-78.746Q33.429-78 33.026-77.366Q32.624-76.731 32.011-76.274Q31.999-76.274 31.991-76.272Q31.983-76.270 31.972-76.266",[1838],[1814,5550,5551],{"transform":5526},[1824,5552],{"d":5553,"fill":1821,"stroke":1821,"className":5554,"style":1992},"M42.959-79.243L37.646-79.243Q37.568-79.250 37.519-79.299Q37.471-79.348 37.471-79.426Q37.471-79.496 37.518-79.547Q37.564-79.598 37.646-79.610L42.959-79.610Q43.033-79.598 43.080-79.547Q43.127-79.496 43.127-79.426Q43.127-79.348 43.078-79.299Q43.029-79.250 42.959-79.243M42.959-80.930L37.646-80.930Q37.568-80.938 37.519-80.987Q37.471-81.036 37.471-81.114Q37.471-81.184 37.518-81.235Q37.564-81.286 37.646-81.297L42.959-81.297Q43.033-81.286 43.080-81.235Q43.127-81.184 43.127-81.114Q43.127-81.036 43.078-80.987Q43.029-80.938 42.959-80.930",[1838],[1814,5556,5557],{"transform":5526},[1824,5558],{"d":5559,"fill":1821,"stroke":1821,"className":5560,"style":1992},"M11.500-68.688Q11.144-68.688 10.875-68.868Q10.605-69.047 10.465-69.342Q10.324-69.637 10.324-69.996Q10.324-70.383 10.486-70.797Q10.648-71.211 10.932-71.549Q11.215-71.887 11.584-72.090Q11.953-72.293 12.355-72.293Q12.848-72.293 13.125-71.844Q13.156-71.977 13.260-72.059Q13.363-72.141 13.492-72.141Q13.605-72.141 13.685-72.071Q13.766-72 13.766-71.887Q13.766-71.860 13.750-71.797L13.195-69.598Q13.156-69.352 13.156-69.301Q13.156-68.942 13.402-68.942Q13.547-68.942 13.648-69.049Q13.750-69.157 13.814-69.311Q13.879-69.465 13.928-69.655Q13.976-69.844 13.996-69.942Q14.023-70.012 14.086-70.012L14.187-70.012Q14.226-70.012 14.252-69.979Q14.277-69.946 14.277-69.918Q14.277-69.903 14.269-69.887Q14.156-69.395 13.957-69.041Q13.758-68.688 13.387-68.688Q13.105-68.688 12.879-68.830Q12.652-68.973 12.570-69.231Q12.348-68.989 12.074-68.838Q11.801-68.688 11.500-68.688M11.516-68.942Q11.726-68.942 11.935-69.055Q12.144-69.168 12.314-69.342Q12.484-69.516 12.613-69.711Q12.601-69.696 12.592-69.682Q12.582-69.668 12.570-69.653L13.004-71.375Q12.965-71.555 12.879-71.705Q12.793-71.856 12.656-71.948Q12.519-72.039 12.340-72.039Q12.004-72.039 11.732-71.758Q11.461-71.477 11.301-71.102Q11.176-70.782 11.078-70.362Q10.980-69.942 10.980-69.661Q10.980-69.371 11.113-69.157Q11.246-68.942 11.516-68.942M15.203-68.942Q15.207-68.961 15.209-68.975Q15.211-68.989 15.211-69.012L15.805-71.383Q15.844-71.539 15.844-71.676Q15.844-71.825 15.791-71.932Q15.738-72.039 15.605-72.039Q15.426-72.039 15.307-71.870Q15.187-71.700 15.131-71.514Q15.074-71.329 15.004-71.039Q14.992-70.965 14.922-70.965L14.820-70.965Q14.785-70.965 14.758-71Q14.730-71.036 14.730-71.063L14.730-71.094Q14.816-71.426 14.910-71.668Q15.004-71.911 15.180-72.102Q15.355-72.293 15.621-72.293Q15.820-72.293 16.014-72.211Q16.207-72.129 16.334-71.975Q16.461-71.821 16.461-71.614Q16.711-71.930 17.037-72.112Q17.363-72.293 17.738-72.293Q18.187-72.293 18.471-72.067Q18.754-71.840 18.754-71.407Q18.754-71.067 18.621-70.666Q18.488-70.266 18.234-69.598Q18.141-69.375 18.141-69.192Q18.141-68.942 18.316-68.942Q18.625-68.942 18.846-69.264Q19.066-69.586 19.148-69.942Q19.176-70.012 19.234-70.012L19.340-70.012Q19.379-70.012 19.404-69.979Q19.430-69.946 19.430-69.918Q19.430-69.903 19.418-69.887Q19.305-69.434 19.010-69.061Q18.715-68.688 18.301-68.688Q17.992-68.688 17.773-68.875Q17.555-69.063 17.555-69.368Q17.555-69.536 17.613-69.653Q17.855-70.297 17.998-70.739Q18.141-71.180 18.141-71.508Q18.141-71.739 18.043-71.889Q17.945-72.039 17.723-72.039Q16.898-72.039 16.340-70.965L15.844-68.973Q15.812-68.848 15.707-68.768Q15.601-68.688 15.476-68.688Q15.367-68.688 15.285-68.758Q15.203-68.829 15.203-68.942M20.453-69.246Q20.668-68.942 21.332-68.942Q21.762-68.942 22.119-69.143Q22.476-69.344 22.476-69.743Q22.476-69.946 22.316-70.069Q22.156-70.192 21.949-70.231L21.484-70.317Q21.168-70.387 20.953-70.594Q20.738-70.801 20.738-71.110Q20.738-71.473 20.943-71.745Q21.148-72.016 21.478-72.155Q21.809-72.293 22.164-72.293Q22.551-72.293 22.861-72.125Q23.172-71.957 23.172-71.606Q23.172-71.414 23.066-71.274Q22.961-71.133 22.773-71.133Q22.664-71.133 22.582-71.205Q22.500-71.278 22.500-71.391Q22.500-71.536 22.598-71.645Q22.695-71.754 22.836-71.774Q22.746-71.918 22.555-71.979Q22.363-72.039 22.148-72.039Q21.816-72.039 21.543-71.868Q21.269-71.696 21.269-71.383Q21.269-71.227 21.381-71.133Q21.492-71.039 21.668-70.996L22.125-70.911Q22.500-70.840 22.752-70.608Q23.004-70.375 23.004-70.012Q23.004-69.739 22.859-69.471Q22.715-69.204 22.476-69.024Q22-68.688 21.316-68.688Q21.039-68.688 20.758-68.760Q20.476-68.832 20.285-69.006Q20.094-69.180 20.094-69.461Q20.094-69.684 20.223-69.848Q20.351-70.012 20.570-70.012Q20.715-70.012 20.803-69.930Q20.891-69.848 20.891-69.711Q20.891-69.532 20.760-69.389Q20.629-69.246 20.453-69.246",[1838],[1814,5562,5563],{"transform":5526},[1824,5564],{"d":5565,"fill":1821,"stroke":1821,"className":5566,"style":1992},"M26.216-66.774Q25.603-67.231 25.201-67.866Q24.798-68.500 24.603-69.246Q24.408-69.993 24.408-70.766Q24.408-71.539 24.603-72.286Q24.798-73.032 25.201-73.666Q25.603-74.301 26.216-74.758Q26.228-74.762 26.236-74.764Q26.244-74.766 26.255-74.766L26.333-74.766Q26.372-74.766 26.398-74.739Q26.423-74.711 26.423-74.668Q26.423-74.618 26.392-74.598Q25.884-74.145 25.562-73.522Q25.240-72.899 25.099-72.204Q24.958-71.508 24.958-70.766Q24.958-70.032 25.097-69.332Q25.236-68.633 25.560-68.008Q25.884-67.383 26.392-66.934Q26.423-66.914 26.423-66.864Q26.423-66.821 26.398-66.793Q26.372-66.766 26.333-66.766L26.255-66.766Q26.247-66.770 26.238-66.772Q26.228-66.774 26.216-66.774",[1838],[1814,5568,5569],{"transform":5526},[1824,5570],{"d":5571,"fill":1821,"stroke":1821,"className":5572,"style":1992},"M27.835-69.688Q27.835-69.938 27.909-70.225Q27.983-70.512 28.120-70.864Q28.257-71.215 28.319-71.383Q28.409-71.606 28.409-71.789Q28.409-72.039 28.241-72.039Q27.925-72.039 27.716-71.733Q27.507-71.426 27.401-71.039Q27.389-70.965 27.319-70.965L27.218-70.965Q27.182-70.965 27.155-71Q27.128-71.036 27.128-71.063L27.128-71.094Q27.253-71.555 27.550-71.924Q27.846-72.293 28.257-72.293Q28.452-72.293 28.626-72.209Q28.800-72.125 28.901-71.973Q29.003-71.821 29.003-71.614Q29.003-71.461 28.944-71.325Q28.854-71.094 28.753-70.829Q28.651-70.563 28.594-70.381Q28.538-70.200 28.493-69.985Q28.448-69.770 28.448-69.575Q28.448-69.301 28.571-69.121Q28.694-68.942 28.952-68.942Q29.221-68.942 29.530-69.170Q29.839-69.399 29.889-69.653L30.456-71.926Q30.495-72.051 30.598-72.133Q30.702-72.215 30.827-72.215Q30.936-72.215 31.016-72.141Q31.096-72.067 31.096-71.957Q31.096-71.934 31.081-71.871L30.514-69.598Q30.510-69.559 30.497-69.498Q30.483-69.438 30.477-69.387Q30.471-69.336 30.471-69.301Q30.471-68.942 30.721-68.942Q30.862-68.942 30.964-69.049Q31.065-69.157 31.130-69.311Q31.194-69.465 31.243-69.655Q31.292-69.844 31.311-69.942Q31.346-70.012 31.401-70.012L31.507-70.012Q31.546-70.012 31.569-69.983Q31.593-69.954 31.593-69.918Q31.593-69.903 31.585-69.887Q31.514-69.590 31.417-69.332Q31.319-69.075 31.143-68.881Q30.968-68.688 30.706-68.688Q30.440-68.688 30.218-68.821Q29.995-68.954 29.905-69.192Q29.718-68.965 29.462-68.827Q29.206-68.688 28.936-68.688Q28.612-68.688 28.362-68.797Q28.112-68.907 27.973-69.131Q27.835-69.356 27.835-69.688",[1838],[1814,5574,5575],{"transform":5526},[1824,5576],{"d":5577,"fill":1821,"stroke":1821,"className":5578,"style":1992},"M32.467-66.766L32.385-66.766Q32.349-66.766 32.324-66.795Q32.299-66.825 32.299-66.864Q32.299-66.914 32.330-66.934Q32.717-67.270 33-67.719Q33.283-68.168 33.449-68.668Q33.615-69.168 33.689-69.686Q33.764-70.204 33.764-70.766Q33.764-71.336 33.689-71.852Q33.615-72.368 33.449-72.864Q33.283-73.360 33.004-73.807Q32.724-74.254 32.330-74.598Q32.299-74.618 32.299-74.668Q32.299-74.707 32.324-74.737Q32.349-74.766 32.385-74.766L32.467-74.766Q32.478-74.766 32.488-74.764Q32.498-74.762 32.506-74.758Q33.119-74.301 33.521-73.666Q33.924-73.032 34.119-72.286Q34.314-71.539 34.314-70.766Q34.314-69.993 34.119-69.246Q33.924-68.500 33.521-67.866Q33.119-67.231 32.506-66.774Q32.494-66.774 32.486-66.772Q32.478-66.770 32.467-66.766",[1838],[1814,5580,5581],{"transform":5526},[1824,5582],{"d":5583,"fill":1821,"stroke":1821,"className":5584,"style":1992},"M42.740-70.582L37.908-70.582Q37.834-70.594 37.783-70.643Q37.732-70.692 37.732-70.766Q37.732-70.918 37.908-70.950L42.740-70.950Q42.908-70.922 42.908-70.766Q42.908-70.610 42.740-70.582",[1838],[1814,5586,5587],{"transform":5526},[1824,5588],{"d":5589,"fill":1821,"stroke":1821,"className":5590,"style":1992},"M46.115-68.598L46.064-68.598Q46.029-68.598 46.003-68.627Q45.978-68.657 45.978-68.696L45.978-68.719L46.423-70.520Q46.439-70.582 46.513-70.582L46.619-70.582Q46.658-70.582 46.681-70.555Q46.705-70.528 46.705-70.485Q46.705-70.446 46.673-70.278Q46.642-70.110 46.642-70.024Q46.642-69.434 47.072-69.164Q47.501-68.895 48.123-68.895Q48.478-68.895 48.818-69.092Q49.158-69.289 49.371-69.621Q49.584-69.954 49.584-70.309Q49.584-70.606 49.416-70.823Q49.248-71.039 48.970-71.110L47.912-71.368Q47.646-71.430 47.431-71.600Q47.216-71.770 47.097-72.012Q46.978-72.254 46.978-72.536Q46.978-72.911 47.158-73.250Q47.337-73.590 47.634-73.848Q47.931-74.106 48.294-74.252Q48.658-74.399 49.025-74.399Q49.400-74.399 49.728-74.264Q50.056-74.129 50.248-73.844L50.712-74.375Q50.736-74.399 50.767-74.399L50.818-74.399Q50.857-74.399 50.880-74.371Q50.904-74.344 50.904-74.301L50.904-74.278L50.459-72.485Q50.431-72.414 50.369-72.414L50.263-72.414Q50.177-72.414 50.177-72.520Q50.209-72.696 50.209-72.911Q50.209-73.297 50.070-73.571Q49.931-73.844 49.664-73.985Q49.396-74.125 49.009-74.125Q48.677-74.125 48.343-73.954Q48.009-73.782 47.792-73.487Q47.576-73.192 47.576-72.856Q47.576-72.590 47.746-72.385Q47.916-72.180 48.185-72.110L49.240-71.856Q49.669-71.750 49.923-71.411Q50.177-71.071 50.177-70.629Q50.177-70.235 50.003-69.868Q49.830-69.500 49.527-69.211Q49.224-68.922 48.851-68.760Q48.478-68.598 48.095-68.598Q47.650-68.598 47.259-68.727Q46.869-68.856 46.634-69.149L46.169-68.621Q46.146-68.598 46.115-68.598",[1838],[1814,5592,5593],{"transform":5526},[1824,5594],{"d":5595,"fill":1821,"stroke":1821,"className":5596,"style":1992},"M53.755-66.774Q53.142-67.231 52.740-67.866Q52.337-68.500 52.142-69.246Q51.947-69.993 51.947-70.766Q51.947-71.539 52.142-72.286Q52.337-73.032 52.740-73.666Q53.142-74.301 53.755-74.758Q53.767-74.762 53.775-74.764Q53.783-74.766 53.794-74.766L53.872-74.766Q53.911-74.766 53.937-74.739Q53.962-74.711 53.962-74.668Q53.962-74.618 53.931-74.598Q53.423-74.145 53.101-73.522Q52.779-72.899 52.638-72.204Q52.497-71.508 52.497-70.766Q52.497-70.032 52.636-69.332Q52.775-68.633 53.099-68.008Q53.423-67.383 53.931-66.934Q53.962-66.914 53.962-66.864Q53.962-66.821 53.937-66.793Q53.911-66.766 53.872-66.766L53.794-66.766Q53.786-66.770 53.777-66.772Q53.767-66.774 53.755-66.774",[1838],[1814,5598,5599],{"transform":5526},[1824,5600],{"d":5601,"fill":1821,"stroke":1821,"className":5602,"style":1992},"M55.380-69.719Q55.380-69.891 55.423-70.102Q55.466-70.313 55.527-70.500Q55.588-70.688 55.685-70.940Q55.783-71.192 55.857-71.383Q55.947-71.606 55.947-71.789Q55.947-72.039 55.779-72.039Q55.463-72.039 55.254-71.733Q55.045-71.426 54.939-71.039Q54.927-70.965 54.857-70.965L54.755-70.965Q54.720-70.965 54.693-71Q54.666-71.036 54.666-71.063L54.666-71.094Q54.791-71.555 55.088-71.924Q55.384-72.293 55.795-72.293Q55.990-72.293 56.164-72.209Q56.338-72.125 56.439-71.973Q56.541-71.821 56.541-71.614Q56.541-71.461 56.482-71.325Q56.388-71.082 56.263-70.754Q56.138-70.426 56.066-70.147Q55.994-69.868 55.994-69.614Q55.994-69.305 56.148-69.123Q56.302-68.942 56.603-68.942Q56.998-68.942 57.380-69.414Q57.509-69.582 57.656-69.883Q57.802-70.184 57.898-70.483Q57.994-70.782 57.994-70.989Q57.994-71.215 57.920-71.334Q57.845-71.454 57.709-71.608Q57.572-71.762 57.572-71.864Q57.572-72.036 57.713-72.168Q57.853-72.301 58.009-72.301Q58.224-72.301 58.318-72.110Q58.412-71.918 58.412-71.688Q58.412-71.184 58.183-70.463Q57.955-69.743 57.535-69.215Q57.115-68.688 56.588-68.688Q56.334-68.688 56.113-68.746Q55.892-68.805 55.730-68.930Q55.568-69.055 55.474-69.256Q55.380-69.457 55.380-69.719",[1838],[1814,5604,5605],{"transform":5526},[1824,5606],{"d":5607,"fill":1821,"stroke":1821,"className":5608,"style":1992},"M59.510-66.766L59.428-66.766Q59.392-66.766 59.367-66.795Q59.342-66.825 59.342-66.864Q59.342-66.914 59.373-66.934Q59.760-67.270 60.043-67.719Q60.326-68.168 60.492-68.668Q60.658-69.168 60.732-69.686Q60.806-70.204 60.806-70.766Q60.806-71.336 60.732-71.852Q60.658-72.368 60.492-72.864Q60.326-73.360 60.047-73.807Q59.767-74.254 59.373-74.598Q59.342-74.618 59.342-74.668Q59.342-74.707 59.367-74.737Q59.392-74.766 59.428-74.766L59.510-74.766Q59.521-74.766 59.531-74.764Q59.541-74.762 59.549-74.758Q60.162-74.301 60.564-73.666Q60.967-73.032 61.162-72.286Q61.357-71.539 61.357-70.766Q61.357-69.993 61.162-69.246Q60.967-68.500 60.564-67.866Q60.162-67.231 59.549-66.774Q59.537-66.774 59.529-66.772Q59.521-66.770 59.510-66.766",[1838],[1814,5610,5611],{"transform":5526},[1824,5612],{"d":5613,"fill":1821,"stroke":1821,"className":5614,"style":1992},"M13.117-61.082L10.644-61.082Q10.566-61.094 10.517-61.143Q10.469-61.192 10.469-61.266Q10.469-61.340 10.517-61.389Q10.566-61.438 10.644-61.450L13.117-61.450L13.117-63.930Q13.144-64.098 13.301-64.098Q13.375-64.098 13.424-64.049Q13.473-64 13.484-63.930L13.484-61.450L15.957-61.450Q16.125-61.418 16.125-61.266Q16.125-61.114 15.957-61.082L13.484-61.082L13.484-58.602Q13.473-58.532 13.424-58.483Q13.375-58.434 13.301-58.434Q13.144-58.434 13.117-58.602",[1838],[1814,5616,5617],{"transform":5526},[1824,5618],{"d":5619,"fill":1821,"stroke":1821,"className":5620,"style":1992},"M20.641-57.274Q20.028-57.731 19.626-58.366Q19.223-59 19.028-59.746Q18.833-60.493 18.833-61.266Q18.833-62.039 19.028-62.786Q19.223-63.532 19.626-64.166Q20.028-64.801 20.641-65.258Q20.653-65.262 20.661-65.264Q20.669-65.266 20.680-65.266L20.758-65.266Q20.797-65.266 20.823-65.239Q20.848-65.211 20.848-65.168Q20.848-65.118 20.817-65.098Q20.309-64.645 19.987-64.022Q19.665-63.399 19.524-62.703Q19.383-62.008 19.383-61.266Q19.383-60.532 19.522-59.832Q19.661-59.133 19.985-58.508Q20.309-57.883 20.817-57.434Q20.848-57.414 20.848-57.364Q20.848-57.321 20.823-57.293Q20.797-57.266 20.758-57.266L20.680-57.266Q20.672-57.270 20.663-57.272Q20.653-57.274 20.641-57.274",[1838],[1814,5622,5623],{"transform":5526},[1824,5624],{"d":5625,"fill":1821,"stroke":1821,"className":5626,"style":1992},"M22.025-59.442Q22.029-59.461 22.031-59.475Q22.033-59.489 22.033-59.512L22.627-61.883Q22.666-62.039 22.666-62.176Q22.666-62.325 22.613-62.432Q22.560-62.539 22.428-62.539Q22.248-62.539 22.129-62.370Q22.010-62.200 21.953-62.014Q21.896-61.828 21.826-61.539Q21.814-61.465 21.744-61.465L21.642-61.465Q21.607-61.465 21.580-61.500Q21.553-61.536 21.553-61.563L21.553-61.594Q21.639-61.926 21.732-62.168Q21.826-62.411 22.002-62.602Q22.178-62.793 22.443-62.793Q22.642-62.793 22.836-62.711Q23.029-62.629 23.156-62.475Q23.283-62.321 23.283-62.114Q23.533-62.430 23.859-62.612Q24.185-62.793 24.560-62.793Q25.010-62.793 25.293-62.567Q25.576-62.340 25.576-61.907Q25.576-61.567 25.443-61.166Q25.310-60.766 25.057-60.098Q24.963-59.875 24.963-59.692Q24.963-59.442 25.139-59.442Q25.447-59.442 25.668-59.764Q25.889-60.086 25.971-60.442Q25.998-60.512 26.057-60.512L26.162-60.512Q26.201-60.512 26.226-60.479Q26.252-60.446 26.252-60.418Q26.252-60.403 26.240-60.387Q26.127-59.934 25.832-59.561Q25.537-59.188 25.123-59.188Q24.814-59.188 24.596-59.375Q24.377-59.563 24.377-59.868Q24.377-60.036 24.435-60.153Q24.678-60.797 24.820-61.239Q24.963-61.680 24.963-62.008Q24.963-62.239 24.865-62.389Q24.767-62.539 24.545-62.539Q23.721-62.539 23.162-61.465L22.666-59.473Q22.635-59.348 22.529-59.268Q22.424-59.188 22.299-59.188Q22.189-59.188 22.107-59.258Q22.025-59.328 22.025-59.442",[1838],[1814,5628,5629],{"transform":5526},[1824,5630],{"d":5631,"fill":1821,"stroke":1821,"className":5632,"style":1992},"M34.095-61.082L29.263-61.082Q29.189-61.094 29.138-61.143Q29.087-61.192 29.087-61.266Q29.087-61.418 29.263-61.450L34.095-61.450Q34.263-61.422 34.263-61.266Q34.263-61.110 34.095-61.082",[1838],[1814,5634,5635],{"transform":5526},[1824,5636],{"d":5637,"fill":1821,"stroke":1821,"className":5638,"style":1992},"M37.470-59.098L37.419-59.098Q37.384-59.098 37.358-59.127Q37.333-59.157 37.333-59.196L37.333-59.219L37.778-61.020Q37.794-61.082 37.868-61.082L37.974-61.082Q38.013-61.082 38.036-61.055Q38.060-61.028 38.060-60.985Q38.060-60.946 38.028-60.778Q37.997-60.610 37.997-60.524Q37.997-59.934 38.427-59.664Q38.856-59.395 39.478-59.395Q39.833-59.395 40.173-59.592Q40.513-59.789 40.726-60.121Q40.938-60.453 40.938-60.809Q40.938-61.106 40.771-61.323Q40.603-61.539 40.325-61.610L39.267-61.868Q39.001-61.930 38.786-62.100Q38.571-62.270 38.452-62.512Q38.333-62.754 38.333-63.036Q38.333-63.411 38.513-63.750Q38.692-64.090 38.989-64.348Q39.286-64.606 39.649-64.752Q40.013-64.899 40.380-64.899Q40.755-64.899 41.083-64.764Q41.411-64.629 41.603-64.344L42.067-64.875Q42.091-64.899 42.122-64.899L42.173-64.899Q42.212-64.899 42.235-64.871Q42.259-64.844 42.259-64.801L42.259-64.778L41.813-62.985Q41.786-62.914 41.724-62.914L41.618-62.914Q41.532-62.914 41.532-63.020Q41.563-63.196 41.563-63.411Q41.563-63.797 41.425-64.071Q41.286-64.344 41.019-64.485Q40.751-64.625 40.364-64.625Q40.032-64.625 39.698-64.453Q39.364-64.282 39.147-63.987Q38.931-63.692 38.931-63.356Q38.931-63.090 39.101-62.885Q39.271-62.680 39.540-62.610L40.595-62.356Q41.024-62.250 41.278-61.911Q41.532-61.571 41.532-61.129Q41.532-60.735 41.358-60.368Q41.185-60 40.882-59.711Q40.579-59.422 40.206-59.260Q39.833-59.098 39.450-59.098Q39.005-59.098 38.614-59.227Q38.224-59.356 37.989-59.649L37.524-59.121Q37.501-59.098 37.470-59.098",[1838],[1814,5640,5641],{"transform":5526},[1824,5642],{"d":5643,"fill":1821,"stroke":1821,"className":5644,"style":1992},"M45.110-57.274Q44.497-57.731 44.095-58.366Q43.692-59 43.497-59.746Q43.302-60.493 43.302-61.266Q43.302-62.039 43.497-62.786Q43.692-63.532 44.095-64.166Q44.497-64.801 45.110-65.258Q45.122-65.262 45.130-65.264Q45.138-65.266 45.149-65.266L45.227-65.266Q45.266-65.266 45.292-65.239Q45.317-65.211 45.317-65.168Q45.317-65.118 45.286-65.098Q44.778-64.645 44.456-64.022Q44.134-63.399 43.993-62.703Q43.852-62.008 43.852-61.266Q43.852-60.532 43.991-59.832Q44.130-59.133 44.454-58.508Q44.778-57.883 45.286-57.434Q45.317-57.414 45.317-57.364Q45.317-57.321 45.292-57.293Q45.266-57.266 45.227-57.266L45.149-57.266Q45.141-57.270 45.132-57.272Q45.122-57.274 45.110-57.274",[1838],[1814,5646,5647],{"transform":5526},[1824,5648],{"d":5649,"fill":1821,"stroke":1821,"className":5650,"style":1992},"M46.736-60.219Q46.736-60.391 46.779-60.602Q46.822-60.813 46.883-61Q46.944-61.188 47.041-61.440Q47.139-61.692 47.213-61.883Q47.303-62.106 47.303-62.289Q47.303-62.539 47.135-62.539Q46.819-62.539 46.610-62.233Q46.401-61.926 46.295-61.539Q46.283-61.465 46.213-61.465L46.111-61.465Q46.076-61.465 46.049-61.500Q46.022-61.536 46.022-61.563L46.022-61.594Q46.147-62.055 46.444-62.424Q46.740-62.793 47.151-62.793Q47.346-62.793 47.520-62.709Q47.694-62.625 47.795-62.473Q47.897-62.321 47.897-62.114Q47.897-61.961 47.838-61.825Q47.744-61.582 47.619-61.254Q47.494-60.926 47.422-60.647Q47.350-60.368 47.350-60.114Q47.350-59.805 47.504-59.623Q47.658-59.442 47.959-59.442Q48.354-59.442 48.736-59.914Q48.865-60.082 49.012-60.383Q49.158-60.684 49.254-60.983Q49.350-61.282 49.350-61.489Q49.350-61.715 49.276-61.834Q49.201-61.953 49.065-62.108Q48.928-62.262 48.928-62.364Q48.928-62.536 49.069-62.668Q49.209-62.801 49.365-62.801Q49.580-62.801 49.674-62.610Q49.768-62.418 49.768-62.188Q49.768-61.684 49.539-60.963Q49.311-60.243 48.891-59.715Q48.471-59.188 47.944-59.188Q47.690-59.188 47.469-59.246Q47.248-59.305 47.086-59.430Q46.924-59.555 46.830-59.756Q46.736-59.957 46.736-60.219",[1838],[1814,5652,5653],{"transform":5526},[1824,5654],{"d":5655,"fill":1821,"stroke":1821,"className":5656,"style":1992},"M50.866-57.266L50.784-57.266Q50.748-57.266 50.723-57.295Q50.698-57.325 50.698-57.364Q50.698-57.414 50.729-57.434Q51.116-57.770 51.399-58.219Q51.682-58.668 51.848-59.168Q52.014-59.668 52.088-60.186Q52.163-60.703 52.163-61.266Q52.163-61.836 52.088-62.352Q52.014-62.868 51.848-63.364Q51.682-63.860 51.403-64.307Q51.123-64.754 50.729-65.098Q50.698-65.118 50.698-65.168Q50.698-65.207 50.723-65.237Q50.748-65.266 50.784-65.266L50.866-65.266Q50.877-65.266 50.887-65.264Q50.897-65.262 50.905-65.258Q51.518-64.801 51.920-64.166Q52.323-63.532 52.518-62.786Q52.713-62.039 52.713-61.266Q52.713-60.493 52.518-59.746Q52.323-59 51.920-58.366Q51.518-57.731 50.905-57.274Q50.893-57.274 50.885-57.272Q50.877-57.270 50.866-57.266M54.170-57.266L54.088-57.266Q54.053-57.266 54.028-57.295Q54.002-57.325 54.002-57.364Q54.002-57.414 54.034-57.434Q54.420-57.770 54.704-58.219Q54.987-58.668 55.153-59.168Q55.319-59.668 55.393-60.186Q55.467-60.703 55.467-61.266Q55.467-61.836 55.393-62.352Q55.319-62.868 55.153-63.364Q54.987-63.860 54.707-64.307Q54.428-64.754 54.034-65.098Q54.002-65.118 54.002-65.168Q54.002-65.207 54.028-65.237Q54.053-65.266 54.088-65.266L54.170-65.266Q54.182-65.266 54.192-65.264Q54.202-65.262 54.209-65.258Q54.823-64.801 55.225-64.166Q55.627-63.532 55.823-62.786Q56.018-62.039 56.018-61.266Q56.018-60.493 55.823-59.746Q55.627-59 55.225-58.366Q54.823-57.731 54.209-57.274Q54.198-57.274 54.190-57.272Q54.182-57.270 54.170-57.266",[1838],[2303,5658,5660,5661,5676,5677,5692,5693,5708,5709,5751],{"className":5659},[2306],"Rerooting from parent ",[403,5662,5664],{"className":5663},[406],[403,5665,5667],{"className":5666,"ariaHidden":411},[410],[403,5668,5670,5673],{"className":5669},[415],[403,5671],{"className":5672,"style":456},[419],[403,5674,5131],{"className":5675},[424,425]," to child ",[403,5678,5680],{"className":5679},[406],[403,5681,5683],{"className":5682,"ariaHidden":411},[410],[403,5684,5686,5689],{"className":5685},[415],[403,5687],{"className":5688,"style":456},[419],[403,5690,437],{"className":5691,"style":436},[424,425],": subtract ",[403,5694,5696],{"className":5695},[406],[403,5697,5699],{"className":5698,"ariaHidden":411},[410],[403,5700,5702,5705],{"className":5701},[415],[403,5703],{"className":5704,"style":456},[419],[403,5706,437],{"className":5707,"style":436},[424,425],"'s subtree, add the other ",[403,5710,5712],{"className":5711},[406],[403,5713,5715,5733],{"className":5714,"ariaHidden":411},[410],[403,5716,5718,5721,5724,5727,5730],{"className":5717},[415],[403,5719],{"className":5720,"style":5222},[419],[403,5722,691],{"className":5723},[424,425],[403,5725],{"className":5726,"style":1448},[536],[403,5728,5232],{"className":5729},[1452],[403,5731],{"className":5732,"style":1448},[536],[403,5734,5736,5739,5742,5745,5748],{"className":5735},[415],[403,5737],{"className":5738,"style":420},[419],[403,5740,4196],{"className":5741,"style":4195},[424,425],[403,5743,432],{"className":5744},[431],[403,5746,437],{"className":5747,"style":436},[424,425],[403,5749,442],{"className":5750},[441]," nodes",[3012,5753,5754],{"type":3014},[381,5755,5756,5759,5760,5784,5785,5827,5828,5843,5844,5859,5860,1549],{},[385,5757,5758],{},"Remark (Why two passes suffice)."," The down-pass anchors one correct global answer (at\nthe root). The up-pass is a second post-order\u002Fpre-order DFS that, knowing the\nparent's correct global answer, derives each child's in ",[403,5761,5763],{"className":5762},[406],[403,5764,5766],{"className":5765,"ariaHidden":411},[410],[403,5767,5769,5772,5775,5778,5781],{"className":5768},[415],[403,5770],{"className":5771,"style":420},[419],[403,5773,657],{"className":5774,"style":656},[424,425],[403,5776,432],{"className":5777},[431],[403,5779,664],{"className":5780},[424],[403,5782,442],{"className":5783},[441]," by accounting\nonly for the nodes that cross the single edge between them. Every edge is\ncrossed once in each direction, so the adjustment is computed ",[403,5786,5788],{"className":5787},[406],[403,5789,5791,5815],{"className":5790,"ariaHidden":411},[410],[403,5792,5794,5797,5800,5803,5806,5809,5812],{"className":5793},[415],[403,5795],{"className":5796,"style":420},[419],[403,5798,883],{"className":5799},[424],[403,5801,432],{"className":5802},[431],[403,5804,691],{"className":5805},[424,425],[403,5807],{"className":5808,"style":1448},[536],[403,5810,5232],{"className":5811},[1452],[403,5813],{"className":5814,"style":1448},[536],[403,5816,5818,5821,5824],{"className":5817},[415],[403,5819],{"className":5820,"style":420},[419],[403,5822,664],{"className":5823},[424],[403,5825,442],{"className":5826},[441]," times in\nall, linear. The pattern generalizes: any quantity whose change across one edge\ncan be expressed from cached subtree aggregates (",[403,5829,5831],{"className":5830},[406],[403,5832,5834],{"className":5833,"ariaHidden":411},[410],[403,5835,5837,5840],{"className":5836},[415],[403,5838],{"className":5839,"style":4963},[419],[403,5841,4196],{"className":5842,"style":4195},[424,425],", ",[403,5845,5847],{"className":5846},[406],[403,5848,5850],{"className":5849,"ariaHidden":411},[410],[403,5851,5853,5856],{"className":5852},[415],[403,5854],{"className":5855,"style":4963},[419],[403,5857,4238],{"className":5858,"style":656},[424,425],", counts, sums) can be\nrerooted in ",[403,5861,5863],{"className":5862},[406],[403,5864,5866],{"className":5865,"ariaHidden":411},[410],[403,5867,5869,5872,5875,5878,5881],{"className":5868},[415],[403,5870],{"className":5871,"style":420},[419],[403,5873,657],{"className":5874,"style":656},[424,425],[403,5876,432],{"className":5877},[431],[403,5879,691],{"className":5880},[424,425],[403,5882,442],{"className":5883},[441],[381,5885,5886,5887,5890,5891,5894,5895,5933,5934,5958],{},"A related linear-time tree DP is ",[385,5888,5889],{},"Distribute Coins in Binary Tree",": each node\nreturns to its parent the ",[398,5892,5893],{},"net"," coins it must send up or pull down, the signed\nexcess ",[403,5896,5898],{"className":5897},[406],[403,5899,5901,5924],{"className":5900,"ariaHidden":411},[410],[403,5902,5904,5908,5915,5918,5921],{"className":5903},[415],[403,5905],{"className":5906,"style":5907},[419],"height:0.7627em;vertical-align:-0.0833em;",[403,5909,5911],{"className":5910},[424,556],[403,5912,5914],{"className":5913},[424,560],"coins",[403,5916],{"className":5917,"style":1448},[536],[403,5919,5232],{"className":5920},[1452],[403,5922],{"className":5923,"style":1448},[536],[403,5925,5927,5930],{"className":5926},[415],[403,5928],{"className":5929,"style":866},[419],[403,5931,664],{"className":5932},[424]," summed over its subtree, and the total number of\nmoves is the sum of absolute flows along every edge, accumulated in one\npost-order pass. Same shape: a local return value, a global accumulator,\n",[403,5935,5937],{"className":5936},[406],[403,5938,5940],{"className":5939,"ariaHidden":411},[410],[403,5941,5943,5946,5949,5952,5955],{"className":5942},[415],[403,5944],{"className":5945,"style":420},[419],[403,5947,684],{"className":5948},[424],[403,5950,432],{"className":5951},[431],[403,5953,691],{"className":5954},[424,425],[403,5956,442],{"className":5957},[441]," time.",[756,5960,5962],{"id":5961},"takeaways","Takeaways",[924,5964,5965,6025,6378,6389,6466],{},[927,5966,5967,5968,5970,5971,5974,5975,5999,6000,6024],{},"On a tree, the natural DP subproblems are ",[385,5969,395],{},", solved by a\nsingle ",[385,5972,5973],{},"post-order DFS"," that combines each node's children in ",[403,5976,5978],{"className":5977},[406],[403,5979,5981],{"className":5980,"ariaHidden":411},[410],[403,5982,5984,5987,5990,5993,5996],{"className":5983},[415],[403,5985],{"className":5986,"style":420},[419],[403,5988,657],{"className":5989,"style":656},[424,425],[403,5991,432],{"className":5992},[431],[403,5994,664],{"className":5995},[424],[403,5997,442],{"className":5998},[441],", hence\n",[403,6001,6003],{"className":6002},[406],[403,6004,6006],{"className":6005,"ariaHidden":411},[410],[403,6007,6009,6012,6015,6018,6021],{"className":6008},[415],[403,6010],{"className":6011,"style":420},[419],[403,6013,684],{"className":6014},[424],[403,6016,432],{"className":6017},[431],[403,6019,691],{"className":6020},[424,425],[403,6022,442],{"className":6023},[441]," overall, since every node and edge is processed once.",[927,6026,6027,6028,6031,6032,6035,6036,6039,6040,6204,6205,1549],{},"The state must capture exactly what a parent needs. For ",[385,6029,6030],{},"maximum-weight\nindependent set"," (House Robber III) that is one bit, ",[398,6033,6034],{},"taken"," vs. ",[398,6037,6038],{},"not taken",":\n",[403,6041,6043],{"className":6042},[406],[403,6044,6046,6085],{"className":6045,"ariaHidden":411},[410],[403,6047,6049,6052,6055,6058,6061,6064,6067,6070,6073,6076,6079,6082],{"className":6048},[415],[403,6050],{"className":6051,"style":420},[419],[403,6053,944],{"className":6054},[424,425],[403,6056,381],{"className":6057},[424,425],[403,6059,951],{"className":6060},[431],[403,6062,437],{"className":6063,"style":436},[424,425],[403,6065,958],{"className":6066},[441],[403,6068,951],{"className":6069},[431],[403,6071,870],{"className":6072},[424],[403,6074,958],{"className":6075},[441],[403,6077],{"className":6078,"style":537},[536],[403,6080,542],{"className":6081},[541],[403,6083],{"className":6084,"style":537},[536],[403,6086,6088,6092,6137,6140,6146,6149,6152,6155,6158,6161,6164,6167,6170,6173,6176,6179,6182,6185,6188,6191,6194,6197,6200],{"className":6087},[415],[403,6089],{"className":6090,"style":6091},[419],"height:1.0497em;vertical-align:-0.2997em;",[403,6093,6095,6100],{"className":6094},[1211],[403,6096,1262],{"className":6097,"style":6099},[1211,1260,6098],"small-op","position:relative;top:0em;",[403,6101,6103],{"className":6102},[803],[403,6104,6106,6128],{"className":6105},[807,808],[403,6107,6109,6125],{"className":6108},[812],[403,6110,6113],{"className":6111,"style":6112},[816],"height:0.0017em;",[403,6114,6116,6119],{"style":6115},"top:-2.4003em;margin-left:0em;margin-right:0.05em;",[403,6117],{"className":6118,"style":825},[824],[403,6120,6122],{"className":6121},[829,830,831,832],[403,6123,587],{"className":6124},[424,425,832],[403,6126,840],{"className":6127},[839],[403,6129,6131],{"className":6130},[812],[403,6132,6135],{"className":6133,"style":6134},[816],"height:0.2997em;",[403,6136],{},[403,6138],{"className":6139,"style":577},[536],[403,6141,6143],{"className":6142},[1211],[403,6144,1285],{"className":6145},[424,1284],[403,6147,432],{"className":6148},[431],[403,6150,944],{"className":6151},[424,425],[403,6153,381],{"className":6154},[424,425],[403,6156,951],{"className":6157},[431],[403,6159,587],{"className":6160},[424,425],[403,6162,958],{"className":6163},[441],[403,6165,951],{"className":6166},[431],[403,6168,870],{"className":6169},[424],[403,6171,958],{"className":6172},[441],[403,6174,637],{"className":6175},[636],[403,6177],{"className":6178,"style":577},[536],[403,6180,944],{"className":6181},[424,425],[403,6183,381],{"className":6184},[424,425],[403,6186,951],{"className":6187},[431],[403,6189,587],{"className":6190},[424,425],[403,6192,958],{"className":6193},[441],[403,6195,951],{"className":6196},[431],[403,6198,664],{"className":6199},[424],[403,6201,6203],{"className":6202},[441],"])"," and ",[403,6206,6208],{"className":6207},[406],[403,6209,6211,6250,6305],{"className":6210,"ariaHidden":411},[410],[403,6212,6214,6217,6220,6223,6226,6229,6232,6235,6238,6241,6244,6247],{"className":6213},[415],[403,6215],{"className":6216,"style":420},[419],[403,6218,944],{"className":6219},[424,425],[403,6221,381],{"className":6222},[424,425],[403,6224,951],{"className":6225},[431],[403,6227,437],{"className":6228,"style":436},[424,425],[403,6230,958],{"className":6231},[441],[403,6233,951],{"className":6234},[431],[403,6236,664],{"className":6237},[424],[403,6239,958],{"className":6240},[441],[403,6242],{"className":6243,"style":537},[536],[403,6245,542],{"className":6246},[541],[403,6248],{"className":6249,"style":537},[536],[403,6251,6253,6256,6296,6299,6302],{"className":6252},[415],[403,6254],{"className":6255,"style":1404},[419],[403,6257,6259,6262],{"className":6258},[424],[403,6260,799],{"className":6261,"style":798},[424,425],[403,6263,6265],{"className":6264},[803],[403,6266,6268,6288],{"className":6267},[807,808],[403,6269,6271,6285],{"className":6270},[812],[403,6272,6274],{"className":6273,"style":817},[816],[403,6275,6276,6279],{"style":820},[403,6277],{"className":6278,"style":825},[824],[403,6280,6282],{"className":6281},[829,830,831,832],[403,6283,437],{"className":6284,"style":436},[424,425,832],[403,6286,840],{"className":6287},[839],[403,6289,6291],{"className":6290},[812],[403,6292,6294],{"className":6293,"style":847},[816],[403,6295],{},[403,6297],{"className":6298,"style":1448},[536],[403,6300,1453],{"className":6301},[1452],[403,6303],{"className":6304,"style":1448},[536],[403,6306,6308,6311,6351,6354,6357,6360,6363,6366,6369,6372,6375],{"className":6307},[415],[403,6309],{"className":6310,"style":6091},[419],[403,6312,6314,6317],{"className":6313},[1211],[403,6315,1262],{"className":6316,"style":6099},[1211,1260,6098],[403,6318,6320],{"className":6319},[803],[403,6321,6323,6343],{"className":6322},[807,808],[403,6324,6326,6340],{"className":6325},[812],[403,6327,6329],{"className":6328,"style":6112},[816],[403,6330,6331,6334],{"style":6115},[403,6332],{"className":6333,"style":825},[824],[403,6335,6337],{"className":6336},[829,830,831,832],[403,6338,587],{"className":6339},[424,425,832],[403,6341,840],{"className":6342},[839],[403,6344,6346],{"className":6345},[812],[403,6347,6349],{"className":6348,"style":6134},[816],[403,6350],{},[403,6352],{"className":6353,"style":577},[536],[403,6355,944],{"className":6356},[424,425],[403,6358,381],{"className":6359},[424,425],[403,6361,951],{"className":6362},[431],[403,6364,587],{"className":6365},[424,425],[403,6367,958],{"className":6368},[441],[403,6370,951],{"className":6371},[431],[403,6373,870],{"className":6374},[424],[403,6376,958],{"className":6377},[441],[927,6379,6380,6381,6384,6385,6388],{},"The ",[385,6382,6383],{},"path-through-a-node"," pattern (diameter, max path sum) ",[385,6386,6387],{},"returns one\nthing and updates another",": return the single best downward extension to the\nparent, but update a global max with the two-child bent path, never returning the\nbent path.",[927,6390,6391,6393,6394,1059,6397,6412,6413,6437,6438,1059,6441,6465],{},[385,6392,4090],{}," computes a per-root answer for ",[398,6395,6396],{},"all",[403,6398,6400],{"className":6399},[406],[403,6401,6403],{"className":6402,"ariaHidden":411},[410],[403,6404,6406,6409],{"className":6405},[415],[403,6407],{"className":6408,"style":456},[419],[403,6410,691],{"className":6411},[424,425]," nodes in ",[403,6414,6416],{"className":6415},[406],[403,6417,6419],{"className":6418,"ariaHidden":411},[410],[403,6420,6422,6425,6428,6431,6434],{"className":6421},[415],[403,6423],{"className":6424,"style":420},[419],[403,6426,657],{"className":6427,"style":656},[424,425],[403,6429,432],{"className":6430},[431],[403,6432,691],{"className":6433},[424,425],[403,6435,442],{"className":6436},[441]," via two\npasses: a down-pass fixes the root's answer from subtree aggregates, an up-pass\ntransfers it edge-by-edge with a ",[4093,6439,6440],{},"subtract my subtree, add the rest",[403,6442,6444],{"className":6443},[406],[403,6445,6447],{"className":6446,"ariaHidden":411},[410],[403,6448,6450,6453,6456,6459,6462],{"className":6449},[415],[403,6451],{"className":6452,"style":420},[419],[403,6454,657],{"className":6455,"style":656},[424,425],[403,6457,432],{"className":6458},[431],[403,6460,664],{"className":6461},[424],[403,6463,442],{"className":6464},[441],"\nadjustment.",[927,6467,6468,6469,6472,6473,6476,6477,1549],{},"The recurring design questions are always the same: ",[398,6470,6471],{},"what does a node return to\nits parent",", and ",[398,6474,6475],{},"what aggregate must the subtree cache"," so the combine stays\n",[403,6478,6480],{"className":6479},[406],[403,6481,6483],{"className":6482,"ariaHidden":411},[410],[403,6484,6486,6489,6492,6495,6498],{"className":6485},[415],[403,6487],{"className":6488,"style":420},[419],[403,6490,657],{"className":6491,"style":656},[424,425],[403,6493,432],{"className":6494},[431],[403,6496,664],{"className":6497},[424],[403,6499,442],{"className":6500},[441],[6502,6503,6506,6511],"section",{"className":6504,"dataFootnotes":376},[6505],"footnotes",[756,6507,6510],{"className":6508,"id":719},[6509],"sr-only","Footnotes",[6512,6513,6514,6553,6565,6577],"ol",{},[927,6515,6517,6520,6521,6545,6546],{"id":6516},"user-content-fn-erickson-tree",[385,6518,6519],{},"Erickson",", Ch. — Dynamic Programming (trees): subtree subproblems solved bottom-up by post-order traversal in ",[403,6522,6524],{"className":6523},[406],[403,6525,6527],{"className":6526,"ariaHidden":411},[410],[403,6528,6530,6533,6536,6539,6542],{"className":6529},[415],[403,6531],{"className":6532,"style":420},[419],[403,6534,657],{"className":6535,"style":656},[424,425],[403,6537,432],{"className":6538},[431],[403,6540,691],{"className":6541},[424,425],[403,6543,442],{"className":6544},[441],". ",[462,6547,6552],{"href":6548,"ariaLabel":6549,"className":6550,"dataFootnoteBackref":376},"#user-content-fnref-erickson-tree","Back to reference 1",[6551],"data-footnote-backref","↩",[927,6554,6556,6559,6560],{"id":6555},"user-content-fn-skiena-tree",[385,6557,6558],{},"Skiena",", § — Dynamic Programming on Trees: maximum independent set on trees as the linear-time archetype of tree DP. ",[462,6561,6552],{"href":6562,"ariaLabel":6563,"className":6564,"dataFootnoteBackref":376},"#user-content-fnref-skiena-tree","Back to reference 2",[6551],[927,6566,6568,6571,6572],{"id":6567},"user-content-fn-clrs-dp",[385,6569,6570],{},"CLRS",", Ch. 15 — Dynamic Programming: optimal substructure and the combination of subproblem solutions, instantiated here on rooted subtrees. ",[462,6573,6552],{"href":6574,"ariaLabel":6575,"className":6576,"dataFootnoteBackref":376},"#user-content-fnref-clrs-dp","Back to reference 3",[6551],[927,6578,6580,6582,6583,6607,6608],{"id":6579},"user-content-fn-skiena-reroot",[385,6581,6558],{},", § — Dynamic Programming on Trees: the all-roots \u002F rerooting technique computing every node's answer in ",[403,6584,6586],{"className":6585},[406],[403,6587,6589],{"className":6588,"ariaHidden":411},[410],[403,6590,6592,6595,6598,6601,6604],{"className":6591},[415],[403,6593],{"className":6594,"style":420},[419],[403,6596,657],{"className":6597,"style":656},[424,425],[403,6599,432],{"className":6600},[431],[403,6602,691],{"className":6603},[424,425],[403,6605,442],{"className":6606},[441]," with two DFS passes. ",[462,6609,6552],{"href":6610,"ariaLabel":6611,"className":6612,"dataFootnoteBackref":376},"#user-content-fnref-skiena-reroot","Back to reference 4",[6551],[6614,6615,6616],"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":6618},[6619,6620,6621,6623,6624],{"id":758,"depth":18,"text":759},{"id":2564,"depth":18,"text":2565},{"id":3924,"depth":18,"text":6622},"Rerooting: an answer for every root in O(n)",{"id":5961,"depth":18,"text":5962},{"id":719,"depth":18,"text":6510},"Dynamic programming works whenever a problem decomposes into\noverlapping subproblems ordered so that each can be solved from smaller ones\nalready in hand. On a sequence the natural subproblems are prefixes; on an\ninterval they are subintervals. On a tree the natural subproblems are\nrooted subtrees, and the ordering that makes them solvable is the\npost-order traversal, which visits every node only after all of its children.\nRoot the tree anywhere, define an answer f(v) for the subtree hanging below\neach node v, and a single depth-first sweep fills the entire table.","md",{"moduleNumber":196,"lessonNumber":116,"order":6628},807,true,[6631,6634,6637,6639,6642],{"title":3632,"slug":6632,"difficulty":6633},"diameter-of-binary-tree","Easy",{"title":1798,"slug":6635,"difficulty":6636},"house-robber-iii","Medium",{"title":5889,"slug":6638,"difficulty":6636},"distribute-coins-in-binary-tree",{"title":3569,"slug":6640,"difficulty":6641},"binary-tree-maximum-path-sum","Hard",{"title":4161,"slug":6643,"difficulty":6641},"sum-of-distances-in-tree","---\ntitle: Dynamic Programming on Trees\nmodule: Dynamic Programming\nmoduleNumber: 8\nlessonNumber: 7\norder: 807\nsummary: >-\n  When the subproblems of a dynamic program are _rooted subtrees_, a single\n  post-order DFS solves the whole thing in $O(n)$: each node combines the\n  already-computed answers of its children. We meet the archetype — maximum-weight\n  independent set on a tree — then the \"path through a node\" pattern behind tree\n  diameter and maximum path sum, and finally **rerooting**, which computes a\n  per-node answer for _every_ node as root in $O(n)$ with two passes.\ntopics: [Dynamic Programming]\nsources:\n  - book: CLRS\n    ref: \"Ch. 15 — Dynamic Programming\"\n  - book: Skiena\n    ref: \"§ — Dynamic Programming on Trees\"\n  - book: Erickson\n    ref: \"Ch. — Dynamic Programming (trees)\"\npractice:\n  - title: 'Diameter of Binary Tree'\n    slug: diameter-of-binary-tree\n    difficulty: Easy\n  - title: 'House Robber III'\n    slug: house-robber-iii\n    difficulty: Medium\n  - title: 'Distribute Coins in Binary Tree'\n    slug: distribute-coins-in-binary-tree\n    difficulty: Medium\n  - title: 'Binary Tree Maximum Path Sum'\n    slug: binary-tree-maximum-path-sum\n    difficulty: Hard\n  - title: 'Sum of Distances in Tree'\n    slug: sum-of-distances-in-tree\n    difficulty: Hard\n---\n\nDynamic programming works whenever a problem decomposes into\n**overlapping subproblems** ordered so that each can be solved from smaller ones\nalready in hand. On a sequence the natural subproblems are prefixes; on an\ninterval they are subintervals. On a **tree** the natural subproblems are\n**rooted subtrees**, and the ordering that makes them solvable is the\n_post-order_ traversal, which visits every node only after all of its children.\nRoot the tree anywhere, define an answer $f(v)$ for the subtree hanging below\neach node $v$, and a single [depth-first sweep](\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal) fills the entire table.\n\nThe defining feature of these problems is that the recurrence is **local**: the\nanswer at $v$ depends only on the answers at $v$'s children,\n\n$$\nf(v) = \\textsf{combine}\\bigl(\\{\\, f(c) : c \\text{ a child of } v \\,\\}\\bigr),\n$$\n\nnever on grandchildren directly and never on the rest of the tree. Because the\nDFS touches each node and each edge exactly once and does $O(1)$ work per child,\nthe whole computation runs in $\\Theta(n)$ time for a tree on $n$ nodes.[^erickson-tree]\nThe work is in choosing the _state_: what $f(v)$ must remember about the subtree\nso that a parent can combine children without re-descending into them. This is\nthe usual [optimal-substructure](\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples)\nquestion, specialized to subtrees.\n\n## The archetype: maximum-weight independent set\n\nLet each node $v$ of a tree carry a weight $w_v \\ge 0$. An **independent set** is\na set of nodes no two of which are adjacent; we want one of maximum total weight.\nOn a general graph this is NP-hard, but on a tree dynamic programming solves\nit in linear time, the canonical illustration of the whole technique.[^skiena-tree]\n\nThe idea is to make the state record _whether $v$ itself is used_, because that\nis exactly the one fact a parent needs in order to decide about itself. Define,\nfor the subtree rooted at $v$, two values:\n\n- $dp[v][0]$, the best independent set of $v$'s subtree in which $v$ is **not**\n  taken;\n- $dp[v][1]$, the best one in which $v$ **is** taken.\n\nIf $v$ is not taken, each child $c$ is free to be taken or not, so we keep the\nbetter of its two options. If $v$ _is_ taken, no child may be taken, so each\nchild must contribute its $dp[c][0]$:\n\n$$\ndp[v][0] = \\sum_{c \\text{ child of } v} \\max\\bigl(dp[c][0],\\, dp[c][1]\\bigr),\n\\qquad\ndp[v][1] = w_v + \\sum_{c \\text{ child of } v} dp[c][0].\n$$\n\nThe base case falls out for free: a leaf has no children, so $dp[v][0] = 0$ and\n$dp[v][1] = w_v$. The answer for the whole tree is\n$\\max\\bigl(dp[\\text{root}][0],\\, dp[\\text{root}][1]\\bigr)$. This is\n**House Robber III**, where weights are the money in each house and the\nadjacency constraint forbids robbing a parent and its child on the same night.\n\n$$\n% caption: Post-order combine for max-weight independent set: each node caches $dp[v][0]\u002Fdp[v][1]$ (skip $v$ \u002F take $v$); the chosen set (root + its grandchildren) is shaded\n\\begin{tikzpicture}[\n  every node\u002F.style={circle, draw, minimum size=12mm, inner sep=0, font=\\small},\n  level distance=24mm, sibling distance=34mm, >=stealth]\n  \\definecolor{acc}{HTML}{2348F2}\n  % clamp the picture box: tikz over-reserves ~78mm of empty depth below the\n  % weights label, leaving a phantom band; pin the bounds to the real content\n  % (top legend down to just under the weights line) so the figure ends tight.\n  \\useasboundingbox (-4.4,1.95) rectangle (7.2,-6.05);\n  \\node[fill=acc!15, draw=acc, very thick] (a) {$8\u002F10$}\n    child {node (b) {$4\u002F3$}\n      child {node[fill=acc!15, draw=acc, very thick] (d) {$0\u002F3$}}\n      child {node[fill=acc!15, draw=acc, very thick] (e) {$0\u002F1$}}\n    }\n    child {node (c) {$1\u002F4$}\n      child {node[fill=acc!15, draw=acc, very thick] (f) {$0\u002F1$}}\n    };\n  % slot legend, pointed once at the root with a red annotation leader\n  \\node[draw=none, font=\\footnotesize, align=center, text=red!75!black] (slots)\n    at (-3.7,1.4) {skip $v$ \u002F take $v$};\n  \\draw[->, red!75!black, thick] (slots) to[bend right=12] (a.north west);\n  % how the root combines its children's cached values\n  \\node[draw=none, font=\\footnotesize, align=left] (combine) at (4.6,0.2)\n    {root: take $v$ $=5+dp[b][0]+dp[c][0]$\\\\$\\phantom{\\text{root: }}=5+4+1=10$};\n  \\node[draw=none, font=\\footnotesize] at (0,-5.75)\n    {weights: root $5$, children $3,4$, leaves $3,1,1$};\n\\end{tikzpicture}\n$$\n\n```algorithm\ncaption: $\\textsc{MaxIndepSet}(v)$ — returns the pair $(dp[v][0],\\, dp[v][1])$\nif $v = \\text{nil}$ then\n  return $(0, 0)$\n$take \\gets w_v$ \u002F\u002F $v$ taken\n$skip \\gets 0$   \u002F\u002F $v$ excluded\nfor each child $c$ of $v$ do\n  $(c_0, c_1) \\gets \\textsc{MaxIndepSet}(c)$\n  $skip \\gets skip + \\max(c_0, c_1)$ \u002F\u002F child free\n  $take \\gets take + c_0$            \u002F\u002F child forbidden\nreturn $(skip, take)$\n```\n\nCorrectness is an induction on subtree size: assuming the recursive calls return\ncorrect pairs for every child, the two formulas above exhaust the only two\nchoices for $v$ and combine each child's correct sub-answer optimally, so the\nreturned pair is correct for $v$. The procedure visits each node once and spends\n$O(1)$ per child, hence $\\Theta(n)$ total. The state, _taken vs. not taken_, is\nthe part worth remembering: a single extra bit per node turns an intractable\ngraph problem into a linear-time tree sweep.[^clrs-dp]\n\n## Paths through a node: diameter and maximum path sum\n\nA second pattern arises when the quantity we care about is a **path**, not a set.\nThe **diameter** of a tree is the number of edges on its longest path; the\n**maximum path sum** (where nodes carry values, possibly negative) is the largest\ntotal along any path. Neither is a clean subtree quantity, because the optimal\npath may _bend_ at some node, descending into two different children.\n\nThe resolution is the signature move of tree DP on paths. At each node $v$,\nlet $\\textsf{down}(v)$ be the best _downward_ path that starts at $v$ and goes\ninto a single subtree. A child $c$ extends to $\\textsf{down}(c) + (\\text{edge or }\nw_v)$. The best path that **bends at $v$** combines its two best children:\n\n$$\n\\textsf{best}(v) = \\textsf{down}(c_1) + \\textsf{down}(c_2) \\;(+\\, w_v),\n$$\n\nfor the two children with the largest downward values. Here is the trap that\ncatches everyone the first time:\n\n> **Remark (Return one thing, update another).** A node *returns* to its parent only the\n> single best downward extension $\\textsf{down}(v)$, a path the parent can lengthen.\n> But it *updates* a global maximum with the bent path $\\textsf{best}(v)$, which\n> uses **two** children and therefore can **not** be extended upward. Mixing the\n> two, returning the two-child sum to the parent, would let a path fork twice\n> and is the classic bug.\n\n```algorithm\ncaption: $\\textsc{MaxPathSum}(v)$ — returns best downward path; updates global $ans$\nif $v = \\text{nil}$ then\n  return $0$\n$L \\gets \\max(0, \\textsc{MaxPathSum}(left(v)))$  \u002F\u002F drop negative branches\n$R \\gets \\max(0, \\textsc{MaxPathSum}(right(v)))$\n$ans \\gets \\max(ans,\\; w_v + L + R)$             \u002F\u002F bend here: both sides\nreturn $w_v + \\max(L, R)$                         \u002F\u002F extendable: one side\n```\n\n$$\n% caption: Max path sum: node $20$ bends, combining both children for $\\textsf{best}=15+20+7=42$ (global max), but returns only $\\textsf{down}=20+15=35$ upward\n\\begin{tikzpicture}[\n  every node\u002F.style={circle, draw, minimum size=9mm, inner sep=0, font=\\small},\n  level distance=15mm, sibling distance=24mm, >=stealth]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node (r) {$-10$}\n    child {node (l) {$9$}}\n    child {node[draw=acc, very thick, text=acc] (m) {$20$}\n      child {node (a) {$15$}}\n      child {node (b) {$7$}}\n    };\n  \\draw[->, acc, thick] (a) to[bend left=12] (m);\n  \\draw[->, acc, thick] (b) to[bend right=12] (m);\n  \\node[draw=none, font=\\footnotesize, text=acc, align=left] at (5.0,-1.5)\n    {bend at $20$:\\\\$\\textsf{best}=15{+}20{+}7=42$};\n  \\node[draw=none, font=\\footnotesize, align=left] at (5.0,-3.2)\n    {return up:\\\\$\\textsf{down}=20{+}15=35$};\n\\end{tikzpicture}\n$$\n\nFor **Binary Tree Maximum Path Sum** the $\\max(0, \\cdot)$ prunes branches that\nwould only hurt the total; the global $ans$ records the best bend seen anywhere.\nFor **Diameter of Binary Tree** the same skeleton applies with edge counts in\nplace of values: $\\textsf{down}(v) = 1 + \\max(\\textsf{down}(\\text{children}))$ and\nthe diameter is the largest $\\textsf{down}(c_1) + \\textsf{down}(c_2)$ over all\nnodes $v$. Both run in $\\Theta(n)$: one post-order pass, $O(1)$ per node.\n\n## Rerooting: an answer for *every* root in $O(n)$\n\nThe hardest variant asks for a quantity computed *with each node in turn as the\nroot*: for every node $v$, say, the sum of distances from $v$ to all\nother nodes. Re-running an $O(n)$ DFS from each of the $n$ roots costs $O(n^2)$.\n**Rerooting** (also called the \"all-roots\" or \"re-root\" technique) computes all\n$n$ answers in $O(n)$ total, with two DFS passes: one *down*, one *up*.[^skiena-reroot]\n\nTake **Sum of Distances in Tree**. Fix an arbitrary root $r$ and let $S(v)$ be\nthe number of nodes in $v$'s subtree and $D(v)$ the sum of distances from $v$ to\nevery node *inside its own subtree*. A post-order pass computes both, since a\nchild $c$ at distance $1$ contributes $D(c) + S(c)$ (every node under $c$ is one\nedge farther from $v$ than from $c$):\n\n$$\nS(v) = 1 + \\sum_{c} S(c),\n\\qquad\nD(v) = \\sum_{c} \\bigl(D(c) + S(c)\\bigr).\n$$\n\n$$\n% caption: Down-pass at root $r$: each node caches $S$ (subtree size) and $D$ (in-subtree distance sum); $D(r)=6$ is the true answer only at the root\n\\begin{tikzpicture}[\n  every node\u002F.style={circle, draw, minimum size=11mm, inner sep=0, font=\\footnotesize},\n  level distance=16mm, sibling distance=30mm, >=stealth]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node[draw=acc, very thick, text=acc] (r) {$r$}\n    child {node (a) {$a$}\n      child {node (c) {$c$}}\n    }\n    child {node (b) {$b$}\n      child {node (d) {$d$}}\n    };\n  \\node[draw=none, font=\\footnotesize, text=acc] at (0,1.0) {$S{=}5,\\ D{=}6$};\n  \\node[draw=none, font=\\footnotesize] at (-2.7,-1.6) {$S{=}2,D{=}1$};\n  \\node[draw=none, font=\\footnotesize] at (2.7,-1.6) {$S{=}2,D{=}1$};\n  \\node[draw=none, font=\\footnotesize] at (-2.7,-3.5) {$S{=}1,D{=}0$};\n  \\node[draw=none, font=\\footnotesize] at (2.7,-3.5) {$S{=}1,D{=}0$};\n\\end{tikzpicture}\n$$\n\nThat gives the *true global* answer only at the root, where the subtree is the\nwhole tree: $\\textsf{ans}(r) = D(r)$. The second pass pushes the answer from a\nparent to each child in $O(1)$. Moving the root from $u$ to an adjacent child\n$v$, the $S(v)$ nodes on $v$'s side each get **one closer** (distance drops by\n$1$) and the remaining $n - S(v)$ nodes each get **one farther**:\n\n$$\n\\textsf{ans}(v) = \\textsf{ans}(u) - S(v) + \\bigl(n - S(v)\\bigr).\n$$\n\nSubtract the subtree's contribution, add the rest: the entire adjustment is a\nsingle $O(1)$ formula, so the down-pass plus the up-pass together are $\\Theta(n)$.\n\n$$\n% caption: Rerooting from parent $u$ to child $v$: subtract $v$'s subtree, add the other $n - S(v)$ nodes\n\\begin{tikzpicture}[\n  every node\u002F.style={circle, draw, minimum size=9mm, inner sep=0, font=\\small},\n  >=stealth, level distance=16mm, sibling distance=22mm]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node (u) {$u$}\n    child {node[draw=acc, very thick, text=acc] (v) {$v$}\n      child {node {}}\n      child {node {}}\n    }\n    child {node (w) {}\n      child {node {}}\n    };\n  % structural reroot move (u -> v): accent; label sits ON its own edge, offset\n  % to the left so it is clear of the u--w edge and unambiguously names u->v.\n  \\draw[->, very thick, draw=acc] (u) to[bend left=22]\n    node[draw=none, font=\\footnotesize, text=acc, fill=white, inner sep=1.5pt, pos=0.5, left=0.5mm] {reroot} (v);\n  \\node[draw=none, font=\\footnotesize, align=left, text=acc] at (3.8,-1.6)\n    {$ans(v) =$\\\\$ans(u) - S(v)$\\\\$+\\,(n - S(v))$};\n\\end{tikzpicture}\n$$\n\n> **Remark (Why two passes suffice).** The down-pass anchors one correct global answer (at\n> the root). The up-pass is a second post-order\u002Fpre-order DFS that, knowing the\n> parent's correct global answer, derives each child's in $O(1)$ by accounting\n> only for the nodes that cross the single edge between them. Every edge is\n> crossed once in each direction, so the adjustment is computed $2(n-1)$ times in\n> all, linear. The pattern generalizes: any quantity whose change across one edge\n> can be expressed from cached subtree aggregates ($S$, $D$, counts, sums) can be\n> rerooted in $O(n)$.\n\nA related linear-time tree DP is **Distribute Coins in Binary Tree**: each node\nreturns to its parent the *net* coins it must send up or pull down, the signed\nexcess $\\textsf{coins} - 1$ summed over its subtree, and the total number of\nmoves is the sum of absolute flows along every edge, accumulated in one\npost-order pass. Same shape: a local return value, a global accumulator,\n$\\Theta(n)$ time.\n\n## Takeaways\n\n- On a tree, the natural DP subproblems are **rooted subtrees**, solved by a\n  single **post-order DFS** that combines each node's children in $O(1)$, hence\n  $\\Theta(n)$ overall, since every node and edge is processed once.\n- The state must capture exactly what a parent needs. For **maximum-weight\n  independent set** (House Robber III) that is one bit, *taken* vs. *not taken*:\n  $dp[v][0]=\\sum_c\\max(dp[c][0],dp[c][1])$ and $dp[v][1]=w_v+\\sum_c dp[c][0]$.\n- The **path-through-a-node** pattern (diameter, max path sum) **returns one\n  thing and updates another**: return the single best downward extension to the\n  parent, but update a global max with the two-child bent path, never returning the\n  bent path.\n- **Rerooting** computes a per-root answer for *all* $n$ nodes in $O(n)$ via two\n  passes: a down-pass fixes the root's answer from subtree aggregates, an up-pass\n  transfers it edge-by-edge with a \"subtract my subtree, add the rest\" $O(1)$\n  adjustment.\n- The recurring design questions are always the same: *what does a node return to\n  its parent*, and *what aggregate must the subtree cache* so the combine stays\n  $O(1)$.\n\n[^erickson-tree]: **Erickson**, Ch. — Dynamic Programming (trees): subtree subproblems solved bottom-up by post-order traversal in $O(n)$.\n[^skiena-tree]: **Skiena**, § — Dynamic Programming on Trees: maximum independent set on trees as the linear-time archetype of tree DP.\n[^clrs-dp]: **CLRS**, Ch. 15 — Dynamic Programming: optimal substructure and the combination of subproblem solutions, instantiated here on rooted subtrees.\n[^skiena-reroot]: **Skiena**, § — Dynamic Programming on Trees: the all-roots \u002F rerooting technique computing every node's answer in $O(n)$ with two DFS passes.\n",{"text":6646,"minutes":6647,"time":6648,"words":6649},"8 min read",7.06,423600,1412,{"title":266,"description":6625},[6652,6654,6656],{"book":6570,"ref":6653},"Ch. 15 — Dynamic Programming",{"book":6558,"ref":6655},"§ — Dynamic Programming on Trees",{"book":6519,"ref":6657},"Ch. — Dynamic Programming (trees)","available","01.algorithms\u002F08.dynamic-programming\u002F07.tree-dp",[231],"3HcCju2NIlxExjmQwUWCNGrK7-arVgZ752vkeADxyFc",{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":6663,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":6664,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":6665,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":6666,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":6667,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":6668,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":6669,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":6670,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":6671,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":6672,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":6673,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":6674,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":6675,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":6676,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":6677,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":6678,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":6679,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":6680,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":6681,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":6682,"\u002Falgorithms\u002Fsequences\u002Ftries":6683,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":6684,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":6685,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":6686,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":6687,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":6688,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":6689,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":6690,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":6691,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":6692,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":6693,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":6694,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":6695,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":6696,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":6697,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":6698,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":6699,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":6700,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":6701,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":6702,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":6649,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":6703,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":6704,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":6705,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":6706,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":6707,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":6708,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":6679,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":6709,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":6710,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":6711,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":6712,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":6695,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":6713,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":6714,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":6675,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":6715,"\u002Falgorithms":6716,"\u002Ftheory-of-computation":6717,"\u002Fcomputer-architecture":6717,"\u002Fphysical-computing":6717,"\u002Fdatabases":6717,"\u002Fdeep-learning":6717},1763,2107,1738,2628,1723,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,1554,1418,1713,1798,1694,1762,1534,1595,1262,1495,1630,2306,2142,107,0,{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":6719,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":6720,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":6721,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":6722,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":6723,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":6724,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":6725,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":6726,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":6727,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":6728,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":6729,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":6730,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":6731,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":6732,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":6733,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":6734,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":6735,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":6736,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":6737,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":6738,"\u002Falgorithms\u002Fsequences\u002Ftries":6739,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":6740,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":6741,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":6742,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":6743,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":6744,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":6745,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":6746,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":6747,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":6748,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":6749,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":6750,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":6751,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":6752,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":6753,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":6754,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":6755,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":6756,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":6757,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":6758,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":6759,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":6760,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":6761,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":6762,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":6763,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":6764,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":6765,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":6766,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":6767,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":6768,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":6769,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":6770,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":6771,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":6772,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":6773,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":6774,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":6775,"\u002Falgorithms":6776,"\u002Ftheory-of-computation":6779,"\u002Fcomputer-architecture":6782,"\u002Fphysical-computing":6785,"\u002Fdatabases":6788,"\u002Fdeep-learning":6791},{"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":6777,"title":6778,"module":376,"summary":376},"\u002Falgorithms","Algorithms",{"path":6780,"title":6781,"module":376,"summary":376},"\u002Ftheory-of-computation","Theory of Computation",{"path":6783,"title":6784,"module":376,"summary":376},"\u002Fcomputer-architecture","Computer Architecture",{"path":6786,"title":6787,"module":376,"summary":376},"\u002Fphysical-computing","Physical Computing",{"path":6789,"title":6790,"module":376,"summary":376},"\u002Fdatabases","Databases",{"path":6792,"title":6793,"module":376,"summary":376},"\u002Fdeep-learning","Deep Learning",1781526658867]