[{"data":1,"prerenderedAt":9228},["ShallowReactive",2],{"nav:algorithms":3,"lesson:\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":374,"course-wordcounts":9096,"ref-card-index":9152},[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":271,"blurb":376,"body":377,"description":9058,"extension":9059,"meta":9060,"module":231,"navigation":9062,"path":272,"practice":9063,"rawbody":9077,"readingTime":9078,"seo":9083,"sources":9084,"status":9092,"stem":9093,"summary":274,"topics":9094,"__hash__":9095},"course\u002F01.algorithms\u002F08.dynamic-programming\u002F08.bitmask-dp.md","",{"type":378,"value":379,"toc":9048},"minimark",[380,462,780,785,879,1220,1350,1693,1697,1840,1963,2004,2424,2695,2745,3057,3198,3366,3435,3937,4184,4596,4773,4777,4966,5133,5168,5464,5918,6258,6262,6380,6455,6689,6980,7242,7288,7305,7340,7389,7515,7720,8103,8347,8351,8902,9044],[381,382,383,384,388,389,393,394,397,398,461],"p",{},"Every dynamic program so far has indexed its subproblems by something ",[385,386,387],"em",{},"ordered",":\na prefix of an array, a position in a string, a capacity remaining. But some\nproblems have no useful order. The traveling salesman does not care in what\nsequence you list the cities he has already visited; what matters is only the\n",[390,391,392],"strong",{},"set"," of visited cities and where he stands now. The natural subproblem state\nis therefore a ",[385,395,396],{},"subset"," of the ground set, and a DP over subsets seems to need a\ntable indexed by subsets, of which there are ",[399,400,403],"span",{"className":401},[402],"katex",[399,404,408],{"className":405,"ariaHidden":407},[406],"katex-html","true",[399,409,412,417],{"className":410},[411],"base",[399,413],{"className":414,"style":416},[415],"strut","height:0.6644em;",[399,418,421,425],{"className":419},[420],"mord",[399,422,424],{"className":423},[420],"2",[399,426,429],{"className":427},[428],"msupsub",[399,430,433],{"className":431},[432],"vlist-t",[399,434,437],{"className":435},[436],"vlist-r",[399,438,441],{"className":439,"style":416},[440],"vlist",[399,442,444,449],{"style":443},"top:-3.063em;margin-right:0.05em;",[399,445],{"className":446,"style":448},[447],"pstrut","height:2.7em;",[399,450,456],{"className":451},[452,453,454,455],"sizing","reset-size6","size3","mtight",[399,457,460],{"className":458},[420,459,455],"mathnormal","n",".",[381,463,464,465,481,482,497,498,564,565,568,569,608,609,650,651,678,679,461,764,775,776,779],{},"A subset of an ",[399,466,468],{"className":467},[402],[399,469,471],{"className":470,"ariaHidden":407},[406],[399,472,474,478],{"className":473},[411],[399,475],{"className":476,"style":477},[415],"height:0.4306em;",[399,479,460],{"className":480},[420,459],"-element set is\nexactly an ",[399,483,485],{"className":484},[402],[399,486,488],{"className":487,"ariaHidden":407},[406],[399,489,491,494],{"className":490},[411],[399,492],{"className":493,"style":477},[415],[399,495,460],{"className":496},[420,459],"-bit string, which is exactly an integer in ",[399,499,501],{"className":500},[402],[399,502,504],{"className":503,"ariaHidden":407},[406],[399,505,507,511,516,520,525,530,559],{"className":506},[411],[399,508],{"className":509,"style":510},[415],"height:1em;vertical-align:-0.25em;",[399,512,515],{"className":513},[514],"mopen","[",[399,517,519],{"className":518},[420],"0",[399,521,524],{"className":522},[523],"mpunct",",",[399,526],{"className":527,"style":529},[528],"mspace","margin-right:0.1667em;",[399,531,533,536],{"className":532},[420],[399,534,424],{"className":535},[420],[399,537,539],{"className":538},[428],[399,540,542],{"className":541},[432],[399,543,545],{"className":544},[436],[399,546,548],{"className":547,"style":416},[440],[399,549,550,553],{"style":443},[399,551],{"className":552,"style":448},[447],[399,554,556],{"className":555},[452,453,454,455],[399,557,460],{"className":558},[420,459,455],[399,560,563],{"className":561},[562],"mclose",")",". So we\n",[390,566,567],{},"encode the subset as the bits of an integer mask"," and index the DP table by\nthat integer. When ",[399,570,572],{"className":571},[402],[399,573,575,597],{"className":574,"ariaHidden":407},[406],[399,576,578,582,585,589,594],{"className":577},[411],[399,579],{"className":580,"style":581},[415],"height:0.7719em;vertical-align:-0.136em;",[399,583,460],{"className":584},[420,459],[399,586],{"className":587,"style":588},[528],"margin-right:0.2778em;",[399,590,593],{"className":591},[592],"mrel","≤∼",[399,595],{"className":596,"style":588},[528],[399,598,600,604],{"className":599},[411],[399,601],{"className":602,"style":603},[415],"height:0.6444em;",[399,605,607],{"className":606},[420],"20"," the ",[399,610,612],{"className":611},[402],[399,613,615],{"className":614,"ariaHidden":407},[406],[399,616,618,621],{"className":617},[411],[399,619],{"className":620,"style":416},[415],[399,622,624,627],{"className":623},[420],[399,625,424],{"className":626},[420],[399,628,630],{"className":629},[428],[399,631,633],{"className":632},[432],[399,634,636],{"className":635},[436],[399,637,639],{"className":638,"style":416},[440],[399,640,641,644],{"style":443},[399,642],{"className":643,"style":448},[447],[399,645,647],{"className":646},[452,453,454,455],[399,648,460],{"className":649},[420,459,455]," masks (up to about a million) fit\ncomfortably in memory, and a ",[399,652,654],{"className":653},[402],[399,655,657],{"className":656,"ariaHidden":407},[406],[399,658,660,663,667,671,674],{"className":659},[411],[399,661],{"className":662,"style":510},[415],[399,664,666],{"className":665},[420],"Θ",[399,668,670],{"className":669},[514],"(",[399,672,460],{"className":673},[420,459],[399,675,677],{"className":676},[562],"!)"," exhaustive search collapses to\n",[399,680,682],{"className":681},[402],[399,683,685,740],{"className":684,"ariaHidden":407},[406],[399,686,688,691,696,699,728,732,737],{"className":687},[411],[399,689],{"className":690,"style":510},[415],[399,692,695],{"className":693,"style":694},[420,459],"margin-right:0.0278em;","O",[399,697,670],{"className":698},[514],[399,700,702,705],{"className":701},[420],[399,703,424],{"className":704},[420],[399,706,708],{"className":707},[428],[399,709,711],{"className":710},[432],[399,712,714],{"className":713},[436],[399,715,717],{"className":716,"style":416},[440],[399,718,719,722],{"style":443},[399,720],{"className":721,"style":448},[447],[399,723,725],{"className":724},[452,453,454,455],[399,726,460],{"className":727},[420,459,455],[399,729],{"className":730,"style":731},[528],"margin-right:0.2222em;",[399,733,736],{"className":734},[735],"mbin","⋅",[399,738],{"className":739,"style":731},[528],[399,741,743,746,754,757,760],{"className":742},[411],[399,744],{"className":745,"style":510},[415],[399,747,750],{"className":748},[420,749],"text",[399,751,753],{"className":752},[420],"poly",[399,755,670],{"className":756},[514],[399,758,460],{"className":759},[420,459],[399,761,763],{"className":762},[562],"))",[765,766,767],"sup",{},[768,769,774],"a",{"href":770,"ariaDescribedBy":771,"dataFootnoteRef":376,"id":773},"#user-content-fn-erickson-dp",[772],"footnote-label","user-content-fnref-erickson-dp","1"," This encoding builds on the general\n",[768,777,778],{"href":236},"principles of dynamic programming",",\nand unlocks a handful of recurring DP shapes.",[781,782,784],"h2",{"id":783},"bit-tricks-compactly","Bit tricks, compactly",[381,786,787,788,805,806,821,822,837,838,853,854,878],{},"A mask is an integer whose bit ",[399,789,791],{"className":790},[402],[399,792,794],{"className":793,"ariaHidden":407},[406],[399,795,797,801],{"className":796},[411],[399,798],{"className":799,"style":800},[415],"height:0.6595em;",[399,802,804],{"className":803},[420,459],"i"," (counting from ",[399,807,809],{"className":808},[402],[399,810,812],{"className":811,"ariaHidden":407},[406],[399,813,815,818],{"className":814},[411],[399,816],{"className":817,"style":603},[415],[399,819,519],{"className":820},[420],", least significant) is ",[399,823,825],{"className":824},[402],[399,826,828],{"className":827,"ariaHidden":407},[406],[399,829,831,834],{"className":830},[411],[399,832],{"className":833,"style":603},[415],[399,835,774],{"className":836},[420],"\niff element ",[399,839,841],{"className":840},[402],[399,842,844],{"className":843,"ariaHidden":407},[406],[399,845,847,850],{"className":846},[411],[399,848],{"className":849,"style":800},[415],[399,851,804],{"className":852},[420,459]," is in the set. The operations we need are all ",[399,855,857],{"className":856},[402],[399,858,860],{"className":859,"ariaHidden":407},[406],[399,861,863,866,869,872,875],{"className":862},[411],[399,864],{"className":865,"style":510},[415],[399,867,695],{"className":868,"style":694},[420,459],[399,870,670],{"className":871},[514],[399,873,774],{"className":874},[420],[399,876,563],{"className":877},[562],":",[880,881,882,934,980,1080,1116,1204],"ul",{},[883,884,885,888,889,929,930,461],"li",{},[390,886,887],{},"test"," whether ",[399,890,892],{"className":891},[402],[399,893,895,915],{"className":894,"ariaHidden":407},[406],[399,896,898,902,905,908,912],{"className":897},[411],[399,899],{"className":900,"style":901},[415],"height:0.6986em;vertical-align:-0.0391em;",[399,903,804],{"className":904},[420,459],[399,906],{"className":907,"style":588},[528],[399,909,911],{"className":910},[592],"∈",[399,913],{"className":914,"style":588},[528],[399,916,918,922],{"className":917},[411],[399,919],{"className":920,"style":921},[415],"height:0.6944em;",[399,923,925],{"className":924},[420,749],[399,926,928],{"className":927},[420],"mask",": ",[931,932,933],"code",{},"(mask >> i) & 1",[883,935,936,939,940,929,955,958,959,939,962,929,977,461],{},[390,937,938],{},"add"," ",[399,941,943],{"className":942},[402],[399,944,946],{"className":945,"ariaHidden":407},[406],[399,947,949,952],{"className":948},[411],[399,950],{"className":951,"style":800},[415],[399,953,804],{"className":954},[420,459],[931,956,957],{},"mask | (1 \u003C\u003C i)","; ",[390,960,961],{},"remove",[399,963,965],{"className":964},[402],[399,966,968],{"className":967,"ariaHidden":407},[406],[399,969,971,974],{"className":970},[411],[399,972],{"className":973,"style":800},[415],[399,975,804],{"className":976},[420,459],[931,978,979],{},"mask & ~(1 \u003C\u003C i)",[883,981,982,929,985,988,989,1060,1061,1063,1064,1079],{},[390,983,984],{},"isolate the lowest set bit",[931,986,987],{},"mask & -mask"," (two's complement makes\n",[399,990,992],{"className":991},[402],[399,993,995,1022,1051],{"className":994,"ariaHidden":407},[406],[399,996,998,1002,1006,1012,1015,1019],{"className":997},[411],[399,999],{"className":1000,"style":1001},[415],"height:0.7778em;vertical-align:-0.0833em;",[399,1003,1005],{"className":1004},[420],"−",[399,1007,1009],{"className":1008},[420,749],[399,1010,928],{"className":1011},[420],[399,1013],{"className":1014,"style":588},[528],[399,1016,1018],{"className":1017},[592],"=",[399,1020],{"className":1021,"style":588},[528],[399,1023,1025,1028,1035,1041,1044,1048],{"className":1024},[411],[399,1026],{"className":1027,"style":1001},[415],[399,1029,1031],{"className":1030},[420],[399,1032,1034],{"className":1033},[592],"∼",[399,1036,1038],{"className":1037},[420,749],[399,1039,928],{"className":1040},[420],[399,1042],{"className":1043,"style":731},[528],[399,1045,1047],{"className":1046},[735],"+",[399,1049],{"className":1050,"style":731},[528],[399,1052,1054,1057],{"className":1053},[411],[399,1055],{"className":1056,"style":603},[415],[399,1058,774],{"className":1059},[420],", which agrees with ",[931,1062,928],{}," only at and\nbelow the lowest ",[399,1065,1067],{"className":1066},[402],[399,1068,1070],{"className":1069,"ariaHidden":407},[406],[399,1071,1073,1076],{"className":1072},[411],[399,1074],{"className":1075,"style":603},[415],[399,1077,774],{"className":1078},[420],").",[883,1081,1082,1085,1086,1111,1112,1115],{},[390,1083,1084],{},"popcount"," (number of set bits): a hardware instruction, or\n",[399,1087,1089],{"className":1088},[402],[399,1090,1092],{"className":1091,"ariaHidden":407},[406],[399,1093,1095,1099],{"className":1094},[411],[399,1096],{"className":1097,"style":1098},[415],"height:0.8889em;vertical-align:-0.1944em;",[399,1100,1104],{"className":1101},[1102,1103],"enclosing","textsc",[399,1105,1107],{"className":1106},[420,749],[399,1108,1110],{"className":1109},[420],"Kernighan","'s loop ",[931,1113,1114],{},"while (m) { m &= m - 1; c++; }",", which clears the\nlowest set bit each step.",[883,1117,1118,1121,1122,1137,1138,1153,1154,1188,1189,461],{},[390,1119,1120],{},"iterate the members",": for ",[399,1123,1125],{"className":1124},[402],[399,1126,1128],{"className":1127,"ariaHidden":407},[406],[399,1129,1131,1134],{"className":1130},[411],[399,1132],{"className":1133,"style":800},[415],[399,1135,804],{"className":1136},[420,459]," from ",[399,1139,1141],{"className":1140},[402],[399,1142,1144],{"className":1143,"ariaHidden":407},[406],[399,1145,1147,1150],{"className":1146},[411],[399,1148],{"className":1149,"style":603},[415],[399,1151,519],{"className":1152},[420]," to ",[399,1155,1157],{"className":1156},[402],[399,1158,1160,1179],{"className":1159,"ariaHidden":407},[406],[399,1161,1163,1167,1170,1173,1176],{"className":1162},[411],[399,1164],{"className":1165,"style":1166},[415],"height:0.6667em;vertical-align:-0.0833em;",[399,1168,460],{"className":1169},[420,459],[399,1171],{"className":1172,"style":731},[528],[399,1174,1005],{"className":1175},[735],[399,1177],{"className":1178,"style":731},[528],[399,1180,1182,1185],{"className":1181},[411],[399,1183],{"className":1184,"style":603},[415],[399,1186,774],{"className":1187},[420],", test bit ",[399,1190,1192],{"className":1191},[402],[399,1193,1195],{"className":1194,"ariaHidden":407},[406],[399,1196,1198,1201],{"className":1197},[411],[399,1199],{"className":1200,"style":800},[415],[399,1202,804],{"className":1203},[420,459],[883,1205,1206,1207,1210,1211,1214,1215,1210,1218,461],{},"the ",[390,1208,1209],{},"full set"," is ",[931,1212,1213],{},"(1 \u003C\u003C n) - 1","; the ",[390,1216,1217],{},"empty set",[931,1219,519],{},[381,1221,1222,1223,1315,1316,1319,1320,1323,1324,1342,1343,1345,1346,1349],{},"The whole universe of subsets is the integers ",[399,1224,1226],{"className":1225},[402],[399,1227,1229,1306],{"className":1228,"ariaHidden":407},[406],[399,1230,1232,1236,1239,1242,1245,1248,1251,1254,1259,1262,1265,1268,1297,1300,1303],{"className":1231},[411],[399,1233],{"className":1234,"style":1235},[415],"height:0.8588em;vertical-align:-0.1944em;",[399,1237,519],{"className":1238},[420],[399,1240,524],{"className":1241},[523],[399,1243],{"className":1244,"style":529},[528],[399,1246,774],{"className":1247},[420],[399,1249,524],{"className":1250},[523],[399,1252],{"className":1253,"style":529},[528],[399,1255,1258],{"className":1256},[1257],"minner","…",[399,1260],{"className":1261,"style":529},[528],[399,1263,524],{"className":1264},[523],[399,1266],{"className":1267,"style":529},[528],[399,1269,1271,1274],{"className":1270},[420],[399,1272,424],{"className":1273},[420],[399,1275,1277],{"className":1276},[428],[399,1278,1280],{"className":1279},[432],[399,1281,1283],{"className":1282},[436],[399,1284,1286],{"className":1285,"style":416},[440],[399,1287,1288,1291],{"style":443},[399,1289],{"className":1290,"style":448},[447],[399,1292,1294],{"className":1293},[452,453,454,455],[399,1295,460],{"className":1296},[420,459,455],[399,1298],{"className":1299,"style":731},[528],[399,1301,1005],{"className":1302},[735],[399,1304],{"className":1305,"style":731},[528],[399,1307,1309,1312],{"className":1308},[411],[399,1310],{"className":1311,"style":603},[415],[399,1313,774],{"className":1314},[420],", so a loop\n",[931,1317,1318],{},"for (mask = 0; mask \u003C (1 \u003C\u003C n); mask++)"," visits every subset once. Because\n",[931,1321,1322],{},"mask | (1 \u003C\u003C j) > mask"," whenever bit ",[399,1325,1327],{"className":1326},[402],[399,1328,1330],{"className":1329,"ariaHidden":407},[406],[399,1331,1333,1337],{"className":1332},[411],[399,1334],{"className":1335,"style":1336},[415],"height:0.854em;vertical-align:-0.1944em;",[399,1338,1341],{"className":1339,"style":1340},[420,459],"margin-right:0.0572em;","j"," was unset, masks that ",[385,1344,938],{}," an element\nare numerically larger, so iterating masks in increasing order processes every\nsubset ",[385,1347,1348],{},"after"," all of its proper subsets, which is exactly the topological order\na subset DP needs.",[1351,1352,1356,1576],"figure",{"className":1353},[1354,1355],"tikz-figure","tikz-diagram-rendered",[1357,1358,1363],"svg",{"xmlns":1359,"width":1360,"height":1361,"viewBox":1362},"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg","295.531","198.218","-75 -75 221.649 148.664",[1364,1365,1368,1373,1382,1385,1392,1395,1402,1405,1412,1415,1422,1425,1432,1435,1442,1455,1458,1461,1464,1467,1470,1473,1476,1479,1482,1485,1488,1491,1494,1497,1500,1503,1506,1509,1512,1515,1518,1521,1524,1527,1552],"g",{"stroke":1366,"style":1367},"currentColor","stroke-miterlimit:10;stroke-width:.4",[1369,1370],"path",{"fill":1371,"d":1372},"none","M-8.498 70.194h22.762V47.43H-8.498Z",[1364,1374,1376],{"transform":1375},"translate(78.983 2.578)",[1369,1377],{"d":1378,"fill":1366,"stroke":1366,"className":1379,"style":1381},"M-80.354 58.981Q-81.057 58.981-81.457 58.581Q-81.858 58.180-82.002 57.571Q-82.147 56.961-82.147 56.262Q-82.147 55.739-82.077 55.276Q-82.006 54.813-81.813 54.401Q-81.620 53.989-81.262 53.741Q-80.905 53.493-80.354 53.493Q-79.803 53.493-79.446 53.741Q-79.088 53.989-78.897 54.399Q-78.705 54.809-78.635 55.278Q-78.565 55.747-78.565 56.262Q-78.565 56.961-78.707 57.569Q-78.850 58.176-79.250 58.579Q-79.651 58.981-80.354 58.981M-80.354 58.723Q-79.881 58.723-79.649 58.288Q-79.416 57.852-79.362 57.313Q-79.307 56.774-79.307 56.133Q-79.307 55.137-79.491 54.444Q-79.674 53.751-80.354 53.751Q-80.721 53.751-80.942 53.989Q-81.162 54.227-81.258 54.584Q-81.354 54.942-81.379 55.313Q-81.405 55.684-81.405 56.133Q-81.405 56.774-81.350 57.313Q-81.295 57.852-81.063 58.288Q-80.830 58.723-80.354 58.723M-76.108 58.981Q-76.811 58.981-77.211 58.581Q-77.612 58.180-77.756 57.571Q-77.901 56.961-77.901 56.262Q-77.901 55.739-77.830 55.276Q-77.760 54.813-77.567 54.401Q-77.373 53.989-77.016 53.741Q-76.659 53.493-76.108 53.493Q-75.557 53.493-75.200 53.741Q-74.842 53.989-74.651 54.399Q-74.459 54.809-74.389 55.278Q-74.319 55.747-74.319 56.262Q-74.319 56.961-74.461 57.569Q-74.604 58.176-75.004 58.579Q-75.405 58.981-76.108 58.981M-76.108 58.723Q-75.635 58.723-75.403 58.288Q-75.170 57.852-75.116 57.313Q-75.061 56.774-75.061 56.133Q-75.061 55.137-75.245 54.444Q-75.428 53.751-76.108 53.751Q-76.475 53.751-76.696 53.989Q-76.916 54.227-77.012 54.584Q-77.108 54.942-77.133 55.313Q-77.159 55.684-77.159 56.133Q-77.159 56.774-77.104 57.313Q-77.049 57.852-76.817 58.288Q-76.584 58.723-76.108 58.723M-71.862 58.981Q-72.565 58.981-72.965 58.581Q-73.366 58.180-73.510 57.571Q-73.655 56.961-73.655 56.262Q-73.655 55.739-73.584 55.276Q-73.514 54.813-73.321 54.401Q-73.127 53.989-72.770 53.741Q-72.412 53.493-71.862 53.493Q-71.311 53.493-70.954 53.741Q-70.596 53.989-70.405 54.399Q-70.213 54.809-70.143 55.278Q-70.073 55.747-70.073 56.262Q-70.073 56.961-70.215 57.569Q-70.358 58.176-70.758 58.579Q-71.159 58.981-71.862 58.981M-71.862 58.723Q-71.389 58.723-71.157 58.288Q-70.924 57.852-70.870 57.313Q-70.815 56.774-70.815 56.133Q-70.815 55.137-70.998 54.444Q-71.182 53.751-71.862 53.751Q-72.229 53.751-72.450 53.989Q-72.670 54.227-72.766 54.584Q-72.862 54.942-72.887 55.313Q-72.912 55.684-72.912 56.133Q-72.912 56.774-72.858 57.313Q-72.803 57.852-72.571 58.288Q-72.338 58.723-71.862 58.723",[1380],"tikz-text","stroke-width:0.240",[1369,1383],{"fill":1371,"d":1384},"M-65.403 30.36h22.762V7.598h-22.762Z",[1364,1386,1388],{"transform":1387},"translate(22.078 -37.256)",[1369,1389],{"d":1390,"fill":1366,"stroke":1366,"className":1391,"style":1381},"M-80.354 58.981Q-81.057 58.981-81.457 58.581Q-81.858 58.180-82.002 57.571Q-82.147 56.961-82.147 56.262Q-82.147 55.739-82.077 55.276Q-82.006 54.813-81.813 54.401Q-81.620 53.989-81.262 53.741Q-80.905 53.493-80.354 53.493Q-79.803 53.493-79.446 53.741Q-79.088 53.989-78.897 54.399Q-78.705 54.809-78.635 55.278Q-78.565 55.747-78.565 56.262Q-78.565 56.961-78.707 57.569Q-78.850 58.176-79.250 58.579Q-79.651 58.981-80.354 58.981M-80.354 58.723Q-79.881 58.723-79.649 58.288Q-79.416 57.852-79.362 57.313Q-79.307 56.774-79.307 56.133Q-79.307 55.137-79.491 54.444Q-79.674 53.751-80.354 53.751Q-80.721 53.751-80.942 53.989Q-81.162 54.227-81.258 54.584Q-81.354 54.942-81.379 55.313Q-81.405 55.684-81.405 56.133Q-81.405 56.774-81.350 57.313Q-81.295 57.852-81.063 58.288Q-80.830 58.723-80.354 58.723M-76.108 58.981Q-76.811 58.981-77.211 58.581Q-77.612 58.180-77.756 57.571Q-77.901 56.961-77.901 56.262Q-77.901 55.739-77.830 55.276Q-77.760 54.813-77.567 54.401Q-77.373 53.989-77.016 53.741Q-76.659 53.493-76.108 53.493Q-75.557 53.493-75.200 53.741Q-74.842 53.989-74.651 54.399Q-74.459 54.809-74.389 55.278Q-74.319 55.747-74.319 56.262Q-74.319 56.961-74.461 57.569Q-74.604 58.176-75.004 58.579Q-75.405 58.981-76.108 58.981M-76.108 58.723Q-75.635 58.723-75.403 58.288Q-75.170 57.852-75.116 57.313Q-75.061 56.774-75.061 56.133Q-75.061 55.137-75.245 54.444Q-75.428 53.751-76.108 53.751Q-76.475 53.751-76.696 53.989Q-76.916 54.227-77.012 54.584Q-77.108 54.942-77.133 55.313Q-77.159 55.684-77.159 56.133Q-77.159 56.774-77.104 57.313Q-77.049 57.852-76.817 58.288Q-76.584 58.723-76.108 58.723M-70.389 58.813L-73.182 58.813L-73.182 58.516Q-72.120 58.516-72.120 58.254L-72.120 54.086Q-72.549 54.301-73.229 54.301L-73.229 54.004Q-72.209 54.004-71.694 53.493L-71.549 53.493Q-71.475 53.512-71.455 53.590L-71.455 58.254Q-71.455 58.516-70.389 58.516",[1380],[1369,1393],{"fill":1371,"d":1394},"M-8.498 30.36h22.762V7.598H-8.498Z",[1364,1396,1398],{"transform":1397},"translate(78.983 -37.256)",[1369,1399],{"d":1400,"fill":1366,"stroke":1366,"className":1401,"style":1381},"M-80.354 58.981Q-81.057 58.981-81.457 58.581Q-81.858 58.180-82.002 57.571Q-82.147 56.961-82.147 56.262Q-82.147 55.739-82.077 55.276Q-82.006 54.813-81.813 54.401Q-81.620 53.989-81.262 53.741Q-80.905 53.493-80.354 53.493Q-79.803 53.493-79.446 53.741Q-79.088 53.989-78.897 54.399Q-78.705 54.809-78.635 55.278Q-78.565 55.747-78.565 56.262Q-78.565 56.961-78.707 57.569Q-78.850 58.176-79.250 58.579Q-79.651 58.981-80.354 58.981M-80.354 58.723Q-79.881 58.723-79.649 58.288Q-79.416 57.852-79.362 57.313Q-79.307 56.774-79.307 56.133Q-79.307 55.137-79.491 54.444Q-79.674 53.751-80.354 53.751Q-80.721 53.751-80.942 53.989Q-81.162 54.227-81.258 54.584Q-81.354 54.942-81.379 55.313Q-81.405 55.684-81.405 56.133Q-81.405 56.774-81.350 57.313Q-81.295 57.852-81.063 58.288Q-80.830 58.723-80.354 58.723M-74.635 58.813L-77.428 58.813L-77.428 58.516Q-76.366 58.516-76.366 58.254L-76.366 54.086Q-76.795 54.301-77.475 54.301L-77.475 54.004Q-76.455 54.004-75.940 53.493L-75.795 53.493Q-75.721 53.512-75.702 53.590L-75.702 58.254Q-75.702 58.516-74.635 58.516L-74.635 58.813M-71.862 58.981Q-72.565 58.981-72.965 58.581Q-73.366 58.180-73.510 57.571Q-73.655 56.961-73.655 56.262Q-73.655 55.739-73.584 55.276Q-73.514 54.813-73.321 54.401Q-73.127 53.989-72.770 53.741Q-72.412 53.493-71.862 53.493Q-71.311 53.493-70.954 53.741Q-70.596 53.989-70.405 54.399Q-70.213 54.809-70.143 55.278Q-70.073 55.747-70.073 56.262Q-70.073 56.961-70.215 57.569Q-70.358 58.176-70.758 58.579Q-71.159 58.981-71.862 58.981M-71.862 58.723Q-71.389 58.723-71.157 58.288Q-70.924 57.852-70.870 57.313Q-70.815 56.774-70.815 56.133Q-70.815 55.137-70.998 54.444Q-71.182 53.751-71.862 53.751Q-72.229 53.751-72.450 53.989Q-72.670 54.227-72.766 54.584Q-72.862 54.942-72.887 55.313Q-72.912 55.684-72.912 56.133Q-72.912 56.774-72.858 57.313Q-72.803 57.852-72.571 58.288Q-72.338 58.723-71.862 58.723",[1380],[1369,1403],{"fill":1371,"d":1404},"M48.408 30.36H71.17V7.598H48.408Z",[1364,1406,1408],{"transform":1407},"translate(135.889 -37.256)",[1369,1409],{"d":1410,"fill":1366,"stroke":1366,"className":1411,"style":1381},"M-78.881 58.813L-81.674 58.813L-81.674 58.516Q-80.612 58.516-80.612 58.254L-80.612 54.086Q-81.041 54.301-81.721 54.301L-81.721 54.004Q-80.702 54.004-80.186 53.493L-80.041 53.493Q-79.967 53.512-79.948 53.590L-79.948 58.254Q-79.948 58.516-78.881 58.516L-78.881 58.813M-76.108 58.981Q-76.811 58.981-77.211 58.581Q-77.612 58.180-77.756 57.571Q-77.901 56.961-77.901 56.262Q-77.901 55.739-77.830 55.276Q-77.760 54.813-77.567 54.401Q-77.373 53.989-77.016 53.741Q-76.659 53.493-76.108 53.493Q-75.557 53.493-75.200 53.741Q-74.842 53.989-74.651 54.399Q-74.459 54.809-74.389 55.278Q-74.319 55.747-74.319 56.262Q-74.319 56.961-74.461 57.569Q-74.604 58.176-75.004 58.579Q-75.405 58.981-76.108 58.981M-76.108 58.723Q-75.635 58.723-75.403 58.288Q-75.170 57.852-75.116 57.313Q-75.061 56.774-75.061 56.133Q-75.061 55.137-75.245 54.444Q-75.428 53.751-76.108 53.751Q-76.475 53.751-76.696 53.989Q-76.916 54.227-77.012 54.584Q-77.108 54.942-77.133 55.313Q-77.159 55.684-77.159 56.133Q-77.159 56.774-77.104 57.313Q-77.049 57.852-76.817 58.288Q-76.584 58.723-76.108 58.723M-71.862 58.981Q-72.565 58.981-72.965 58.581Q-73.366 58.180-73.510 57.571Q-73.655 56.961-73.655 56.262Q-73.655 55.739-73.584 55.276Q-73.514 54.813-73.321 54.401Q-73.127 53.989-72.770 53.741Q-72.412 53.493-71.862 53.493Q-71.311 53.493-70.954 53.741Q-70.596 53.989-70.405 54.399Q-70.213 54.809-70.143 55.278Q-70.073 55.747-70.073 56.262Q-70.073 56.961-70.215 57.569Q-70.358 58.176-70.758 58.579Q-71.159 58.981-71.862 58.981M-71.862 58.723Q-71.389 58.723-71.157 58.288Q-70.924 57.852-70.870 57.313Q-70.815 56.774-70.815 56.133Q-70.815 55.137-70.998 54.444Q-71.182 53.751-71.862 53.751Q-72.229 53.751-72.450 53.989Q-72.670 54.227-72.766 54.584Q-72.862 54.942-72.887 55.313Q-72.912 55.684-72.912 56.133Q-72.912 56.774-72.858 57.313Q-72.803 57.852-72.571 58.288Q-72.338 58.723-71.862 58.723",[1380],[1369,1413],{"fill":1371,"d":1414},"M-65.403-9.474h22.762v-22.762h-22.762Z",[1364,1416,1418],{"transform":1417},"translate(22.078 -77.09)",[1369,1419],{"d":1420,"fill":1366,"stroke":1366,"className":1421,"style":1381},"M-80.354 58.981Q-81.057 58.981-81.457 58.581Q-81.858 58.180-82.002 57.571Q-82.147 56.961-82.147 56.262Q-82.147 55.739-82.077 55.276Q-82.006 54.813-81.813 54.401Q-81.620 53.989-81.262 53.741Q-80.905 53.493-80.354 53.493Q-79.803 53.493-79.446 53.741Q-79.088 53.989-78.897 54.399Q-78.705 54.809-78.635 55.278Q-78.565 55.747-78.565 56.262Q-78.565 56.961-78.707 57.569Q-78.850 58.176-79.250 58.579Q-79.651 58.981-80.354 58.981M-80.354 58.723Q-79.881 58.723-79.649 58.288Q-79.416 57.852-79.362 57.313Q-79.307 56.774-79.307 56.133Q-79.307 55.137-79.491 54.444Q-79.674 53.751-80.354 53.751Q-80.721 53.751-80.942 53.989Q-81.162 54.227-81.258 54.584Q-81.354 54.942-81.379 55.313Q-81.405 55.684-81.405 56.133Q-81.405 56.774-81.350 57.313Q-81.295 57.852-81.063 58.288Q-80.830 58.723-80.354 58.723M-74.635 58.813L-77.428 58.813L-77.428 58.516Q-76.366 58.516-76.366 58.254L-76.366 54.086Q-76.795 54.301-77.475 54.301L-77.475 54.004Q-76.455 54.004-75.940 53.493L-75.795 53.493Q-75.721 53.512-75.702 53.590L-75.702 58.254Q-75.702 58.516-74.635 58.516L-74.635 58.813M-70.389 58.813L-73.182 58.813L-73.182 58.516Q-72.120 58.516-72.120 58.254L-72.120 54.086Q-72.549 54.301-73.229 54.301L-73.229 54.004Q-72.209 54.004-71.694 53.493L-71.549 53.493Q-71.475 53.512-71.455 53.590L-71.455 58.254Q-71.455 58.516-70.389 58.516",[1380],[1369,1423],{"fill":1371,"d":1424},"M-8.498-9.474h22.762v-22.762H-8.498Z",[1364,1426,1428],{"transform":1427},"translate(78.983 -77.09)",[1369,1429],{"d":1430,"fill":1366,"stroke":1366,"className":1431,"style":1381},"M-78.881 58.813L-81.674 58.813L-81.674 58.516Q-80.612 58.516-80.612 58.254L-80.612 54.086Q-81.041 54.301-81.721 54.301L-81.721 54.004Q-80.702 54.004-80.186 53.493L-80.041 53.493Q-79.967 53.512-79.948 53.590L-79.948 58.254Q-79.948 58.516-78.881 58.516L-78.881 58.813M-76.108 58.981Q-76.811 58.981-77.211 58.581Q-77.612 58.180-77.756 57.571Q-77.901 56.961-77.901 56.262Q-77.901 55.739-77.830 55.276Q-77.760 54.813-77.567 54.401Q-77.373 53.989-77.016 53.741Q-76.659 53.493-76.108 53.493Q-75.557 53.493-75.200 53.741Q-74.842 53.989-74.651 54.399Q-74.459 54.809-74.389 55.278Q-74.319 55.747-74.319 56.262Q-74.319 56.961-74.461 57.569Q-74.604 58.176-75.004 58.579Q-75.405 58.981-76.108 58.981M-76.108 58.723Q-75.635 58.723-75.403 58.288Q-75.170 57.852-75.116 57.313Q-75.061 56.774-75.061 56.133Q-75.061 55.137-75.245 54.444Q-75.428 53.751-76.108 53.751Q-76.475 53.751-76.696 53.989Q-76.916 54.227-77.012 54.584Q-77.108 54.942-77.133 55.313Q-77.159 55.684-77.159 56.133Q-77.159 56.774-77.104 57.313Q-77.049 57.852-76.817 58.288Q-76.584 58.723-76.108 58.723M-70.389 58.813L-73.182 58.813L-73.182 58.516Q-72.120 58.516-72.120 58.254L-72.120 54.086Q-72.549 54.301-73.229 54.301L-73.229 54.004Q-72.209 54.004-71.694 53.493L-71.549 53.493Q-71.475 53.512-71.455 53.590L-71.455 58.254Q-71.455 58.516-70.389 58.516",[1380],[1369,1433],{"fill":1371,"d":1434},"M48.408-9.474H71.17v-22.762H48.408Z",[1364,1436,1438],{"transform":1437},"translate(135.889 -77.09)",[1369,1439],{"d":1440,"fill":1366,"stroke":1366,"className":1441,"style":1381},"M-78.881 58.813L-81.674 58.813L-81.674 58.516Q-80.612 58.516-80.612 58.254L-80.612 54.086Q-81.041 54.301-81.721 54.301L-81.721 54.004Q-80.702 54.004-80.186 53.493L-80.041 53.493Q-79.967 53.512-79.948 53.590L-79.948 58.254Q-79.948 58.516-78.881 58.516L-78.881 58.813M-74.635 58.813L-77.428 58.813L-77.428 58.516Q-76.366 58.516-76.366 58.254L-76.366 54.086Q-76.795 54.301-77.475 54.301L-77.475 54.004Q-76.455 54.004-75.940 53.493L-75.795 53.493Q-75.721 53.512-75.702 53.590L-75.702 58.254Q-75.702 58.516-74.635 58.516L-74.635 58.813M-71.862 58.981Q-72.565 58.981-72.965 58.581Q-73.366 58.180-73.510 57.571Q-73.655 56.961-73.655 56.262Q-73.655 55.739-73.584 55.276Q-73.514 54.813-73.321 54.401Q-73.127 53.989-72.770 53.741Q-72.412 53.493-71.862 53.493Q-71.311 53.493-70.954 53.741Q-70.596 53.989-70.405 54.399Q-70.213 54.809-70.143 55.278Q-70.073 55.747-70.073 56.262Q-70.073 56.961-70.215 57.569Q-70.358 58.176-70.758 58.579Q-71.159 58.981-71.862 58.981M-71.862 58.723Q-71.389 58.723-71.157 58.288Q-70.924 57.852-70.870 57.313Q-70.815 56.774-70.815 56.133Q-70.815 55.137-70.998 54.444Q-71.182 53.751-71.862 53.751Q-72.229 53.751-72.450 53.989Q-72.670 54.227-72.766 54.584Q-72.862 54.942-72.887 55.313Q-72.912 55.684-72.912 56.133Q-72.912 56.774-72.858 57.313Q-72.803 57.852-72.571 58.288Q-72.338 58.723-71.862 58.723",[1380],[1364,1443,1445,1448],{"fill":1444},"var(--tk-soft-accent)",[1369,1446],{"d":1447},"M-8.498-49.308h22.762V-72.07H-8.498Z",[1364,1449,1451],{"transform":1450},"translate(78.983 -116.924)",[1369,1452],{"d":1453,"fill":1366,"stroke":1366,"className":1454,"style":1381},"M-78.881 58.813L-81.674 58.813L-81.674 58.516Q-80.612 58.516-80.612 58.254L-80.612 54.086Q-81.041 54.301-81.721 54.301L-81.721 54.004Q-80.702 54.004-80.186 53.493L-80.041 53.493Q-79.967 53.512-79.948 53.590L-79.948 58.254Q-79.948 58.516-78.881 58.516L-78.881 58.813M-74.635 58.813L-77.428 58.813L-77.428 58.516Q-76.366 58.516-76.366 58.254L-76.366 54.086Q-76.795 54.301-77.475 54.301L-77.475 54.004Q-76.455 54.004-75.940 53.493L-75.795 53.493Q-75.721 53.512-75.702 53.590L-75.702 58.254Q-75.702 58.516-74.635 58.516L-74.635 58.813M-70.389 58.813L-73.182 58.813L-73.182 58.516Q-72.120 58.516-72.120 58.254L-72.120 54.086Q-72.549 54.301-73.229 54.301L-73.229 54.004Q-72.209 54.004-71.694 53.493L-71.549 53.493Q-71.475 53.512-71.455 53.590L-71.455 58.254Q-71.455 58.516-70.389 58.516",[1380],[1369,1456],{"fill":1371,"d":1457},"m-8.698 50.71-32.105-22.482",[1369,1459],{"stroke":1371,"d":1460},"m-42.441 27.08 1.703 3.147-.065-2 1.9-.621",[1369,1462],{"fill":1371,"d":1463},"M2.883 47.231V32.56",[1369,1465],{"stroke":1371,"d":1466},"m2.883 30.56-1.6 3.2 1.6-1.2 1.6 1.2",[1369,1468],{"fill":1371,"d":1469},"M14.464 50.71 46.57 28.228",[1369,1471],{"stroke":1371,"d":1472},"m48.208 27.08-3.54.526 1.901.622-.065 1.999",[1369,1474],{"fill":1371,"d":1475},"M-54.022 7.398V-7.274",[1369,1477],{"stroke":1371,"d":1478},"m-54.022-9.274-1.6 3.2 1.6-1.2 1.6 1.2",[1369,1480],{"fill":1371,"d":1481},"m-8.698 10.876-32.105-22.482",[1369,1483],{"stroke":1371,"d":1484},"m-42.441-12.753 1.703 3.146-.065-1.999 1.9-.622",[1369,1486],{"fill":1371,"d":1487},"m-42.441 10.876 32.105-22.482",[1369,1489],{"stroke":1371,"d":1490},"m-8.698-12.753-3.539.525 1.9.622-.064 1.999",[1369,1492],{"fill":1371,"d":1493},"M48.208 10.876 16.103-11.606",[1369,1495],{"stroke":1371,"d":1496},"m14.464-12.753 1.704 3.146-.065-1.999 1.9-.622",[1369,1498],{"fill":1371,"d":1499},"M14.464 10.876 46.57-11.606",[1369,1501],{"stroke":1371,"d":1502},"m48.208-12.753-3.54.525 1.901.622-.065 1.999",[1369,1504],{"fill":1371,"d":1505},"M59.789 7.398V-7.274",[1369,1507],{"stroke":1371,"d":1508},"m59.789-9.274-1.6 3.2 1.6-1.2 1.6 1.2",[1369,1510],{"fill":1371,"d":1511},"m-42.441-28.958 32.105-22.482",[1369,1513],{"stroke":1371,"d":1514},"m-8.698-52.587-3.539.525 1.901.622-.065 1.999",[1369,1516],{"fill":1371,"d":1517},"M2.883-32.436v-14.672",[1369,1519],{"stroke":1371,"d":1520},"m2.883-49.108-1.6 3.2 1.6-1.2 1.6 1.2",[1369,1522],{"fill":1371,"d":1523},"M48.208-28.958 16.102-51.44",[1369,1525],{"stroke":1371,"d":1526},"m14.464-52.587 1.704 3.146-.066-1.999 1.901-.622",[1364,1528,1530],{"fill":1529,"stroke":1529},"var(--tk-accent)",[1364,1531,1533,1540,1546],{"fill":1529,"stroke":1371,"fontSize":1532},"8",[1364,1534,1536],{"transform":1535},"translate(180.044 -56.973)",[1369,1537],{"d":1538,"fill":1529,"stroke":1529,"className":1539,"style":1381},"M-82.139 57.981Q-82.139 57.497-81.737 57.202Q-81.334 56.907-80.784 56.788Q-80.233 56.668-79.741 56.668L-79.741 56.379Q-79.741 56.153-79.856 55.946Q-79.971 55.739-80.168 55.620Q-80.366 55.501-80.596 55.501Q-81.022 55.501-81.307 55.606Q-81.237 55.633-81.190 55.688Q-81.143 55.743-81.118 55.813Q-81.092 55.883-81.092 55.958Q-81.092 56.063-81.143 56.155Q-81.194 56.247-81.286 56.297Q-81.377 56.348-81.483 56.348Q-81.588 56.348-81.680 56.297Q-81.772 56.247-81.823 56.155Q-81.873 56.063-81.873 55.958Q-81.873 55.540-81.485 55.393Q-81.096 55.247-80.596 55.247Q-80.264 55.247-79.911 55.377Q-79.557 55.508-79.329 55.762Q-79.100 56.016-79.100 56.364L-79.100 58.165Q-79.100 58.297-79.028 58.407Q-78.955 58.516-78.827 58.516Q-78.702 58.516-78.633 58.411Q-78.565 58.305-78.565 58.165L-78.565 57.653L-78.284 57.653L-78.284 58.165Q-78.284 58.368-78.401 58.526Q-78.518 58.684-78.700 58.768Q-78.881 58.852-79.084 58.852Q-79.315 58.852-79.467 58.680Q-79.620 58.508-79.651 58.278Q-79.811 58.559-80.120 58.725Q-80.428 58.891-80.780 58.891Q-81.291 58.891-81.715 58.668Q-82.139 58.446-82.139 57.981M-81.452 57.981Q-81.452 58.266-81.225 58.452Q-80.998 58.637-80.705 58.637Q-80.459 58.637-80.235 58.520Q-80.010 58.403-79.875 58.200Q-79.741 57.997-79.741 57.743L-79.741 56.911Q-80.006 56.911-80.291 56.965Q-80.577 57.020-80.848 57.149Q-81.120 57.278-81.286 57.485Q-81.452 57.692-81.452 57.981M-76.174 58.891Q-76.655 58.891-77.063 58.647Q-77.471 58.403-77.709 57.989Q-77.948 57.575-77.948 57.086Q-77.948 56.594-77.690 56.178Q-77.432 55.762-77 55.524Q-76.569 55.286-76.077 55.286Q-75.455 55.286-75.006 55.723L-75.006 54.094Q-75.006 53.879-75.069 53.784Q-75.131 53.688-75.248 53.667Q-75.366 53.645-75.612 53.645L-75.612 53.348L-74.389 53.262L-74.389 58.071Q-74.389 58.282-74.327 58.377Q-74.264 58.473-74.147 58.495Q-74.030 58.516-73.780 58.516L-73.780 58.813L-75.030 58.891L-75.030 58.407Q-75.495 58.891-76.174 58.891M-76.108 58.637Q-75.768 58.637-75.475 58.446Q-75.182 58.254-75.030 57.958L-75.030 56.126Q-75.178 55.852-75.440 55.696Q-75.702 55.540-76.014 55.540Q-76.639 55.540-76.922 55.987Q-77.205 56.434-77.205 57.094Q-77.205 57.739-76.954 58.188Q-76.702 58.637-76.108 58.637M-71.455 58.891Q-71.936 58.891-72.344 58.647Q-72.752 58.403-72.991 57.989Q-73.229 57.575-73.229 57.086Q-73.229 56.594-72.971 56.178Q-72.713 55.762-72.282 55.524Q-71.850 55.286-71.358 55.286Q-70.737 55.286-70.287 55.723L-70.287 54.094Q-70.287 53.879-70.350 53.784Q-70.412 53.688-70.530 53.667Q-70.647 53.645-70.893 53.645L-70.893 53.348L-69.670 53.262L-69.670 58.071Q-69.670 58.282-69.608 58.377Q-69.545 58.473-69.428 58.495Q-69.311 58.516-69.061 58.516L-69.061 58.813L-70.311 58.891L-70.311 58.407Q-70.776 58.891-71.455 58.891M-71.389 58.637Q-71.049 58.637-70.756 58.446Q-70.463 58.254-70.311 57.958L-70.311 56.126Q-70.459 55.852-70.721 55.696Q-70.983 55.540-71.295 55.540Q-71.920 55.540-72.204 55.987Q-72.487 56.434-72.487 57.094Q-72.487 57.739-72.235 58.188Q-71.983 58.637-71.389 58.637",[1380],[1364,1541,1542],{"transform":1535},[1369,1543],{"d":1544,"fill":1529,"stroke":1529,"className":1545,"style":1381},"M-64.795 58.813L-65.076 58.813L-65.076 54.094Q-65.076 53.879-65.138 53.784Q-65.201 53.688-65.318 53.667Q-65.435 53.645-65.681 53.645L-65.681 53.348L-64.459 53.262L-64.459 55.751Q-63.982 55.286-63.283 55.286Q-62.802 55.286-62.394 55.530Q-61.986 55.774-61.750 56.188Q-61.513 56.602-61.513 57.086Q-61.513 57.461-61.662 57.790Q-61.810 58.118-62.080 58.370Q-62.349 58.622-62.693 58.756Q-63.037 58.891-63.396 58.891Q-63.717 58.891-64.015 58.743Q-64.314 58.594-64.521 58.333L-64.795 58.813M-64.435 56.141L-64.435 57.981Q-64.283 58.278-64.023 58.458Q-63.763 58.637-63.451 58.637Q-63.025 58.637-62.758 58.418Q-62.490 58.200-62.375 57.854Q-62.260 57.508-62.260 57.086Q-62.260 56.438-62.508 55.989Q-62.756 55.540-63.353 55.540Q-63.689 55.540-63.978 55.698Q-64.267 55.856-64.435 56.141M-59.131 58.813L-60.908 58.813L-60.908 58.516Q-60.635 58.516-60.467 58.469Q-60.299 58.422-60.299 58.254L-60.299 56.118Q-60.299 55.903-60.355 55.807Q-60.412 55.711-60.525 55.690Q-60.638 55.668-60.885 55.668L-60.885 55.372L-59.685 55.286L-59.685 58.254Q-59.685 58.422-59.539 58.469Q-59.392 58.516-59.131 58.516L-59.131 58.813M-60.572 53.891Q-60.572 53.700-60.437 53.569Q-60.302 53.438-60.107 53.438Q-59.986 53.438-59.883 53.501Q-59.779 53.563-59.717 53.667Q-59.654 53.770-59.654 53.891Q-59.654 54.086-59.785 54.221Q-59.916 54.356-60.107 54.356Q-60.306 54.356-60.439 54.223Q-60.572 54.090-60.572 53.891M-58.006 57.852L-58.006 55.661L-58.709 55.661L-58.709 55.407Q-58.353 55.407-58.111 55.174Q-57.869 54.942-57.758 54.594Q-57.646 54.247-57.646 53.891L-57.365 53.891L-57.365 55.364L-56.189 55.364L-56.189 55.661L-57.365 55.661L-57.365 57.836Q-57.365 58.157-57.246 58.385Q-57.127 58.614-56.845 58.614Q-56.666 58.614-56.549 58.491Q-56.431 58.368-56.379 58.188Q-56.326 58.008-56.326 57.836L-56.326 57.364L-56.045 57.364L-56.045 57.852Q-56.045 58.106-56.150 58.346Q-56.256 58.586-56.453 58.739Q-56.650 58.891-56.908 58.891Q-57.224 58.891-57.476 58.768Q-57.728 58.645-57.867 58.411Q-58.006 58.176-58.006 57.852",[1380],[1364,1547,1548],{"transform":1535},[1369,1549],{"d":1550,"fill":1529,"stroke":1529,"className":1551,"style":1381},"M-47.045 57.836L-52.077 57.836Q-52.155 57.829-52.204 57.780Q-52.252 57.731-52.252 57.653Q-52.252 57.583-52.205 57.532Q-52.159 57.481-52.077 57.469L-46.647 57.469Q-46.397 57.270-46.116 57.102Q-45.834 56.934-45.541 56.813Q-46.143 56.559-46.647 56.149L-52.077 56.149Q-52.155 56.141-52.204 56.092Q-52.252 56.043-52.252 55.965Q-52.252 55.895-52.205 55.844Q-52.159 55.793-52.077 55.782L-47.045 55.782Q-47.514 55.301-47.823 54.676Q-47.830 54.645-47.830 54.637Q-47.830 54.551-47.733 54.524L-47.565 54.524Q-47.502 54.536-47.467 54.590Q-47.205 55.122-46.797 55.551Q-46.389 55.981-45.868 56.274Q-45.346 56.567-44.764 56.708Q-44.702 56.719-44.702 56.813Q-44.702 56.907-44.764 56.918Q-45.346 57.059-45.868 57.352Q-46.389 57.645-46.797 58.075Q-47.205 58.504-47.467 59.036Q-47.502 59.090-47.565 59.102L-47.733 59.102Q-47.830 59.075-47.830 58.989Q-47.830 58.981-47.823 58.950Q-47.518 58.333-47.045 57.836",[1380],[1364,1553,1554],{"fill":1529,"stroke":1529},[1364,1555,1557,1564,1570],{"fill":1529,"stroke":1371,"fontFamily":1556,"fontSize":1532},"cmr8",[1364,1558,1560],{"transform":1559},"translate(174.485 -40.68)",[1369,1561],{"d":1562,"fill":1529,"stroke":1529,"className":1563,"style":1381},"M-80.323 58.813L-82.155 58.813L-82.155 58.516Q-81.881 58.516-81.713 58.469Q-81.545 58.422-81.545 58.254L-81.545 54.094Q-81.545 53.879-81.608 53.784Q-81.670 53.688-81.789 53.667Q-81.909 53.645-82.155 53.645L-82.155 53.348L-80.932 53.262L-80.932 58.254Q-80.932 58.422-80.764 58.469Q-80.596 58.516-80.323 58.516L-80.323 58.813M-79.780 57.981Q-79.780 57.497-79.377 57.202Q-78.975 56.907-78.424 56.788Q-77.873 56.668-77.381 56.668L-77.381 56.379Q-77.381 56.153-77.496 55.946Q-77.612 55.739-77.809 55.620Q-78.006 55.501-78.237 55.501Q-78.662 55.501-78.948 55.606Q-78.877 55.633-78.830 55.688Q-78.784 55.743-78.758 55.813Q-78.733 55.883-78.733 55.958Q-78.733 56.063-78.784 56.155Q-78.834 56.247-78.926 56.297Q-79.018 56.348-79.123 56.348Q-79.229 56.348-79.321 56.297Q-79.412 56.247-79.463 56.155Q-79.514 56.063-79.514 55.958Q-79.514 55.540-79.125 55.393Q-78.737 55.247-78.237 55.247Q-77.905 55.247-77.551 55.377Q-77.198 55.508-76.969 55.762Q-76.741 56.016-76.741 56.364L-76.741 58.165Q-76.741 58.297-76.668 58.407Q-76.596 58.516-76.467 58.516Q-76.342 58.516-76.274 58.411Q-76.205 58.305-76.205 58.165L-76.205 57.653L-75.924 57.653L-75.924 58.165Q-75.924 58.368-76.041 58.526Q-76.159 58.684-76.340 58.768Q-76.522 58.852-76.725 58.852Q-76.955 58.852-77.108 58.680Q-77.260 58.508-77.291 58.278Q-77.452 58.559-77.760 58.725Q-78.069 58.891-78.420 58.891Q-78.932 58.891-79.356 58.668Q-79.780 58.446-79.780 57.981M-79.092 57.981Q-79.092 58.266-78.866 58.452Q-78.639 58.637-78.346 58.637Q-78.100 58.637-77.875 58.520Q-77.651 58.403-77.516 58.200Q-77.381 57.997-77.381 57.743L-77.381 56.911Q-77.647 56.911-77.932 56.965Q-78.217 57.020-78.489 57.149Q-78.760 57.278-78.926 57.485Q-79.092 57.692-79.092 57.981M-73.623 58.813L-75.604 58.813L-75.604 58.516Q-75.334 58.516-75.166 58.471Q-74.998 58.426-74.998 58.254L-74.998 56.118Q-74.998 55.903-75.061 55.807Q-75.123 55.711-75.241 55.690Q-75.358 55.668-75.604 55.668L-75.604 55.372L-74.436 55.286L-74.436 56.071Q-74.358 55.860-74.205 55.674Q-74.053 55.489-73.854 55.387Q-73.655 55.286-73.428 55.286Q-73.182 55.286-72.991 55.430Q-72.799 55.575-72.799 55.805Q-72.799 55.961-72.905 56.071Q-73.010 56.180-73.166 56.180Q-73.323 56.180-73.432 56.071Q-73.541 55.961-73.541 55.805Q-73.541 55.645-73.436 55.540Q-73.760 55.540-73.975 55.768Q-74.190 55.997-74.286 56.336Q-74.381 56.676-74.381 56.981L-74.381 58.254Q-74.381 58.422-74.155 58.469Q-73.928 58.516-73.623 58.516L-73.623 58.813M-72.319 59.422Q-72.319 59.141-72.108 58.930Q-71.897 58.719-71.612 58.629Q-71.768 58.504-71.846 58.315Q-71.924 58.126-71.924 57.926Q-71.924 57.571-71.694 57.278Q-72.061 56.938-72.061 56.469Q-72.061 56.118-71.858 55.848Q-71.655 55.579-71.334 55.432Q-71.014 55.286-70.670 55.286Q-70.151 55.286-69.780 55.567Q-69.416 55.196-68.870 55.196Q-68.690 55.196-68.563 55.323Q-68.436 55.450-68.436 55.629Q-68.436 55.735-68.514 55.813Q-68.592 55.891-68.702 55.891Q-68.811 55.891-68.887 55.815Q-68.963 55.739-68.963 55.629Q-68.963 55.528-68.924 55.477Q-68.916 55.469-68.912 55.463Q-68.909 55.458-68.909 55.454Q-69.284 55.454-69.604 55.708Q-69.284 56.047-69.284 56.469Q-69.284 56.739-69.401 56.956Q-69.518 57.172-69.723 57.331Q-69.928 57.489-70.170 57.571Q-70.412 57.653-70.670 57.653Q-70.889 57.653-71.102 57.594Q-71.315 57.536-71.510 57.415Q-71.604 57.555-71.604 57.735Q-71.604 57.942-71.467 58.094Q-71.330 58.247-71.123 58.247L-70.428 58.247Q-69.940 58.247-69.528 58.331Q-69.116 58.415-68.836 58.672Q-68.557 58.930-68.557 59.422Q-68.557 59.786-68.877 60.018Q-69.198 60.251-69.639 60.352Q-70.080 60.454-70.436 60.454Q-70.791 60.454-71.235 60.352Q-71.678 60.251-71.998 60.018Q-72.319 59.786-72.319 59.422M-71.815 59.422Q-71.815 59.618-71.670 59.766Q-71.526 59.915-71.313 60.004Q-71.100 60.094-70.860 60.141Q-70.620 60.188-70.436 60.188Q-70.194 60.188-69.864 60.110Q-69.534 60.032-69.297 59.858Q-69.061 59.684-69.061 59.422Q-69.061 59.016-69.471 58.907Q-69.881 58.797-70.444 58.797L-71.123 58.797Q-71.393 58.797-71.604 58.975Q-71.815 59.153-71.815 59.422M-70.670 57.387Q-69.948 57.387-69.948 56.469Q-69.948 55.547-70.670 55.547Q-71.397 55.547-71.397 56.469Q-71.397 57.387-70.670 57.387M-68.073 57.059Q-68.073 56.579-67.840 56.163Q-67.608 55.747-67.198 55.497Q-66.787 55.247-66.311 55.247Q-65.580 55.247-65.182 55.688Q-64.784 56.129-64.784 56.860Q-64.784 56.965-64.877 56.989L-67.327 56.989L-67.327 57.059Q-67.327 57.469-67.205 57.825Q-67.084 58.180-66.813 58.397Q-66.541 58.614-66.112 58.614Q-65.748 58.614-65.452 58.385Q-65.155 58.157-65.053 57.805Q-65.045 57.758-64.959 57.743L-64.877 57.743Q-64.784 57.770-64.784 57.852Q-64.784 57.860-64.791 57.891Q-64.854 58.118-64.993 58.301Q-65.131 58.485-65.323 58.618Q-65.514 58.751-65.733 58.821Q-65.952 58.891-66.190 58.891Q-66.561 58.891-66.899 58.754Q-67.237 58.618-67.504 58.366Q-67.772 58.114-67.922 57.774Q-68.073 57.434-68.073 57.059M-67.319 56.751L-65.358 56.751Q-65.358 56.446-65.459 56.155Q-65.561 55.864-65.778 55.682Q-65.995 55.501-66.311 55.501Q-66.612 55.501-66.842 55.688Q-67.073 55.876-67.196 56.167Q-67.319 56.458-67.319 56.751M-62.287 58.813L-64.268 58.813L-64.268 58.516Q-63.998 58.516-63.830 58.471Q-63.662 58.426-63.662 58.254L-63.662 56.118Q-63.662 55.903-63.725 55.807Q-63.787 55.711-63.905 55.690Q-64.022 55.668-64.268 55.668L-64.268 55.372L-63.100 55.286L-63.100 56.071Q-63.022 55.860-62.870 55.674Q-62.717 55.489-62.518 55.387Q-62.319 55.286-62.092 55.286Q-61.846 55.286-61.655 55.430Q-61.463 55.575-61.463 55.805Q-61.463 55.961-61.569 56.071Q-61.674 56.180-61.830 56.180Q-61.987 56.180-62.096 56.071Q-62.205 55.961-62.205 55.805Q-62.205 55.645-62.100 55.540Q-62.424 55.540-62.639 55.768Q-62.854 55.997-62.950 56.336Q-63.045 56.676-63.045 56.981L-63.045 58.254Q-63.045 58.422-62.819 58.469Q-62.592 58.516-62.287 58.516",[1380],[1364,1565,1566],{"transform":1559},[1369,1567],{"d":1568,"fill":1529,"stroke":1529,"className":1569,"style":1381},"M-56.279 58.813L-58.057 58.813L-58.057 58.516Q-57.783 58.516-57.615 58.469Q-57.447 58.422-57.447 58.254L-57.447 56.118Q-57.447 55.903-57.504 55.807Q-57.561 55.711-57.674 55.690Q-57.787 55.668-58.033 55.668L-58.033 55.372L-56.834 55.286L-56.834 58.254Q-56.834 58.422-56.688 58.469Q-56.541 58.516-56.279 58.516L-56.279 58.813M-57.721 53.891Q-57.721 53.700-57.586 53.569Q-57.451 53.438-57.256 53.438Q-57.135 53.438-57.031 53.501Q-56.928 53.563-56.865 53.667Q-56.803 53.770-56.803 53.891Q-56.803 54.086-56.934 54.221Q-57.065 54.356-57.256 54.356Q-57.455 54.356-57.588 54.223Q-57.721 54.090-57.721 53.891M-53.850 58.813L-55.705 58.813L-55.705 58.516Q-55.432 58.516-55.264 58.469Q-55.096 58.422-55.096 58.254L-55.096 56.118Q-55.096 55.903-55.158 55.807Q-55.221 55.711-55.340 55.690Q-55.459 55.668-55.705 55.668L-55.705 55.372L-54.514 55.286L-54.514 56.020Q-54.400 55.805-54.207 55.637Q-54.014 55.469-53.775 55.377Q-53.537 55.286-53.283 55.286Q-52.115 55.286-52.115 56.364L-52.115 58.254Q-52.115 58.422-51.945 58.469Q-51.775 58.516-51.506 58.516L-51.506 58.813L-53.361 58.813L-53.361 58.516Q-53.088 58.516-52.920 58.469Q-52.752 58.422-52.752 58.254L-52.752 56.379Q-52.752 55.997-52.873 55.768Q-52.994 55.540-53.346 55.540Q-53.658 55.540-53.912 55.702Q-54.166 55.864-54.313 56.133Q-54.459 56.403-54.459 56.700L-54.459 58.254Q-54.459 58.422-54.289 58.469Q-54.119 58.516-53.850 58.516",[1380],[1364,1571,1572],{"transform":1559},[1369,1573],{"d":1574,"fill":1529,"stroke":1529,"className":1575,"style":1381},"M-50.667 57.852L-50.667 55.661L-51.370 55.661L-51.370 55.407Q-51.014 55.407-50.772 55.174Q-50.530 54.942-50.419 54.594Q-50.307 54.247-50.307 53.891L-50.026 53.891L-50.026 55.364L-48.850 55.364L-48.850 55.661L-50.026 55.661L-50.026 57.836Q-50.026 58.157-49.907 58.385Q-49.788 58.614-49.507 58.614Q-49.327 58.614-49.210 58.491Q-49.093 58.368-49.040 58.188Q-48.987 58.008-48.987 57.836L-48.987 57.364L-48.706 57.364L-48.706 57.852Q-48.706 58.106-48.811 58.346Q-48.917 58.586-49.114 58.739Q-49.311 58.891-49.569 58.891Q-49.885 58.891-50.137 58.768Q-50.389 58.645-50.528 58.411Q-50.667 58.176-50.667 57.852M-47.987 57.059Q-47.987 56.579-47.755 56.163Q-47.522 55.747-47.112 55.497Q-46.702 55.247-46.225 55.247Q-45.495 55.247-45.096 55.688Q-44.698 56.129-44.698 56.860Q-44.698 56.965-44.792 56.989L-47.241 56.989L-47.241 57.059Q-47.241 57.469-47.120 57.825Q-46.999 58.180-46.727 58.397Q-46.456 58.614-46.026 58.614Q-45.663 58.614-45.366 58.385Q-45.069 58.157-44.968 57.805Q-44.960 57.758-44.874 57.743L-44.792 57.743Q-44.698 57.770-44.698 57.852Q-44.698 57.860-44.706 57.891Q-44.768 58.118-44.907 58.301Q-45.046 58.485-45.237 58.618Q-45.428 58.751-45.647 58.821Q-45.866 58.891-46.104 58.891Q-46.475 58.891-46.813 58.754Q-47.151 58.618-47.419 58.366Q-47.686 58.114-47.837 57.774Q-47.987 57.434-47.987 57.059M-47.233 56.751L-45.272 56.751Q-45.272 56.446-45.374 56.155Q-45.475 55.864-45.692 55.682Q-45.909 55.501-46.225 55.501Q-46.526 55.501-46.757 55.688Q-46.987 55.876-47.110 56.167Q-47.233 56.458-47.233 56.751M-44.210 59.422Q-44.210 59.141-43.999 58.930Q-43.788 58.719-43.503 58.629Q-43.659 58.504-43.737 58.315Q-43.815 58.126-43.815 57.926Q-43.815 57.571-43.585 57.278Q-43.952 56.938-43.952 56.469Q-43.952 56.118-43.749 55.848Q-43.546 55.579-43.225 55.432Q-42.905 55.286-42.561 55.286Q-42.042 55.286-41.671 55.567Q-41.307 55.196-40.760 55.196Q-40.581 55.196-40.454 55.323Q-40.327 55.450-40.327 55.629Q-40.327 55.735-40.405 55.813Q-40.483 55.891-40.593 55.891Q-40.702 55.891-40.778 55.815Q-40.854 55.739-40.854 55.629Q-40.854 55.528-40.815 55.477Q-40.807 55.469-40.803 55.463Q-40.800 55.458-40.800 55.454Q-41.175 55.454-41.495 55.708Q-41.175 56.047-41.175 56.469Q-41.175 56.739-41.292 56.956Q-41.409 57.172-41.614 57.331Q-41.819 57.489-42.061 57.571Q-42.303 57.653-42.561 57.653Q-42.780 57.653-42.993 57.594Q-43.206 57.536-43.401 57.415Q-43.495 57.555-43.495 57.735Q-43.495 57.942-43.358 58.094Q-43.221 58.247-43.014 58.247L-42.319 58.247Q-41.831 58.247-41.419 58.331Q-41.007 58.415-40.727 58.672Q-40.448 58.930-40.448 59.422Q-40.448 59.786-40.768 60.018Q-41.089 60.251-41.530 60.352Q-41.971 60.454-42.327 60.454Q-42.682 60.454-43.126 60.352Q-43.569 60.251-43.889 60.018Q-44.210 59.786-44.210 59.422M-43.706 59.422Q-43.706 59.618-43.561 59.766Q-43.417 59.915-43.204 60.004Q-42.991 60.094-42.751 60.141Q-42.510 60.188-42.327 60.188Q-42.085 60.188-41.755 60.110Q-41.425 60.032-41.188 59.858Q-40.952 59.684-40.952 59.422Q-40.952 59.016-41.362 58.907Q-41.772 58.797-42.335 58.797L-43.014 58.797Q-43.284 58.797-43.495 58.975Q-43.706 59.153-43.706 59.422M-42.561 57.387Q-41.839 57.387-41.839 56.469Q-41.839 55.547-42.561 55.547Q-43.288 55.547-43.288 56.469Q-43.288 57.387-42.561 57.387M-39.964 57.059Q-39.964 56.579-39.731 56.163Q-39.499 55.747-39.089 55.497Q-38.678 55.247-38.202 55.247Q-37.471 55.247-37.073 55.688Q-36.675 56.129-36.675 56.860Q-36.675 56.965-36.768 56.989L-39.218 56.989L-39.218 57.059Q-39.218 57.469-39.096 57.825Q-38.975 58.180-38.704 58.397Q-38.432 58.614-38.003 58.614Q-37.639 58.614-37.343 58.385Q-37.046 58.157-36.944 57.805Q-36.936 57.758-36.850 57.743L-36.768 57.743Q-36.675 57.770-36.675 57.852Q-36.675 57.860-36.682 57.891Q-36.745 58.118-36.884 58.301Q-37.022 58.485-37.214 58.618Q-37.405 58.751-37.624 58.821Q-37.843 58.891-38.081 58.891Q-38.452 58.891-38.790 58.754Q-39.128 58.618-39.395 58.366Q-39.663 58.114-39.813 57.774Q-39.964 57.434-39.964 57.059M-39.210 56.751L-37.249 56.751Q-37.249 56.446-37.350 56.155Q-37.452 55.864-37.669 55.682Q-37.885 55.501-38.202 55.501Q-38.503 55.501-38.733 55.688Q-38.964 55.876-39.087 56.167Q-39.210 56.458-39.210 56.751M-34.178 58.813L-36.159 58.813L-36.159 58.516Q-35.889 58.516-35.721 58.471Q-35.553 58.426-35.553 58.254L-35.553 56.118Q-35.553 55.903-35.616 55.807Q-35.678 55.711-35.796 55.690Q-35.913 55.668-36.159 55.668L-36.159 55.372L-34.991 55.286L-34.991 56.071Q-34.913 55.860-34.760 55.674Q-34.608 55.489-34.409 55.387Q-34.210 55.286-33.983 55.286Q-33.737 55.286-33.546 55.430Q-33.354 55.575-33.354 55.805Q-33.354 55.961-33.460 56.071Q-33.565 56.180-33.721 56.180Q-33.878 56.180-33.987 56.071Q-34.096 55.961-34.096 55.805Q-34.096 55.645-33.991 55.540Q-34.315 55.540-34.530 55.768Q-34.745 55.997-34.841 56.336Q-34.936 56.676-34.936 56.981L-34.936 58.254Q-34.936 58.422-34.710 58.469Q-34.483 58.516-34.178 58.516",[1380],[1577,1578,1581,1582,1616,1617,1692],"figcaption",{"className":1579},[1580],"tikz-cap","Subset lattice for ",[399,1583,1585],{"className":1584},[402],[399,1586,1588,1606],{"className":1587,"ariaHidden":407},[406],[399,1589,1591,1594,1597,1600,1603],{"className":1590},[411],[399,1592],{"className":1593,"style":477},[415],[399,1595,460],{"className":1596},[420,459],[399,1598],{"className":1599,"style":588},[528],[399,1601,1018],{"className":1602},[592],[399,1604],{"className":1605,"style":588},[528],[399,1607,1609,1612],{"className":1608},[411],[399,1610],{"className":1611,"style":603},[415],[399,1613,1615],{"className":1614},[420],"3",": each edge adds one bit, so ",[399,1618,1620],{"className":1619},[402],[399,1621,1623,1645,1680],{"className":1622,"ariaHidden":407},[406],[399,1624,1626,1629,1635,1638,1642],{"className":1625},[411],[399,1627],{"className":1628,"style":510},[415],[399,1630,1632],{"className":1631},[420,749],[399,1633,928],{"className":1634},[420],[399,1636],{"className":1637,"style":588},[528],[399,1639,1641],{"className":1640},[592],"∣",[399,1643],{"className":1644,"style":588},[528],[399,1646,1648,1651,1654,1657,1664,1667,1670,1673,1677],{"className":1647},[411],[399,1649],{"className":1650,"style":510},[415],[399,1652,670],{"className":1653},[514],[399,1655,774],{"className":1656},[420],[399,1658,1660],{"className":1659},[420],[399,1661,1663],{"className":1662},[592],"≪",[399,1665,1341],{"className":1666,"style":1340},[420,459],[399,1668,563],{"className":1669},[562],[399,1671],{"className":1672,"style":588},[528],[399,1674,1676],{"className":1675},[592],">",[399,1678],{"className":1679,"style":588},[528],[399,1681,1683,1686],{"className":1682},[411],[399,1684],{"className":1685,"style":921},[415],[399,1687,1689],{"className":1688},[420,749],[399,1690,928],{"className":1691},[420]," — increasing integer order visits every subset after its proper subsets",[781,1694,1696],{"id":1695},"heldkarp-the-traveling-salesman-archetype","Held–Karp: the traveling salesman archetype",[381,1698,1699,1700,1703,1704,1707,1708,1723,1724,1758,1759,1774,1775,1790,1791,1831,1832,1835,1836,1839],{},"The cleanest bitmask DP is ",[390,1701,1702],{},"Held–Karp"," for the traveling salesman problem,\nwhich is itself ",[768,1705,1706],{"href":364},"NP-hard"," so no\npolynomial algorithm is known.\nGiven ",[399,1709,1711],{"className":1710},[402],[399,1712,1714],{"className":1713,"ariaHidden":407},[406],[399,1715,1717,1720],{"className":1716},[411],[399,1718],{"className":1719,"style":477},[415],[399,1721,460],{"className":1722},[420,459]," cities and pairwise distances ",[399,1725,1727],{"className":1726},[402],[399,1728,1730],{"className":1729,"ariaHidden":407},[406],[399,1731,1733,1736,1740,1743,1746,1749,1752,1755],{"className":1732},[411],[399,1734],{"className":1735,"style":510},[415],[399,1737,1739],{"className":1738},[420,459],"d",[399,1741,670],{"className":1742},[514],[399,1744,804],{"className":1745},[420,459],[399,1747,524],{"className":1748},[523],[399,1750],{"className":1751,"style":529},[528],[399,1753,1341],{"className":1754,"style":1340},[420,459],[399,1756,563],{"className":1757},[562],", find the shortest tour that\nstarts at city ",[399,1760,1762],{"className":1761},[402],[399,1763,1765],{"className":1764,"ariaHidden":407},[406],[399,1766,1768,1771],{"className":1767},[411],[399,1769],{"className":1770,"style":603},[415],[399,1772,519],{"className":1773},[420],", visits every city exactly once, and returns to ",[399,1776,1778],{"className":1777},[402],[399,1779,1781],{"className":1780,"ariaHidden":407},[406],[399,1782,1784,1787],{"className":1783},[411],[399,1785],{"className":1786,"style":603},[415],[399,1788,519],{"className":1789},[420],". Brute\nforce tries all ",[399,1792,1794],{"className":1793},[402],[399,1795,1797,1818],{"className":1796,"ariaHidden":407},[406],[399,1798,1800,1803,1806,1809,1812,1815],{"className":1799},[411],[399,1801],{"className":1802,"style":510},[415],[399,1804,670],{"className":1805},[514],[399,1807,460],{"className":1808},[420,459],[399,1810],{"className":1811,"style":731},[528],[399,1813,1005],{"className":1814},[735],[399,1816],{"className":1817,"style":731},[528],[399,1819,1821,1824,1827],{"className":1820},[411],[399,1822],{"className":1823,"style":510},[415],[399,1825,774],{"className":1826},[420],[399,1828,1830],{"className":1829},[562],")!"," orderings. The DP observation is that a partial tour is\nfully summarized by ",[390,1833,1834],{},"which cities it has visited"," and ",[390,1837,1838],{},"where it currently\nends","; the order in which the visited cities were reached is irrelevant to how\ncheaply we can finish.",[1841,1842,1844],"callout",{"type":1843},"definition",[381,1845,1846,939,1849,1889,1890,1905,1906,1909,1910,1912,1913,1928,1929,1944,1945,1960,1961,1079],{},[390,1847,1848],{},"Definition (State).",[399,1850,1852],{"className":1851},[402],[399,1853,1855],{"className":1854,"ariaHidden":407},[406],[399,1856,1858,1861,1864,1867,1870,1876,1880,1883,1886],{"className":1857},[411],[399,1859],{"className":1860,"style":510},[415],[399,1862,1739],{"className":1863},[420,459],[399,1865,381],{"className":1866},[420,459],[399,1868,515],{"className":1869},[514],[399,1871,1873],{"className":1872},[420,749],[399,1874,928],{"className":1875},[420],[399,1877,1879],{"className":1878},[562],"]",[399,1881,515],{"className":1882},[514],[399,1884,804],{"className":1885},[420,459],[399,1887,1879],{"className":1888},[562]," = the minimum cost of a path that starts at city\n",[399,1891,1893],{"className":1892},[402],[399,1894,1896],{"className":1895,"ariaHidden":407},[406],[399,1897,1899,1902],{"className":1898},[411],[399,1900],{"className":1901,"style":603},[415],[399,1903,519],{"className":1904},[420],", visits ",[385,1907,1908],{},"exactly"," the set of cities in ",[931,1911,928],{},", and currently ends at city\n",[399,1914,1916],{"className":1915},[402],[399,1917,1919],{"className":1918,"ariaHidden":407},[406],[399,1920,1922,1925],{"className":1921},[411],[399,1923],{"className":1924,"style":800},[415],[399,1926,804],{"className":1927},[420,459]," (so bit ",[399,1930,1932],{"className":1931},[402],[399,1933,1935],{"className":1934,"ariaHidden":407},[406],[399,1936,1938,1941],{"className":1937},[411],[399,1939],{"className":1940,"style":800},[415],[399,1942,804],{"className":1943},[420,459]," and bit ",[399,1946,1948],{"className":1947},[402],[399,1949,1951],{"className":1950,"ariaHidden":407},[406],[399,1952,1954,1957],{"className":1953},[411],[399,1955],{"className":1956,"style":603},[415],[399,1958,519],{"className":1959},[420]," are both set in ",[931,1962,928],{},[381,1964,1965,1966,1969,1970,2003],{},"This is where the exponential collapse happens: many distinct visit ",[385,1967,1968],{},"orders"," reach\nthe very same ",[399,1971,1973],{"className":1972},[402],[399,1974,1976],{"className":1975,"ariaHidden":407},[406],[399,1977,1979,1982,1985,1991,1994,1997,2000],{"className":1978},[411],[399,1980],{"className":1981,"style":510},[415],[399,1983,670],{"className":1984},[514],[399,1986,1988],{"className":1987},[420,749],[399,1989,928],{"className":1990},[420],[399,1992,524],{"className":1993},[523],[399,1995],{"className":1996,"style":529},[528],[399,1998,804],{"className":1999},[420,459],[399,2001,563],{"className":2002},[562],", and the DP keeps only the cheapest, solving each\nstate once instead of re-exploring every permutation.",[1351,2005,2007,2223],{"className":2006},[1354,1355],[1357,2008,2012],{"xmlns":1359,"width":2009,"height":2010,"viewBox":2011},"341.840","98.752","-75 -75 256.380 74.064",[1364,2013,2014,2017,2025,2028,2035,2038,2045,2058,2061,2064,2067,2070,2073,2076,2079,2085,2088,2094,2097,2103,2114,2117,2120,2123,2126,2129,2132,2165,2174,2182],{"stroke":1366,"style":1367},[1369,2015],{"fill":1371,"d":2016},"M-46.91-62.423a9.247 9.247 0 0 0-9.246-9.247 9.247 9.247 0 0 0-9.247 9.247 9.247 9.247 0 0 0 9.247 9.247 9.247 9.247 0 0 0 9.247-9.247Zm-9.246 0",[1364,2018,2020],{"transform":2019},"translate(-2.312 -21.285)",[1369,2021],{"d":2022,"fill":1366,"stroke":1366,"className":2023,"style":2024},"M-53.844-38.040Q-54.969-38.040-55.383-38.937Q-55.796-39.833-55.796-41.108Q-55.796-41.881-55.646-42.580Q-55.497-43.279-55.062-43.755Q-54.627-44.232-53.844-44.232Q-53.067-44.232-52.632-43.753Q-52.197-43.274-52.047-42.578Q-51.898-41.881-51.898-41.108Q-51.898-39.829-52.311-38.935Q-52.724-38.040-53.844-38.040M-53.844-38.300Q-53.326-38.300-53.075-38.811Q-52.825-39.323-52.768-39.934Q-52.711-40.545-52.711-41.253Q-52.711-41.938-52.768-42.498Q-52.825-43.059-53.078-43.516Q-53.330-43.973-53.844-43.973Q-54.249-43.973-54.486-43.696Q-54.723-43.419-54.831-42.978Q-54.939-42.536-54.963-42.143Q-54.987-41.749-54.987-41.253Q-54.987-40.747-54.963-40.319Q-54.939-39.890-54.831-39.407Q-54.723-38.924-54.484-38.612Q-54.244-38.300-53.844-38.300",[1380],"stroke-width:0.270",[1369,2026],{"fill":1371,"d":2027},"M-11.343-62.423a9.247 9.247 0 0 0-9.247-9.247 9.247 9.247 0 0 0-9.247 9.247 9.247 9.247 0 0 0 9.247 9.247 9.247 9.247 0 0 0 9.247-9.247Zm-9.247 0",[1364,2029,2031],{"transform":2030},"translate(33.253 -21.285)",[1369,2032],{"d":2033,"fill":1366,"stroke":1366,"className":2034,"style":2024},"M-52.249-38.238L-55.281-38.238L-55.281-38.554Q-54.130-38.554-54.130-38.849L-54.130-43.573Q-54.618-43.340-55.339-43.340L-55.339-43.656Q-54.209-43.656-53.647-44.232L-53.502-44.232Q-53.467-44.232-53.434-44.199Q-53.401-44.166-53.401-44.131L-53.401-38.849Q-53.401-38.554-52.249-38.554",[1380],[1369,2036],{"fill":1371,"d":2037},"M24.223-62.423a9.247 9.247 0 0 0-9.247-9.247 9.247 9.247 0 0 0-9.247 9.247 9.247 9.247 0 0 0 9.247 9.247 9.247 9.247 0 0 0 9.247-9.247Zm-9.247 0",[1364,2039,2041],{"transform":2040},"translate(68.82 -21.285)",[1369,2042],{"d":2043,"fill":1366,"stroke":1366,"className":2044,"style":2024},"M-52.249-38.238L-55.699-38.238L-55.699-38.471Q-55.699-38.484-55.668-38.515L-54.214-40.092Q-53.748-40.589-53.495-40.894Q-53.242-41.200-53.051-41.611Q-52.860-42.022-52.860-42.461Q-52.860-43.050-53.183-43.483Q-53.506-43.916-54.086-43.916Q-54.350-43.916-54.596-43.806Q-54.842-43.696-55.018-43.509Q-55.194-43.322-55.290-43.072L-55.211-43.072Q-55.009-43.072-54.866-42.936Q-54.723-42.800-54.723-42.584Q-54.723-42.378-54.866-42.239Q-55.009-42.101-55.211-42.101Q-55.413-42.101-55.556-42.244Q-55.699-42.386-55.699-42.584Q-55.699-43.046-55.462-43.419Q-55.224-43.793-54.824-44.012Q-54.425-44.232-53.976-44.232Q-53.453-44.232-52.999-44.017Q-52.544-43.801-52.271-43.402Q-51.999-43.002-51.999-42.461Q-51.999-42.066-52.170-41.712Q-52.342-41.358-52.607-41.079Q-52.873-40.800-53.324-40.415Q-53.774-40.031-53.853-39.956L-54.877-38.994L-54.060-38.994Q-53.409-38.994-52.972-39.005Q-52.535-39.016-52.504-39.038Q-52.434-39.121-52.379-39.361Q-52.324-39.600-52.284-39.868L-51.999-39.868",[1380],[1364,2046,2048,2051],{"stroke":1529,"style":2047},"stroke-width:1.2",[1369,2049],{"fill":1371,"d":2050},"M59.789-62.423a9.247 9.247 0 0 0-9.247-9.247 9.247 9.247 0 0 0-9.248 9.247 9.247 9.247 0 0 0 9.248 9.247 9.247 9.247 0 0 0 9.247-9.247Zm-9.247 0",[1364,2052,2054],{"transform":2053},"translate(104.385 -21.285)",[1369,2055],{"d":2056,"fill":1366,"stroke":1366,"className":2057,"style":2024},"M-55.255-38.959L-55.299-38.959Q-55.097-38.642-54.710-38.484Q-54.323-38.326-53.897-38.326Q-53.361-38.326-53.122-38.761Q-52.882-39.196-52.882-39.776Q-52.882-40.356-53.128-40.796Q-53.374-41.235-53.906-41.235L-54.526-41.235Q-54.552-41.235-54.585-41.264Q-54.618-41.292-54.618-41.314L-54.618-41.415Q-54.618-41.446-54.589-41.470Q-54.561-41.494-54.526-41.494L-54.007-41.534Q-53.541-41.534-53.295-42.006Q-53.049-42.479-53.049-42.997Q-53.049-43.424-53.262-43.698Q-53.475-43.973-53.897-43.973Q-54.240-43.973-54.565-43.843Q-54.890-43.714-55.075-43.459L-55.049-43.459Q-54.846-43.459-54.710-43.318Q-54.574-43.177-54.574-42.980Q-54.574-42.782-54.708-42.648Q-54.842-42.514-55.040-42.514Q-55.242-42.514-55.380-42.648Q-55.519-42.782-55.519-42.980Q-55.519-43.569-55.016-43.900Q-54.512-44.232-53.897-44.232Q-53.519-44.232-53.117-44.092Q-52.715-43.951-52.447-43.672Q-52.179-43.393-52.179-42.997Q-52.179-42.448-52.533-42.011Q-52.886-41.573-53.427-41.389Q-53.036-41.310-52.691-41.086Q-52.346-40.862-52.135-40.521Q-51.924-40.180-51.924-39.785Q-51.924-39.403-52.087-39.080Q-52.249-38.757-52.541-38.521Q-52.834-38.286-53.181-38.163Q-53.528-38.040-53.897-38.040Q-54.345-38.040-54.776-38.201Q-55.207-38.361-55.488-38.688Q-55.769-39.016-55.769-39.473Q-55.769-39.688-55.622-39.831Q-55.475-39.974-55.255-39.974Q-55.044-39.974-54.899-39.829Q-54.754-39.684-54.754-39.473Q-54.754-39.262-54.901-39.110Q-55.049-38.959-55.255-38.959",[1380],[1369,2059],{"fill":1371,"d":2060},"M-46.71-62.423h14.673",[1369,2062],{"stroke":1371,"d":2063},"m-30.037-62.423-3.2-1.6 1.2 1.6-1.2 1.6",[1369,2065],{"fill":1371,"d":2066},"M-11.143-62.423H3.529",[1369,2068],{"stroke":1371,"d":2069},"m5.529-62.423-3.2-1.6 1.2 1.6-1.2 1.6",[1369,2071],{"fill":1371,"d":2072},"M24.423-62.423h14.271",[1369,2074],{"stroke":1371,"d":2075},"m40.694-62.423-3.2-1.6 1.2 1.6-1.2 1.6",[1369,2077],{"fill":1371,"d":2078},"M-46.91-14.053a9.247 9.247 0 0 0-9.246-9.247 9.247 9.247 0 0 0-9.247 9.247 9.247 9.247 0 0 0 9.247 9.247 9.247 9.247 0 0 0 9.247-9.247Zm-9.246 0",[1364,2080,2082],{"transform":2081},"translate(-2.312 27.085)",[1369,2083],{"d":2022,"fill":1366,"stroke":1366,"className":2084,"style":2024},[1380],[1369,2086],{"fill":1371,"d":2087},"M-11.343-14.053A9.247 9.247 0 0 0-20.59-23.3a9.247 9.247 0 0 0-9.247 9.247 9.247 9.247 0 0 0 9.247 9.247 9.247 9.247 0 0 0 9.247-9.247Zm-9.247 0",[1364,2089,2091],{"transform":2090},"translate(33.253 27.085)",[1369,2092],{"d":2043,"fill":1366,"stroke":1366,"className":2093,"style":2024},[1380],[1369,2095],{"fill":1371,"d":2096},"M24.223-14.053a9.247 9.247 0 0 0-9.247-9.247 9.247 9.247 0 0 0-9.247 9.247 9.247 9.247 0 0 0 9.247 9.247 9.247 9.247 0 0 0 9.247-9.247Zm-9.247 0",[1364,2098,2100],{"transform":2099},"translate(68.82 27.085)",[1369,2101],{"d":2033,"fill":1366,"stroke":1366,"className":2102,"style":2024},[1380],[1364,2104,2105,2108],{"stroke":1529,"style":2047},[1369,2106],{"fill":1371,"d":2107},"M59.789-14.053a9.247 9.247 0 0 0-9.247-9.247 9.247 9.247 0 0 0-9.248 9.247 9.247 9.247 0 0 0 9.248 9.247 9.247 9.247 0 0 0 9.247-9.247Zm-9.247 0",[1364,2109,2111],{"transform":2110},"translate(104.385 27.085)",[1369,2112],{"d":2056,"fill":1366,"stroke":1366,"className":2113,"style":2024},[1380],[1369,2115],{"fill":1371,"d":2116},"M-46.71-14.053h14.673",[1369,2118],{"stroke":1371,"d":2119},"m-30.037-14.053-3.2-1.6 1.2 1.6-1.2 1.6",[1369,2121],{"fill":1371,"d":2122},"M-11.143-14.053H3.529",[1369,2124],{"stroke":1371,"d":2125},"m5.529-14.053-3.2-1.6 1.2 1.6-1.2 1.6",[1369,2127],{"fill":1371,"d":2128},"M24.423-14.053h14.271",[1369,2130],{"stroke":1371,"d":2131},"m40.694-14.053-3.2-1.6 1.2 1.6-1.2 1.6",[1364,2133,2134,2137],{"fill":1444,"stroke":1529,"style":2047},[1369,2135],{"d":2136},"M176.51-45.738h-49.922a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h49.922a1 1 0 0 0 1-1v-13a1 1 0 0 0-1-1Zm-50.922 15",[1364,2138,2140,2147,2153,2159],{"fill":1366,"stroke":1371,"fontSize":2139},"9",[1364,2141,2143],{"transform":2142},"translate(184.744 2.25)",[1369,2144],{"d":2145,"fill":1366,"stroke":1366,"className":2146,"style":2024},"M-54.534-38.137Q-54.930-38.137-55.216-38.341Q-55.501-38.546-55.648-38.880Q-55.796-39.214-55.796-39.605Q-55.796-40.040-55.622-40.501Q-55.448-40.963-55.136-41.354Q-54.824-41.745-54.414-41.980Q-54.003-42.215-53.563-42.215Q-53.295-42.215-53.078-42.077Q-52.860-41.938-52.728-41.692L-52.223-43.709Q-52.188-43.859-52.188-43.933Q-52.188-44.070-52.755-44.070Q-52.851-44.070-52.851-44.188Q-52.851-44.245-52.821-44.316Q-52.790-44.386-52.728-44.386L-51.502-44.483Q-51.449-44.483-51.419-44.454Q-51.388-44.425-51.388-44.377L-51.388-44.342L-52.671-39.192Q-52.671-39.134-52.700-39.003Q-52.728-38.871-52.728-38.796Q-52.728-38.401-52.465-38.401Q-52.179-38.401-52.045-38.724Q-51.911-39.047-51.792-39.552Q-51.783-39.583-51.759-39.607Q-51.735-39.631-51.700-39.631L-51.594-39.631Q-51.546-39.631-51.524-39.598Q-51.502-39.565-51.502-39.517Q-51.616-39.086-51.707-38.833Q-51.797-38.581-51.990-38.359Q-52.183-38.137-52.482-38.137Q-52.790-38.137-53.038-38.308Q-53.286-38.480-53.357-38.770Q-53.612-38.484-53.908-38.311Q-54.205-38.137-54.534-38.137M-54.517-38.401Q-54.187-38.401-53.877-38.642Q-53.568-38.884-53.357-39.200Q-53.348-39.209-53.348-39.236L-52.851-41.191Q-52.908-41.508-53.100-41.732Q-53.291-41.956-53.581-41.956Q-53.950-41.956-54.249-41.637Q-54.548-41.319-54.715-40.910Q-54.851-40.563-54.976-40.053Q-55.101-39.543-55.101-39.218Q-55.101-38.893-54.963-38.647Q-54.824-38.401-54.517-38.401M-49.810-36.493L-51.555-36.493Q-51.590-36.493-51.623-36.531Q-51.656-36.568-51.656-36.599Q-51.656-36.669-51.623-36.737Q-51.590-36.805-51.529-36.805Q-51.234-36.805-51.129-36.856Q-51.023-36.906-50.962-37.139L-49.951-41.165Q-49.951-41.204-49.925-41.345Q-49.898-41.486-49.898-41.560Q-49.898-41.956-50.162-41.956Q-50.448-41.956-50.582-41.633Q-50.716-41.310-50.834-40.804Q-50.852-40.721-50.927-40.721L-51.032-40.721Q-51.080-40.721-51.102-40.760Q-51.124-40.800-51.124-40.840Q-50.962-41.459-50.762-41.837Q-50.562-42.215-50.140-42.215Q-49.828-42.215-49.588-42.048Q-49.349-41.881-49.279-41.587Q-48.698-42.215-48.092-42.215Q-47.697-42.215-47.411-42.011Q-47.125-41.806-46.978-41.472Q-46.831-41.138-46.831-40.747Q-46.831-40.321-47.004-39.857Q-47.178-39.394-47.486-39.003Q-47.793-38.612-48.206-38.374Q-48.619-38.137-49.063-38.137Q-49.331-38.137-49.547-38.278Q-49.762-38.418-49.898-38.660L-50.294-37.078Q-50.302-37.025-50.311-36.983Q-50.320-36.942-50.320-36.915Q-50.320-36.805-49.744-36.805Q-49.700-36.805-49.674-36.775Q-49.648-36.744-49.648-36.691Q-49.648-36.493-49.810-36.493M-49.046-38.401Q-48.677-38.401-48.373-38.724Q-48.070-39.047-47.912-39.442Q-47.767-39.798-47.646-40.306Q-47.525-40.813-47.525-41.134Q-47.525-41.464-47.668-41.710Q-47.811-41.956-48.110-41.956Q-48.707-41.956-49.279-41.156Q-49.279-41.125-49.287-41.116L-49.775-39.165Q-49.709-38.844-49.527-38.623Q-49.344-38.401-49.046-38.401",[1380],[1364,2148,2149],{"transform":2142},[1369,2150],{"d":2151,"fill":1366,"stroke":1366,"className":2152,"style":2024},"M-44.360-35.988L-45.639-35.988L-45.639-44.988L-44.360-44.988L-44.360-44.601L-45.252-44.601L-45.252-36.375L-44.360-36.375",[1380],[1364,2154,2155],{"transform":2142},[1369,2156],{"d":2157,"fill":1366,"stroke":1366,"className":2158,"style":2024},"M-38.702-38.238L-41.734-38.238L-41.734-38.554Q-40.583-38.554-40.583-38.849L-40.583-43.573Q-41.071-43.340-41.792-43.340L-41.792-43.656Q-40.662-43.656-40.100-44.232L-39.955-44.232Q-39.920-44.232-39.887-44.199Q-39.854-44.166-39.854-44.131L-39.854-38.849Q-39.854-38.554-38.702-38.554L-38.702-38.238M-34.084-38.238L-37.116-38.238L-37.116-38.554Q-35.964-38.554-35.964-38.849L-35.964-43.573Q-36.452-43.340-37.173-43.340L-37.173-43.656Q-36.044-43.656-35.481-44.232L-35.336-44.232Q-35.301-44.232-35.268-44.199Q-35.235-44.166-35.235-44.131L-35.235-38.849Q-35.235-38.554-34.084-38.554L-34.084-38.238M-29.465-38.238L-32.497-38.238L-32.497-38.554Q-31.346-38.554-31.346-38.849L-31.346-43.573Q-31.834-43.340-32.554-43.340L-32.554-43.656Q-31.425-43.656-30.862-44.232L-30.717-44.232Q-30.682-44.232-30.649-44.199Q-30.616-44.166-30.616-44.131L-30.616-38.849Q-30.616-38.554-29.465-38.554L-29.465-38.238M-24.846-38.238L-27.879-38.238L-27.879-38.554Q-26.727-38.554-26.727-38.849L-26.727-43.573Q-27.215-43.340-27.936-43.340L-27.936-43.656Q-26.806-43.656-26.244-44.232L-26.099-44.232Q-26.064-44.232-26.031-44.199Q-25.998-44.166-25.998-44.131L-25.998-38.849Q-25.998-38.554-24.846-38.554",[1380],[1364,2160,2161],{"transform":2142},[1369,2162],{"d":2163,"fill":1366,"stroke":1366,"className":2164,"style":2024},"M-21.091-35.988L-22.370-35.988L-22.370-36.375L-21.478-36.375L-21.478-44.601L-22.370-44.601L-22.370-44.988L-21.091-44.988L-21.091-35.988M-17.642-35.988L-18.921-35.988L-18.921-44.988L-17.642-44.988L-17.642-44.601L-18.534-44.601L-18.534-36.375L-17.642-36.375L-17.642-35.988M-16.534-38.959L-16.578-38.959Q-16.376-38.642-15.989-38.484Q-15.603-38.326-15.176-38.326Q-14.640-38.326-14.401-38.761Q-14.161-39.196-14.161-39.776Q-14.161-40.356-14.407-40.796Q-14.653-41.235-15.185-41.235L-15.805-41.235Q-15.831-41.235-15.864-41.264Q-15.897-41.292-15.897-41.314L-15.897-41.415Q-15.897-41.446-15.869-41.470Q-15.840-41.494-15.805-41.494L-15.286-41.534Q-14.820-41.534-14.574-42.006Q-14.328-42.479-14.328-42.997Q-14.328-43.424-14.541-43.698Q-14.755-43.973-15.176-43.973Q-15.519-43.973-15.844-43.843Q-16.170-43.714-16.354-43.459L-16.328-43.459Q-16.126-43.459-15.989-43.318Q-15.853-43.177-15.853-42.980Q-15.853-42.782-15.987-42.648Q-16.121-42.514-16.319-42.514Q-16.521-42.514-16.660-42.648Q-16.798-42.782-16.798-42.980Q-16.798-43.569-16.295-43.900Q-15.792-44.232-15.176-44.232Q-14.798-44.232-14.396-44.092Q-13.994-43.951-13.726-43.672Q-13.458-43.393-13.458-42.997Q-13.458-42.448-13.812-42.011Q-14.166-41.573-14.706-41.389Q-14.315-41.310-13.970-41.086Q-13.625-40.862-13.414-40.521Q-13.203-40.180-13.203-39.785Q-13.203-39.403-13.366-39.080Q-13.528-38.757-13.821-38.521Q-14.113-38.286-14.460-38.163Q-14.807-38.040-15.176-38.040Q-15.625-38.040-16.055-38.201Q-16.486-38.361-16.767-38.688Q-17.048-39.016-17.048-39.473Q-17.048-39.688-16.901-39.831Q-16.754-39.974-16.534-39.974Q-16.323-39.974-16.178-39.829Q-16.033-39.684-16.033-39.473Q-16.033-39.262-16.181-39.110Q-16.328-38.959-16.534-38.959M-11.340-35.988L-12.619-35.988L-12.619-36.375L-11.727-36.375L-11.727-44.601L-12.619-44.601L-12.619-44.988L-11.340-44.988",[1380],[1364,2166,2168,2171],{"fill":1529,"stroke":1529,"style":2167},"stroke-width:.8",[1369,2169],{"fill":1371,"d":2170},"M60.389-62.423c26.976 0 41.237 10.697 62.347 22.885",[1369,2172],{"stroke":1371,"d":2173},"m124.988-38.238-2.563-3.881.311 2.581-2.39 1.021",[1364,2175,2176,2179],{"fill":1529,"stroke":1529,"style":2167},[1369,2177],{"fill":1371,"d":2178},"M60.389-14.053c26.976 0 41.237-10.697 62.347-22.885",[1369,2180],{"stroke":1371,"d":2181},"m124.988-38.238-4.643.279 2.391 1.021-.31 2.581",[1364,2183,2184],{"fill":1529,"stroke":1529},[1364,2185,2186,2193,2199,2205,2211,2217],{"fill":1529,"stroke":1371,"fontFamily":1556,"fontSize":1532},[1364,2187,2189],{"transform":2188},"translate(136.627 11.96)",[1369,2190],{"d":2191,"fill":1529,"stroke":1529,"className":2192,"style":1381},"M-54.482-57.246L-54.482-58.468Q-54.482-58.496-54.450-58.527Q-54.419-58.558-54.396-58.558L-54.290-58.558Q-54.220-58.558-54.204-58.496Q-54.142-58.175-54.003-57.935Q-53.865-57.695-53.632-57.554Q-53.400-57.414-53.091-57.414Q-52.853-57.414-52.644-57.474Q-52.435-57.535-52.298-57.683Q-52.161-57.832-52.161-58.078Q-52.161-58.332-52.372-58.498Q-52.583-58.664-52.853-58.718L-53.474-58.832Q-53.880-58.910-54.181-59.166Q-54.482-59.422-54.482-59.797Q-54.482-60.164-54.281-60.386Q-54.079-60.609-53.755-60.707Q-53.431-60.804-53.091-60.804Q-52.626-60.804-52.329-60.597L-52.107-60.781Q-52.083-60.804-52.052-60.804L-52.001-60.804Q-51.970-60.804-51.943-60.777Q-51.915-60.750-51.915-60.718L-51.915-59.734Q-51.915-59.703-51.941-59.674Q-51.966-59.644-52.001-59.644L-52.107-59.644Q-52.142-59.644-52.169-59.672Q-52.197-59.699-52.197-59.734Q-52.197-60.133-52.449-60.353Q-52.700-60.574-53.099-60.574Q-53.454-60.574-53.738-60.451Q-54.021-60.328-54.021-60.023Q-54.021-59.804-53.820-59.672Q-53.618-59.539-53.372-59.496L-52.747-59.383Q-52.318-59.293-52.009-58.996Q-51.700-58.699-51.700-58.285Q-51.700-57.715-52.099-57.437Q-52.497-57.160-53.091-57.160Q-53.642-57.160-53.993-57.496L-54.290-57.183Q-54.314-57.160-54.349-57.160L-54.396-57.160Q-54.419-57.160-54.450-57.191Q-54.482-57.222-54.482-57.246M-51.075-58.070Q-51.075-58.554-50.673-58.849Q-50.271-59.144-49.720-59.263Q-49.169-59.383-48.677-59.383L-48.677-59.672Q-48.677-59.898-48.792-60.105Q-48.908-60.312-49.105-60.431Q-49.302-60.550-49.533-60.550Q-49.958-60.550-50.243-60.445Q-50.173-60.418-50.126-60.363Q-50.079-60.308-50.054-60.238Q-50.029-60.168-50.029-60.093Q-50.029-59.988-50.079-59.896Q-50.130-59.804-50.222-59.754Q-50.314-59.703-50.419-59.703Q-50.525-59.703-50.617-59.754Q-50.708-59.804-50.759-59.896Q-50.810-59.988-50.810-60.093Q-50.810-60.511-50.421-60.658Q-50.033-60.804-49.533-60.804Q-49.200-60.804-48.847-60.674Q-48.493-60.543-48.265-60.289Q-48.036-60.035-48.036-59.687L-48.036-57.886Q-48.036-57.754-47.964-57.644Q-47.892-57.535-47.763-57.535Q-47.638-57.535-47.570-57.640Q-47.501-57.746-47.501-57.886L-47.501-58.398L-47.220-58.398L-47.220-57.886Q-47.220-57.683-47.337-57.525Q-47.454-57.367-47.636-57.283Q-47.818-57.199-48.021-57.199Q-48.251-57.199-48.404-57.371Q-48.556-57.543-48.587-57.773Q-48.747-57.492-49.056-57.326Q-49.365-57.160-49.716-57.160Q-50.228-57.160-50.652-57.383Q-51.075-57.605-51.075-58.070M-50.388-58.070Q-50.388-57.785-50.161-57.599Q-49.935-57.414-49.642-57.414Q-49.396-57.414-49.171-57.531Q-48.947-57.648-48.812-57.851Q-48.677-58.054-48.677-58.308L-48.677-59.140Q-48.943-59.140-49.228-59.086Q-49.513-59.031-49.784-58.902Q-50.056-58.773-50.222-58.566Q-50.388-58.359-50.388-58.070M-44.997-57.238L-46.853-57.238L-46.853-57.535Q-46.579-57.535-46.411-57.582Q-46.243-57.629-46.243-57.797L-46.243-59.933Q-46.243-60.148-46.306-60.244Q-46.368-60.340-46.488-60.361Q-46.607-60.383-46.853-60.383L-46.853-60.679L-45.661-60.765L-45.661-60.031Q-45.548-60.246-45.355-60.414Q-45.161-60.582-44.923-60.674Q-44.685-60.765-44.431-60.765Q-43.470-60.765-43.294-60.054Q-43.111-60.383-42.783-60.574Q-42.454-60.765-42.075-60.765Q-40.900-60.765-40.900-59.687L-40.900-57.797Q-40.900-57.629-40.732-57.582Q-40.564-57.535-40.294-57.535L-40.294-57.238L-42.150-57.238L-42.150-57.535Q-41.876-57.535-41.708-57.580Q-41.540-57.625-41.540-57.797L-41.540-59.672Q-41.540-60.058-41.665-60.285Q-41.790-60.511-42.142-60.511Q-42.447-60.511-42.702-60.349Q-42.958-60.187-43.107-59.918Q-43.255-59.648-43.255-59.351L-43.255-57.797Q-43.255-57.629-43.085-57.582Q-42.915-57.535-42.646-57.535L-42.646-57.238L-44.501-57.238L-44.501-57.535Q-44.228-57.535-44.060-57.582Q-43.892-57.629-43.892-57.797L-43.892-59.672Q-43.892-60.058-44.017-60.285Q-44.142-60.511-44.493-60.511Q-44.798-60.511-45.054-60.349Q-45.310-60.187-45.458-59.918Q-45.607-59.648-45.607-59.351L-45.607-57.797Q-45.607-57.629-45.437-57.582Q-45.267-57.535-44.997-57.535L-44.997-57.238M-39.849-58.992Q-39.849-59.472-39.617-59.888Q-39.384-60.304-38.974-60.554Q-38.564-60.804-38.087-60.804Q-37.357-60.804-36.958-60.363Q-36.560-59.922-36.560-59.191Q-36.560-59.086-36.654-59.062L-39.103-59.062L-39.103-58.992Q-39.103-58.582-38.982-58.226Q-38.861-57.871-38.589-57.654Q-38.318-57.437-37.888-57.437Q-37.525-57.437-37.228-57.666Q-36.931-57.894-36.829-58.246Q-36.822-58.293-36.736-58.308L-36.654-58.308Q-36.560-58.281-36.560-58.199Q-36.560-58.191-36.568-58.160Q-36.630-57.933-36.769-57.750Q-36.908-57.566-37.099-57.433Q-37.290-57.300-37.509-57.230Q-37.728-57.160-37.966-57.160Q-38.337-57.160-38.675-57.297Q-39.013-57.433-39.281-57.685Q-39.548-57.937-39.699-58.277Q-39.849-58.617-39.849-58.992M-39.095-59.300L-37.134-59.300Q-37.134-59.605-37.236-59.896Q-37.337-60.187-37.554-60.369Q-37.771-60.550-38.087-60.550Q-38.388-60.550-38.618-60.363Q-38.849-60.175-38.972-59.884Q-39.095-59.593-39.095-59.300",[1380],[1364,2194,2195],{"transform":2188},[1369,2196],{"d":2197,"fill":1529,"stroke":1529,"className":2198,"style":1381},"M-33.185-57.246L-33.185-58.468Q-33.185-58.496-33.154-58.527Q-33.122-58.558-33.099-58.558L-32.993-58.558Q-32.923-58.558-32.907-58.496Q-32.845-58.175-32.706-57.935Q-32.568-57.695-32.335-57.554Q-32.103-57.414-31.794-57.414Q-31.556-57.414-31.347-57.474Q-31.138-57.535-31.001-57.683Q-30.864-57.832-30.864-58.078Q-30.864-58.332-31.075-58.498Q-31.286-58.664-31.556-58.718L-32.177-58.832Q-32.583-58.910-32.884-59.166Q-33.185-59.422-33.185-59.797Q-33.185-60.164-32.984-60.386Q-32.782-60.609-32.458-60.707Q-32.134-60.804-31.794-60.804Q-31.329-60.804-31.032-60.597L-30.810-60.781Q-30.786-60.804-30.755-60.804L-30.704-60.804Q-30.673-60.804-30.646-60.777Q-30.618-60.750-30.618-60.718L-30.618-59.734Q-30.618-59.703-30.644-59.674Q-30.669-59.644-30.704-59.644L-30.810-59.644Q-30.845-59.644-30.872-59.672Q-30.900-59.699-30.900-59.734Q-30.900-60.133-31.152-60.353Q-31.404-60.574-31.802-60.574Q-32.157-60.574-32.441-60.451Q-32.724-60.328-32.724-60.023Q-32.724-59.804-32.523-59.672Q-32.321-59.539-32.075-59.496L-31.450-59.383Q-31.021-59.293-30.712-58.996Q-30.404-58.699-30.404-58.285Q-30.404-57.715-30.802-57.437Q-31.200-57.160-31.794-57.160Q-32.345-57.160-32.696-57.496L-32.993-57.183Q-33.017-57.160-33.052-57.160L-33.099-57.160Q-33.122-57.160-33.154-57.191Q-33.185-57.222-33.185-57.246M-29.876-58.992Q-29.876-59.472-29.644-59.888Q-29.411-60.304-29.001-60.554Q-28.591-60.804-28.114-60.804Q-27.384-60.804-26.986-60.363Q-26.587-59.922-26.587-59.191Q-26.587-59.086-26.681-59.062L-29.130-59.062L-29.130-58.992Q-29.130-58.582-29.009-58.226Q-28.888-57.871-28.616-57.654Q-28.345-57.437-27.915-57.437Q-27.552-57.437-27.255-57.666Q-26.958-57.894-26.857-58.246Q-26.849-58.293-26.763-58.308L-26.681-58.308Q-26.587-58.281-26.587-58.199Q-26.587-58.191-26.595-58.160Q-26.657-57.933-26.796-57.750Q-26.935-57.566-27.126-57.433Q-27.318-57.300-27.536-57.230Q-27.755-57.160-27.993-57.160Q-28.364-57.160-28.702-57.297Q-29.040-57.433-29.308-57.685Q-29.575-57.937-29.726-58.277Q-29.876-58.617-29.876-58.992M-29.122-59.300L-27.161-59.300Q-27.161-59.605-27.263-59.896Q-27.364-60.187-27.581-60.369Q-27.798-60.550-28.114-60.550Q-28.415-60.550-28.646-60.363Q-28.876-60.175-28.999-59.884Q-29.122-59.593-29.122-59.300M-25.474-58.199L-25.474-60.390L-26.177-60.390L-26.177-60.644Q-25.821-60.644-25.579-60.877Q-25.337-61.109-25.226-61.457Q-25.114-61.804-25.114-62.160L-24.833-62.160L-24.833-60.687L-23.657-60.687L-23.657-60.390L-24.833-60.390L-24.833-58.215Q-24.833-57.894-24.714-57.666Q-24.595-57.437-24.314-57.437Q-24.134-57.437-24.017-57.560Q-23.900-57.683-23.847-57.863Q-23.794-58.043-23.794-58.215L-23.794-58.687L-23.513-58.687L-23.513-58.199Q-23.513-57.945-23.618-57.705Q-23.724-57.465-23.921-57.312Q-24.118-57.160-24.376-57.160Q-24.693-57.160-24.945-57.283Q-25.196-57.406-25.335-57.640Q-25.474-57.875-25.474-58.199M-22.208-55.832Q-22.208-55.855-22.177-55.902Q-21.884-56.164-21.718-56.531Q-21.552-56.898-21.552-57.285L-21.552-57.343Q-21.681-57.238-21.849-57.238Q-22.040-57.238-22.177-57.371Q-22.314-57.504-22.314-57.703Q-22.314-57.894-22.177-58.027Q-22.040-58.160-21.849-58.160Q-21.548-58.160-21.423-57.890Q-21.298-57.621-21.298-57.285Q-21.298-56.836-21.480-56.422Q-21.661-56.008-22.001-55.711Q-22.025-55.687-22.064-55.687Q-22.111-55.687-22.159-55.732Q-22.208-55.777-22.208-55.832",[1380],[1364,2200,2201],{"transform":2188},[1369,2202],{"d":2203,"fill":1529,"stroke":1529,"className":2204,"style":1381},"M-55.875-47.746L-55.875-48.968Q-55.875-48.996-55.843-49.027Q-55.812-49.058-55.789-49.058L-55.683-49.058Q-55.613-49.058-55.597-48.996Q-55.535-48.675-55.396-48.435Q-55.258-48.195-55.025-48.054Q-54.793-47.914-54.484-47.914Q-54.246-47.914-54.037-47.974Q-53.828-48.035-53.691-48.183Q-53.554-48.332-53.554-48.578Q-53.554-48.832-53.765-48.998Q-53.976-49.164-54.246-49.218L-54.867-49.332Q-55.273-49.410-55.574-49.666Q-55.875-49.922-55.875-50.297Q-55.875-50.664-55.674-50.886Q-55.472-51.109-55.148-51.207Q-54.824-51.304-54.484-51.304Q-54.019-51.304-53.722-51.097L-53.500-51.281Q-53.476-51.304-53.445-51.304L-53.394-51.304Q-53.363-51.304-53.336-51.277Q-53.308-51.250-53.308-51.218L-53.308-50.234Q-53.308-50.203-53.334-50.174Q-53.359-50.144-53.394-50.144L-53.500-50.144Q-53.535-50.144-53.562-50.172Q-53.590-50.199-53.590-50.234Q-53.590-50.633-53.842-50.853Q-54.093-51.074-54.492-51.074Q-54.847-51.074-55.131-50.951Q-55.414-50.828-55.414-50.523Q-55.414-50.304-55.213-50.172Q-55.011-50.039-54.765-49.996L-54.140-49.883Q-53.711-49.793-53.402-49.496Q-53.093-49.199-53.093-48.785Q-53.093-48.215-53.492-47.937Q-53.890-47.660-54.484-47.660Q-55.035-47.660-55.386-47.996L-55.683-47.683Q-55.707-47.660-55.742-47.660L-55.789-47.660Q-55.812-47.660-55.843-47.691Q-55.875-47.722-55.875-47.746M-52.468-48.570Q-52.468-49.054-52.066-49.349Q-51.664-49.644-51.113-49.763Q-50.562-49.883-50.070-49.883L-50.070-50.172Q-50.070-50.398-50.185-50.605Q-50.301-50.812-50.498-50.931Q-50.695-51.050-50.926-51.050Q-51.351-51.050-51.636-50.945Q-51.566-50.918-51.519-50.863Q-51.472-50.808-51.447-50.738Q-51.422-50.668-51.422-50.593Q-51.422-50.488-51.472-50.396Q-51.523-50.304-51.615-50.254Q-51.707-50.203-51.812-50.203Q-51.918-50.203-52.010-50.254Q-52.101-50.304-52.152-50.396Q-52.203-50.488-52.203-50.593Q-52.203-51.011-51.814-51.158Q-51.426-51.304-50.926-51.304Q-50.593-51.304-50.240-51.174Q-49.886-51.043-49.658-50.789Q-49.429-50.535-49.429-50.187L-49.429-48.386Q-49.429-48.254-49.357-48.144Q-49.285-48.035-49.156-48.035Q-49.031-48.035-48.963-48.140Q-48.894-48.246-48.894-48.386L-48.894-48.898L-48.613-48.898L-48.613-48.386Q-48.613-48.183-48.730-48.025Q-48.847-47.867-49.029-47.783Q-49.211-47.699-49.414-47.699Q-49.644-47.699-49.797-47.871Q-49.949-48.043-49.980-48.273Q-50.140-47.992-50.449-47.826Q-50.758-47.660-51.109-47.660Q-51.621-47.660-52.045-47.883Q-52.468-48.105-52.468-48.570M-51.781-48.570Q-51.781-48.285-51.554-48.099Q-51.328-47.914-51.035-47.914Q-50.789-47.914-50.564-48.031Q-50.340-48.148-50.205-48.351Q-50.070-48.554-50.070-48.808L-50.070-49.640Q-50.336-49.640-50.621-49.586Q-50.906-49.531-51.177-49.402Q-51.449-49.273-51.615-49.066Q-51.781-48.859-51.781-48.570M-46.390-47.738L-48.246-47.738L-48.246-48.035Q-47.972-48.035-47.804-48.082Q-47.636-48.129-47.636-48.297L-47.636-50.433Q-47.636-50.648-47.699-50.744Q-47.761-50.840-47.881-50.861Q-48-50.883-48.246-50.883L-48.246-51.179L-47.054-51.265L-47.054-50.531Q-46.941-50.746-46.748-50.914Q-46.554-51.082-46.316-51.174Q-46.078-51.265-45.824-51.265Q-44.863-51.265-44.687-50.554Q-44.504-50.883-44.176-51.074Q-43.847-51.265-43.468-51.265Q-42.293-51.265-42.293-50.187L-42.293-48.297Q-42.293-48.129-42.125-48.082Q-41.957-48.035-41.687-48.035L-41.687-47.738L-43.543-47.738L-43.543-48.035Q-43.269-48.035-43.101-48.080Q-42.933-48.125-42.933-48.297L-42.933-50.172Q-42.933-50.558-43.058-50.785Q-43.183-51.011-43.535-51.011Q-43.840-51.011-44.095-50.849Q-44.351-50.687-44.500-50.418Q-44.648-50.148-44.648-49.851L-44.648-48.297Q-44.648-48.129-44.478-48.082Q-44.308-48.035-44.039-48.035L-44.039-47.738L-45.894-47.738L-45.894-48.035Q-45.621-48.035-45.453-48.082Q-45.285-48.129-45.285-48.297L-45.285-50.172Q-45.285-50.558-45.410-50.785Q-45.535-51.011-45.886-51.011Q-46.191-51.011-46.447-50.849Q-46.703-50.687-46.851-50.418Q-47-50.148-47-49.851L-47-48.297Q-47-48.129-46.830-48.082Q-46.660-48.035-46.390-48.035L-46.390-47.738M-41.242-49.492Q-41.242-49.972-41.010-50.388Q-40.777-50.804-40.367-51.054Q-39.957-51.304-39.480-51.304Q-38.750-51.304-38.351-50.863Q-37.953-50.422-37.953-49.691Q-37.953-49.586-38.047-49.562L-40.496-49.562L-40.496-49.492Q-40.496-49.082-40.375-48.726Q-40.254-48.371-39.982-48.154Q-39.711-47.937-39.281-47.937Q-38.918-47.937-38.621-48.166Q-38.324-48.394-38.222-48.746Q-38.215-48.793-38.129-48.808L-38.047-48.808Q-37.953-48.781-37.953-48.699Q-37.953-48.691-37.961-48.660Q-38.023-48.433-38.162-48.250Q-38.301-48.066-38.492-47.933Q-38.683-47.800-38.902-47.730Q-39.121-47.660-39.359-47.660Q-39.730-47.660-40.068-47.797Q-40.406-47.933-40.674-48.185Q-40.941-48.437-41.092-48.777Q-41.242-49.117-41.242-49.492M-40.488-49.800L-38.527-49.800Q-38.527-50.105-38.629-50.396Q-38.730-50.687-38.947-50.869Q-39.164-51.050-39.480-51.050Q-39.781-51.050-40.011-50.863Q-40.242-50.675-40.365-50.384Q-40.488-50.093-40.488-49.800",[1380],[1364,2206,2207],{"transform":2188},[1369,2208],{"d":2209,"fill":1529,"stroke":1529,"className":2210,"style":1381},"M-34.621-49.492Q-34.621-49.972-34.388-50.388Q-34.156-50.804-33.746-51.054Q-33.336-51.304-32.859-51.304Q-32.129-51.304-31.730-50.863Q-31.332-50.422-31.332-49.691Q-31.332-49.586-31.425-49.562L-33.875-49.562L-33.875-49.492Q-33.875-49.082-33.754-48.726Q-33.632-48.371-33.361-48.154Q-33.089-47.937-32.660-47.937Q-32.297-47.937-32-48.166Q-31.703-48.394-31.601-48.746Q-31.593-48.793-31.507-48.808L-31.425-48.808Q-31.332-48.781-31.332-48.699Q-31.332-48.691-31.339-48.660Q-31.402-48.433-31.541-48.250Q-31.679-48.066-31.871-47.933Q-32.062-47.800-32.281-47.730Q-32.500-47.660-32.738-47.660Q-33.109-47.660-33.447-47.797Q-33.785-47.933-34.052-48.185Q-34.320-48.437-34.470-48.777Q-34.621-49.117-34.621-49.492M-33.867-49.800L-31.906-49.800Q-31.906-50.105-32.007-50.396Q-32.109-50.687-32.326-50.869Q-32.543-51.050-32.859-51.050Q-33.160-51.050-33.390-50.863Q-33.621-50.675-33.744-50.384Q-33.867-50.093-33.867-49.800M-28.914-47.738L-30.769-47.738L-30.769-48.035Q-30.496-48.035-30.328-48.082Q-30.160-48.129-30.160-48.297L-30.160-50.433Q-30.160-50.648-30.222-50.744Q-30.285-50.840-30.404-50.861Q-30.523-50.883-30.769-50.883L-30.769-51.179L-29.578-51.265L-29.578-50.531Q-29.464-50.746-29.271-50.914Q-29.078-51.082-28.839-51.174Q-28.601-51.265-28.347-51.265Q-27.179-51.265-27.179-50.187L-27.179-48.297Q-27.179-48.129-27.009-48.082Q-26.839-48.035-26.570-48.035L-26.570-47.738L-28.425-47.738L-28.425-48.035Q-28.152-48.035-27.984-48.082Q-27.816-48.129-27.816-48.297L-27.816-50.172Q-27.816-50.554-27.937-50.783Q-28.058-51.011-28.410-51.011Q-28.722-51.011-28.976-50.849Q-29.230-50.687-29.377-50.418Q-29.523-50.148-29.523-49.851L-29.523-48.297Q-29.523-48.129-29.353-48.082Q-29.183-48.035-28.914-48.035L-28.914-47.738M-24.308-47.660Q-24.789-47.660-25.197-47.904Q-25.605-48.148-25.843-48.562Q-26.082-48.976-26.082-49.465Q-26.082-49.957-25.824-50.373Q-25.566-50.789-25.134-51.027Q-24.703-51.265-24.211-51.265Q-23.589-51.265-23.140-50.828L-23.140-52.457Q-23.140-52.672-23.203-52.767Q-23.265-52.863-23.382-52.884Q-23.500-52.906-23.746-52.906L-23.746-53.203L-22.523-53.289L-22.523-48.480Q-22.523-48.269-22.461-48.174Q-22.398-48.078-22.281-48.056Q-22.164-48.035-21.914-48.035L-21.914-47.738L-23.164-47.660L-23.164-48.144Q-23.629-47.660-24.308-47.660M-24.242-47.914Q-23.902-47.914-23.609-48.105Q-23.316-48.297-23.164-48.593L-23.164-50.425Q-23.312-50.699-23.574-50.855Q-23.836-51.011-24.148-51.011Q-24.773-51.011-25.056-50.564Q-25.339-50.117-25.339-49.457Q-25.339-48.812-25.088-48.363Q-24.836-47.914-24.242-47.914M-20.925-48.203Q-20.925-48.386-20.789-48.523Q-20.652-48.660-20.461-48.660Q-20.269-48.660-20.136-48.527Q-20.004-48.394-20.004-48.203Q-20.004-48.004-20.136-47.871Q-20.269-47.738-20.461-47.738Q-20.652-47.738-20.789-47.875Q-20.925-48.011-20.925-48.203M-20.925-50.730Q-20.925-50.914-20.789-51.050Q-20.652-51.187-20.461-51.187Q-20.269-51.187-20.136-51.054Q-20.004-50.922-20.004-50.730Q-20.004-50.531-20.136-50.398Q-20.269-50.265-20.461-50.265Q-20.652-50.265-20.789-50.402Q-20.925-50.539-20.925-50.730",[1380],[1364,2212,2213],{"transform":2188},[1369,2214],{"d":2215,"fill":1529,"stroke":1529,"className":2216,"style":1381},"M-54.265-39.933Q-54.265-40.437-54.009-40.869Q-53.753-41.300-53.317-41.552Q-52.882-41.804-52.382-41.804Q-51.995-41.804-51.653-41.660Q-51.312-41.515-51.050-41.254Q-50.788-40.992-50.646-40.656Q-50.503-40.320-50.503-39.933Q-50.503-39.441-50.767-39.031Q-51.030-38.621-51.460-38.390Q-51.890-38.160-52.382-38.160Q-52.874-38.160-53.308-38.392Q-53.741-38.625-54.003-39.033Q-54.265-39.441-54.265-39.933M-52.382-38.437Q-51.925-38.437-51.673-38.660Q-51.421-38.883-51.333-39.234Q-51.245-39.586-51.245-40.031Q-51.245-40.461-51.339-40.799Q-51.433-41.136-51.687-41.343Q-51.941-41.550-52.382-41.550Q-53.030-41.550-53.274-41.134Q-53.519-40.718-53.519-40.031Q-53.519-39.586-53.431-39.234Q-53.343-38.883-53.091-38.660Q-52.839-38.437-52.382-38.437M-48.089-38.238L-49.944-38.238L-49.944-38.535Q-49.671-38.535-49.503-38.582Q-49.335-38.629-49.335-38.797L-49.335-40.933Q-49.335-41.148-49.398-41.244Q-49.460-41.340-49.579-41.361Q-49.698-41.383-49.944-41.383L-49.944-41.679L-48.753-41.765L-48.753-41.031Q-48.640-41.246-48.446-41.414Q-48.253-41.582-48.015-41.674Q-47.776-41.765-47.523-41.765Q-46.355-41.765-46.355-40.687L-46.355-38.797Q-46.355-38.629-46.185-38.582Q-46.015-38.535-45.745-38.535L-45.745-38.238L-47.601-38.238L-47.601-38.535Q-47.327-38.535-47.159-38.582Q-46.991-38.629-46.991-38.797L-46.991-40.672Q-46.991-41.054-47.112-41.283Q-47.233-41.511-47.585-41.511Q-47.898-41.511-48.151-41.349Q-48.405-41.187-48.552-40.918Q-48.698-40.648-48.698-40.351L-48.698-38.797Q-48.698-38.629-48.528-38.582Q-48.358-38.535-48.089-38.535L-48.089-38.238M-45.300-39.992Q-45.300-40.472-45.067-40.888Q-44.835-41.304-44.425-41.554Q-44.015-41.804-43.538-41.804Q-42.808-41.804-42.409-41.363Q-42.011-40.922-42.011-40.191Q-42.011-40.086-42.105-40.062L-44.554-40.062L-44.554-39.992Q-44.554-39.582-44.433-39.226Q-44.312-38.871-44.040-38.654Q-43.769-38.437-43.339-38.437Q-42.976-38.437-42.679-38.666Q-42.382-38.894-42.280-39.246Q-42.273-39.293-42.187-39.308L-42.105-39.308Q-42.011-39.281-42.011-39.199Q-42.011-39.191-42.019-39.160Q-42.081-38.933-42.220-38.750Q-42.358-38.566-42.550-38.433Q-42.741-38.300-42.960-38.230Q-43.179-38.160-43.417-38.160Q-43.788-38.160-44.126-38.297Q-44.464-38.433-44.732-38.685Q-44.999-38.937-45.149-39.277Q-45.300-39.617-45.300-39.992M-44.546-40.300L-42.585-40.300Q-42.585-40.605-42.687-40.896Q-42.788-41.187-43.005-41.369Q-43.222-41.550-43.538-41.550Q-43.839-41.550-44.069-41.363Q-44.300-41.175-44.423-40.884Q-44.546-40.593-44.546-40.300",[1380],[1364,2218,2219],{"transform":2188},[1369,2220],{"d":2221,"fill":1529,"stroke":1529,"className":2222,"style":1381},"M-38.639-38.246L-38.639-39.468Q-38.639-39.496-38.608-39.527Q-38.576-39.558-38.553-39.558L-38.447-39.558Q-38.377-39.558-38.361-39.496Q-38.299-39.175-38.160-38.935Q-38.022-38.695-37.789-38.554Q-37.557-38.414-37.248-38.414Q-37.010-38.414-36.801-38.474Q-36.592-38.535-36.455-38.683Q-36.318-38.832-36.318-39.078Q-36.318-39.332-36.529-39.498Q-36.740-39.664-37.010-39.718L-37.631-39.832Q-38.037-39.910-38.338-40.166Q-38.639-40.422-38.639-40.797Q-38.639-41.164-38.438-41.386Q-38.236-41.609-37.912-41.707Q-37.588-41.804-37.248-41.804Q-36.783-41.804-36.486-41.597L-36.264-41.781Q-36.240-41.804-36.209-41.804L-36.158-41.804Q-36.127-41.804-36.100-41.777Q-36.072-41.750-36.072-41.718L-36.072-40.734Q-36.072-40.703-36.098-40.674Q-36.123-40.644-36.158-40.644L-36.264-40.644Q-36.299-40.644-36.326-40.672Q-36.354-40.699-36.354-40.734Q-36.354-41.133-36.606-41.353Q-36.858-41.574-37.256-41.574Q-37.611-41.574-37.895-41.451Q-38.178-41.328-38.178-41.023Q-38.178-40.804-37.977-40.672Q-37.775-40.539-37.529-40.496L-36.904-40.383Q-36.475-40.293-36.166-39.996Q-35.858-39.699-35.858-39.285Q-35.858-38.715-36.256-38.437Q-36.654-38.160-37.248-38.160Q-37.799-38.160-38.150-38.496L-38.447-38.183Q-38.471-38.160-38.506-38.160L-38.553-38.160Q-38.576-38.160-38.608-38.191Q-38.639-38.222-38.639-38.246M-34.705-39.199L-34.705-41.390L-35.408-41.390L-35.408-41.644Q-35.053-41.644-34.811-41.877Q-34.568-42.109-34.457-42.457Q-34.346-42.804-34.346-43.160L-34.065-43.160L-34.065-41.687L-32.889-41.687L-32.889-41.390L-34.065-41.390L-34.065-39.215Q-34.065-38.894-33.945-38.666Q-33.826-38.437-33.545-38.437Q-33.365-38.437-33.248-38.560Q-33.131-38.683-33.078-38.863Q-33.025-39.043-33.025-39.215L-33.025-39.687L-32.744-39.687L-32.744-39.199Q-32.744-38.945-32.850-38.705Q-32.955-38.465-33.152-38.312Q-33.350-38.160-33.608-38.160Q-33.924-38.160-34.176-38.283Q-34.428-38.406-34.566-38.640Q-34.705-38.875-34.705-39.199M-31.928-39.070Q-31.928-39.554-31.525-39.849Q-31.123-40.144-30.572-40.263Q-30.022-40.383-29.529-40.383L-29.529-40.672Q-29.529-40.898-29.645-41.105Q-29.760-41.312-29.957-41.431Q-30.154-41.550-30.385-41.550Q-30.811-41.550-31.096-41.445Q-31.025-41.418-30.979-41.363Q-30.932-41.308-30.906-41.238Q-30.881-41.168-30.881-41.093Q-30.881-40.988-30.932-40.896Q-30.983-40.804-31.074-40.754Q-31.166-40.703-31.272-40.703Q-31.377-40.703-31.469-40.754Q-31.561-40.804-31.611-40.896Q-31.662-40.988-31.662-41.093Q-31.662-41.511-31.274-41.658Q-30.885-41.804-30.385-41.804Q-30.053-41.804-29.699-41.674Q-29.346-41.543-29.117-41.289Q-28.889-41.035-28.889-40.687L-28.889-38.886Q-28.889-38.754-28.816-38.644Q-28.744-38.535-28.615-38.535Q-28.490-38.535-28.422-38.640Q-28.354-38.746-28.354-38.886L-28.354-39.398L-28.072-39.398L-28.072-38.886Q-28.072-38.683-28.190-38.525Q-28.307-38.367-28.488-38.283Q-28.670-38.199-28.873-38.199Q-29.104-38.199-29.256-38.371Q-29.408-38.543-29.440-38.773Q-29.600-38.492-29.908-38.326Q-30.217-38.160-30.568-38.160Q-31.080-38.160-31.504-38.383Q-31.928-38.605-31.928-39.070M-31.240-39.070Q-31.240-38.785-31.014-38.599Q-30.787-38.414-30.494-38.414Q-30.248-38.414-30.024-38.531Q-29.799-38.648-29.664-38.851Q-29.529-39.054-29.529-39.308L-29.529-40.140Q-29.795-40.140-30.080-40.086Q-30.365-40.031-30.637-39.902Q-30.908-39.773-31.074-39.566Q-31.240-39.359-31.240-39.070M-27.154-39.199L-27.154-41.390L-27.858-41.390L-27.858-41.644Q-27.502-41.644-27.260-41.877Q-27.018-42.109-26.906-42.457Q-26.795-42.804-26.795-43.160L-26.514-43.160L-26.514-41.687L-25.338-41.687L-25.338-41.390L-26.514-41.390L-26.514-39.215Q-26.514-38.894-26.395-38.666Q-26.275-38.437-25.994-38.437Q-25.815-38.437-25.697-38.560Q-25.580-38.683-25.527-38.863Q-25.475-39.043-25.475-39.215L-25.475-39.687L-25.193-39.687L-25.193-39.199Q-25.193-38.945-25.299-38.705Q-25.404-38.465-25.602-38.312Q-25.799-38.160-26.057-38.160Q-26.373-38.160-26.625-38.283Q-26.877-38.406-27.016-38.640Q-27.154-38.875-27.154-39.199M-24.475-39.992Q-24.475-40.472-24.242-40.888Q-24.010-41.304-23.600-41.554Q-23.190-41.804-22.713-41.804Q-21.983-41.804-21.584-41.363Q-21.186-40.922-21.186-40.191Q-21.186-40.086-21.279-40.062L-23.729-40.062L-23.729-39.992Q-23.729-39.582-23.608-39.226Q-23.486-38.871-23.215-38.654Q-22.943-38.437-22.514-38.437Q-22.150-38.437-21.854-38.666Q-21.557-38.894-21.455-39.246Q-21.447-39.293-21.361-39.308L-21.279-39.308Q-21.186-39.281-21.186-39.199Q-21.186-39.191-21.193-39.160Q-21.256-38.933-21.395-38.750Q-21.533-38.566-21.725-38.433Q-21.916-38.300-22.135-38.230Q-22.354-38.160-22.592-38.160Q-22.963-38.160-23.301-38.297Q-23.639-38.433-23.906-38.685Q-24.174-38.937-24.324-39.277Q-24.475-39.617-24.475-39.992M-23.721-40.300L-21.760-40.300Q-21.760-40.605-21.861-40.896Q-21.963-41.187-22.180-41.369Q-22.397-41.550-22.713-41.550Q-23.014-41.550-23.244-41.363Q-23.475-41.175-23.598-40.884Q-23.721-40.593-23.721-40.300",[1380],[1577,2224,2226,2227,1835,2270,2312,2313,2363,2364,2379,2380,2423],{"className":2225},[1580],"Two visit orders, one state. Both ",[399,2228,2230],{"className":2229},[402],[399,2231,2233],{"className":2232,"ariaHidden":407},[406],[399,2234,2236,2239,2242,2249,2252,2258,2261,2267],{"className":2235},[411],[399,2237],{"className":2238,"style":603},[415],[399,2240,519],{"className":2241},[420],[399,2243,2245],{"className":2244},[420],[399,2246,2248],{"className":2247},[592],"→",[399,2250,774],{"className":2251},[420],[399,2253,2255],{"className":2254},[420],[399,2256,2248],{"className":2257},[592],[399,2259,424],{"className":2260},[420],[399,2262,2264],{"className":2263},[420],[399,2265,2248],{"className":2266},[592],[399,2268,1615],{"className":2269},[420],[399,2271,2273],{"className":2272},[402],[399,2274,2276],{"className":2275,"ariaHidden":407},[406],[399,2277,2279,2282,2285,2291,2294,2300,2303,2309],{"className":2278},[411],[399,2280],{"className":2281,"style":603},[415],[399,2283,519],{"className":2284},[420],[399,2286,2288],{"className":2287},[420],[399,2289,2248],{"className":2290},[592],[399,2292,424],{"className":2293},[420],[399,2295,2297],{"className":2296},[420],[399,2298,2248],{"className":2299},[592],[399,2301,774],{"className":2302},[420],[399,2304,2306],{"className":2305},[420],[399,2307,2248],{"className":2308},[592],[399,2310,1615],{"className":2311},[420]," visit ",[399,2314,2316],{"className":2315},[402],[399,2317,2319],{"className":2318,"ariaHidden":407},[406],[399,2320,2322,2325,2329,2332,2335,2338,2341,2344,2347,2350,2353,2356,2359],{"className":2321},[411],[399,2323],{"className":2324,"style":510},[415],[399,2326,2328],{"className":2327},[514],"{",[399,2330,519],{"className":2331},[420],[399,2333,524],{"className":2334},[523],[399,2336],{"className":2337,"style":529},[528],[399,2339,774],{"className":2340},[420],[399,2342,524],{"className":2343},[523],[399,2345],{"className":2346,"style":529},[528],[399,2348,424],{"className":2349},[420],[399,2351,524],{"className":2352},[523],[399,2354],{"className":2355,"style":529},[528],[399,2357,1615],{"className":2358},[420],[399,2360,2362],{"className":2361},[562],"}"," and end at ",[399,2365,2367],{"className":2366},[402],[399,2368,2370],{"className":2369,"ariaHidden":407},[406],[399,2371,2373,2376],{"className":2372},[411],[399,2374],{"className":2375,"style":603},[415],[399,2377,1615],{"className":2378},[420],", so Held–Karp folds them into the single state ",[399,2381,2383],{"className":2382},[402],[399,2384,2386],{"className":2385,"ariaHidden":407},[406],[399,2387,2389,2392,2395,2398,2401,2404,2408,2411,2414,2417,2420],{"className":2388},[411],[399,2390],{"className":2391,"style":510},[415],[399,2393,1739],{"className":2394},[420,459],[399,2396,381],{"className":2397},[420,459],[399,2399,515],{"className":2400},[514],[399,2402],{"className":2403,"style":529},[528],[399,2405,2407],{"className":2406},[420],"1111",[399,2409],{"className":2410,"style":529},[528],[399,2412,1879],{"className":2413},[562],[399,2415,515],{"className":2416},[514],[399,2418,1615],{"className":2419},[420],[399,2421,1879],{"className":2422},[562]," and keeps only the cheaper, collapsing the factorial of orders.",[1351,2425,2427,2621],{"className":2426},[1354,1355],[1357,2428,2432],{"xmlns":1359,"width":2429,"height":2430,"viewBox":2431},"294.516","152.395","-75 -75 220.887 114.296",[1364,2433,2434,2437,2444,2447,2454,2457,2464,2476,2479,2482,2485,2488,2529,2541,2552,2563,2566,2572,2583,2590,2613],{"stroke":1366,"style":1367},[1369,2435],{"fill":1371,"d":2436},"M-5.737-44.84c0-5.5-4.459-9.958-9.958-9.958s-9.959 4.458-9.959 9.958 4.459 9.959 9.959 9.959 9.958-4.459 9.958-9.959Zm-9.958 0",[1364,2438,2440],{"transform":2439},"translate(-2.312 2.9)",[1369,2441],{"d":2442,"fill":1366,"stroke":1366,"className":2443,"style":2024},"M-13.383-44.642Q-14.508-44.642-14.922-45.539Q-15.335-46.435-15.335-47.710Q-15.335-48.483-15.185-49.182Q-15.036-49.881-14.601-50.357Q-14.166-50.834-13.383-50.834Q-12.606-50.834-12.171-50.355Q-11.736-49.876-11.586-49.180Q-11.437-48.483-11.437-47.710Q-11.437-46.431-11.850-45.537Q-12.263-44.642-13.383-44.642M-13.383-44.902Q-12.865-44.902-12.614-45.413Q-12.364-45.925-12.307-46.536Q-12.250-47.147-12.250-47.855Q-12.250-48.540-12.307-49.100Q-12.364-49.661-12.617-50.118Q-12.869-50.575-13.383-50.575Q-13.788-50.575-14.025-50.298Q-14.262-50.021-14.370-49.580Q-14.478-49.138-14.502-48.745Q-14.526-48.351-14.526-47.855Q-14.526-47.349-14.502-46.921Q-14.478-46.492-14.370-46.009Q-14.262-45.526-14.023-45.214Q-13.783-44.902-13.383-44.902",[1380],[1369,2445],{"fill":1371,"d":2446},"M39.788-59.066c0-5.5-4.459-9.959-9.959-9.959s-9.958 4.459-9.958 9.959 4.458 9.958 9.958 9.958 9.959-4.458 9.959-9.958Zm-9.959 0",[1364,2448,2450],{"transform":2449},"translate(43.212 -11.326)",[1369,2451],{"d":2452,"fill":1366,"stroke":1366,"className":2453,"style":2024},"M-11.788-44.840L-15.238-44.840L-15.238-45.073Q-15.238-45.086-15.207-45.117L-13.753-46.694Q-13.287-47.191-13.034-47.496Q-12.781-47.802-12.590-48.213Q-12.399-48.624-12.399-49.063Q-12.399-49.652-12.722-50.085Q-13.045-50.518-13.625-50.518Q-13.889-50.518-14.135-50.408Q-14.381-50.298-14.557-50.111Q-14.733-49.924-14.829-49.674L-14.750-49.674Q-14.548-49.674-14.405-49.538Q-14.262-49.402-14.262-49.186Q-14.262-48.980-14.405-48.841Q-14.548-48.703-14.750-48.703Q-14.952-48.703-15.095-48.846Q-15.238-48.988-15.238-49.186Q-15.238-49.648-15.001-50.021Q-14.763-50.395-14.363-50.614Q-13.964-50.834-13.515-50.834Q-12.992-50.834-12.538-50.619Q-12.083-50.403-11.810-50.004Q-11.538-49.604-11.538-49.063Q-11.538-48.668-11.709-48.314Q-11.881-47.960-12.146-47.681Q-12.412-47.402-12.863-47.017Q-13.313-46.633-13.392-46.558L-14.416-45.596L-13.599-45.596Q-12.948-45.596-12.511-45.607Q-12.074-45.618-12.043-45.640Q-11.973-45.723-11.918-45.963Q-11.863-46.202-11.823-46.470L-11.538-46.470",[1380],[1369,2455],{"fill":1371,"d":2456},"M85.312-44.84c0-5.5-4.459-9.958-9.959-9.958s-9.958 4.458-9.958 9.958 4.458 9.959 9.958 9.959 9.959-4.459 9.959-9.959Zm-9.959 0",[1364,2458,2460],{"transform":2459},"translate(89.466 2.97)",[1369,2461],{"d":2462,"fill":1366,"stroke":1366,"className":2463,"style":2024},"M-14.966-45.499Q-14.966-45.644-14.904-45.829L-14.157-47.767Q-14.047-48.066-14.047-48.285Q-14.047-48.558-14.236-48.558Q-14.588-48.558-14.823-48.197Q-15.058-47.837-15.163-47.406Q-15.181-47.323-15.256-47.323L-15.361-47.323Q-15.409-47.323-15.431-47.362Q-15.453-47.402-15.453-47.442Q-15.365-47.784-15.205-48.090Q-15.045-48.395-14.794-48.606Q-14.544-48.817-14.218-48.817Q-13.889-48.817-13.658-48.611Q-13.427-48.404-13.427-48.061Q-13.427-47.894-13.480-47.727L-14.227-45.794Q-14.333-45.508-14.346-45.271Q-14.346-45.170-14.300-45.086Q-14.254-45.003-14.148-45.003Q-13.797-45.003-13.561-45.361Q-13.326-45.719-13.221-46.154Q-13.212-46.185-13.188-46.209Q-13.164-46.233-13.129-46.233L-13.023-46.233Q-12.975-46.233-12.953-46.200Q-12.931-46.167-12.931-46.119Q-13.058-45.596-13.381-45.167Q-13.704-44.739-14.166-44.739Q-14.495-44.739-14.730-44.952Q-14.966-45.165-14.966-45.499M-13.942-50.285Q-13.942-50.483-13.779-50.636Q-13.616-50.790-13.419-50.790Q-13.269-50.790-13.168-50.694Q-13.067-50.597-13.067-50.447Q-13.067-50.241-13.225-50.091Q-13.383-49.942-13.581-49.942Q-13.731-49.942-13.836-50.039Q-13.942-50.135-13.942-50.285",[1380],[1364,2465,2466,2469],{"stroke":1529,"style":2167},[1369,2467],{"fill":1371,"d":2468},"M142.217-61.912c0-5.5-4.458-9.958-9.958-9.958s-9.959 4.458-9.959 9.958 4.459 9.959 9.959 9.959 9.958-4.459 9.958-9.959Zm-9.958 0",[1364,2470,2472],{"transform":2471},"translate(145.806 -14.978)",[1369,2473],{"d":2474,"fill":1366,"stroke":1366,"className":2475,"style":2024},"M-15.822-43.570Q-15.822-43.790-15.671-43.950Q-15.519-44.111-15.299-44.111Q-15.154-44.111-15.051-44.018Q-14.948-43.926-14.948-43.777Q-14.948-43.627-15.038-43.495Q-15.128-43.363-15.282-43.302Q-15.154-43.258-14.992-43.258Q-14.733-43.258-14.513-43.425Q-14.293-43.592-14.139-43.856Q-13.986-44.119-13.924-44.374L-13.076-47.767Q-13.023-47.965-13.023-48.162Q-13.023-48.558-13.282-48.558Q-13.687-48.558-13.986-48.206Q-14.284-47.855-14.482-47.380Q-14.500-47.323-14.552-47.323L-14.658-47.323Q-14.706-47.323-14.728-47.362Q-14.750-47.402-14.750-47.442Q-14.526-48-14.153-48.408Q-13.779-48.817-13.265-48.817Q-13.014-48.817-12.812-48.712Q-12.610-48.606-12.491-48.417Q-12.373-48.228-12.373-47.982Q-12.373-47.855-12.399-47.727L-13.247-44.335Q-13.344-43.965-13.612-43.656Q-13.880-43.346-14.249-43.170Q-14.618-42.994-15.009-42.994Q-15.308-42.994-15.565-43.139Q-15.822-43.284-15.822-43.570M-12.913-50.285Q-12.913-50.483-12.755-50.636Q-12.597-50.790-12.390-50.790Q-12.250-50.790-12.146-50.691Q-12.043-50.592-12.043-50.447Q-12.043-50.241-12.197-50.091Q-12.351-49.942-12.553-49.942Q-12.702-49.942-12.808-50.039Q-12.913-50.135-12.913-50.285",[1380],[1369,2477],{"fill":1371,"d":2478},"m-6-47.87 24.225-7.57",[1369,2480],{"stroke":1371,"d":2481},"m20.134-56.036-3.532-.573 1.623 1.17-.668 1.884",[1369,2483],{"fill":1371,"d":2484},"m39.525-56.036 24.224 7.57",[1369,2486],{"stroke":1371,"d":2487},"M65.658-47.87 63.08-50.35l.668 1.885-1.623 1.17",[1364,2489,2490,2493,2496],{"fill":1529,"stroke":1529,"style":2167},[1369,2491],{"fill":1371,"d":2492},"m85.083-47.759 34.764-10.43",[1369,2494],{"stroke":1371,"d":2495},"m122.338-58.935-4.582-.797 2.091 1.544-.896 2.44",[1364,2497,2498,2505,2511,2517,2523],{"fill":1529,"stroke":1371,"fontSize":1532},[1364,2499,2501],{"transform":2500},"translate(108.628 -14.24)",[1369,2502],{"d":2503,"fill":1529,"stroke":1529,"className":2504,"style":1381},"M-14.191-44.762Q-14.547-44.762-14.816-44.942Q-15.086-45.121-15.226-45.416Q-15.367-45.711-15.367-46.070Q-15.367-46.457-15.205-46.871Q-15.043-47.285-14.759-47.623Q-14.476-47.961-14.107-48.164Q-13.738-48.367-13.336-48.367Q-12.843-48.367-12.566-47.918L-12.129-49.688Q-12.086-49.852-12.086-49.903Q-12.086-50.008-12.582-50.008Q-12.679-50.039-12.679-50.137L-12.656-50.238Q-12.625-50.293-12.566-50.305L-11.465-50.391Q-11.422-50.391-11.383-50.360Q-11.343-50.328-11.343-50.274L-12.496-45.672Q-12.535-45.426-12.535-45.375Q-12.535-45.016-12.289-45.016Q-12.144-45.016-12.043-45.123Q-11.941-45.231-11.877-45.385Q-11.812-45.539-11.763-45.729Q-11.715-45.918-11.695-46.016Q-11.668-46.086-11.605-46.086L-11.504-46.086Q-11.465-46.086-11.439-46.053Q-11.414-46.020-11.414-45.992Q-11.414-45.977-11.422-45.961Q-11.535-45.469-11.734-45.115Q-11.933-44.762-12.304-44.762Q-12.586-44.762-12.812-44.904Q-13.039-45.047-13.121-45.305Q-13.343-45.063-13.617-44.912Q-13.890-44.762-14.191-44.762M-14.175-45.016Q-13.965-45.016-13.756-45.129Q-13.547-45.242-13.377-45.416Q-13.207-45.590-13.078-45.785Q-13.090-45.770-13.099-45.756Q-13.109-45.742-13.121-45.727L-12.687-47.449Q-12.726-47.629-12.812-47.779Q-12.898-47.930-13.035-48.022Q-13.172-48.113-13.351-48.113Q-13.687-48.113-13.959-47.832Q-14.230-47.551-14.390-47.176Q-14.515-46.856-14.613-46.436Q-14.711-46.016-14.711-45.735Q-14.711-45.445-14.578-45.231Q-14.445-45.016-14.175-45.016",[1380],[1364,2506,2507],{"transform":2500},[1369,2508],{"d":2509,"fill":1529,"stroke":1529,"className":2510,"style":1381},"M-8.705-42.848Q-9.318-43.305-9.720-43.940Q-10.123-44.574-10.318-45.320Q-10.513-46.067-10.513-46.840Q-10.513-47.613-10.318-48.360Q-10.123-49.106-9.720-49.740Q-9.318-50.375-8.705-50.832Q-8.693-50.836-8.685-50.838Q-8.677-50.840-8.666-50.840L-8.588-50.840Q-8.549-50.840-8.523-50.813Q-8.498-50.785-8.498-50.742Q-8.498-50.692-8.529-50.672Q-9.037-50.219-9.359-49.596Q-9.681-48.973-9.822-48.278Q-9.963-47.582-9.963-46.840Q-9.963-46.106-9.824-45.406Q-9.685-44.707-9.361-44.082Q-9.037-43.457-8.529-43.008Q-8.498-42.988-8.498-42.938Q-8.498-42.895-8.523-42.867Q-8.549-42.840-8.588-42.840L-8.666-42.840Q-8.674-42.844-8.683-42.846Q-8.693-42.848-8.705-42.848",[1380],[1364,2512,2513],{"transform":2500},[1369,2514],{"d":2515,"fill":1529,"stroke":1529,"className":2516,"style":1381},"M-7.328-45.442Q-7.328-45.574-7.274-45.727L-6.602-47.457Q-6.512-47.680-6.512-47.863Q-6.512-48.113-6.688-48.113Q-6.993-48.113-7.203-47.805Q-7.414-47.496-7.520-47.113Q-7.532-47.039-7.602-47.039L-7.703-47.039Q-7.739-47.039-7.766-47.074Q-7.793-47.110-7.793-47.137L-7.793-47.168Q-7.672-47.633-7.377-48Q-7.082-48.367-6.672-48.367Q-6.465-48.367-6.295-48.285Q-6.125-48.203-6.022-48.049Q-5.918-47.895-5.918-47.688Q-5.918-47.567-5.977-47.399L-6.649-45.672Q-6.735-45.438-6.735-45.266Q-6.735-45.016-6.559-45.016Q-6.246-45.016-6.032-45.334Q-5.817-45.653-5.735-46.016Q-5.707-46.086-5.649-46.086L-5.543-46.086Q-5.504-46.086-5.481-46.057Q-5.457-46.028-5.457-45.992Q-5.457-45.977-5.465-45.961Q-5.543-45.660-5.690-45.393Q-5.836-45.125-6.061-44.944Q-6.286-44.762-6.575-44.762Q-6.891-44.762-7.110-44.949Q-7.328-45.137-7.328-45.442M-6.407-49.680Q-6.407-49.860-6.260-49.998Q-6.114-50.137-5.938-50.137Q-5.801-50.137-5.709-50.049Q-5.618-49.961-5.618-49.824Q-5.618-49.649-5.762-49.508Q-5.907-49.367-6.078-49.367Q-6.211-49.367-6.309-49.459Q-6.407-49.551-6.407-49.680M-4.305-43.434Q-4.305-43.457-4.274-43.504Q-3.981-43.766-3.815-44.133Q-3.649-44.500-3.649-44.887L-3.649-44.945Q-3.778-44.840-3.946-44.840Q-4.137-44.840-4.274-44.973Q-4.411-45.106-4.411-45.305Q-4.411-45.496-4.274-45.629Q-4.137-45.762-3.946-45.762Q-3.645-45.762-3.520-45.492Q-3.395-45.223-3.395-44.887Q-3.395-44.438-3.577-44.024Q-3.758-43.610-4.098-43.313Q-4.121-43.289-4.161-43.289Q-4.207-43.289-4.256-43.334Q-4.305-43.379-4.305-43.434",[1380],[1364,2518,2519],{"transform":2500},[1369,2520],{"d":2521,"fill":1529,"stroke":1529,"className":2522,"style":1381},"M-1.457-43.719Q-1.457-43.914-1.321-44.061Q-1.184-44.207-0.992-44.207Q-0.856-44.207-0.760-44.121Q-0.664-44.035-0.664-43.903Q-0.664-43.781-0.739-43.662Q-0.813-43.543-0.918-43.488Q-0.813-43.465-0.696-43.465Q-0.465-43.465-0.262-43.613Q-0.059-43.762 0.078-43.988Q0.215-44.215 0.273-44.449L1.023-47.457Q1.062-47.613 1.062-47.750Q1.062-47.899 1.010-48.006Q0.957-48.113 0.824-48.113Q0.586-48.113 0.375-47.959Q0.164-47.805 0.010-47.572Q-0.145-47.340-0.246-47.086Q-0.262-47.039-0.321-47.039L-0.422-47.039Q-0.457-47.039-0.485-47.074Q-0.512-47.110-0.512-47.137L-0.512-47.168Q-0.395-47.461-0.196-47.740Q0.004-48.020 0.267-48.194Q0.531-48.367 0.840-48.367Q1.062-48.367 1.256-48.276Q1.449-48.184 1.564-48.012Q1.679-47.840 1.679-47.617Q1.679-47.547 1.648-47.399L0.894-44.391Q0.836-44.137 0.674-43.918Q0.511-43.699 0.295-43.541Q0.078-43.383-0.190-43.295Q-0.457-43.207-0.711-43.207Q-1-43.207-1.229-43.332Q-1.457-43.457-1.457-43.719M1.183-49.680Q1.183-49.860 1.328-49.998Q1.472-50.137 1.656-50.137Q1.785-50.137 1.881-50.049Q1.976-49.961 1.976-49.824Q1.976-49.649 1.832-49.508Q1.687-49.367 1.511-49.367Q1.379-49.367 1.281-49.459Q1.183-49.551 1.183-49.680",[1380],[1364,2524,2525],{"transform":2500},[1369,2526],{"d":2527,"fill":1529,"stroke":1529,"className":2528,"style":1381},"M3.195-42.840L3.113-42.840Q3.077-42.840 3.052-42.869Q3.027-42.899 3.027-42.938Q3.027-42.988 3.058-43.008Q3.445-43.344 3.728-43.793Q4.011-44.242 4.177-44.742Q4.343-45.242 4.417-45.760Q4.492-46.278 4.492-46.840Q4.492-47.410 4.417-47.926Q4.343-48.442 4.177-48.938Q4.011-49.434 3.732-49.881Q3.452-50.328 3.058-50.672Q3.027-50.692 3.027-50.742Q3.027-50.781 3.052-50.811Q3.077-50.840 3.113-50.840L3.195-50.840Q3.206-50.840 3.216-50.838Q3.226-50.836 3.234-50.832Q3.847-50.375 4.249-49.740Q4.652-49.106 4.847-48.360Q5.042-47.613 5.042-46.840Q5.042-46.067 4.847-45.320Q4.652-44.574 4.249-43.940Q3.847-43.305 3.234-42.848Q3.222-42.848 3.214-42.846Q3.206-42.844 3.195-42.840",[1380],[1364,2530,2531,2534],{"fill":1444},[1369,2532],{"d":2533},"M-24.231 14.911H-7.16V-2.16H-24.23Z",[1364,2535,2537],{"transform":2536},"translate(-2.312 54.115)",[1369,2538],{"d":2539,"fill":1366,"stroke":1366,"className":2540,"style":2024},"M-11.788-44.840L-14.820-44.840L-14.820-45.156Q-13.669-45.156-13.669-45.451L-13.669-50.175Q-14.157-49.942-14.878-49.942L-14.878-50.258Q-13.748-50.258-13.186-50.834L-13.041-50.834Q-13.006-50.834-12.973-50.801Q-12.940-50.768-12.940-50.733L-12.940-45.451Q-12.940-45.156-11.788-45.156",[1380],[1364,2542,2543,2546],{"fill":1444},[1369,2544],{"d":2545},"M-4.314 14.911h17.071V-2.16H-4.314Z",[1364,2547,2549],{"transform":2548},"translate(17.604 54.115)",[1369,2550],{"d":2539,"fill":1366,"stroke":1366,"className":2551,"style":2024},[1380],[1364,2553,2554,2557],{"fill":1444},[1369,2555],{"d":2556},"M15.602 14.911h17.072V-2.16H15.602Z",[1364,2558,2560],{"transform":2559},"translate(37.521 54.115)",[1369,2561],{"d":2539,"fill":1366,"stroke":1366,"className":2562,"style":2024},[1380],[1369,2564],{"fill":1371,"d":2565},"M35.52 14.911H52.59V-2.16H35.52Z",[1364,2567,2569],{"transform":2568},"translate(57.438 54.115)",[1369,2570],{"d":2442,"fill":1366,"stroke":1366,"className":2571,"style":2024},[1380],[1364,2573,2574,2577],{"stroke":1529,"style":2167},[1369,2575],{"fill":1371,"d":2576},"M55.436 14.911h17.072V-2.16H55.436Z",[1364,2578,2580],{"transform":2579},"translate(77.355 54.115)",[1369,2581],{"d":2539,"fill":1366,"stroke":1366,"className":2582,"style":2024},[1380],[1364,2584,2586],{"transform":2585},"translate(-46.575 53.993)",[1369,2587],{"d":2588,"fill":1366,"stroke":1366,"className":2589,"style":1381},"M-13.527-44.840L-15.383-44.840L-15.383-45.137Q-15.109-45.137-14.941-45.184Q-14.773-45.231-14.773-45.399L-14.773-47.535Q-14.773-47.750-14.836-47.846Q-14.898-47.942-15.017-47.963Q-15.136-47.985-15.383-47.985L-15.383-48.281L-14.191-48.367L-14.191-47.633Q-14.078-47.848-13.884-48.016Q-13.691-48.184-13.453-48.276Q-13.215-48.367-12.961-48.367Q-12-48.367-11.824-47.656Q-11.640-47.985-11.312-48.176Q-10.984-48.367-10.605-48.367Q-9.429-48.367-9.429-47.289L-9.429-45.399Q-9.429-45.231-9.261-45.184Q-9.093-45.137-8.824-45.137L-8.824-44.840L-10.679-44.840L-10.679-45.137Q-10.406-45.137-10.238-45.182Q-10.070-45.227-10.070-45.399L-10.070-47.274Q-10.070-47.660-10.195-47.887Q-10.320-48.113-10.672-48.113Q-10.976-48.113-11.232-47.951Q-11.488-47.789-11.636-47.520Q-11.785-47.250-11.785-46.953L-11.785-45.399Q-11.785-45.231-11.615-45.184Q-11.445-45.137-11.175-45.137L-11.175-44.840L-13.031-44.840L-13.031-45.137Q-12.758-45.137-12.590-45.184Q-12.422-45.231-12.422-45.399L-12.422-47.274Q-12.422-47.660-12.547-47.887Q-12.672-48.113-13.023-48.113Q-13.328-48.113-13.584-47.951Q-13.840-47.789-13.988-47.520Q-14.136-47.250-14.136-46.953L-14.136-45.399Q-14.136-45.231-13.966-45.184Q-13.797-45.137-13.527-45.137L-13.527-44.840M-8.281-45.672Q-8.281-46.156-7.879-46.451Q-7.476-46.746-6.925-46.865Q-6.375-46.985-5.883-46.985L-5.883-47.274Q-5.883-47.500-5.998-47.707Q-6.113-47.914-6.310-48.033Q-6.508-48.153-6.738-48.153Q-7.164-48.153-7.449-48.047Q-7.379-48.020-7.332-47.965Q-7.285-47.910-7.259-47.840Q-7.234-47.770-7.234-47.695Q-7.234-47.590-7.285-47.498Q-7.336-47.406-7.427-47.356Q-7.519-47.305-7.625-47.305Q-7.730-47.305-7.822-47.356Q-7.914-47.406-7.965-47.498Q-8.015-47.590-8.015-47.695Q-8.015-48.113-7.627-48.260Q-7.238-48.406-6.738-48.406Q-6.406-48.406-6.052-48.276Q-5.699-48.145-5.470-47.891Q-5.242-47.637-5.242-47.289L-5.242-45.488Q-5.242-45.356-5.170-45.246Q-5.097-45.137-4.968-45.137Q-4.843-45.137-4.775-45.242Q-4.707-45.348-4.707-45.488L-4.707-46L-4.425-46L-4.425-45.488Q-4.425-45.285-4.543-45.127Q-4.660-44.969-4.841-44.885Q-5.023-44.801-5.226-44.801Q-5.457-44.801-5.609-44.973Q-5.761-45.145-5.793-45.375Q-5.953-45.094-6.261-44.928Q-6.570-44.762-6.922-44.762Q-7.433-44.762-7.857-44.985Q-8.281-45.207-8.281-45.672M-7.593-45.672Q-7.593-45.387-7.367-45.201Q-7.140-45.016-6.847-45.016Q-6.601-45.016-6.377-45.133Q-6.152-45.250-6.017-45.453Q-5.883-45.656-5.883-45.910L-5.883-46.742Q-6.148-46.742-6.433-46.688Q-6.718-46.633-6.990-46.504Q-7.261-46.375-7.427-46.168Q-7.593-45.961-7.593-45.672M-4.090-44.848L-4.090-46.070Q-4.090-46.098-4.058-46.129Q-4.027-46.160-4.004-46.160L-3.898-46.160Q-3.828-46.160-3.812-46.098Q-3.750-45.778-3.611-45.537Q-3.472-45.297-3.240-45.156Q-3.008-45.016-2.699-45.016Q-2.461-45.016-2.252-45.076Q-2.043-45.137-1.906-45.285Q-1.769-45.434-1.769-45.680Q-1.769-45.934-1.980-46.100Q-2.191-46.266-2.461-46.320L-3.082-46.434Q-3.488-46.512-3.789-46.768Q-4.090-47.024-4.090-47.399Q-4.090-47.766-3.888-47.988Q-3.687-48.211-3.363-48.309Q-3.039-48.406-2.699-48.406Q-2.234-48.406-1.937-48.199L-1.715-48.383Q-1.691-48.406-1.660-48.406L-1.609-48.406Q-1.578-48.406-1.550-48.379Q-1.523-48.352-1.523-48.320L-1.523-47.336Q-1.523-47.305-1.549-47.276Q-1.574-47.246-1.609-47.246L-1.715-47.246Q-1.750-47.246-1.777-47.274Q-1.804-47.301-1.804-47.336Q-1.804-47.735-2.056-47.955Q-2.308-48.176-2.707-48.176Q-3.062-48.176-3.345-48.053Q-3.629-47.930-3.629-47.625Q-3.629-47.406-3.427-47.274Q-3.226-47.141-2.980-47.098L-2.355-46.985Q-1.925-46.895-1.617-46.598Q-1.308-46.301-1.308-45.887Q-1.308-45.317-1.707-45.039Q-2.105-44.762-2.699-44.762Q-3.250-44.762-3.601-45.098L-3.898-44.785Q-3.922-44.762-3.957-44.762L-4.004-44.762Q-4.027-44.762-4.058-44.793Q-4.090-44.824-4.090-44.848M1.043-44.840L-0.754-44.840L-0.754-45.137Q-0.484-45.137-0.316-45.182Q-0.148-45.227-0.148-45.399L-0.148-49.559Q-0.148-49.774-0.211-49.869Q-0.273-49.965-0.390-49.986Q-0.508-50.008-0.754-50.008L-0.754-50.305L0.469-50.391L0.469-46.625L1.567-47.512Q1.774-47.692 1.774-47.840Q1.774-47.906 1.721-47.949Q1.668-47.992 1.598-47.992L1.598-48.289L3.133-48.289L3.133-47.992Q2.602-47.992 2.004-47.512L1.395-47.016L2.469-45.617Q2.606-45.442 2.713-45.334Q2.821-45.227 2.955-45.182Q3.090-45.137 3.317-45.137L3.317-44.840L1.692-44.840L1.692-45.137Q1.934-45.137 1.934-45.289Q1.934-45.367 1.891-45.438Q1.848-45.508 1.766-45.617L0.965-46.664L0.438-46.238L0.438-45.399Q0.438-45.231 0.606-45.184Q0.774-45.137 1.043-45.137",[1380],[1364,2591,2592],{"fill":1529,"stroke":1529},[1364,2593,2594,2601,2607],{"fill":1529,"stroke":1371,"fontSize":1532},[1364,2595,2597],{"transform":2596},"translate(64.472 75.977)",[1369,2598],{"d":2599,"fill":1529,"stroke":1529,"className":2600,"style":1381},"M-15.414-44.848L-15.414-46.070Q-15.414-46.098-15.383-46.129Q-15.351-46.160-15.328-46.160L-15.222-46.160Q-15.152-46.160-15.136-46.098Q-15.074-45.778-14.935-45.537Q-14.797-45.297-14.564-45.156Q-14.332-45.016-14.023-45.016Q-13.785-45.016-13.576-45.076Q-13.367-45.137-13.230-45.285Q-13.093-45.434-13.093-45.680Q-13.093-45.934-13.304-46.100Q-13.515-46.266-13.785-46.320L-14.406-46.434Q-14.812-46.512-15.113-46.768Q-15.414-47.024-15.414-47.399Q-15.414-47.766-15.213-47.988Q-15.011-48.211-14.687-48.309Q-14.363-48.406-14.023-48.406Q-13.558-48.406-13.261-48.199L-13.039-48.383Q-13.015-48.406-12.984-48.406L-12.933-48.406Q-12.902-48.406-12.875-48.379Q-12.847-48.352-12.847-48.320L-12.847-47.336Q-12.847-47.305-12.873-47.276Q-12.898-47.246-12.933-47.246L-13.039-47.246Q-13.074-47.246-13.101-47.274Q-13.129-47.301-13.129-47.336Q-13.129-47.735-13.381-47.955Q-13.633-48.176-14.031-48.176Q-14.386-48.176-14.670-48.053Q-14.953-47.930-14.953-47.625Q-14.953-47.406-14.752-47.274Q-14.550-47.141-14.304-47.098L-13.679-46.985Q-13.250-46.895-12.941-46.598Q-12.633-46.301-12.633-45.887Q-12.633-45.317-13.031-45.039Q-13.429-44.762-14.023-44.762Q-14.574-44.762-14.925-45.098L-15.222-44.785Q-15.246-44.762-15.281-44.762L-15.328-44.762Q-15.351-44.762-15.383-44.793Q-15.414-44.824-15.414-44.848M-12.105-46.594Q-12.105-47.074-11.873-47.490Q-11.640-47.906-11.230-48.156Q-10.820-48.406-10.343-48.406Q-9.613-48.406-9.215-47.965Q-8.816-47.524-8.816-46.793Q-8.816-46.688-8.910-46.664L-11.359-46.664L-11.359-46.594Q-11.359-46.184-11.238-45.828Q-11.117-45.473-10.845-45.256Q-10.574-45.039-10.144-45.039Q-9.781-45.039-9.484-45.268Q-9.187-45.496-9.086-45.848Q-9.078-45.895-8.992-45.910L-8.910-45.910Q-8.816-45.883-8.816-45.801Q-8.816-45.793-8.824-45.762Q-8.886-45.535-9.025-45.352Q-9.164-45.168-9.355-45.035Q-9.547-44.903-9.765-44.832Q-9.984-44.762-10.222-44.762Q-10.593-44.762-10.931-44.899Q-11.269-45.035-11.537-45.287Q-11.804-45.539-11.955-45.879Q-12.105-46.219-12.105-46.594M-11.351-46.903L-9.390-46.903Q-9.390-47.207-9.492-47.498Q-9.593-47.789-9.810-47.971Q-10.027-48.153-10.343-48.153Q-10.644-48.153-10.875-47.965Q-11.105-47.778-11.228-47.486Q-11.351-47.195-11.351-46.903M-7.703-45.801L-7.703-47.992L-8.406-47.992L-8.406-48.246Q-8.050-48.246-7.808-48.479Q-7.566-48.711-7.455-49.059Q-7.343-49.406-7.343-49.762L-7.062-49.762L-7.062-48.289L-5.886-48.289L-5.886-47.992L-7.062-47.992L-7.062-45.817Q-7.062-45.496-6.943-45.268Q-6.824-45.039-6.543-45.039Q-6.363-45.039-6.246-45.162Q-6.129-45.285-6.076-45.465Q-6.023-45.645-6.023-45.817L-6.023-46.289L-5.742-46.289L-5.742-45.801Q-5.742-45.547-5.847-45.307Q-5.953-45.067-6.150-44.914Q-6.347-44.762-6.605-44.762Q-6.922-44.762-7.174-44.885Q-7.425-45.008-7.564-45.242Q-7.703-45.477-7.703-45.801",[1380],[1364,2602,2603],{"transform":2596},[1369,2604],{"d":2605,"fill":1529,"stroke":1529,"className":2606,"style":1381},"M-1.274-44.840L-1.555-44.840L-1.555-49.559Q-1.555-49.774-1.617-49.869Q-1.680-49.965-1.797-49.986Q-1.914-50.008-2.160-50.008L-2.160-50.305L-0.938-50.391L-0.938-47.903Q-0.461-48.367 0.238-48.367Q0.719-48.367 1.127-48.123Q1.535-47.879 1.771-47.465Q2.008-47.051 2.008-46.567Q2.008-46.192 1.859-45.863Q1.711-45.535 1.441-45.283Q1.172-45.031 0.828-44.897Q0.484-44.762 0.125-44.762Q-0.196-44.762-0.494-44.910Q-0.793-45.059-1-45.320L-1.274-44.840M-0.914-47.512L-0.914-45.672Q-0.762-45.375-0.502-45.195Q-0.242-45.016 0.070-45.016Q0.496-45.016 0.763-45.235Q1.031-45.453 1.146-45.799Q1.261-46.145 1.261-46.567Q1.261-47.215 1.013-47.664Q0.765-48.113 0.168-48.113Q-0.168-48.113-0.457-47.955Q-0.746-47.797-0.914-47.512M4.390-44.840L2.613-44.840L2.613-45.137Q2.886-45.137 3.054-45.184Q3.222-45.231 3.222-45.399L3.222-47.535Q3.222-47.750 3.166-47.846Q3.109-47.942 2.996-47.963Q2.883-47.985 2.636-47.985L2.636-48.281L3.836-48.367L3.836-45.399Q3.836-45.231 3.982-45.184Q4.129-45.137 4.390-45.137L4.390-44.840M2.949-49.762Q2.949-49.953 3.084-50.084Q3.219-50.215 3.414-50.215Q3.535-50.215 3.638-50.153Q3.742-50.090 3.804-49.986Q3.867-49.883 3.867-49.762Q3.867-49.567 3.736-49.432Q3.605-49.297 3.414-49.297Q3.215-49.297 3.082-49.430Q2.949-49.563 2.949-49.762M5.515-45.801L5.515-47.992L4.812-47.992L4.812-48.246Q5.168-48.246 5.410-48.479Q5.652-48.711 5.763-49.059Q5.875-49.406 5.875-49.762L6.156-49.762L6.156-48.289L7.332-48.289L7.332-47.992L6.156-47.992L6.156-45.817Q6.156-45.496 6.275-45.268Q6.394-45.039 6.676-45.039Q6.855-45.039 6.972-45.162Q7.090-45.285 7.142-45.465Q7.195-45.645 7.195-45.817L7.195-46.289L7.476-46.289L7.476-45.801Q7.476-45.547 7.371-45.307Q7.265-45.067 7.068-44.914Q6.871-44.762 6.613-44.762Q6.297-44.762 6.045-44.885Q5.793-45.008 5.654-45.242Q5.515-45.477 5.515-45.801",[1380],[1364,2608,2609],{"transform":2596},[1369,2610],{"d":2611,"fill":1529,"stroke":1529,"className":2612,"style":1381},"M10.684-43.719Q10.684-43.914 10.820-44.061Q10.957-44.207 11.149-44.207Q11.285-44.207 11.381-44.121Q11.477-44.035 11.477-43.903Q11.477-43.781 11.402-43.662Q11.328-43.543 11.223-43.488Q11.328-43.465 11.445-43.465Q11.676-43.465 11.879-43.613Q12.082-43.762 12.219-43.988Q12.356-44.215 12.414-44.449L13.164-47.457Q13.203-47.613 13.203-47.750Q13.203-47.899 13.151-48.006Q13.098-48.113 12.965-48.113Q12.727-48.113 12.516-47.959Q12.305-47.805 12.151-47.572Q11.996-47.340 11.895-47.086Q11.879-47.039 11.820-47.039L11.719-47.039Q11.684-47.039 11.656-47.074Q11.629-47.110 11.629-47.137L11.629-47.168Q11.746-47.461 11.945-47.740Q12.145-48.020 12.408-48.194Q12.672-48.367 12.981-48.367Q13.203-48.367 13.397-48.276Q13.590-48.184 13.705-48.012Q13.820-47.840 13.820-47.617Q13.820-47.547 13.789-47.399L13.035-44.391Q12.977-44.137 12.815-43.918Q12.652-43.699 12.436-43.541Q12.219-43.383 11.951-43.295Q11.684-43.207 11.430-43.207Q11.141-43.207 10.912-43.332Q10.684-43.457 10.684-43.719M13.324-49.680Q13.324-49.860 13.469-49.998Q13.613-50.137 13.797-50.137Q13.926-50.137 14.022-50.049Q14.117-49.961 14.117-49.824Q14.117-49.649 13.973-49.508Q13.828-49.367 13.652-49.367Q13.520-49.367 13.422-49.459Q13.324-49.551 13.324-49.680",[1380],[1364,2614,2615,2618],{"fill":1529,"stroke":1529},[1369,2616],{"fill":1371,"d":2617},"M63.972 24.87V17.31",[1369,2619],{"stroke":1371,"d":2620},"m63.972 15.311-1.6 3.2 1.6-1.2 1.6 1.2",[1577,2622,2624,2663,2664,2679,2680],{"className":2623},[1580],[399,2625,2627],{"className":2626},[402],[399,2628,2630],{"className":2629,"ariaHidden":407},[406],[399,2631,2633,2636,2639,2642,2645,2651,2654,2657,2660],{"className":2632},[411],[399,2634],{"className":2635,"style":510},[415],[399,2637,1739],{"className":2638},[420,459],[399,2640,381],{"className":2641},[420,459],[399,2643,515],{"className":2644},[514],[399,2646,2648],{"className":2647},[420,749],[399,2649,928],{"className":2650},[420],[399,2652,1879],{"className":2653},[562],[399,2655,515],{"className":2656},[514],[399,2658,804],{"className":2659},[420,459],[399,2661,1879],{"className":2662},[562]," = best path visiting the cities in mask, ending at ",[399,2665,2667],{"className":2666},[402],[399,2668,2670],{"className":2669,"ariaHidden":407},[406],[399,2671,2673,2676],{"className":2672},[411],[399,2674],{"className":2675,"style":800},[415],[399,2677,804],{"className":2678},[420,459],", extended to a new city ",[399,2681,2683],{"className":2682},[402],[399,2684,2686],{"className":2685,"ariaHidden":407},[406],[399,2687,2689,2692],{"className":2688},[411],[399,2690],{"className":2691,"style":1336},[415],[399,2693,1341],{"className":2694,"style":1340},[420,459],[381,2696,2697,2698,2713,2714,2729,2730,878],{},"The recurrence extends a path ending at ",[399,2699,2701],{"className":2700},[402],[399,2702,2704],{"className":2703,"ariaHidden":407},[406],[399,2705,2707,2710],{"className":2706},[411],[399,2708],{"className":2709,"style":800},[415],[399,2711,804],{"className":2712},[420,459]," to a new, previously-unvisited city\n",[399,2715,2717],{"className":2716},[402],[399,2718,2720],{"className":2719,"ariaHidden":407},[406],[399,2721,2723,2726],{"className":2722},[411],[399,2724],{"className":2725,"style":1336},[415],[399,2727,1341],{"className":2728,"style":1340},[420,459]," by setting bit ",[399,2731,2733],{"className":2732},[402],[399,2734,2736],{"className":2735,"ariaHidden":407},[406],[399,2737,2739,2742],{"className":2738},[411],[399,2740],{"className":2741,"style":1336},[415],[399,2743,1341],{"className":2744,"style":1340},[420,459],[399,2746,2749],{"className":2747},[2748],"katex-display",[399,2750,2752],{"className":2751},[402],[399,2753,2755,2791,2845,3021],{"className":2754,"ariaHidden":407},[406],[399,2756,2758,2762,2765,2768,2776,2782,2785,2788],{"className":2757},[411],[399,2759],{"className":2760,"style":2761},[415],"height:1.2em;vertical-align:-0.35em;",[399,2763,1739],{"className":2764},[420,459],[399,2766,381],{"className":2767},[420,459],[399,2769,2771],{"className":2770},[514],[399,2772,515],{"className":2773},[2774,2775],"delimsizing","size1",[399,2777,2779],{"className":2778},[420,749],[399,2780,928],{"className":2781},[420],[399,2783],{"className":2784,"style":588},[528],[399,2786,1641],{"className":2787},[592],[399,2789],{"className":2790,"style":588},[528],[399,2792,2794,2797,2800,2803,2809,2812,2815,2821,2824,2827,2830,2833,2836,2839,2842],{"className":2793},[411],[399,2795],{"className":2796,"style":2761},[415],[399,2798,670],{"className":2799},[514],[399,2801,774],{"className":2802},[420],[399,2804,2806],{"className":2805},[420],[399,2807,1663],{"className":2808},[592],[399,2810,1341],{"className":2811,"style":1340},[420,459],[399,2813,563],{"className":2814},[562],[399,2816,2818],{"className":2817},[562],[399,2819,1879],{"className":2820},[2774,2775],[399,2822,515],{"className":2823},[514],[399,2825,1341],{"className":2826,"style":1340},[420,459],[399,2828,1879],{"className":2829},[562],[399,2831],{"className":2832,"style":588},[528],[399,2834],{"className":2835,"style":588},[528],[399,2837,1018],{"className":2838},[592],[399,2840],{"className":2841,"style":588},[528],[399,2843],{"className":2844,"style":588},[528],[399,2846,2848,2852,2978,2985,2988,2991,2994,3000,3003,3006,3009,3012,3015,3018],{"className":2847},[411],[399,2849],{"className":2850,"style":2851},[415],"height:1.8em;vertical-align:-0.65em;",[399,2853,2856,2864],{"className":2854},[2855],"mop",[399,2857,2859],{"className":2858},[2855],[399,2860,2863],{"className":2861},[420,2862],"mathrm","min",[399,2865,2867],{"className":2866},[428],[399,2868,2871,2969],{"className":2869},[432,2870],"vlist-t2",[399,2872,2874,2964],{"className":2873},[436],[399,2875,2878],{"className":2876,"style":2877},[440],"height:0.3448em;",[399,2879,2881,2884],{"style":2880},"top:-2.5198em;margin-right:0.05em;",[399,2882],{"className":2883,"style":448},[447],[399,2885,2887],{"className":2886},[452,453,454,455],[399,2888,2890,2893,2896,2902,2905,2912,2915,2958],{"className":2889},[420,455],[399,2891,804],{"className":2892},[420,459,455],[399,2894,911],{"className":2895},[592,455],[399,2897,2899],{"className":2898},[420,749,455],[399,2900,928],{"className":2901},[420,455],[399,2903,524],{"className":2904},[523,455],[399,2906,2908],{"className":2907},[528,455],[399,2909,2911],{"className":2910},[455]," ",[399,2913,1341],{"className":2914,"style":1340},[420,459,455],[399,2916,2918,2924],{"className":2917},[592,455],[399,2919,2921],{"className":2920},[420,455],[399,2922,911],{"className":2923},[592,455],[399,2925,2928],{"className":2926},[420,2927,455],"vbox",[399,2929,2932],{"className":2930},[2931,455],"thinbox",[399,2933,2936,2939,2954],{"className":2934},[2935,455],"llap",[399,2937],{"className":2938,"style":510},[415],[399,2940,2943],{"className":2941},[2942],"inner",[399,2944,2946,2950],{"className":2945},[420,455],[399,2947,2949],{"className":2948},[420,455],"\u002F",[399,2951],{"className":2952,"style":2953},[528,455],"margin-right:0.0651em;",[399,2955],{"className":2956},[2957],"fix",[399,2959,2961],{"className":2960},[420,749,455],[399,2962,928],{"className":2963},[420,455],[399,2965,2968],{"className":2966},[2967],"vlist-s","​",[399,2970,2972],{"className":2971},[436],[399,2973,2976],{"className":2974,"style":2975},[440],"height:0.3552em;",[399,2977],{},[399,2979,2981],{"className":2980},[514],[399,2982,670],{"className":2983},[2774,2984],"size2",[399,2986,1739],{"className":2987},[420,459],[399,2989,381],{"className":2990},[420,459],[399,2992,515],{"className":2993},[514],[399,2995,2997],{"className":2996},[420,749],[399,2998,928],{"className":2999},[420],[399,3001,1879],{"className":3002},[562],[399,3004,515],{"className":3005},[514],[399,3007,804],{"className":3008},[420,459],[399,3010,1879],{"className":3011},[562],[399,3013],{"className":3014,"style":731},[528],[399,3016,1047],{"className":3017},[735],[399,3019],{"className":3020,"style":731},[528],[399,3022,3024,3027,3030,3033,3036,3039,3042,3045,3048,3054],{"className":3023},[411],[399,3025],{"className":3026,"style":2851},[415],[399,3028,1739],{"className":3029},[420,459],[399,3031,670],{"className":3032},[514],[399,3034,804],{"className":3035},[420,459],[399,3037,524],{"className":3038},[523],[399,3040],{"className":3041,"style":529},[528],[399,3043,1341],{"className":3044,"style":1340},[420,459],[399,3046,563],{"className":3047},[562],[399,3049,3051],{"className":3050},[562],[399,3052,563],{"className":3053},[2774,2984],[399,3055,461],{"className":3056},[420],[381,3058,3059,3060,3116,3117,878],{},"The base case is ",[399,3061,3063],{"className":3062},[402],[399,3064,3066,3107],{"className":3065,"ariaHidden":407},[406],[399,3067,3069,3072,3075,3078,3082,3085,3089,3092,3095,3098,3101,3104],{"className":3068},[411],[399,3070],{"className":3071,"style":510},[415],[399,3073,1739],{"className":3074},[420,459],[399,3076,381],{"className":3077},[420,459],[399,3079,3081],{"className":3080},[514],"[{",[399,3083,519],{"className":3084},[420],[399,3086,3088],{"className":3087},[562],"}]",[399,3090,515],{"className":3091},[514],[399,3093,519],{"className":3094},[420],[399,3096,1879],{"className":3097},[562],[399,3099],{"className":3100,"style":588},[528],[399,3102,1018],{"className":3103},[592],[399,3105],{"className":3106,"style":588},[528],[399,3108,3110,3113],{"className":3109},[411],[399,3111],{"className":3112,"style":603},[415],[399,3114,519],{"className":3115},[420],". The answer closes the tour back to the start\nover the full mask ",[399,3118,3120],{"className":3119},[402],[399,3121,3123,3144,3189],{"className":3122,"ariaHidden":407},[406],[399,3124,3126,3130,3135,3138,3141],{"className":3125},[411],[399,3127],{"className":3128,"style":3129},[415],"height:0.6833em;",[399,3131,3134],{"className":3132,"style":3133},[420,459],"margin-right:0.1389em;","F",[399,3136],{"className":3137,"style":588},[528],[399,3139,1018],{"className":3140},[592],[399,3142],{"className":3143,"style":588},[528],[399,3145,3147,3151,3180,3183,3186],{"className":3146},[411],[399,3148],{"className":3149,"style":3150},[415],"height:0.7477em;vertical-align:-0.0833em;",[399,3152,3154,3157],{"className":3153},[420],[399,3155,424],{"className":3156},[420],[399,3158,3160],{"className":3159},[428],[399,3161,3163],{"className":3162},[432],[399,3164,3166],{"className":3165},[436],[399,3167,3169],{"className":3168,"style":416},[440],[399,3170,3171,3174],{"style":443},[399,3172],{"className":3173,"style":448},[447],[399,3175,3177],{"className":3176},[452,453,454,455],[399,3178,460],{"className":3179},[420,459,455],[399,3181],{"className":3182,"style":731},[528],[399,3184,1005],{"className":3185},[735],[399,3187],{"className":3188,"style":731},[528],[399,3190,3192,3195],{"className":3191},[411],[399,3193],{"className":3194,"style":603},[415],[399,3196,774],{"className":3197},[420],[399,3199,3201],{"className":3200},[2748],[399,3202,3204],{"className":3203},[402],[399,3205,3207,3236,3330],{"className":3206,"ariaHidden":407},[406],[399,3208,3210,3214,3221,3224,3227,3230,3233],{"className":3209},[411],[399,3211],{"className":3212,"style":3213},[415],"height:0.6151em;",[399,3215,3217],{"className":3216},[420,749],[399,3218,3220],{"className":3219},[420],"cost",[399,3222],{"className":3223,"style":588},[528],[399,3225],{"className":3226,"style":588},[528],[399,3228,1018],{"className":3229},[592],[399,3231],{"className":3232,"style":588},[528],[399,3234],{"className":3235,"style":588},[528],[399,3237,3239,3242,3291,3297,3300,3303,3306,3309,3312,3315,3318,3321,3324,3327],{"className":3238},[411],[399,3240],{"className":3241,"style":2851},[415],[399,3243,3245,3251],{"className":3244},[2855],[399,3246,3248],{"className":3247},[2855],[399,3249,2863],{"className":3250},[420,2862],[399,3252,3254],{"className":3253},[428],[399,3255,3257,3282],{"className":3256},[432,2870],[399,3258,3260,3279],{"className":3259},[436],[399,3261,3264],{"className":3262,"style":3263},[440],"height:0.3117em;",[399,3265,3267,3270],{"style":3266},"top:-2.55em;margin-right:0.05em;",[399,3268],{"className":3269,"style":448},[447],[399,3271,3273],{"className":3272},[452,453,454,455],[399,3274,3276],{"className":3275},[420,455],[399,3277,804],{"className":3278},[420,459,455],[399,3280,2968],{"className":3281},[2967],[399,3283,3285],{"className":3284},[436],[399,3286,3289],{"className":3287,"style":3288},[440],"height:0.15em;",[399,3290],{},[399,3292,3294],{"className":3293},[514],[399,3295,670],{"className":3296},[2774,2984],[399,3298,1739],{"className":3299},[420,459],[399,3301,381],{"className":3302},[420,459],[399,3304,515],{"className":3305},[514],[399,3307,3134],{"className":3308,"style":3133},[420,459],[399,3310,1879],{"className":3311},[562],[399,3313,515],{"className":3314},[514],[399,3316,804],{"className":3317},[420,459],[399,3319,1879],{"className":3320},[562],[399,3322],{"className":3323,"style":731},[528],[399,3325,1047],{"className":3326},[735],[399,3328],{"className":3329,"style":731},[528],[399,3331,3333,3336,3339,3342,3345,3348,3351,3354,3357,3363],{"className":3332},[411],[399,3334],{"className":3335,"style":2851},[415],[399,3337,1739],{"className":3338},[420,459],[399,3340,670],{"className":3341},[514],[399,3343,804],{"className":3344},[420,459],[399,3346,524],{"className":3347},[523],[399,3349],{"className":3350,"style":529},[528],[399,3352,519],{"className":3353},[420],[399,3355,563],{"className":3356},[562],[399,3358,3360],{"className":3359},[562],[399,3361,563],{"className":3362},[2774,2984],[399,3364,461],{"className":3365},[420],[3367,3368,3372],"pre",{"className":3369,"code":3370,"language":3371,"meta":376,"style":376},"language-algorithm shiki shiki-themes Vesper Light - Orange Boost (Quick Open Adjusted) vesper","caption: $\\textsc{Held-Karp}(d, n)$ — shortest tour by bitmask DP, $O(2^n n^2)$\n$dp[\\text{mask}][i] \\gets \\infty$ for all mask, $i$\n$dp[1][0] \\gets 0$ \u002F\u002F only city $0$ visited, at $0$\nfor $\\text{mask} \\gets 1$ to $2^n - 1$ do\n  for $i \\gets 0$ to $n - 1$ do\n    if $dp[\\text{mask}][i] = \\infty$ then continue\n    if $\\text{mask}$ does not contain $i$ then continue\n    for $j \\gets 0$ to $n - 1$ do\n      if $\\text{mask}$ contains $j$ then continue \u002F\u002F visited\n      $\\text{nmask} \\gets \\text{mask} \\mid (1 \\ll j)$\n      $dp[\\text{nmask}][j] \\gets \\min\\bigl(dp[\\text{nmask}][j],\\ dp[\\text{mask}][i] + d(i,j)\\bigr)$\n$\\textbf{return } \\min_i \\bigl(dp[2^n - 1][i] + d(i, 0)\\bigr)$\n","algorithm",[931,3373,3374,3380,3385,3390,3395,3400,3405,3410,3415,3420,3425,3430],{"__ignoreMap":376},[399,3375,3377],{"class":3376,"line":6},"line",[399,3378,3379],{},"caption: $\\textsc{Held-Karp}(d, n)$ — shortest tour by bitmask DP, $O(2^n n^2)$\n",[399,3381,3382],{"class":3376,"line":18},[399,3383,3384],{},"$dp[\\text{mask}][i] \\gets \\infty$ for all mask, $i$\n",[399,3386,3387],{"class":3376,"line":24},[399,3388,3389],{},"$dp[1][0] \\gets 0$ \u002F\u002F only city $0$ visited, at $0$\n",[399,3391,3392],{"class":3376,"line":73},[399,3393,3394],{},"for $\\text{mask} \\gets 1$ to $2^n - 1$ do\n",[399,3396,3397],{"class":3376,"line":102},[399,3398,3399],{},"  for $i \\gets 0$ to $n - 1$ do\n",[399,3401,3402],{"class":3376,"line":108},[399,3403,3404],{},"    if $dp[\\text{mask}][i] = \\infty$ then continue\n",[399,3406,3407],{"class":3376,"line":116},[399,3408,3409],{},"    if $\\text{mask}$ does not contain $i$ then continue\n",[399,3411,3412],{"class":3376,"line":196},[399,3413,3414],{},"    for $j \\gets 0$ to $n - 1$ do\n",[399,3416,3417],{"class":3376,"line":202},[399,3418,3419],{},"      if $\\text{mask}$ contains $j$ then continue \u002F\u002F visited\n",[399,3421,3422],{"class":3376,"line":283},[399,3423,3424],{},"      $\\text{nmask} \\gets \\text{mask} \\mid (1 \\ll j)$\n",[399,3426,3427],{"class":3376,"line":333},[399,3428,3429],{},"      $dp[\\text{nmask}][j] \\gets \\min\\bigl(dp[\\text{nmask}][j],\\ dp[\\text{mask}][i] + d(i,j)\\bigr)$\n",[399,3431,3432],{"class":3376,"line":354},[399,3433,3434],{},"$\\textbf{return } \\min_i \\bigl(dp[2^n - 1][i] + d(i, 0)\\bigr)$\n",[381,3436,3437,3438,3479,3480,3539,3540,3555,3556,3637,3638,3691,3692,3762,3763,3797,3798,3842,3843,3936],{},"Iterating masks in increasing order is valid because ",[399,3439,3441],{"className":3440},[402],[399,3442,3444,3467],{"className":3443,"ariaHidden":407},[406],[399,3445,3447,3451,3458,3461,3464],{"className":3446},[411],[399,3448],{"className":3449,"style":3450},[415],"height:0.7335em;vertical-align:-0.0391em;",[399,3452,3454],{"className":3453},[420,749],[399,3455,3457],{"className":3456},[420],"nmask",[399,3459],{"className":3460,"style":588},[528],[399,3462,1676],{"className":3463},[592],[399,3465],{"className":3466,"style":588},[528],[399,3468,3470,3473],{"className":3469},[411],[399,3471],{"className":3472,"style":921},[415],[399,3474,3476],{"className":3475},[420,749],[399,3477,928],{"className":3478},[420],",\nso every state is finalized before it is read. The table has ",[399,3481,3483],{"className":3482},[402],[399,3484,3486,3530],{"className":3485,"ariaHidden":407},[406],[399,3487,3489,3492,3521,3524,3527],{"className":3488},[411],[399,3490],{"className":3491,"style":416},[415],[399,3493,3495,3498],{"className":3494},[420],[399,3496,424],{"className":3497},[420],[399,3499,3501],{"className":3500},[428],[399,3502,3504],{"className":3503},[432],[399,3505,3507],{"className":3506},[436],[399,3508,3510],{"className":3509,"style":416},[440],[399,3511,3512,3515],{"style":443},[399,3513],{"className":3514,"style":448},[447],[399,3516,3518],{"className":3517},[452,453,454,455],[399,3519,460],{"className":3520},[420,459,455],[399,3522],{"className":3523,"style":731},[528],[399,3525,736],{"className":3526},[735],[399,3528],{"className":3529,"style":731},[528],[399,3531,3533,3536],{"className":3532},[411],[399,3534],{"className":3535,"style":477},[415],[399,3537,460],{"className":3538},[420,459],"\nentries and each is relaxed by an inner loop over ",[399,3541,3543],{"className":3542},[402],[399,3544,3546],{"className":3545,"ariaHidden":407},[406],[399,3547,3549,3552],{"className":3548},[411],[399,3550],{"className":3551,"style":477},[415],[399,3553,460],{"className":3554},[420,459]," candidate predecessors,\ngiving ",[399,3557,3559],{"className":3558},[402],[399,3560,3562],{"className":3561,"ariaHidden":407},[406],[399,3563,3565,3569,3572,3575,3604,3634],{"className":3564},[411],[399,3566],{"className":3567,"style":3568},[415],"height:1.0641em;vertical-align:-0.25em;",[399,3570,695],{"className":3571,"style":694},[420,459],[399,3573,670],{"className":3574},[514],[399,3576,3578,3581],{"className":3577},[420],[399,3579,424],{"className":3580},[420],[399,3582,3584],{"className":3583},[428],[399,3585,3587],{"className":3586},[432],[399,3588,3590],{"className":3589},[436],[399,3591,3593],{"className":3592,"style":416},[440],[399,3594,3595,3598],{"style":443},[399,3596],{"className":3597,"style":448},[447],[399,3599,3601],{"className":3600},[452,453,454,455],[399,3602,460],{"className":3603},[420,459,455],[399,3605,3607,3610],{"className":3606},[420],[399,3608,460],{"className":3609},[420,459],[399,3611,3613],{"className":3612},[428],[399,3614,3616],{"className":3615},[432],[399,3617,3619],{"className":3618},[436],[399,3620,3623],{"className":3621,"style":3622},[440],"height:0.8141em;",[399,3624,3625,3628],{"style":443},[399,3626],{"className":3627,"style":448},[447],[399,3629,3631],{"className":3630},[452,453,454,455],[399,3632,424],{"className":3633},[420,455],[399,3635,563],{"className":3636},[562]," time and ",[399,3639,3641],{"className":3640},[402],[399,3642,3644],{"className":3643,"ariaHidden":407},[406],[399,3645,3647,3650,3653,3656,3685,3688],{"className":3646},[411],[399,3648],{"className":3649,"style":510},[415],[399,3651,695],{"className":3652,"style":694},[420,459],[399,3654,670],{"className":3655},[514],[399,3657,3659,3662],{"className":3658},[420],[399,3660,424],{"className":3661},[420],[399,3663,3665],{"className":3664},[428],[399,3666,3668],{"className":3667},[432],[399,3669,3671],{"className":3670},[436],[399,3672,3674],{"className":3673,"style":416},[440],[399,3675,3676,3679],{"style":443},[399,3677],{"className":3678,"style":448},[447],[399,3680,3682],{"className":3681},[452,453,454,455],[399,3683,460],{"className":3684},[420,459,455],[399,3686,460],{"className":3687},[420,459],[399,3689,563],{"className":3690},[562]," space. That is exponential, but\n",[399,3693,3695],{"className":3694},[402],[399,3696,3698],{"className":3697,"ariaHidden":407},[406],[399,3699,3701,3704,3733],{"className":3700},[411],[399,3702],{"className":3703,"style":3622},[415],[399,3705,3707,3710],{"className":3706},[420],[399,3708,424],{"className":3709},[420],[399,3711,3713],{"className":3712},[428],[399,3714,3716],{"className":3715},[432],[399,3717,3719],{"className":3718},[436],[399,3720,3722],{"className":3721,"style":416},[440],[399,3723,3724,3727],{"style":443},[399,3725],{"className":3726,"style":448},[447],[399,3728,3730],{"className":3729},[452,453,454,455],[399,3731,460],{"className":3732},[420,459,455],[399,3734,3736,3739],{"className":3735},[420],[399,3737,460],{"className":3738},[420,459],[399,3740,3742],{"className":3741},[428],[399,3743,3745],{"className":3744},[432],[399,3746,3748],{"className":3747},[436],[399,3749,3751],{"className":3750,"style":3622},[440],[399,3752,3753,3756],{"style":443},[399,3754],{"className":3755,"style":448},[447],[399,3757,3759],{"className":3758},[452,453,454,455],[399,3760,424],{"className":3761},[420,455]," at ",[399,3764,3766],{"className":3765},[402],[399,3767,3769,3787],{"className":3768,"ariaHidden":407},[406],[399,3770,3772,3775,3778,3781,3784],{"className":3771},[411],[399,3773],{"className":3774,"style":477},[415],[399,3776,460],{"className":3777},[420,459],[399,3779],{"className":3780,"style":588},[528],[399,3782,1018],{"className":3783},[592],[399,3785],{"className":3786,"style":588},[528],[399,3788,3790,3793],{"className":3789},[411],[399,3791],{"className":3792,"style":603},[415],[399,3794,3796],{"className":3795},[420],"18"," is about ",[399,3799,3801],{"className":3800},[402],[399,3802,3804],{"className":3803,"ariaHidden":407},[406],[399,3805,3807,3810,3813],{"className":3806},[411],[399,3808],{"className":3809,"style":3622},[415],[399,3811,774],{"className":3812},[420],[399,3814,3816,3819],{"className":3815},[420],[399,3817,519],{"className":3818},[420],[399,3820,3822],{"className":3821},[428],[399,3823,3825],{"className":3824},[432],[399,3826,3828],{"className":3827},[436],[399,3829,3831],{"className":3830,"style":3622},[440],[399,3832,3833,3836],{"style":443},[399,3834],{"className":3835,"style":448},[447],[399,3837,3839],{"className":3838},[452,453,454,455],[399,3840,1532],{"className":3841},[420,455],", entirely feasible, whereas ",[399,3844,3846],{"className":3845},[402],[399,3847,3849,3873,3894],{"className":3848,"ariaHidden":407},[406],[399,3850,3852,3855,3859,3863,3866,3870],{"className":3851},[411],[399,3853],{"className":3854,"style":921},[415],[399,3856,3858],{"className":3857},[420],"17",[399,3860,3862],{"className":3861},[562],"!",[399,3864],{"className":3865,"style":588},[528],[399,3867,3869],{"className":3868},[592],"≈",[399,3871],{"className":3872,"style":588},[528],[399,3874,3876,3880,3884,3887,3891],{"className":3875},[411],[399,3877],{"className":3878,"style":3879},[415],"height:0.7278em;vertical-align:-0.0833em;",[399,3881,3883],{"className":3882},[420],"3.6",[399,3885],{"className":3886,"style":731},[528],[399,3888,3890],{"className":3889},[735],"×",[399,3892],{"className":3893,"style":731},[528],[399,3895,3897,3900,3903],{"className":3896},[411],[399,3898],{"className":3899,"style":3622},[415],[399,3901,774],{"className":3902},[420],[399,3904,3906,3909],{"className":3905},[420],[399,3907,519],{"className":3908},[420],[399,3910,3912],{"className":3911},[428],[399,3913,3915],{"className":3914},[432],[399,3916,3918],{"className":3917},[436],[399,3919,3921],{"className":3920,"style":3622},[440],[399,3922,3923,3926],{"style":443},[399,3924],{"className":3925,"style":448},[447],[399,3927,3929],{"className":3928},[452,453,454,455],[399,3930,3932],{"className":3931},[420,455],[399,3933,3935],{"className":3934},[420,455],"14"," is not.",[1841,3938,3940],{"type":3939},"lemma",[381,3941,3942,3945,3946,3985,3986,4079,4080,4124,4125,461],{},[390,3943,3944],{},"Lemma (optimal substructure)."," An optimal path realizing ",[399,3947,3949],{"className":3948},[402],[399,3950,3952],{"className":3951,"ariaHidden":407},[406],[399,3953,3955,3958,3961,3964,3967,3973,3976,3979,3982],{"className":3954},[411],[399,3956],{"className":3957,"style":510},[415],[399,3959,1739],{"className":3960},[420,459],[399,3962,381],{"className":3963},[420,459],[399,3965,515],{"className":3966},[514],[399,3968,3970],{"className":3969},[420,749],[399,3971,928],{"className":3972},[420],[399,3974,1879],{"className":3975},[562],[399,3977,515],{"className":3978},[514],[399,3980,804],{"className":3981},[420,459],[399,3983,1879],{"className":3984},[562],"\nconsists of an optimal path realizing ",[399,3987,3989],{"className":3988},[402],[399,3990,3992,4023],{"className":3991,"ariaHidden":407},[406],[399,3993,3995,3998,4001,4004,4007,4013,4016,4020],{"className":3994},[411],[399,3996],{"className":3997,"style":510},[415],[399,3999,1739],{"className":4000},[420,459],[399,4002,381],{"className":4003},[420,459],[399,4005,515],{"className":4006},[514],[399,4008,4010],{"className":4009},[420,749],[399,4011,928],{"className":4012},[420],[399,4014],{"className":4015,"style":731},[528],[399,4017,4019],{"className":4018},[735],"∖",[399,4021],{"className":4022,"style":731},[528],[399,4024,4026,4030,4033,4036,4039,4042,4076],{"className":4025},[411],[399,4027],{"className":4028,"style":4029},[415],"height:1.0019em;vertical-align:-0.25em;",[399,4031,2328],{"className":4032},[514],[399,4034,804],{"className":4035},[420,459],[399,4037,3088],{"className":4038},[562],[399,4040,515],{"className":4041},[514],[399,4043,4045,4048],{"className":4044},[420],[399,4046,804],{"className":4047},[420,459],[399,4049,4051],{"className":4050},[428],[399,4052,4054],{"className":4053},[432],[399,4055,4057],{"className":4056},[436],[399,4058,4061],{"className":4059,"style":4060},[440],"height:0.7519em;",[399,4062,4063,4066],{"style":443},[399,4064],{"className":4065,"style":448},[447],[399,4067,4069],{"className":4068},[452,453,454,455],[399,4070,4072],{"className":4071},[420,455],[399,4073,4075],{"className":4074},[420,455],"′",[399,4077,1879],{"className":4078},[562]," for\nsome ",[399,4081,4083],{"className":4082},[402],[399,4084,4086],{"className":4085,"ariaHidden":407},[406],[399,4087,4089,4092],{"className":4088},[411],[399,4090],{"className":4091,"style":4060},[415],[399,4093,4095,4098],{"className":4094},[420],[399,4096,804],{"className":4097},[420,459],[399,4099,4101],{"className":4100},[428],[399,4102,4104],{"className":4103},[432],[399,4105,4107],{"className":4106},[436],[399,4108,4110],{"className":4109,"style":4060},[440],[399,4111,4112,4115],{"style":443},[399,4113],{"className":4114,"style":448},[447],[399,4116,4118],{"className":4117},[452,453,454,455],[399,4119,4121],{"className":4120},[420,455],[399,4122,4075],{"className":4123},[420,455],", followed by the edge ",[399,4126,4128],{"className":4127},[402],[399,4129,4131],{"className":4130,"ariaHidden":407},[406],[399,4132,4134,4137,4140,4172,4175,4178,4181],{"className":4133},[411],[399,4135],{"className":4136,"style":4029},[415],[399,4138,670],{"className":4139},[514],[399,4141,4143,4146],{"className":4142},[420],[399,4144,804],{"className":4145},[420,459],[399,4147,4149],{"className":4148},[428],[399,4150,4152],{"className":4151},[432],[399,4153,4155],{"className":4154},[436],[399,4156,4158],{"className":4157,"style":4060},[440],[399,4159,4160,4163],{"style":443},[399,4161],{"className":4162,"style":448},[447],[399,4164,4166],{"className":4165},[452,453,454,455],[399,4167,4169],{"className":4168},[420,455],[399,4170,4075],{"className":4171},[420,455],[399,4173,524],{"className":4174},[523],[399,4176],{"className":4177,"style":529},[528],[399,4179,804],{"className":4180},[420,459],[399,4182,563],{"className":4183},[562],[1841,4185,4187],{"type":4186},"proof",[381,4188,4189,4192,4193,4195,4196,4211,4212,4256,4257,4272,4273,4315,4316,4360,4361,4405,4406,4465,4466,4528,4529,4573,4574],{},[390,4190,4191],{},"Proof."," The path visits the cities of ",[931,4194,928],{},", ending at ",[399,4197,4199],{"className":4198},[402],[399,4200,4202],{"className":4201,"ariaHidden":407},[406],[399,4203,4205,4208],{"className":4204},[411],[399,4206],{"className":4207,"style":800},[415],[399,4209,804],{"className":4210},[420,459],"; let ",[399,4213,4215],{"className":4214},[402],[399,4216,4218],{"className":4217,"ariaHidden":407},[406],[399,4219,4221,4224],{"className":4220},[411],[399,4222],{"className":4223,"style":4060},[415],[399,4225,4227,4230],{"className":4226},[420],[399,4228,804],{"className":4229},[420,459],[399,4231,4233],{"className":4232},[428],[399,4234,4236],{"className":4235},[432],[399,4237,4239],{"className":4238},[436],[399,4240,4242],{"className":4241,"style":4060},[440],[399,4243,4244,4247],{"style":443},[399,4245],{"className":4246,"style":448},[447],[399,4248,4250],{"className":4249},[452,453,454,455],[399,4251,4253],{"className":4252},[420,455],[399,4254,4075],{"className":4255},[420,455]," be the\ncity visited just before ",[399,4258,4260],{"className":4259},[402],[399,4261,4263],{"className":4262,"ariaHidden":407},[406],[399,4264,4266,4269],{"className":4265},[411],[399,4267],{"className":4268,"style":800},[415],[399,4270,804],{"className":4271},[420,459],". Deleting the final edge leaves a path over\n",[399,4274,4276],{"className":4275},[402],[399,4277,4279,4300],{"className":4278,"ariaHidden":407},[406],[399,4280,4282,4285,4291,4294,4297],{"className":4281},[411],[399,4283],{"className":4284,"style":510},[415],[399,4286,4288],{"className":4287},[420,749],[399,4289,928],{"className":4290},[420],[399,4292],{"className":4293,"style":731},[528],[399,4295,4019],{"className":4296},[735],[399,4298],{"className":4299,"style":731},[528],[399,4301,4303,4306,4309,4312],{"className":4302},[411],[399,4304],{"className":4305,"style":510},[415],[399,4307,2328],{"className":4308},[514],[399,4310,804],{"className":4311},[420,459],[399,4313,2362],{"className":4314},[562]," ending at ",[399,4317,4319],{"className":4318},[402],[399,4320,4322],{"className":4321,"ariaHidden":407},[406],[399,4323,4325,4328],{"className":4324},[411],[399,4326],{"className":4327,"style":4060},[415],[399,4329,4331,4334],{"className":4330},[420],[399,4332,804],{"className":4333},[420,459],[399,4335,4337],{"className":4336},[428],[399,4338,4340],{"className":4339},[432],[399,4341,4343],{"className":4342},[436],[399,4344,4346],{"className":4345,"style":4060},[440],[399,4347,4348,4351],{"style":443},[399,4349],{"className":4350,"style":448},[447],[399,4352,4354],{"className":4353},[452,453,454,455],[399,4355,4357],{"className":4356},[420,455],[399,4358,4075],{"className":4359},[420,455],". If that prefix were not minimal, we\ncould substitute a cheaper prefix to ",[399,4362,4364],{"className":4363},[402],[399,4365,4367],{"className":4366,"ariaHidden":407},[406],[399,4368,4370,4373],{"className":4369},[411],[399,4371],{"className":4372,"style":4060},[415],[399,4374,4376,4379],{"className":4375},[420],[399,4377,804],{"className":4378},[420,459],[399,4380,4382],{"className":4381},[428],[399,4383,4385],{"className":4384},[432],[399,4386,4388],{"className":4387},[436],[399,4389,4391],{"className":4390,"style":4060},[440],[399,4392,4393,4396],{"style":443},[399,4394],{"className":4395,"style":448},[447],[399,4397,4399],{"className":4398},[452,453,454,455],[399,4400,4402],{"className":4401},[420,455],[399,4403,4075],{"className":4404},[420,455]," and append ",[399,4407,4409],{"className":4408},[402],[399,4410,4412],{"className":4411,"ariaHidden":407},[406],[399,4413,4415,4418,4421,4453,4456,4459,4462],{"className":4414},[411],[399,4416],{"className":4417,"style":4029},[415],[399,4419,670],{"className":4420},[514],[399,4422,4424,4427],{"className":4423},[420],[399,4425,804],{"className":4426},[420,459],[399,4428,4430],{"className":4429},[428],[399,4431,4433],{"className":4432},[432],[399,4434,4436],{"className":4435},[436],[399,4437,4439],{"className":4438,"style":4060},[440],[399,4440,4441,4444],{"style":443},[399,4442],{"className":4443,"style":448},[447],[399,4445,4447],{"className":4446},[452,453,454,455],[399,4448,4450],{"className":4449},[420,455],[399,4451,4075],{"className":4452},[420,455],[399,4454,524],{"className":4455},[523],[399,4457],{"className":4458,"style":529},[528],[399,4460,804],{"className":4461},[420,459],[399,4463,563],{"className":4464},[562],", contradicting the\noptimality of the whole; the suffix edge cost ",[399,4467,4469],{"className":4468},[402],[399,4470,4472],{"className":4471,"ariaHidden":407},[406],[399,4473,4475,4478,4481,4484,4516,4519,4522,4525],{"className":4474},[411],[399,4476],{"className":4477,"style":4029},[415],[399,4479,1739],{"className":4480},[420,459],[399,4482,670],{"className":4483},[514],[399,4485,4487,4490],{"className":4486},[420],[399,4488,804],{"className":4489},[420,459],[399,4491,4493],{"className":4492},[428],[399,4494,4496],{"className":4495},[432],[399,4497,4499],{"className":4498},[436],[399,4500,4502],{"className":4501,"style":4060},[440],[399,4503,4504,4507],{"style":443},[399,4505],{"className":4506,"style":448},[447],[399,4508,4510],{"className":4509},[452,453,454,455],[399,4511,4513],{"className":4512},[420,455],[399,4514,4075],{"className":4515},[420,455],[399,4517,524],{"className":4518},[523],[399,4520],{"className":4521,"style":529},[528],[399,4523,804],{"className":4524},[420,459],[399,4526,563],{"className":4527},[562]," does not depend on how\n",[399,4530,4532],{"className":4531},[402],[399,4533,4535],{"className":4534,"ariaHidden":407},[406],[399,4536,4538,4541],{"className":4537},[411],[399,4539],{"className":4540,"style":4060},[415],[399,4542,4544,4547],{"className":4543},[420],[399,4545,804],{"className":4546},[420,459],[399,4548,4550],{"className":4549},[428],[399,4551,4553],{"className":4552},[432],[399,4554,4556],{"className":4555},[436],[399,4557,4559],{"className":4558,"style":4060},[440],[399,4560,4561,4564],{"style":443},[399,4562],{"className":4563,"style":448},[447],[399,4565,4567],{"className":4566},[452,453,454,455],[399,4568,4570],{"className":4569},[420,455],[399,4571,4075],{"className":4572},[420,455]," was reached. ",[399,4575,4577],{"className":4576},[402],[399,4578,4580],{"className":4579,"ariaHidden":407},[406],[399,4581,4583,4587],{"className":4582},[411],[399,4584],{"className":4585,"style":4586},[415],"height:0.675em;",[399,4588,4591],{"className":4589},[1102,4590],"qed",[399,4592,4595],{"className":4593},[420,4594],"amsrm","□",[381,4597,4598,4599,4602,4603,4654,4655,4694,4695,4728,4729,4731,4732,4768,4769,4772],{},"This is exactly ",[390,4600,4601],{},"Shortest Path Visiting All Nodes",": take ",[399,4604,4606],{"className":4605},[402],[399,4607,4609,4645],{"className":4608,"ariaHidden":407},[406],[399,4610,4612,4615,4618,4621,4624,4627,4630,4633,4636,4639,4642],{"className":4611},[411],[399,4613],{"className":4614,"style":510},[415],[399,4616,1739],{"className":4617},[420,459],[399,4619,670],{"className":4620},[514],[399,4622,804],{"className":4623},[420,459],[399,4625,524],{"className":4626},[523],[399,4628],{"className":4629,"style":529},[528],[399,4631,1341],{"className":4632,"style":1340},[420,459],[399,4634,563],{"className":4635},[562],[399,4637],{"className":4638,"style":588},[528],[399,4640,1018],{"className":4641},[592],[399,4643],{"className":4644,"style":588},[528],[399,4646,4648,4651],{"className":4647},[411],[399,4649],{"className":4650,"style":603},[415],[399,4652,774],{"className":4653},[420]," for graph\nedges and run the same ",[399,4656,4658],{"className":4657},[402],[399,4659,4661],{"className":4660,"ariaHidden":407},[406],[399,4662,4664,4667,4670,4673,4676,4682,4685,4688,4691],{"className":4663},[411],[399,4665],{"className":4666,"style":510},[415],[399,4668,1739],{"className":4669},[420,459],[399,4671,381],{"className":4672},[420,459],[399,4674,515],{"className":4675},[514],[399,4677,4679],{"className":4678},[420,749],[399,4680,928],{"className":4681},[420],[399,4683,1879],{"className":4684},[562],[399,4686,515],{"className":4687},[514],[399,4689,804],{"className":4690},[420,459],[399,4692,1879],{"className":4693},[562]," as a BFS over states ",[399,4696,4698],{"className":4697},[402],[399,4699,4701],{"className":4700,"ariaHidden":407},[406],[399,4702,4704,4707,4710,4716,4719,4722,4725],{"className":4703},[411],[399,4705],{"className":4706,"style":510},[415],[399,4708,670],{"className":4709},[514],[399,4711,4713],{"className":4712},[420,749],[399,4714,928],{"className":4715},[420],[399,4717,524],{"className":4718},[523],[399,4720],{"className":4721,"style":529},[528],[399,4723,804],{"className":4724},[420,459],[399,4726,563],{"className":4727},[562],",\nwhere ",[931,4730,928],{}," is the set of nodes visited so far and the answer is the first time\nany state with ",[399,4733,4735],{"className":4734},[402],[399,4736,4738,4759],{"className":4737,"ariaHidden":407},[406],[399,4739,4741,4744,4750,4753,4756],{"className":4740},[411],[399,4742],{"className":4743,"style":921},[415],[399,4745,4747],{"className":4746},[420,749],[399,4748,928],{"className":4749},[420],[399,4751],{"className":4752,"style":588},[528],[399,4754,1018],{"className":4755},[592],[399,4757],{"className":4758,"style":588},[528],[399,4760,4762,4765],{"className":4761},[411],[399,4763],{"className":4764,"style":3129},[415],[399,4766,3134],{"className":4767,"style":3133},[420,459]," is reached. Unlike the single-source\n",[768,4770,4771],{"href":175},"shortest paths"," of weighted graphs, here the\npath must cover every node, which is what forces the subset state.",[781,4774,4776],{"id":4775},"assignment-and-matching-by-mask","Assignment and matching by mask",[381,4778,4779,4780,4783,4784,4799,4800,4815,4816,4833,4834,4849,4850,4884,4885,4888,4889,4932,4933,4935,4936,461],{},"The same idea solves the ",[390,4781,4782],{},"assignment problem",": assign ",[399,4785,4787],{"className":4786},[402],[399,4788,4790],{"className":4789,"ariaHidden":407},[406],[399,4791,4793,4796],{"className":4792},[411],[399,4794],{"className":4795,"style":477},[415],[399,4797,460],{"className":4798},[420,459]," tasks to ",[399,4801,4803],{"className":4802},[402],[399,4804,4806],{"className":4805,"ariaHidden":407},[406],[399,4807,4809,4812],{"className":4808},[411],[399,4810],{"className":4811,"style":477},[415],[399,4813,460],{"className":4814},[420,459]," workers,\nwhere worker ",[399,4817,4819],{"className":4818},[402],[399,4820,4822],{"className":4821,"ariaHidden":407},[406],[399,4823,4825,4828],{"className":4824},[411],[399,4826],{"className":4827,"style":921},[415],[399,4829,4832],{"className":4830,"style":4831},[420,459],"margin-right:0.0315em;","k"," doing task ",[399,4835,4837],{"className":4836},[402],[399,4838,4840],{"className":4839,"ariaHidden":407},[406],[399,4841,4843,4846],{"className":4842},[411],[399,4844],{"className":4845,"style":1336},[415],[399,4847,1341],{"className":4848,"style":1340},[420,459]," costs ",[399,4851,4853],{"className":4852},[402],[399,4854,4856],{"className":4855,"ariaHidden":407},[406],[399,4857,4859,4862,4866,4869,4872,4875,4878,4881],{"className":4858},[411],[399,4860],{"className":4861,"style":510},[415],[399,4863,4865],{"className":4864},[420,459],"c",[399,4867,515],{"className":4868},[514],[399,4870,4832],{"className":4871,"style":4831},[420,459],[399,4873,1879],{"className":4874},[562],[399,4876,515],{"className":4877},[514],[399,4879,1341],{"className":4880,"style":1340},[420,459],[399,4882,1879],{"className":4883},[562],", minimizing total cost. Here the\nmask tracks ",[385,4886,4887],{},"which tasks have been assigned",". The key observation is that if we\nalways assign workers in order ",[399,4890,4892],{"className":4891},[402],[399,4893,4895],{"className":4894,"ariaHidden":407},[406],[399,4896,4898,4902,4905,4908,4911,4914,4917,4920,4923,4926,4929],{"className":4897},[411],[399,4899],{"className":4900,"style":4901},[415],"height:0.8389em;vertical-align:-0.1944em;",[399,4903,519],{"className":4904},[420],[399,4906,524],{"className":4907},[523],[399,4909],{"className":4910,"style":529},[528],[399,4912,774],{"className":4913},[420],[399,4915,524],{"className":4916},[523],[399,4918],{"className":4919,"style":529},[528],[399,4921,424],{"className":4922},[420],[399,4924,524],{"className":4925},[523],[399,4927],{"className":4928,"style":529},[528],[399,4930,1258],{"className":4931},[1257],", then once ",[931,4934,928],{}," is fixed the\nnumber of workers already placed is determined: it is exactly ",[399,4937,4939],{"className":4938},[402],[399,4940,4942],{"className":4941,"ariaHidden":407},[406],[399,4943,4945,4948,4954,4957,4963],{"className":4944},[411],[399,4946],{"className":4947,"style":510},[415],[399,4949,4951],{"className":4950},[420,749],[399,4952,1084],{"className":4953},[420],[399,4955,670],{"className":4956},[514],[399,4958,4960],{"className":4959},[420,749],[399,4961,928],{"className":4962},[420],[399,4964,563],{"className":4965},[562],[1841,4967,4968],{"type":1843},[381,4969,4970,939,4972,5002,5003,5081,5082,5084,5085,461],{},[390,4971,1848],{},[399,4973,4975],{"className":4974},[402],[399,4976,4978],{"className":4977,"ariaHidden":407},[406],[399,4979,4981,4984,4987,4990,4993,4999],{"className":4980},[411],[399,4982],{"className":4983,"style":510},[415],[399,4985,1739],{"className":4986},[420,459],[399,4988,381],{"className":4989},[420,459],[399,4991,515],{"className":4992},[514],[399,4994,4996],{"className":4995},[420,749],[399,4997,928],{"className":4998},[420],[399,5000,1879],{"className":5001},[562]," = the minimum cost of assigning workers\n",[399,5004,5006],{"className":5005},[402],[399,5007,5009,5072],{"className":5008,"ariaHidden":407},[406],[399,5010,5012,5015,5018,5021,5024,5027,5030,5033,5036,5039,5042,5045,5051,5054,5060,5063,5066,5069],{"className":5011},[411],[399,5013],{"className":5014,"style":510},[415],[399,5016,519],{"className":5017},[420],[399,5019,524],{"className":5020},[523],[399,5022],{"className":5023,"style":529},[528],[399,5025,774],{"className":5026},[420],[399,5028,524],{"className":5029},[523],[399,5031],{"className":5032,"style":529},[528],[399,5034,1258],{"className":5035},[1257],[399,5037],{"className":5038,"style":529},[528],[399,5040,524],{"className":5041},[523],[399,5043],{"className":5044,"style":529},[528],[399,5046,5048],{"className":5047},[420,749],[399,5049,1084],{"className":5050},[420],[399,5052,670],{"className":5053},[514],[399,5055,5057],{"className":5056},[420,749],[399,5058,928],{"className":5059},[420],[399,5061,563],{"className":5062},[562],[399,5064],{"className":5065,"style":731},[528],[399,5067,1005],{"className":5068},[735],[399,5070],{"className":5071,"style":731},[528],[399,5073,5075,5078],{"className":5074},[411],[399,5076],{"className":5077,"style":603},[415],[399,5079,774],{"className":5080},[420]," to precisely the set of tasks in\n",[931,5083,928],{},". The next worker to place is ",[399,5086,5088],{"className":5087},[402],[399,5089,5091,5109],{"className":5090,"ariaHidden":407},[406],[399,5092,5094,5097,5100,5103,5106],{"className":5093},[411],[399,5095],{"className":5096,"style":921},[415],[399,5098,4832],{"className":5099,"style":4831},[420,459],[399,5101],{"className":5102,"style":588},[528],[399,5104,1018],{"className":5105},[592],[399,5107],{"className":5108,"style":588},[528],[399,5110,5112,5115,5121,5124,5130],{"className":5111},[411],[399,5113],{"className":5114,"style":510},[415],[399,5116,5118],{"className":5117},[420,749],[399,5119,1084],{"className":5120},[420],[399,5122,670],{"className":5123},[514],[399,5125,5127],{"className":5126},[420,749],[399,5128,928],{"className":5129},[420],[399,5131,563],{"className":5132},[562],[381,5134,5135,5136,5151,5152,5167],{},"The transition gives worker ",[399,5137,5139],{"className":5138},[402],[399,5140,5142],{"className":5141,"ariaHidden":407},[406],[399,5143,5145,5148],{"className":5144},[411],[399,5146],{"className":5147,"style":921},[415],[399,5149,4832],{"className":5150,"style":4831},[420,459]," each task ",[399,5153,5155],{"className":5154},[402],[399,5156,5158],{"className":5157,"ariaHidden":407},[406],[399,5159,5161,5164],{"className":5160},[411],[399,5162],{"className":5163,"style":1336},[415],[399,5165,1341],{"className":5166,"style":1340},[420,459]," not yet used:",[399,5169,5171],{"className":5170},[2748],[399,5172,5174],{"className":5173},[402],[399,5175,5177,5210,5255,5382,5437],{"className":5176,"ariaHidden":407},[406],[399,5178,5180,5183,5186,5189,5195,5201,5204,5207],{"className":5179},[411],[399,5181],{"className":5182,"style":2761},[415],[399,5184,1739],{"className":5185},[420,459],[399,5187,381],{"className":5188},[420,459],[399,5190,5192],{"className":5191},[514],[399,5193,515],{"className":5194},[2774,2775],[399,5196,5198],{"className":5197},[420,749],[399,5199,928],{"className":5200},[420],[399,5202],{"className":5203,"style":588},[528],[399,5205,1641],{"className":5206},[592],[399,5208],{"className":5209,"style":588},[528],[399,5211,5213,5216,5219,5222,5228,5231,5234,5240,5243,5246,5249,5252],{"className":5212},[411],[399,5214],{"className":5215,"style":2761},[415],[399,5217,670],{"className":5218},[514],[399,5220,774],{"className":5221},[420],[399,5223,5225],{"className":5224},[420],[399,5226,1663],{"className":5227},[592],[399,5229,1341],{"className":5230,"style":1340},[420,459],[399,5232,563],{"className":5233},[562],[399,5235,5237],{"className":5236},[562],[399,5238,1879],{"className":5239},[2774,2775],[399,5241],{"className":5242,"style":588},[528],[399,5244],{"className":5245,"style":588},[528],[399,5247,1018],{"className":5248},[592],[399,5250],{"className":5251,"style":588},[528],[399,5253],{"className":5254,"style":588},[528],[399,5256,5258,5261,5349,5355,5358,5361,5364,5370,5373,5376,5379],{"className":5257},[411],[399,5259],{"className":5260,"style":2851},[415],[399,5262,5264,5270],{"className":5263},[2855],[399,5265,5267],{"className":5266},[2855],[399,5268,2863],{"className":5269},[420,2862],[399,5271,5273],{"className":5272},[428],[399,5274,5276,5341],{"className":5275},[432,2870],[399,5277,5279,5338],{"className":5278},[436],[399,5280,5282],{"className":5281,"style":2877},[440],[399,5283,5284,5287],{"style":2880},[399,5285],{"className":5286,"style":448},[447],[399,5288,5290],{"className":5289},[452,453,454,455],[399,5291,5293,5296,5332],{"className":5292},[420,455],[399,5294,1341],{"className":5295,"style":1340},[420,459,455],[399,5297,5299,5305],{"className":5298},[592,455],[399,5300,5302],{"className":5301},[420,455],[399,5303,911],{"className":5304},[592,455],[399,5306,5308],{"className":5307},[420,2927,455],[399,5309,5311],{"className":5310},[2931,455],[399,5312,5314,5317,5329],{"className":5313},[2935,455],[399,5315],{"className":5316,"style":510},[415],[399,5318,5320],{"className":5319},[2942],[399,5321,5323,5326],{"className":5322},[420,455],[399,5324,2949],{"className":5325},[420,455],[399,5327],{"className":5328,"style":2953},[528,455],[399,5330],{"className":5331},[2957],[399,5333,5335],{"className":5334},[420,749,455],[399,5336,928],{"className":5337},[420,455],[399,5339,2968],{"className":5340},[2967],[399,5342,5344],{"className":5343},[436],[399,5345,5347],{"className":5346,"style":2975},[440],[399,5348],{},[399,5350,5352],{"className":5351},[514],[399,5353,670],{"className":5354},[2774,2984],[399,5356,1739],{"className":5357},[420,459],[399,5359,381],{"className":5360},[420,459],[399,5362,515],{"className":5363},[514],[399,5365,5367],{"className":5366},[420,749],[399,5368,928],{"className":5369},[420],[399,5371,1879],{"className":5372},[562],[399,5374],{"className":5375,"style":731},[528],[399,5377,1047],{"className":5378},[735],[399,5380],{"className":5381,"style":731},[528],[399,5383,5385,5388,5391,5394,5397,5400,5403,5406,5409,5415,5418,5422,5425,5428,5431,5434],{"className":5384},[411],[399,5386],{"className":5387,"style":2851},[415],[399,5389,4865],{"className":5390},[420,459],[399,5392,515],{"className":5393},[514],[399,5395,4832],{"className":5396,"style":4831},[420,459],[399,5398,1879],{"className":5399},[562],[399,5401,515],{"className":5402},[514],[399,5404,1341],{"className":5405,"style":1340},[420,459],[399,5407,1879],{"className":5408},[562],[399,5410,5412],{"className":5411},[562],[399,5413,563],{"className":5414},[2774,2984],[399,5416,524],{"className":5417},[523],[399,5419],{"className":5420,"style":5421},[528],"margin-right:2em;",[399,5423],{"className":5424,"style":529},[528],[399,5426,4832],{"className":5427,"style":4831},[420,459],[399,5429],{"className":5430,"style":588},[528],[399,5432,1018],{"className":5433},[592],[399,5435],{"className":5436,"style":588},[528],[399,5438,5440,5443,5449,5452,5458,5461],{"className":5439},[411],[399,5441],{"className":5442,"style":510},[415],[399,5444,5446],{"className":5445},[420,749],[399,5447,1084],{"className":5448},[420],[399,5450,670],{"className":5451},[514],[399,5453,5455],{"className":5454},[420,749],[399,5456,928],{"className":5457},[420],[399,5459,563],{"className":5460},[562],[399,5462,461],{"className":5463},[420],[1351,5465,5467,5773],{"className":5466},[1354,1355],[1357,5468,5472],{"xmlns":1359,"width":5469,"height":5470,"viewBox":5471},"332.184","136.426","-75 -75 249.138 102.319",[1364,5473,5474,5481,5484,5490,5502,5513,5516,5522,5538,5552,5566,5580,5621,5668,5679,5690,5719,5746],{"stroke":1366,"style":1367},[1364,5475,5477],{"transform":5476},"translate(-55.11 2.778)",[1369,5478],{"d":5479,"fill":1366,"stroke":1366,"className":5480,"style":1381},"M-4.992 0.060L-6.848 0.060L-6.848-0.237Q-6.574-0.237-6.406-0.284Q-6.238-0.331-6.238-0.499L-6.238-2.635Q-6.238-2.850-6.301-2.946Q-6.363-3.042-6.482-3.063Q-6.601-3.085-6.848-3.085L-6.848-3.381L-5.656-3.467L-5.656-2.733Q-5.543-2.948-5.349-3.116Q-5.156-3.284-4.918-3.376Q-4.680-3.467-4.426-3.467Q-3.465-3.467-3.289-2.756Q-3.105-3.085-2.777-3.276Q-2.449-3.467-2.070-3.467Q-0.894-3.467-0.894-2.389L-0.894-0.499Q-0.894-0.331-0.726-0.284Q-0.558-0.237-0.289-0.237L-0.289 0.060L-2.144 0.060L-2.144-0.237Q-1.871-0.237-1.703-0.282Q-1.535-0.327-1.535-0.499L-1.535-2.374Q-1.535-2.760-1.660-2.987Q-1.785-3.213-2.137-3.213Q-2.441-3.213-2.697-3.051Q-2.953-2.889-3.101-2.620Q-3.250-2.350-3.250-2.053L-3.250-0.499Q-3.250-0.331-3.080-0.284Q-2.910-0.237-2.640-0.237L-2.640 0.060L-4.496 0.060L-4.496-0.237Q-4.223-0.237-4.055-0.284Q-3.887-0.331-3.887-0.499L-3.887-2.374Q-3.887-2.760-4.012-2.987Q-4.137-3.213-4.488-3.213Q-4.793-3.213-5.049-3.051Q-5.305-2.889-5.453-2.620Q-5.601-2.350-5.601-2.053L-5.601-0.499Q-5.601-0.331-5.431-0.284Q-5.262-0.237-4.992-0.237L-4.992 0.060M0.254-0.772Q0.254-1.256 0.656-1.551Q1.059-1.846 1.610-1.965Q2.160-2.085 2.652-2.085L2.652-2.374Q2.652-2.600 2.537-2.807Q2.422-3.014 2.225-3.133Q2.027-3.252 1.797-3.252Q1.371-3.252 1.086-3.147Q1.156-3.120 1.203-3.065Q1.250-3.010 1.276-2.940Q1.301-2.870 1.301-2.795Q1.301-2.690 1.250-2.598Q1.199-2.506 1.108-2.456Q1.016-2.405 0.910-2.405Q0.805-2.405 0.713-2.456Q0.621-2.506 0.570-2.598Q0.520-2.690 0.520-2.795Q0.520-3.213 0.908-3.360Q1.297-3.506 1.797-3.506Q2.129-3.506 2.483-3.376Q2.836-3.245 3.065-2.991Q3.293-2.737 3.293-2.389L3.293-0.588Q3.293-0.456 3.365-0.346Q3.438-0.237 3.567-0.237Q3.692-0.237 3.760-0.342Q3.828-0.448 3.828-0.588L3.828-1.100L4.110-1.100L4.110-0.588Q4.110-0.385 3.992-0.227Q3.875-0.069 3.694 0.015Q3.512 0.099 3.309 0.099Q3.078 0.099 2.926-0.073Q2.774-0.245 2.742-0.475Q2.582-0.194 2.274-0.028Q1.965 0.138 1.613 0.138Q1.102 0.138 0.678-0.085Q0.254-0.307 0.254-0.772M0.942-0.772Q0.942-0.487 1.168-0.301Q1.395-0.116 1.688-0.116Q1.934-0.116 2.158-0.233Q2.383-0.350 2.518-0.553Q2.652-0.756 2.652-1.010L2.652-1.842Q2.387-1.842 2.102-1.788Q1.817-1.733 1.545-1.604Q1.274-1.475 1.108-1.268Q0.942-1.061 0.942-0.772M4.445 0.052L4.445-1.170Q4.445-1.198 4.477-1.229Q4.508-1.260 4.531-1.260L4.637-1.260Q4.707-1.260 4.723-1.198Q4.785-0.877 4.924-0.637Q5.063-0.397 5.295-0.256Q5.527-0.116 5.836-0.116Q6.074-0.116 6.283-0.176Q6.492-0.237 6.629-0.385Q6.766-0.534 6.766-0.780Q6.766-1.034 6.555-1.200Q6.344-1.366 6.074-1.420L5.453-1.534Q5.047-1.612 4.746-1.868Q4.445-2.124 4.445-2.499Q4.445-2.866 4.647-3.088Q4.848-3.311 5.172-3.409Q5.496-3.506 5.836-3.506Q6.301-3.506 6.598-3.299L6.820-3.483Q6.844-3.506 6.875-3.506L6.926-3.506Q6.957-3.506 6.985-3.479Q7.012-3.452 7.012-3.420L7.012-2.436Q7.012-2.405 6.986-2.376Q6.961-2.346 6.926-2.346L6.820-2.346Q6.785-2.346 6.758-2.374Q6.731-2.401 6.731-2.436Q6.731-2.835 6.479-3.055Q6.227-3.276 5.828-3.276Q5.473-3.276 5.190-3.153Q4.906-3.030 4.906-2.725Q4.906-2.506 5.108-2.374Q5.309-2.241 5.555-2.198L6.180-2.085Q6.610-1.995 6.918-1.698Q7.227-1.401 7.227-0.987Q7.227-0.417 6.828-0.139Q6.430 0.138 5.836 0.138Q5.285 0.138 4.934-0.198L4.637 0.115Q4.613 0.138 4.578 0.138L4.531 0.138Q4.508 0.138 4.477 0.107Q4.445 0.076 4.445 0.052M9.578 0.060L7.781 0.060L7.781-0.237Q8.051-0.237 8.219-0.282Q8.387-0.327 8.387-0.499L8.387-4.659Q8.387-4.874 8.324-4.969Q8.262-5.065 8.145-5.086Q8.027-5.108 7.781-5.108L7.781-5.405L9.004-5.491L9.004-1.725L10.102-2.612Q10.309-2.792 10.309-2.940Q10.309-3.006 10.256-3.049Q10.203-3.092 10.133-3.092L10.133-3.389L11.668-3.389L11.668-3.092Q11.137-3.092 10.539-2.612L9.930-2.116L11.004-0.717Q11.141-0.542 11.248-0.434Q11.356-0.327 11.490-0.282Q11.625-0.237 11.852-0.237L11.852 0.060L10.227 0.060L10.227-0.237Q10.469-0.237 10.469-0.389Q10.469-0.467 10.426-0.538Q10.383-0.608 10.301-0.717L9.500-1.764L8.973-1.338L8.973-0.499Q8.973-0.331 9.141-0.284Q9.309-0.237 9.578-0.237",[1380],[1369,5482],{"fill":1371,"d":5483},"M-17.118 10.018H2.799V-9.899h-19.917Z",[1364,5485,5486],{"transform":2439},[1369,5487],{"d":5488,"fill":1366,"stroke":1366,"className":5489,"style":2024},"M-4.848 0.258Q-5.973 0.258-6.387-0.639Q-6.800-1.535-6.800-2.810Q-6.800-3.583-6.650-4.282Q-6.501-4.981-6.066-5.457Q-5.631-5.934-4.848-5.934Q-4.071-5.934-3.636-5.455Q-3.201-4.976-3.051-4.280Q-2.902-3.583-2.902-2.810Q-2.902-1.531-3.315-0.637Q-3.728 0.258-4.848 0.258M-4.848-0.002Q-4.330-0.002-4.079-0.513Q-3.829-1.025-3.772-1.636Q-3.715-2.247-3.715-2.955Q-3.715-3.640-3.772-4.200Q-3.829-4.761-4.082-5.218Q-4.334-5.675-4.848-5.675Q-5.253-5.675-5.490-5.398Q-5.727-5.121-5.835-4.680Q-5.943-4.238-5.967-3.845Q-5.991-3.451-5.991-2.955Q-5.991-2.449-5.967-2.021Q-5.943-1.592-5.835-1.109Q-5.727-0.626-5.488-0.314Q-5.248-0.002-4.848-0.002",[1380],[1364,5491,5492,5495],{"fill":1444},[1369,5493],{"d":5494},"M4.222 10.018h19.916V-9.899H4.222Z",[1364,5496,5498],{"transform":5497},"translate(19.027 2.9)",[1369,5499],{"d":5500,"fill":1366,"stroke":1366,"className":5501,"style":2024},"M-3.253 0.060L-6.285 0.060L-6.285-0.256Q-5.134-0.256-5.134-0.551L-5.134-5.275Q-5.622-5.042-6.343-5.042L-6.343-5.358Q-5.213-5.358-4.651-5.934L-4.506-5.934Q-4.471-5.934-4.438-5.901Q-4.405-5.868-4.405-5.833L-4.405-0.551Q-4.405-0.256-3.253-0.256",[1380],[1364,5503,5504,5507],{"fill":1444},[1369,5505],{"d":5506},"M25.561 10.018h19.917V-9.899H25.561Z",[1364,5508,5510],{"transform":5509},"translate(40.367 2.9)",[1369,5511],{"d":5500,"fill":1366,"stroke":1366,"className":5512,"style":2024},[1380],[1369,5514],{"fill":1371,"d":5515},"M46.9 10.018h19.918V-9.899H46.9Z",[1364,5517,5519],{"transform":5518},"translate(61.706 2.9)",[1369,5520],{"d":5488,"fill":1366,"stroke":1366,"className":5521,"style":2024},[1380],[1364,5523,5524,5531],{"stroke":1371},[1364,5525,5527],{"transform":5526},"translate(-3.618 19.545)",[1369,5528],{"d":5529,"fill":1366,"stroke":1366,"className":5530,"style":1381},"M-6.609-0.612Q-6.609-0.721-6.586-0.827L-6.015-3.092L-6.863-3.092Q-6.969-3.120-6.969-3.221L-6.945-3.323Q-6.926-3.374-6.848-3.389L-5.945-3.389L-5.625-4.651Q-5.598-4.780-5.492-4.860Q-5.387-4.940-5.258-4.940Q-5.148-4.940-5.070-4.866Q-4.992-4.792-4.992-4.682Q-4.992-4.635-5-4.612L-5.305-3.389L-4.457-3.389Q-4.359-3.358-4.359-3.268L-4.383-3.163Q-4.390-3.112-4.473-3.092L-5.375-3.092L-5.961-0.772Q-6-0.526-6-0.475Q-6-0.116-5.754-0.116Q-5.390-0.116-5.113-0.432Q-4.836-0.749-4.687-1.139Q-4.656-1.186-4.609-1.186L-4.504-1.186Q-4.465-1.186-4.441-1.157Q-4.418-1.127-4.418-1.092Q-4.418-1.077-4.426-1.061Q-4.609-0.577-4.963-0.219Q-5.316 0.138-5.769 0.138Q-6.113 0.138-6.361-0.069Q-6.609-0.276-6.609-0.612",[1380],[1364,5532,5533],{"transform":5526},[1369,5534],{"d":5535,"fill":1366,"stroke":1366,"className":5536,"style":5537},"M-3.317 0.720Q-3.021 1.057-2.291 1.057Q-2.033 1.057-1.853 0.929Q-1.673 0.802-1.585 0.594Q-1.497 0.386-1.497 0.128Q-1.497-0.267-1.704-0.538Q-1.910-0.809-2.297-0.809L-2.763-0.809Q-2.827-0.824-2.842-0.886L-2.842-0.953Q-2.827-1.009-2.763-1.026L-2.361-1.050Q-2.151-1.050-1.982-1.192Q-1.814-1.334-1.721-1.548Q-1.629-1.762-1.629-1.978Q-1.629-2.266-1.814-2.431Q-1.998-2.597-2.291-2.597Q-2.552-2.597-2.776-2.529Q-3-2.462-3.147-2.304Q-3.018-2.286-2.939-2.197Q-2.860-2.107-2.860-1.978Q-2.860-1.841-2.955-1.746Q-3.050-1.650-3.191-1.650Q-3.325-1.650-3.422-1.747Q-3.519-1.844-3.519-1.978Q-3.519-2.266-3.328-2.457Q-3.138-2.649-2.857-2.734Q-2.575-2.819-2.291-2.819Q-2.016-2.819-1.715-2.728Q-1.415-2.638-1.207-2.449Q-0.999-2.260-0.999-1.978Q-0.999-1.609-1.245-1.337Q-1.491-1.064-1.863-0.935Q-1.444-0.842-1.127-0.559Q-0.809-0.276-0.809 0.122Q-0.809 0.485-1.028 0.751Q-1.248 1.016-1.594 1.156Q-1.940 1.297-2.291 1.297Q-2.514 1.297-2.761 1.249Q-3.009 1.200-3.229 1.090Q-3.448 0.981-3.580 0.802Q-3.712 0.623-3.712 0.368Q-3.712 0.219-3.610 0.116Q-3.507 0.014-3.358 0.014Q-3.208 0.014-3.106 0.116Q-3.003 0.219-3.003 0.368Q-3.003 0.500-3.092 0.601Q-3.182 0.702-3.317 0.720",[1380],"stroke-width:0.180",[1364,5539,5540,5546],{"stroke":1371},[1364,5541,5543],{"transform":5542},"translate(17.722 19.545)",[1369,5544],{"d":5529,"fill":1366,"stroke":1366,"className":5545,"style":1381},[1380],[1364,5547,5548],{"transform":5542},[1369,5549],{"d":5550,"fill":1366,"stroke":1366,"className":5551,"style":5537},"M-1.049 1.171L-3.659 1.171L-3.659 0.986Q-3.653 0.963-3.633 0.937L-2.482-0.118Q-2.142-0.429-1.962-0.615Q-1.781-0.801-1.636-1.061Q-1.491-1.322-1.491-1.618Q-1.491-1.891-1.617-2.106Q-1.743-2.321-1.963-2.441Q-2.183-2.561-2.458-2.561Q-2.634-2.561-2.804-2.504Q-2.974-2.447-3.106-2.340Q-3.237-2.233-3.317-2.075Q-3.229-2.075-3.151-2.031Q-3.073-1.987-3.029-1.911Q-2.986-1.835-2.986-1.738Q-2.986-1.598-3.082-1.501Q-3.179-1.404-3.322-1.404Q-3.460-1.404-3.560-1.504Q-3.659-1.603-3.659-1.738Q-3.659-2.063-3.469-2.311Q-3.278-2.558-2.975-2.689Q-2.672-2.819-2.356-2.819Q-1.975-2.819-1.632-2.684Q-1.289-2.550-1.075-2.277Q-0.861-2.005-0.861-1.618Q-0.861-1.343-0.986-1.116Q-1.111-0.889-1.291-0.717Q-1.471-0.546-1.796-0.306Q-2.121-0.065-2.206 0.002L-2.962 0.606L-2.429 0.606Q-1.940 0.606-1.609 0.598Q-1.277 0.591-1.263 0.576Q-1.204 0.506-1.172 0.371Q-1.140 0.236-1.108 0.025L-0.861 0.025",[1380],[1364,5553,5554,5560],{"stroke":1371},[1364,5555,5557],{"transform":5556},"translate(39.061 19.545)",[1369,5558],{"d":5529,"fill":1366,"stroke":1366,"className":5559,"style":1381},[1380],[1364,5561,5562],{"transform":5556},[1369,5563],{"d":5564,"fill":1366,"stroke":1366,"className":5565,"style":5537},"M-1.049 1.171L-3.340 1.171L-3.340 0.913Q-2.464 0.913-2.464 0.740L-2.464-2.339Q-2.657-2.251-2.889-2.214Q-3.120-2.178-3.375-2.178L-3.375-2.435Q-2.997-2.435-2.676-2.520Q-2.356-2.605-2.127-2.819L-2.007-2.819Q-1.975-2.819-1.950-2.796Q-1.925-2.772-1.925-2.734L-1.925 0.740Q-1.925 0.913-1.049 0.913",[1380],[1364,5567,5568,5574],{"stroke":1371},[1364,5569,5571],{"transform":5570},"translate(60.4 19.545)",[1369,5572],{"d":5529,"fill":1366,"stroke":1366,"className":5573,"style":1381},[1380],[1364,5575,5576],{"transform":5570},[1369,5577],{"d":5578,"fill":1366,"stroke":1366,"className":5579,"style":5537},"M-2.259 1.297Q-2.821 1.297-3.151 1.010Q-3.481 0.723-3.608 0.273Q-3.736-0.177-3.736-0.742Q-3.736-1.146-3.670-1.511Q-3.604-1.876-3.441-2.172Q-3.278-2.468-2.987-2.643Q-2.695-2.819-2.259-2.819Q-1.822-2.819-1.532-2.643Q-1.242-2.468-1.078-2.173Q-0.914-1.879-0.850-1.521Q-0.785-1.164-0.785-0.742Q-0.785-0.177-0.913 0.273Q-1.040 0.723-1.367 1.010Q-1.694 1.297-2.259 1.297M-2.259 1.080Q-1.855 1.080-1.660 0.770Q-1.465 0.459-1.421 0.067Q-1.377-0.326-1.377-0.839Q-1.377-1.334-1.421-1.693Q-1.465-2.052-1.660-2.327Q-1.855-2.602-2.259-2.602Q-2.663-2.602-2.858-2.327Q-3.053-2.052-3.097-1.693Q-3.141-1.334-3.141-0.839Q-3.141-0.326-3.097 0.067Q-3.053 0.459-2.858 0.770Q-2.663 1.080-2.259 1.080",[1380],[1364,5581,5582],{"fill":1529,"stroke":1529},[1364,5583,5584,5591,5597,5603,5609,5615],{"fill":1529,"stroke":1371,"fontFamily":1556,"fontSize":1532},[1364,5585,5587],{"transform":5586},"translate(117.118 -5.313)",[1369,5588],{"d":5589,"fill":1529,"stroke":1529,"className":5590,"style":1381},"M-5.039 1.611L-6.894 1.611L-6.894 1.318Q-6.625 1.318-6.457 1.273Q-6.289 1.228-6.289 1.052L-6.289-2.772Q-6.289-2.979-6.445-3.032Q-6.601-3.085-6.894-3.085L-6.894-3.381L-5.672-3.467L-5.672-3.002Q-5.441-3.225-5.127-3.346Q-4.812-3.467-4.473-3.467Q-4-3.467-3.596-3.221Q-3.191-2.975-2.959-2.559Q-2.726-2.143-2.726-1.667Q-2.726-1.292-2.875-0.963Q-3.023-0.635-3.293-0.383Q-3.562-0.131-3.906 0.003Q-4.250 0.138-4.609 0.138Q-4.898 0.138-5.170 0.017Q-5.441-0.104-5.648-0.315L-5.648 1.052Q-5.648 1.228-5.480 1.273Q-5.312 1.318-5.039 1.318L-5.039 1.611M-5.648-2.604L-5.648-0.764Q-5.496-0.475-5.234-0.295Q-4.973-0.116-4.664-0.116Q-4.379-0.116-4.156-0.254Q-3.933-0.393-3.781-0.624Q-3.629-0.854-3.551-1.126Q-3.473-1.397-3.473-1.667Q-3.473-1.999-3.598-2.356Q-3.723-2.713-3.971-2.950Q-4.219-3.186-4.566-3.186Q-4.890-3.186-5.185-3.030Q-5.480-2.874-5.648-2.604",[1380],[1364,5592,5593],{"transform":5586},[1369,5594],{"d":5595,"fill":1529,"stroke":1529,"className":5596,"style":1381},"M-1.963-1.635Q-1.963-2.139-1.707-2.571Q-1.451-3.002-1.015-3.254Q-0.580-3.506-0.080-3.506Q0.307-3.506 0.649-3.362Q0.990-3.217 1.252-2.956Q1.514-2.694 1.656-2.358Q1.799-2.022 1.799-1.635Q1.799-1.143 1.535-0.733Q1.272-0.323 0.842-0.092Q0.412 0.138-0.080 0.138Q-0.572 0.138-1.006-0.094Q-1.439-0.327-1.701-0.735Q-1.963-1.143-1.963-1.635M-0.080-0.139Q0.377-0.139 0.629-0.362Q0.881-0.585 0.969-0.936Q1.057-1.288 1.057-1.733Q1.057-2.163 0.963-2.501Q0.869-2.838 0.615-3.045Q0.361-3.252-0.080-3.252Q-0.728-3.252-0.972-2.836Q-1.217-2.420-1.217-1.733Q-1.217-1.288-1.129-0.936Q-1.041-0.585-0.789-0.362Q-0.537-0.139-0.080-0.139M4.166 1.611L2.311 1.611L2.311 1.318Q2.580 1.318 2.748 1.273Q2.916 1.228 2.916 1.052L2.916-2.772Q2.916-2.979 2.760-3.032Q2.604-3.085 2.311-3.085L2.311-3.381L3.533-3.467L3.533-3.002Q3.764-3.225 4.078-3.346Q4.393-3.467 4.733-3.467Q5.205-3.467 5.610-3.221Q6.014-2.975 6.246-2.559Q6.479-2.143 6.479-1.667Q6.479-1.292 6.330-0.963Q6.182-0.635 5.912-0.383Q5.643-0.131 5.299 0.003Q4.955 0.138 4.596 0.138Q4.307 0.138 4.035 0.017Q3.764-0.104 3.557-0.315L3.557 1.052Q3.557 1.228 3.725 1.273Q3.893 1.318 4.166 1.318L4.166 1.611M3.557-2.604L3.557-0.764Q3.709-0.475 3.971-0.295Q4.233-0.116 4.541-0.116Q4.826-0.116 5.049-0.254Q5.272-0.393 5.424-0.624Q5.576-0.854 5.654-1.126Q5.733-1.397 5.733-1.667Q5.733-1.999 5.608-2.356Q5.483-2.713 5.235-2.950Q4.986-3.186 4.639-3.186Q4.315-3.186 4.020-3.030Q3.725-2.874 3.557-2.604",[1380],[1364,5598,5599],{"transform":5586},[1369,5600],{"d":5601,"fill":1529,"stroke":1529,"className":5602,"style":1381},"M7.288-1.667Q7.288-2.163 7.538-2.588Q7.788-3.014 8.208-3.260Q8.628-3.506 9.128-3.506Q9.667-3.506 10.058-3.381Q10.448-3.256 10.448-2.842Q10.448-2.737 10.398-2.645Q10.347-2.553 10.255-2.502Q10.163-2.452 10.054-2.452Q9.948-2.452 9.857-2.502Q9.765-2.553 9.714-2.645Q9.663-2.737 9.663-2.842Q9.663-3.065 9.831-3.170Q9.609-3.229 9.136-3.229Q8.839-3.229 8.624-3.090Q8.409-2.952 8.278-2.721Q8.148-2.491 8.089-2.221Q8.030-1.952 8.030-1.667Q8.030-1.272 8.163-0.922Q8.296-0.573 8.568-0.356Q8.839-0.139 9.237-0.139Q9.612-0.139 9.888-0.356Q10.163-0.573 10.265-0.932Q10.280-0.995 10.343-0.995L10.448-0.995Q10.484-0.995 10.509-0.967Q10.534-0.940 10.534-0.901L10.534-0.877Q10.402-0.397 10.017-0.129Q9.632 0.138 9.128 0.138Q8.765 0.138 8.431 0.001Q8.097-0.135 7.837-0.385Q7.577-0.635 7.433-0.971Q7.288-1.307 7.288-1.667M11.023-1.635Q11.023-2.139 11.278-2.571Q11.534-3.002 11.970-3.254Q12.405-3.506 12.905-3.506Q13.292-3.506 13.634-3.362Q13.976-3.217 14.237-2.956Q14.499-2.694 14.642-2.358Q14.784-2.022 14.784-1.635Q14.784-1.143 14.521-0.733Q14.257-0.323 13.827-0.092Q13.398 0.138 12.905 0.138Q12.413 0.138 11.980-0.094Q11.546-0.327 11.284-0.735Q11.023-1.143 11.023-1.635M12.905-0.139Q13.362-0.139 13.614-0.362Q13.866-0.585 13.954-0.936Q14.042-1.288 14.042-1.733Q14.042-2.163 13.948-2.501Q13.855-2.838 13.601-3.045Q13.347-3.252 12.905-3.252Q12.257-3.252 12.013-2.836Q11.769-2.420 11.769-1.733Q11.769-1.288 11.857-0.936Q11.944-0.585 12.196-0.362Q12.448-0.139 12.905-0.139M15.952-0.893L15.952-2.635Q15.952-2.850 15.890-2.946Q15.827-3.042 15.708-3.063Q15.589-3.085 15.343-3.085L15.343-3.381L16.589-3.467L16.589-0.917L16.589-0.893Q16.589-0.581 16.644-0.419Q16.698-0.256 16.849-0.186Q16.999-0.116 17.319-0.116Q17.749-0.116 18.023-0.454Q18.296-0.792 18.296-1.237L18.296-2.635Q18.296-2.850 18.234-2.946Q18.171-3.042 18.052-3.063Q17.933-3.085 17.687-3.085L17.687-3.381L18.933-3.467L18.933-0.682Q18.933-0.471 18.995-0.376Q19.058-0.280 19.177-0.258Q19.296-0.237 19.542-0.237L19.542 0.060L18.319 0.138L18.319-0.483Q18.152-0.194 17.870-0.028Q17.589 0.138 17.269 0.138Q15.952 0.138 15.952-0.893M21.917 0.060L20.062 0.060L20.062-0.237Q20.335-0.237 20.503-0.284Q20.671-0.331 20.671-0.499L20.671-2.635Q20.671-2.850 20.609-2.946Q20.546-3.042 20.427-3.063Q20.308-3.085 20.062-3.085L20.062-3.381L21.253-3.467L21.253-2.733Q21.366-2.948 21.560-3.116Q21.753-3.284 21.991-3.376Q22.230-3.467 22.484-3.467Q23.652-3.467 23.652-2.389L23.652-0.499Q23.652-0.331 23.821-0.284Q23.991-0.237 24.261-0.237L24.261 0.060L22.405 0.060L22.405-0.237Q22.679-0.237 22.847-0.284Q23.015-0.331 23.015-0.499L23.015-2.374Q23.015-2.756 22.894-2.985Q22.773-3.213 22.421-3.213Q22.109-3.213 21.855-3.051Q21.601-2.889 21.454-2.620Q21.308-2.350 21.308-2.053L21.308-0.499Q21.308-0.331 21.478-0.284Q21.648-0.237 21.917-0.237",[1380],[1364,5604,5605],{"transform":5586},[1369,5606],{"d":5607,"fill":1529,"stroke":1529,"className":5608,"style":1381},"M25.107-0.901L25.107-3.092L24.404-3.092L24.404-3.346Q24.760-3.346 25.002-3.579Q25.244-3.811 25.355-4.159Q25.467-4.506 25.467-4.862L25.748-4.862L25.748-3.389L26.924-3.389L26.924-3.092L25.748-3.092L25.748-0.917Q25.748-0.596 25.867-0.368Q25.986-0.139 26.267-0.139Q26.447-0.139 26.564-0.262Q26.681-0.385 26.734-0.565Q26.787-0.745 26.787-0.917L26.787-1.389L27.068-1.389L27.068-0.901Q27.068-0.647 26.963-0.407Q26.857-0.167 26.660-0.014Q26.463 0.138 26.205 0.138Q25.889 0.138 25.637 0.015Q25.385-0.108 25.246-0.342Q25.107-0.577 25.107-0.901",[1380],[1364,5610,5611],{"transform":5586},[1369,5612],{"d":5613,"fill":1529,"stroke":1529,"className":5614,"style":1381},"M35.871-0.917L30.558-0.917Q30.480-0.924 30.431-0.973Q30.383-1.022 30.383-1.100Q30.383-1.170 30.430-1.221Q30.476-1.272 30.558-1.284L35.871-1.284Q35.945-1.272 35.992-1.221Q36.039-1.170 36.039-1.100Q36.039-1.022 35.990-0.973Q35.941-0.924 35.871-0.917M35.871-2.604L30.558-2.604Q30.480-2.612 30.431-2.661Q30.383-2.710 30.383-2.788Q30.383-2.858 30.430-2.909Q30.476-2.960 30.558-2.971L35.871-2.971Q35.945-2.960 35.992-2.909Q36.039-2.858 36.039-2.788Q36.039-2.710 35.990-2.661Q35.941-2.612 35.871-2.604",[1380],[1364,5616,5617],{"transform":5586},[1369,5618],{"d":5619,"fill":1529,"stroke":1529,"className":5620,"style":1381},"M42.469 0.060L39.309 0.060L39.309-0.147Q39.309-0.174 39.332-0.206L40.684-1.604Q41.063-1.991 41.311-2.280Q41.559-2.569 41.733-2.926Q41.906-3.284 41.906-3.674Q41.906-4.022 41.774-4.315Q41.641-4.608 41.387-4.786Q41.133-4.963 40.778-4.963Q40.418-4.963 40.127-4.768Q39.836-4.573 39.692-4.245L39.746-4.245Q39.930-4.245 40.055-4.124Q40.180-4.003 40.180-3.811Q40.180-3.631 40.055-3.502Q39.930-3.374 39.746-3.374Q39.567-3.374 39.438-3.502Q39.309-3.631 39.309-3.811Q39.309-4.213 39.529-4.549Q39.750-4.885 40.115-5.073Q40.481-5.260 40.883-5.260Q41.363-5.260 41.779-5.073Q42.196-4.885 42.447-4.524Q42.699-4.163 42.699-3.674Q42.699-3.315 42.545-3.012Q42.391-2.710 42.139-2.450Q41.887-2.190 41.537-1.905Q41.188-1.620 41.020-1.467L40.090-0.627L40.805-0.627Q42.180-0.627 42.219-0.667Q42.289-0.745 42.332-0.930Q42.375-1.116 42.418-1.405L42.699-1.405",[1380],[1364,5622,5623],{"fill":1529,"stroke":1529},[1364,5624,5625,5632,5638,5644,5650,5656,5662],{"fill":1529,"stroke":1371,"fontSize":1532},[1364,5626,5628],{"transform":5627},"translate(109.833 13.38)",[1369,5629],{"d":5630,"fill":1529,"stroke":1529,"className":5631,"style":1381},"M-5.039 1.611L-6.894 1.611L-6.894 1.318Q-6.625 1.318-6.457 1.273Q-6.289 1.228-6.289 1.052L-6.289-2.772Q-6.289-2.979-6.445-3.032Q-6.601-3.085-6.894-3.085L-6.894-3.381L-5.672-3.467L-5.672-3.002Q-5.441-3.225-5.127-3.346Q-4.812-3.467-4.473-3.467Q-4-3.467-3.596-3.221Q-3.191-2.975-2.959-2.559Q-2.726-2.143-2.726-1.667Q-2.726-1.292-2.875-0.963Q-3.023-0.635-3.293-0.383Q-3.562-0.131-3.906 0.003Q-4.250 0.138-4.609 0.138Q-4.898 0.138-5.170 0.017Q-5.441-0.104-5.648-0.315L-5.648 1.052Q-5.648 1.228-5.480 1.273Q-5.312 1.318-5.039 1.318L-5.039 1.611M-5.648-2.604L-5.648-0.764Q-5.496-0.475-5.234-0.295Q-4.973-0.116-4.664-0.116Q-4.379-0.116-4.156-0.254Q-3.933-0.393-3.781-0.624Q-3.629-0.854-3.551-1.126Q-3.473-1.397-3.473-1.667Q-3.473-1.999-3.598-2.356Q-3.723-2.713-3.971-2.950Q-4.219-3.186-4.566-3.186Q-4.890-3.186-5.185-3.030Q-5.480-2.874-5.648-2.604M-0.289 0.060L-2.121 0.060L-2.121-0.237Q-1.848-0.237-1.680-0.284Q-1.512-0.331-1.512-0.499L-1.512-4.659Q-1.512-4.874-1.574-4.969Q-1.637-5.065-1.756-5.086Q-1.875-5.108-2.121-5.108L-2.121-5.405L-0.898-5.491L-0.898-0.499Q-0.898-0.331-0.730-0.284Q-0.562-0.237-0.289-0.237L-0.289 0.060M0.254-0.772Q0.254-1.256 0.656-1.551Q1.059-1.846 1.610-1.965Q2.160-2.085 2.652-2.085L2.652-2.374Q2.652-2.600 2.537-2.807Q2.422-3.014 2.225-3.133Q2.027-3.252 1.797-3.252Q1.371-3.252 1.086-3.147Q1.156-3.120 1.203-3.065Q1.250-3.010 1.276-2.940Q1.301-2.870 1.301-2.795Q1.301-2.690 1.250-2.598Q1.199-2.506 1.108-2.456Q1.016-2.405 0.910-2.405Q0.805-2.405 0.713-2.456Q0.621-2.506 0.570-2.598Q0.520-2.690 0.520-2.795Q0.520-3.213 0.908-3.360Q1.297-3.506 1.797-3.506Q2.129-3.506 2.483-3.376Q2.836-3.245 3.065-2.991Q3.293-2.737 3.293-2.389L3.293-0.588Q3.293-0.456 3.365-0.346Q3.438-0.237 3.567-0.237Q3.692-0.237 3.760-0.342Q3.828-0.448 3.828-0.588L3.828-1.100L4.110-1.100L4.110-0.588Q4.110-0.385 3.992-0.227Q3.875-0.069 3.694 0.015Q3.512 0.099 3.309 0.099Q3.078 0.099 2.926-0.073Q2.774-0.245 2.742-0.475Q2.582-0.194 2.274-0.028Q1.965 0.138 1.613 0.138Q1.102 0.138 0.678-0.085Q0.254-0.307 0.254-0.772M0.942-0.772Q0.942-0.487 1.168-0.301Q1.395-0.116 1.688-0.116Q1.934-0.116 2.158-0.233Q2.383-0.350 2.518-0.553Q2.652-0.756 2.652-1.010L2.652-1.842Q2.387-1.842 2.102-1.788Q1.817-1.733 1.545-1.604Q1.274-1.475 1.108-1.268Q0.942-1.061 0.942-0.772M4.445-1.667Q4.445-2.163 4.695-2.588Q4.945-3.014 5.365-3.260Q5.785-3.506 6.285-3.506Q6.824-3.506 7.215-3.381Q7.606-3.256 7.606-2.842Q7.606-2.737 7.555-2.645Q7.504-2.553 7.412-2.502Q7.320-2.452 7.211-2.452Q7.106-2.452 7.014-2.502Q6.922-2.553 6.871-2.645Q6.820-2.737 6.820-2.842Q6.820-3.065 6.988-3.170Q6.766-3.229 6.293-3.229Q5.996-3.229 5.781-3.090Q5.567-2.952 5.436-2.721Q5.305-2.491 5.246-2.221Q5.188-1.952 5.188-1.667Q5.188-1.272 5.320-0.922Q5.453-0.573 5.725-0.356Q5.996-0.139 6.395-0.139Q6.770-0.139 7.045-0.356Q7.320-0.573 7.422-0.932Q7.438-0.995 7.500-0.995L7.606-0.995Q7.641-0.995 7.666-0.967Q7.692-0.940 7.692-0.901L7.692-0.877Q7.559-0.397 7.174-0.129Q6.789 0.138 6.285 0.138Q5.922 0.138 5.588 0.001Q5.254-0.135 4.994-0.385Q4.735-0.635 4.590-0.971Q4.445-1.307 4.445-1.667M8.180-1.694Q8.180-2.174 8.412-2.590Q8.645-3.006 9.055-3.256Q9.465-3.506 9.942-3.506Q10.672-3.506 11.070-3.065Q11.469-2.624 11.469-1.893Q11.469-1.788 11.375-1.764L8.926-1.764L8.926-1.694Q8.926-1.284 9.047-0.928Q9.168-0.573 9.440-0.356Q9.711-0.139 10.141-0.139Q10.504-0.139 10.801-0.368Q11.098-0.596 11.199-0.948Q11.207-0.995 11.293-1.010L11.375-1.010Q11.469-0.983 11.469-0.901Q11.469-0.893 11.461-0.862Q11.399-0.635 11.260-0.452Q11.121-0.268 10.930-0.135Q10.738-0.002 10.520 0.068Q10.301 0.138 10.063 0.138Q9.692 0.138 9.354 0.001Q9.016-0.135 8.748-0.387Q8.481-0.639 8.330-0.979Q8.180-1.319 8.180-1.694M8.934-2.002L10.895-2.002Q10.895-2.307 10.793-2.598Q10.692-2.889 10.475-3.071Q10.258-3.252 9.942-3.252Q9.641-3.252 9.410-3.065Q9.180-2.877 9.057-2.586Q8.934-2.295 8.934-2.002",[1380],[1364,5633,5634],{"transform":5627},[1369,5635],{"d":5636,"fill":1529,"stroke":1529,"className":5637,"style":1381},"M16.387 0.029L15.317-2.827Q15.251-3.006 15.120-3.049Q14.989-3.092 14.731-3.092L14.731-3.389L16.411-3.389L16.411-3.092Q15.961-3.092 15.961-2.893Q15.965-2.877 15.967-2.860Q15.969-2.842 15.969-2.827L16.762-0.733L17.473-2.643Q17.438-2.737 17.438-2.782Q17.438-2.827 17.403-2.827Q17.336-3.006 17.206-3.049Q17.075-3.092 16.821-3.092L16.821-3.389L18.411-3.389L18.411-3.092Q17.961-3.092 17.961-2.893Q17.965-2.874 17.967-2.856Q17.969-2.838 17.969-2.827L18.801-0.612L19.555-2.612Q19.579-2.670 19.579-2.741Q19.579-2.901 19.442-2.997Q19.305-3.092 19.137-3.092L19.137-3.389L20.524-3.389L20.524-3.092Q20.290-3.092 20.112-2.965Q19.934-2.838 19.852-2.612L18.868 0.029Q18.813 0.138 18.700 0.138L18.641 0.138Q18.528 0.138 18.485 0.029L17.626-2.245L16.770 0.029Q16.731 0.138 16.610 0.138L16.555 0.138Q16.442 0.138 16.387 0.029",[1380],[1364,5639,5640],{"transform":5627},[1369,5641],{"d":5642,"fill":1529,"stroke":1529,"className":5643,"style":1381},"M20.704-1.635Q20.704-2.139 20.960-2.571Q21.216-3.002 21.652-3.254Q22.087-3.506 22.587-3.506Q22.974-3.506 23.316-3.362Q23.657-3.217 23.919-2.956Q24.181-2.694 24.323-2.358Q24.466-2.022 24.466-1.635Q24.466-1.143 24.202-0.733Q23.939-0.323 23.509-0.092Q23.079 0.138 22.587 0.138Q22.095 0.138 21.661-0.094Q21.228-0.327 20.966-0.735Q20.704-1.143 20.704-1.635M22.587-0.139Q23.044-0.139 23.296-0.362Q23.548-0.585 23.636-0.936Q23.724-1.288 23.724-1.733Q23.724-2.163 23.630-2.501Q23.536-2.838 23.282-3.045Q23.029-3.252 22.587-3.252Q21.939-3.252 21.695-2.836Q21.450-2.420 21.450-1.733Q21.450-1.288 21.538-0.936Q21.626-0.585 21.878-0.362Q22.130-0.139 22.587-0.139M26.958 0.060L24.978 0.060L24.978-0.237Q25.247-0.237 25.415-0.282Q25.583-0.327 25.583-0.499L25.583-2.635Q25.583-2.850 25.521-2.946Q25.458-3.042 25.341-3.063Q25.224-3.085 24.978-3.085L24.978-3.381L26.146-3.467L26.146-2.682Q26.224-2.893 26.376-3.079Q26.529-3.264 26.728-3.366Q26.927-3.467 27.154-3.467Q27.400-3.467 27.591-3.323Q27.782-3.178 27.782-2.948Q27.782-2.792 27.677-2.682Q27.571-2.573 27.415-2.573Q27.259-2.573 27.150-2.682Q27.040-2.792 27.040-2.948Q27.040-3.108 27.146-3.213Q26.821-3.213 26.607-2.985Q26.392-2.756 26.296-2.417Q26.200-2.077 26.200-1.772L26.200-0.499Q26.200-0.331 26.427-0.284Q26.654-0.237 26.958-0.237L26.958 0.060M30.087 0.060L28.290 0.060L28.290-0.237Q28.560-0.237 28.728-0.282Q28.896-0.327 28.896-0.499L28.896-4.659Q28.896-4.874 28.833-4.969Q28.771-5.065 28.654-5.086Q28.536-5.108 28.290-5.108L28.290-5.405L29.513-5.491L29.513-1.725L30.611-2.612Q30.818-2.792 30.818-2.940Q30.818-3.006 30.765-3.049Q30.712-3.092 30.642-3.092L30.642-3.389L32.177-3.389L32.177-3.092Q31.646-3.092 31.048-2.612L30.439-2.116L31.513-0.717Q31.650-0.542 31.757-0.434Q31.864-0.327 31.999-0.282Q32.134-0.237 32.361-0.237L32.361 0.060L30.736 0.060L30.736-0.237Q30.978-0.237 30.978-0.389Q30.978-0.467 30.935-0.538Q30.892-0.608 30.810-0.717L30.009-1.764L29.482-1.338L29.482-0.499Q29.482-0.331 29.650-0.284Q29.818-0.237 30.087-0.237",[1380],[1364,5645,5646],{"transform":5627},[1369,5647],{"d":5648,"fill":1529,"stroke":1529,"className":5649,"style":1381},"M32.516-1.694Q32.516-2.174 32.749-2.590Q32.981-3.006 33.391-3.256Q33.801-3.506 34.278-3.506Q35.008-3.506 35.407-3.065Q35.805-2.624 35.805-1.893Q35.805-1.788 35.712-1.764L33.262-1.764L33.262-1.694Q33.262-1.284 33.383-0.928Q33.505-0.573 33.776-0.356Q34.048-0.139 34.477-0.139Q34.840-0.139 35.137-0.368Q35.434-0.596 35.536-0.948Q35.544-0.995 35.630-1.010L35.712-1.010Q35.805-0.983 35.805-0.901Q35.805-0.893 35.798-0.862Q35.735-0.635 35.596-0.452Q35.458-0.268 35.266-0.135Q35.075-0.002 34.856 0.068Q34.637 0.138 34.399 0.138Q34.028 0.138 33.690 0.001Q33.352-0.135 33.085-0.387Q32.817-0.639 32.667-0.979Q32.516-1.319 32.516-1.694M33.270-2.002L35.231-2.002Q35.231-2.307 35.130-2.598Q35.028-2.889 34.811-3.071Q34.594-3.252 34.278-3.252Q33.977-3.252 33.747-3.065Q33.516-2.877 33.393-2.586Q33.270-2.295 33.270-2.002M38.301 0.060L36.321 0.060L36.321-0.237Q36.590-0.237 36.758-0.282Q36.926-0.327 36.926-0.499L36.926-2.635Q36.926-2.850 36.864-2.946Q36.801-3.042 36.684-3.063Q36.567-3.085 36.321-3.085L36.321-3.381L37.489-3.467L37.489-2.682Q37.567-2.893 37.719-3.079Q37.872-3.264 38.071-3.366Q38.270-3.467 38.497-3.467Q38.743-3.467 38.934-3.323Q39.126-3.178 39.126-2.948Q39.126-2.792 39.020-2.682Q38.915-2.573 38.758-2.573Q38.602-2.573 38.493-2.682Q38.383-2.792 38.383-2.948Q38.383-3.108 38.489-3.213Q38.165-3.213 37.950-2.985Q37.735-2.756 37.639-2.417Q37.544-2.077 37.544-1.772L37.544-0.499Q37.544-0.331 37.770-0.284Q37.997-0.237 38.301-0.237",[1380],[1364,5651,5652],{"transform":5627},[1369,5653],{"d":5654,"fill":1529,"stroke":1529,"className":5655,"style":1381},"M42.643-0.116Q42.647-0.135 42.649-0.149Q42.651-0.163 42.651-0.186L43.804-4.788Q43.843-4.975 43.843-5.003Q43.843-5.108 43.347-5.108Q43.249-5.139 43.249-5.237L43.272-5.338Q43.280-5.385 43.362-5.405L44.468-5.491Q44.518-5.491 44.552-5.461Q44.585-5.432 44.585-5.374L43.761-2.085Q44.054-2.213 44.503-2.639Q44.952-3.065 45.227-3.266Q45.503-3.467 45.882-3.467Q46.128-3.467 46.288-3.303Q46.448-3.139 46.448-2.893Q46.448-2.670 46.315-2.504Q46.182-2.338 45.972-2.338Q45.839-2.338 45.745-2.422Q45.651-2.506 45.651-2.643Q45.651-2.827 45.782-2.967Q45.913-3.108 46.097-3.108Q46.014-3.213 45.866-3.213Q45.639-3.213 45.401-3.081Q45.163-2.948 45.018-2.817Q44.874-2.686 44.542-2.376Q44.210-2.065 44.057-1.963Q45.257-1.831 45.257-1.108Q45.257-0.991 45.214-0.790Q45.171-0.588 45.171-0.499Q45.171-0.116 45.425-0.116Q45.706-0.116 45.862-0.420Q46.018-0.725 46.112-1.116Q46.147-1.186 46.202-1.186L46.307-1.186Q46.347-1.186 46.370-1.157Q46.393-1.127 46.393-1.092Q46.393-1.077 46.386-1.061Q46.276-0.588 46.036-0.225Q45.796 0.138 45.409 0.138Q45.054 0.138 44.811-0.090Q44.569-0.319 44.569-0.674Q44.569-0.745 44.593-0.881Q44.616-1.018 44.616-1.092Q44.616-1.303 44.468-1.440Q44.319-1.577 44.098-1.645Q43.878-1.713 43.675-1.733L43.272-0.131Q43.241-0.010 43.143 0.064Q43.046 0.138 42.921 0.138Q42.807 0.138 42.725 0.068Q42.643-0.002 42.643-0.116",[1380],[1364,5657,5658],{"transform":5627},[1369,5659],{"d":5660,"fill":1529,"stroke":1529,"className":5661,"style":1381},"M52.802-0.917L47.489-0.917Q47.411-0.924 47.362-0.973Q47.314-1.022 47.314-1.100Q47.314-1.170 47.361-1.221Q47.407-1.272 47.489-1.284L52.802-1.284Q52.876-1.272 52.923-1.221Q52.970-1.170 52.970-1.100Q52.970-1.022 52.921-0.973Q52.872-0.924 52.802-0.917M52.802-2.604L47.489-2.604Q47.411-2.612 47.362-2.661Q47.314-2.710 47.314-2.788Q47.314-2.858 47.361-2.909Q47.407-2.960 47.489-2.971L52.802-2.971Q52.876-2.960 52.923-2.909Q52.970-2.858 52.970-2.788Q52.970-2.710 52.921-2.661Q52.872-2.612 52.802-2.604",[1380],[1364,5663,5664],{"transform":5627},[1369,5665],{"d":5666,"fill":1529,"stroke":1529,"className":5667,"style":1381},"M57.038 0.060L53.878 0.060L53.878-0.147Q53.878-0.174 53.901-0.206L55.253-1.604Q55.632-1.991 55.880-2.280Q56.128-2.569 56.302-2.926Q56.475-3.284 56.475-3.674Q56.475-4.022 56.343-4.315Q56.210-4.608 55.956-4.786Q55.702-4.963 55.347-4.963Q54.987-4.963 54.696-4.768Q54.405-4.573 54.261-4.245L54.315-4.245Q54.499-4.245 54.624-4.124Q54.749-4.003 54.749-3.811Q54.749-3.631 54.624-3.502Q54.499-3.374 54.315-3.374Q54.136-3.374 54.007-3.502Q53.878-3.631 53.878-3.811Q53.878-4.213 54.098-4.549Q54.319-4.885 54.684-5.073Q55.050-5.260 55.452-5.260Q55.932-5.260 56.348-5.073Q56.764-4.885 57.016-4.524Q57.268-4.163 57.268-3.674Q57.268-3.315 57.114-3.012Q56.960-2.710 56.708-2.450Q56.456-2.190 56.106-1.905Q55.757-1.620 55.589-1.467L54.659-0.627L55.374-0.627Q56.749-0.627 56.788-0.667Q56.858-0.745 56.901-0.930Q56.944-1.116 56.987-1.405L57.268-1.405",[1380],[1364,5669,5670,5673],{"stroke":1529,"style":2047},[1369,5671],{"fill":1371,"d":5672},"M-17.118-38.351H2.799v-19.917h-19.917Z",[1364,5674,5676],{"transform":5675},"translate(-2.312 -45.47)",[1369,5677],{"d":5500,"fill":1366,"stroke":1366,"className":5678,"style":2024},[1380],[1364,5680,5681,5684],{"stroke":1529,"style":2047},[1369,5682],{"fill":1371,"d":5683},"M46.9-38.351h19.918v-19.917H46.9Z",[1364,5685,5687],{"transform":5686},"translate(61.706 -45.47)",[1369,5688],{"d":5500,"fill":1366,"stroke":1366,"className":5689,"style":2024},[1380],[1364,5691,5692,5695,5698],{"fill":1529,"stroke":1529,"style":2167},[1369,5693],{"fill":1371,"d":5694},"M-7.16-10.099V-35.15",[1369,5696],{"stroke":1371,"d":5697},"m-7.16-37.751-2.08 4.16 2.08-1.56 2.08 1.56",[1364,5699,5700,5707,5713],{"fill":1529,"stroke":1371,"fontSize":1532},[1364,5701,5703],{"transform":5702},"translate(-31.97 -21.985)",[1369,5704],{"d":5705,"fill":1529,"stroke":1529,"className":5706,"style":1381},"M-4.039-1.756L-6.512-1.756Q-6.590-1.768-6.639-1.817Q-6.687-1.866-6.687-1.940Q-6.687-2.014-6.639-2.063Q-6.590-2.112-6.512-2.124L-4.039-2.124L-4.039-4.604Q-4.012-4.772-3.855-4.772Q-3.781-4.772-3.732-4.723Q-3.683-4.674-3.672-4.604L-3.672-2.124L-1.199-2.124Q-1.031-2.092-1.031-1.940Q-1.031-1.788-1.199-1.756L-3.672-1.756L-3.672 0.724Q-3.683 0.794-3.732 0.843Q-3.781 0.892-3.855 0.892Q-4.012 0.892-4.039 0.724",[1380],[1364,5708,5709],{"transform":5702},[1369,5710],{"d":5711,"fill":1529,"stroke":1529,"className":5712,"style":1381},"M0.460-0.956Q0.460-0.717 0.548-0.528Q0.636-0.338 0.807-0.227Q0.979-0.116 1.214-0.116Q1.722-0.116 2.177-0.309Q2.632-0.502 2.917-0.877Q2.936-0.909 2.987-0.909Q3.038-0.909 3.085-0.858Q3.132-0.807 3.132-0.756Q3.132-0.717 3.108-0.694Q2.792-0.280 2.276-0.071Q1.761 0.138 1.194 0.138Q0.893 0.138 0.638 0.037Q0.382-0.065 0.190-0.252Q-0.001-0.440-0.107-0.698Q-0.212-0.956-0.212-1.245Q-0.212-1.667-0.023-2.069Q0.167-2.471 0.493-2.788Q0.819-3.104 1.222-3.286Q1.624-3.467 2.046-3.467Q2.429-3.467 2.741-3.301Q3.054-3.135 3.054-2.780Q3.054-2.565 2.923-2.405Q2.792-2.245 2.581-2.245Q2.448-2.245 2.354-2.331Q2.261-2.417 2.261-2.549Q2.261-2.721 2.382-2.854Q2.503-2.987 2.667-3.010Q2.464-3.213 2.026-3.213Q1.659-3.213 1.362-2.995Q1.065-2.776 0.864-2.424Q0.663-2.073 0.561-1.674Q0.460-1.276 0.460-0.956",[1380],[1364,5714,5715],{"transform":5702},[1369,5716],{"d":5717,"fill":1529,"stroke":1529,"className":5718,"style":1381},"M5.301 2.060L4.125 2.060L4.125-5.940L5.301-5.940L5.301-5.573L4.492-5.573L4.492 1.693L5.301 1.693L5.301 2.060M9.078 0.060L5.918 0.060L5.918-0.147Q5.918-0.174 5.942-0.206L7.293-1.604Q7.672-1.991 7.920-2.280Q8.168-2.569 8.342-2.926Q8.516-3.284 8.516-3.674Q8.516-4.022 8.383-4.315Q8.250-4.608 7.996-4.786Q7.742-4.963 7.387-4.963Q7.028-4.963 6.737-4.768Q6.446-4.573 6.301-4.245L6.356-4.245Q6.539-4.245 6.664-4.124Q6.789-4.003 6.789-3.811Q6.789-3.631 6.664-3.502Q6.539-3.374 6.356-3.374Q6.176-3.374 6.047-3.502Q5.918-3.631 5.918-3.811Q5.918-4.213 6.139-4.549Q6.360-4.885 6.725-5.073Q7.090-5.260 7.492-5.260Q7.973-5.260 8.389-5.073Q8.805-4.885 9.057-4.524Q9.309-4.163 9.309-3.674Q9.309-3.315 9.154-3.012Q9-2.710 8.748-2.450Q8.496-2.190 8.147-1.905Q7.797-1.620 7.629-1.467L6.699-0.627L7.414-0.627Q8.789-0.627 8.828-0.667Q8.899-0.745 8.942-0.930Q8.985-1.116 9.028-1.405L9.309-1.405L9.078 0.060M11.098 2.060L9.922 2.060L9.922 1.693L10.731 1.693L10.731-5.573L9.922-5.573L9.922-5.940L11.098-5.940L11.098 2.060M14.266 2.060L13.090 2.060L13.090-5.940L14.266-5.940L14.266-5.573L13.457-5.573L13.457 1.693L14.266 1.693L14.266 2.060M15.250-0.573Q15.442-0.299 15.797-0.172Q16.153-0.045 16.535-0.045Q16.871-0.045 17.080-0.231Q17.289-0.417 17.385-0.710Q17.481-1.002 17.481-1.315Q17.481-1.639 17.383-1.934Q17.285-2.229 17.072-2.413Q16.860-2.596 16.528-2.596L15.961-2.596Q15.930-2.596 15.901-2.626Q15.871-2.655 15.871-2.682L15.871-2.764Q15.871-2.799 15.901-2.825Q15.930-2.850 15.961-2.850L16.442-2.885Q16.727-2.885 16.924-3.090Q17.121-3.295 17.217-3.590Q17.313-3.885 17.313-4.163Q17.313-4.542 17.113-4.780Q16.914-5.018 16.535-5.018Q16.215-5.018 15.926-4.911Q15.637-4.803 15.473-4.581Q15.653-4.581 15.776-4.454Q15.899-4.327 15.899-4.155Q15.899-3.983 15.774-3.858Q15.649-3.733 15.473-3.733Q15.301-3.733 15.176-3.858Q15.051-3.983 15.051-4.155Q15.051-4.522 15.276-4.770Q15.500-5.018 15.840-5.139Q16.180-5.260 16.535-5.260Q16.883-5.260 17.246-5.139Q17.610-5.018 17.858-4.768Q18.106-4.518 18.106-4.163Q18.106-3.678 17.787-3.295Q17.469-2.913 16.992-2.741Q17.543-2.631 17.944-2.245Q18.344-1.858 18.344-1.323Q18.344-0.866 18.080-0.510Q17.817-0.155 17.395 0.037Q16.973 0.228 16.535 0.228Q16.125 0.228 15.733 0.093Q15.340-0.042 15.074-0.327Q14.809-0.612 14.809-1.030Q14.809-1.225 14.942-1.354Q15.074-1.483 15.266-1.483Q15.391-1.483 15.494-1.424Q15.598-1.366 15.660-1.260Q15.723-1.155 15.723-1.030Q15.723-0.835 15.588-0.704Q15.453-0.573 15.250-0.573M20.063 2.060L18.887 2.060L18.887 1.693L19.695 1.693L19.695-5.573L18.887-5.573L18.887-5.940L20.063-5.940",[1380],[1364,5720,5721,5724,5727],{"fill":1529,"stroke":1529,"style":2167},[1369,5722],{"fill":1371,"d":5723},"M56.86-10.099V-35.15",[1369,5725],{"stroke":1371,"d":5726},"m56.86-37.751-2.08 4.16 2.08-1.56 2.079 1.56",[1364,5728,5729,5735,5740],{"fill":1529,"stroke":1371,"fontSize":1532},[1364,5730,5732],{"transform":5731},"translate(67.752 -21.985)",[1369,5733],{"d":5705,"fill":1529,"stroke":1529,"className":5734,"style":1381},[1380],[1364,5736,5737],{"transform":5731},[1369,5738],{"d":5711,"fill":1529,"stroke":1529,"className":5739,"style":1381},[1380],[1364,5741,5742],{"transform":5731},[1369,5743],{"d":5744,"fill":1529,"stroke":1529,"className":5745,"style":1381},"M5.301 2.060L4.125 2.060L4.125-5.940L5.301-5.940L5.301-5.573L4.492-5.573L4.492 1.693L5.301 1.693L5.301 2.060M9.078 0.060L5.918 0.060L5.918-0.147Q5.918-0.174 5.942-0.206L7.293-1.604Q7.672-1.991 7.920-2.280Q8.168-2.569 8.342-2.926Q8.516-3.284 8.516-3.674Q8.516-4.022 8.383-4.315Q8.250-4.608 7.996-4.786Q7.742-4.963 7.387-4.963Q7.028-4.963 6.737-4.768Q6.446-4.573 6.301-4.245L6.356-4.245Q6.539-4.245 6.664-4.124Q6.789-4.003 6.789-3.811Q6.789-3.631 6.664-3.502Q6.539-3.374 6.356-3.374Q6.176-3.374 6.047-3.502Q5.918-3.631 5.918-3.811Q5.918-4.213 6.139-4.549Q6.360-4.885 6.725-5.073Q7.090-5.260 7.492-5.260Q7.973-5.260 8.389-5.073Q8.805-4.885 9.057-4.524Q9.309-4.163 9.309-3.674Q9.309-3.315 9.154-3.012Q9-2.710 8.748-2.450Q8.496-2.190 8.147-1.905Q7.797-1.620 7.629-1.467L6.699-0.627L7.414-0.627Q8.789-0.627 8.828-0.667Q8.899-0.745 8.942-0.930Q8.985-1.116 9.028-1.405L9.309-1.405L9.078 0.060M11.098 2.060L9.922 2.060L9.922 1.693L10.731 1.693L10.731-5.573L9.922-5.573L9.922-5.940L11.098-5.940L11.098 2.060M14.266 2.060L13.090 2.060L13.090-5.940L14.266-5.940L14.266-5.573L13.457-5.573L13.457 1.693L14.266 1.693L14.266 2.060M16.578 0.228Q15.875 0.228 15.475-0.172Q15.074-0.573 14.930-1.182Q14.785-1.792 14.785-2.491Q14.785-3.014 14.856-3.477Q14.926-3.940 15.119-4.352Q15.313-4.764 15.670-5.012Q16.028-5.260 16.578-5.260Q17.129-5.260 17.487-5.012Q17.844-4.764 18.035-4.354Q18.227-3.944 18.297-3.475Q18.367-3.006 18.367-2.491Q18.367-1.792 18.225-1.184Q18.082-0.577 17.682-0.174Q17.281 0.228 16.578 0.228M16.578-0.030Q17.051-0.030 17.283-0.465Q17.516-0.901 17.570-1.440Q17.625-1.979 17.625-2.620Q17.625-3.616 17.442-4.309Q17.258-5.003 16.578-5.003Q16.211-5.003 15.990-4.764Q15.770-4.526 15.674-4.169Q15.578-3.811 15.553-3.440Q15.528-3.069 15.528-2.620Q15.528-1.979 15.582-1.440Q15.637-0.901 15.869-0.465Q16.102-0.030 16.578-0.030M20.063 2.060L18.887 2.060L18.887 1.693L19.695 1.693L19.695-5.573L18.887-5.573L18.887-5.940L20.063-5.940",[1380],[1364,5747,5748,5755,5761,5767],{"stroke":1371,"fontFamily":1556,"fontSize":1532},[1364,5749,5751],{"transform":5750},"translate(.06 -63.441)",[1369,5752],{"d":5753,"fill":1366,"stroke":1366,"className":5754,"style":1381},"M-6.824-0.772Q-6.824-1.256-6.422-1.551Q-6.019-1.846-5.469-1.965Q-4.918-2.085-4.426-2.085L-4.426-2.374Q-4.426-2.600-4.541-2.807Q-4.656-3.014-4.853-3.133Q-5.051-3.252-5.281-3.252Q-5.707-3.252-5.992-3.147Q-5.922-3.120-5.875-3.065Q-5.828-3.010-5.803-2.940Q-5.777-2.870-5.777-2.795Q-5.777-2.690-5.828-2.598Q-5.879-2.506-5.971-2.456Q-6.062-2.405-6.168-2.405Q-6.273-2.405-6.365-2.456Q-6.457-2.506-6.508-2.598Q-6.558-2.690-6.558-2.795Q-6.558-3.213-6.170-3.360Q-5.781-3.506-5.281-3.506Q-4.949-3.506-4.596-3.376Q-4.242-3.245-4.014-2.991Q-3.785-2.737-3.785-2.389L-3.785-0.588Q-3.785-0.456-3.713-0.346Q-3.640-0.237-3.512-0.237Q-3.387-0.237-3.318-0.342Q-3.250-0.448-3.250-0.588L-3.250-1.100L-2.969-1.100L-2.969-0.588Q-2.969-0.385-3.086-0.227Q-3.203-0.069-3.385 0.015Q-3.566 0.099-3.769 0.099Q-4 0.099-4.152-0.073Q-4.305-0.245-4.336-0.475Q-4.496-0.194-4.805-0.028Q-5.113 0.138-5.465 0.138Q-5.976 0.138-6.400-0.085Q-6.824-0.307-6.824-0.772M-6.137-0.772Q-6.137-0.487-5.910-0.301Q-5.683-0.116-5.390-0.116Q-5.144-0.116-4.920-0.233Q-4.695-0.350-4.560-0.553Q-4.426-0.756-4.426-1.010L-4.426-1.842Q-4.691-1.842-4.976-1.788Q-5.262-1.733-5.533-1.604Q-5.805-1.475-5.971-1.268Q-6.137-1.061-6.137-0.772M-2.633 0.052L-2.633-1.170Q-2.633-1.198-2.601-1.229Q-2.570-1.260-2.547-1.260L-2.441-1.260Q-2.371-1.260-2.355-1.198Q-2.293-0.877-2.154-0.637Q-2.015-0.397-1.783-0.256Q-1.551-0.116-1.242-0.116Q-1.004-0.116-0.795-0.176Q-0.586-0.237-0.449-0.385Q-0.312-0.534-0.312-0.780Q-0.312-1.034-0.523-1.200Q-0.734-1.366-1.004-1.420L-1.625-1.534Q-2.031-1.612-2.332-1.868Q-2.633-2.124-2.633-2.499Q-2.633-2.866-2.431-3.088Q-2.230-3.311-1.906-3.409Q-1.582-3.506-1.242-3.506Q-0.777-3.506-0.480-3.299L-0.258-3.483Q-0.234-3.506-0.203-3.506L-0.152-3.506Q-0.121-3.506-0.094-3.479Q-0.066-3.452-0.066-3.420L-0.066-2.436Q-0.066-2.405-0.092-2.376Q-0.117-2.346-0.152-2.346L-0.258-2.346Q-0.293-2.346-0.320-2.374Q-0.348-2.401-0.348-2.436Q-0.348-2.835-0.599-3.055Q-0.851-3.276-1.250-3.276Q-1.605-3.276-1.889-3.153Q-2.172-3.030-2.172-2.725Q-2.172-2.506-1.971-2.374Q-1.769-2.241-1.523-2.198L-0.898-2.085Q-0.469-1.995-0.160-1.698Q0.149-1.401 0.149-0.987Q0.149-0.417-0.250-0.139Q-0.648 0.138-1.242 0.138Q-1.793 0.138-2.144-0.198L-2.441 0.115Q-2.465 0.138-2.500 0.138L-2.547 0.138Q-2.570 0.138-2.601 0.107Q-2.633 0.076-2.633 0.052M0.719 0.052L0.719-1.170Q0.719-1.198 0.750-1.229Q0.781-1.260 0.805-1.260L0.910-1.260Q0.981-1.260 0.996-1.198Q1.059-0.877 1.197-0.637Q1.336-0.397 1.569-0.256Q1.801-0.116 2.110-0.116Q2.348-0.116 2.557-0.176Q2.766-0.237 2.902-0.385Q3.039-0.534 3.039-0.780Q3.039-1.034 2.828-1.200Q2.617-1.366 2.348-1.420L1.727-1.534Q1.320-1.612 1.020-1.868Q0.719-2.124 0.719-2.499Q0.719-2.866 0.920-3.088Q1.121-3.311 1.445-3.409Q1.770-3.506 2.110-3.506Q2.574-3.506 2.871-3.299L3.094-3.483Q3.117-3.506 3.149-3.506L3.199-3.506Q3.231-3.506 3.258-3.479Q3.285-3.452 3.285-3.420L3.285-2.436Q3.285-2.405 3.260-2.376Q3.235-2.346 3.199-2.346L3.094-2.346Q3.059-2.346 3.031-2.374Q3.004-2.401 3.004-2.436Q3.004-2.835 2.752-3.055Q2.500-3.276 2.102-3.276Q1.746-3.276 1.463-3.153Q1.180-3.030 1.180-2.725Q1.180-2.506 1.381-2.374Q1.582-2.241 1.828-2.198L2.453-2.085Q2.883-1.995 3.192-1.698Q3.500-1.401 3.500-0.987Q3.500-0.417 3.102-0.139Q2.703 0.138 2.110 0.138Q1.559 0.138 1.207-0.198L0.910 0.115Q0.887 0.138 0.852 0.138L0.805 0.138Q0.781 0.138 0.750 0.107Q0.719 0.076 0.719 0.052M5.887 0.060L4.110 0.060L4.110-0.237Q4.383-0.237 4.551-0.284Q4.719-0.331 4.719-0.499L4.719-2.635Q4.719-2.850 4.662-2.946Q4.606-3.042 4.492-3.063Q4.379-3.085 4.133-3.085L4.133-3.381L5.332-3.467L5.332-0.499Q5.332-0.331 5.479-0.284Q5.625-0.237 5.887-0.237L5.887 0.060M4.445-4.862Q4.445-5.053 4.580-5.184Q4.715-5.315 4.910-5.315Q5.031-5.315 5.135-5.253Q5.238-5.190 5.301-5.086Q5.363-4.983 5.363-4.862Q5.363-4.667 5.233-4.532Q5.102-4.397 4.910-4.397Q4.711-4.397 4.578-4.530Q4.445-4.663 4.445-4.862M6.387 0.669Q6.387 0.388 6.598 0.177Q6.809-0.034 7.094-0.124Q6.938-0.249 6.860-0.438Q6.781-0.627 6.781-0.827Q6.781-1.182 7.012-1.475Q6.645-1.815 6.645-2.284Q6.645-2.635 6.848-2.905Q7.051-3.174 7.371-3.321Q7.692-3.467 8.035-3.467Q8.555-3.467 8.926-3.186Q9.289-3.557 9.836-3.557Q10.016-3.557 10.143-3.430Q10.270-3.303 10.270-3.124Q10.270-3.018 10.192-2.940Q10.113-2.862 10.004-2.862Q9.895-2.862 9.819-2.938Q9.742-3.014 9.742-3.124Q9.742-3.225 9.781-3.276Q9.789-3.284 9.793-3.290Q9.797-3.295 9.797-3.299Q9.422-3.299 9.102-3.045Q9.422-2.706 9.422-2.284Q9.422-2.014 9.305-1.797Q9.188-1.581 8.983-1.422Q8.777-1.264 8.535-1.182Q8.293-1.100 8.035-1.100Q7.817-1.100 7.604-1.159Q7.391-1.217 7.195-1.338Q7.102-1.198 7.102-1.018Q7.102-0.811 7.238-0.659Q7.375-0.506 7.582-0.506L8.277-0.506Q8.766-0.506 9.178-0.422Q9.590-0.338 9.869-0.081Q10.149 0.177 10.149 0.669Q10.149 1.033 9.828 1.265Q9.508 1.498 9.067 1.599Q8.625 1.701 8.270 1.701Q7.914 1.701 7.471 1.599Q7.027 1.498 6.707 1.265Q6.387 1.033 6.387 0.669M6.891 0.669Q6.891 0.865 7.035 1.013Q7.180 1.162 7.393 1.251Q7.606 1.341 7.846 1.388Q8.086 1.435 8.270 1.435Q8.512 1.435 8.842 1.357Q9.172 1.279 9.408 1.105Q9.645 0.931 9.645 0.669Q9.645 0.263 9.235 0.154Q8.824 0.044 8.262 0.044L7.582 0.044Q7.313 0.044 7.102 0.222Q6.891 0.400 6.891 0.669M8.035-1.366Q8.758-1.366 8.758-2.284Q8.758-3.206 8.035-3.206Q7.309-3.206 7.309-2.284Q7.309-1.366 8.035-1.366M12.563 0.060L10.707 0.060L10.707-0.237Q10.981-0.237 11.149-0.284Q11.317-0.331 11.317-0.499L11.317-2.635Q11.317-2.850 11.254-2.946Q11.192-3.042 11.072-3.063Q10.953-3.085 10.707-3.085L10.707-3.381L11.899-3.467L11.899-2.733Q12.012-2.948 12.205-3.116Q12.399-3.284 12.637-3.376Q12.875-3.467 13.129-3.467Q14.297-3.467 14.297-2.389L14.297-0.499Q14.297-0.331 14.467-0.284Q14.637-0.237 14.906-0.237L14.906 0.060L13.051 0.060L13.051-0.237Q13.324-0.237 13.492-0.284Q13.660-0.331 13.660-0.499L13.660-2.374Q13.660-2.756 13.539-2.985Q13.418-3.213 13.067-3.213Q12.754-3.213 12.500-3.051Q12.246-2.889 12.100-2.620Q11.953-2.350 11.953-2.053L11.953-0.499Q11.953-0.331 12.123-0.284Q12.293-0.237 12.563-0.237",[1380],[1364,5756,5757],{"transform":5750},[1369,5758],{"d":5759,"fill":1366,"stroke":1366,"className":5760,"style":1381},"M18.299-0.772Q18.299-1.256 18.701-1.551Q19.104-1.846 19.654-1.965Q20.205-2.085 20.697-2.085L20.697-2.374Q20.697-2.600 20.582-2.807Q20.467-3.014 20.270-3.133Q20.072-3.252 19.842-3.252Q19.416-3.252 19.131-3.147Q19.201-3.120 19.248-3.065Q19.295-3.010 19.320-2.940Q19.346-2.870 19.346-2.795Q19.346-2.690 19.295-2.598Q19.244-2.506 19.152-2.456Q19.061-2.405 18.955-2.405Q18.850-2.405 18.758-2.456Q18.666-2.506 18.615-2.598Q18.565-2.690 18.565-2.795Q18.565-3.213 18.953-3.360Q19.342-3.506 19.842-3.506Q20.174-3.506 20.527-3.376Q20.881-3.245 21.109-2.991Q21.338-2.737 21.338-2.389L21.338-0.588Q21.338-0.456 21.410-0.346Q21.483-0.237 21.611-0.237Q21.736-0.237 21.805-0.342Q21.873-0.448 21.873-0.588L21.873-1.100L22.154-1.100L22.154-0.588Q22.154-0.385 22.037-0.227Q21.920-0.069 21.738 0.015Q21.557 0.099 21.354 0.099Q21.123 0.099 20.971-0.073Q20.818-0.245 20.787-0.475Q20.627-0.194 20.318-0.028Q20.010 0.138 19.658 0.138Q19.147 0.138 18.723-0.085Q18.299-0.307 18.299-0.772M18.986-0.772Q18.986-0.487 19.213-0.301Q19.440-0.116 19.733-0.116Q19.979-0.116 20.203-0.233Q20.428-0.350 20.563-0.553Q20.697-0.756 20.697-1.010L20.697-1.842Q20.432-1.842 20.147-1.788Q19.861-1.733 19.590-1.604Q19.318-1.475 19.152-1.268Q18.986-1.061 18.986-0.772",[1380],[1364,5762,5763],{"transform":5750},[1369,5764],{"d":5765,"fill":1366,"stroke":1366,"className":5766,"style":1381},"M27.351 0.060L25.366 0.060L25.366-0.237Q25.640-0.237 25.808-0.284Q25.976-0.331 25.976-0.499L25.976-3.092L25.335-3.092L25.335-3.389L25.976-3.389L25.976-4.323Q25.976-4.588 26.093-4.825Q26.210-5.061 26.403-5.225Q26.597-5.389 26.845-5.481Q27.093-5.573 27.358-5.573Q27.644-5.573 27.868-5.415Q28.093-5.256 28.093-4.979Q28.093-4.823 27.987-4.713Q27.882-4.604 27.718-4.604Q27.562-4.604 27.452-4.713Q27.343-4.823 27.343-4.979Q27.343-5.186 27.503-5.292Q27.405-5.315 27.312-5.315Q27.081-5.315 26.909-5.159Q26.737-5.003 26.651-4.766Q26.566-4.530 26.566-4.307L26.566-3.389L27.534-3.389L27.534-3.092L26.589-3.092L26.589-0.499Q26.589-0.331 26.816-0.284Q27.042-0.237 27.351-0.237L27.351 0.060M29.886 0.060L27.905 0.060L27.905-0.237Q28.175-0.237 28.343-0.282Q28.511-0.327 28.511-0.499L28.511-2.635Q28.511-2.850 28.448-2.946Q28.386-3.042 28.269-3.063Q28.151-3.085 27.905-3.085L27.905-3.381L29.073-3.467L29.073-2.682Q29.151-2.893 29.304-3.079Q29.456-3.264 29.655-3.366Q29.855-3.467 30.081-3.467Q30.327-3.467 30.519-3.323Q30.710-3.178 30.710-2.948Q30.710-2.792 30.605-2.682Q30.499-2.573 30.343-2.573Q30.187-2.573 30.077-2.682Q29.968-2.792 29.968-2.948Q29.968-3.108 30.073-3.213Q29.749-3.213 29.534-2.985Q29.319-2.756 29.224-2.417Q29.128-2.077 29.128-1.772L29.128-0.499Q29.128-0.331 29.355-0.284Q29.581-0.237 29.886-0.237L29.886 0.060M31.191-1.694Q31.191-2.174 31.423-2.590Q31.655-3.006 32.066-3.256Q32.476-3.506 32.952-3.506Q33.683-3.506 34.081-3.065Q34.480-2.624 34.480-1.893Q34.480-1.788 34.386-1.764L31.937-1.764L31.937-1.694Q31.937-1.284 32.058-0.928Q32.179-0.573 32.450-0.356Q32.722-0.139 33.151-0.139Q33.515-0.139 33.812-0.368Q34.108-0.596 34.210-0.948Q34.218-0.995 34.304-1.010L34.386-1.010Q34.480-0.983 34.480-0.901Q34.480-0.893 34.472-0.862Q34.409-0.635 34.271-0.452Q34.132-0.268 33.941-0.135Q33.749-0.002 33.530 0.068Q33.312 0.138 33.073 0.138Q32.702 0.138 32.364 0.001Q32.026-0.135 31.759-0.387Q31.491-0.639 31.341-0.979Q31.191-1.319 31.191-1.694M31.944-2.002L33.905-2.002Q33.905-2.307 33.804-2.598Q33.702-2.889 33.485-3.071Q33.269-3.252 32.952-3.252Q32.651-3.252 32.421-3.065Q32.191-2.877 32.067-2.586Q31.944-2.295 31.944-2.002M34.968-1.694Q34.968-2.174 35.200-2.590Q35.433-3.006 35.843-3.256Q36.253-3.506 36.730-3.506Q37.460-3.506 37.858-3.065Q38.257-2.624 38.257-1.893Q38.257-1.788 38.163-1.764L35.714-1.764L35.714-1.694Q35.714-1.284 35.835-0.928Q35.956-0.573 36.228-0.356Q36.499-0.139 36.929-0.139Q37.292-0.139 37.589-0.368Q37.886-0.596 37.987-0.948Q37.995-0.995 38.081-1.010L38.163-1.010Q38.257-0.983 38.257-0.901Q38.257-0.893 38.249-0.862Q38.187-0.635 38.048-0.452Q37.909-0.268 37.718-0.135Q37.526-0.002 37.308 0.068Q37.089 0.138 36.851 0.138Q36.480 0.138 36.142 0.001Q35.804-0.135 35.536-0.387Q35.269-0.639 35.118-0.979Q34.968-1.319 34.968-1.694M35.722-2.002L37.683-2.002Q37.683-2.307 37.581-2.598Q37.480-2.889 37.263-3.071Q37.046-3.252 36.730-3.252Q36.429-3.252 36.198-3.065Q35.968-2.877 35.845-2.586Q35.722-2.295 35.722-2.002",[1380],[1364,5768,5769],{"transform":5750},[1369,5770],{"d":5771,"fill":1366,"stroke":1366,"className":5772,"style":1381},"M42.208-0.901L42.208-3.092L41.505-3.092L41.505-3.346Q41.861-3.346 42.103-3.579Q42.345-3.811 42.456-4.159Q42.568-4.506 42.568-4.862L42.849-4.862L42.849-3.389L44.025-3.389L44.025-3.092L42.849-3.092L42.849-0.917Q42.849-0.596 42.968-0.368Q43.087-0.139 43.368-0.139Q43.548-0.139 43.665-0.262Q43.782-0.385 43.835-0.565Q43.888-0.745 43.888-0.917L43.888-1.389L44.169-1.389L44.169-0.901Q44.169-0.647 44.064-0.407Q43.958-0.167 43.761-0.014Q43.564 0.138 43.306 0.138Q42.990 0.138 42.738 0.015Q42.486-0.108 42.347-0.342Q42.208-0.577 42.208-0.901M44.986-0.772Q44.986-1.256 45.388-1.551Q45.790-1.846 46.341-1.965Q46.892-2.085 47.384-2.085L47.384-2.374Q47.384-2.600 47.269-2.807Q47.154-3.014 46.956-3.133Q46.759-3.252 46.529-3.252Q46.103-3.252 45.818-3.147Q45.888-3.120 45.935-3.065Q45.982-3.010 46.007-2.940Q46.032-2.870 46.032-2.795Q46.032-2.690 45.982-2.598Q45.931-2.506 45.839-2.456Q45.747-2.405 45.642-2.405Q45.536-2.405 45.445-2.456Q45.353-2.506 45.302-2.598Q45.251-2.690 45.251-2.795Q45.251-3.213 45.640-3.360Q46.029-3.506 46.529-3.506Q46.861-3.506 47.214-3.376Q47.568-3.245 47.796-2.991Q48.025-2.737 48.025-2.389L48.025-0.588Q48.025-0.456 48.097-0.346Q48.169-0.237 48.298-0.237Q48.423-0.237 48.491-0.342Q48.560-0.448 48.560-0.588L48.560-1.100L48.841-1.100L48.841-0.588Q48.841-0.385 48.724-0.227Q48.607-0.069 48.425 0.015Q48.243 0.099 48.040 0.099Q47.810 0.099 47.657-0.073Q47.505-0.245 47.474-0.475Q47.314-0.194 47.005-0.028Q46.697 0.138 46.345 0.138Q45.833 0.138 45.409-0.085Q44.986-0.307 44.986-0.772M45.673-0.772Q45.673-0.487 45.900-0.301Q46.126-0.116 46.419-0.116Q46.665-0.116 46.890-0.233Q47.115-0.350 47.249-0.553Q47.384-0.756 47.384-1.010L47.384-1.842Q47.118-1.842 46.833-1.788Q46.548-1.733 46.277-1.604Q46.005-1.475 45.839-1.268Q45.673-1.061 45.673-0.772M49.177 0.052L49.177-1.170Q49.177-1.198 49.208-1.229Q49.240-1.260 49.263-1.260L49.368-1.260Q49.439-1.260 49.454-1.198Q49.517-0.877 49.656-0.637Q49.794-0.397 50.027-0.256Q50.259-0.116 50.568-0.116Q50.806-0.116 51.015-0.176Q51.224-0.237 51.361-0.385Q51.497-0.534 51.497-0.780Q51.497-1.034 51.286-1.200Q51.075-1.366 50.806-1.420L50.185-1.534Q49.779-1.612 49.478-1.868Q49.177-2.124 49.177-2.499Q49.177-2.866 49.378-3.088Q49.579-3.311 49.904-3.409Q50.228-3.506 50.568-3.506Q51.032-3.506 51.329-3.299L51.552-3.483Q51.575-3.506 51.607-3.506L51.657-3.506Q51.689-3.506 51.716-3.479Q51.743-3.452 51.743-3.420L51.743-2.436Q51.743-2.405 51.718-2.376Q51.693-2.346 51.657-2.346L51.552-2.346Q51.517-2.346 51.490-2.374Q51.462-2.401 51.462-2.436Q51.462-2.835 51.210-3.055Q50.958-3.276 50.560-3.276Q50.204-3.276 49.921-3.153Q49.638-3.030 49.638-2.725Q49.638-2.506 49.839-2.374Q50.040-2.241 50.286-2.198L50.911-2.085Q51.341-1.995 51.650-1.698Q51.958-1.401 51.958-0.987Q51.958-0.417 51.560-0.139Q51.161 0.138 50.568 0.138Q50.017 0.138 49.665-0.198L49.368 0.115Q49.345 0.138 49.310 0.138L49.263 0.138Q49.240 0.138 49.208 0.107Q49.177 0.076 49.177 0.052M54.310 0.060L52.513 0.060L52.513-0.237Q52.782-0.237 52.950-0.282Q53.118-0.327 53.118-0.499L53.118-4.659Q53.118-4.874 53.056-4.969Q52.993-5.065 52.876-5.086Q52.759-5.108 52.513-5.108L52.513-5.405L53.736-5.491L53.736-1.725L54.833-2.612Q55.040-2.792 55.040-2.940Q55.040-3.006 54.988-3.049Q54.935-3.092 54.865-3.092L54.865-3.389L56.400-3.389L56.400-3.092Q55.868-3.092 55.271-2.612L54.661-2.116L55.736-0.717Q55.872-0.542 55.980-0.434Q56.087-0.327 56.222-0.282Q56.357-0.237 56.583-0.237L56.583 0.060L54.958 0.060L54.958-0.237Q55.200-0.237 55.200-0.389Q55.200-0.467 55.157-0.538Q55.115-0.608 55.032-0.717L54.232-1.764L53.704-1.338L53.704-0.499Q53.704-0.331 53.872-0.284Q54.040-0.237 54.310-0.237",[1380],[1577,5774,5776,5777,5814,5815,5852,5853,5886,5887,5902,5903,563],{"className":5775},[1580],"Assignment by mask: with ",[399,5778,5780],{"className":5779},[402],[399,5781,5783,5804],{"className":5782,"ariaHidden":407},[406],[399,5784,5786,5789,5795,5798,5801],{"className":5785},[411],[399,5787],{"className":5788,"style":921},[415],[399,5790,5792],{"className":5791},[420,749],[399,5793,928],{"className":5794},[420],[399,5796],{"className":5797,"style":588},[528],[399,5799,1018],{"className":5800},[592],[399,5802],{"className":5803,"style":588},[528],[399,5805,5807,5810],{"className":5806},[411],[399,5808],{"className":5809,"style":603},[415],[399,5811,5813],{"className":5812},[420],"0110"," two tasks are taken, so ",[399,5816,5818],{"className":5817},[402],[399,5819,5821,5843],{"className":5820,"ariaHidden":407},[406],[399,5822,5824,5828,5834,5837,5840],{"className":5823},[411],[399,5825],{"className":5826,"style":5827},[415],"height:0.8095em;vertical-align:-0.1944em;",[399,5829,5831],{"className":5830},[420,749],[399,5832,1084],{"className":5833},[420],[399,5835],{"className":5836,"style":588},[528],[399,5838,1018],{"className":5839},[592],[399,5841],{"className":5842,"style":588},[528],[399,5844,5846,5849],{"className":5845},[411],[399,5847],{"className":5848,"style":603},[415],[399,5850,424],{"className":5851},[420]," fixes worker ",[399,5854,5856],{"className":5855},[402],[399,5857,5859,5877],{"className":5858,"ariaHidden":407},[406],[399,5860,5862,5865,5868,5871,5874],{"className":5861},[411],[399,5863],{"className":5864,"style":921},[415],[399,5866,4832],{"className":5867,"style":4831},[420,459],[399,5869],{"className":5870,"style":588},[528],[399,5872,1018],{"className":5873},[592],[399,5875],{"className":5876,"style":588},[528],[399,5878,5880,5883],{"className":5879},[411],[399,5881],{"className":5882,"style":603},[415],[399,5884,424],{"className":5885},[420]," as next, branching to a free task (",[399,5888,5890],{"className":5889},[402],[399,5891,5893],{"className":5892,"ariaHidden":407},[406],[399,5894,5896,5899],{"className":5895},[411],[399,5897],{"className":5898,"style":603},[415],[399,5900,519],{"className":5901},[420]," or ",[399,5904,5906],{"className":5905},[402],[399,5907,5909],{"className":5908,"ariaHidden":407},[406],[399,5910,5912,5915],{"className":5911},[411],[399,5913],{"className":5914,"style":603},[415],[399,5916,1615],{"className":5917},[420],[381,5919,5920,5921,5966,5967,6038,6039,6080,6081,6096,6097,6150,6151,6201,6202,6217,6218,6222,6223,6253,6254,6257],{},"With base ",[399,5922,5924],{"className":5923},[402],[399,5925,5927,5957],{"className":5926,"ariaHidden":407},[406],[399,5928,5930,5933,5936,5939,5942,5945,5948,5951,5954],{"className":5929},[411],[399,5931],{"className":5932,"style":510},[415],[399,5934,1739],{"className":5935},[420,459],[399,5937,381],{"className":5938},[420,459],[399,5940,515],{"className":5941},[514],[399,5943,519],{"className":5944},[420],[399,5946,1879],{"className":5947},[562],[399,5949],{"className":5950,"style":588},[528],[399,5952,1018],{"className":5953},[592],[399,5955],{"className":5956,"style":588},[528],[399,5958,5960,5963],{"className":5959},[411],[399,5961],{"className":5962,"style":603},[415],[399,5964,519],{"className":5965},[420]," and answer ",[399,5968,5970],{"className":5969},[402],[399,5971,5973,6026],{"className":5972,"ariaHidden":407},[406],[399,5974,5976,5979,5982,5985,5988,6017,6020,6023],{"className":5975},[411],[399,5977],{"className":5978,"style":510},[415],[399,5980,1739],{"className":5981},[420,459],[399,5983,381],{"className":5984},[420,459],[399,5986,515],{"className":5987},[514],[399,5989,5991,5994],{"className":5990},[420],[399,5992,424],{"className":5993},[420],[399,5995,5997],{"className":5996},[428],[399,5998,6000],{"className":5999},[432],[399,6001,6003],{"className":6002},[436],[399,6004,6006],{"className":6005,"style":416},[440],[399,6007,6008,6011],{"style":443},[399,6009],{"className":6010,"style":448},[447],[399,6012,6014],{"className":6013},[452,453,454,455],[399,6015,460],{"className":6016},[420,459,455],[399,6018],{"className":6019,"style":731},[528],[399,6021,1005],{"className":6022},[735],[399,6024],{"className":6025,"style":731},[528],[399,6027,6029,6032,6035],{"className":6028},[411],[399,6030],{"className":6031,"style":510},[415],[399,6033,774],{"className":6034},[420],[399,6036,1879],{"className":6037},[562],", there are ",[399,6040,6042],{"className":6041},[402],[399,6043,6045],{"className":6044,"ariaHidden":407},[406],[399,6046,6048,6051],{"className":6047},[411],[399,6049],{"className":6050,"style":416},[415],[399,6052,6054,6057],{"className":6053},[420],[399,6055,424],{"className":6056},[420],[399,6058,6060],{"className":6059},[428],[399,6061,6063],{"className":6062},[432],[399,6064,6066],{"className":6065},[436],[399,6067,6069],{"className":6068,"style":416},[440],[399,6070,6071,6074],{"style":443},[399,6072],{"className":6073,"style":448},[447],[399,6075,6077],{"className":6076},[452,453,454,455],[399,6078,460],{"className":6079},[420,459,455]," states each with\n",[399,6082,6084],{"className":6083},[402],[399,6085,6087],{"className":6086,"ariaHidden":407},[406],[399,6088,6090,6093],{"className":6089},[411],[399,6091],{"className":6092,"style":477},[415],[399,6094,460],{"className":6095},[420,459]," transitions: ",[399,6098,6100],{"className":6099},[402],[399,6101,6103],{"className":6102,"ariaHidden":407},[406],[399,6104,6106,6109,6112,6115,6144,6147],{"className":6105},[411],[399,6107],{"className":6108,"style":510},[415],[399,6110,695],{"className":6111,"style":694},[420,459],[399,6113,670],{"className":6114},[514],[399,6116,6118,6121],{"className":6117},[420],[399,6119,424],{"className":6120},[420],[399,6122,6124],{"className":6123},[428],[399,6125,6127],{"className":6126},[432],[399,6128,6130],{"className":6129},[436],[399,6131,6133],{"className":6132,"style":416},[440],[399,6134,6135,6138],{"style":443},[399,6136],{"className":6137,"style":448},[447],[399,6139,6141],{"className":6140},[452,453,454,455],[399,6142,460],{"className":6143},[420,459,455],[399,6145,460],{"className":6146},[420,459],[399,6148,563],{"className":6149},[562]," time, ",[399,6152,6154],{"className":6153},[402],[399,6155,6157],{"className":6156,"ariaHidden":407},[406],[399,6158,6160,6163,6166,6169,6198],{"className":6159},[411],[399,6161],{"className":6162,"style":510},[415],[399,6164,695],{"className":6165,"style":694},[420,459],[399,6167,670],{"className":6168},[514],[399,6170,6172,6175],{"className":6171},[420],[399,6173,424],{"className":6174},[420],[399,6176,6178],{"className":6177},[428],[399,6179,6181],{"className":6180},[432],[399,6182,6184],{"className":6183},[436],[399,6185,6187],{"className":6186,"style":416},[440],[399,6188,6189,6192],{"style":443},[399,6190],{"className":6191,"style":448},[447],[399,6193,6195],{"className":6194},[452,453,454,455],[399,6196,460],{"className":6197},[420,459,455],[399,6199,563],{"className":6200},[562]," space, a clean factor of ",[399,6203,6205],{"className":6204},[402],[399,6206,6208],{"className":6207,"ariaHidden":407},[406],[399,6209,6211,6214],{"className":6210},[411],[399,6212],{"className":6213,"style":477},[415],[399,6215,460],{"className":6216},[420,459]," cheaper\nthan Held–Karp because the ",[6219,6220,6221],"q",{},"current position"," dimension is replaced by the free\ninformation ",[399,6224,6226],{"className":6225},[402],[399,6227,6229],{"className":6228,"ariaHidden":407},[406],[399,6230,6232,6235,6241,6244,6250],{"className":6231},[411],[399,6233],{"className":6234,"style":510},[415],[399,6236,6238],{"className":6237},[420,749],[399,6239,1084],{"className":6240},[420],[399,6242,670],{"className":6243},[514],[399,6245,6247],{"className":6246},[420,749],[399,6248,928],{"className":6249},[420],[399,6251,563],{"className":6252},[562],". ",[390,6255,6256],{},"Maximum Students Taking Exam"," is a\nrow-by-row variant: the per-row state is a bitmask of seated columns, and a row's\nchoice is constrained by the previous row's mask plus broken seats.",[781,6259,6261],{"id":6260},"subset-sum-partitioning-over-masks","Subset-sum partitioning over masks",[381,6263,6264,6267,6268,6283,6284,6379],{},[390,6265,6266],{},"Partition to K Equal Sum Subsets"," asks whether a multiset can be split into\n",[399,6269,6271],{"className":6270},[402],[399,6272,6274],{"className":6273,"ariaHidden":407},[406],[399,6275,6277,6280],{"className":6276},[411],[399,6278],{"className":6279,"style":921},[415],[399,6281,4832],{"className":6282,"style":4831},[420,459]," groups of equal sum ",[399,6285,6287],{"className":6286},[402],[399,6288,6290,6310],{"className":6289,"ariaHidden":407},[406],[399,6291,6293,6296,6301,6304,6307],{"className":6292},[411],[399,6294],{"className":6295,"style":3129},[415],[399,6297,6300],{"className":6298,"style":6299},[420,459],"margin-right:0.0576em;","S",[399,6302],{"className":6303,"style":588},[528],[399,6305,1018],{"className":6306},[592],[399,6308],{"className":6309,"style":588},[528],[399,6311,6313,6316,6319,6326,6329,6370,6373,6376],{"className":6312},[411],[399,6314],{"className":6315,"style":510},[415],[399,6317,670],{"className":6318},[514],[399,6320,6325],{"className":6321,"style":6324},[2855,6322,6323],"op-symbol","small-op","position:relative;top:0em;","∑",[399,6327],{"className":6328,"style":529},[528],[399,6330,6332,6335],{"className":6331},[420],[399,6333,768],{"className":6334},[420,459],[399,6336,6338],{"className":6337},[428],[399,6339,6341,6362],{"className":6340},[432,2870],[399,6342,6344,6359],{"className":6343},[436],[399,6345,6347],{"className":6346,"style":3263},[440],[399,6348,6350,6353],{"style":6349},"top:-2.55em;margin-left:0em;margin-right:0.05em;",[399,6351],{"className":6352,"style":448},[447],[399,6354,6356],{"className":6355},[452,453,454,455],[399,6357,804],{"className":6358},[420,459,455],[399,6360,2968],{"className":6361},[2967],[399,6363,6365],{"className":6364},[436],[399,6366,6368],{"className":6367,"style":3288},[440],[399,6369],{},[399,6371,563],{"className":6372},[562],[399,6374,2949],{"className":6375},[420],[399,6377,4832],{"className":6378,"style":4831},[420,459],". Treat the chosen elements as a mask\nand carry just enough to know how the current group is doing.",[1841,6381,6382],{"type":1843},[381,6383,6384,939,6386,6416,6417,6419,6420,6435,6436,6454],{},[390,6385,1848],{},[399,6387,6389],{"className":6388},[402],[399,6390,6392],{"className":6391,"ariaHidden":407},[406],[399,6393,6395,6398,6401,6404,6407,6413],{"className":6394},[411],[399,6396],{"className":6397,"style":510},[415],[399,6399,1739],{"className":6400},[420,459],[399,6402,381],{"className":6403},[420,459],[399,6405,515],{"className":6406},[514],[399,6408,6410],{"className":6409},[420,749],[399,6411,928],{"className":6412},[420],[399,6414,1879],{"className":6415},[562]," = if the set ",[931,6418,928],{}," of elements can be packed into\nsome whole number of full buckets plus one partial bucket, the value of that\npartial bucket modulo ",[399,6421,6423],{"className":6422},[402],[399,6424,6426],{"className":6425,"ariaHidden":407},[406],[399,6427,6429,6432],{"className":6428},[411],[399,6430],{"className":6431,"style":3129},[415],[399,6433,6300],{"className":6434,"style":6299},[420,459],"; otherwise ",[399,6437,6439],{"className":6438},[402],[399,6440,6442],{"className":6441,"ariaHidden":407},[406],[399,6443,6445,6448],{"className":6444},[411],[399,6446],{"className":6447,"style":921},[415],[399,6449,6451],{"className":6450},[420,749],[399,6452,928],{"className":6453},[420]," is infeasible.",[381,6456,6457,6458,6488,6489,6492,6493,6495,6496,6498,6499,6548,6549,6619,6620,6673,6674,878],{},"Concretely ",[399,6459,6461],{"className":6460},[402],[399,6462,6464],{"className":6463,"ariaHidden":407},[406],[399,6465,6467,6470,6473,6476,6479,6485],{"className":6466},[411],[399,6468],{"className":6469,"style":510},[415],[399,6471,1739],{"className":6472},[420,459],[399,6474,381],{"className":6475},[420,459],[399,6477,515],{"className":6478},[514],[399,6480,6482],{"className":6481},[420,749],[399,6483,928],{"className":6484},[420],[399,6486,1879],{"className":6487},[562]," stores the ",[385,6490,6491],{},"used capacity of the current bucket",",\ndefined when ",[931,6494,928],{}," is reachable. From a reachable ",[931,6497,928],{}," with partial fill\n",[399,6500,6502],{"className":6501},[402],[399,6503,6505,6524],{"className":6504,"ariaHidden":407},[406],[399,6506,6508,6511,6515,6518,6521],{"className":6507},[411],[399,6509],{"className":6510,"style":477},[415],[399,6512,6514],{"className":6513,"style":694},[420,459],"r",[399,6516],{"className":6517,"style":588},[528],[399,6519,1018],{"className":6520},[592],[399,6522],{"className":6523,"style":588},[528],[399,6525,6527,6530,6533,6536,6539,6545],{"className":6526},[411],[399,6528],{"className":6529,"style":510},[415],[399,6531,1739],{"className":6532},[420,459],[399,6534,381],{"className":6535},[420,459],[399,6537,515],{"className":6538},[514],[399,6540,6542],{"className":6541},[420,749],[399,6543,928],{"className":6544},[420],[399,6546,1879],{"className":6547},[562],", we may add any element ",[399,6550,6552],{"className":6551},[402],[399,6553,6555,6607],{"className":6554,"ariaHidden":407},[406],[399,6556,6558,6561,6564,6567,6604],{"className":6557},[411],[399,6559],{"className":6560,"style":510},[415],[399,6562,804],{"className":6563},[420,459],[399,6565],{"className":6566,"style":588},[528],[399,6568,6570,6576],{"className":6569},[592],[399,6571,6573],{"className":6572},[420],[399,6574,911],{"className":6575},[592],[399,6577,6579],{"className":6578},[420,2927],[399,6580,6582],{"className":6581},[2931],[399,6583,6585,6588,6601],{"className":6584},[2935],[399,6586],{"className":6587,"style":510},[415],[399,6589,6591],{"className":6590},[2942],[399,6592,6594,6597],{"className":6593},[420],[399,6595,2949],{"className":6596},[420],[399,6598],{"className":6599,"style":6600},[528],"margin-right:0.0556em;",[399,6602],{"className":6603},[2957],[399,6605],{"className":6606,"style":588},[528],[399,6608,6610,6613],{"className":6609},[411],[399,6611],{"className":6612,"style":921},[415],[399,6614,6616],{"className":6615},[420,749],[399,6617,928],{"className":6618},[420]," whose value\n",[399,6621,6623],{"className":6622},[402],[399,6624,6626],{"className":6625,"ariaHidden":407},[406],[399,6627,6629,6633],{"className":6628},[411],[399,6630],{"className":6631,"style":6632},[415],"height:0.5806em;vertical-align:-0.15em;",[399,6634,6636,6639],{"className":6635},[420],[399,6637,768],{"className":6638},[420,459],[399,6640,6642],{"className":6641},[428],[399,6643,6645,6665],{"className":6644},[432,2870],[399,6646,6648,6662],{"className":6647},[436],[399,6649,6651],{"className":6650,"style":3263},[440],[399,6652,6653,6656],{"style":6349},[399,6654],{"className":6655,"style":448},[447],[399,6657,6659],{"className":6658},[452,453,454,455],[399,6660,804],{"className":6661},[420,459,455],[399,6663,2968],{"className":6664},[2967],[399,6666,6668],{"className":6667},[436],[399,6669,6671],{"className":6670,"style":3288},[440],[399,6672],{}," keeps the bucket within ",[399,6675,6677],{"className":6676},[402],[399,6678,6680],{"className":6679,"ariaHidden":407},[406],[399,6681,6683,6686],{"className":6682},[411],[399,6684],{"className":6685,"style":3129},[415],[399,6687,6300],{"className":6688,"style":6299},[420,459],[399,6690,6692],{"className":6691},[2748],[399,6693,6695],{"className":6694},[402],[399,6696,6698,6723,6780,6802,6835,6875,6896,6967],{"className":6697,"ariaHidden":407},[406],[399,6699,6701,6704,6711,6714,6717,6720],{"className":6700},[411],[399,6702],{"className":6703,"style":1001},[415],[399,6705,6707],{"className":6706},[420,749],[399,6708,6710],{"className":6709},[420],"if ",[399,6712,6514],{"className":6713,"style":694},[420,459],[399,6715],{"className":6716,"style":731},[528],[399,6718,1047],{"className":6719},[735],[399,6721],{"className":6722,"style":731},[528],[399,6724,6726,6730,6770,6773,6777],{"className":6725},[411],[399,6727],{"className":6728,"style":6729},[415],"height:0.786em;vertical-align:-0.15em;",[399,6731,6733,6736],{"className":6732},[420],[399,6734,768],{"className":6735},[420,459],[399,6737,6739],{"className":6738},[428],[399,6740,6742,6762],{"className":6741},[432,2870],[399,6743,6745,6759],{"className":6744},[436],[399,6746,6748],{"className":6747,"style":3263},[440],[399,6749,6750,6753],{"style":6349},[399,6751],{"className":6752,"style":448},[447],[399,6754,6756],{"className":6755},[452,453,454,455],[399,6757,804],{"className":6758},[420,459,455],[399,6760,2968],{"className":6761},[2967],[399,6763,6765],{"className":6764},[436],[399,6766,6768],{"className":6767,"style":3288},[440],[399,6769],{},[399,6771],{"className":6772,"style":588},[528],[399,6774,6776],{"className":6775},[592],"≤",[399,6778],{"className":6779,"style":588},[528],[399,6781,6783,6786,6789,6792,6795,6799],{"className":6782},[411],[399,6784],{"className":6785,"style":3129},[415],[399,6787,6300],{"className":6788,"style":6299},[420,459],[399,6790],{"className":6791,"style":588},[528],[399,6793,878],{"className":6794},[592],[399,6796],{"className":6797,"style":6798},[528],"margin-right:1em;",[399,6800],{"className":6801,"style":588},[528],[399,6803,6805,6808,6811,6814,6820,6826,6829,6832],{"className":6804},[411],[399,6806],{"className":6807,"style":2761},[415],[399,6809,1739],{"className":6810},[420,459],[399,6812,381],{"className":6813},[420,459],[399,6815,6817],{"className":6816},[514],[399,6818,515],{"className":6819},[2774,2775],[399,6821,6823],{"className":6822},[420,749],[399,6824,928],{"className":6825},[420],[399,6827],{"className":6828,"style":588},[528],[399,6830,1641],{"className":6831},[592],[399,6833],{"className":6834,"style":588},[528],[399,6836,6838,6841,6844,6847,6853,6856,6859,6865,6868,6872],{"className":6837},[411],[399,6839],{"className":6840,"style":2761},[415],[399,6842,670],{"className":6843},[514],[399,6845,774],{"className":6846},[420],[399,6848,6850],{"className":6849},[420],[399,6851,1663],{"className":6852},[592],[399,6854,804],{"className":6855},[420,459],[399,6857,563],{"className":6858},[562],[399,6860,6862],{"className":6861},[562],[399,6863,1879],{"className":6864},[2774,2775],[399,6866],{"className":6867,"style":588},[528],[399,6869,6871],{"className":6870},[592],"←",[399,6873],{"className":6874,"style":588},[528],[399,6876,6878,6881,6884,6887,6890,6893],{"className":6877},[411],[399,6879],{"className":6880,"style":510},[415],[399,6882,670],{"className":6883},[514],[399,6885,6514],{"className":6886,"style":694},[420,459],[399,6888],{"className":6889,"style":731},[528],[399,6891,1047],{"className":6892},[735],[399,6894],{"className":6895,"style":731},[528],[399,6897,6899,6902,6942,6945,6948,6951,6961,6964],{"className":6898},[411],[399,6900],{"className":6901,"style":510},[415],[399,6903,6905,6908],{"className":6904},[420],[399,6906,768],{"className":6907},[420,459],[399,6909,6911],{"className":6910},[428],[399,6912,6914,6934],{"className":6913},[432,2870],[399,6915,6917,6931],{"className":6916},[436],[399,6918,6920],{"className":6919,"style":3263},[440],[399,6921,6922,6925],{"style":6349},[399,6923],{"className":6924,"style":448},[447],[399,6926,6928],{"className":6927},[452,453,454,455],[399,6929,804],{"className":6930},[420,459,455],[399,6932,2968],{"className":6933},[2967],[399,6935,6937],{"className":6936},[436],[399,6938,6940],{"className":6939,"style":3288},[440],[399,6941],{},[399,6943,563],{"className":6944},[562],[399,6946],{"className":6947,"style":6600},[528],[399,6949],{"className":6950,"style":731},[528],[399,6952,6954],{"className":6953},[735],[399,6955,6957],{"className":6956},[420],[399,6958,6960],{"className":6959},[420,2862],"mod",[399,6962],{"className":6963,"style":6600},[528],[399,6965],{"className":6966,"style":731},[528],[399,6968,6970,6974,6977],{"className":6969},[411],[399,6971],{"className":6972,"style":6973},[415],"height:0.8778em;vertical-align:-0.1944em;",[399,6975,6300],{"className":6976,"style":6299},[420,459],[399,6978,524],{"className":6979},[523],[381,6981,6982,6983,6998,6999,7014,7015,7104,7105,7158,7159,7200,7201,7216,7217,7241],{},"where hitting exactly ",[399,6984,6986],{"className":6985},[402],[399,6987,6989],{"className":6988,"ariaHidden":407},[406],[399,6990,6992,6995],{"className":6991},[411],[399,6993],{"className":6994,"style":3129},[415],[399,6996,6300],{"className":6997,"style":6299},[420,459]," rolls over to ",[399,7000,7002],{"className":7001},[402],[399,7003,7005],{"className":7004,"ariaHidden":407},[406],[399,7006,7008,7011],{"className":7007},[411],[399,7009],{"className":7010,"style":603},[415],[399,7012,519],{"className":7013},[420]," and opens a fresh bucket. The whole\nset is partitionable iff ",[399,7016,7018],{"className":7017},[402],[399,7019,7021,7074,7095],{"className":7020,"ariaHidden":407},[406],[399,7022,7024,7027,7030,7033,7036,7065,7068,7071],{"className":7023},[411],[399,7025],{"className":7026,"style":510},[415],[399,7028,1739],{"className":7029},[420,459],[399,7031,381],{"className":7032},[420,459],[399,7034,515],{"className":7035},[514],[399,7037,7039,7042],{"className":7038},[420],[399,7040,424],{"className":7041},[420],[399,7043,7045],{"className":7044},[428],[399,7046,7048],{"className":7047},[432],[399,7049,7051],{"className":7050},[436],[399,7052,7054],{"className":7053,"style":416},[440],[399,7055,7056,7059],{"style":443},[399,7057],{"className":7058,"style":448},[447],[399,7060,7062],{"className":7061},[452,453,454,455],[399,7063,460],{"className":7064},[420,459,455],[399,7066],{"className":7067,"style":731},[528],[399,7069,1005],{"className":7070},[735],[399,7072],{"className":7073,"style":731},[528],[399,7075,7077,7080,7083,7086,7089,7092],{"className":7076},[411],[399,7078],{"className":7079,"style":510},[415],[399,7081,774],{"className":7082},[420],[399,7084,1879],{"className":7085},[562],[399,7087],{"className":7088,"style":588},[528],[399,7090,1018],{"className":7091},[592],[399,7093],{"className":7094,"style":588},[528],[399,7096,7098,7101],{"className":7097},[411],[399,7099],{"className":7100,"style":603},[415],[399,7102,519],{"className":7103},[420]," (every bucket closed exactly). This is\n",[399,7106,7108],{"className":7107},[402],[399,7109,7111],{"className":7110,"ariaHidden":407},[406],[399,7112,7114,7117,7120,7123,7152,7155],{"className":7113},[411],[399,7115],{"className":7116,"style":510},[415],[399,7118,695],{"className":7119,"style":694},[420,459],[399,7121,670],{"className":7122},[514],[399,7124,7126,7129],{"className":7125},[420],[399,7127,424],{"className":7128},[420],[399,7130,7132],{"className":7131},[428],[399,7133,7135],{"className":7134},[432],[399,7136,7138],{"className":7137},[436],[399,7139,7141],{"className":7140,"style":416},[440],[399,7142,7143,7146],{"style":443},[399,7144],{"className":7145,"style":448},[447],[399,7147,7149],{"className":7148},[452,453,454,455],[399,7150,460],{"className":7151},[420,459,455],[399,7153,460],{"className":7154},[420,459],[399,7156,563],{"className":7157},[562],", the same shape as assignment: ",[399,7160,7162],{"className":7161},[402],[399,7163,7165],{"className":7164,"ariaHidden":407},[406],[399,7166,7168,7171],{"className":7167},[411],[399,7169],{"className":7170,"style":416},[415],[399,7172,7174,7177],{"className":7173},[420],[399,7175,424],{"className":7176},[420],[399,7178,7180],{"className":7179},[428],[399,7181,7183],{"className":7182},[432],[399,7184,7186],{"className":7185},[436],[399,7187,7189],{"className":7188,"style":416},[440],[399,7190,7191,7194],{"style":443},[399,7192],{"className":7193,"style":448},[447],[399,7195,7197],{"className":7196},[452,453,454,455],[399,7198,460],{"className":7199},[420,459,455]," masks, ",[399,7202,7204],{"className":7203},[402],[399,7205,7207],{"className":7206,"ariaHidden":407},[406],[399,7208,7210,7213],{"className":7209},[411],[399,7211],{"className":7212,"style":477},[415],[399,7214,460],{"className":7215},[420,459]," candidate elements per\nmask, ",[399,7218,7220],{"className":7219},[402],[399,7221,7223],{"className":7222,"ariaHidden":407},[406],[399,7224,7226,7229,7232,7235,7238],{"className":7225},[411],[399,7227],{"className":7228,"style":510},[415],[399,7230,695],{"className":7231,"style":694},[420,459],[399,7233,670],{"className":7234},[514],[399,7236,774],{"className":7237},[420],[399,7239,563],{"className":7240},[562]," feasibility check.",[781,7243,7245,7246,7287],{"id":7244},"submask-enumeration-and-the-3n-bound","Submask enumeration and the ",[399,7247,7249],{"className":7248},[402],[399,7250,7252],{"className":7251,"ariaHidden":407},[406],[399,7253,7255,7258],{"className":7254},[411],[399,7256],{"className":7257,"style":416},[415],[399,7259,7261,7264],{"className":7260},[420],[399,7262,1615],{"className":7263},[420],[399,7265,7267],{"className":7266},[428],[399,7268,7270],{"className":7269},[432],[399,7271,7273],{"className":7272},[436],[399,7274,7276],{"className":7275,"style":416},[440],[399,7277,7278,7281],{"style":443},[399,7279],{"className":7280,"style":448},[447],[399,7282,7284],{"className":7283},[452,453,454,455],[399,7285,460],{"className":7286},[420,459,455]," bound",[381,7289,7290,7291,7293,7294,7297,7298,7301,7302,7304],{},"Some subset DPs need, for each ",[931,7292,928],{},", to consider every way of ",[390,7295,7296],{},"splitting it","\ninto two complementary parts, for instance partitioning a set of cities into\ngroups each served by one route. That requires iterating over all ",[385,7299,7300],{},"submasks"," of a\ngiven ",[931,7303,928],{},". The idiom is:",[3367,7306,7308],{"className":3369,"code":7307,"language":3371,"meta":376,"style":376},"caption: enumerate every submask $\\text{sub} \\subseteq \\text{mask}$\n$\\text{sub} \\gets \\text{mask}$\nwhile $\\text{sub} > 0$ do\n  \u002F\u002F ... use sub and its complement ...\n  $\\text{sub} \\gets (\\text{sub} - 1) \\mathbin{\\&} \\text{mask}$\n\u002F\u002F empty submask 0 handled after loop\n",[931,7309,7310,7315,7320,7325,7330,7335],{"__ignoreMap":376},[399,7311,7312],{"class":3376,"line":6},[399,7313,7314],{},"caption: enumerate every submask $\\text{sub} \\subseteq \\text{mask}$\n",[399,7316,7317],{"class":3376,"line":18},[399,7318,7319],{},"$\\text{sub} \\gets \\text{mask}$\n",[399,7321,7322],{"class":3376,"line":24},[399,7323,7324],{},"while $\\text{sub} > 0$ do\n",[399,7326,7327],{"class":3376,"line":73},[399,7328,7329],{},"  \u002F\u002F ... use sub and its complement ...\n",[399,7331,7332],{"class":3376,"line":102},[399,7333,7334],{},"  $\\text{sub} \\gets (\\text{sub} - 1) \\mathbin{\\&} \\text{mask}$\n",[399,7336,7337],{"class":3376,"line":108},[399,7338,7339],{},"\u002F\u002F empty submask 0 handled after loop\n",[381,7341,7342,7343,1137,7358,7361,7362,7365,7366,7368,7369,7384,7385,7388],{},"Subtracting ",[399,7344,7346],{"className":7345},[402],[399,7347,7349],{"className":7348,"ariaHidden":407},[406],[399,7350,7352,7355],{"className":7351},[411],[399,7353],{"className":7354,"style":603},[415],[399,7356,774],{"className":7357},[420],[931,7359,7360],{},"sub"," borrows through its trailing zeros; ",[931,7363,7364],{},"& mask"," then\nsnaps the result back inside ",[931,7367,928],{},", so the sequence steps through the submasks\nin strictly decreasing order down to ",[399,7370,7372],{"className":7371},[402],[399,7373,7375],{"className":7374,"ariaHidden":407},[406],[399,7376,7378,7381],{"className":7377},[411],[399,7379],{"className":7380,"style":603},[415],[399,7382,519],{"className":7383},[420],". The cost across ",[385,7386,7387],{},"all"," masks is the\nstriking part:",[1841,7390,7391],{"type":3939},[381,7392,7393,939,7396,461],{},[390,7394,7395],{},"Lemma.",[399,7397,7399],{"className":7398},[402],[399,7400,7402,7480],{"className":7401,"ariaHidden":407},[406],[399,7403,7405,7409,7458,7461,7468,7471,7474,7477],{"className":7404},[411],[399,7406],{"className":7407,"style":7408},[415],"height:1.0497em;vertical-align:-0.2997em;",[399,7410,7412,7415],{"className":7411},[2855],[399,7413,6325],{"className":7414,"style":6324},[2855,6322,6323],[399,7416,7418],{"className":7417},[428],[399,7419,7421,7449],{"className":7420},[432,2870],[399,7422,7424,7446],{"className":7423},[436],[399,7425,7428],{"className":7426,"style":7427},[440],"height:0.1864em;",[399,7429,7431,7434],{"style":7430},"top:-2.4003em;margin-left:0em;margin-right:0.05em;",[399,7432],{"className":7433,"style":448},[447],[399,7435,7437],{"className":7436},[452,453,454,455],[399,7438,7440],{"className":7439},[420,455],[399,7441,7443],{"className":7442},[420,749,455],[399,7444,928],{"className":7445},[420,455],[399,7447,2968],{"className":7448},[2967],[399,7450,7452],{"className":7451},[436],[399,7453,7456],{"className":7454,"style":7455},[440],"height:0.2997em;",[399,7457],{},[399,7459,670],{"className":7460},[514],[399,7462,7464],{"className":7463},[420,749],[399,7465,7467],{"className":7466},[420],"number of submasks of mask",[399,7469,563],{"className":7470},[562],[399,7472],{"className":7473,"style":588},[528],[399,7475,1018],{"className":7476},[592],[399,7478],{"className":7479,"style":588},[528],[399,7481,7483,7486],{"className":7482},[411],[399,7484],{"className":7485,"style":416},[415],[399,7487,7489,7492],{"className":7488},[420],[399,7490,1615],{"className":7491},[420],[399,7493,7495],{"className":7494},[428],[399,7496,7498],{"className":7497},[432],[399,7499,7501],{"className":7500},[436],[399,7502,7504],{"className":7503,"style":416},[440],[399,7505,7506,7509],{"style":443},[399,7507],{"className":7508,"style":448},[447],[399,7510,7512],{"className":7511},[452,453,454,455],[399,7513,460],{"className":7514},[420,459,455],[1841,7516,7517],{"type":4186},[381,7518,7519,7521,7522,7558,7559,7600,7601,7616,7617,7619,7620,7659,7660,7701,7702],{},[390,7520,4191],{}," A pair ",[399,7523,7525],{"className":7524},[402],[399,7526,7528],{"className":7527,"ariaHidden":407},[406],[399,7529,7531,7534,7537,7543,7546,7549,7555],{"className":7530},[411],[399,7532],{"className":7533,"style":510},[415],[399,7535,670],{"className":7536},[514],[399,7538,7540],{"className":7539},[420,749],[399,7541,928],{"className":7542},[420],[399,7544,524],{"className":7545},[523],[399,7547],{"className":7548,"style":529},[528],[399,7550,7552],{"className":7551},[420,749],[399,7553,7360],{"className":7554},[420],[399,7556,563],{"className":7557},[562]," with ",[399,7560,7562],{"className":7561},[402],[399,7563,7565,7588],{"className":7564,"ariaHidden":407},[406],[399,7566,7568,7572,7578,7581,7585],{"className":7567},[411],[399,7569],{"className":7570,"style":7571},[415],"height:0.8304em;vertical-align:-0.136em;",[399,7573,7575],{"className":7574},[420,749],[399,7576,7360],{"className":7577},[420],[399,7579],{"className":7580,"style":588},[528],[399,7582,7584],{"className":7583},[592],"⊆",[399,7586],{"className":7587,"style":588},[528],[399,7589,7591,7594],{"className":7590},[411],[399,7592],{"className":7593,"style":921},[415],[399,7595,7597],{"className":7596},[420,749],[399,7598,928],{"className":7599},[420],"\nassigns each of the ",[399,7602,7604],{"className":7603},[402],[399,7605,7607],{"className":7606,"ariaHidden":407},[406],[399,7608,7610,7613],{"className":7609},[411],[399,7611],{"className":7612,"style":477},[415],[399,7614,460],{"className":7615},[420,459]," elements to exactly one of three roles: in ",[931,7618,7360],{},", in\n",[399,7621,7623],{"className":7622},[402],[399,7624,7626,7647],{"className":7625,"ariaHidden":407},[406],[399,7627,7629,7632,7638,7641,7644],{"className":7628},[411],[399,7630],{"className":7631,"style":510},[415],[399,7633,7635],{"className":7634},[420,749],[399,7636,928],{"className":7637},[420],[399,7639],{"className":7640,"style":731},[528],[399,7642,4019],{"className":7643},[735],[399,7645],{"className":7646,"style":731},[528],[399,7648,7650,7653],{"className":7649},[411],[399,7651],{"className":7652,"style":921},[415],[399,7654,7656],{"className":7655},[420,749],[399,7657,7360],{"className":7658},[420],", or in neither. The choices are independent\nacross elements, so there are ",[399,7661,7663],{"className":7662},[402],[399,7664,7666],{"className":7665,"ariaHidden":407},[406],[399,7667,7669,7672],{"className":7668},[411],[399,7670],{"className":7671,"style":416},[415],[399,7673,7675,7678],{"className":7674},[420],[399,7676,1615],{"className":7677},[420],[399,7679,7681],{"className":7680},[428],[399,7682,7684],{"className":7683},[432],[399,7685,7687],{"className":7686},[436],[399,7688,7690],{"className":7689,"style":416},[440],[399,7691,7692,7695],{"style":443},[399,7693],{"className":7694,"style":448},[447],[399,7696,7698],{"className":7697},[452,453,454,455],[399,7699,460],{"className":7700},[420,459,455]," such pairs, which is precisely the total\nnumber of (mask, submask) iterations. ",[399,7703,7705],{"className":7704},[402],[399,7706,7708],{"className":7707,"ariaHidden":407},[406],[399,7709,7711,7714],{"className":7710},[411],[399,7712],{"className":7713,"style":4586},[415],[399,7715,7717],{"className":7716},[1102,4590],[399,7718,4595],{"className":7719},[420,4594],[1351,7721,7723,8040],{"className":7722},[1354,1355],[1357,7724,7728],{"xmlns":1359,"width":7725,"height":7726,"viewBox":7727},"441.028","139.442","-75 -75 330.771 104.582",[1364,7729,7730,7737,7748,7751,7758,7769,7780,7787,7794,7801,7808,7814,7821,7827,7834,7867,7876,7929],{"stroke":1366,"style":1367},[1364,7731,7733],{"transform":7732},"translate(-52.265 2.778)",[1369,7734],{"d":7735,"fill":1366,"stroke":1366,"className":7736,"style":1381},"M0.238-63.534L-1.617-63.534L-1.617-63.831Q-1.344-63.831-1.176-63.878Q-1.008-63.925-1.008-64.093L-1.008-66.229Q-1.008-66.444-1.071-66.540Q-1.133-66.636-1.252-66.657Q-1.371-66.679-1.617-66.679L-1.617-66.975L-0.426-67.061L-0.426-66.327Q-0.313-66.542-0.119-66.710Q0.074-66.878 0.312-66.970Q0.550-67.061 0.804-67.061Q1.765-67.061 1.941-66.350Q2.125-66.679 2.453-66.870Q2.781-67.061 3.160-67.061Q4.336-67.061 4.336-65.983L4.336-64.093Q4.336-63.925 4.504-63.878Q4.672-63.831 4.941-63.831L4.941-63.534L3.086-63.534L3.086-63.831Q3.359-63.831 3.527-63.876Q3.695-63.921 3.695-64.093L3.695-65.968Q3.695-66.354 3.570-66.581Q3.445-66.807 3.093-66.807Q2.789-66.807 2.533-66.645Q2.277-66.483 2.129-66.214Q1.980-65.944 1.980-65.647L1.980-64.093Q1.980-63.925 2.150-63.878Q2.320-63.831 2.590-63.831L2.590-63.534L0.734-63.534L0.734-63.831Q1.008-63.831 1.175-63.878Q1.343-63.925 1.343-64.093L1.343-65.968Q1.343-66.354 1.218-66.581Q1.093-66.807 0.742-66.807Q0.437-66.807 0.181-66.645Q-0.075-66.483-0.223-66.214Q-0.371-65.944-0.371-65.647L-0.371-64.093Q-0.371-63.925-0.201-63.878Q-0.032-63.831 0.238-63.831L0.238-63.534M5.484-64.366Q5.484-64.850 5.886-65.145Q6.289-65.440 6.840-65.559Q7.390-65.679 7.883-65.679L7.883-65.968Q7.883-66.194 7.767-66.401Q7.652-66.608 7.455-66.727Q7.258-66.846 7.027-66.846Q6.601-66.846 6.316-66.741Q6.386-66.714 6.433-66.659Q6.480-66.604 6.506-66.534Q6.531-66.464 6.531-66.389Q6.531-66.284 6.480-66.192Q6.429-66.100 6.338-66.050Q6.246-65.999 6.140-65.999Q6.035-65.999 5.943-66.050Q5.851-66.100 5.800-66.192Q5.750-66.284 5.750-66.389Q5.750-66.807 6.138-66.954Q6.527-67.100 7.027-67.100Q7.359-67.100 7.713-66.970Q8.066-66.839 8.295-66.585Q8.523-66.331 8.523-65.983L8.523-64.182Q8.523-64.050 8.595-63.940Q8.668-63.831 8.797-63.831Q8.922-63.831 8.990-63.936Q9.058-64.042 9.058-64.182L9.058-64.694L9.340-64.694L9.340-64.182Q9.340-63.979 9.222-63.821Q9.105-63.663 8.924-63.579Q8.742-63.495 8.539-63.495Q8.308-63.495 8.156-63.667Q8.004-63.839 7.972-64.069Q7.812-63.788 7.504-63.622Q7.195-63.456 6.843-63.456Q6.332-63.456 5.908-63.679Q5.484-63.901 5.484-64.366M6.172-64.366Q6.172-64.081 6.398-63.895Q6.625-63.710 6.918-63.710Q7.164-63.710 7.388-63.827Q7.613-63.944 7.748-64.147Q7.883-64.350 7.883-64.604L7.883-65.436Q7.617-65.436 7.332-65.382Q7.047-65.327 6.775-65.198Q6.504-65.069 6.338-64.862Q6.172-64.655 6.172-64.366M9.675-63.542L9.675-64.764Q9.675-64.792 9.707-64.823Q9.738-64.854 9.761-64.854L9.867-64.854Q9.937-64.854 9.953-64.792Q10.015-64.471 10.154-64.231Q10.293-63.991 10.525-63.850Q10.758-63.710 11.066-63.710Q11.304-63.710 11.513-63.770Q11.722-63.831 11.859-63.979Q11.996-64.128 11.996-64.374Q11.996-64.628 11.785-64.794Q11.574-64.960 11.304-65.014L10.683-65.128Q10.277-65.206 9.976-65.462Q9.675-65.718 9.675-66.093Q9.675-66.460 9.877-66.682Q10.078-66.905 10.402-67.003Q10.726-67.100 11.066-67.100Q11.531-67.100 11.828-66.893L12.050-67.077Q12.074-67.100 12.105-67.100L12.156-67.100Q12.187-67.100 12.215-67.073Q12.242-67.046 12.242-67.014L12.242-66.030Q12.242-65.999 12.216-65.970Q12.191-65.940 12.156-65.940L12.050-65.940Q12.015-65.940 11.988-65.968Q11.961-65.995 11.961-66.030Q11.961-66.429 11.709-66.649Q11.457-66.870 11.058-66.870Q10.703-66.870 10.420-66.747Q10.136-66.624 10.136-66.319Q10.136-66.100 10.338-65.968Q10.539-65.835 10.785-65.792L11.410-65.679Q11.840-65.589 12.148-65.292Q12.457-64.995 12.457-64.581Q12.457-64.011 12.058-63.733Q11.660-63.456 11.066-63.456Q10.515-63.456 10.164-63.792L9.867-63.479Q9.843-63.456 9.808-63.456L9.761-63.456Q9.738-63.456 9.707-63.487Q9.675-63.518 9.675-63.542M14.808-63.534L13.011-63.534L13.011-63.831Q13.281-63.831 13.449-63.876Q13.617-63.921 13.617-64.093L13.617-68.253Q13.617-68.468 13.554-68.563Q13.492-68.659 13.375-68.680Q13.258-68.702 13.011-68.702L13.011-68.999L14.234-69.085L14.234-65.319L15.332-66.206Q15.539-66.386 15.539-66.534Q15.539-66.600 15.486-66.643Q15.433-66.686 15.363-66.686L15.363-66.983L16.898-66.983L16.898-66.686Q16.367-66.686 15.769-66.206L15.160-65.710L16.234-64.311Q16.371-64.136 16.478-64.028Q16.586-63.921 16.720-63.876Q16.855-63.831 17.082-63.831L17.082-63.534L15.457-63.534L15.457-63.831Q15.699-63.831 15.699-63.983Q15.699-64.061 15.656-64.132Q15.613-64.202 15.531-64.311L14.730-65.358L14.203-64.932L14.203-64.093Q14.203-63.925 14.371-63.878Q14.539-63.831 14.808-63.831",[1380],[1364,7738,7739,7742],{"fill":1444},[1369,7740],{"d":7741},"M-10.466-54.998H6.606V-72.07h-17.072Z",[1364,7743,7744],{"transform":2439},[1369,7745],{"d":7746,"fill":1366,"stroke":1366,"className":7747,"style":2024},"M1.977-63.534L-1.055-63.534L-1.055-63.850Q0.096-63.850 0.096-64.145L0.096-68.869Q-0.392-68.636-1.113-68.636L-1.113-68.952Q0.017-68.952 0.579-69.528L0.724-69.528Q0.759-69.528 0.792-69.495Q0.825-69.462 0.825-69.427L0.825-64.145Q0.825-63.850 1.977-63.850",[1380],[1369,7749],{"fill":1371,"d":7750},"M9.451-54.998h17.072V-72.07H9.45Z",[1364,7752,7754],{"transform":7753},"translate(17.604 2.9)",[1369,7755],{"d":7756,"fill":1366,"stroke":1366,"className":7757,"style":2024},"M0.382-63.336Q-0.743-63.336-1.157-64.233Q-1.570-65.129-1.570-66.404Q-1.570-67.177-1.420-67.876Q-1.271-68.575-0.836-69.051Q-0.401-69.528 0.382-69.528Q1.159-69.528 1.594-69.049Q2.029-68.570 2.179-67.874Q2.328-67.177 2.328-66.404Q2.328-65.125 1.915-64.231Q1.502-63.336 0.382-63.336M0.382-63.596Q0.900-63.596 1.151-64.107Q1.401-64.619 1.458-65.230Q1.515-65.841 1.515-66.549Q1.515-67.234 1.458-67.794Q1.401-68.355 1.148-68.812Q0.896-69.269 0.382-69.269Q-0.023-69.269-0.260-68.992Q-0.497-68.715-0.605-68.274Q-0.713-67.832-0.737-67.439Q-0.761-67.045-0.761-66.549Q-0.761-66.043-0.737-65.615Q-0.713-65.186-0.605-64.703Q-0.497-64.220-0.258-63.908Q-0.018-63.596 0.382-63.596",[1380],[1364,7759,7760,7763],{"fill":1444},[1369,7761],{"d":7762},"M29.368-54.998H46.44V-72.07H29.368Z",[1364,7764,7766],{"transform":7765},"translate(37.521 2.9)",[1369,7767],{"d":7746,"fill":1366,"stroke":1366,"className":7768,"style":2024},[1380],[1364,7770,7771,7774],{"fill":1444},[1369,7772],{"d":7773},"M49.285-54.998h17.072V-72.07H49.285Z",[1364,7775,7777],{"transform":7776},"translate(57.438 2.9)",[1369,7778],{"d":7746,"fill":1366,"stroke":1366,"className":7779,"style":2024},[1380],[1364,7781,7783],{"transform":7782},"translate(-60.34 31.23)",[1369,7784],{"d":7785,"fill":1366,"stroke":1366,"className":7786,"style":1381},"M-1.649-63.542L-1.649-64.764Q-1.649-64.792-1.617-64.823Q-1.586-64.854-1.563-64.854L-1.457-64.854Q-1.387-64.854-1.371-64.792Q-1.309-64.471-1.170-64.231Q-1.032-63.991-0.799-63.850Q-0.567-63.710-0.258-63.710Q-0.020-63.710 0.189-63.770Q0.398-63.831 0.535-63.979Q0.672-64.128 0.672-64.374Q0.672-64.628 0.461-64.794Q0.250-64.960-0.020-65.014L-0.641-65.128Q-1.047-65.206-1.348-65.462Q-1.649-65.718-1.649-66.093Q-1.649-66.460-1.448-66.682Q-1.246-66.905-0.922-67.003Q-0.598-67.100-0.258-67.100Q0.207-67.100 0.504-66.893L0.726-67.077Q0.750-67.100 0.781-67.100L0.832-67.100Q0.863-67.100 0.890-67.073Q0.918-67.046 0.918-67.014L0.918-66.030Q0.918-65.999 0.892-65.970Q0.867-65.940 0.832-65.940L0.726-65.940Q0.691-65.940 0.664-65.968Q0.636-65.995 0.636-66.030Q0.636-66.429 0.384-66.649Q0.133-66.870-0.266-66.870Q-0.621-66.870-0.905-66.747Q-1.188-66.624-1.188-66.319Q-1.188-66.100-0.987-65.968Q-0.785-65.835-0.539-65.792L0.086-65.679Q0.515-65.589 0.824-65.292Q1.133-64.995 1.133-64.581Q1.133-64.011 0.734-63.733Q0.336-63.456-0.258-63.456Q-0.809-63.456-1.160-63.792L-1.457-63.479Q-1.481-63.456-1.516-63.456L-1.563-63.456Q-1.586-63.456-1.617-63.487Q-1.649-63.518-1.649-63.542M2.343-64.487L2.343-66.229Q2.343-66.444 2.281-66.540Q2.218-66.636 2.099-66.657Q1.980-66.679 1.734-66.679L1.734-66.975L2.980-67.061L2.980-64.511L2.980-64.487Q2.980-64.175 3.035-64.013Q3.090-63.850 3.240-63.780Q3.390-63.710 3.711-63.710Q4.140-63.710 4.414-64.048Q4.687-64.386 4.687-64.831L4.687-66.229Q4.687-66.444 4.625-66.540Q4.562-66.636 4.443-66.657Q4.324-66.679 4.078-66.679L4.078-66.975L5.324-67.061L5.324-64.276Q5.324-64.065 5.386-63.970Q5.449-63.874 5.568-63.852Q5.687-63.831 5.933-63.831L5.933-63.534L4.711-63.456L4.711-64.077Q4.543-63.788 4.261-63.622Q3.980-63.456 3.660-63.456Q2.343-63.456 2.343-64.487M7.293-63.534L7.011-63.534L7.011-68.253Q7.011-68.468 6.949-68.563Q6.886-68.659 6.769-68.680Q6.652-68.702 6.406-68.702L6.406-68.999L7.629-69.085L7.629-66.596Q8.105-67.061 8.804-67.061Q9.285-67.061 9.693-66.817Q10.101-66.573 10.338-66.159Q10.574-65.745 10.574-65.261Q10.574-64.886 10.425-64.557Q10.277-64.229 10.008-63.977Q9.738-63.725 9.394-63.591Q9.050-63.456 8.691-63.456Q8.371-63.456 8.072-63.604Q7.773-63.753 7.566-64.014L7.293-63.534M7.652-66.206L7.652-64.366Q7.804-64.069 8.064-63.889Q8.324-63.710 8.636-63.710Q9.062-63.710 9.330-63.929Q9.597-64.147 9.713-64.493Q9.828-64.839 9.828-65.261Q9.828-65.909 9.580-66.358Q9.332-66.807 8.734-66.807Q8.398-66.807 8.109-66.649Q7.820-66.491 7.652-66.206M13.027-63.534L11.172-63.534L11.172-63.831Q11.445-63.831 11.613-63.878Q11.781-63.925 11.781-64.093L11.781-66.229Q11.781-66.444 11.718-66.540Q11.656-66.636 11.537-66.657Q11.418-66.679 11.172-66.679L11.172-66.975L12.363-67.061L12.363-66.327Q12.476-66.542 12.670-66.710Q12.863-66.878 13.101-66.970Q13.340-67.061 13.593-67.061Q14.554-67.061 14.730-66.350Q14.914-66.679 15.242-66.870Q15.570-67.061 15.949-67.061Q17.125-67.061 17.125-65.983L17.125-64.093Q17.125-63.925 17.293-63.878Q17.461-63.831 17.730-63.831L17.730-63.534L15.875-63.534L15.875-63.831Q16.148-63.831 16.316-63.876Q16.484-63.921 16.484-64.093L16.484-65.968Q16.484-66.354 16.359-66.581Q16.234-66.807 15.883-66.807Q15.578-66.807 15.322-66.645Q15.066-66.483 14.918-66.214Q14.769-65.944 14.769-65.647L14.769-64.093Q14.769-63.925 14.939-63.878Q15.109-63.831 15.379-63.831L15.379-63.534L13.523-63.534L13.523-63.831Q13.797-63.831 13.965-63.878Q14.133-63.925 14.133-64.093L14.133-65.968Q14.133-66.354 14.008-66.581Q13.883-66.807 13.531-66.807Q13.226-66.807 12.970-66.645Q12.715-66.483 12.566-66.214Q12.418-65.944 12.418-65.647L12.418-64.093Q12.418-63.925 12.588-63.878Q12.758-63.831 13.027-63.831L13.027-63.534M18.273-64.366Q18.273-64.850 18.675-65.145Q19.078-65.440 19.629-65.559Q20.179-65.679 20.672-65.679L20.672-65.968Q20.672-66.194 20.556-66.401Q20.441-66.608 20.244-66.727Q20.047-66.846 19.816-66.846Q19.390-66.846 19.105-66.741Q19.175-66.714 19.222-66.659Q19.269-66.604 19.295-66.534Q19.320-66.464 19.320-66.389Q19.320-66.284 19.269-66.192Q19.218-66.100 19.127-66.050Q19.035-65.999 18.929-65.999Q18.824-65.999 18.732-66.050Q18.640-66.100 18.590-66.192Q18.539-66.284 18.539-66.389Q18.539-66.807 18.927-66.954Q19.316-67.100 19.816-67.100Q20.148-67.100 20.502-66.970Q20.855-66.839 21.084-66.585Q21.312-66.331 21.312-65.983L21.312-64.182Q21.312-64.050 21.384-63.940Q21.457-63.831 21.586-63.831Q21.711-63.831 21.779-63.936Q21.847-64.042 21.847-64.182L21.847-64.694L22.129-64.694L22.129-64.182Q22.129-63.979 22.011-63.821Q21.894-63.663 21.713-63.579Q21.531-63.495 21.328-63.495Q21.097-63.495 20.945-63.667Q20.793-63.839 20.761-64.069Q20.601-63.788 20.293-63.622Q19.984-63.456 19.633-63.456Q19.121-63.456 18.697-63.679Q18.273-63.901 18.273-64.366M18.961-64.366Q18.961-64.081 19.187-63.895Q19.414-63.710 19.707-63.710Q19.953-63.710 20.177-63.827Q20.402-63.944 20.537-64.147Q20.672-64.350 20.672-64.604L20.672-65.436Q20.406-65.436 20.121-65.382Q19.836-65.327 19.564-65.198Q19.293-65.069 19.127-64.862Q18.961-64.655 18.961-64.366M22.465-63.542L22.465-64.764Q22.465-64.792 22.496-64.823Q22.527-64.854 22.550-64.854L22.656-64.854Q22.726-64.854 22.742-64.792Q22.804-64.471 22.943-64.231Q23.082-63.991 23.314-63.850Q23.547-63.710 23.855-63.710Q24.093-63.710 24.302-63.770Q24.511-63.831 24.648-63.979Q24.785-64.128 24.785-64.374Q24.785-64.628 24.574-64.794Q24.363-64.960 24.093-65.014L23.472-65.128Q23.066-65.206 22.765-65.462Q22.465-65.718 22.465-66.093Q22.465-66.460 22.666-66.682Q22.867-66.905 23.191-67.003Q23.515-67.100 23.855-67.100Q24.320-67.100 24.617-66.893L24.840-67.077Q24.863-67.100 24.894-67.100L24.945-67.100Q24.976-67.100 25.004-67.073Q25.031-67.046 25.031-67.014L25.031-66.030Q25.031-65.999 25.006-65.970Q24.980-65.940 24.945-65.940L24.840-65.940Q24.804-65.940 24.777-65.968Q24.750-65.995 24.750-66.030Q24.750-66.429 24.498-66.649Q24.246-66.870 23.847-66.870Q23.492-66.870 23.209-66.747Q22.925-66.624 22.925-66.319Q22.925-66.100 23.127-65.968Q23.328-65.835 23.574-65.792L24.199-65.679Q24.629-65.589 24.937-65.292Q25.246-64.995 25.246-64.581Q25.246-64.011 24.847-63.733Q24.449-63.456 23.855-63.456Q23.304-63.456 22.953-63.792L22.656-63.479Q22.633-63.456 22.597-63.456L22.550-63.456Q22.527-63.456 22.496-63.487Q22.465-63.518 22.465-63.542M27.597-63.534L25.800-63.534L25.800-63.831Q26.070-63.831 26.238-63.876Q26.406-63.921 26.406-64.093L26.406-68.253Q26.406-68.468 26.343-68.563Q26.281-68.659 26.164-68.680Q26.047-68.702 25.800-68.702L25.800-68.999L27.023-69.085L27.023-65.319L28.121-66.206Q28.328-66.386 28.328-66.534Q28.328-66.600 28.275-66.643Q28.222-66.686 28.152-66.686L28.152-66.983L29.687-66.983L29.687-66.686Q29.156-66.686 28.558-66.206L27.949-65.710L29.023-64.311Q29.160-64.136 29.267-64.028Q29.375-63.921 29.509-63.876Q29.644-63.831 29.871-63.831L29.871-63.534L28.246-63.534L28.246-63.831Q28.488-63.831 28.488-63.983Q28.488-64.061 28.445-64.132Q28.402-64.202 28.320-64.311L27.519-65.358L26.992-64.932L26.992-64.093Q26.992-63.925 27.160-63.878Q27.328-63.831 27.597-63.831L27.597-63.534M30.297-63.542L30.297-64.764Q30.297-64.792 30.328-64.823Q30.359-64.854 30.383-64.854L30.488-64.854Q30.558-64.854 30.574-64.792Q30.636-64.471 30.775-64.231Q30.914-63.991 31.146-63.850Q31.379-63.710 31.687-63.710Q31.925-63.710 32.134-63.770Q32.343-63.831 32.480-63.979Q32.617-64.128 32.617-64.374Q32.617-64.628 32.406-64.794Q32.195-64.960 31.925-65.014L31.304-65.128Q30.898-65.206 30.597-65.462Q30.297-65.718 30.297-66.093Q30.297-66.460 30.498-66.682Q30.699-66.905 31.023-67.003Q31.347-67.100 31.687-67.100Q32.152-67.100 32.449-66.893L32.672-67.077Q32.695-67.100 32.726-67.100L32.777-67.100Q32.808-67.100 32.836-67.073Q32.863-67.046 32.863-67.014L32.863-66.030Q32.863-65.999 32.838-65.970Q32.812-65.940 32.777-65.940L32.672-65.940Q32.636-65.940 32.609-65.968Q32.582-65.995 32.582-66.030Q32.582-66.429 32.330-66.649Q32.078-66.870 31.679-66.870Q31.324-66.870 31.041-66.747Q30.758-66.624 30.758-66.319Q30.758-66.100 30.959-65.968Q31.160-65.835 31.406-65.792L32.031-65.679Q32.461-65.589 32.769-65.292Q33.078-64.995 33.078-64.581Q33.078-64.011 32.679-63.733Q32.281-63.456 31.687-63.456Q31.136-63.456 30.785-63.792L30.488-63.479Q30.465-63.456 30.429-63.456L30.383-63.456Q30.359-63.456 30.328-63.487Q30.297-63.518 30.297-63.542",[1380],[1364,7788,7790],{"transform":7789},"translate(-9.25 31.353)",[1369,7791],{"d":7792,"fill":1366,"stroke":1366,"className":7793,"style":2024},"M1.977-63.534L-1.055-63.534L-1.055-63.850Q0.096-63.850 0.096-64.145L0.096-68.869Q-0.392-68.636-1.113-68.636L-1.113-68.952Q0.017-68.952 0.579-69.528L0.724-69.528Q0.759-69.528 0.792-69.495Q0.825-69.462 0.825-69.427L0.825-64.145Q0.825-63.850 1.977-63.850L1.977-63.534M5-63.336Q3.875-63.336 3.462-64.233Q3.049-65.129 3.049-66.404Q3.049-67.177 3.198-67.876Q3.348-68.575 3.783-69.051Q4.218-69.528 5-69.528Q5.778-69.528 6.213-69.049Q6.648-68.570 6.798-67.874Q6.947-67.177 6.947-66.404Q6.947-65.125 6.534-64.231Q6.121-63.336 5-63.336M5-63.596Q5.519-63.596 5.769-64.107Q6.020-64.619 6.077-65.230Q6.134-65.841 6.134-66.549Q6.134-67.234 6.077-67.794Q6.020-68.355 5.767-68.812Q5.514-69.269 5-69.269Q4.596-69.269 4.359-68.992Q4.121-68.715 4.014-68.274Q3.906-67.832 3.882-67.439Q3.858-67.045 3.858-66.549Q3.858-66.043 3.882-65.615Q3.906-65.186 4.014-64.703Q4.121-64.220 4.361-63.908Q4.600-63.596 5-63.596M11.214-63.534L8.182-63.534L8.182-63.850Q9.333-63.850 9.333-64.145L9.333-68.869Q8.845-68.636 8.125-68.636L8.125-68.952Q9.254-68.952 9.817-69.528L9.962-69.528Q9.997-69.528 10.030-69.495Q10.063-69.462 10.063-69.427L10.063-64.145Q10.063-63.850 11.214-63.850L11.214-63.534M15.833-63.534L12.800-63.534L12.800-63.850Q13.952-63.850 13.952-64.145L13.952-68.869Q13.464-68.636 12.743-68.636L12.743-68.952Q13.873-68.952 14.435-69.528L14.580-69.528Q14.615-69.528 14.648-69.495Q14.681-69.462 14.681-69.427L14.681-64.145Q14.681-63.850 15.833-63.850",[1380],[1364,7795,7797],{"transform":7796},"translate(23.828 30.128)",[1369,7798],{"d":7799,"fill":1366,"stroke":1366,"className":7800,"style":2024},"M5.730-65.586L-1.227-65.586Q-1.306-65.586-1.361-65.646Q-1.416-65.705-1.416-65.784Q-1.416-65.854-1.361-65.914Q-1.306-65.973-1.227-65.973L5.730-65.973Q5.224-66.338 4.893-66.869Q4.561-67.401 4.442-68.016Q4.442-68.056 4.473-68.100Q4.504-68.144 4.543-68.144L4.719-68.144Q4.798-68.144 4.820-68.060Q4.917-67.568 5.176-67.129Q5.435-66.689 5.824-66.371Q6.213-66.052 6.701-65.894Q6.802-65.850 6.802-65.784Q6.802-65.701 6.701-65.665Q6.213-65.507 5.824-65.189Q5.435-64.870 5.176-64.430Q4.917-63.991 4.820-63.499Q4.798-63.415 4.719-63.415L4.543-63.415Q4.504-63.415 4.473-63.457Q4.442-63.499 4.442-63.543Q4.565-64.171 4.897-64.703Q5.229-65.235 5.730-65.586",[1380],[1364,7802,7804],{"transform":7803},"translate(47.656 31.353)",[1369,7805],{"d":7806,"fill":1366,"stroke":1366,"className":7807,"style":2024},"M1.977-63.534L-1.055-63.534L-1.055-63.850Q0.096-63.850 0.096-64.145L0.096-68.869Q-0.392-68.636-1.113-68.636L-1.113-68.952Q0.017-68.952 0.579-69.528L0.724-69.528Q0.759-69.528 0.792-69.495Q0.825-69.462 0.825-69.427L0.825-64.145Q0.825-63.850 1.977-63.850L1.977-63.534M5-63.336Q3.875-63.336 3.462-64.233Q3.049-65.129 3.049-66.404Q3.049-67.177 3.198-67.876Q3.348-68.575 3.783-69.051Q4.218-69.528 5-69.528Q5.778-69.528 6.213-69.049Q6.648-68.570 6.798-67.874Q6.947-67.177 6.947-66.404Q6.947-65.125 6.534-64.231Q6.121-63.336 5-63.336M5-63.596Q5.519-63.596 5.769-64.107Q6.020-64.619 6.077-65.230Q6.134-65.841 6.134-66.549Q6.134-67.234 6.077-67.794Q6.020-68.355 5.767-68.812Q5.514-69.269 5-69.269Q4.596-69.269 4.359-68.992Q4.121-68.715 4.014-68.274Q3.906-67.832 3.882-67.439Q3.858-67.045 3.858-66.549Q3.858-66.043 3.882-65.615Q3.906-65.186 4.014-64.703Q4.121-64.220 4.361-63.908Q4.600-63.596 5-63.596M11.214-63.534L8.182-63.534L8.182-63.850Q9.333-63.850 9.333-64.145L9.333-68.869Q8.845-68.636 8.125-68.636L8.125-68.952Q9.254-68.952 9.817-69.528L9.962-69.528Q9.997-69.528 10.030-69.495Q10.063-69.462 10.063-69.427L10.063-64.145Q10.063-63.850 11.214-63.850L11.214-63.534M14.237-63.336Q13.112-63.336 12.699-64.233Q12.286-65.129 12.286-66.404Q12.286-67.177 12.436-67.876Q12.585-68.575 13.020-69.051Q13.455-69.528 14.237-69.528Q15.015-69.528 15.450-69.049Q15.885-68.570 16.035-67.874Q16.184-67.177 16.184-66.404Q16.184-65.125 15.771-64.231Q15.358-63.336 14.237-63.336M14.237-63.596Q14.756-63.596 15.007-64.107Q15.257-64.619 15.314-65.230Q15.371-65.841 15.371-66.549Q15.371-67.234 15.314-67.794Q15.257-68.355 15.004-68.812Q14.752-69.269 14.237-69.269Q13.833-69.269 13.596-68.992Q13.359-68.715 13.251-68.274Q13.143-67.832 13.119-67.439Q13.095-67.045 13.095-66.549Q13.095-66.043 13.119-65.615Q13.143-65.186 13.251-64.703Q13.359-64.220 13.598-63.908Q13.838-63.596 14.237-63.596",[1380],[1364,7809,7811],{"transform":7810},"translate(80.733 30.128)",[1369,7812],{"d":7799,"fill":1366,"stroke":1366,"className":7813,"style":2024},[1380],[1364,7815,7817],{"transform":7816},"translate(104.561 31.353)",[1369,7818],{"d":7819,"fill":1366,"stroke":1366,"className":7820,"style":2024},"M1.977-63.534L-1.055-63.534L-1.055-63.850Q0.096-63.850 0.096-64.145L0.096-68.869Q-0.392-68.636-1.113-68.636L-1.113-68.952Q0.017-68.952 0.579-69.528L0.724-69.528Q0.759-69.528 0.792-69.495Q0.825-69.462 0.825-69.427L0.825-64.145Q0.825-63.850 1.977-63.850L1.977-63.534M5-63.336Q3.875-63.336 3.462-64.233Q3.049-65.129 3.049-66.404Q3.049-67.177 3.198-67.876Q3.348-68.575 3.783-69.051Q4.218-69.528 5-69.528Q5.778-69.528 6.213-69.049Q6.648-68.570 6.798-67.874Q6.947-67.177 6.947-66.404Q6.947-65.125 6.534-64.231Q6.121-63.336 5-63.336M5-63.596Q5.519-63.596 5.769-64.107Q6.020-64.619 6.077-65.230Q6.134-65.841 6.134-66.549Q6.134-67.234 6.077-67.794Q6.020-68.355 5.767-68.812Q5.514-69.269 5-69.269Q4.596-69.269 4.359-68.992Q4.121-68.715 4.014-68.274Q3.906-67.832 3.882-67.439Q3.858-67.045 3.858-66.549Q3.858-66.043 3.882-65.615Q3.906-65.186 4.014-64.703Q4.121-64.220 4.361-63.908Q4.600-63.596 5-63.596M9.619-63.336Q8.494-63.336 8.081-64.233Q7.668-65.129 7.668-66.404Q7.668-67.177 7.817-67.876Q7.966-68.575 8.402-69.051Q8.837-69.528 9.619-69.528Q10.397-69.528 10.832-69.049Q11.267-68.570 11.416-67.874Q11.566-67.177 11.566-66.404Q11.566-65.125 11.153-64.231Q10.739-63.336 9.619-63.336M9.619-63.596Q10.137-63.596 10.388-64.107Q10.638-64.619 10.695-65.230Q10.753-65.841 10.753-66.549Q10.753-67.234 10.695-67.794Q10.638-68.355 10.386-68.812Q10.133-69.269 9.619-69.269Q9.215-69.269 8.977-68.992Q8.740-68.715 8.632-68.274Q8.525-67.832 8.500-67.439Q8.476-67.045 8.476-66.549Q8.476-66.043 8.500-65.615Q8.525-65.186 8.632-64.703Q8.740-64.220 8.979-63.908Q9.219-63.596 9.619-63.596M15.833-63.534L12.800-63.534L12.800-63.850Q13.952-63.850 13.952-64.145L13.952-68.869Q13.464-68.636 12.743-68.636L12.743-68.952Q13.873-68.952 14.435-69.528L14.580-69.528Q14.615-69.528 14.648-69.495Q14.681-69.462 14.681-69.427L14.681-64.145Q14.681-63.850 15.833-63.850",[1380],[1364,7822,7824],{"transform":7823},"translate(137.639 30.128)",[1369,7825],{"d":7799,"fill":1366,"stroke":1366,"className":7826,"style":2024},[1380],[1364,7828,7830],{"transform":7829},"translate(161.467 31.353)",[1369,7831],{"d":7832,"fill":1366,"stroke":1366,"className":7833,"style":2024},"M1.977-63.534L-1.055-63.534L-1.055-63.850Q0.096-63.850 0.096-64.145L0.096-68.869Q-0.392-68.636-1.113-68.636L-1.113-68.952Q0.017-68.952 0.579-69.528L0.724-69.528Q0.759-69.528 0.792-69.495Q0.825-69.462 0.825-69.427L0.825-64.145Q0.825-63.850 1.977-63.850L1.977-63.534M5-63.336Q3.875-63.336 3.462-64.233Q3.049-65.129 3.049-66.404Q3.049-67.177 3.198-67.876Q3.348-68.575 3.783-69.051Q4.218-69.528 5-69.528Q5.778-69.528 6.213-69.049Q6.648-68.570 6.798-67.874Q6.947-67.177 6.947-66.404Q6.947-65.125 6.534-64.231Q6.121-63.336 5-63.336M5-63.596Q5.519-63.596 5.769-64.107Q6.020-64.619 6.077-65.230Q6.134-65.841 6.134-66.549Q6.134-67.234 6.077-67.794Q6.020-68.355 5.767-68.812Q5.514-69.269 5-69.269Q4.596-69.269 4.359-68.992Q4.121-68.715 4.014-68.274Q3.906-67.832 3.882-67.439Q3.858-67.045 3.858-66.549Q3.858-66.043 3.882-65.615Q3.906-65.186 4.014-64.703Q4.121-64.220 4.361-63.908Q4.600-63.596 5-63.596M9.619-63.336Q8.494-63.336 8.081-64.233Q7.668-65.129 7.668-66.404Q7.668-67.177 7.817-67.876Q7.966-68.575 8.402-69.051Q8.837-69.528 9.619-69.528Q10.397-69.528 10.832-69.049Q11.267-68.570 11.416-67.874Q11.566-67.177 11.566-66.404Q11.566-65.125 11.153-64.231Q10.739-63.336 9.619-63.336M9.619-63.596Q10.137-63.596 10.388-64.107Q10.638-64.619 10.695-65.230Q10.753-65.841 10.753-66.549Q10.753-67.234 10.695-67.794Q10.638-68.355 10.386-68.812Q10.133-69.269 9.619-69.269Q9.215-69.269 8.977-68.992Q8.740-68.715 8.632-68.274Q8.525-67.832 8.500-67.439Q8.476-67.045 8.476-66.549Q8.476-66.043 8.500-65.615Q8.525-65.186 8.632-64.703Q8.740-64.220 8.979-63.908Q9.219-63.596 9.619-63.596M14.237-63.336Q13.112-63.336 12.699-64.233Q12.286-65.129 12.286-66.404Q12.286-67.177 12.436-67.876Q12.585-68.575 13.020-69.051Q13.455-69.528 14.237-69.528Q15.015-69.528 15.450-69.049Q15.885-68.570 16.035-67.874Q16.184-67.177 16.184-66.404Q16.184-65.125 15.771-64.231Q15.358-63.336 14.237-63.336M14.237-63.596Q14.756-63.596 15.007-64.107Q15.257-64.619 15.314-65.230Q15.371-65.841 15.371-66.549Q15.371-67.234 15.314-67.794Q15.257-68.355 15.004-68.812Q14.752-69.269 14.237-69.269Q13.833-69.269 13.596-68.992Q13.359-68.715 13.251-68.274Q13.143-67.832 13.119-67.439Q13.095-67.045 13.095-66.549Q13.095-66.043 13.119-65.615Q13.143-65.186 13.251-64.703Q13.359-64.220 13.598-63.908Q13.838-63.596 14.237-63.596",[1380],[1364,7835,7837,7843,7849,7855,7861],{"stroke":1371,"fontFamily":7836,"fontSize":2139},"cmsy9",[1364,7838,7840],{"transform":7839},"translate(181.954 30.477)",[1369,7841],{"d":7799,"fill":1366,"stroke":1366,"className":7842,"style":2024},[1380],[1364,7844,7845],{"transform":7839},[1369,7846],{"d":7847,"fill":1366,"stroke":1366,"className":7848,"style":2024},"M10.662-65.784Q10.662-65.982 10.807-66.136Q10.952-66.289 11.168-66.289Q11.304-66.289 11.420-66.221Q11.537-66.153 11.605-66.037Q11.673-65.920 11.673-65.784Q11.673-65.582 11.522-65.430Q11.370-65.279 11.168-65.279Q10.961-65.279 10.812-65.432Q10.662-65.586 10.662-65.784",[1380],[1364,7850,7851],{"transform":7839},[1369,7852],{"d":7853,"fill":1366,"stroke":1366,"className":7854,"style":2024},"M14.774-65.784Q14.774-65.982 14.919-66.136Q15.064-66.289 15.280-66.289Q15.416-66.289 15.532-66.221Q15.649-66.153 15.717-66.037Q15.785-65.920 15.785-65.784Q15.785-65.582 15.634-65.430Q15.482-65.279 15.280-65.279Q15.073-65.279 14.924-65.432Q14.774-65.586 14.774-65.784",[1380],[1364,7856,7857],{"transform":7839},[1369,7858],{"d":7859,"fill":1366,"stroke":1366,"className":7860,"style":2024},"M18.885-65.784Q18.885-65.982 19.030-66.136Q19.175-66.289 19.391-66.289Q19.527-66.289 19.643-66.221Q19.760-66.153 19.828-66.037Q19.896-65.920 19.896-65.784Q19.896-65.582 19.745-65.430Q19.593-65.279 19.391-65.279Q19.184-65.279 19.035-65.432Q18.885-65.586 18.885-65.784",[1380],[1364,7862,7863],{"transform":7839},[1369,7864],{"d":7865,"fill":1366,"stroke":1366,"className":7866,"style":2024},"M30.910-65.586L23.953-65.586Q23.874-65.586 23.819-65.646Q23.764-65.705 23.764-65.784Q23.764-65.854 23.819-65.914Q23.874-65.973 23.953-65.973L30.910-65.973Q30.404-66.338 30.073-66.869Q29.741-67.401 29.622-68.016Q29.622-68.056 29.653-68.100Q29.684-68.144 29.723-68.144L29.899-68.144Q29.978-68.144 30-68.060Q30.097-67.568 30.356-67.129Q30.615-66.689 31.004-66.371Q31.393-66.052 31.881-65.894Q31.982-65.850 31.982-65.784Q31.982-65.701 31.881-65.665Q31.393-65.507 31.004-65.189Q30.615-64.870 30.356-64.430Q30.097-63.991 30-63.499Q29.978-63.415 29.899-63.415L29.723-63.415Q29.684-63.415 29.653-63.457Q29.622-63.499 29.622-63.543Q29.745-64.171 30.077-64.703Q30.409-65.235 30.910-65.586",[1380],[1364,7868,7869],{"fill":1529,"stroke":1529},[1364,7870,7872],{"transform":7871},"translate(232.598 31.353)",[1369,7873],{"d":7874,"fill":1529,"stroke":1529,"className":7875,"style":2024},"M0.382-63.336Q-0.743-63.336-1.157-64.233Q-1.570-65.129-1.570-66.404Q-1.570-67.177-1.420-67.876Q-1.271-68.575-0.836-69.051Q-0.401-69.528 0.382-69.528Q1.159-69.528 1.594-69.049Q2.029-68.570 2.179-67.874Q2.328-67.177 2.328-66.404Q2.328-65.125 1.915-64.231Q1.502-63.336 0.382-63.336M0.382-63.596Q0.900-63.596 1.151-64.107Q1.401-64.619 1.458-65.230Q1.515-65.841 1.515-66.549Q1.515-67.234 1.458-67.794Q1.401-68.355 1.148-68.812Q0.896-69.269 0.382-69.269Q-0.023-69.269-0.260-68.992Q-0.497-68.715-0.605-68.274Q-0.713-67.832-0.737-67.439Q-0.761-67.045-0.761-66.549Q-0.761-66.043-0.737-65.615Q-0.713-65.186-0.605-64.703Q-0.497-64.220-0.258-63.908Q-0.018-63.596 0.382-63.596M5-63.336Q3.875-63.336 3.462-64.233Q3.049-65.129 3.049-66.404Q3.049-67.177 3.198-67.876Q3.348-68.575 3.783-69.051Q4.218-69.528 5-69.528Q5.778-69.528 6.213-69.049Q6.648-68.570 6.798-67.874Q6.947-67.177 6.947-66.404Q6.947-65.125 6.534-64.231Q6.121-63.336 5-63.336M5-63.596Q5.519-63.596 5.769-64.107Q6.020-64.619 6.077-65.230Q6.134-65.841 6.134-66.549Q6.134-67.234 6.077-67.794Q6.020-68.355 5.767-68.812Q5.514-69.269 5-69.269Q4.596-69.269 4.359-68.992Q4.121-68.715 4.014-68.274Q3.906-67.832 3.882-67.439Q3.858-67.045 3.858-66.549Q3.858-66.043 3.882-65.615Q3.906-65.186 4.014-64.703Q4.121-64.220 4.361-63.908Q4.600-63.596 5-63.596M9.619-63.336Q8.494-63.336 8.081-64.233Q7.668-65.129 7.668-66.404Q7.668-67.177 7.817-67.876Q7.966-68.575 8.402-69.051Q8.837-69.528 9.619-69.528Q10.397-69.528 10.832-69.049Q11.267-68.570 11.416-67.874Q11.566-67.177 11.566-66.404Q11.566-65.125 11.153-64.231Q10.739-63.336 9.619-63.336M9.619-63.596Q10.137-63.596 10.388-64.107Q10.638-64.619 10.695-65.230Q10.753-65.841 10.753-66.549Q10.753-67.234 10.695-67.794Q10.638-68.355 10.386-68.812Q10.133-69.269 9.619-69.269Q9.215-69.269 8.977-68.992Q8.740-68.715 8.632-68.274Q8.525-67.832 8.500-67.439Q8.476-67.045 8.476-66.549Q8.476-66.043 8.500-65.615Q8.525-65.186 8.632-64.703Q8.740-64.220 8.979-63.908Q9.219-63.596 9.619-63.596M14.237-63.336Q13.112-63.336 12.699-64.233Q12.286-65.129 12.286-66.404Q12.286-67.177 12.436-67.876Q12.585-68.575 13.020-69.051Q13.455-69.528 14.237-69.528Q15.015-69.528 15.450-69.049Q15.885-68.570 16.035-67.874Q16.184-67.177 16.184-66.404Q16.184-65.125 15.771-64.231Q15.358-63.336 14.237-63.336M14.237-63.596Q14.756-63.596 15.007-64.107Q15.257-64.619 15.314-65.230Q15.371-65.841 15.371-66.549Q15.371-67.234 15.314-67.794Q15.257-68.355 15.004-68.812Q14.752-69.269 14.237-69.269Q13.833-69.269 13.596-68.992Q13.359-68.715 13.251-68.274Q13.143-67.832 13.119-67.439Q13.095-67.045 13.095-66.549Q13.095-66.043 13.119-65.615Q13.143-65.186 13.251-64.703Q13.359-64.220 13.598-63.908Q13.838-63.596 14.237-63.596",[1380],[1364,7877,7878],{"fill":1529,"stroke":1529},[1364,7879,7880,7887,7893,7899,7905,7911,7917,7923],{"fill":1529,"stroke":1371,"fontSize":1532},[1364,7881,7883],{"transform":7882},"translate(41.016 56.06)",[1369,7884],{"d":7885,"fill":1529,"stroke":1529,"className":7886,"style":1381},"M-1.649-63.542L-1.649-64.764Q-1.649-64.792-1.617-64.823Q-1.586-64.854-1.563-64.854L-1.457-64.854Q-1.387-64.854-1.371-64.792Q-1.309-64.471-1.170-64.231Q-1.032-63.991-0.799-63.850Q-0.567-63.710-0.258-63.710Q-0.020-63.710 0.189-63.770Q0.398-63.831 0.535-63.979Q0.672-64.128 0.672-64.374Q0.672-64.628 0.461-64.794Q0.250-64.960-0.020-65.014L-0.641-65.128Q-1.047-65.206-1.348-65.462Q-1.649-65.718-1.649-66.093Q-1.649-66.460-1.448-66.682Q-1.246-66.905-0.922-67.003Q-0.598-67.100-0.258-67.100Q0.207-67.100 0.504-66.893L0.726-67.077Q0.750-67.100 0.781-67.100L0.832-67.100Q0.863-67.100 0.890-67.073Q0.918-67.046 0.918-67.014L0.918-66.030Q0.918-65.999 0.892-65.970Q0.867-65.940 0.832-65.940L0.726-65.940Q0.691-65.940 0.664-65.968Q0.636-65.995 0.636-66.030Q0.636-66.429 0.384-66.649Q0.133-66.870-0.266-66.870Q-0.621-66.870-0.905-66.747Q-1.188-66.624-1.188-66.319Q-1.188-66.100-0.987-65.968Q-0.785-65.835-0.539-65.792L0.086-65.679Q0.515-65.589 0.824-65.292Q1.133-64.995 1.133-64.581Q1.133-64.011 0.734-63.733Q0.336-63.456-0.258-63.456Q-0.809-63.456-1.160-63.792L-1.457-63.479Q-1.481-63.456-1.516-63.456L-1.563-63.456Q-1.586-63.456-1.617-63.487Q-1.649-63.518-1.649-63.542M2.343-64.487L2.343-66.229Q2.343-66.444 2.281-66.540Q2.218-66.636 2.099-66.657Q1.980-66.679 1.734-66.679L1.734-66.975L2.980-67.061L2.980-64.511L2.980-64.487Q2.980-64.175 3.035-64.013Q3.090-63.850 3.240-63.780Q3.390-63.710 3.711-63.710Q4.140-63.710 4.414-64.048Q4.687-64.386 4.687-64.831L4.687-66.229Q4.687-66.444 4.625-66.540Q4.562-66.636 4.443-66.657Q4.324-66.679 4.078-66.679L4.078-66.975L5.324-67.061L5.324-64.276Q5.324-64.065 5.386-63.970Q5.449-63.874 5.568-63.852Q5.687-63.831 5.933-63.831L5.933-63.534L4.711-63.456L4.711-64.077Q4.543-63.788 4.261-63.622Q3.980-63.456 3.660-63.456Q2.343-63.456 2.343-64.487M7.293-63.534L7.011-63.534L7.011-68.253Q7.011-68.468 6.949-68.563Q6.886-68.659 6.769-68.680Q6.652-68.702 6.406-68.702L6.406-68.999L7.629-69.085L7.629-66.596Q8.105-67.061 8.804-67.061Q9.285-67.061 9.693-66.817Q10.101-66.573 10.338-66.159Q10.574-65.745 10.574-65.261Q10.574-64.886 10.425-64.557Q10.277-64.229 10.008-63.977Q9.738-63.725 9.394-63.591Q9.050-63.456 8.691-63.456Q8.371-63.456 8.072-63.604Q7.773-63.753 7.566-64.014L7.293-63.534M7.652-66.206L7.652-64.366Q7.804-64.069 8.064-63.889Q8.324-63.710 8.636-63.710Q9.062-63.710 9.330-63.929Q9.597-64.147 9.713-64.493Q9.828-64.839 9.828-65.261Q9.828-65.909 9.580-66.358Q9.332-66.807 8.734-66.807Q8.398-66.807 8.109-66.649Q7.820-66.491 7.652-66.206",[1380],[1364,7888,7889],{"transform":7882},[1369,7890],{"d":7891,"fill":1529,"stroke":1529,"className":7892,"style":1381},"M15.518-63.526Q15.463-63.843 15.305-64.155Q15.147-64.468 14.916-64.720Q14.686-64.971 14.393-65.153Q14.100-65.335 13.772-65.429Q13.702-65.452 13.702-65.534Q13.702-65.616 13.772-65.639Q14.100-65.737 14.393-65.919Q14.686-66.100 14.920-66.358Q15.155-66.616 15.309-66.917Q15.463-67.218 15.518-67.542Q15.538-67.628 15.620-67.647L15.788-67.647Q15.885-67.620 15.885-67.518Q15.788-66.991 15.487-66.518Q15.186-66.046 14.733-65.718L21.084-65.718Q21.159-65.718 21.206-65.665Q21.252-65.612 21.252-65.534Q21.252-65.460 21.202-65.405Q21.151-65.350 21.084-65.350L14.733-65.350Q15.030-65.136 15.262-64.858Q15.495-64.581 15.653-64.249Q15.811-63.917 15.885-63.550Q15.885-63.448 15.788-63.421L15.620-63.421Q15.538-63.440 15.518-63.526",[1380],[1364,7894,7895],{"transform":7882},[1369,7896],{"d":7897,"fill":1529,"stroke":1529,"className":7898,"style":1381},"M26.707-61.542Q26.094-61.999 25.692-62.634Q25.289-63.268 25.094-64.014Q24.899-64.761 24.899-65.534Q24.899-66.307 25.094-67.054Q25.289-67.800 25.692-68.434Q26.094-69.069 26.707-69.526Q26.719-69.530 26.727-69.532Q26.735-69.534 26.746-69.534L26.824-69.534Q26.863-69.534 26.889-69.507Q26.914-69.479 26.914-69.436Q26.914-69.386 26.883-69.366Q26.375-68.913 26.053-68.290Q25.731-67.667 25.590-66.971Q25.449-66.276 25.449-65.534Q25.449-64.800 25.588-64.100Q25.727-63.401 26.051-62.776Q26.375-62.151 26.883-61.702Q26.914-61.682 26.914-61.632Q26.914-61.589 26.889-61.561Q26.863-61.534 26.824-61.534L26.746-61.534Q26.738-61.538 26.729-61.540Q26.719-61.542 26.707-61.542",[1380],[1364,7900,7901],{"transform":7882},[1369,7902],{"d":7903,"fill":1529,"stroke":1529,"className":7904,"style":1381},"M27.677-63.542L27.677-64.764Q27.677-64.792 27.709-64.823Q27.740-64.854 27.763-64.854L27.869-64.854Q27.939-64.854 27.955-64.792Q28.017-64.471 28.156-64.231Q28.294-63.991 28.527-63.850Q28.759-63.710 29.068-63.710Q29.306-63.710 29.515-63.770Q29.724-63.831 29.861-63.979Q29.998-64.128 29.998-64.374Q29.998-64.628 29.787-64.794Q29.576-64.960 29.306-65.014L28.685-65.128Q28.279-65.206 27.978-65.462Q27.677-65.718 27.677-66.093Q27.677-66.460 27.878-66.682Q28.080-66.905 28.404-67.003Q28.728-67.100 29.068-67.100Q29.533-67.100 29.830-66.893L30.052-67.077Q30.076-67.100 30.107-67.100L30.158-67.100Q30.189-67.100 30.216-67.073Q30.244-67.046 30.244-67.014L30.244-66.030Q30.244-65.999 30.218-65.970Q30.193-65.940 30.158-65.940L30.052-65.940Q30.017-65.940 29.990-65.968Q29.962-65.995 29.962-66.030Q29.962-66.429 29.710-66.649Q29.459-66.870 29.060-66.870Q28.705-66.870 28.421-66.747Q28.138-66.624 28.138-66.319Q28.138-66.100 28.339-65.968Q28.541-65.835 28.787-65.792L29.412-65.679Q29.841-65.589 30.150-65.292Q30.459-64.995 30.459-64.581Q30.459-64.011 30.060-63.733Q29.662-63.456 29.068-63.456Q28.517-63.456 28.166-63.792L27.869-63.479Q27.845-63.456 27.810-63.456L27.763-63.456Q27.740-63.456 27.709-63.487Q27.677-63.518 27.677-63.542M31.669-64.487L31.669-66.229Q31.669-66.444 31.607-66.540Q31.544-66.636 31.425-66.657Q31.306-66.679 31.060-66.679L31.060-66.975L32.306-67.061L32.306-64.511L32.306-64.487Q32.306-64.175 32.361-64.013Q32.416-63.850 32.566-63.780Q32.716-63.710 33.037-63.710Q33.466-63.710 33.740-64.048Q34.013-64.386 34.013-64.831L34.013-66.229Q34.013-66.444 33.951-66.540Q33.888-66.636 33.769-66.657Q33.650-66.679 33.404-66.679L33.404-66.975L34.650-67.061L34.650-64.276Q34.650-64.065 34.712-63.970Q34.775-63.874 34.894-63.852Q35.013-63.831 35.259-63.831L35.259-63.534L34.037-63.456L34.037-64.077Q33.869-63.788 33.587-63.622Q33.306-63.456 32.986-63.456Q31.669-63.456 31.669-64.487M36.619-63.534L36.337-63.534L36.337-68.253Q36.337-68.468 36.275-68.563Q36.212-68.659 36.095-68.680Q35.978-68.702 35.732-68.702L35.732-68.999L36.955-69.085L36.955-66.596Q37.431-67.061 38.130-67.061Q38.611-67.061 39.019-66.817Q39.427-66.573 39.664-66.159Q39.900-65.745 39.900-65.261Q39.900-64.886 39.751-64.557Q39.603-64.229 39.334-63.977Q39.064-63.725 38.720-63.591Q38.376-63.456 38.017-63.456Q37.697-63.456 37.398-63.604Q37.099-63.753 36.892-64.014L36.619-63.534M36.978-66.206L36.978-64.366Q37.130-64.069 37.390-63.889Q37.650-63.710 37.962-63.710Q38.388-63.710 38.656-63.929Q38.923-64.147 39.039-64.493Q39.154-64.839 39.154-65.261Q39.154-65.909 38.906-66.358Q38.658-66.807 38.060-66.807Q37.724-66.807 37.435-66.649Q37.146-66.491 36.978-66.206",[1380],[1364,7906,7907],{"transform":7882},[1369,7908],{"d":7909,"fill":1529,"stroke":1529,"className":7910,"style":1381},"M47.801-65.350L42.969-65.350Q42.895-65.362 42.844-65.411Q42.793-65.460 42.793-65.534Q42.793-65.686 42.969-65.718L47.801-65.718Q47.969-65.690 47.969-65.534Q47.969-65.378 47.801-65.350",[1380],[1364,7912,7913],{"transform":7882},[1369,7914],{"d":7915,"fill":1529,"stroke":1529,"className":7916,"style":1381},"M54.176-63.534L51.383-63.534L51.383-63.831Q52.445-63.831 52.445-64.093L52.445-68.261Q52.016-68.046 51.336-68.046L51.336-68.343Q52.355-68.343 52.871-68.854L53.016-68.854Q53.090-68.835 53.109-68.757L53.109-64.093Q53.109-63.831 54.176-63.831L54.176-63.534M55.469-61.534L55.387-61.534Q55.352-61.534 55.326-61.563Q55.301-61.593 55.301-61.632Q55.301-61.682 55.332-61.702Q55.719-62.038 56.002-62.487Q56.285-62.936 56.451-63.436Q56.617-63.936 56.691-64.454Q56.766-64.971 56.766-65.534Q56.766-66.104 56.691-66.620Q56.617-67.136 56.451-67.632Q56.285-68.128 56.006-68.575Q55.727-69.022 55.332-69.366Q55.301-69.386 55.301-69.436Q55.301-69.475 55.326-69.505Q55.352-69.534 55.387-69.534L55.469-69.534Q55.480-69.534 55.490-69.532Q55.500-69.530 55.508-69.526Q56.121-69.069 56.523-68.434Q56.926-67.800 57.121-67.054Q57.316-66.307 57.316-65.534Q57.316-64.761 57.121-64.014Q56.926-63.268 56.523-62.634Q56.121-61.999 55.508-61.542Q55.496-61.542 55.488-61.540Q55.480-61.538 55.469-61.534",[1380],[1364,7918,7919],{"transform":7882},[1369,7920],{"d":7921,"fill":1529,"stroke":1529,"className":7922,"style":1381},"M59.906-64.604Q59.906-65.050 60.242-65.374L61.242-66.335Q60.913-67.147 60.913-67.940Q60.913-68.288 61.070-68.589Q61.226-68.889 61.505-69.071Q61.784-69.253 62.120-69.253Q62.386-69.253 62.564-69.083Q62.742-68.913 62.820-68.661Q62.898-68.409 62.898-68.151Q62.898-67.784 62.593-67.388Q62.288-66.991 61.835-66.550Q62.218-65.639 63.187-64.518Q63.476-64.823 63.691-65.126Q63.906-65.429 64.202-65.893L64.394-66.206Q64.441-66.276 64.441-66.366Q64.441-66.546 64.283-66.616Q64.124-66.686 63.921-66.686L63.921-66.983L65.730-66.983L65.730-66.686Q65.027-66.686 64.714-66.206L64.441-65.764Q64.222-65.429 64.081-65.220Q63.941-65.011 63.759-64.774Q63.577-64.538 63.370-64.319Q63.656-64.026 63.931-63.845Q64.206-63.663 64.507-63.663Q64.742-63.663 64.949-63.776Q65.156-63.889 65.279-64.079Q65.402-64.268 65.402-64.503L65.683-64.503Q65.683-64.190 65.517-63.929Q65.351-63.667 65.079-63.516Q64.808-63.366 64.499-63.366Q63.706-63.366 62.980-63.948Q62.261-63.366 61.441-63.366Q61.070-63.366 60.716-63.511Q60.363-63.655 60.134-63.938Q59.906-64.221 59.906-64.604M61.492-63.663Q62.167-63.663 62.769-64.136Q62.495-64.382 62.226-64.706Q61.956-65.030 61.738-65.374Q61.519-65.718 61.347-66.077L61.019-65.764Q60.652-65.413 60.652-64.815Q60.652-64.542 60.745-64.280Q60.839-64.018 61.033-63.841Q61.226-63.663 61.492-63.663M61.738-66.815Q61.925-67.003 62.126-67.229Q62.327-67.456 62.472-67.702Q62.617-67.948 62.617-68.159Q62.617-68.471 62.499-68.735Q62.382-68.999 62.120-68.999Q61.827-68.999 61.663-68.731Q61.499-68.464 61.499-68.151Q61.499-67.487 61.738-66.815",[1380],[1364,7924,7925],{"transform":7882},[1369,7926],{"d":7927,"fill":1529,"stroke":1529,"className":7928,"style":1381},"M69.750-63.534L67.894-63.534L67.894-63.831Q68.168-63.831 68.336-63.878Q68.504-63.925 68.504-64.093L68.504-66.229Q68.504-66.444 68.441-66.540Q68.379-66.636 68.260-66.657Q68.141-66.679 67.894-66.679L67.894-66.975L69.086-67.061L69.086-66.327Q69.199-66.542 69.393-66.710Q69.586-66.878 69.824-66.970Q70.062-67.061 70.316-67.061Q71.277-67.061 71.453-66.350Q71.637-66.679 71.965-66.870Q72.293-67.061 72.672-67.061Q73.848-67.061 73.848-65.983L73.848-64.093Q73.848-63.925 74.016-63.878Q74.184-63.831 74.453-63.831L74.453-63.534L72.598-63.534L72.598-63.831Q72.871-63.831 73.039-63.876Q73.207-63.921 73.207-64.093L73.207-65.968Q73.207-66.354 73.082-66.581Q72.957-66.807 72.605-66.807Q72.301-66.807 72.045-66.645Q71.789-66.483 71.641-66.214Q71.492-65.944 71.492-65.647L71.492-64.093Q71.492-63.925 71.662-63.878Q71.832-63.831 72.102-63.831L72.102-63.534L70.246-63.534L70.246-63.831Q70.519-63.831 70.687-63.878Q70.855-63.925 70.855-64.093L70.855-65.968Q70.855-66.354 70.730-66.581Q70.605-66.807 70.254-66.807Q69.949-66.807 69.693-66.645Q69.437-66.483 69.289-66.214Q69.141-65.944 69.141-65.647L69.141-64.093Q69.141-63.925 69.311-63.878Q69.480-63.831 69.750-63.831L69.750-63.534M74.996-64.366Q74.996-64.850 75.398-65.145Q75.801-65.440 76.352-65.559Q76.902-65.679 77.394-65.679L77.394-65.968Q77.394-66.194 77.279-66.401Q77.164-66.608 76.967-66.727Q76.769-66.846 76.539-66.846Q76.113-66.846 75.828-66.741Q75.898-66.714 75.945-66.659Q75.992-66.604 76.018-66.534Q76.043-66.464 76.043-66.389Q76.043-66.284 75.992-66.192Q75.941-66.100 75.850-66.050Q75.758-65.999 75.652-65.999Q75.547-65.999 75.455-66.050Q75.363-66.100 75.312-66.192Q75.262-66.284 75.262-66.389Q75.262-66.807 75.650-66.954Q76.039-67.100 76.539-67.100Q76.871-67.100 77.225-66.970Q77.578-66.839 77.807-66.585Q78.035-66.331 78.035-65.983L78.035-64.182Q78.035-64.050 78.107-63.940Q78.180-63.831 78.309-63.831Q78.434-63.831 78.502-63.936Q78.570-64.042 78.570-64.182L78.570-64.694L78.852-64.694L78.852-64.182Q78.852-63.979 78.734-63.821Q78.617-63.663 78.436-63.579Q78.254-63.495 78.051-63.495Q77.820-63.495 77.668-63.667Q77.516-63.839 77.484-64.069Q77.324-63.788 77.016-63.622Q76.707-63.456 76.355-63.456Q75.844-63.456 75.420-63.679Q74.996-63.901 74.996-64.366M75.684-64.366Q75.684-64.081 75.910-63.895Q76.137-63.710 76.430-63.710Q76.676-63.710 76.900-63.827Q77.125-63.944 77.260-64.147Q77.394-64.350 77.394-64.604L77.394-65.436Q77.129-65.436 76.844-65.382Q76.559-65.327 76.287-65.198Q76.016-65.069 75.850-64.862Q75.684-64.655 75.684-64.366M79.187-63.542L79.187-64.764Q79.187-64.792 79.219-64.823Q79.250-64.854 79.273-64.854L79.379-64.854Q79.449-64.854 79.465-64.792Q79.527-64.471 79.666-64.231Q79.805-63.991 80.037-63.850Q80.269-63.710 80.578-63.710Q80.816-63.710 81.025-63.770Q81.234-63.831 81.371-63.979Q81.508-64.128 81.508-64.374Q81.508-64.628 81.297-64.794Q81.086-64.960 80.816-65.014L80.195-65.128Q79.789-65.206 79.488-65.462Q79.187-65.718 79.187-66.093Q79.187-66.460 79.389-66.682Q79.590-66.905 79.914-67.003Q80.238-67.100 80.578-67.100Q81.043-67.100 81.340-66.893L81.562-67.077Q81.586-67.100 81.617-67.100L81.668-67.100Q81.699-67.100 81.727-67.073Q81.754-67.046 81.754-67.014L81.754-66.030Q81.754-65.999 81.728-65.970Q81.703-65.940 81.668-65.940L81.562-65.940Q81.527-65.940 81.500-65.968Q81.473-65.995 81.473-66.030Q81.473-66.429 81.221-66.649Q80.969-66.870 80.570-66.870Q80.215-66.870 79.932-66.747Q79.648-66.624 79.648-66.319Q79.648-66.100 79.850-65.968Q80.051-65.835 80.297-65.792L80.922-65.679Q81.352-65.589 81.660-65.292Q81.969-64.995 81.969-64.581Q81.969-64.011 81.570-63.733Q81.172-63.456 80.578-63.456Q80.027-63.456 79.676-63.792L79.379-63.479Q79.355-63.456 79.320-63.456L79.273-63.456Q79.250-63.456 79.219-63.487Q79.187-63.518 79.187-63.542M84.320-63.534L82.523-63.534L82.523-63.831Q82.793-63.831 82.961-63.876Q83.129-63.921 83.129-64.093L83.129-68.253Q83.129-68.468 83.066-68.563Q83.004-68.659 82.887-68.680Q82.769-68.702 82.523-68.702L82.523-68.999L83.746-69.085L83.746-65.319L84.844-66.206Q85.051-66.386 85.051-66.534Q85.051-66.600 84.998-66.643Q84.945-66.686 84.875-66.686L84.875-66.983L86.410-66.983L86.410-66.686Q85.879-66.686 85.281-66.206L84.672-65.710L85.746-64.311Q85.883-64.136 85.990-64.028Q86.098-63.921 86.232-63.876Q86.367-63.831 86.594-63.831L86.594-63.534L84.969-63.534L84.969-63.831Q85.211-63.831 85.211-63.983Q85.211-64.061 85.168-64.132Q85.125-64.202 85.043-64.311L84.242-65.358L83.715-64.932L83.715-64.093Q83.715-63.925 83.883-63.878Q84.051-63.831 84.320-63.831",[1380],[1364,7930,7931,7938,7944,7950,7956,7962,7968,7974,7980,7986,7992,7998,8004,8010,8016,8022,8028,8034],{"stroke":1371},[1364,7932,7934],{"transform":7933},"translate(-22.94 84.513)",[1369,7935],{"d":7936,"fill":1366,"stroke":1366,"className":7937,"style":1381},"M-1.692-65.288Q-1.692-65.768-1.459-66.184Q-1.227-66.600-0.817-66.850Q-0.407-67.100 0.070-67.100Q0.800-67.100 1.199-66.659Q1.597-66.218 1.597-65.487Q1.597-65.382 1.504-65.358L-0.946-65.358L-0.946-65.288Q-0.946-64.878-0.825-64.522Q-0.703-64.167-0.432-63.950Q-0.160-63.733 0.269-63.733Q0.633-63.733 0.929-63.962Q1.226-64.190 1.328-64.542Q1.336-64.589 1.422-64.604L1.504-64.604Q1.597-64.577 1.597-64.495Q1.597-64.487 1.590-64.456Q1.527-64.229 1.388-64.046Q1.250-63.862 1.058-63.729Q0.867-63.596 0.648-63.526Q0.429-63.456 0.191-63.456Q-0.180-63.456-0.518-63.593Q-0.856-63.729-1.123-63.981Q-1.391-64.233-1.541-64.573Q-1.692-64.913-1.692-65.288M-0.938-65.596L1.023-65.596Q1.023-65.901 0.922-66.192Q0.820-66.483 0.603-66.665Q0.386-66.846 0.070-66.846Q-0.231-66.846-0.461-66.659Q-0.692-66.471-0.815-66.180Q-0.938-65.889-0.938-65.596M2.183-64.366Q2.183-64.850 2.586-65.145Q2.988-65.440 3.539-65.559Q4.090-65.679 4.582-65.679L4.582-65.968Q4.582-66.194 4.466-66.401Q4.351-66.608 4.154-66.727Q3.957-66.846 3.726-66.846Q3.300-66.846 3.015-66.741Q3.086-66.714 3.133-66.659Q3.179-66.604 3.205-66.534Q3.230-66.464 3.230-66.389Q3.230-66.284 3.179-66.192Q3.129-66.100 3.037-66.050Q2.945-65.999 2.840-65.999Q2.734-65.999 2.642-66.050Q2.550-66.100 2.500-66.192Q2.449-66.284 2.449-66.389Q2.449-66.807 2.838-66.954Q3.226-67.100 3.726-67.100Q4.058-67.100 4.412-66.970Q4.765-66.839 4.994-66.585Q5.222-66.331 5.222-65.983L5.222-64.182Q5.222-64.050 5.295-63.940Q5.367-63.831 5.496-63.831Q5.621-63.831 5.689-63.936Q5.758-64.042 5.758-64.182L5.758-64.694L6.039-64.694L6.039-64.182Q6.039-63.979 5.922-63.821Q5.804-63.663 5.623-63.579Q5.441-63.495 5.238-63.495Q5.008-63.495 4.855-63.667Q4.703-63.839 4.672-64.069Q4.511-63.788 4.203-63.622Q3.894-63.456 3.543-63.456Q3.031-63.456 2.607-63.679Q2.183-63.901 2.183-64.366M2.871-64.366Q2.871-64.081 3.097-63.895Q3.324-63.710 3.617-63.710Q3.863-63.710 4.088-63.827Q4.312-63.944 4.447-64.147Q4.582-64.350 4.582-64.604L4.582-65.436Q4.316-65.436 4.031-65.382Q3.746-65.327 3.474-65.198Q3.203-65.069 3.037-64.862Q2.871-64.655 2.871-64.366M6.375-65.261Q6.375-65.757 6.625-66.182Q6.875-66.608 7.295-66.854Q7.715-67.100 8.215-67.100Q8.754-67.100 9.144-66.975Q9.535-66.850 9.535-66.436Q9.535-66.331 9.484-66.239Q9.433-66.147 9.341-66.096Q9.250-66.046 9.140-66.046Q9.035-66.046 8.943-66.096Q8.851-66.147 8.800-66.239Q8.750-66.331 8.750-66.436Q8.750-66.659 8.918-66.764Q8.695-66.823 8.222-66.823Q7.925-66.823 7.711-66.684Q7.496-66.546 7.365-66.315Q7.234-66.085 7.175-65.815Q7.117-65.546 7.117-65.261Q7.117-64.866 7.250-64.516Q7.383-64.167 7.654-63.950Q7.925-63.733 8.324-63.733Q8.699-63.733 8.974-63.950Q9.250-64.167 9.351-64.526Q9.367-64.589 9.429-64.589L9.535-64.589Q9.570-64.589 9.595-64.561Q9.621-64.534 9.621-64.495L9.621-64.471Q9.488-63.991 9.103-63.723Q8.718-63.456 8.215-63.456Q7.851-63.456 7.517-63.593Q7.183-63.729 6.924-63.979Q6.664-64.229 6.519-64.565Q6.375-64.901 6.375-65.261",[1380],[1364,7939,7940],{"transform":7933},[1369,7941],{"d":7942,"fill":1366,"stroke":1366,"className":7943,"style":1381},"M11.808-63.534L9.953-63.534L9.953-63.831Q10.226-63.831 10.394-63.878Q10.562-63.925 10.562-64.093L10.562-68.253Q10.562-68.468 10.499-68.563Q10.437-68.659 10.318-68.680Q10.199-68.702 9.953-68.702L9.953-68.999L11.175-69.085L11.175-66.382Q11.300-66.593 11.488-66.743Q11.675-66.893 11.902-66.977Q12.128-67.061 12.374-67.061Q13.542-67.061 13.542-65.983L13.542-64.093Q13.542-63.925 13.712-63.878Q13.882-63.831 14.152-63.831L14.152-63.534L12.296-63.534L12.296-63.831Q12.570-63.831 12.738-63.878Q12.906-63.925 12.906-64.093L12.906-65.968Q12.906-66.350 12.785-66.579Q12.663-66.807 12.312-66.807Q11.999-66.807 11.745-66.645Q11.492-66.483 11.345-66.214Q11.199-65.944 11.199-65.647L11.199-64.093Q11.199-63.925 11.369-63.878Q11.538-63.831 11.808-63.831",[1380],[1364,7945,7946],{"transform":7933},[1369,7947],{"d":7948,"fill":1366,"stroke":1366,"className":7949,"style":1381},"M17.433-65.288Q17.433-65.768 17.666-66.184Q17.898-66.600 18.308-66.850Q18.718-67.100 19.195-67.100Q19.925-67.100 20.324-66.659Q20.722-66.218 20.722-65.487Q20.722-65.382 20.629-65.358L18.179-65.358L18.179-65.288Q18.179-64.878 18.300-64.522Q18.422-64.167 18.693-63.950Q18.965-63.733 19.394-63.733Q19.758-63.733 20.054-63.962Q20.351-64.190 20.453-64.542Q20.461-64.589 20.547-64.604L20.629-64.604Q20.722-64.577 20.722-64.495Q20.722-64.487 20.715-64.456Q20.652-64.229 20.513-64.046Q20.375-63.862 20.183-63.729Q19.992-63.596 19.773-63.526Q19.554-63.456 19.316-63.456Q18.945-63.456 18.607-63.593Q18.269-63.729 18.002-63.981Q17.734-64.233 17.584-64.573Q17.433-64.913 17.433-65.288M18.187-65.596L20.148-65.596Q20.148-65.901 20.047-66.192Q19.945-66.483 19.728-66.665Q19.511-66.846 19.195-66.846Q18.894-66.846 18.664-66.659Q18.433-66.471 18.310-66.180Q18.187-65.889 18.187-65.596M23.125-63.534L21.293-63.534L21.293-63.831Q21.566-63.831 21.734-63.878Q21.902-63.925 21.902-64.093L21.902-68.253Q21.902-68.468 21.840-68.563Q21.777-68.659 21.658-68.680Q21.539-68.702 21.293-68.702L21.293-68.999L22.515-69.085L22.515-64.093Q22.515-63.925 22.683-63.878Q22.851-63.831 23.125-63.831L23.125-63.534M23.570-65.288Q23.570-65.768 23.802-66.184Q24.035-66.600 24.445-66.850Q24.855-67.100 25.332-67.100Q26.062-67.100 26.461-66.659Q26.859-66.218 26.859-65.487Q26.859-65.382 26.765-65.358L24.316-65.358L24.316-65.288Q24.316-64.878 24.437-64.522Q24.558-64.167 24.830-63.950Q25.101-63.733 25.531-63.733Q25.894-63.733 26.191-63.962Q26.488-64.190 26.590-64.542Q26.597-64.589 26.683-64.604L26.765-64.604Q26.859-64.577 26.859-64.495Q26.859-64.487 26.851-64.456Q26.789-64.229 26.650-64.046Q26.511-63.862 26.320-63.729Q26.129-63.596 25.910-63.526Q25.691-63.456 25.453-63.456Q25.082-63.456 24.744-63.593Q24.406-63.729 24.138-63.981Q23.871-64.233 23.720-64.573Q23.570-64.913 23.570-65.288M24.324-65.596L26.285-65.596Q26.285-65.901 26.183-66.192Q26.082-66.483 25.865-66.665Q25.648-66.846 25.332-66.846Q25.031-66.846 24.800-66.659Q24.570-66.471 24.447-66.180Q24.324-65.889 24.324-65.596M29.277-63.534L27.422-63.534L27.422-63.831Q27.695-63.831 27.863-63.878Q28.031-63.925 28.031-64.093L28.031-66.229Q28.031-66.444 27.968-66.540Q27.906-66.636 27.787-66.657Q27.668-66.679 27.422-66.679L27.422-66.975L28.613-67.061L28.613-66.327Q28.726-66.542 28.920-66.710Q29.113-66.878 29.351-66.970Q29.590-67.061 29.843-67.061Q30.804-67.061 30.980-66.350Q31.164-66.679 31.492-66.870Q31.820-67.061 32.199-67.061Q33.375-67.061 33.375-65.983L33.375-64.093Q33.375-63.925 33.543-63.878Q33.711-63.831 33.980-63.831L33.980-63.534L32.125-63.534L32.125-63.831Q32.398-63.831 32.566-63.876Q32.734-63.921 32.734-64.093L32.734-65.968Q32.734-66.354 32.609-66.581Q32.484-66.807 32.133-66.807Q31.828-66.807 31.572-66.645Q31.316-66.483 31.168-66.214Q31.019-65.944 31.019-65.647L31.019-64.093Q31.019-63.925 31.189-63.878Q31.359-63.831 31.629-63.831L31.629-63.534L29.773-63.534L29.773-63.831Q30.047-63.831 30.215-63.878Q30.383-63.925 30.383-64.093L30.383-65.968Q30.383-66.354 30.258-66.581Q30.133-66.807 29.781-66.807Q29.476-66.807 29.220-66.645Q28.965-66.483 28.816-66.214Q28.668-65.944 28.668-65.647L28.668-64.093Q28.668-63.925 28.838-63.878Q29.008-63.831 29.277-63.831L29.277-63.534M34.425-65.288Q34.425-65.768 34.658-66.184Q34.890-66.600 35.300-66.850Q35.711-67.100 36.187-67.100Q36.918-67.100 37.316-66.659Q37.715-66.218 37.715-65.487Q37.715-65.382 37.621-65.358L35.172-65.358L35.172-65.288Q35.172-64.878 35.293-64.522Q35.414-64.167 35.685-63.950Q35.957-63.733 36.386-63.733Q36.750-63.733 37.047-63.962Q37.343-64.190 37.445-64.542Q37.453-64.589 37.539-64.604L37.621-64.604Q37.715-64.577 37.715-64.495Q37.715-64.487 37.707-64.456Q37.644-64.229 37.506-64.046Q37.367-63.862 37.175-63.729Q36.984-63.596 36.765-63.526Q36.547-63.456 36.308-63.456Q35.937-63.456 35.599-63.593Q35.261-63.729 34.994-63.981Q34.726-64.233 34.576-64.573Q34.425-64.913 34.425-65.288M35.179-65.596L37.140-65.596Q37.140-65.901 37.039-66.192Q36.937-66.483 36.720-66.665Q36.504-66.846 36.187-66.846Q35.886-66.846 35.656-66.659Q35.425-66.471 35.302-66.180Q35.179-65.889 35.179-65.596M40.133-63.534L38.277-63.534L38.277-63.831Q38.550-63.831 38.718-63.878Q38.886-63.925 38.886-64.093L38.886-66.229Q38.886-66.444 38.824-66.540Q38.761-66.636 38.642-66.657Q38.523-66.679 38.277-66.679L38.277-66.975L39.468-67.061L39.468-66.327Q39.582-66.542 39.775-66.710Q39.968-66.878 40.207-66.970Q40.445-67.061 40.699-67.061Q41.867-67.061 41.867-65.983L41.867-64.093Q41.867-63.925 42.037-63.878Q42.207-63.831 42.476-63.831L42.476-63.534L40.621-63.534L40.621-63.831Q40.894-63.831 41.062-63.878Q41.230-63.925 41.230-64.093L41.230-65.968Q41.230-66.350 41.109-66.579Q40.988-66.807 40.636-66.807Q40.324-66.807 40.070-66.645Q39.816-66.483 39.670-66.214Q39.523-65.944 39.523-65.647L39.523-64.093Q39.523-63.925 39.693-63.878Q39.863-63.831 40.133-63.831",[1380],[1364,7951,7952],{"transform":7933},[1369,7953],{"d":7954,"fill":1366,"stroke":1366,"className":7955,"style":1381},"M43.323-64.495L43.323-66.686L42.620-66.686L42.620-66.940Q42.976-66.940 43.218-67.173Q43.460-67.405 43.571-67.753Q43.683-68.100 43.683-68.456L43.964-68.456L43.964-66.983L45.140-66.983L45.140-66.686L43.964-66.686L43.964-64.511Q43.964-64.190 44.083-63.962Q44.202-63.733 44.483-63.733Q44.663-63.733 44.780-63.856Q44.898-63.979 44.950-64.159Q45.003-64.339 45.003-64.511L45.003-64.983L45.284-64.983L45.284-64.495Q45.284-64.241 45.179-64.001Q45.073-63.761 44.876-63.608Q44.679-63.456 44.421-63.456Q44.105-63.456 43.853-63.579Q43.601-63.702 43.462-63.936Q43.323-64.171 43.323-64.495M46.483-63.999Q46.483-64.182 46.620-64.319Q46.757-64.456 46.948-64.456Q47.140-64.456 47.273-64.323Q47.405-64.190 47.405-63.999Q47.405-63.800 47.273-63.667Q47.140-63.534 46.948-63.534Q46.757-63.534 46.620-63.671Q46.483-63.807 46.483-63.999M46.483-66.526Q46.483-66.710 46.620-66.846Q46.757-66.983 46.948-66.983Q47.140-66.983 47.273-66.850Q47.405-66.718 47.405-66.526Q47.405-66.327 47.273-66.194Q47.140-66.061 46.948-66.061Q46.757-66.061 46.620-66.198Q46.483-66.335 46.483-66.526",[1380],[1364,7957,7958],{"transform":7933},[1369,7959],{"d":7960,"fill":1366,"stroke":1366,"className":7961,"style":1381},"M54.002-63.534L52.224-63.534L52.224-63.831Q52.498-63.831 52.666-63.878Q52.834-63.925 52.834-64.093L52.834-66.229Q52.834-66.444 52.777-66.540Q52.720-66.636 52.607-66.657Q52.494-66.679 52.248-66.679L52.248-66.975L53.447-67.061L53.447-64.093Q53.447-63.925 53.593-63.878Q53.740-63.831 54.002-63.831L54.002-63.534M52.560-68.456Q52.560-68.647 52.695-68.778Q52.830-68.909 53.025-68.909Q53.146-68.909 53.250-68.846Q53.353-68.784 53.416-68.680Q53.478-68.577 53.478-68.456Q53.478-68.261 53.347-68.126Q53.217-67.991 53.025-67.991Q52.826-67.991 52.693-68.124Q52.560-68.257 52.560-68.456M56.431-63.534L54.576-63.534L54.576-63.831Q54.849-63.831 55.017-63.878Q55.185-63.925 55.185-64.093L55.185-66.229Q55.185-66.444 55.123-66.540Q55.060-66.636 54.941-66.657Q54.822-66.679 54.576-66.679L54.576-66.975L55.767-67.061L55.767-66.327Q55.881-66.542 56.074-66.710Q56.267-66.878 56.506-66.970Q56.744-67.061 56.998-67.061Q58.166-67.061 58.166-65.983L58.166-64.093Q58.166-63.925 58.336-63.878Q58.506-63.831 58.775-63.831L58.775-63.534L56.920-63.534L56.920-63.831Q57.193-63.831 57.361-63.878Q57.529-63.925 57.529-64.093L57.529-65.968Q57.529-66.350 57.408-66.579Q57.287-66.807 56.935-66.807Q56.623-66.807 56.369-66.645Q56.115-66.483 55.968-66.214Q55.822-65.944 55.822-65.647L55.822-64.093Q55.822-63.925 55.992-63.878Q56.162-63.831 56.431-63.831",[1380],[1364,7963,7964],{"transform":7933},[1369,7965],{"d":7966,"fill":1366,"stroke":1366,"className":7967,"style":1381},"M62.102-63.542L62.102-64.764Q62.102-64.792 62.133-64.823Q62.165-64.854 62.188-64.854L62.294-64.854Q62.364-64.854 62.380-64.792Q62.442-64.471 62.581-64.231Q62.719-63.991 62.952-63.850Q63.184-63.710 63.493-63.710Q63.731-63.710 63.940-63.770Q64.149-63.831 64.286-63.979Q64.423-64.128 64.423-64.374Q64.423-64.628 64.212-64.794Q64.001-64.960 63.731-65.014L63.110-65.128Q62.704-65.206 62.403-65.462Q62.102-65.718 62.102-66.093Q62.102-66.460 62.303-66.682Q62.505-66.905 62.829-67.003Q63.153-67.100 63.493-67.100Q63.958-67.100 64.255-66.893L64.477-67.077Q64.501-67.100 64.532-67.100L64.583-67.100Q64.614-67.100 64.641-67.073Q64.669-67.046 64.669-67.014L64.669-66.030Q64.669-65.999 64.643-65.970Q64.618-65.940 64.583-65.940L64.477-65.940Q64.442-65.940 64.415-65.968Q64.387-65.995 64.387-66.030Q64.387-66.429 64.135-66.649Q63.883-66.870 63.485-66.870Q63.130-66.870 62.846-66.747Q62.563-66.624 62.563-66.319Q62.563-66.100 62.764-65.968Q62.966-65.835 63.212-65.792L63.837-65.679Q64.266-65.589 64.575-65.292Q64.883-64.995 64.883-64.581Q64.883-64.011 64.485-63.733Q64.087-63.456 63.493-63.456Q62.942-63.456 62.591-63.792L62.294-63.479Q62.270-63.456 62.235-63.456L62.188-63.456Q62.165-63.456 62.133-63.487Q62.102-63.518 62.102-63.542M66.094-64.487L66.094-66.229Q66.094-66.444 66.032-66.540Q65.969-66.636 65.850-66.657Q65.731-66.679 65.485-66.679L65.485-66.975L66.731-67.061L66.731-64.511L66.731-64.487Q66.731-64.175 66.786-64.013Q66.841-63.850 66.991-63.780Q67.141-63.710 67.462-63.710Q67.891-63.710 68.165-64.048Q68.438-64.386 68.438-64.831L68.438-66.229Q68.438-66.444 68.376-66.540Q68.313-66.636 68.194-66.657Q68.075-66.679 67.829-66.679L67.829-66.975L69.075-67.061L69.075-64.276Q69.075-64.065 69.137-63.970Q69.200-63.874 69.319-63.852Q69.438-63.831 69.684-63.831L69.684-63.534L68.462-63.456L68.462-64.077Q68.294-63.788 68.012-63.622Q67.731-63.456 67.411-63.456Q66.094-63.456 66.094-64.487M71.044-63.534L70.762-63.534L70.762-68.253Q70.762-68.468 70.700-68.563Q70.637-68.659 70.520-68.680Q70.403-68.702 70.157-68.702L70.157-68.999L71.380-69.085L71.380-66.596Q71.856-67.061 72.555-67.061Q73.036-67.061 73.444-66.817Q73.852-66.573 74.089-66.159Q74.325-65.745 74.325-65.261Q74.325-64.886 74.176-64.557Q74.028-64.229 73.758-63.977Q73.489-63.725 73.145-63.591Q72.801-63.456 72.442-63.456Q72.122-63.456 71.823-63.604Q71.524-63.753 71.317-64.014L71.044-63.534M71.403-66.206L71.403-64.366Q71.555-64.069 71.815-63.889Q72.075-63.710 72.387-63.710Q72.813-63.710 73.081-63.929Q73.348-64.147 73.464-64.493Q73.579-64.839 73.579-65.261Q73.579-65.909 73.331-66.358Q73.083-66.807 72.485-66.807Q72.149-66.807 71.860-66.649Q71.571-66.491 71.403-66.206",[1380],[1364,7969,7970],{"transform":7933},[1369,7971],{"d":7972,"fill":1366,"stroke":1366,"className":7973,"style":1381},"M75.442-62.128Q75.442-62.151 75.473-62.198Q75.766-62.460 75.932-62.827Q76.098-63.194 76.098-63.581L76.098-63.639Q75.970-63.534 75.802-63.534Q75.610-63.534 75.473-63.667Q75.337-63.800 75.337-63.999Q75.337-64.190 75.473-64.323Q75.610-64.456 75.802-64.456Q76.102-64.456 76.227-64.186Q76.352-63.917 76.352-63.581Q76.352-63.132 76.171-62.718Q75.989-62.304 75.649-62.007Q75.626-61.983 75.587-61.983Q75.540-61.983 75.491-62.028Q75.442-62.073 75.442-62.128",[1380],[1364,7975,7976],{"transform":7933},[1369,7977],{"d":7978,"fill":1366,"stroke":1366,"className":7979,"style":1381},"M84.744-63.534L82.966-63.534L82.966-63.831Q83.240-63.831 83.408-63.878Q83.576-63.925 83.576-64.093L83.576-66.229Q83.576-66.444 83.519-66.540Q83.462-66.636 83.349-66.657Q83.236-66.679 82.990-66.679L82.990-66.975L84.189-67.061L84.189-64.093Q84.189-63.925 84.335-63.878Q84.482-63.831 84.744-63.831L84.744-63.534M83.302-68.456Q83.302-68.647 83.437-68.778Q83.572-68.909 83.767-68.909Q83.888-68.909 83.992-68.846Q84.095-68.784 84.158-68.680Q84.220-68.577 84.220-68.456Q84.220-68.261 84.089-68.126Q83.959-67.991 83.767-67.991Q83.568-67.991 83.435-68.124Q83.302-68.257 83.302-68.456M87.173-63.534L85.318-63.534L85.318-63.831Q85.591-63.831 85.759-63.878Q85.927-63.925 85.927-64.093L85.927-66.229Q85.927-66.444 85.865-66.540Q85.802-66.636 85.683-66.657Q85.564-66.679 85.318-66.679L85.318-66.975L86.509-67.061L86.509-66.327Q86.623-66.542 86.816-66.710Q87.009-66.878 87.248-66.970Q87.486-67.061 87.740-67.061Q88.908-67.061 88.908-65.983L88.908-64.093Q88.908-63.925 89.078-63.878Q89.248-63.831 89.517-63.831L89.517-63.534L87.662-63.534L87.662-63.831Q87.935-63.831 88.103-63.878Q88.271-63.925 88.271-64.093L88.271-65.968Q88.271-66.350 88.150-66.579Q88.029-66.807 87.677-66.807Q87.365-66.807 87.111-66.645Q86.857-66.483 86.710-66.214Q86.564-65.944 86.564-65.647L86.564-64.093Q86.564-63.925 86.734-63.878Q86.904-63.831 87.173-63.831",[1380],[1364,7981,7982],{"transform":7933},[1369,7983],{"d":7984,"fill":1366,"stroke":1366,"className":7985,"style":1381},"M94.731-63.534L92.876-63.534L92.876-63.831Q93.149-63.831 93.317-63.878Q93.485-63.925 93.485-64.093L93.485-66.229Q93.485-66.444 93.422-66.540Q93.360-66.636 93.241-66.657Q93.122-66.679 92.876-66.679L92.876-66.975L94.067-67.061L94.067-66.327Q94.180-66.542 94.374-66.710Q94.567-66.878 94.805-66.970Q95.043-67.061 95.297-67.061Q96.258-67.061 96.434-66.350Q96.618-66.679 96.946-66.870Q97.274-67.061 97.653-67.061Q98.829-67.061 98.829-65.983L98.829-64.093Q98.829-63.925 98.997-63.878Q99.165-63.831 99.434-63.831L99.434-63.534L97.579-63.534L97.579-63.831Q97.852-63.831 98.020-63.876Q98.188-63.921 98.188-64.093L98.188-65.968Q98.188-66.354 98.063-66.581Q97.938-66.807 97.586-66.807Q97.282-66.807 97.026-66.645Q96.770-66.483 96.622-66.214Q96.473-65.944 96.473-65.647L96.473-64.093Q96.473-63.925 96.643-63.878Q96.813-63.831 97.083-63.831L97.083-63.534L95.227-63.534L95.227-63.831Q95.501-63.831 95.668-63.878Q95.836-63.925 95.836-64.093L95.836-65.968Q95.836-66.354 95.711-66.581Q95.586-66.807 95.235-66.807Q94.930-66.807 94.674-66.645Q94.418-66.483 94.270-66.214Q94.122-65.944 94.122-65.647L94.122-64.093Q94.122-63.925 94.292-63.878Q94.461-63.831 94.731-63.831L94.731-63.534M99.977-64.366Q99.977-64.850 100.379-65.145Q100.782-65.440 101.333-65.559Q101.883-65.679 102.376-65.679L102.376-65.968Q102.376-66.194 102.260-66.401Q102.145-66.608 101.948-66.727Q101.751-66.846 101.520-66.846Q101.094-66.846 100.809-66.741Q100.879-66.714 100.926-66.659Q100.973-66.604 100.999-66.534Q101.024-66.464 101.024-66.389Q101.024-66.284 100.973-66.192Q100.922-66.100 100.831-66.050Q100.739-65.999 100.633-65.999Q100.528-65.999 100.436-66.050Q100.344-66.100 100.293-66.192Q100.243-66.284 100.243-66.389Q100.243-66.807 100.631-66.954Q101.020-67.100 101.520-67.100Q101.852-67.100 102.206-66.970Q102.559-66.839 102.788-66.585Q103.016-66.331 103.016-65.983L103.016-64.182Q103.016-64.050 103.088-63.940Q103.161-63.831 103.290-63.831Q103.415-63.831 103.483-63.936Q103.551-64.042 103.551-64.182L103.551-64.694L103.833-64.694L103.833-64.182Q103.833-63.979 103.715-63.821Q103.598-63.663 103.417-63.579Q103.235-63.495 103.032-63.495Q102.801-63.495 102.649-63.667Q102.497-63.839 102.465-64.069Q102.305-63.788 101.997-63.622Q101.688-63.456 101.336-63.456Q100.825-63.456 100.401-63.679Q99.977-63.901 99.977-64.366M100.665-64.366Q100.665-64.081 100.891-63.895Q101.118-63.710 101.411-63.710Q101.657-63.710 101.881-63.827Q102.106-63.944 102.241-64.147Q102.376-64.350 102.376-64.604L102.376-65.436Q102.110-65.436 101.825-65.382Q101.540-65.327 101.268-65.198Q100.997-65.069 100.831-64.862Q100.665-64.655 100.665-64.366M104.168-63.542L104.168-64.764Q104.168-64.792 104.200-64.823Q104.231-64.854 104.254-64.854L104.360-64.854Q104.430-64.854 104.446-64.792Q104.508-64.471 104.647-64.231Q104.786-63.991 105.018-63.850Q105.251-63.710 105.559-63.710Q105.797-63.710 106.006-63.770Q106.215-63.831 106.352-63.979Q106.489-64.128 106.489-64.374Q106.489-64.628 106.278-64.794Q106.067-64.960 105.797-65.014L105.176-65.128Q104.770-65.206 104.469-65.462Q104.168-65.718 104.168-66.093Q104.168-66.460 104.370-66.682Q104.571-66.905 104.895-67.003Q105.219-67.100 105.559-67.100Q106.024-67.100 106.321-66.893L106.543-67.077Q106.567-67.100 106.598-67.100L106.649-67.100Q106.680-67.100 106.708-67.073Q106.735-67.046 106.735-67.014L106.735-66.030Q106.735-65.999 106.709-65.970Q106.684-65.940 106.649-65.940L106.543-65.940Q106.508-65.940 106.481-65.968Q106.454-65.995 106.454-66.030Q106.454-66.429 106.202-66.649Q105.950-66.870 105.551-66.870Q105.196-66.870 104.913-66.747Q104.629-66.624 104.629-66.319Q104.629-66.100 104.831-65.968Q105.032-65.835 105.278-65.792L105.903-65.679Q106.333-65.589 106.641-65.292Q106.950-64.995 106.950-64.581Q106.950-64.011 106.551-63.733Q106.153-63.456 105.559-63.456Q105.008-63.456 104.657-63.792L104.360-63.479Q104.336-63.456 104.301-63.456L104.254-63.456Q104.231-63.456 104.200-63.487Q104.168-63.518 104.168-63.542M109.301-63.534L107.504-63.534L107.504-63.831Q107.774-63.831 107.942-63.876Q108.110-63.921 108.110-64.093L108.110-68.253Q108.110-68.468 108.047-68.563Q107.985-68.659 107.868-68.680Q107.751-68.702 107.504-68.702L107.504-68.999L108.727-69.085L108.727-65.319L109.825-66.206Q110.032-66.386 110.032-66.534Q110.032-66.600 109.979-66.643Q109.926-66.686 109.856-66.686L109.856-66.983L111.391-66.983L111.391-66.686Q110.860-66.686 110.262-66.206L109.653-65.710L110.727-64.311Q110.864-64.136 110.971-64.028Q111.079-63.921 111.213-63.876Q111.348-63.831 111.575-63.831L111.575-63.534L109.950-63.534L109.950-63.831Q110.192-63.831 110.192-63.983Q110.192-64.061 110.149-64.132Q110.106-64.202 110.024-64.311L109.223-65.358L108.696-64.932L108.696-64.093Q108.696-63.925 108.864-63.878Q109.032-63.831 109.301-63.831",[1380],[1364,7987,7988],{"transform":7933},[1369,7989],{"d":7990,"fill":1366,"stroke":1366,"className":7991,"style":1381},"M117.039-61.639L114.113-69.276Q114.098-69.331 114.098-69.350Q114.098-69.425 114.152-69.479Q114.207-69.534 114.281-69.534Q114.410-69.534 114.449-69.429L117.379-61.792Q117.395-61.737 117.395-61.718Q117.395-61.639 117.342-61.587Q117.289-61.534 117.211-61.534Q117.082-61.534 117.039-61.639",[1380],[1364,7993,7994],{"transform":7933},[1369,7995],{"d":7996,"fill":1366,"stroke":1366,"className":7997,"style":1381},"M120.045-63.542L120.045-64.764Q120.045-64.792 120.076-64.823Q120.108-64.854 120.131-64.854L120.237-64.854Q120.307-64.854 120.323-64.792Q120.385-64.471 120.524-64.231Q120.662-63.991 120.895-63.850Q121.127-63.710 121.436-63.710Q121.674-63.710 121.883-63.770Q122.092-63.831 122.229-63.979Q122.366-64.128 122.366-64.374Q122.366-64.628 122.155-64.794Q121.944-64.960 121.674-65.014L121.053-65.128Q120.647-65.206 120.346-65.462Q120.045-65.718 120.045-66.093Q120.045-66.460 120.246-66.682Q120.448-66.905 120.772-67.003Q121.096-67.100 121.436-67.100Q121.901-67.100 122.198-66.893L122.420-67.077Q122.444-67.100 122.475-67.100L122.526-67.100Q122.557-67.100 122.584-67.073Q122.612-67.046 122.612-67.014L122.612-66.030Q122.612-65.999 122.586-65.970Q122.561-65.940 122.526-65.940L122.420-65.940Q122.385-65.940 122.358-65.968Q122.330-65.995 122.330-66.030Q122.330-66.429 122.078-66.649Q121.826-66.870 121.428-66.870Q121.073-66.870 120.789-66.747Q120.506-66.624 120.506-66.319Q120.506-66.100 120.707-65.968Q120.909-65.835 121.155-65.792L121.780-65.679Q122.209-65.589 122.518-65.292Q122.826-64.995 122.826-64.581Q122.826-64.011 122.428-63.733Q122.030-63.456 121.436-63.456Q120.885-63.456 120.534-63.792L120.237-63.479Q120.213-63.456 120.178-63.456L120.131-63.456Q120.108-63.456 120.076-63.487Q120.045-63.518 120.045-63.542M124.037-64.487L124.037-66.229Q124.037-66.444 123.975-66.540Q123.912-66.636 123.793-66.657Q123.674-66.679 123.428-66.679L123.428-66.975L124.674-67.061L124.674-64.511L124.674-64.487Q124.674-64.175 124.729-64.013Q124.784-63.850 124.934-63.780Q125.084-63.710 125.405-63.710Q125.834-63.710 126.108-64.048Q126.381-64.386 126.381-64.831L126.381-66.229Q126.381-66.444 126.319-66.540Q126.256-66.636 126.137-66.657Q126.018-66.679 125.772-66.679L125.772-66.975L127.018-67.061L127.018-64.276Q127.018-64.065 127.080-63.970Q127.143-63.874 127.262-63.852Q127.381-63.831 127.627-63.831L127.627-63.534L126.405-63.456L126.405-64.077Q126.237-63.788 125.955-63.622Q125.674-63.456 125.354-63.456Q124.037-63.456 124.037-64.487M128.987-63.534L128.705-63.534L128.705-68.253Q128.705-68.468 128.643-68.563Q128.580-68.659 128.463-68.680Q128.346-68.702 128.100-68.702L128.100-68.999L129.323-69.085L129.323-66.596Q129.799-67.061 130.498-67.061Q130.979-67.061 131.387-66.817Q131.795-66.573 132.032-66.159Q132.268-65.745 132.268-65.261Q132.268-64.886 132.119-64.557Q131.971-64.229 131.702-63.977Q131.432-63.725 131.088-63.591Q130.744-63.456 130.385-63.456Q130.065-63.456 129.766-63.604Q129.467-63.753 129.260-64.014L128.987-63.534M129.346-66.206L129.346-64.366Q129.498-64.069 129.758-63.889Q130.018-63.710 130.330-63.710Q130.756-63.710 131.024-63.929Q131.291-64.147 131.407-64.493Q131.522-64.839 131.522-65.261Q131.522-65.909 131.274-66.358Q131.026-66.807 130.428-66.807Q130.092-66.807 129.803-66.649Q129.514-66.491 129.346-66.206",[1380],[1364,7999,8000],{"transform":7933},[1369,8001],{"d":8002,"fill":1366,"stroke":1366,"className":8003,"style":1381},"M133.385-62.128Q133.385-62.151 133.416-62.198Q133.709-62.460 133.875-62.827Q134.041-63.194 134.041-63.581L134.041-63.639Q133.913-63.534 133.745-63.534Q133.553-63.534 133.416-63.667Q133.280-63.800 133.280-63.999Q133.280-64.190 133.416-64.323Q133.553-64.456 133.745-64.456Q134.045-64.456 134.170-64.186Q134.295-63.917 134.295-63.581Q134.295-63.132 134.114-62.718Q133.932-62.304 133.592-62.007Q133.569-61.983 133.530-61.983Q133.483-61.983 133.434-62.028Q133.385-62.073 133.385-62.128",[1380],[1364,8005,8006],{"transform":7933},[1369,8007],{"d":8008,"fill":1366,"stroke":1366,"className":8009,"style":1381},"M140.827-65.229Q140.827-65.733 141.083-66.165Q141.339-66.596 141.775-66.848Q142.210-67.100 142.710-67.100Q143.097-67.100 143.439-66.956Q143.780-66.811 144.042-66.550Q144.304-66.288 144.446-65.952Q144.589-65.616 144.589-65.229Q144.589-64.737 144.325-64.327Q144.062-63.917 143.632-63.686Q143.202-63.456 142.710-63.456Q142.218-63.456 141.784-63.688Q141.351-63.921 141.089-64.329Q140.827-64.737 140.827-65.229M142.710-63.733Q143.167-63.733 143.419-63.956Q143.671-64.179 143.759-64.530Q143.847-64.882 143.847-65.327Q143.847-65.757 143.753-66.095Q143.659-66.432 143.405-66.639Q143.151-66.846 142.710-66.846Q142.062-66.846 141.818-66.430Q141.573-66.014 141.573-65.327Q141.573-64.882 141.661-64.530Q141.749-64.179 142.001-63.956Q142.253-63.733 142.710-63.733M147.081-63.534L145.101-63.534L145.101-63.831Q145.370-63.831 145.538-63.876Q145.706-63.921 145.706-64.093L145.706-66.229Q145.706-66.444 145.644-66.540Q145.581-66.636 145.464-66.657Q145.347-66.679 145.101-66.679L145.101-66.975L146.269-67.061L146.269-66.276Q146.347-66.487 146.499-66.673Q146.651-66.858 146.851-66.960Q147.050-67.061 147.276-67.061Q147.523-67.061 147.714-66.917Q147.905-66.772 147.905-66.542Q147.905-66.386 147.800-66.276Q147.694-66.167 147.538-66.167Q147.382-66.167 147.273-66.276Q147.163-66.386 147.163-66.542Q147.163-66.702 147.269-66.807Q146.944-66.807 146.730-66.579Q146.515-66.350 146.419-66.011Q146.323-65.671 146.323-65.366L146.323-64.093Q146.323-63.925 146.550-63.878Q146.776-63.831 147.081-63.831",[1380],[1364,8011,8012],{"transform":7933},[1369,8013],{"d":8014,"fill":1366,"stroke":1366,"className":8015,"style":1381},"M153.083-63.534L151.305-63.534L151.305-63.831Q151.579-63.831 151.747-63.878Q151.915-63.925 151.915-64.093L151.915-66.229Q151.915-66.444 151.858-66.540Q151.801-66.636 151.688-66.657Q151.575-66.679 151.329-66.679L151.329-66.975L152.528-67.061L152.528-64.093Q152.528-63.925 152.674-63.878Q152.821-63.831 153.083-63.831L153.083-63.534M151.641-68.456Q151.641-68.647 151.776-68.778Q151.911-68.909 152.106-68.909Q152.227-68.909 152.331-68.846Q152.434-68.784 152.497-68.680Q152.559-68.577 152.559-68.456Q152.559-68.261 152.428-68.126Q152.298-67.991 152.106-67.991Q151.907-67.991 151.774-68.124Q151.641-68.257 151.641-68.456M155.512-63.534L153.657-63.534L153.657-63.831Q153.930-63.831 154.098-63.878Q154.266-63.925 154.266-64.093L154.266-66.229Q154.266-66.444 154.204-66.540Q154.141-66.636 154.022-66.657Q153.903-66.679 153.657-66.679L153.657-66.975L154.848-67.061L154.848-66.327Q154.962-66.542 155.155-66.710Q155.348-66.878 155.587-66.970Q155.825-67.061 156.079-67.061Q157.247-67.061 157.247-65.983L157.247-64.093Q157.247-63.925 157.417-63.878Q157.587-63.831 157.856-63.831L157.856-63.534L156.001-63.534L156.001-63.831Q156.274-63.831 156.442-63.878Q156.610-63.925 156.610-64.093L156.610-65.968Q156.610-66.350 156.489-66.579Q156.368-66.807 156.016-66.807Q155.704-66.807 155.450-66.645Q155.196-66.483 155.049-66.214Q154.903-65.944 154.903-65.647L154.903-64.093Q154.903-63.925 155.073-63.878Q155.243-63.831 155.512-63.831",[1380],[1364,8017,8018],{"transform":7933},[1369,8019],{"d":8020,"fill":1366,"stroke":1366,"className":8021,"style":1381},"M163.070-63.534L161.214-63.534L161.214-63.831Q161.488-63.831 161.656-63.878Q161.824-63.925 161.824-64.093L161.824-66.229Q161.824-66.444 161.761-66.540Q161.699-66.636 161.580-66.657Q161.461-66.679 161.214-66.679L161.214-66.975L162.406-67.061L162.406-66.327Q162.519-66.542 162.713-66.710Q162.906-66.878 163.144-66.970Q163.382-67.061 163.636-67.061Q164.804-67.061 164.804-65.983L164.804-64.093Q164.804-63.925 164.974-63.878Q165.144-63.831 165.414-63.831L165.414-63.534L163.558-63.534L163.558-63.831Q163.832-63.831 164-63.878Q164.168-63.925 164.168-64.093L164.168-65.968Q164.168-66.350 164.047-66.579Q163.925-66.807 163.574-66.807Q163.261-66.807 163.007-66.645Q162.754-66.483 162.607-66.214Q162.461-65.944 162.461-65.647L162.461-64.093Q162.461-63.925 162.631-63.878Q162.800-63.831 163.070-63.831L163.070-63.534M165.859-65.288Q165.859-65.768 166.091-66.184Q166.324-66.600 166.734-66.850Q167.144-67.100 167.621-67.100Q168.351-67.100 168.750-66.659Q169.148-66.218 169.148-65.487Q169.148-65.382 169.054-65.358L166.605-65.358L166.605-65.288Q166.605-64.878 166.726-64.522Q166.847-64.167 167.119-63.950Q167.390-63.733 167.820-63.733Q168.183-63.733 168.480-63.962Q168.777-64.190 168.879-64.542Q168.886-64.589 168.972-64.604L169.054-64.604Q169.148-64.577 169.148-64.495Q169.148-64.487 169.140-64.456Q169.078-64.229 168.939-64.046Q168.800-63.862 168.609-63.729Q168.418-63.596 168.199-63.526Q167.980-63.456 167.742-63.456Q167.371-63.456 167.033-63.593Q166.695-63.729 166.427-63.981Q166.160-64.233 166.009-64.573Q165.859-64.913 165.859-65.288M166.613-65.596L168.574-65.596Q168.574-65.901 168.472-66.192Q168.371-66.483 168.154-66.665Q167.937-66.846 167.621-66.846Q167.320-66.846 167.089-66.659Q166.859-66.471 166.736-66.180Q166.613-65.889 166.613-65.596M171.496-63.534L169.718-63.534L169.718-63.831Q169.992-63.831 170.160-63.878Q170.328-63.925 170.328-64.093L170.328-66.229Q170.328-66.444 170.271-66.540Q170.214-66.636 170.101-66.657Q169.988-66.679 169.742-66.679L169.742-66.975L170.941-67.061L170.941-64.093Q170.941-63.925 171.088-63.878Q171.234-63.831 171.496-63.831L171.496-63.534M170.054-68.456Q170.054-68.647 170.189-68.778Q170.324-68.909 170.519-68.909Q170.640-68.909 170.744-68.846Q170.847-68.784 170.910-68.680Q170.972-68.577 170.972-68.456Q170.972-68.261 170.841-68.126Q170.711-67.991 170.519-67.991Q170.320-67.991 170.187-68.124Q170.054-68.257 170.054-68.456M172.621-64.495L172.621-66.686L171.918-66.686L171.918-66.940Q172.273-66.940 172.515-67.173Q172.757-67.405 172.869-67.753Q172.980-68.100 172.980-68.456L173.261-68.456L173.261-66.983L174.437-66.983L174.437-66.686L173.261-66.686L173.261-64.511Q173.261-64.190 173.381-63.962Q173.500-63.733 173.781-63.733Q173.961-63.733 174.078-63.856Q174.195-63.979 174.248-64.159Q174.300-64.339 174.300-64.511L174.300-64.983L174.582-64.983L174.582-64.495Q174.582-64.241 174.476-64.001Q174.371-63.761 174.173-63.608Q173.976-63.456 173.718-63.456Q173.402-63.456 173.150-63.579Q172.898-63.702 172.759-63.936Q172.621-64.171 172.621-64.495M177.230-63.534L175.375-63.534L175.375-63.831Q175.648-63.831 175.816-63.878Q175.984-63.925 175.984-64.093L175.984-68.253Q175.984-68.468 175.922-68.563Q175.859-68.659 175.740-68.680Q175.621-68.702 175.375-68.702L175.375-68.999L176.597-69.085L176.597-66.382Q176.722-66.593 176.910-66.743Q177.097-66.893 177.324-66.977Q177.550-67.061 177.797-67.061Q178.964-67.061 178.964-65.983L178.964-64.093Q178.964-63.925 179.134-63.878Q179.304-63.831 179.574-63.831L179.574-63.534L177.718-63.534L177.718-63.831Q177.992-63.831 178.160-63.878Q178.328-63.925 178.328-64.093L178.328-65.968Q178.328-66.350 178.207-66.579Q178.086-66.807 177.734-66.807Q177.422-66.807 177.168-66.645Q176.914-66.483 176.767-66.214Q176.621-65.944 176.621-65.647L176.621-64.093Q176.621-63.925 176.791-63.878Q176.961-63.831 177.230-63.831L177.230-63.534M180.019-65.288Q180.019-65.768 180.252-66.184Q180.484-66.600 180.894-66.850Q181.304-67.100 181.781-67.100Q182.511-67.100 182.910-66.659Q183.308-66.218 183.308-65.487Q183.308-65.382 183.214-65.358L180.765-65.358L180.765-65.288Q180.765-64.878 180.886-64.522Q181.007-64.167 181.279-63.950Q181.550-63.733 181.980-63.733Q182.343-63.733 182.640-63.962Q182.937-64.190 183.039-64.542Q183.047-64.589 183.132-64.604L183.214-64.604Q183.308-64.577 183.308-64.495Q183.308-64.487 183.300-64.456Q183.238-64.229 183.099-64.046Q182.961-63.862 182.769-63.729Q182.578-63.596 182.359-63.526Q182.140-63.456 181.902-63.456Q181.531-63.456 181.193-63.593Q180.855-63.729 180.588-63.981Q180.320-64.233 180.170-64.573Q180.019-64.913 180.019-65.288M180.773-65.596L182.734-65.596Q182.734-65.901 182.632-66.192Q182.531-66.483 182.314-66.665Q182.097-66.846 181.781-66.846Q181.480-66.846 181.250-66.659Q181.019-66.471 180.896-66.180Q180.773-65.889 180.773-65.596M185.804-63.534L183.824-63.534L183.824-63.831Q184.093-63.831 184.261-63.876Q184.429-63.921 184.429-64.093L184.429-66.229Q184.429-66.444 184.367-66.540Q184.304-66.636 184.187-66.657Q184.070-66.679 183.824-66.679L183.824-66.975L184.992-67.061L184.992-66.276Q185.070-66.487 185.222-66.673Q185.375-66.858 185.574-66.960Q185.773-67.061 186-67.061Q186.246-67.061 186.437-66.917Q186.629-66.772 186.629-66.542Q186.629-66.386 186.523-66.276Q186.418-66.167 186.261-66.167Q186.105-66.167 185.996-66.276Q185.886-66.386 185.886-66.542Q185.886-66.702 185.992-66.807Q185.668-66.807 185.453-66.579Q185.238-66.350 185.142-66.011Q185.047-65.671 185.047-65.366L185.047-64.093Q185.047-63.925 185.273-63.878Q185.500-63.831 185.804-63.831",[1380],[1364,8023,8024],{"transform":7933},[1369,8025],{"d":8026,"fill":1366,"stroke":1366,"className":8027,"style":1381},"M197.756-64.511L192.724-64.511Q192.646-64.518 192.597-64.567Q192.549-64.616 192.549-64.694Q192.549-64.764 192.596-64.815Q192.642-64.866 192.724-64.878L198.154-64.878Q198.404-65.077 198.685-65.245Q198.967-65.413 199.260-65.534Q198.658-65.788 198.154-66.198L192.724-66.198Q192.646-66.206 192.597-66.255Q192.549-66.304 192.549-66.382Q192.549-66.452 192.596-66.503Q192.642-66.554 192.724-66.565L197.756-66.565Q197.287-67.046 196.978-67.671Q196.971-67.702 196.971-67.710Q196.971-67.796 197.068-67.823L197.236-67.823Q197.299-67.811 197.334-67.757Q197.596-67.225 198.004-66.796Q198.412-66.366 198.933-66.073Q199.455-65.780 200.037-65.639Q200.099-65.628 200.099-65.534Q200.099-65.440 200.037-65.429Q199.455-65.288 198.933-64.995Q198.412-64.702 198.004-64.272Q197.596-63.843 197.334-63.311Q197.299-63.257 197.236-63.245L197.068-63.245Q196.971-63.272 196.971-63.358Q196.971-63.366 196.978-63.397Q197.283-64.014 197.756-64.511",[1380],[1364,8029,8030],{"transform":7933},[1369,8031],{"d":8032,"fill":1366,"stroke":1366,"className":8033,"style":1381},"M206.091-64.167Q206.282-63.893 206.638-63.766Q206.993-63.639 207.376-63.639Q207.712-63.639 207.921-63.825Q208.130-64.011 208.226-64.304Q208.321-64.596 208.321-64.909Q208.321-65.233 208.224-65.528Q208.126-65.823 207.913-66.007Q207.700-66.190 207.368-66.190L206.802-66.190Q206.771-66.190 206.741-66.220Q206.712-66.249 206.712-66.276L206.712-66.358Q206.712-66.393 206.741-66.419Q206.771-66.444 206.802-66.444L207.282-66.479Q207.568-66.479 207.765-66.684Q207.962-66.889 208.058-67.184Q208.153-67.479 208.153-67.757Q208.153-68.136 207.954-68.374Q207.755-68.612 207.376-68.612Q207.056-68.612 206.767-68.505Q206.478-68.397 206.314-68.175Q206.493-68.175 206.616-68.048Q206.739-67.921 206.739-67.749Q206.739-67.577 206.614-67.452Q206.489-67.327 206.314-67.327Q206.142-67.327 206.017-67.452Q205.892-67.577 205.892-67.749Q205.892-68.116 206.116-68.364Q206.341-68.612 206.681-68.733Q207.021-68.854 207.376-68.854Q207.724-68.854 208.087-68.733Q208.450-68.612 208.698-68.362Q208.946-68.112 208.946-67.757Q208.946-67.272 208.628-66.889Q208.310-66.507 207.833-66.335Q208.384-66.225 208.784-65.839Q209.185-65.452 209.185-64.917Q209.185-64.460 208.921-64.104Q208.657-63.749 208.236-63.557Q207.814-63.366 207.376-63.366Q206.966-63.366 206.573-63.501Q206.181-63.636 205.915-63.921Q205.650-64.206 205.650-64.624Q205.650-64.819 205.782-64.948Q205.915-65.077 206.107-65.077Q206.232-65.077 206.335-65.018Q206.439-64.960 206.501-64.854Q206.564-64.749 206.564-64.624Q206.564-64.429 206.429-64.298Q206.294-64.167 206.091-64.167",[1380],[1364,8035,8036],{"transform":7933},[1369,8037],{"d":8038,"fill":1366,"stroke":1366,"className":8039,"style":5537},"M210.351-66.502Q210.351-66.543 210.357-66.563L210.796-68.309Q210.819-68.394 210.819-68.500Q210.819-68.620 210.768-68.703Q210.717-68.787 210.609-68.787Q210.421-68.787 210.316-68.564Q210.210-68.341 210.143-68.051Q210.134-68.007 210.069-67.996L209.973-67.996Q209.917-68.010 209.902-68.075Q209.902-68.104 209.908-68.116Q209.996-68.470 210.165-68.737Q210.333-69.004 210.623-69.004Q210.890-69.004 211.107-68.858Q211.323-68.713 211.323-68.459Q211.528-68.711 211.794-68.857Q212.059-69.004 212.363-69.004Q212.604-69.004 212.791-68.933Q212.979-68.863 213.093-68.705Q213.207-68.546 213.207-68.309Q213.207-68.072 213.099-67.750Q212.990-67.427 212.812-66.970Q212.759-66.853 212.759-66.718Q212.759-66.513 212.902-66.513Q213.146-66.513 213.324-66.748Q213.503-66.982 213.568-67.252Q213.576-67.296 213.635-67.307L213.729-67.307Q213.808-67.281 213.808-67.222Q213.808-67.216 213.802-67.187Q213.717-66.841 213.468-66.570Q213.219-66.299 212.891-66.299Q212.639-66.299 212.453-66.439Q212.267-66.578 212.267-66.821Q212.267-66.932 212.314-67.035Q212.486-67.474 212.598-67.811Q212.709-68.148 212.709-68.385Q212.709-68.570 212.621-68.678Q212.533-68.787 212.349-68.787Q211.669-68.787 211.197-67.858L210.863-66.519Q210.843-66.422 210.756-66.361Q210.670-66.299 210.573-66.299Q210.483-66.299 210.417-66.357Q210.351-66.414 210.351-66.502",[1380],[1577,8041,8043,8044,8102],{"className":8042},[1580],"a mask, its submasks via the ",[399,8045,8047],{"className":8046},[402],[399,8048,8050,8074],{"className":8049,"ariaHidden":407},[406],[399,8051,8053,8056,8059,8065,8068,8071],{"className":8052},[411],[399,8054],{"className":8055,"style":510},[415],[399,8057,670],{"className":8058},[514],[399,8060,8062],{"className":8061},[420,749],[399,8063,7360],{"className":8064},[420],[399,8066],{"className":8067,"style":731},[528],[399,8069,1005],{"className":8070},[735],[399,8072],{"className":8073,"style":731},[528],[399,8075,8077,8080,8083,8086,8089,8093,8096],{"className":8076},[411],[399,8078],{"className":8079,"style":510},[415],[399,8081,774],{"className":8082},[420],[399,8084,563],{"className":8085},[562],[399,8087],{"className":8088,"style":529},[528],[399,8090,8092],{"className":8091},[420],"&",[399,8094],{"className":8095,"style":529},[528],[399,8097,8099],{"className":8098},[420,749],[399,8100,928],{"className":8101},[420]," step, and the three roles each element plays",[381,8104,8105,8106,8156,8157,8208,8209,8228,8229,1835,8232,8235,8236,8239,8240,8293,8294,8297,8298,8339,8340],{},"So a DP that, for every mask, loops over all its submasks runs in ",[399,8107,8109],{"className":8108},[402],[399,8110,8112],{"className":8111,"ariaHidden":407},[406],[399,8113,8115,8118,8121,8124,8153],{"className":8114},[411],[399,8116],{"className":8117,"style":510},[415],[399,8119,695],{"className":8120,"style":694},[420,459],[399,8122,670],{"className":8123},[514],[399,8125,8127,8130],{"className":8126},[420],[399,8128,1615],{"className":8129},[420],[399,8131,8133],{"className":8132},[428],[399,8134,8136],{"className":8135},[432],[399,8137,8139],{"className":8138},[436],[399,8140,8142],{"className":8141,"style":416},[440],[399,8143,8144,8147],{"style":443},[399,8145],{"className":8146,"style":448},[447],[399,8148,8150],{"className":8149},[452,453,454,455],[399,8151,460],{"className":8152},[420,459,455],[399,8154,563],{"className":8155},[562],", not\nthe ",[399,8158,8160],{"className":8159},[402],[399,8161,8163],{"className":8162,"ariaHidden":407},[406],[399,8164,8166,8169,8172,8175,8205],{"className":8165},[411],[399,8167],{"className":8168,"style":510},[415],[399,8170,695],{"className":8171,"style":694},[420,459],[399,8173,670],{"className":8174},[514],[399,8176,8178,8182],{"className":8177},[420],[399,8179,8181],{"className":8180},[420],"4",[399,8183,8185],{"className":8184},[428],[399,8186,8188],{"className":8187},[432],[399,8189,8191],{"className":8190},[436],[399,8192,8194],{"className":8193,"style":416},[440],[399,8195,8196,8199],{"style":443},[399,8197],{"className":8198,"style":448},[447],[399,8200,8202],{"className":8201},[452,453,454,455],[399,8203,460],{"className":8204},[420,459,455],[399,8206,563],{"className":8207},[562]," a naive ",[6219,8210,8211,8212,8227],{},"all masks ",[399,8213,8215],{"className":8214},[402],[399,8216,8218],{"className":8217,"ariaHidden":407},[406],[399,8219,8221,8224],{"className":8220},[411],[399,8222],{"className":8223,"style":1166},[415],[399,8225,3890],{"className":8226},[420]," all masks"," bound would suggest. ",[390,8230,8231],{},"Find\nthe Shortest Superstring",[390,8233,8234],{},"Minimum Cost to Connect Two Groups of Points","\nare submask\u002Fmask DPs of this flavor: the latter builds the answer by, for each\nmask of right-group points, choosing how to cover it given a left point. When the\ntransition is a ",[385,8237,8238],{},"sum (or min\u002Fmax) over all submasks of each mask"," with a fixed\ncontribution per submask, there is an even faster ",[399,8241,8243],{"className":8242},[402],[399,8244,8246],{"className":8245,"ariaHidden":407},[406],[399,8247,8249,8252,8255,8258,8287,8290],{"className":8248},[411],[399,8250],{"className":8251,"style":510},[415],[399,8253,695],{"className":8254,"style":694},[420,459],[399,8256,670],{"className":8257},[514],[399,8259,8261,8264],{"className":8260},[420],[399,8262,424],{"className":8263},[420],[399,8265,8267],{"className":8266},[428],[399,8268,8270],{"className":8269},[432],[399,8271,8273],{"className":8272},[436],[399,8274,8276],{"className":8275,"style":416},[440],[399,8277,8278,8281],{"style":443},[399,8279],{"className":8280,"style":448},[447],[399,8282,8284],{"className":8283},[452,453,454,455],[399,8285,460],{"className":8286},[420,459,455],[399,8288,460],{"className":8289},[420,459],[399,8291,563],{"className":8292},[562]," technique, ",[390,8295,8296],{},"SOS DP\n(sum over subsets)",", covered in the DP-optimizations lesson, that beats the\n",[399,8299,8301],{"className":8300},[402],[399,8302,8304],{"className":8303,"ariaHidden":407},[406],[399,8305,8307,8310],{"className":8306},[411],[399,8308],{"className":8309,"style":416},[415],[399,8311,8313,8316],{"className":8312},[420],[399,8314,1615],{"className":8315},[420],[399,8317,8319],{"className":8318},[428],[399,8320,8322],{"className":8321},[432],[399,8323,8325],{"className":8324},[436],[399,8326,8328],{"className":8327,"style":416},[440],[399,8329,8330,8333],{"style":443},[399,8331],{"className":8332,"style":448},[447],[399,8334,8336],{"className":8335},[452,453,454,455],[399,8337,460],{"className":8338},[420,459,455]," enumeration by sharing work across masks.",[765,8341,8342],{},[768,8343,424],{"href":8344,"ariaDescribedBy":8345,"dataFootnoteRef":376,"id":8346},"#user-content-fn-cormen-dp",[772],"user-content-fnref-cormen-dp",[781,8348,8350],{"id":8349},"takeaways","Takeaways",[880,8352,8353,8441,8487,8713,8838],{},[883,8354,8355,8357,8358,8361,8362,8395,8396,8398,8399,8440],{},[390,8356,271],{}," applies when a subproblem's state is ",[385,8359,8360],{},"which subset"," of a small\nground set (",[399,8363,8365],{"className":8364},[402],[399,8366,8368,8386],{"className":8367,"ariaHidden":407},[406],[399,8369,8371,8374,8377,8380,8383],{"className":8370},[411],[399,8372],{"className":8373,"style":581},[415],[399,8375,460],{"className":8376},[420,459],[399,8378],{"className":8379,"style":588},[528],[399,8381,593],{"className":8382},[592],[399,8384],{"className":8385,"style":588},[528],[399,8387,8389,8392],{"className":8388},[411],[399,8390],{"className":8391,"style":603},[415],[399,8393,607],{"className":8394},[420],") has been used; encode the subset as the bits of an\ninteger and index the table by that ",[390,8397,928],{},", giving ",[399,8400,8402],{"className":8401},[402],[399,8403,8405],{"className":8404,"ariaHidden":407},[406],[399,8406,8408,8411],{"className":8407},[411],[399,8409],{"className":8410,"style":416},[415],[399,8412,8414,8417],{"className":8413},[420],[399,8415,424],{"className":8416},[420],[399,8418,8420],{"className":8419},[428],[399,8421,8423],{"className":8422},[432],[399,8424,8426],{"className":8425},[436],[399,8427,8429],{"className":8428,"style":416},[440],[399,8430,8431,8434],{"style":443},[399,8432],{"className":8433,"style":448},[447],[399,8435,8437],{"className":8436},[452,453,454,455],[399,8438,460],{"className":8439},[420,459,455]," states.",[883,8442,8443,8444,8447,8448,8450,8451,8454,8455,8458,8459,8461,8462,8486],{},"The core ",[390,8445,8446],{},"bit operations"," (test ",[931,8449,933],{},", set ",[931,8452,8453],{},"mask | (1\u003C\u003Ci)",",\nclear ",[931,8456,8457],{},"mask & ~(1\u003C\u003Ci)",", lowest bit ",[931,8460,987],{},", popcount) are all ",[399,8463,8465],{"className":8464},[402],[399,8466,8468],{"className":8467,"ariaHidden":407},[406],[399,8469,8471,8474,8477,8480,8483],{"className":8470},[411],[399,8472],{"className":8473,"style":510},[415],[399,8475,695],{"className":8476,"style":694},[420,459],[399,8478,670],{"className":8479},[514],[399,8481,774],{"className":8482},[420],[399,8484,563],{"className":8485},[562],",\nand iterating masks in increasing order is a valid topological order for\nsubset DPs.",[883,8488,8489,8491,8492,8531,8532,8534,8535,8550,8551,3637,8630,8683,8684,8708,8709,8712],{},[390,8490,1702],{}," solves TSP with ",[399,8493,8495],{"className":8494},[402],[399,8496,8498],{"className":8497,"ariaHidden":407},[406],[399,8499,8501,8504,8507,8510,8513,8519,8522,8525,8528],{"className":8500},[411],[399,8502],{"className":8503,"style":510},[415],[399,8505,1739],{"className":8506},[420,459],[399,8508,381],{"className":8509},[420,459],[399,8511,515],{"className":8512},[514],[399,8514,8516],{"className":8515},[420,749],[399,8517,928],{"className":8518},[420],[399,8520,1879],{"className":8521},[562],[399,8523,515],{"className":8524},[514],[399,8526,804],{"className":8527},[420,459],[399,8529,1879],{"className":8530},[562]," = best path visiting ",[931,8533,928],{},"\nending at ",[399,8536,8538],{"className":8537},[402],[399,8539,8541],{"className":8540,"ariaHidden":407},[406],[399,8542,8544,8547],{"className":8543},[411],[399,8545],{"className":8546,"style":800},[415],[399,8548,804],{"className":8549},[420,459],", in ",[399,8552,8554],{"className":8553},[402],[399,8555,8557],{"className":8556,"ariaHidden":407},[406],[399,8558,8560,8563,8566,8569,8598,8627],{"className":8559},[411],[399,8561],{"className":8562,"style":3568},[415],[399,8564,695],{"className":8565,"style":694},[420,459],[399,8567,670],{"className":8568},[514],[399,8570,8572,8575],{"className":8571},[420],[399,8573,424],{"className":8574},[420],[399,8576,8578],{"className":8577},[428],[399,8579,8581],{"className":8580},[432],[399,8582,8584],{"className":8583},[436],[399,8585,8587],{"className":8586,"style":416},[440],[399,8588,8589,8592],{"style":443},[399,8590],{"className":8591,"style":448},[447],[399,8593,8595],{"className":8594},[452,453,454,455],[399,8596,460],{"className":8597},[420,459,455],[399,8599,8601,8604],{"className":8600},[420],[399,8602,460],{"className":8603},[420,459],[399,8605,8607],{"className":8606},[428],[399,8608,8610],{"className":8609},[432],[399,8611,8613],{"className":8612},[436],[399,8614,8616],{"className":8615,"style":3622},[440],[399,8617,8618,8621],{"style":443},[399,8619],{"className":8620,"style":448},[447],[399,8622,8624],{"className":8623},[452,453,454,455],[399,8625,424],{"className":8626},[420,455],[399,8628,563],{"className":8629},[562],[399,8631,8633],{"className":8632},[402],[399,8634,8636],{"className":8635,"ariaHidden":407},[406],[399,8637,8639,8642,8645,8648,8677,8680],{"className":8638},[411],[399,8640],{"className":8641,"style":510},[415],[399,8643,695],{"className":8644,"style":694},[420,459],[399,8646,670],{"className":8647},[514],[399,8649,8651,8654],{"className":8650},[420],[399,8652,424],{"className":8653},[420],[399,8655,8657],{"className":8656},[428],[399,8658,8660],{"className":8659},[432],[399,8661,8663],{"className":8662},[436],[399,8664,8666],{"className":8665,"style":416},[440],[399,8667,8668,8671],{"style":443},[399,8669],{"className":8670,"style":448},[447],[399,8672,8674],{"className":8673},[452,453,454,455],[399,8675,460],{"className":8676},[420,459,455],[399,8678,460],{"className":8679},[420,459],[399,8681,563],{"className":8682},[562]," space versus ",[399,8685,8687],{"className":8686},[402],[399,8688,8690],{"className":8689,"ariaHidden":407},[406],[399,8691,8693,8696,8699,8702,8705],{"className":8692},[411],[399,8694],{"className":8695,"style":510},[415],[399,8697,666],{"className":8698},[420],[399,8700,670],{"className":8701},[514],[399,8703,460],{"className":8704},[420,459],[399,8706,677],{"className":8707},[562],"\nbrute force, and ",[385,8710,8711],{},"is"," Shortest Path Visiting All Nodes.",[883,8714,8715,1835,8718,8721,8722,8752,8753,8806,8807,8837],{},[390,8716,8717],{},"Assignment",[390,8719,8720],{},"subset-sum partitioning"," use ",[399,8723,8725],{"className":8724},[402],[399,8726,8728],{"className":8727,"ariaHidden":407},[406],[399,8729,8731,8734,8737,8740,8743,8749],{"className":8730},[411],[399,8732],{"className":8733,"style":510},[415],[399,8735,1739],{"className":8736},[420,459],[399,8738,381],{"className":8739},[420,459],[399,8741,515],{"className":8742},[514],[399,8744,8746],{"className":8745},[420,749],[399,8747,928],{"className":8748},[420],[399,8750,1879],{"className":8751},[562]," alone in\n",[399,8754,8756],{"className":8755},[402],[399,8757,8759],{"className":8758,"ariaHidden":407},[406],[399,8760,8762,8765,8768,8771,8800,8803],{"className":8761},[411],[399,8763],{"className":8764,"style":510},[415],[399,8766,695],{"className":8767,"style":694},[420,459],[399,8769,670],{"className":8770},[514],[399,8772,8774,8777],{"className":8773},[420],[399,8775,424],{"className":8776},[420],[399,8778,8780],{"className":8779},[428],[399,8781,8783],{"className":8782},[432],[399,8784,8786],{"className":8785},[436],[399,8787,8789],{"className":8788,"style":416},[440],[399,8790,8791,8794],{"style":443},[399,8792],{"className":8793,"style":448},[447],[399,8795,8797],{"className":8796},[452,453,454,455],[399,8798,460],{"className":8799},[420,459,455],[399,8801,460],{"className":8802},[420,459],[399,8804,563],{"className":8805},[562],", exploiting ",[399,8808,8810],{"className":8809},[402],[399,8811,8813],{"className":8812,"ariaHidden":407},[406],[399,8814,8816,8819,8825,8828,8834],{"className":8815},[411],[399,8817],{"className":8818,"style":510},[415],[399,8820,8822],{"className":8821},[420,749],[399,8823,1084],{"className":8824},[420],[399,8826,670],{"className":8827},[514],[399,8829,8831],{"className":8830},[420,749],[399,8832,928],{"className":8833},[420],[399,8835,563],{"className":8836},[562]," to recover the implicit\nposition or bucket state.",[883,8839,8840,8843,8844,8847,8848,8898,8899,8901],{},[390,8841,8842],{},"Submask enumeration"," via ",[931,8845,8846],{},"sub = (sub - 1) & mask"," iterates every submask of\nevery mask in total ",[399,8849,8851],{"className":8850},[402],[399,8852,8854],{"className":8853,"ariaHidden":407},[406],[399,8855,8857,8860,8863,8866,8895],{"className":8856},[411],[399,8858],{"className":8859,"style":510},[415],[399,8861,695],{"className":8862,"style":694},[420,459],[399,8864,670],{"className":8865},[514],[399,8867,8869,8872],{"className":8868},[420],[399,8870,1615],{"className":8871},[420],[399,8873,8875],{"className":8874},[428],[399,8876,8878],{"className":8877},[432],[399,8879,8881],{"className":8880},[436],[399,8882,8884],{"className":8883,"style":416},[440],[399,8885,8886,8889],{"style":443},[399,8887],{"className":8888,"style":448},[447],[399,8890,8892],{"className":8891},[452,453,454,455],[399,8893,460],{"className":8894},[420,459,455],[399,8896,563],{"className":8897},[562],", because each element is independently in ",[931,8900,7360],{},", in\nthe complement, or in neither.",[8903,8904,8907,8912],"section",{"className":8905,"dataFootnotes":376},[8906],"footnotes",[781,8908,8911],{"className":8909,"id":772},[8910],"sr-only","Footnotes",[8913,8914,8915,9032],"ol",{},[883,8916,8918,8921,8922,8946,8947,9024,9025],{"id":8917},"user-content-fn-erickson-dp",[390,8919,8920],{},"Erickson",", Ch. — Dynamic Programming: exponential subset DPs trade ",[399,8923,8925],{"className":8924},[402],[399,8926,8928],{"className":8927,"ariaHidden":407},[406],[399,8929,8931,8934,8937,8940,8943],{"className":8930},[411],[399,8932],{"className":8933,"style":510},[415],[399,8935,666],{"className":8936},[420],[399,8938,670],{"className":8939},[514],[399,8941,460],{"className":8942},[420,459],[399,8944,677],{"className":8945},[562]," exhaustive search for ",[399,8948,8950],{"className":8949},[402],[399,8951,8953,9003],{"className":8952,"ariaHidden":407},[406],[399,8954,8956,8959,8962,8965,8994,8997,9000],{"className":8955},[411],[399,8957],{"className":8958,"style":510},[415],[399,8960,695],{"className":8961,"style":694},[420,459],[399,8963,670],{"className":8964},[514],[399,8966,8968,8971],{"className":8967},[420],[399,8969,424],{"className":8970},[420],[399,8972,8974],{"className":8973},[428],[399,8975,8977],{"className":8976},[432],[399,8978,8980],{"className":8979},[436],[399,8981,8983],{"className":8982,"style":416},[440],[399,8984,8985,8988],{"style":443},[399,8986],{"className":8987,"style":448},[447],[399,8989,8991],{"className":8990},[452,453,454,455],[399,8992,460],{"className":8993},[420,459,455],[399,8995],{"className":8996,"style":731},[528],[399,8998,736],{"className":8999},[735],[399,9001],{"className":9002,"style":731},[528],[399,9004,9006,9009,9015,9018,9021],{"className":9005},[411],[399,9007],{"className":9008,"style":510},[415],[399,9010,9012],{"className":9011},[420,749],[399,9013,753],{"className":9014},[420],[399,9016,670],{"className":9017},[514],[399,9019,460],{"className":9020},[420,459],[399,9022,763],{"className":9023},[562]," by memoizing over subsets. ",[768,9026,9031],{"href":9027,"ariaLabel":9028,"className":9029,"dataFootnoteBackref":376},"#user-content-fnref-erickson-dp","Back to reference 1",[9030],"data-footnote-backref","↩",[883,9033,9035,9038,9039],{"id":9034},"user-content-fn-cormen-dp",[390,9036,9037],{},"CLRS",", Ch. 15 — Dynamic Programming (§15.3): optimal substructure and overlapping subproblems — the two ingredients that justify indexing subproblems by subset masks. ",[768,9040,9031],{"href":9041,"ariaLabel":9042,"className":9043,"dataFootnoteBackref":376},"#user-content-fnref-cormen-dp","Back to reference 2",[9030],[9045,9046,9047],"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":9049},[9050,9051,9052,9053,9054,9056,9057],{"id":783,"depth":18,"text":784},{"id":1695,"depth":18,"text":1696},{"id":4775,"depth":18,"text":4776},{"id":6260,"depth":18,"text":6261},{"id":7244,"depth":18,"text":9055},"Submask enumeration and the 3n bound",{"id":8349,"depth":18,"text":8350},{"id":772,"depth":18,"text":8911},"Every dynamic program so far has indexed its subproblems by something ordered:\na prefix of an array, a position in a string, a capacity remaining. But some\nproblems have no useful order. The traveling salesman does not care in what\nsequence you list the cities he has already visited; what matters is only the\nset of visited cities and where he stands now. The natural subproblem state\nis therefore a subset of the ground set, and a DP over subsets seems to need a\ntable indexed by subsets, of which there are 2n.","md",{"moduleNumber":196,"lessonNumber":196,"order":9061},808,true,[9064,9067,9070,9073,9075],{"title":4601,"slug":9065,"difficulty":9066},"shortest-path-visiting-all-nodes","Hard",{"title":6266,"slug":9068,"difficulty":9069},"partition-to-k-equal-sum-subsets","Medium",{"title":9071,"slug":9072,"difficulty":9066},"Find the Shortest Superstring","find-the-shortest-superstring",{"title":8234,"slug":9074,"difficulty":9066},"minimum-cost-to-connect-two-groups-of-points",{"title":6256,"slug":9076,"difficulty":9066},"maximum-students-taking-exam","---\ntitle: Bitmask DP\nmodule: Dynamic Programming\nmoduleNumber: 8\nlessonNumber: 8\norder: 808\nsummary: >-\n  When a subproblem depends not on an index or a prefix but on _which subset_ of\n  a small ground set has been used, we can encode that subset as the bits of an\n  integer and index a DP table by it. With $n \\le \\sim 20$ the $2^n$ subsets fit\n  in a table, turning $\\Theta(n!)$ brute force into $O(2^n \\cdot \\text{poly}(n))$.\n  We meet the bit tricks, the Held–Karp TSP archetype, assignment by mask,\n  subset-sum partitioning, and submask enumeration with its $3^n$ bound.\ntopics: [Dynamic Programming]\nsources:\n  - book: CLRS\n    ref: \"Ch. 15 — Dynamic Programming\"\n  - book: Skiena\n    ref: \"§ — Exhaustive Search \u002F Dynamic Programming\"\n  - book: Erickson\n    ref: \"Ch. — Dynamic Programming\"\npractice:\n  - title: 'Shortest Path Visiting All Nodes'\n    slug: shortest-path-visiting-all-nodes\n    difficulty: Hard\n  - title: 'Partition to K Equal Sum Subsets'\n    slug: partition-to-k-equal-sum-subsets\n    difficulty: Medium\n  - title: 'Find the Shortest Superstring'\n    slug: find-the-shortest-superstring\n    difficulty: Hard\n  - title: 'Minimum Cost to Connect Two Groups of Points'\n    slug: minimum-cost-to-connect-two-groups-of-points\n    difficulty: Hard\n  - title: 'Maximum Students Taking Exam'\n    slug: maximum-students-taking-exam\n    difficulty: Hard\n---\n\nEvery dynamic program so far has indexed its subproblems by something _ordered_:\na prefix of an array, a position in a string, a capacity remaining. But some\nproblems have no useful order. The traveling salesman does not care in what\nsequence you list the cities he has already visited; what matters is only the\n**set** of visited cities and where he stands now. The natural subproblem state\nis therefore a _subset_ of the ground set, and a DP over subsets seems to need a\ntable indexed by subsets, of which there are $2^n$.\n\nA subset of an $n$-element set is\nexactly an $n$-bit string, which is exactly an integer in $[0, 2^n)$. So we\n**encode the subset as the bits of an integer mask** and index the DP table by\nthat integer. When $n \\le \\sim 20$ the $2^n$ masks (up to about a million) fit\ncomfortably in memory, and a $\\Theta(n!)$ exhaustive search collapses to\n$O(2^n \\cdot \\text{poly}(n))$.[^erickson-dp] This encoding builds on the general\n[principles of dynamic programming](\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples),\nand unlocks a handful of recurring DP shapes.\n\n## Bit tricks, compactly\n\nA mask is an integer whose bit $i$ (counting from $0$, least significant) is $1$\niff element $i$ is in the set. The operations we need are all $O(1)$:\n\n- **test** whether $i \\in \\text{mask}$: `(mask >> i) & 1`.\n- **add** $i$: `mask | (1 \u003C\u003C i)`; **remove** $i$: `mask & ~(1 \u003C\u003C i)`.\n- **isolate the lowest set bit**: `mask & -mask` (two's complement makes\n  $-\\text{mask} = {\\sim}\\text{mask} + 1$, which agrees with `mask` only at and\n  below the lowest $1$).\n- **popcount** (number of set bits): a hardware instruction, or\n  $\\textsc{Kernighan}$'s loop `while (m) { m &= m - 1; c++; }`, which clears the\n  lowest set bit each step.\n- **iterate the members**: for $i$ from $0$ to $n-1$, test bit $i$.\n- the **full set** is `(1 \u003C\u003C n) - 1`; the **empty set** is `0`.\n\nThe whole universe of subsets is the integers $0, 1, \\dots, 2^n - 1$, so a loop\n`for (mask = 0; mask \u003C (1 \u003C\u003C n); mask++)` visits every subset once. Because\n`mask | (1 \u003C\u003C j) > mask` whenever bit $j$ was unset, masks that _add_ an element\nare numerically larger, so iterating masks in increasing order processes every\nsubset _after_ all of its proper subsets, which is exactly the topological order\na subset DP needs.\n\n$$\n% caption: Subset lattice for $n=3$: each edge adds one bit, so $\\text{mask}\\mid(1{\\ll}j)>\\text{mask}$ — increasing integer order visits every subset after its proper subsets\n\\begin{tikzpicture}[\n  every node\u002F.style={draw, minimum size=8mm, inner sep=2pt, font=\\footnotesize},\n  >=stealth, node distance=12mm]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node (e) at (3,0) {$000$};\n  \\node (a) at (1,1.4) {$001$};\n  \\node (b) at (3,1.4) {$010$};\n  \\node (c) at (5,1.4) {$100$};\n  \\node (ab) at (1,2.8) {$011$};\n  \\node (ac) at (3,2.8) {$101$};\n  \\node (bc) at (5,2.8) {$110$};\n  \\node[fill=acc!15] (abc) at (3,4.2) {$111$};\n  \\foreach \\x in {a,b,c} \\draw[->] (e) -- (\\x);\n  \\draw[->] (a) -- (ab); \\draw[->] (b) -- (ab);\n  \\draw[->] (a) -- (ac); \\draw[->] (c) -- (ac);\n  \\draw[->] (b) -- (bc); \\draw[->] (c) -- (bc);\n  \\draw[->] (ab) -- (abc); \\draw[->] (ac) -- (abc); \\draw[->] (bc) -- (abc);\n  \\node[draw=none, font=\\footnotesize, acc] at (7.0,2.1) {add bit $\\Rightarrow$};\n  \\node[draw=none, font=\\footnotesize, acc] at (7.0,1.5) {larger integer};\n\\end{tikzpicture}\n$$\n\n## Held–Karp: the traveling salesman archetype\n\nThe cleanest bitmask DP is **Held–Karp** for the traveling salesman problem,\nwhich is itself [NP-hard](\u002Falgorithms\u002Fintractability\u002Fnp-completeness) so no\npolynomial algorithm is known.\nGiven $n$ cities and pairwise distances $d(i, j)$, find the shortest tour that\nstarts at city $0$, visits every city exactly once, and returns to $0$. Brute\nforce tries all $(n-1)!$ orderings. The DP observation is that a partial tour is\nfully summarized by **which cities it has visited** and **where it currently\nends**; the order in which the visited cities were reached is irrelevant to how\ncheaply we can finish.\n\n> **Definition (State).** $dp[\\text{mask}][i]$ = the minimum cost of a path that starts at city\n> $0$, visits _exactly_ the set of cities in `mask`, and currently ends at city\n> $i$ (so bit $i$ and bit $0$ are both set in `mask`).\n\nThis is where the exponential collapse happens: many distinct visit _orders_ reach\nthe very same $(\\text{mask}, i)$, and the DP keeps only the cheapest, solving each\nstate once instead of re-exploring every permutation.\n\n$$\n% caption: Two visit orders, one state. Both $0{\\to}1{\\to}2{\\to}3$ and $0{\\to}2{\\to}1{\\to}3$ visit $\\{0,1,2,3\\}$ and end at $3$, so Held–Karp folds them into the single state $dp[\\,1111\\,][3]$ and keeps only the cheaper, collapsing the factorial of orders.\n\\begin{tikzpicture}[\n  >=stealth, every node\u002F.style={font=\\small},\n  city\u002F.style={circle, draw, minimum size=6.5mm, inner sep=0},\n  endc\u002F.style={city, draw=acc, very thick},\n  st\u002F.style={draw, rounded corners=1pt, fill=acc!15, draw=acc, very thick, font=\\small, inner sep=3pt}]\n  \\definecolor{acc}{HTML}{2348F2}\n  % order A: 0 -> 1 -> 2 -> 3\n  \\node[city] (a0) at (0,0.85) {$0$};\n  \\node[city] (a1) at (1.25,0.85) {$1$};\n  \\node[city] (a2) at (2.5,0.85) {$2$};\n  \\node[endc] (a3) at (3.75,0.85) {$3$};\n  \\draw[->] (a0)--(a1); \\draw[->] (a1)--(a2); \\draw[->] (a2)--(a3);\n  % order B: 0 -> 2 -> 1 -> 3\n  \\node[city] (b0) at (0,-0.85) {$0$};\n  \\node[city] (b1) at (1.25,-0.85) {$2$};\n  \\node[city] (b2) at (2.5,-0.85) {$1$};\n  \\node[endc] (b3) at (3.75,-0.85) {$3$};\n  \\draw[->] (b0)--(b1); \\draw[->] (b1)--(b2); \\draw[->] (b2)--(b3);\n  \\node[st] (state) at (7.3,0) {$dp[\\,1111\\,][3]$};\n  \\draw[->, acc, thick] (a3.east) to[out=0,in=150] (state.west);\n  \\draw[->, acc, thick] (b3.east) to[out=0,in=210] (state.west);\n  \\node[font=\\footnotesize, acc, align=center] at (5.45,0.0) {same set,\\\\same end:\\\\one state};\n\\end{tikzpicture}\n$$\n\n$$\n% caption: $dp[\\text{mask}][i]$ = best path visiting the cities in mask, ending at $i$, extended to a new city $j$\n\\begin{tikzpicture}[\n  every node\u002F.style={font=\\small},\n  city\u002F.style={circle, draw, minimum size=7mm, inner sep=0},\n  bit\u002F.style={draw, minimum size=6mm, inner sep=1pt, font=\\small},\n  >=stealth]\n  \\definecolor{acc}{HTML}{2348F2}\n  % path of cities already visited\n  \\node[city] (c0) at (0,0) {$0$};\n  \\node[city] (c1) at (1.6,0.5) {$2$};\n  \\node[city] (ci) at (3.2,0) {$i$};\n  \\node[city, draw=acc, thick] (cj) at (5.2,0.6) {$j$};\n  \\draw[->] (c0) -- (c1);\n  \\draw[->] (c1) -- (ci);\n  \\draw[->, acc, thick] (ci) -- node[above, font=\\footnotesize]{$d(i,j)$} (cj);\n  % the mask as a row of bits below\n  \\node[bit, fill=acc!15] (b0) at (0,-1.8) {$1$};\n  \\node[bit, fill=acc!15] (b1) at (0.7,-1.8) {$1$};\n  \\node[bit, fill=acc!15] (b2) at (1.4,-1.8) {$1$};\n  \\node[bit] (b3) at (2.1,-1.8) {$0$};\n  \\node[bit, draw=acc, thick] (b4) at (2.8,-1.8) {$1$};\n  \\node[font=\\footnotesize] at (-1.3,-1.8) {mask};\n  \\node[font=\\footnotesize, acc] at (2.8,-2.6) {set bit $j$};\n  \\draw[->, acc] (2.8,-2.45) -- (b4.south);\n\\end{tikzpicture}\n$$\n\nThe recurrence extends a path ending at $i$ to a new, previously-unvisited city\n$j$ by setting bit $j$:\n\n$$\ndp\\bigl[\\text{mask} \\mid (1{\\ll}j)\\bigr][j] \\;=\\;\n\\min_{i \\in \\text{mask},\\ j \\notin \\text{mask}}\n\\Bigl( dp[\\text{mask}][i] + d(i, j) \\Bigr).\n$$\n\nThe base case is $dp[\\{0\\}][0] = 0$. The answer closes the tour back to the start\nover the full mask $F = 2^n - 1$:\n\n$$\n\\text{cost} \\;=\\; \\min_{i} \\Bigl( dp[F][i] + d(i, 0) \\Bigr).\n$$\n\n```algorithm\ncaption: $\\textsc{Held-Karp}(d, n)$ — shortest tour by bitmask DP, $O(2^n n^2)$\n$dp[\\text{mask}][i] \\gets \\infty$ for all mask, $i$\n$dp[1][0] \\gets 0$ \u002F\u002F only city $0$ visited, at $0$\nfor $\\text{mask} \\gets 1$ to $2^n - 1$ do\n  for $i \\gets 0$ to $n - 1$ do\n    if $dp[\\text{mask}][i] = \\infty$ then continue\n    if $\\text{mask}$ does not contain $i$ then continue\n    for $j \\gets 0$ to $n - 1$ do\n      if $\\text{mask}$ contains $j$ then continue \u002F\u002F visited\n      $\\text{nmask} \\gets \\text{mask} \\mid (1 \\ll j)$\n      $dp[\\text{nmask}][j] \\gets \\min\\bigl(dp[\\text{nmask}][j],\\ dp[\\text{mask}][i] + d(i,j)\\bigr)$\n$\\textbf{return } \\min_i \\bigl(dp[2^n - 1][i] + d(i, 0)\\bigr)$\n```\n\nIterating masks in increasing order is valid because $\\text{nmask} > \\text{mask}$,\nso every state is finalized before it is read. The table has $2^n \\cdot n$\nentries and each is relaxed by an inner loop over $n$ candidate predecessors,\ngiving $O(2^n n^2)$ time and $O(2^n n)$ space. That is exponential, but\n$2^n n^2$ at $n = 18$ is about $10^8$, entirely feasible, whereas $17! \\approx\n3.6 \\times 10^{14}$ is not.\n\n> **Lemma (optimal substructure).** An optimal path realizing $dp[\\text{mask}][i]$\n> consists of an optimal path realizing $dp[\\text{mask} \\setminus \\{i\\}][i']$ for\n> some $i'$, followed by the edge $(i', i)$.\n\n> **Proof.** The path visits the cities of `mask`, ending at $i$; let $i'$ be the\n> city visited just before $i$. Deleting the final edge leaves a path over\n> $\\text{mask} \\setminus \\{i\\}$ ending at $i'$. If that prefix were not minimal, we\n> could substitute a cheaper prefix to $i'$ and append $(i', i)$, contradicting the\n> optimality of the whole; the suffix edge cost $d(i', i)$ does not depend on how\n> $i'$ was reached. $\\qed$\n\nThis is exactly **Shortest Path Visiting All Nodes**: take $d(i,j) = 1$ for graph\nedges and run the same $dp[\\text{mask}][i]$ as a BFS over states $(\\text{mask}, i)$,\nwhere `mask` is the set of nodes visited so far and the answer is the first time\nany state with $\\text{mask} = F$ is reached. Unlike the single-source\n[shortest paths](\u002Falgorithms\u002Fgraphs\u002Fshortest-paths) of weighted graphs, here the\npath must cover every node, which is what forces the subset state.\n\n## Assignment and matching by mask\n\nThe same idea solves the **assignment problem**: assign $n$ tasks to $n$ workers,\nwhere worker $k$ doing task $j$ costs $c[k][j]$, minimizing total cost. Here the\nmask tracks _which tasks have been assigned_. The key observation is that if we\nalways assign workers in order $0, 1, 2, \\dots$, then once `mask` is fixed the\nnumber of workers already placed is determined: it is exactly $\\text{popcount}(\\text{mask})$.\n\n> **Definition (State).** $dp[\\text{mask}]$ = the minimum cost of assigning workers\n> $0, 1, \\dots, \\text{popcount}(\\text{mask}) - 1$ to precisely the set of tasks in\n> `mask`. The next worker to place is $k = \\text{popcount}(\\text{mask})$.\n\nThe transition gives worker $k$ each task $j$ not yet used:\n\n$$\ndp\\bigl[\\text{mask} \\mid (1{\\ll}j)\\bigr] \\;=\\;\n\\min_{j \\notin \\text{mask}} \\Bigl( dp[\\text{mask}] + c[k][j] \\Bigr),\n\\qquad k = \\text{popcount}(\\text{mask}).\n$$\n\n$$\n% caption: Assignment by mask: with $\\text{mask}=0110$ two tasks are taken, so $\\text{popcount}=2$ fixes worker $k=2$ as next, branching to a free task ($0$ or $3$)\n\\begin{tikzpicture}[\n  every node\u002F.style={font=\\small},\n  bit\u002F.style={draw, minimum size=7mm, inner sep=1pt, font=\\small},\n  >=stealth]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node[font=\\footnotesize] at (-1.6,0) {mask};\n  \\node[bit] (b3) at (0,0) {$0$};\n  \\node[bit, fill=acc!15] (b2) at (0.75,0) {$1$};\n  \\node[bit, fill=acc!15] (b1) at (1.5,0) {$1$};\n  \\node[bit] (b0) at (2.25,0) {$0$};\n  \\node[font=\\footnotesize] at (0,-0.62) {$t_3$};\n  \\node[font=\\footnotesize] at (0.75,-0.62) {$t_2$};\n  \\node[font=\\footnotesize] at (1.5,-0.62) {$t_1$};\n  \\node[font=\\footnotesize] at (2.25,-0.62) {$t_0$};\n  \\node[font=\\footnotesize, acc] at (5.0,0.25) {$\\text{popcount}=2$};\n  \\node[font=\\footnotesize, acc] at (5.0,-0.4) {place worker $k{=}2$};\n  \\node[bit, draw=acc, very thick] (n3) at (0,1.7) {$1$};\n  \\node[bit, draw=acc, very thick] (n0) at (2.25,1.7) {$1$};\n  \\draw[->, acc, thick] (b3) -- node[left, font=\\footnotesize]{$+c[2][3]$} (n3);\n  \\draw[->, acc, thick] (b0) -- node[right, font=\\footnotesize]{$+c[2][0]$} (n0);\n  \\node[font=\\footnotesize] at (1.125,2.3) {assign a free task};\n\\end{tikzpicture}\n$$\n\nWith base $dp[0] = 0$ and answer $dp[2^n - 1]$, there are $2^n$ states each with\n$n$ transitions: $O(2^n n)$ time, $O(2^n)$ space, a clean factor of $n$ cheaper\nthan Held–Karp because the \"current position\" dimension is replaced by the free\ninformation $\\text{popcount}(\\text{mask})$. **Maximum Students Taking Exam** is a\nrow-by-row variant: the per-row state is a bitmask of seated columns, and a row's\nchoice is constrained by the previous row's mask plus broken seats.\n\n## Subset-sum partitioning over masks\n\n**Partition to K Equal Sum Subsets** asks whether a multiset can be split into\n$k$ groups of equal sum $S = (\\sum a_i)\u002Fk$. Treat the chosen elements as a mask\nand carry just enough to know how the current group is doing.\n\n> **Definition (State).** $dp[\\text{mask}]$ = if the set `mask` of elements can be packed into\n> some whole number of full buckets plus one partial bucket, the value of that\n> partial bucket modulo $S$; otherwise $\\text{mask}$ is infeasible.\n\nConcretely $dp[\\text{mask}]$ stores the _used capacity of the current bucket_,\ndefined when `mask` is reachable. From a reachable `mask` with partial fill\n$r = dp[\\text{mask}]$, we may add any element $i \\notin \\text{mask}$ whose value\n$a_i$ keeps the bucket within $S$:\n\n$$\n\\text{if } r + a_i \\le S:\\quad\ndp\\bigl[\\text{mask} \\mid (1{\\ll}i)\\bigr] \\gets (r + a_i) \\bmod S,\n$$\n\nwhere hitting exactly $S$ rolls over to $0$ and opens a fresh bucket. The whole\nset is partitionable iff $dp[2^n - 1] = 0$ (every bucket closed exactly). This is\n$O(2^n n)$, the same shape as assignment: $2^n$ masks, $n$ candidate elements per\nmask, $O(1)$ feasibility check.\n\n## Submask enumeration and the $3^n$ bound\n\nSome subset DPs need, for each `mask`, to consider every way of **splitting it**\ninto two complementary parts, for instance partitioning a set of cities into\ngroups each served by one route. That requires iterating over all _submasks_ of a\ngiven `mask`. The idiom is:\n\n```algorithm\ncaption: enumerate every submask $\\text{sub} \\subseteq \\text{mask}$\n$\\text{sub} \\gets \\text{mask}$\nwhile $\\text{sub} > 0$ do\n  \u002F\u002F ... use sub and its complement ...\n  $\\text{sub} \\gets (\\text{sub} - 1) \\mathbin{\\&} \\text{mask}$\n\u002F\u002F empty submask 0 handled after loop\n```\n\nSubtracting $1$ from `sub` borrows through its trailing zeros; `& mask` then\nsnaps the result back inside `mask`, so the sequence steps through the submasks\nin strictly decreasing order down to $0$. The cost across _all_ masks is the\nstriking part:\n\n> **Lemma.** $\\sum_{\\text{mask}} (\\text{number of submasks of mask}) = 3^n$.\n\n> **Proof.** A pair $(\\text{mask}, \\text{sub})$ with $\\text{sub} \\subseteq \\text{mask}$\n> assigns each of the $n$ elements to exactly one of three roles: in `sub`, in\n> $\\text{mask} \\setminus \\text{sub}$, or in neither. The choices are independent\n> across elements, so there are $3^n$ such pairs, which is precisely the total\n> number of (mask, submask) iterations. $\\qed$\n\n$$\n% caption: a mask, its submasks via the $(\\text{sub}-1)\\,\\&\\,\\text{mask}$ step, and the three roles each element plays\n\\begin{tikzpicture}[\n  every node\u002F.style={font=\\small},\n  bit\u002F.style={draw, minimum size=6mm, inner sep=1pt, font=\\small},\n  >=stealth]\n  \\definecolor{acc}{HTML}{2348F2}\n  % mask = 1011\n  \\node[font=\\footnotesize] at (-1.5,0) {mask};\n  \\node[bit, fill=acc!15] (m3) at (0,0) {$1$};\n  \\node[bit] (m2) at (0.7,0) {$0$};\n  \\node[bit, fill=acc!15] (m1) at (1.4,0) {$1$};\n  \\node[bit, fill=acc!15] (m0) at (2.1,0) {$1$};\n  % submask chain\n  \\node[font=\\footnotesize] at (-1.5,-1.0) {submasks};\n  \\node (s) at (0,-1.0) {$1011$};\n  \\node at (1.0,-1.0) {$\\to$};\n  \\node at (2.0,-1.0) {$1010$};\n  \\node at (3.0,-1.0) {$\\to$};\n  \\node at (4.0,-1.0) {$1001$};\n  \\node at (5.0,-1.0) {$\\to$};\n  \\node at (6.0,-1.0) {$1000$};\n  \\node at (7.0,-1.0) {$\\to \\cdots \\to$};\n  \\node[acc] at (8.5,-1.0) {$0000$};\n  % step annotation\n  \\node[font=\\footnotesize, acc] at (3.0,-1.9) {$\\text{sub} \\gets (\\text{sub}-1)\\,\\&\\,\\text{mask}$};\n  % three roles\n  \\node[font=\\footnotesize] at (3.0,-2.9)\n    {each element: in $\\text{sub}$, \\ in $\\text{mask}\\setminus\\text{sub}$, \\ or in neither $\\;\\Rightarrow\\; 3^n$};\n\\end{tikzpicture}\n$$\n\nSo a DP that, for every mask, loops over all its submasks runs in $O(3^n)$, not\nthe $O(4^n)$ a naive \"all masks $\\times$ all masks\" bound would suggest. **Find\nthe Shortest Superstring** and **Minimum Cost to Connect Two Groups of Points**\nare submask\u002Fmask DPs of this flavor: the latter builds the answer by, for each\nmask of right-group points, choosing how to cover it given a left point. When the\ntransition is a _sum (or min\u002Fmax) over all submasks of each mask_ with a fixed\ncontribution per submask, there is an even faster $O(2^n n)$ technique, **SOS DP\n(sum over subsets)**, covered in the DP-optimizations lesson, that beats the\n$3^n$ enumeration by sharing work across masks.[^cormen-dp]\n\n## Takeaways\n\n- **Bitmask DP** applies when a subproblem's state is _which subset_ of a small\n  ground set ($n \\le \\sim 20$) has been used; encode the subset as the bits of an\n  integer and index the table by that **mask**, giving $2^n$ states.\n- The core **bit operations** (test `(mask >> i) & 1`, set `mask | (1\u003C\u003Ci)`,\n  clear `mask & ~(1\u003C\u003Ci)`, lowest bit `mask & -mask`, popcount) are all $O(1)$,\n  and iterating masks in increasing order is a valid topological order for\n  subset DPs.\n- **Held–Karp** solves TSP with $dp[\\text{mask}][i]$ = best path visiting `mask`\n  ending at $i$, in $O(2^n n^2)$ time and $O(2^n n)$ space versus $\\Theta(n!)$\n  brute force, and _is_ Shortest Path Visiting All Nodes.\n- **Assignment** and **subset-sum partitioning** use $dp[\\text{mask}]$ alone in\n  $O(2^n n)$, exploiting $\\text{popcount}(\\text{mask})$ to recover the implicit\n  position or bucket state.\n- **Submask enumeration** via `sub = (sub - 1) & mask` iterates every submask of\n  every mask in total $O(3^n)$, because each element is independently in `sub`, in\n  the complement, or in neither.\n\n[^erickson-dp]: **Erickson**, Ch. — Dynamic Programming: exponential subset DPs trade $\\Theta(n!)$ exhaustive search for $O(2^n \\cdot \\text{poly}(n))$ by memoizing over subsets.\n[^cormen-dp]: **CLRS**, Ch. 15 — Dynamic Programming (§15.3): optimal substructure and overlapping subproblems — the two ingredients that justify indexing subproblems by subset masks.\n[^skiena-exhaustive]: **Skiena**, § — Exhaustive Search \u002F Dynamic Programming: bitmask states as the bridge from backtracking over subsets to a polynomial-factor DP, with Held–Karp as the canonical example.\n",{"text":9079,"minutes":9080,"time":9081,"words":9082},"8 min read",7.77,466200,1554,{"title":271,"description":9058},[9085,9087,9090],{"book":9037,"ref":9086},"Ch. 15 — Dynamic Programming",{"book":9088,"ref":9089},"Skiena","§ — Exhaustive Search \u002F Dynamic Programming",{"book":8920,"ref":9091},"Ch. — Dynamic Programming","available","01.algorithms\u002F08.dynamic-programming\u002F08.bitmask-dp",[231],"Raej0utlod4qXg8Srji-skxV4rGurLbVVeByeEtRrHI",{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":9097,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":9098,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":9099,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":9100,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":9101,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":9102,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":9103,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":9104,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":9105,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":9106,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":9107,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":9108,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":9109,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":9110,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":9111,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":9112,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":9113,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":9114,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":9115,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":9116,"\u002Falgorithms\u002Fsequences\u002Ftries":9117,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":9118,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":9119,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":9120,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":9121,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":9122,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":9123,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":9124,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":9125,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":9126,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":9127,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":9128,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":9129,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":9130,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":9131,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":9132,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":9133,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":9134,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":9135,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":9136,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":9137,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":9082,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":9138,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":9139,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":9140,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":9141,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":9142,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":9113,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":9143,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":9144,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":9145,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":9146,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":9129,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":9147,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":9148,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":9109,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":9149,"\u002Falgorithms":9150,"\u002Ftheory-of-computation":9151,"\u002Fcomputer-architecture":9151,"\u002Fphysical-computing":9151,"\u002Fdatabases":9151,"\u002Fdeep-learning":9151},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,1412,1418,1713,1798,1694,1762,1534,1595,1262,1495,1630,2306,2142,107,0,{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":9153,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":9154,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":9155,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":9156,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":9157,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":9158,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":9159,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":9160,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":9161,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":9162,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":9163,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":9164,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":9165,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":9166,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":9167,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":9168,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":9169,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":9170,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":9171,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":9172,"\u002Falgorithms\u002Fsequences\u002Ftries":9173,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":9174,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":9175,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":9176,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":9177,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":9178,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":9179,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":9180,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":9181,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":9182,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":9183,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":9184,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":9185,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":9186,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":9187,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":9188,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":9189,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":9190,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":9191,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":9192,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":9193,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":9194,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":9195,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":9196,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":9197,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":9198,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":9199,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":9200,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":9201,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":9202,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":9203,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":9204,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":9205,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":9206,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":9207,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":9208,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":9209,"\u002Falgorithms":9210,"\u002Ftheory-of-computation":9213,"\u002Fcomputer-architecture":9216,"\u002Fphysical-computing":9219,"\u002Fdatabases":9222,"\u002Fdeep-learning":9225},{"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":9211,"title":9212,"module":376,"summary":376},"\u002Falgorithms","Algorithms",{"path":9214,"title":9215,"module":376,"summary":376},"\u002Ftheory-of-computation","Theory of Computation",{"path":9217,"title":9218,"module":376,"summary":376},"\u002Fcomputer-architecture","Computer Architecture",{"path":9220,"title":9221,"module":376,"summary":376},"\u002Fphysical-computing","Physical Computing",{"path":9223,"title":9224,"module":376,"summary":376},"\u002Fdatabases","Databases",{"path":9226,"title":9227,"module":376,"summary":376},"\u002Fdeep-learning","Deep Learning",1781526658908]