[{"data":1,"prerenderedAt":10319},["ShallowReactive",2],{"nav:algorithms":3,"lesson:\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":374,"course-wordcounts":10187,"ref-card-index":10243},[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":256,"blurb":376,"body":377,"description":10149,"extension":10150,"meta":10151,"module":231,"navigation":10153,"path":257,"practice":10154,"rawbody":10168,"readingTime":10169,"seo":10174,"sources":10175,"status":10183,"stem":10184,"summary":259,"topics":10185,"__hash__":10186},"course\u002F01.algorithms\u002F08.dynamic-programming\u002F05.coin-change-and-unbounded.md","",{"type":378,"value":379,"toc":10138},"minimark",[380,505,548,553,870,873,925,1331,1668,2097,2565,2623,2652,2683,2687,2838,2902,3365,3621,4127,4521,4586,4706,4922,4962,4966,5262,5448,5490,5607,6140,6316,6356,6660,6665,6924,7416,7499,7503,7710,7942,8149,8162,8166,8173,8304,8558,8593,8690,8985,9174,9178,10056,10134],[381,382,383,384,388,389,393,394,398,399,454,455,458,459,475,476,480,481,496,497,500,501,504],"p",{},"The previous lesson solved ",[385,386,387],"a",{"href":252},"0\u002F1 knapsack",", where each item is taken whole or left\nbehind, ",[390,391,392],"em",{},"at most once",". The ",[395,396,397],"q",{},"0\u002F1"," in the name was the include\u002Fexclude bit on\nevery item, and it forced a two-dimensional table ",[400,401,404],"span",{"className":402},[403],"katex",[400,405,409],{"className":406,"ariaHidden":408},[407],"katex-html","true",[400,410,413,418,425,430,434,439,444,449],{"className":411},[412],"base",[400,414],{"className":415,"style":417},[416],"strut","height:1em;vertical-align:-0.25em;",[400,419,424],{"className":420,"style":423},[421,422],"mord","mathnormal","margin-right:0.0715em;","K",[400,426,429],{"className":427},[428],"mopen","(",[400,431,433],{"className":432},[421,422],"i",[400,435,438],{"className":436},[437],"mpunct",",",[400,440],{"className":441,"style":443},[442],"mspace","margin-right:0.1667em;",[400,445,448],{"className":446,"style":447},[421,422],"margin-right:0.0269em;","w",[400,450,453],{"className":451},[452],"mclose",")",": we had to remember\n",[390,456,457],{},"which prefix of items"," was still on the table, because once item ",[400,460,462],{"className":461},[403],[400,463,465],{"className":464,"ariaHidden":408},[407],[400,466,468,472],{"className":467},[412],[400,469],{"className":470,"style":471},[416],"height:0.6595em;",[400,473,433],{"className":474},[421,422]," was used it\ncould not be used again. Now relax exactly that constraint. Let every item be\navailable in ",[477,478,479],"strong",{},"unlimited supply",", so the thief may pack as many copies of item\n",[400,482,484],{"className":483},[403],[400,485,487],{"className":486,"ariaHidden":408},[407],[400,488,490,493],{"className":489},[412],[400,491],{"className":492,"style":471},[416],[400,494,433],{"className":495},[421,422]," as fit. This is the ",[477,498,499],{},"unbounded knapsack problem",", and the single change of\ninfinite copies does something surprising to the ",[385,502,503],{"href":236},"dynamic program",": it erases one\nwhole dimension of the table.",[381,506,507,508,523,524,543,544,547],{},"In 0\u002F1 knapsack the second index ",[400,509,511],{"className":510},[403],[400,512,514],{"className":513,"ariaHidden":408},[407],[400,515,517,520],{"className":516},[412],[400,518],{"className":519,"style":471},[416],[400,521,433],{"className":522},[421,422]," existed to stop us from reusing an\nitem; ",[395,525,526,527,542],{},"have I already taken item ",[400,528,530],{"className":529},[403],[400,531,533],{"className":532,"ariaHidden":408},[407],[400,534,536,539],{"className":535},[412],[400,537],{"className":538,"style":471},[416],[400,540,433],{"className":541},[421,422],"?"," was genuine state. When items may be\nreused without limit, that question is meaningless (the set of available items\nnever shrinks), so the only thing a subproblem needs to remember is ",[477,545,546],{},"how much\ncapacity is left",". One number, one dimension.",[549,550,552],"h2",{"id":551},"unbounded-knapsack-one-dimension-instead-of-two","Unbounded knapsack: one dimension instead of two",[554,555,557],"callout",{"type":556},"problem",[381,558,559,562,563,580,581,712,713,826,827,845,846,849,850,853,854,869],{},[477,560,561],{},"Input:"," ",[400,564,566],{"className":565},[403],[400,567,569],{"className":568,"ariaHidden":408},[407],[400,570,572,576],{"className":571},[412],[400,573],{"className":574,"style":575},[416],"height:0.4306em;",[400,577,579],{"className":578},[421,422],"n"," item types with positive integer weights ",[400,582,584],{"className":583},[403],[400,585,587],{"className":586,"ariaHidden":408},[407],[400,588,590,594,651,654,657,662,665,668,671],{"className":589},[412],[400,591],{"className":592,"style":593},[416],"height:0.625em;vertical-align:-0.1944em;",[400,595,597,600],{"className":596},[421],[400,598,448],{"className":599,"style":447},[421,422],[400,601,604],{"className":602},[603],"msupsub",[400,605,609,642],{"className":606},[607,608],"vlist-t","vlist-t2",[400,610,613,637],{"className":611},[612],"vlist-r",[400,614,618],{"className":615,"style":617},[616],"vlist","height:0.3011em;",[400,619,621,626],{"style":620},"top:-2.55em;margin-left:-0.0269em;margin-right:0.05em;",[400,622],{"className":623,"style":625},[624],"pstrut","height:2.7em;",[400,627,633],{"className":628},[629,630,631,632],"sizing","reset-size6","size3","mtight",[400,634,636],{"className":635},[421,632],"1",[400,638,641],{"className":639},[640],"vlist-s","​",[400,643,645],{"className":644},[612],[400,646,649],{"className":647,"style":648},[616],"height:0.15em;",[400,650],{},[400,652,438],{"className":653},[437],[400,655],{"className":656,"style":443},[442],[400,658,661],{"className":659},[660],"minner","…",[400,663],{"className":664,"style":443},[442],[400,666,438],{"className":667},[437],[400,669],{"className":670,"style":443},[442],[400,672,674,677],{"className":673},[421],[400,675,448],{"className":676,"style":447},[421,422],[400,678,680],{"className":679},[603],[400,681,683,704],{"className":682},[607,608],[400,684,686,701],{"className":685},[612],[400,687,690],{"className":688,"style":689},[616],"height:0.1514em;",[400,691,692,695],{"style":620},[400,693],{"className":694,"style":625},[624],[400,696,698],{"className":697},[629,630,631,632],[400,699,579],{"className":700},[421,422,632],[400,702,641],{"className":703},[640],[400,705,707],{"className":706},[612],[400,708,710],{"className":709,"style":648},[616],[400,711],{}," and\nvalues ",[400,714,716],{"className":715},[403],[400,717,719],{"className":718,"ariaHidden":408},[407],[400,720,722,725,768,771,774,777,780,783,786],{"className":721},[412],[400,723],{"className":724,"style":593},[416],[400,726,728,733],{"className":727},[421],[400,729,732],{"className":730,"style":731},[421,422],"margin-right:0.0359em;","v",[400,734,736],{"className":735},[603],[400,737,739,760],{"className":738},[607,608],[400,740,742,757],{"className":741},[612],[400,743,745],{"className":744,"style":617},[616],[400,746,748,751],{"style":747},"top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;",[400,749],{"className":750,"style":625},[624],[400,752,754],{"className":753},[629,630,631,632],[400,755,636],{"className":756},[421,632],[400,758,641],{"className":759},[640],[400,761,763],{"className":762},[612],[400,764,766],{"className":765,"style":648},[616],[400,767],{},[400,769,438],{"className":770},[437],[400,772],{"className":773,"style":443},[442],[400,775,661],{"className":776},[660],[400,778],{"className":779,"style":443},[442],[400,781,438],{"className":782},[437],[400,784],{"className":785,"style":443},[442],[400,787,789,792],{"className":788},[421],[400,790,732],{"className":791,"style":731},[421,422],[400,793,795],{"className":794},[603],[400,796,798,818],{"className":797},[607,608],[400,799,801,815],{"className":800},[612],[400,802,804],{"className":803,"style":689},[616],[400,805,806,809],{"style":747},[400,807],{"className":808,"style":625},[624],[400,810,812],{"className":811},[629,630,631,632],[400,813,579],{"className":814},[421,422,632],[400,816,641],{"className":817},[640],[400,819,821],{"className":820},[612],[400,822,824],{"className":823,"style":648},[616],[400,825],{},", an integer capacity ",[400,828,830],{"className":829},[403],[400,831,833],{"className":832,"ariaHidden":408},[407],[400,834,836,840],{"className":835},[412],[400,837],{"className":838,"style":839},[416],"height:0.6833em;",[400,841,844],{"className":842,"style":843},[421,422],"margin-right:0.1389em;","W",", and an ",[390,847,848],{},"unlimited"," supply of\neach type.\n",[477,851,852],{},"Output:"," the maximum total value of a multiset of items whose weights sum to\nat most ",[400,855,857],{"className":856},[403],[400,858,860],{"className":859,"ariaHidden":408},[407],[400,861,863,866],{"className":862},[412],[400,864],{"className":865,"style":839},[416],[400,867,844],{"className":868,"style":843},[421,422],".",[381,871,872],{},"Define the subproblem on capacity alone:",[554,874,876],{"type":875},"definition",[381,877,878,881,882,908,909,924],{},[477,879,880],{},"Definition (Knapsack value)."," Let ",[400,883,885],{"className":884},[403],[400,886,888],{"className":887,"ariaHidden":408},[407],[400,889,891,894,897,901,904],{"className":890},[412],[400,892],{"className":893,"style":417},[416],[400,895,424],{"className":896,"style":423},[421,422],[400,898,900],{"className":899},[428],"[",[400,902,448],{"className":903,"style":447},[421,422],[400,905,907],{"className":906},[452],"]"," be the maximum value achievable with weight budget exactly ",[400,910,912],{"className":911},[403],[400,913,915],{"className":914,"ariaHidden":408},[407],[400,916,918,921],{"className":917},[412],[400,919],{"className":920,"style":575},[416],[400,922,448],{"className":923,"style":447},[421,422],", using\nany number of copies of any item type.",[381,926,927,928,952,953,1040,1041,1059,1060,1084,1085,1088,1089,1104,1105,1178,1179,1232,1233,1236,1237,1311,1312,562,1327,1330],{},"The answer is ",[400,929,931],{"className":930},[403],[400,932,934],{"className":933,"ariaHidden":408},[407],[400,935,937,940,943,946,949],{"className":936},[412],[400,938],{"className":939,"style":417},[416],[400,941,424],{"className":942,"style":423},[421,422],[400,944,900],{"className":945},[428],[400,947,844],{"className":948,"style":843},[421,422],[400,950,907],{"className":951},[452]," (or ",[400,954,956],{"className":955},[403],[400,957,959],{"className":958,"ariaHidden":408},[407],[400,960,962,965,1025,1028,1031,1034,1037],{"className":961},[412],[400,963],{"className":964,"style":417},[416],[400,966,969,977],{"className":967},[968],"mop",[400,970,972],{"className":971},[968],[400,973,976],{"className":974},[421,975],"mathrm","max",[400,978,980],{"className":979},[603],[400,981,983,1016],{"className":982},[607,608],[400,984,986,1013],{"className":985},[612],[400,987,990],{"className":988,"style":989},[616],"height:0.3283em;",[400,991,993,996],{"style":992},"top:-2.55em;margin-right:0.05em;",[400,994],{"className":995,"style":625},[624],[400,997,999],{"className":998},[629,630,631,632],[400,1000,1002,1005,1010],{"className":1001},[421,632],[400,1003,448],{"className":1004,"style":447},[421,422,632],[400,1006,1009],{"className":1007},[1008,632],"mrel","≤",[400,1011,844],{"className":1012,"style":843},[421,422,632],[400,1014,641],{"className":1015},[640],[400,1017,1019],{"className":1018},[612],[400,1020,1023],{"className":1021,"style":1022},[616],"height:0.2452em;",[400,1024],{},[400,1026],{"className":1027,"style":443},[442],[400,1029,424],{"className":1030,"style":423},[421,422],[400,1032,900],{"className":1033},[428],[400,1035,448],{"className":1036,"style":447},[421,422],[400,1038,907],{"className":1039},[452]," if we want ",[395,1042,1043,1044],{},"at most ",[400,1045,1047],{"className":1046},[403],[400,1048,1050],{"className":1049,"ariaHidden":408},[407],[400,1051,1053,1056],{"className":1052},[412],[400,1054],{"className":1055,"style":839},[416],[400,1057,844],{"className":1058,"style":843},[421,422],"; padding\nwith a zero-value, weight-one item makes them equal). To fill ",[400,1061,1063],{"className":1062},[403],[400,1064,1066],{"className":1065,"ariaHidden":408},[407],[400,1067,1069,1072,1075,1078,1081],{"className":1068},[412],[400,1070],{"className":1071,"style":417},[416],[400,1073,424],{"className":1074,"style":423},[421,422],[400,1076,900],{"className":1077},[428],[400,1079,448],{"className":1080,"style":447},[421,422],[400,1082,907],{"className":1083},[452],", consider the\n",[477,1086,1087],{},"last item placed"," into the knapsack. It is some type ",[400,1090,1092],{"className":1091},[403],[400,1093,1095],{"className":1094,"ariaHidden":408},[407],[400,1096,1098,1101],{"className":1097},[412],[400,1099],{"className":1100,"style":471},[416],[400,1102,433],{"className":1103},[421,422]," with ",[400,1106,1108],{"className":1107},[403],[400,1109,1111,1169],{"className":1110,"ariaHidden":408},[407],[400,1112,1114,1118,1159,1163,1166],{"className":1113},[412],[400,1115],{"className":1116,"style":1117},[416],"height:0.786em;vertical-align:-0.15em;",[400,1119,1121,1124],{"className":1120},[421],[400,1122,448],{"className":1123,"style":447},[421,422],[400,1125,1127],{"className":1126},[603],[400,1128,1130,1151],{"className":1129},[607,608],[400,1131,1133,1148],{"className":1132},[612],[400,1134,1137],{"className":1135,"style":1136},[616],"height:0.3117em;",[400,1138,1139,1142],{"style":620},[400,1140],{"className":1141,"style":625},[624],[400,1143,1145],{"className":1144},[629,630,631,632],[400,1146,433],{"className":1147},[421,422,632],[400,1149,641],{"className":1150},[640],[400,1152,1154],{"className":1153},[612],[400,1155,1157],{"className":1156,"style":648},[616],[400,1158],{},[400,1160],{"className":1161,"style":1162},[442],"margin-right:0.2778em;",[400,1164,1009],{"className":1165},[1008],[400,1167],{"className":1168,"style":1162},[442],[400,1170,1172,1175],{"className":1171},[412],[400,1173],{"className":1174,"style":575},[416],[400,1176,448],{"className":1177,"style":447},[421,422],"; after\nplacing it we have value ",[400,1180,1182],{"className":1181},[403],[400,1183,1185],{"className":1184,"ariaHidden":408},[407],[400,1186,1188,1192],{"className":1187},[412],[400,1189],{"className":1190,"style":1191},[416],"height:0.5806em;vertical-align:-0.15em;",[400,1193,1195,1198],{"className":1194},[421],[400,1196,732],{"className":1197,"style":731},[421,422],[400,1199,1201],{"className":1200},[603],[400,1202,1204,1224],{"className":1203},[607,608],[400,1205,1207,1221],{"className":1206},[612],[400,1208,1210],{"className":1209,"style":1136},[616],[400,1211,1212,1215],{"style":747},[400,1213],{"className":1214,"style":625},[624],[400,1216,1218],{"className":1217},[629,630,631,632],[400,1219,433],{"className":1220},[421,422,632],[400,1222,641],{"className":1223},[640],[400,1225,1227],{"className":1226},[612],[400,1228,1230],{"className":1229,"style":648},[616],[400,1231],{}," plus the best we can do with the ",[390,1234,1235],{},"remaining"," budget\n",[400,1238,1240],{"className":1239},[403],[400,1241,1243,1265],{"className":1242,"ariaHidden":408},[407],[400,1244,1246,1250,1253,1257,1262],{"className":1245},[412],[400,1247],{"className":1248,"style":1249},[416],"height:0.6667em;vertical-align:-0.0833em;",[400,1251,448],{"className":1252,"style":447},[421,422],[400,1254],{"className":1255,"style":1256},[442],"margin-right:0.2222em;",[400,1258,1261],{"className":1259},[1260],"mbin","−",[400,1263],{"className":1264,"style":1256},[442],[400,1266,1268,1271],{"className":1267},[412],[400,1269],{"className":1270,"style":1191},[416],[400,1272,1274,1277],{"className":1273},[421],[400,1275,448],{"className":1276,"style":447},[421,422],[400,1278,1280],{"className":1279},[603],[400,1281,1283,1303],{"className":1282},[607,608],[400,1284,1286,1300],{"className":1285},[612],[400,1287,1289],{"className":1288,"style":1136},[616],[400,1290,1291,1294],{"style":620},[400,1292],{"className":1293,"style":625},[624],[400,1295,1297],{"className":1296},[629,630,631,632],[400,1298,433],{"className":1299},[421,422,632],[400,1301,641],{"className":1302},[640],[400,1304,1306],{"className":1305},[612],[400,1307,1309],{"className":1308,"style":648},[616],[400,1310],{},", and crucially that remaining budget may use type ",[400,1313,1315],{"className":1314},[403],[400,1316,1318],{"className":1317,"ariaHidden":408},[407],[400,1319,1321,1324],{"className":1320},[412],[400,1322],{"className":1323,"style":471},[416],[400,1325,433],{"className":1326},[421,422],[477,1328,1329],{},"again",":",[400,1332,1335],{"className":1333},[1334],"katex-display",[400,1336,1338],{"className":1337},[403],[400,1339,1341,1369,1546,1570,1657],{"className":1340,"ariaHidden":408},[407],[400,1342,1344,1347,1350,1353,1356,1359,1362,1366],{"className":1343},[412],[400,1345],{"className":1346,"style":417},[416],[400,1348,424],{"className":1349,"style":423},[421,422],[400,1351,900],{"className":1352},[428],[400,1354,448],{"className":1355,"style":447},[421,422],[400,1357,907],{"className":1358},[452],[400,1360],{"className":1361,"style":1162},[442],[400,1363,1365],{"className":1364},[1008],"=",[400,1367],{"className":1368,"style":1162},[442],[400,1370,1372,1376,1485,1489,1496,1536,1539,1543],{"className":1371},[412],[400,1373],{"className":1374,"style":1375},[416],"height:1.2em;vertical-align:-0.35em;",[400,1377,1379,1385],{"className":1378},[968],[400,1380,1382],{"className":1381},[968],[400,1383,976],{"className":1384},[421,975],[400,1386,1388],{"className":1387},[603],[400,1389,1391,1476],{"className":1390},[607,608],[400,1392,1394,1473],{"className":1393},[612],[400,1395,1397],{"className":1396,"style":1136},[616],[400,1398,1399,1402],{"style":992},[400,1400],{"className":1401,"style":625},[624],[400,1403,1405],{"className":1404},[629,630,631,632],[400,1406,1408,1411,1415,1418,1421,1467,1470],{"className":1407},[421,632],[400,1409,433],{"className":1410},[421,422,632],[400,1412],{"className":1413,"style":1414},[442,632],"margin-right:0.1952em;",[400,1416,1330],{"className":1417},[1008,632],[400,1419],{"className":1420,"style":1414},[442,632],[400,1422,1424,1427],{"className":1423},[421,632],[400,1425,448],{"className":1426,"style":447},[421,422,632],[400,1428,1430],{"className":1429},[603],[400,1431,1433,1458],{"className":1432},[607,608],[400,1434,1436,1455],{"className":1435},[612],[400,1437,1440],{"className":1438,"style":1439},[616],"height:0.3281em;",[400,1441,1443,1447],{"style":1442},"top:-2.357em;margin-left:-0.0269em;margin-right:0.0714em;",[400,1444],{"className":1445,"style":1446},[624],"height:2.5em;",[400,1448,1452],{"className":1449},[629,1450,1451,632],"reset-size3","size1",[400,1453,433],{"className":1454},[421,422,632],[400,1456,641],{"className":1457},[640],[400,1459,1461],{"className":1460},[612],[400,1462,1465],{"className":1463,"style":1464},[616],"height:0.143em;",[400,1466],{},[400,1468,1009],{"className":1469},[1008,632],[400,1471,448],{"className":1472,"style":447},[421,422,632],[400,1474,641],{"className":1475},[640],[400,1477,1479],{"className":1478},[612],[400,1480,1483],{"className":1481,"style":1482},[616],"height:0.2501em;",[400,1484],{},[400,1486,1488],{"className":1487},[442]," ",[400,1490,1492],{"className":1491},[428],[400,1493,429],{"className":1494},[1495,1451],"delimsizing",[400,1497,1499,1502],{"className":1498},[421],[400,1500,732],{"className":1501,"style":731},[421,422],[400,1503,1505],{"className":1504},[603],[400,1506,1508,1528],{"className":1507},[607,608],[400,1509,1511,1525],{"className":1510},[612],[400,1512,1514],{"className":1513,"style":1136},[616],[400,1515,1516,1519],{"style":747},[400,1517],{"className":1518,"style":625},[624],[400,1520,1522],{"className":1521},[629,630,631,632],[400,1523,433],{"className":1524},[421,422,632],[400,1526,641],{"className":1527},[640],[400,1529,1531],{"className":1530},[612],[400,1532,1534],{"className":1533,"style":648},[616],[400,1535],{},[400,1537],{"className":1538,"style":1256},[442],[400,1540,1542],{"className":1541},[1260],"+",[400,1544],{"className":1545,"style":1256},[442],[400,1547,1549,1552,1555,1558,1561,1564,1567],{"className":1548},[412],[400,1550],{"className":1551,"style":417},[416],[400,1553,424],{"className":1554,"style":423},[421,422],[400,1556,900],{"className":1557},[428],[400,1559,448],{"className":1560,"style":447},[421,422],[400,1562],{"className":1563,"style":1256},[442],[400,1565,1261],{"className":1566},[1260],[400,1568],{"className":1569,"style":1256},[442],[400,1571,1573,1576,1616,1619,1625,1628,1632,1635,1638,1641,1645,1648,1651,1654],{"className":1572},[412],[400,1574],{"className":1575,"style":1375},[416],[400,1577,1579,1582],{"className":1578},[421],[400,1580,448],{"className":1581,"style":447},[421,422],[400,1583,1585],{"className":1584},[603],[400,1586,1588,1608],{"className":1587},[607,608],[400,1589,1591,1605],{"className":1590},[612],[400,1592,1594],{"className":1593,"style":1136},[616],[400,1595,1596,1599],{"style":620},[400,1597],{"className":1598,"style":625},[624],[400,1600,1602],{"className":1601},[629,630,631,632],[400,1603,433],{"className":1604},[421,422,632],[400,1606,641],{"className":1607},[640],[400,1609,1611],{"className":1610},[612],[400,1612,1614],{"className":1613,"style":648},[616],[400,1615],{},[400,1617,907],{"className":1618},[452],[400,1620,1622],{"className":1621},[452],[400,1623,453],{"className":1624},[1495,1451],[400,1626,438],{"className":1627},[437],[400,1629],{"className":1630,"style":1631},[442],"margin-right:2em;",[400,1633],{"className":1634,"style":443},[442],[400,1636,424],{"className":1637,"style":423},[421,422],[400,1639,900],{"className":1640},[428],[400,1642,1644],{"className":1643},[421],"0",[400,1646,907],{"className":1647},[452],[400,1649],{"className":1650,"style":1162},[442],[400,1652,1365],{"className":1653},[1008],[400,1655],{"className":1656,"style":1162},[442],[400,1658,1660,1664],{"className":1659},[412],[400,1661],{"className":1662,"style":1663},[416],"height:0.6444em;",[400,1665,1667],{"className":1666},[421],"0.",[381,1669,1670,1671,1899,1900,1952,1953,562,1968,1971,1972,2051,2052,562,2055,2070,2071,562,2086,2089,2090,2093,2094],{},"Stare at the right-hand side and compare it to 0\u002F1 knapsack's\n",[400,1672,1674],{"className":1673},[403],[400,1675,1677,1713,1792,1816,1844],{"className":1676,"ariaHidden":408},[407],[400,1678,1680,1683,1689,1695,1698,1701,1704,1707,1710],{"className":1679},[412],[400,1681],{"className":1682,"style":1375},[416],[400,1684,1686],{"className":1685},[968],[400,1687,976],{"className":1688},[421,975],[400,1690,1692],{"className":1691},[428],[400,1693,429],{"className":1694},[1495,1451],[400,1696,424],{"className":1697,"style":423},[421,422],[400,1699,429],{"className":1700},[428],[400,1702,433],{"className":1703},[421,422],[400,1705],{"className":1706,"style":1256},[442],[400,1708,1261],{"className":1709},[1260],[400,1711],{"className":1712,"style":1256},[442],[400,1714,1716,1719,1722,1725,1728,1731,1734,1737,1740,1743,1783,1786,1789],{"className":1715},[412],[400,1717],{"className":1718,"style":417},[416],[400,1720,636],{"className":1721},[421],[400,1723,438],{"className":1724},[437],[400,1726],{"className":1727,"style":443},[442],[400,1729,448],{"className":1730,"style":447},[421,422],[400,1732,453],{"className":1733},[452],[400,1735,438],{"className":1736},[437],[400,1738,1488],{"className":1739},[442],[400,1741],{"className":1742,"style":443},[442],[400,1744,1746,1749],{"className":1745},[421],[400,1747,732],{"className":1748,"style":731},[421,422],[400,1750,1752],{"className":1751},[603],[400,1753,1755,1775],{"className":1754},[607,608],[400,1756,1758,1772],{"className":1757},[612],[400,1759,1761],{"className":1760,"style":1136},[616],[400,1762,1763,1766],{"style":747},[400,1764],{"className":1765,"style":625},[624],[400,1767,1769],{"className":1768},[629,630,631,632],[400,1770,433],{"className":1771},[421,422,632],[400,1773,641],{"className":1774},[640],[400,1776,1778],{"className":1777},[612],[400,1779,1781],{"className":1780,"style":648},[616],[400,1782],{},[400,1784],{"className":1785,"style":1256},[442],[400,1787,1542],{"className":1788},[1260],[400,1790],{"className":1791,"style":1256},[442],[400,1793,1795,1798,1801,1804,1807,1810,1813],{"className":1794},[412],[400,1796],{"className":1797,"style":417},[416],[400,1799,424],{"className":1800,"style":423},[421,422],[400,1802,429],{"className":1803},[428],[400,1805,433],{"className":1806},[421,422],[400,1808],{"className":1809,"style":1256},[442],[400,1811,1261],{"className":1812},[1260],[400,1814],{"className":1815,"style":1256},[442],[400,1817,1819,1823,1826,1829,1832,1835,1838,1841],{"className":1818},[412],[400,1820],{"className":1821,"style":1822},[416],"height:0.8389em;vertical-align:-0.1944em;",[400,1824,636],{"className":1825},[421],[400,1827,438],{"className":1828},[437],[400,1830],{"className":1831,"style":443},[442],[400,1833,448],{"className":1834,"style":447},[421,422],[400,1836],{"className":1837,"style":1256},[442],[400,1839,1261],{"className":1840},[1260],[400,1842],{"className":1843,"style":1256},[442],[400,1845,1847,1850,1890,1893],{"className":1846},[412],[400,1848],{"className":1849,"style":1375},[416],[400,1851,1853,1856],{"className":1852},[421],[400,1854,448],{"className":1855,"style":447},[421,422],[400,1857,1859],{"className":1858},[603],[400,1860,1862,1882],{"className":1861},[607,608],[400,1863,1865,1879],{"className":1864},[612],[400,1866,1868],{"className":1867,"style":1136},[616],[400,1869,1870,1873],{"style":620},[400,1871],{"className":1872,"style":625},[624],[400,1874,1876],{"className":1875},[629,630,631,632],[400,1877,433],{"className":1878},[421,422,632],[400,1880,641],{"className":1881},[640],[400,1883,1885],{"className":1884},[612],[400,1886,1888],{"className":1887,"style":648},[616],[400,1889],{},[400,1891,453],{"className":1892},[452],[400,1894,1896],{"className":1895},[452],[400,1897,453],{"className":1898},[1495,1451],". There the include branch read\n",[400,1901,1903],{"className":1902},[403],[400,1904,1906,1930],{"className":1905,"ariaHidden":408},[407],[400,1907,1909,1912,1915,1918,1921,1924,1927],{"className":1908},[412],[400,1910],{"className":1911,"style":417},[416],[400,1913,424],{"className":1914,"style":423},[421,422],[400,1916,429],{"className":1917},[428],[400,1919,433],{"className":1920},[421,422],[400,1922],{"className":1923,"style":1256},[442],[400,1925,1261],{"className":1926},[1260],[400,1928],{"className":1929,"style":1256},[442],[400,1931,1933,1936,1939,1942,1945,1949],{"className":1932},[412],[400,1934],{"className":1935,"style":417},[416],[400,1937,636],{"className":1938},[421],[400,1940,438],{"className":1941},[437],[400,1943],{"className":1944,"style":443},[442],[400,1946,1948],{"className":1947},[421],"⋅",[400,1950,453],{"className":1951},[452],", the previous row, item ",[400,1954,1956],{"className":1955},[403],[400,1957,1959],{"className":1958,"ariaHidden":408},[407],[400,1960,1962,1965],{"className":1961},[412],[400,1963],{"className":1964,"style":471},[416],[400,1966,433],{"className":1967},[421,422],[390,1969,1970],{},"removed from the pool",". Here the\ninclude branch reads ",[400,1973,1975],{"className":1974},[403],[400,1976,1978,2002],{"className":1977,"ariaHidden":408},[407],[400,1979,1981,1984,1987,1990,1993,1996,1999],{"className":1980},[412],[400,1982],{"className":1983,"style":417},[416],[400,1985,424],{"className":1986,"style":423},[421,422],[400,1988,900],{"className":1989},[428],[400,1991,448],{"className":1992,"style":447},[421,422],[400,1994],{"className":1995,"style":1256},[442],[400,1997,1261],{"className":1998},[1260],[400,2000],{"className":2001,"style":1256},[442],[400,2003,2005,2008,2048],{"className":2004},[412],[400,2006],{"className":2007,"style":417},[416],[400,2009,2011,2014],{"className":2010},[421],[400,2012,448],{"className":2013,"style":447},[421,422],[400,2015,2017],{"className":2016},[603],[400,2018,2020,2040],{"className":2019},[607,608],[400,2021,2023,2037],{"className":2022},[612],[400,2024,2026],{"className":2025,"style":1136},[616],[400,2027,2028,2031],{"style":620},[400,2029],{"className":2030,"style":625},[624],[400,2032,2034],{"className":2033},[629,630,631,632],[400,2035,433],{"className":2036},[421,422,632],[400,2038,641],{"className":2039},[640],[400,2041,2043],{"className":2042},[612],[400,2044,2046],{"className":2045,"style":648},[616],[400,2047],{},[400,2049,907],{"className":2050},[452],", the ",[477,2053,2054],{},"same",[400,2056,2058],{"className":2057},[403],[400,2059,2061],{"className":2060,"ariaHidden":408},[407],[400,2062,2064,2067],{"className":2063},[412],[400,2065],{"className":2066,"style":839},[416],[400,2068,424],{"className":2069,"style":423},[421,422],", item ",[400,2072,2074],{"className":2073},[403],[400,2075,2077],{"className":2076,"ariaHidden":408},[407],[400,2078,2080,2083],{"className":2079},[412],[400,2081],{"className":2082,"style":471},[416],[400,2084,433],{"className":2085},[421,422],[390,2087,2088],{},"still in the pool",".\nThat one difference is the whole distinction between ",[395,2091,2092],{},"use once"," and ",[395,2095,2096],{},"use any number of times.",[554,2098,2100],{"type":2099},"remark",[381,2101,2102,2105,2106,2130,2131,2134,2135,2190,2191,2270,2271,2274,2275,2278,2279,2294,2295,2374,2375,2390,2391,2134,2394,2448,2449,2464,2465,2544,2545,2548,2549,2564],{},[477,2103,2104],{},"Remark (Why the loop order differs from 0\u002F1 knapsack)."," In the space-optimized 0\u002F1\nversion we kept a single array ",[400,2107,2109],{"className":2108},[403],[400,2110,2112],{"className":2111,"ariaHidden":408},[407],[400,2113,2115,2118,2121,2124,2127],{"className":2114},[412],[400,2116],{"className":2117,"style":417},[416],[400,2119,424],{"className":2120,"style":423},[421,422],[400,2122,900],{"className":2123},[428],[400,2125,1948],{"className":2126},[421],[400,2128,907],{"className":2129},[452]," and swept the budget ",[390,2132,2133],{},"downward","\n(",[400,2136,2138],{"className":2137},[403],[400,2139,2141,2159],{"className":2140,"ariaHidden":408},[407],[400,2142,2144,2147,2150,2153,2156],{"className":2143},[412],[400,2145],{"className":2146,"style":575},[416],[400,2148,448],{"className":2149,"style":447},[421,422],[400,2151],{"className":2152,"style":1162},[442],[400,2154,1365],{"className":2155},[1008],[400,2157],{"className":2158,"style":1162},[442],[400,2160,2162,2166,2169,2172,2175,2178,2181,2184,2187],{"className":2161},[412],[400,2163],{"className":2164,"style":2165},[416],"height:0.8778em;vertical-align:-0.1944em;",[400,2167,844],{"className":2168,"style":843},[421,422],[400,2170,438],{"className":2171},[437],[400,2173],{"className":2174,"style":443},[442],[400,2176,661],{"className":2177},[660],[400,2179],{"className":2180,"style":443},[442],[400,2182,438],{"className":2183},[437],[400,2185],{"className":2186,"style":443},[442],[400,2188,1644],{"className":2189},[421],") precisely so that ",[400,2192,2194],{"className":2193},[403],[400,2195,2197,2221],{"className":2196,"ariaHidden":408},[407],[400,2198,2200,2203,2206,2209,2212,2215,2218],{"className":2199},[412],[400,2201],{"className":2202,"style":417},[416],[400,2204,424],{"className":2205,"style":423},[421,422],[400,2207,900],{"className":2208},[428],[400,2210,448],{"className":2211,"style":447},[421,422],[400,2213],{"className":2214,"style":1256},[442],[400,2216,1261],{"className":2217},[1260],[400,2219],{"className":2220,"style":1256},[442],[400,2222,2224,2227,2267],{"className":2223},[412],[400,2225],{"className":2226,"style":417},[416],[400,2228,2230,2233],{"className":2229},[421],[400,2231,448],{"className":2232,"style":447},[421,422],[400,2234,2236],{"className":2235},[603],[400,2237,2239,2259],{"className":2238},[607,608],[400,2240,2242,2256],{"className":2241},[612],[400,2243,2245],{"className":2244,"style":1136},[616],[400,2246,2247,2250],{"style":620},[400,2248],{"className":2249,"style":625},[624],[400,2251,2253],{"className":2252},[629,630,631,632],[400,2254,433],{"className":2255},[421,422,632],[400,2257,641],{"className":2258},[640],[400,2260,2262],{"className":2261},[612],[400,2263,2265],{"className":2264,"style":648},[616],[400,2266],{},[400,2268,907],{"className":2269},[452]," still held the ",[390,2272,2273],{},"previous","\nrow's value, the value ",[390,2276,2277],{},"before"," item ",[400,2280,2282],{"className":2281},[403],[400,2283,2285],{"className":2284,"ariaHidden":408},[407],[400,2286,2288,2291],{"className":2287},[412],[400,2289],{"className":2290,"style":471},[416],[400,2292,433],{"className":2293},[421,422]," was available, guaranteeing each item\nwas used at most once. For unbounded knapsack we want the opposite: ",[400,2296,2298],{"className":2297},[403],[400,2299,2301,2325],{"className":2300,"ariaHidden":408},[407],[400,2302,2304,2307,2310,2313,2316,2319,2322],{"className":2303},[412],[400,2305],{"className":2306,"style":417},[416],[400,2308,424],{"className":2309,"style":423},[421,422],[400,2311,900],{"className":2312},[428],[400,2314,448],{"className":2315,"style":447},[421,422],[400,2317],{"className":2318,"style":1256},[442],[400,2320,1261],{"className":2321},[1260],[400,2323],{"className":2324,"style":1256},[442],[400,2326,2328,2331,2371],{"className":2327},[412],[400,2329],{"className":2330,"style":417},[416],[400,2332,2334,2337],{"className":2333},[421],[400,2335,448],{"className":2336,"style":447},[421,422],[400,2338,2340],{"className":2339},[603],[400,2341,2343,2363],{"className":2342},[607,608],[400,2344,2346,2360],{"className":2345},[612],[400,2347,2349],{"className":2348,"style":1136},[616],[400,2350,2351,2354],{"style":620},[400,2352],{"className":2353,"style":625},[624],[400,2355,2357],{"className":2356},[629,630,631,632],[400,2358,433],{"className":2359},[421,422,632],[400,2361,641],{"className":2362},[640],[400,2364,2366],{"className":2365},[612],[400,2367,2369],{"className":2368,"style":648},[616],[400,2370],{},[400,2372,907],{"className":2373},[452],"\nshould already reflect item ",[400,2376,2378],{"className":2377},[403],[400,2379,2381],{"className":2380,"ariaHidden":408},[407],[400,2382,2384,2387],{"className":2383},[412],[400,2385],{"className":2386,"style":471},[416],[400,2388,433],{"className":2389},[421,422]," being usable. So we sweep the budget ",[390,2392,2393],{},"upward",[400,2395,2397],{"className":2396},[403],[400,2398,2400,2418],{"className":2399,"ariaHidden":408},[407],[400,2401,2403,2406,2409,2412,2415],{"className":2402},[412],[400,2404],{"className":2405,"style":575},[416],[400,2407,448],{"className":2408,"style":447},[421,422],[400,2410],{"className":2411,"style":1162},[442],[400,2413,1365],{"className":2414},[1008],[400,2416],{"className":2417,"style":1162},[442],[400,2419,2421,2424,2427,2430,2433,2436,2439,2442,2445],{"className":2420},[412],[400,2422],{"className":2423,"style":2165},[416],[400,2425,1644],{"className":2426},[421],[400,2428,438],{"className":2429},[437],[400,2431],{"className":2432,"style":443},[442],[400,2434,661],{"className":2435},[660],[400,2437],{"className":2438,"style":443},[442],[400,2440,438],{"className":2441},[437],[400,2443],{"className":2444,"style":443},[442],[400,2446,844],{"className":2447,"style":843},[421,422],"); by the time we reach ",[400,2450,2452],{"className":2451},[403],[400,2453,2455],{"className":2454,"ariaHidden":408},[407],[400,2456,2458,2461],{"className":2457},[412],[400,2459],{"className":2460,"style":575},[416],[400,2462,448],{"className":2463,"style":447},[421,422],", the cell ",[400,2466,2468],{"className":2467},[403],[400,2469,2471,2495],{"className":2470,"ariaHidden":408},[407],[400,2472,2474,2477,2480,2483,2486,2489,2492],{"className":2473},[412],[400,2475],{"className":2476,"style":417},[416],[400,2478,424],{"className":2479,"style":423},[421,422],[400,2481,900],{"className":2482},[428],[400,2484,448],{"className":2485,"style":447},[421,422],[400,2487],{"className":2488,"style":1256},[442],[400,2490,1261],{"className":2491},[1260],[400,2493],{"className":2494,"style":1256},[442],[400,2496,2498,2501,2541],{"className":2497},[412],[400,2499],{"className":2500,"style":417},[416],[400,2502,2504,2507],{"className":2503},[421],[400,2505,448],{"className":2506,"style":447},[421,422],[400,2508,2510],{"className":2509},[603],[400,2511,2513,2533],{"className":2512},[607,608],[400,2514,2516,2530],{"className":2515},[612],[400,2517,2519],{"className":2518,"style":1136},[616],[400,2520,2521,2524],{"style":620},[400,2522],{"className":2523,"style":625},[624],[400,2525,2527],{"className":2526},[629,630,631,632],[400,2528,433],{"className":2529},[421,422,632],[400,2531,641],{"className":2532},[640],[400,2534,2536],{"className":2535},[612],[400,2537,2539],{"className":2538,"style":648},[616],[400,2540],{},[400,2542,907],{"className":2543},[452]," has already\nbeen updated ",[390,2546,2547],{},"in this same pass"," and may itself contain a copy of item ",[400,2550,2552],{"className":2551},[403],[400,2553,2555],{"className":2554,"ariaHidden":408},[407],[400,2556,2558,2561],{"className":2557},[412],[400,2559],{"className":2560,"style":471},[416],[400,2562,433],{"className":2563},[421,422],".\nAscending weight is what permits reuse.",[381,2566,2567,2568,2571,2572,2606,2607,2622],{},"Because the available-item set never changes, the item loop and the weight loop\nmay be nested in either order; there is no ",[395,2569,2570],{},"previous row"," to respect, only the\nascending-weight rule. We fill ",[400,2573,2575],{"className":2574},[403],[400,2576,2578,2597],{"className":2577,"ariaHidden":408},[407],[400,2579,2581,2585,2588,2591,2594],{"className":2580},[412],[400,2582],{"className":2583,"style":2584},[416],"height:0.7667em;vertical-align:-0.0833em;",[400,2586,844],{"className":2587,"style":843},[421,422],[400,2589],{"className":2590,"style":1256},[442],[400,2592,1542],{"className":2593},[1260],[400,2595],{"className":2596,"style":1256},[442],[400,2598,2600,2603],{"className":2599},[412],[400,2601],{"className":2602,"style":1663},[416],[400,2604,636],{"className":2605},[421]," cells, each scanning up to ",[400,2608,2610],{"className":2609},[403],[400,2611,2613],{"className":2612,"ariaHidden":408},[407],[400,2614,2616,2619],{"className":2615},[412],[400,2617],{"className":2618,"style":575},[416],[400,2620,579],{"className":2621},[421,422]," items:",[400,2624,2626],{"className":2625},[1334],[400,2627,2629],{"className":2628},[403],[400,2630,2632],{"className":2631,"ariaHidden":408},[407],[400,2633,2635,2638,2642,2645,2649],{"className":2634},[412],[400,2636],{"className":2637,"style":417},[416],[400,2639,2641],{"className":2640},[421],"Θ",[400,2643,429],{"className":2644},[428],[400,2646,2648],{"className":2647,"style":843},[421,422],"nW",[400,2650,453],{"className":2651},[452],[381,2653,2654,2655,562,2679,2682],{},"time, the same as 0\u002F1 knapsack, but in ",[400,2656,2658],{"className":2657},[403],[400,2659,2661],{"className":2660,"ariaHidden":408},[407],[400,2662,2664,2667,2670,2673,2676],{"className":2663},[412],[400,2665],{"className":2666,"style":417},[416],[400,2668,2641],{"className":2669},[421],[400,2671,429],{"className":2672},[428],[400,2674,844],{"className":2675,"style":843},[421,422],[400,2677,453],{"className":2678},[452],[477,2680,2681],{},"space",": one array, no second\ndimension to collapse.",[549,2684,2686],{"id":2685},"coin-change-minimum-coins","Coin change — minimum coins",[381,2688,2689,2690,2802,2803,2819,2820],{},"The cleanest instance of unbounded knapsack strips the values away, just as\nsubset-sum stripped them from 0\u002F1 knapsack. Fix a set of coin denominations\n",[400,2691,2693],{"className":2692},[403],[400,2694,2696],{"className":2695,"ariaHidden":408},[407],[400,2697,2699,2702,2744,2747,2750,2753,2756,2759,2762],{"className":2698},[412],[400,2700],{"className":2701,"style":593},[416],[400,2703,2705,2709],{"className":2704},[421],[400,2706,2708],{"className":2707},[421,422],"c",[400,2710,2712],{"className":2711},[603],[400,2713,2715,2736],{"className":2714},[607,608],[400,2716,2718,2733],{"className":2717},[612],[400,2719,2721],{"className":2720,"style":617},[616],[400,2722,2724,2727],{"style":2723},"top:-2.55em;margin-left:0em;margin-right:0.05em;",[400,2725],{"className":2726,"style":625},[624],[400,2728,2730],{"className":2729},[629,630,631,632],[400,2731,636],{"className":2732},[421,632],[400,2734,641],{"className":2735},[640],[400,2737,2739],{"className":2738},[612],[400,2740,2742],{"className":2741,"style":648},[616],[400,2743],{},[400,2745,438],{"className":2746},[437],[400,2748],{"className":2749,"style":443},[442],[400,2751,661],{"className":2752},[660],[400,2754],{"className":2755,"style":443},[442],[400,2757,438],{"className":2758},[437],[400,2760],{"className":2761,"style":443},[442],[400,2763,2765,2768],{"className":2764},[421],[400,2766,2708],{"className":2767},[421,422],[400,2769,2771],{"className":2770},[603],[400,2772,2774,2794],{"className":2773},[607,608],[400,2775,2777,2791],{"className":2776},[612],[400,2778,2780],{"className":2779,"style":689},[616],[400,2781,2782,2785],{"style":2723},[400,2783],{"className":2784,"style":625},[624],[400,2786,2788],{"className":2787},[629,630,631,632],[400,2789,579],{"className":2790},[421,422,632],[400,2792,641],{"className":2793},[640],[400,2795,2797],{"className":2796},[612],[400,2798,2800],{"className":2799,"style":648},[616],[400,2801],{},", available in unlimited supply, and an amount ",[400,2804,2806],{"className":2805},[403],[400,2807,2809],{"className":2808,"ariaHidden":408},[407],[400,2810,2812,2815],{"className":2811},[412],[400,2813],{"className":2814,"style":839},[416],[400,2816,2818],{"className":2817},[421,422],"A",". Ask: ",[477,2821,2822,2823,542],{},"what is\nthe fewest coins that sum to exactly ",[400,2824,2826],{"className":2825},[403],[400,2827,2829],{"className":2828,"ariaHidden":408},[407],[400,2830,2832,2835],{"className":2831},[412],[400,2833],{"className":2834,"style":839},[416],[400,2836,2818],{"className":2837},[421,422],[381,2839,2840,2841,2856,2857,2860,2861,2886,2887,1330],{},"This is unbounded knapsack with every item's value set to ",[400,2842,2844],{"className":2843},[403],[400,2845,2847],{"className":2846,"ariaHidden":408},[407],[400,2848,2850,2853],{"className":2849},[412],[400,2851],{"className":2852,"style":1663},[416],[400,2854,636],{"className":2855},[421]," (one coin) and the\nobjective flipped to ",[390,2858,2859],{},"minimize",": we want the smallest count, not the largest\nvalue. Let ",[400,2862,2864],{"className":2863},[403],[400,2865,2867],{"className":2866,"ariaHidden":408},[407],[400,2868,2870,2873,2877,2880,2883],{"className":2869},[412],[400,2871],{"className":2872,"style":417},[416],[400,2874,2876],{"className":2875,"style":423},[421,422],"C",[400,2878,900],{"className":2879},[428],[400,2881,385],{"className":2882},[421,422],[400,2884,907],{"className":2885},[452]," be the minimum number of coins summing to amount ",[400,2888,2890],{"className":2889},[403],[400,2891,2893],{"className":2892,"ariaHidden":408},[407],[400,2894,2896,2899],{"className":2895},[412],[400,2897],{"className":2898,"style":575},[416],[400,2900,385],{"className":2901},[421,422],[400,2903,2905],{"className":2904},[1334],[400,2906,2908],{"className":2907},[403],[400,2909,2911,2938],{"className":2910,"ariaHidden":408},[407],[400,2912,2914,2917,2920,2923,2926,2929,2932,2935],{"className":2913},[412],[400,2915],{"className":2916,"style":417},[416],[400,2918,2876],{"className":2919,"style":423},[421,422],[400,2921,900],{"className":2922},[428],[400,2924,385],{"className":2925},[421,422],[400,2927,907],{"className":2928},[452],[400,2930],{"className":2931,"style":1162},[442],[400,2933,1365],{"className":2934},[1008],[400,2936],{"className":2937,"style":1162},[442],[400,2939,2941,2945],{"className":2940},[412],[400,2942],{"className":2943,"style":2944},[416],"height:4.92em;vertical-align:-2.21em;",[400,2946,2948,3050,3361],{"className":2947},[660],[400,2949,2951],{"className":2950},[428],[400,2952,2955],{"className":2953},[1495,2954],"mult",[400,2956,2958,3041],{"className":2957},[607,608],[400,2959,2961,3038],{"className":2960},[612],[400,2962,2965,2980,3002,3014,3026],{"className":2963,"style":2964},[616],"height:2.65em;",[400,2966,2968,2972],{"style":2967},"top:-1.9em;",[400,2969],{"className":2970,"style":2971},[624],"height:3.15em;",[400,2973,2977],{"className":2974},[2975,2976],"delimsizinginner","delim-size4",[400,2978,2979],{},"⎩",[400,2981,2983,2986],{"style":2982},"top:-1.892em;",[400,2984],{"className":2985,"style":2971},[624],[400,2987,2989],{"style":2988},"height:0.616em;width:0.8889em;",[2990,2991,2998],"svg",{"xmlns":2992,"width":2993,"height":2994,"style":2995,"viewBox":2996,"preserveAspectRatio":2997},"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg","0.8889em","0.616em","width:0.8889em","0 0 888.89 616","xMinYMin",[2999,3000],"path",{"d":3001},"M384 0 H504 V616 H384z M384 0 H504 V616 H384z",[400,3003,3005,3008],{"style":3004},"top:-3.15em;",[400,3006],{"className":3007,"style":2971},[624],[400,3009,3011],{"className":3010},[2975,2976],[400,3012,3013],{},"⎨",[400,3015,3017,3020],{"style":3016},"top:-4.292em;",[400,3018],{"className":3019,"style":2971},[624],[400,3021,3022],{"style":2988},[2990,3023,3024],{"xmlns":2992,"width":2993,"height":2994,"style":2995,"viewBox":2996,"preserveAspectRatio":2997},[2999,3025],{"d":3001},[400,3027,3029,3032],{"style":3028},"top:-4.9em;",[400,3030],{"className":3031,"style":2971},[624],[400,3033,3035],{"className":3034},[2975,2976],[400,3036,3037],{},"⎧",[400,3039,641],{"className":3040},[640],[400,3042,3044],{"className":3043},[612],[400,3045,3048],{"className":3046,"style":3047},[616],"height:2.15em;",[400,3049],{},[400,3051,3053],{"className":3052},[421],[400,3054,3057,3229,3234],{"className":3055},[3056],"mtable",[400,3058,3061],{"className":3059},[3060],"col-align-l",[400,3062,3064,3220],{"className":3063},[607,608],[400,3065,3067,3217],{"className":3066},[612],[400,3068,3071,3084,3201],{"className":3069,"style":3070},[616],"height:2.71em;",[400,3072,3074,3078],{"style":3073},"top:-4.71em;",[400,3075],{"className":3076,"style":3077},[624],"height:3.008em;",[400,3079,3081],{"className":3080},[421],[400,3082,1644],{"className":3083},[421],[400,3085,3087,3090],{"style":3086},"top:-2.97em;",[400,3088],{"className":3089,"style":3077},[624],[400,3091,3093,3096,3099,3102,3105,3171,3174,3177,3180,3183,3186,3189,3192,3195,3198],{"className":3092},[421],[400,3094,636],{"className":3095},[421],[400,3097],{"className":3098,"style":1256},[442],[400,3100,1542],{"className":3101},[1260],[400,3103],{"className":3104,"style":1256},[442],[400,3106,3108,3115],{"className":3107},[968],[400,3109,3111],{"className":3110},[968],[400,3112,3114],{"className":3113},[421,975],"min",[400,3116,3118],{"className":3117},[603],[400,3119,3121,3163],{"className":3120},[607,608],[400,3122,3124,3160],{"className":3123},[612],[400,3125,3128],{"className":3126,"style":3127},[616],"height:0.2952em;",[400,3129,3130,3133],{"style":992},[400,3131],{"className":3132,"style":625},[624],[400,3134,3136],{"className":3135},[629,630,631,632],[400,3137,3139,3142,3145,3148,3151,3154,3157],{"className":3138},[421,632],[400,3140,2708],{"className":3141},[421,422,632],[400,3143],{"className":3144,"style":1414},[442,632],[400,3146,1330],{"className":3147},[1008,632],[400,3149],{"className":3150,"style":1414},[442,632],[400,3152,2708],{"className":3153},[421,422,632],[400,3155,1009],{"className":3156},[1008,632],[400,3158,385],{"className":3159},[421,422,632],[400,3161,641],{"className":3162},[640],[400,3164,3166],{"className":3165},[612],[400,3167,3169],{"className":3168,"style":1022},[616],[400,3170],{},[400,3172,1488],{"className":3173},[442],[400,3175],{"className":3176,"style":443},[442],[400,3178,2876],{"className":3179,"style":423},[421,422],[400,3181,900],{"className":3182},[428],[400,3184,385],{"className":3185},[421,422],[400,3187],{"className":3188,"style":1256},[442],[400,3190,1261],{"className":3191},[1260],[400,3193],{"className":3194,"style":1256},[442],[400,3196,2708],{"className":3197},[421,422],[400,3199,907],{"className":3200},[452],[400,3202,3204,3207],{"style":3203},"top:-1.23em;",[400,3205],{"className":3206,"style":3077},[624],[400,3208,3210,3213],{"className":3209},[421],[400,3211,1542],{"className":3212},[421],[400,3214,3216],{"className":3215},[421],"∞",[400,3218,641],{"className":3219},[640],[400,3221,3223],{"className":3222},[612],[400,3224,3227],{"className":3225,"style":3226},[616],"height:2.21em;",[400,3228],{},[400,3230],{"className":3231,"style":3233},[3232],"arraycolsep","width:1em;",[400,3235,3237],{"className":3236},[3060],[400,3238,3240,3353],{"className":3239},[607,608],[400,3241,3243,3350],{"className":3242},[612],[400,3244,3246,3280,3313],{"className":3245,"style":3070},[616],[400,3247,3248,3251],{"style":3073},[400,3249],{"className":3250,"style":3077},[624],[400,3252,3254,3262,3265,3268,3271,3274,3277],{"className":3253},[421],[400,3255,3258],{"className":3256},[421,3257],"text",[400,3259,3261],{"className":3260},[421],"if ",[400,3263,385],{"className":3264},[421,422],[400,3266],{"className":3267,"style":1162},[442],[400,3269,1365],{"className":3270},[1008],[400,3272],{"className":3273,"style":1162},[442],[400,3275,1644],{"className":3276},[421],[400,3278,438],{"className":3279},[437],[400,3281,3282,3285],{"style":3086},[400,3283],{"className":3284,"style":3077},[624],[400,3286,3288,3294,3297,3300,3304,3307,3310],{"className":3287},[421],[400,3289,3291],{"className":3290},[421,3257],[400,3292,3261],{"className":3293},[421],[400,3295,385],{"className":3296},[421,422],[400,3298],{"className":3299,"style":1162},[442],[400,3301,3303],{"className":3302},[1008],">",[400,3305],{"className":3306,"style":1162},[442],[400,3308,1644],{"className":3309},[421],[400,3311,438],{"className":3312},[437],[400,3314,3315,3318],{"style":3203},[400,3316],{"className":3317,"style":3077},[624],[400,3319,3321,3328,3331,3334,3337,3340,3343],{"className":3320},[421],[400,3322,3324],{"className":3323},[421,3257],[400,3325,3327],{"className":3326},[421],"if no ",[400,3329,2708],{"className":3330},[421,422],[400,3332],{"className":3333,"style":1162},[442],[400,3335,1009],{"className":3336},[1008],[400,3338],{"className":3339,"style":1162},[442],[400,3341,385],{"className":3342},[421,422],[400,3344,3346],{"className":3345},[421,3257],[400,3347,3349],{"className":3348},[421]," reaches a finite value.",[400,3351,641],{"className":3352},[640],[400,3354,3356],{"className":3355},[612],[400,3357,3359],{"className":3358,"style":3226},[616],[400,3360],{},[400,3362],{"className":3363},[452,3364],"nulldelimiter",[381,3366,3367,3368,3412,3413,3432,3433,3467,3468,3501,3502,3520,3521,3563,3564,3579,3580,3604,3605,3620],{},"The ",[400,3369,3371],{"className":3370},[403],[400,3372,3374,3393],{"className":3373,"ariaHidden":408},[407],[400,3375,3377,3381,3384,3387,3390],{"className":3376},[412],[400,3378],{"className":3379,"style":3380},[416],"height:0.7278em;vertical-align:-0.0833em;",[400,3382,636],{"className":3383},[421],[400,3385],{"className":3386,"style":1256},[442],[400,3388,1542],{"className":3389},[1260],[400,3391],{"className":3392,"style":1256},[442],[400,3394,3396,3399,3402,3406,3409],{"className":3395},[412],[400,3397],{"className":3398,"style":417},[416],[400,3400,429],{"className":3401},[428],[400,3403,3405],{"className":3404},[660],"⋯",[400,3407],{"className":3408,"style":443},[442],[400,3410,453],{"className":3411},[452]," pays for the coin we just placed; the ",[400,3414,3416],{"className":3415},[403],[400,3417,3419],{"className":3418,"ariaHidden":408},[407],[400,3420,3422,3426],{"className":3421},[412],[400,3423],{"className":3424,"style":3425},[416],"height:0.6679em;",[400,3427,3429],{"className":3428},[968],[400,3430,3114],{"className":3431},[421,975]," over denominations\n",[400,3434,3436],{"className":3435},[403],[400,3437,3439,3458],{"className":3438,"ariaHidden":408},[407],[400,3440,3442,3446,3449,3452,3455],{"className":3441},[412],[400,3443],{"className":3444,"style":3445},[416],"height:0.7719em;vertical-align:-0.136em;",[400,3447,2708],{"className":3448},[421,422],[400,3450],{"className":3451,"style":1162},[442],[400,3453,1009],{"className":3454},[1008],[400,3456],{"className":3457,"style":1162},[442],[400,3459,3461,3464],{"className":3460},[412],[400,3462],{"className":3463,"style":575},[416],[400,3465,385],{"className":3466},[421,422]," picks the best amount to reach the shortfall ",[400,3469,3471],{"className":3470},[403],[400,3472,3474,3492],{"className":3473,"ariaHidden":408},[407],[400,3475,3477,3480,3483,3486,3489],{"className":3476},[412],[400,3478],{"className":3479,"style":1249},[416],[400,3481,385],{"className":3482},[421,422],[400,3484],{"className":3485,"style":1256},[442],[400,3487,1261],{"className":3488},[1260],[400,3490],{"className":3491,"style":1256},[442],[400,3493,3495,3498],{"className":3494},[412],[400,3496],{"className":3497,"style":575},[416],[400,3499,2708],{"className":3500},[421,422],". An amount that no\ncombination of coins can hit keeps the sentinel value ",[400,3503,3505],{"className":3504},[403],[400,3506,3508],{"className":3507,"ariaHidden":408},[407],[400,3509,3511,3514,3517],{"className":3510},[412],[400,3512],{"className":3513,"style":1249},[416],[400,3515,1542],{"className":3516},[421],[400,3518,3216],{"className":3519},[421],", which propagates:\nif every ",[400,3522,3524],{"className":3523},[403],[400,3525,3527,3551],{"className":3526,"ariaHidden":408},[407],[400,3528,3530,3533,3536,3539,3542,3545,3548],{"className":3529},[412],[400,3531],{"className":3532,"style":417},[416],[400,3534,2876],{"className":3535,"style":423},[421,422],[400,3537,900],{"className":3538},[428],[400,3540,385],{"className":3541},[421,422],[400,3543],{"className":3544,"style":1256},[442],[400,3546,1261],{"className":3547},[1260],[400,3549],{"className":3550,"style":1256},[442],[400,3552,3554,3557,3560],{"className":3553},[412],[400,3555],{"className":3556,"style":417},[416],[400,3558,2708],{"className":3559},[421,422],[400,3561,907],{"className":3562},[452]," is ",[400,3565,3567],{"className":3566},[403],[400,3568,3570],{"className":3569,"ariaHidden":408},[407],[400,3571,3573,3576],{"className":3572},[412],[400,3574],{"className":3575,"style":575},[416],[400,3577,3216],{"className":3578},[421]," then so is ",[400,3581,3583],{"className":3582},[403],[400,3584,3586],{"className":3585,"ariaHidden":408},[407],[400,3587,3589,3592,3595,3598,3601],{"className":3588},[412],[400,3590],{"className":3591,"style":417},[416],[400,3593,2876],{"className":3594,"style":423},[421,422],[400,3596,900],{"className":3597},[428],[400,3599,385],{"className":3600},[421,422],[400,3602,907],{"className":3603},[452],". The figure below shows the 1-D table\nfilling left to right, each cell reaching back ",[400,3606,3608],{"className":3607},[403],[400,3609,3611],{"className":3610,"ariaHidden":408},[407],[400,3612,3614,3617],{"className":3613},[412],[400,3615],{"className":3616,"style":575},[416],[400,3618,2708],{"className":3619},[421,422]," positions for each denomination.",[3622,3623,3627,3968],"figure",{"className":3624},[3625,3626],"tikz-figure","tikz-diagram-rendered",[2990,3628,3632],{"xmlns":2992,"width":3629,"height":3630,"viewBox":3631},"326.879","148.023","-75 -75 245.159 111.017",[3633,3634,3637,3662,3681,3700,3719,3738,3757,3776,3779,3787,3790,3797,3800,3807,3810,3816,3819,3825,3828,3834,3846,3873,3917],"g",{"stroke":3635,"style":3636},"currentColor","stroke-miterlimit:10;stroke-width:.4",[3633,3638,3641,3650,3656],{"stroke":3639,"fontSize":3640},"none","8",[3633,3642,3644],{"transform":3643},"translate(-7.688 -17.34)",[2999,3645],{"d":3646,"fill":3635,"stroke":3635,"className":3647,"style":3649},"M-21.538-8.813Q-21.894-8.813-22.163-8.993Q-22.433-9.172-22.573-9.467Q-22.714-9.762-22.714-10.121Q-22.714-10.508-22.552-10.922Q-22.390-11.336-22.106-11.674Q-21.823-12.012-21.454-12.215Q-21.085-12.418-20.683-12.418Q-20.190-12.418-19.913-11.969Q-19.882-12.102-19.778-12.184Q-19.675-12.266-19.546-12.266Q-19.433-12.266-19.353-12.196Q-19.272-12.125-19.272-12.012Q-19.272-11.985-19.288-11.922L-19.843-9.723Q-19.882-9.477-19.882-9.426Q-19.882-9.067-19.636-9.067Q-19.491-9.067-19.390-9.174Q-19.288-9.282-19.224-9.436Q-19.159-9.590-19.110-9.780Q-19.062-9.969-19.042-10.067Q-19.015-10.137-18.952-10.137L-18.851-10.137Q-18.812-10.137-18.786-10.104Q-18.761-10.071-18.761-10.043Q-18.761-10.028-18.769-10.012Q-18.882-9.520-19.081-9.166Q-19.280-8.813-19.651-8.813Q-19.933-8.813-20.159-8.955Q-20.386-9.098-20.468-9.356Q-20.690-9.114-20.964-8.963Q-21.237-8.813-21.538-8.813M-21.522-9.067Q-21.312-9.067-21.103-9.180Q-20.894-9.293-20.724-9.467Q-20.554-9.641-20.425-9.836Q-20.437-9.821-20.446-9.807Q-20.456-9.793-20.468-9.778L-20.034-11.500Q-20.073-11.680-20.159-11.830Q-20.245-11.981-20.382-12.073Q-20.519-12.164-20.698-12.164Q-21.034-12.164-21.306-11.883Q-21.577-11.602-21.737-11.227Q-21.862-10.907-21.960-10.487Q-22.058-10.067-22.058-9.786Q-22.058-9.496-21.925-9.282Q-21.792-9.067-21.522-9.067",[3648],"tikz-text","stroke-width:0.240",[3633,3651,3652],{"transform":3643},[2999,3653],{"d":3654,"fill":3635,"stroke":3635,"className":3655,"style":3649},"M-12.566-9.868L-17.879-9.868Q-17.957-9.875-18.006-9.924Q-18.054-9.973-18.054-10.051Q-18.054-10.121-18.007-10.172Q-17.961-10.223-17.879-10.235L-12.566-10.235Q-12.492-10.223-12.445-10.172Q-12.398-10.121-12.398-10.051Q-12.398-9.973-12.447-9.924Q-12.496-9.875-12.566-9.868M-12.566-11.555L-17.879-11.555Q-17.957-11.563-18.006-11.612Q-18.054-11.661-18.054-11.739Q-18.054-11.809-18.007-11.860Q-17.961-11.911-17.879-11.922L-12.566-11.922Q-12.492-11.911-12.445-11.860Q-12.398-11.809-12.398-11.739Q-12.398-11.661-12.447-11.612Q-12.496-11.563-12.566-11.555",[3648],[3633,3657,3658],{"transform":3643},[2999,3659],{"d":3660,"fill":3635,"stroke":3635,"className":3661,"style":3649},"M-9.795-8.723Q-10.498-8.723-10.898-9.123Q-11.299-9.524-11.443-10.133Q-11.588-10.743-11.588-11.442Q-11.588-11.965-11.518-12.428Q-11.447-12.891-11.254-13.303Q-11.061-13.715-10.703-13.963Q-10.346-14.211-9.795-14.211Q-9.244-14.211-8.887-13.963Q-8.529-13.715-8.338-13.305Q-8.146-12.895-8.076-12.426Q-8.006-11.957-8.006-11.442Q-8.006-10.743-8.148-10.135Q-8.291-9.528-8.691-9.125Q-9.092-8.723-9.795-8.723M-9.795-8.981Q-9.322-8.981-9.090-9.416Q-8.857-9.852-8.803-10.391Q-8.748-10.930-8.748-11.571Q-8.748-12.567-8.932-13.260Q-9.115-13.954-9.795-13.954Q-10.162-13.954-10.383-13.715Q-10.604-13.477-10.699-13.120Q-10.795-12.762-10.820-12.391Q-10.846-12.020-10.846-11.571Q-10.846-10.930-10.791-10.391Q-10.736-9.852-10.504-9.416Q-10.271-8.981-9.795-8.981",[3648],[3633,3663,3664,3670,3675],{"stroke":3639,"fontSize":3640},[3633,3665,3667],{"transform":3666},"translate(20.765 -17.34)",[2999,3668],{"d":3646,"fill":3635,"stroke":3635,"className":3669,"style":3649},[3648],[3633,3671,3672],{"transform":3666},[2999,3673],{"d":3654,"fill":3635,"stroke":3635,"className":3674,"style":3649},[3648],[3633,3676,3677],{"transform":3666},[2999,3678],{"d":3679,"fill":3635,"stroke":3635,"className":3680,"style":3649},"M-8.322-8.891L-11.115-8.891L-11.115-9.188Q-10.053-9.188-10.053-9.450L-10.053-13.618Q-10.482-13.403-11.162-13.403L-11.162-13.700Q-10.143-13.700-9.627-14.211L-9.482-14.211Q-9.408-14.192-9.389-14.114L-9.389-9.450Q-9.389-9.188-8.322-9.188",[3648],[3633,3682,3683,3689,3694],{"stroke":3639,"fontSize":3640},[3633,3684,3686],{"transform":3685},"translate(49.217 -17.34)",[2999,3687],{"d":3646,"fill":3635,"stroke":3635,"className":3688,"style":3649},[3648],[3633,3690,3691],{"transform":3685},[2999,3692],{"d":3654,"fill":3635,"stroke":3635,"className":3693,"style":3649},[3648],[3633,3695,3696],{"transform":3685},[2999,3697],{"d":3698,"fill":3635,"stroke":3635,"className":3699,"style":3649},"M-8.330-8.891L-11.490-8.891L-11.490-9.098Q-11.490-9.125-11.467-9.157L-10.115-10.555Q-9.736-10.942-9.488-11.231Q-9.240-11.520-9.066-11.877Q-8.893-12.235-8.893-12.625Q-8.893-12.973-9.025-13.266Q-9.158-13.559-9.412-13.737Q-9.666-13.914-10.021-13.914Q-10.381-13.914-10.672-13.719Q-10.963-13.524-11.107-13.196L-11.053-13.196Q-10.869-13.196-10.744-13.075Q-10.619-12.954-10.619-12.762Q-10.619-12.582-10.744-12.453Q-10.869-12.325-11.053-12.325Q-11.232-12.325-11.361-12.453Q-11.490-12.582-11.490-12.762Q-11.490-13.164-11.270-13.500Q-11.049-13.836-10.684-14.024Q-10.318-14.211-9.916-14.211Q-9.436-14.211-9.020-14.024Q-8.604-13.836-8.352-13.475Q-8.100-13.114-8.100-12.625Q-8.100-12.266-8.254-11.963Q-8.408-11.661-8.660-11.401Q-8.912-11.141-9.262-10.856Q-9.611-10.571-9.779-10.418L-10.709-9.578L-9.994-9.578Q-8.619-9.578-8.580-9.618Q-8.510-9.696-8.467-9.881Q-8.424-10.067-8.381-10.356L-8.100-10.356",[3648],[3633,3701,3702,3708,3713],{"stroke":3639,"fontSize":3640},[3633,3703,3705],{"transform":3704},"translate(77.67 -17.34)",[2999,3706],{"d":3646,"fill":3635,"stroke":3635,"className":3707,"style":3649},[3648],[3633,3709,3710],{"transform":3704},[2999,3711],{"d":3654,"fill":3635,"stroke":3635,"className":3712,"style":3649},[3648],[3633,3714,3715],{"transform":3704},[2999,3716],{"d":3717,"fill":3635,"stroke":3635,"className":3718,"style":3649},"M-11.123-9.524Q-10.932-9.250-10.576-9.123Q-10.221-8.996-9.838-8.996Q-9.502-8.996-9.293-9.182Q-9.084-9.368-8.988-9.661Q-8.893-9.954-8.893-10.266Q-8.893-10.590-8.990-10.885Q-9.088-11.180-9.301-11.364Q-9.514-11.547-9.846-11.547L-10.412-11.547Q-10.443-11.547-10.473-11.577Q-10.502-11.606-10.502-11.633L-10.502-11.715Q-10.502-11.750-10.473-11.776Q-10.443-11.801-10.412-11.801L-9.932-11.836Q-9.646-11.836-9.449-12.041Q-9.252-12.246-9.156-12.541Q-9.061-12.836-9.061-13.114Q-9.061-13.493-9.260-13.731Q-9.459-13.969-9.838-13.969Q-10.158-13.969-10.447-13.862Q-10.736-13.754-10.900-13.532Q-10.721-13.532-10.598-13.405Q-10.475-13.278-10.475-13.106Q-10.475-12.934-10.600-12.809Q-10.725-12.684-10.900-12.684Q-11.072-12.684-11.197-12.809Q-11.322-12.934-11.322-13.106Q-11.322-13.473-11.098-13.721Q-10.873-13.969-10.533-14.090Q-10.193-14.211-9.838-14.211Q-9.490-14.211-9.127-14.090Q-8.764-13.969-8.516-13.719Q-8.268-13.469-8.268-13.114Q-8.268-12.629-8.586-12.246Q-8.904-11.864-9.381-11.692Q-8.830-11.582-8.430-11.196Q-8.029-10.809-8.029-10.274Q-8.029-9.817-8.293-9.461Q-8.557-9.106-8.979-8.914Q-9.400-8.723-9.838-8.723Q-10.248-8.723-10.641-8.858Q-11.033-8.993-11.299-9.278Q-11.564-9.563-11.564-9.981Q-11.564-10.176-11.432-10.305Q-11.299-10.434-11.107-10.434Q-10.982-10.434-10.879-10.375Q-10.775-10.317-10.713-10.211Q-10.650-10.106-10.650-9.981Q-10.650-9.786-10.785-9.655Q-10.920-9.524-11.123-9.524",[3648],[3633,3720,3721,3727,3732],{"stroke":3639,"fontSize":3640},[3633,3722,3724],{"transform":3723},"translate(106.123 -17.34)",[2999,3725],{"d":3646,"fill":3635,"stroke":3635,"className":3726,"style":3649},[3648],[3633,3728,3729],{"transform":3723},[2999,3730],{"d":3654,"fill":3635,"stroke":3635,"className":3731,"style":3649},[3648],[3633,3733,3734],{"transform":3723},[2999,3735],{"d":3736,"fill":3635,"stroke":3635,"className":3737,"style":3649},"M-9.436-10.203L-11.678-10.203L-11.678-10.500L-9.107-14.157Q-9.068-14.211-9.006-14.211L-8.861-14.211Q-8.811-14.211-8.779-14.180Q-8.748-14.149-8.748-14.098L-8.748-10.500L-7.916-10.500L-7.916-10.203L-8.748-10.203L-8.748-9.450Q-8.748-9.188-7.924-9.188L-7.924-8.891L-10.260-8.891L-10.260-9.188Q-9.436-9.188-9.436-9.450L-9.436-10.203M-9.381-13.305L-11.350-10.500L-9.381-10.500",[3648],[3633,3739,3740,3746,3751],{"stroke":3639,"fontSize":3640},[3633,3741,3743],{"transform":3742},"translate(134.576 -17.34)",[2999,3744],{"d":3646,"fill":3635,"stroke":3635,"className":3745,"style":3649},[3648],[3633,3747,3748],{"transform":3742},[2999,3749],{"d":3654,"fill":3635,"stroke":3635,"className":3750,"style":3649},[3648],[3633,3752,3753],{"transform":3742},[2999,3754],{"d":3755,"fill":3635,"stroke":3635,"className":3756,"style":3649},"M-11.076-9.770L-11.139-9.770Q-10.998-9.418-10.674-9.207Q-10.350-8.996-9.963-8.996Q-9.369-8.996-9.119-9.430Q-8.869-9.864-8.869-10.500Q-8.869-11.094-9.039-11.541Q-9.209-11.989-9.709-11.989Q-10.006-11.989-10.211-11.909Q-10.416-11.828-10.518-11.737Q-10.619-11.645-10.734-11.512Q-10.850-11.379-10.900-11.364L-10.971-11.364Q-11.057-11.387-11.076-11.465L-11.076-14.114Q-11.045-14.211-10.971-14.211Q-10.955-14.211-10.947-14.209Q-10.939-14.207-10.932-14.203Q-10.346-13.954-9.748-13.954Q-9.166-13.954-8.549-14.211L-8.525-14.211Q-8.482-14.211-8.455-14.186Q-8.428-14.161-8.428-14.121L-8.428-14.043Q-8.428-14.012-8.451-13.989Q-8.748-13.637-9.170-13.440Q-9.592-13.243-10.053-13.243Q-10.400-13.243-10.779-13.348L-10.779-11.852Q-10.561-12.047-10.285-12.145Q-10.010-12.243-9.709-12.243Q-9.252-12.243-8.883-11.995Q-8.514-11.746-8.307-11.342Q-8.100-10.938-8.100-10.493Q-8.100-10.004-8.355-9.596Q-8.611-9.188-9.043-8.955Q-9.475-8.723-9.963-8.723Q-10.357-8.723-10.713-8.914Q-11.068-9.106-11.279-9.440Q-11.490-9.774-11.490-10.188Q-11.490-10.368-11.373-10.481Q-11.256-10.594-11.076-10.594Q-10.959-10.594-10.867-10.541Q-10.775-10.489-10.723-10.397Q-10.670-10.305-10.670-10.188Q-10.670-10.004-10.783-9.887Q-10.896-9.770-11.076-9.770",[3648],[3633,3758,3759,3765,3770],{"stroke":3639,"fontSize":3640},[3633,3760,3762],{"transform":3761},"translate(163.028 -17.34)",[2999,3763],{"d":3646,"fill":3635,"stroke":3635,"className":3764,"style":3649},[3648],[3633,3766,3767],{"transform":3761},[2999,3768],{"d":3654,"fill":3635,"stroke":3635,"className":3769,"style":3649},[3648],[3633,3771,3772],{"transform":3761},[2999,3773],{"d":3774,"fill":3635,"stroke":3635,"className":3775,"style":3649},"M-9.795-8.723Q-10.467-8.723-10.863-9.147Q-11.260-9.571-11.412-10.190Q-11.564-10.809-11.564-11.477Q-11.564-12.137-11.293-12.770Q-11.021-13.403-10.508-13.807Q-9.994-14.211-9.322-14.211Q-9.033-14.211-8.785-14.112Q-8.537-14.012-8.391-13.811Q-8.244-13.610-8.244-13.305Q-8.244-13.200-8.295-13.108Q-8.346-13.016-8.437-12.965Q-8.529-12.914-8.635-12.914Q-8.803-12.914-8.916-13.028Q-9.029-13.141-9.029-13.305Q-9.029-13.465-8.920-13.582Q-8.811-13.700-8.643-13.700Q-8.842-13.969-9.322-13.969Q-9.740-13.969-10.072-13.692Q-10.404-13.414-10.580-12.996Q-10.779-12.496-10.779-11.594Q-10.615-11.918-10.336-12.118Q-10.057-12.317-9.709-12.317Q-9.225-12.317-8.840-12.071Q-8.455-11.825-8.242-11.416Q-8.029-11.008-8.029-10.524Q-8.029-10.032-8.260-9.620Q-8.490-9.207-8.900-8.965Q-9.311-8.723-9.795-8.723M-9.795-8.996Q-9.369-8.996-9.152-9.217Q-8.936-9.438-8.873-9.764Q-8.811-10.090-8.811-10.524Q-8.811-10.836-8.836-11.086Q-8.861-11.336-8.951-11.561Q-9.041-11.786-9.236-11.922Q-9.432-12.059-9.748-12.059Q-10.076-12.059-10.309-11.850Q-10.541-11.641-10.652-11.323Q-10.764-11.004-10.764-10.692Q-10.760-10.653-10.758-10.620Q-10.756-10.586-10.756-10.532Q-10.756-10.516-10.758-10.508Q-10.760-10.500-10.764-10.493Q-10.764-9.918-10.537-9.457Q-10.311-8.996-9.795-8.996",[3648],[2999,3777],{"fill":3639,"d":3778},"M-35.846 3.913h25.608v-25.608h-25.608Z",[3633,3780,3782],{"transform":3781},"translate(-2.312 2.9)",[2999,3783],{"d":3784,"fill":3635,"stroke":3635,"className":3785,"style":3786},"M-20.730-8.693Q-21.855-8.693-22.269-9.590Q-22.682-10.486-22.682-11.761Q-22.682-12.534-22.532-13.233Q-22.383-13.932-21.948-14.408Q-21.513-14.885-20.730-14.885Q-19.953-14.885-19.518-14.406Q-19.083-13.927-18.933-13.231Q-18.784-12.534-18.784-11.761Q-18.784-10.482-19.197-9.588Q-19.610-8.693-20.730-8.693M-20.730-8.953Q-20.212-8.953-19.961-9.464Q-19.711-9.976-19.654-10.587Q-19.597-11.198-19.597-11.906Q-19.597-12.591-19.654-13.151Q-19.711-13.712-19.964-14.169Q-20.216-14.626-20.730-14.626Q-21.135-14.626-21.372-14.349Q-21.609-14.072-21.717-13.631Q-21.825-13.189-21.849-12.796Q-21.873-12.402-21.873-11.906Q-21.873-11.400-21.849-10.972Q-21.825-10.543-21.717-10.060Q-21.609-9.577-21.370-9.265Q-21.130-8.953-20.730-8.953",[3648],"stroke-width:0.270",[2999,3788],{"fill":3639,"d":3789},"M-7.393 3.913h25.608v-25.608H-7.393Z",[3633,3791,3793],{"transform":3792},"translate(26.14 2.9)",[2999,3794],{"d":3795,"fill":3635,"stroke":3635,"className":3796,"style":3786},"M-19.135-8.891L-22.167-8.891L-22.167-9.207Q-21.016-9.207-21.016-9.502L-21.016-14.226Q-21.504-13.993-22.225-13.993L-22.225-14.309Q-21.095-14.309-20.533-14.885L-20.388-14.885Q-20.353-14.885-20.320-14.852Q-20.287-14.819-20.287-14.784L-20.287-9.502Q-20.287-9.207-19.135-9.207",[3648],[2999,3798],{"fill":3639,"d":3799},"M21.06 3.913h25.607v-25.608H21.06Z",[3633,3801,3803],{"transform":3802},"translate(54.593 2.9)",[2999,3804],{"d":3805,"fill":3635,"stroke":3635,"className":3806,"style":3786},"M-19.135-8.891L-22.585-8.891L-22.585-9.124Q-22.585-9.137-22.554-9.168L-21.100-10.745Q-20.634-11.242-20.381-11.547Q-20.128-11.853-19.937-12.264Q-19.746-12.675-19.746-13.114Q-19.746-13.703-20.069-14.136Q-20.392-14.569-20.972-14.569Q-21.236-14.569-21.482-14.459Q-21.728-14.349-21.904-14.162Q-22.080-13.975-22.176-13.725L-22.097-13.725Q-21.895-13.725-21.752-13.589Q-21.609-13.453-21.609-13.237Q-21.609-13.031-21.752-12.892Q-21.895-12.754-22.097-12.754Q-22.299-12.754-22.442-12.897Q-22.585-13.039-22.585-13.237Q-22.585-13.699-22.348-14.072Q-22.110-14.446-21.710-14.665Q-21.311-14.885-20.862-14.885Q-20.339-14.885-19.885-14.670Q-19.430-14.454-19.157-14.055Q-18.885-13.655-18.885-13.114Q-18.885-12.719-19.056-12.365Q-19.228-12.011-19.493-11.732Q-19.759-11.453-20.210-11.068Q-20.660-10.684-20.739-10.609L-21.763-9.647L-20.946-9.647Q-20.295-9.647-19.858-9.658Q-19.421-9.669-19.390-9.691Q-19.320-9.774-19.265-10.014Q-19.210-10.253-19.170-10.521L-18.885-10.521",[3648],[2999,3808],{"fill":3639,"d":3809},"M49.513 3.913H75.12v-25.608H49.513Z",[3633,3811,3813],{"transform":3812},"translate(83.046 2.9)",[2999,3814],{"d":3795,"fill":3635,"stroke":3635,"className":3815,"style":3786},[3648],[2999,3817],{"fill":3639,"d":3818},"M77.965 3.913h25.608v-25.608H77.965Z",[3633,3820,3822],{"transform":3821},"translate(111.498 2.9)",[2999,3823],{"d":3795,"fill":3635,"stroke":3635,"className":3824,"style":3786},[3648],[2999,3826],{"fill":3639,"d":3827},"M106.418 3.913h25.608v-25.608h-25.608Z",[3633,3829,3831],{"transform":3830},"translate(139.951 2.9)",[2999,3832],{"d":3805,"fill":3635,"stroke":3635,"className":3833,"style":3786},[3648],[3633,3835,3837,3840],{"fill":3836},"var(--tk-soft-accent)",[2999,3838],{"d":3839},"M134.87 3.913h25.608v-25.608h-25.607Z",[3633,3841,3843],{"transform":3842},"translate(168.404 2.9)",[2999,3844],{"d":3805,"fill":3635,"stroke":3635,"className":3845,"style":3786},[3648],[3633,3847,3848,3855,3861,3867],{"stroke":3639,"fontSize":3640},[3633,3849,3851],{"transform":3850},"translate(-39.228 2)",[2999,3852],{"d":3853,"fill":3635,"stroke":3635,"className":3854,"style":3649},"M-21.827-10.692Q-21.827-10.192-21.620-9.813Q-21.413-9.434-21.030-9.227Q-20.647-9.020-20.147-9.020Q-19.628-9.020-19.140-9.268Q-18.651-9.516-18.300-9.944Q-17.948-10.371-17.827-10.868Q-17.812-10.930-17.737-10.930L-17.636-10.930Q-17.601-10.930-17.573-10.903Q-17.546-10.875-17.546-10.836Q-17.546-10.828-17.554-10.813Q-17.698-10.231-18.114-9.750Q-18.530-9.270-19.103-8.996Q-19.675-8.723-20.272-8.723Q-20.929-8.723-21.468-9.002Q-22.007-9.282-22.312-9.789Q-22.616-10.297-22.616-10.954Q-22.616-11.645-22.298-12.297Q-21.980-12.950-21.433-13.453Q-20.886-13.957-20.218-14.241Q-19.550-14.524-18.874-14.524Q-18.444-14.524-18.079-14.342Q-17.714-14.161-17.483-13.821L-16.843-14.500Q-16.819-14.524-16.784-14.524L-16.737-14.524Q-16.698-14.524-16.675-14.496Q-16.651-14.469-16.651-14.426L-16.651-14.403L-17.187-12.282Q-17.202-12.211-17.265-12.211L-17.386-12.211Q-17.476-12.211-17.476-12.317Q-17.448-12.493-17.448-12.684Q-17.448-13.106-17.606-13.457Q-17.765-13.809-18.069-14.018Q-18.374-14.227-18.804-14.227Q-19.456-14.227-20.019-13.924Q-20.581-13.621-20.983-13.104Q-21.386-12.586-21.606-11.955Q-21.827-11.325-21.827-10.692",[3648],[3633,3856,3857],{"transform":3850},[2999,3858],{"d":3859,"fill":3635,"stroke":3635,"className":3860,"style":3649},"M-14.250-6.891L-15.426-6.891L-15.426-14.891L-14.250-14.891L-14.250-14.524L-15.059-14.524L-15.059-7.258L-14.250-7.258",[3648],[3633,3862,3863],{"transform":3850},[2999,3864],{"d":3865,"fill":3635,"stroke":3635,"className":3866,"style":3649},"M-12.553-8.813Q-12.909-8.813-13.178-8.993Q-13.448-9.172-13.588-9.467Q-13.729-9.762-13.729-10.121Q-13.729-10.508-13.567-10.922Q-13.405-11.336-13.121-11.674Q-12.838-12.012-12.469-12.215Q-12.100-12.418-11.698-12.418Q-11.205-12.418-10.928-11.969Q-10.897-12.102-10.793-12.184Q-10.690-12.266-10.561-12.266Q-10.448-12.266-10.368-12.196Q-10.287-12.125-10.287-12.012Q-10.287-11.985-10.303-11.922L-10.858-9.723Q-10.897-9.477-10.897-9.426Q-10.897-9.067-10.651-9.067Q-10.506-9.067-10.405-9.174Q-10.303-9.282-10.239-9.436Q-10.174-9.590-10.125-9.780Q-10.077-9.969-10.057-10.067Q-10.030-10.137-9.967-10.137L-9.866-10.137Q-9.827-10.137-9.801-10.104Q-9.776-10.071-9.776-10.043Q-9.776-10.028-9.784-10.012Q-9.897-9.520-10.096-9.166Q-10.295-8.813-10.666-8.813Q-10.948-8.813-11.174-8.955Q-11.401-9.098-11.483-9.356Q-11.705-9.114-11.979-8.963Q-12.252-8.813-12.553-8.813M-12.537-9.067Q-12.327-9.067-12.118-9.180Q-11.909-9.293-11.739-9.467Q-11.569-9.641-11.440-9.836Q-11.452-9.821-11.461-9.807Q-11.471-9.793-11.483-9.778L-11.049-11.500Q-11.088-11.680-11.174-11.830Q-11.260-11.981-11.397-12.073Q-11.534-12.164-11.713-12.164Q-12.049-12.164-12.321-11.883Q-12.592-11.602-12.752-11.227Q-12.877-10.907-12.975-10.487Q-13.073-10.067-13.073-9.786Q-13.073-9.496-12.940-9.282Q-12.807-9.067-12.537-9.067",[3648],[3633,3868,3869],{"transform":3850},[2999,3870],{"d":3871,"fill":3635,"stroke":3635,"className":3872,"style":3649},"M-8.183-6.891L-9.358-6.891L-9.358-7.258L-8.550-7.258L-8.550-14.524L-9.358-14.524L-9.358-14.891L-8.183-14.891",[3648],[3633,3874,3877,3880,3884],{"fill":3875,"stroke":3875,"style":3876},"var(--tk-warn)","stroke-width:.8",[2999,3878],{"fill":3639,"d":3879},"M62.316 4.113c26.23 20.493 59.128 20.493 82.108 2.54",[2999,3881],{"d":3882,"style":3883},"M146.777 4.814 142.52 6.14l2.06.39-.119 2.094Z","stroke-width:.799984",[3633,3885,3886,3893,3899,3905,3911],{"fill":3875,"stroke":3639,"fontSize":3640},[3633,3887,3889],{"transform":3888},"translate(104.946 37.472)",[2999,3890],{"d":3891,"fill":3875,"stroke":3875,"className":3892,"style":3649},"M-19.921-10.707L-22.394-10.707Q-22.472-10.719-22.521-10.768Q-22.569-10.817-22.569-10.891Q-22.569-10.965-22.521-11.014Q-22.472-11.063-22.394-11.075L-19.921-11.075L-19.921-13.555Q-19.894-13.723-19.737-13.723Q-19.663-13.723-19.614-13.674Q-19.565-13.625-19.554-13.555L-19.554-11.075L-17.081-11.075Q-16.913-11.043-16.913-10.891Q-16.913-10.739-17.081-10.707L-19.554-10.707L-19.554-8.227Q-19.565-8.157-19.614-8.108Q-19.663-8.059-19.737-8.059Q-19.894-8.059-19.921-8.227L-19.921-10.707M-12.839-8.891L-15.632-8.891L-15.632-9.188Q-14.569-9.188-14.569-9.450L-14.569-13.618Q-14.999-13.403-15.679-13.403L-15.679-13.700Q-14.659-13.700-14.144-14.211L-13.999-14.211Q-13.925-14.192-13.905-14.114L-13.905-9.450Q-13.905-9.188-12.839-9.188",[3648],[3633,3894,3895],{"transform":3888},[2999,3896],{"d":3897,"fill":3875,"stroke":3875,"className":3898,"style":3649},"M-9.066-10.618Q-9.066-11.114-8.816-11.539Q-8.566-11.965-8.146-12.211Q-7.726-12.457-7.226-12.457Q-6.687-12.457-6.296-12.332Q-5.906-12.207-5.906-11.793Q-5.906-11.688-5.956-11.596Q-6.007-11.504-6.099-11.453Q-6.191-11.403-6.300-11.403Q-6.406-11.403-6.497-11.453Q-6.589-11.504-6.640-11.596Q-6.691-11.688-6.691-11.793Q-6.691-12.016-6.523-12.121Q-6.745-12.180-7.218-12.180Q-7.515-12.180-7.730-12.041Q-7.945-11.903-8.076-11.672Q-8.206-11.442-8.265-11.172Q-8.324-10.903-8.324-10.618Q-8.324-10.223-8.191-9.873Q-8.058-9.524-7.786-9.307Q-7.515-9.090-7.117-9.090Q-6.742-9.090-6.466-9.307Q-6.191-9.524-6.089-9.883Q-6.074-9.946-6.011-9.946L-5.906-9.946Q-5.870-9.946-5.845-9.918Q-5.820-9.891-5.820-9.852L-5.820-9.828Q-5.952-9.348-6.337-9.080Q-6.722-8.813-7.226-8.813Q-7.589-8.813-7.923-8.950Q-8.257-9.086-8.517-9.336Q-8.777-9.586-8.921-9.922Q-9.066-10.258-9.066-10.618M-5.331-10.586Q-5.331-11.090-5.076-11.522Q-4.820-11.954-4.384-12.205Q-3.949-12.457-3.449-12.457Q-3.062-12.457-2.720-12.313Q-2.378-12.168-2.117-11.907Q-1.855-11.645-1.712-11.309Q-1.570-10.973-1.570-10.586Q-1.570-10.094-1.833-9.684Q-2.097-9.274-2.527-9.043Q-2.956-8.813-3.449-8.813Q-3.941-8.813-4.374-9.045Q-4.808-9.278-5.070-9.686Q-5.331-10.094-5.331-10.586M-3.449-9.090Q-2.992-9.090-2.740-9.313Q-2.488-9.536-2.400-9.887Q-2.312-10.239-2.312-10.684Q-2.312-11.114-2.406-11.452Q-2.499-11.789-2.753-11.996Q-3.007-12.203-3.449-12.203Q-4.097-12.203-4.341-11.787Q-4.585-11.371-4.585-10.684Q-4.585-10.239-4.497-9.887Q-4.409-9.536-4.158-9.313Q-3.906-9.090-3.449-9.090M0.774-8.891L-1.003-8.891L-1.003-9.188Q-0.730-9.188-0.562-9.235Q-0.394-9.282-0.394-9.450L-0.394-11.586Q-0.394-11.801-0.451-11.897Q-0.507-11.993-0.620-12.014Q-0.734-12.036-0.980-12.036L-0.980-12.332L0.219-12.418L0.219-9.450Q0.219-9.282 0.366-9.235Q0.512-9.188 0.774-9.188L0.774-8.891M-0.667-13.813Q-0.667-14.004-0.533-14.135Q-0.398-14.266-0.202-14.266Q-0.081-14.266 0.022-14.203Q0.126-14.141 0.188-14.037Q0.251-13.934 0.251-13.813Q0.251-13.618 0.120-13.483Q-0.011-13.348-0.202-13.348Q-0.402-13.348-0.534-13.481Q-0.667-13.614-0.667-13.813M3.204-8.891L1.348-8.891L1.348-9.188Q1.622-9.188 1.790-9.235Q1.958-9.282 1.958-9.450L1.958-11.586Q1.958-11.801 1.895-11.897Q1.833-11.993 1.714-12.014Q1.594-12.036 1.348-12.036L1.348-12.332L2.540-12.418L2.540-11.684Q2.653-11.899 2.846-12.067Q3.040-12.235 3.278-12.327Q3.516-12.418 3.770-12.418Q4.938-12.418 4.938-11.340L4.938-9.450Q4.938-9.282 5.108-9.235Q5.278-9.188 5.548-9.188L5.548-8.891L3.692-8.891L3.692-9.188Q3.966-9.188 4.133-9.235Q4.301-9.282 4.301-9.450L4.301-11.325Q4.301-11.707 4.180-11.936Q4.059-12.164 3.708-12.164Q3.395-12.164 3.141-12.002Q2.887-11.840 2.741-11.571Q2.594-11.301 2.594-11.004L2.594-9.450Q2.594-9.282 2.764-9.235Q2.934-9.188 3.204-9.188",[3648],[3633,3900,3901],{"transform":3888},[2999,3902],{"d":3903,"fill":3875,"stroke":3875,"className":3904,"style":3649},"M9.605-9.907Q9.605-9.668 9.693-9.479Q9.781-9.289 9.952-9.178Q10.124-9.067 10.359-9.067Q10.867-9.067 11.322-9.260Q11.777-9.453 12.062-9.828Q12.081-9.860 12.132-9.860Q12.183-9.860 12.230-9.809Q12.277-9.758 12.277-9.707Q12.277-9.668 12.253-9.645Q11.937-9.231 11.421-9.022Q10.906-8.813 10.339-8.813Q10.038-8.813 9.783-8.914Q9.527-9.016 9.335-9.203Q9.144-9.391 9.038-9.649Q8.933-9.907 8.933-10.196Q8.933-10.618 9.122-11.020Q9.312-11.422 9.638-11.739Q9.964-12.055 10.367-12.237Q10.769-12.418 11.191-12.418Q11.574-12.418 11.886-12.252Q12.199-12.086 12.199-11.731Q12.199-11.516 12.068-11.356Q11.937-11.196 11.726-11.196Q11.593-11.196 11.499-11.282Q11.406-11.368 11.406-11.500Q11.406-11.672 11.527-11.805Q11.648-11.938 11.812-11.961Q11.609-12.164 11.171-12.164Q10.804-12.164 10.507-11.946Q10.210-11.727 10.009-11.375Q9.808-11.024 9.706-10.625Q9.605-10.227 9.605-9.907",[3648],[3633,3906,3907],{"transform":3888},[2999,3908],{"d":3909,"fill":3875,"stroke":3875,"className":3910,"style":3649},"M18.240-9.868L12.927-9.868Q12.849-9.875 12.800-9.924Q12.752-9.973 12.752-10.051Q12.752-10.121 12.799-10.172Q12.845-10.223 12.927-10.235L18.240-10.235Q18.314-10.223 18.361-10.172Q18.408-10.121 18.408-10.051Q18.408-9.973 18.359-9.924Q18.310-9.875 18.240-9.868M18.240-11.555L12.927-11.555Q12.849-11.563 12.800-11.612Q12.752-11.661 12.752-11.739Q12.752-11.809 12.799-11.860Q12.845-11.911 12.927-11.922L18.240-11.922Q18.314-11.911 18.361-11.860Q18.408-11.809 18.408-11.739Q18.408-11.661 18.359-11.612Q18.310-11.563 18.240-11.555",[3648],[3633,3912,3913],{"transform":3888},[2999,3914],{"d":3915,"fill":3875,"stroke":3875,"className":3916,"style":3649},"M19.683-9.524Q19.874-9.250 20.230-9.123Q20.585-8.996 20.968-8.996Q21.304-8.996 21.513-9.182Q21.722-9.368 21.818-9.661Q21.913-9.954 21.913-10.266Q21.913-10.590 21.816-10.885Q21.718-11.180 21.505-11.364Q21.292-11.547 20.960-11.547L20.394-11.547Q20.363-11.547 20.333-11.577Q20.304-11.606 20.304-11.633L20.304-11.715Q20.304-11.750 20.333-11.776Q20.363-11.801 20.394-11.801L20.874-11.836Q21.160-11.836 21.357-12.041Q21.554-12.246 21.650-12.541Q21.745-12.836 21.745-13.114Q21.745-13.493 21.546-13.731Q21.347-13.969 20.968-13.969Q20.648-13.969 20.359-13.862Q20.070-13.754 19.906-13.532Q20.085-13.532 20.208-13.405Q20.331-13.278 20.331-13.106Q20.331-12.934 20.206-12.809Q20.081-12.684 19.906-12.684Q19.734-12.684 19.609-12.809Q19.484-12.934 19.484-13.106Q19.484-13.473 19.708-13.721Q19.933-13.969 20.273-14.090Q20.613-14.211 20.968-14.211Q21.316-14.211 21.679-14.090Q22.042-13.969 22.290-13.719Q22.538-13.469 22.538-13.114Q22.538-12.629 22.220-12.246Q21.902-11.864 21.425-11.692Q21.976-11.582 22.376-11.196Q22.777-10.809 22.777-10.274Q22.777-9.817 22.513-9.461Q22.249-9.106 21.828-8.914Q21.406-8.723 20.968-8.723Q20.558-8.723 20.165-8.858Q19.773-8.993 19.507-9.278Q19.242-9.563 19.242-9.981Q19.242-10.176 19.374-10.305Q19.507-10.434 19.699-10.434Q19.824-10.434 19.927-10.375Q20.031-10.317 20.093-10.211Q20.156-10.106 20.156-9.981Q20.156-9.786 20.021-9.655Q19.886-9.524 19.683-9.524",[3648],[3633,3918,3920,3923],{"fill":3919},"var(--tk-bg)",[2999,3921],{"stroke":3639,"d":3922},"M128.46-51.77h38.43v-20.5h-38.43Z",[3633,3924,3925,3932,3938,3944,3950,3956,3962],{"fill":3635,"stroke":3639,"fontSize":3640},[3633,3926,3928],{"transform":3927},"translate(153.002 -46.38)",[2999,3929],{"d":3930,"fill":3635,"stroke":3635,"className":3931,"style":3649},"M-11.910-20.192Q-11.910-19.692-11.703-19.313Q-11.496-18.934-11.113-18.727Q-10.730-18.520-10.230-18.520Q-9.711-18.520-9.223-18.768Q-8.734-19.016-8.383-19.444Q-8.031-19.871-7.910-20.368Q-7.895-20.430-7.820-20.430L-7.719-20.430Q-7.684-20.430-7.656-20.403Q-7.629-20.375-7.629-20.336Q-7.629-20.328-7.637-20.313Q-7.781-19.731-8.197-19.250Q-8.613-18.770-9.186-18.496Q-9.758-18.223-10.355-18.223Q-11.012-18.223-11.551-18.502Q-12.090-18.782-12.395-19.289Q-12.699-19.797-12.699-20.453Q-12.699-21.145-12.381-21.797Q-12.062-22.450-11.516-22.953Q-10.969-23.457-10.301-23.741Q-9.633-24.024-8.957-24.024Q-8.527-24.024-8.162-23.842Q-7.797-23.661-7.566-23.321L-6.926-24Q-6.902-24.024-6.867-24.024L-6.820-24.024Q-6.781-24.024-6.758-23.996Q-6.734-23.969-6.734-23.926L-6.734-23.903L-7.270-21.782Q-7.285-21.711-7.348-21.711L-7.469-21.711Q-7.559-21.711-7.559-21.817Q-7.531-21.993-7.531-22.184Q-7.531-22.606-7.689-22.957Q-7.848-23.309-8.152-23.518Q-8.457-23.727-8.887-23.727Q-9.539-23.727-10.102-23.424Q-10.664-23.121-11.066-22.604Q-11.469-22.086-11.689-21.455Q-11.910-20.825-11.910-20.192",[3648],[3633,3933,3934],{"transform":3927},[2999,3935],{"d":3936,"fill":3635,"stroke":3635,"className":3937,"style":3649},"M-4.334-16.391L-5.510-16.391L-5.510-24.391L-4.334-24.391L-4.334-24.024L-5.143-24.024L-5.143-16.758L-4.334-16.758L-4.334-16.391M-2.022-18.223Q-2.693-18.223-3.090-18.647Q-3.486-19.071-3.639-19.690Q-3.791-20.309-3.791-20.977Q-3.791-21.637-3.520-22.270Q-3.248-22.903-2.734-23.307Q-2.221-23.711-1.549-23.711Q-1.260-23.711-1.012-23.612Q-0.764-23.512-0.617-23.311Q-0.471-23.110-0.471-22.805Q-0.471-22.700-0.522-22.608Q-0.572-22.516-0.664-22.465Q-0.756-22.414-0.861-22.414Q-1.029-22.414-1.143-22.528Q-1.256-22.641-1.256-22.805Q-1.256-22.965-1.147-23.082Q-1.037-23.200-0.869-23.200Q-1.068-23.469-1.549-23.469Q-1.967-23.469-2.299-23.192Q-2.631-22.914-2.807-22.496Q-3.006-21.996-3.006-21.094Q-2.842-21.418-2.563-21.618Q-2.283-21.817-1.936-21.817Q-1.451-21.817-1.066-21.571Q-0.682-21.325-0.469-20.916Q-0.256-20.508-0.256-20.024Q-0.256-19.532-0.486-19.120Q-0.717-18.707-1.127-18.465Q-1.537-18.223-2.022-18.223M-2.022-18.496Q-1.596-18.496-1.379-18.717Q-1.162-18.938-1.100-19.264Q-1.037-19.590-1.037-20.024Q-1.037-20.336-1.063-20.586Q-1.088-20.836-1.178-21.061Q-1.268-21.286-1.463-21.422Q-1.658-21.559-1.975-21.559Q-2.303-21.559-2.535-21.350Q-2.768-21.141-2.879-20.823Q-2.990-20.504-2.990-20.192Q-2.986-20.153-2.984-20.120Q-2.982-20.086-2.982-20.032Q-2.982-20.016-2.984-20.008Q-2.986-20-2.990-19.993Q-2.990-19.418-2.764-18.957Q-2.537-18.496-2.022-18.496M1.463-16.391L0.287-16.391L0.287-16.758L1.096-16.758L1.096-24.024L0.287-24.024L0.287-24.391L1.463-24.391",[3648],[3633,3939,3940],{"transform":3927},[2999,3941],{"d":3942,"fill":3635,"stroke":3635,"className":3943,"style":3649},"M-17.081-9.868L-22.394-9.868Q-22.472-9.875-22.521-9.924Q-22.569-9.973-22.569-10.051Q-22.569-10.121-22.522-10.172Q-22.476-10.223-22.394-10.235L-17.081-10.235Q-17.007-10.223-16.960-10.172Q-16.913-10.121-16.913-10.051Q-16.913-9.973-16.962-9.924Q-17.011-9.875-17.081-9.868M-17.081-11.555L-22.394-11.555Q-22.472-11.563-22.521-11.612Q-22.569-11.661-22.569-11.739Q-22.569-11.809-22.522-11.860Q-22.476-11.911-22.394-11.922L-17.081-11.922Q-17.007-11.911-16.960-11.860Q-16.913-11.809-16.913-11.739Q-16.913-11.661-16.962-11.612Q-17.011-11.563-17.081-11.555",[3648],[3633,3945,3946],{"transform":3927},[2999,3947],{"d":3948,"fill":3635,"stroke":3635,"className":3949,"style":3649},"M-10.476-8.891L-13.269-8.891L-13.269-9.188Q-12.207-9.188-12.207-9.450L-12.207-13.618Q-12.636-13.403-13.316-13.403L-13.316-13.700Q-12.297-13.700-11.781-14.211L-11.636-14.211Q-11.562-14.192-11.543-14.114L-11.543-9.450Q-11.543-9.188-10.476-9.188",[3648],[3633,3951,3952],{"transform":3927},[2999,3953],{"d":3954,"fill":3635,"stroke":3635,"className":3955,"style":3649},"M-6.698-10.707L-9.171-10.707Q-9.249-10.719-9.298-10.768Q-9.346-10.817-9.346-10.891Q-9.346-10.965-9.298-11.014Q-9.249-11.063-9.171-11.075L-6.698-11.075L-6.698-13.555Q-6.671-13.723-6.514-13.723Q-6.440-13.723-6.391-13.674Q-6.342-13.625-6.331-13.555L-6.331-11.075L-3.858-11.075Q-3.690-11.043-3.690-10.891Q-3.690-10.739-3.858-10.707L-6.331-10.707L-6.331-8.227Q-6.342-8.157-6.391-8.108Q-6.440-8.059-6.514-8.059Q-6.671-8.059-6.698-8.227",[3648],[3633,3957,3958],{"transform":3927},[2999,3959],{"d":3960,"fill":3635,"stroke":3635,"className":3961,"style":3649},"M-1.993-10.692Q-1.993-10.192-1.786-9.813Q-1.579-9.434-1.196-9.227Q-0.813-9.020-0.313-9.020Q0.206-9.020 0.694-9.268Q1.183-9.516 1.534-9.944Q1.886-10.371 2.007-10.868Q2.022-10.930 2.097-10.930L2.198-10.930Q2.233-10.930 2.261-10.903Q2.288-10.875 2.288-10.836Q2.288-10.828 2.280-10.813Q2.136-10.231 1.720-9.750Q1.304-9.270 0.731-8.996Q0.159-8.723-0.438-8.723Q-1.095-8.723-1.634-9.002Q-2.173-9.282-2.478-9.789Q-2.782-10.297-2.782-10.954Q-2.782-11.645-2.464-12.297Q-2.146-12.950-1.599-13.453Q-1.052-13.957-0.384-14.241Q0.284-14.524 0.960-14.524Q1.390-14.524 1.755-14.342Q2.120-14.161 2.351-13.821L2.991-14.500Q3.015-14.524 3.050-14.524L3.097-14.524Q3.136-14.524 3.159-14.496Q3.183-14.469 3.183-14.426L3.183-14.403L2.647-12.282Q2.632-12.211 2.569-12.211L2.448-12.211Q2.358-12.211 2.358-12.317Q2.386-12.493 2.386-12.684Q2.386-13.106 2.228-13.457Q2.069-13.809 1.765-14.018Q1.460-14.227 1.030-14.227Q0.378-14.227-0.185-13.924Q-0.747-13.621-1.149-13.104Q-1.552-12.586-1.772-11.955Q-1.993-11.325-1.993-10.692",[3648],[3633,3963,3964],{"transform":3927},[2999,3965],{"d":3966,"fill":3635,"stroke":3635,"className":3967,"style":3649},"M5.583-6.891L4.407-6.891L4.407-14.891L5.583-14.891L5.583-14.524L4.774-14.524L4.774-7.258L5.583-7.258L5.583-6.891M6.567-9.524Q6.759-9.250 7.114-9.123Q7.470-8.996 7.853-8.996Q8.188-8.996 8.397-9.182Q8.606-9.368 8.702-9.661Q8.798-9.954 8.798-10.266Q8.798-10.590 8.700-10.885Q8.602-11.180 8.390-11.364Q8.177-11.547 7.845-11.547L7.278-11.547Q7.247-11.547 7.218-11.577Q7.188-11.606 7.188-11.633L7.188-11.715Q7.188-11.750 7.218-11.776Q7.247-11.801 7.278-11.801L7.759-11.836Q8.044-11.836 8.241-12.041Q8.438-12.246 8.534-12.541Q8.630-12.836 8.630-13.114Q8.630-13.493 8.431-13.731Q8.231-13.969 7.853-13.969Q7.532-13.969 7.243-13.862Q6.954-13.754 6.790-13.532Q6.970-13.532 7.093-13.405Q7.216-13.278 7.216-13.106Q7.216-12.934 7.091-12.809Q6.966-12.684 6.790-12.684Q6.618-12.684 6.493-12.809Q6.368-12.934 6.368-13.106Q6.368-13.473 6.593-13.721Q6.817-13.969 7.157-14.090Q7.497-14.211 7.853-14.211Q8.200-14.211 8.563-14.090Q8.927-13.969 9.175-13.719Q9.423-13.469 9.423-13.114Q9.423-12.629 9.104-12.246Q8.786-11.864 8.310-11.692Q8.860-11.582 9.261-11.196Q9.661-10.809 9.661-10.274Q9.661-9.817 9.397-9.461Q9.134-9.106 8.712-8.914Q8.290-8.723 7.853-8.723Q7.442-8.723 7.050-8.858Q6.657-8.993 6.392-9.278Q6.126-9.563 6.126-9.981Q6.126-10.176 6.259-10.305Q6.392-10.434 6.583-10.434Q6.708-10.434 6.811-10.375Q6.915-10.317 6.978-10.211Q7.040-10.106 7.040-9.981Q7.040-9.786 6.905-9.655Q6.770-9.524 6.567-9.524M11.380-6.891L10.204-6.891L10.204-7.258L11.013-7.258L11.013-14.524L10.204-14.524L10.204-14.891L11.380-14.891",[3648],[3969,3970,3973,3974,3998,3999,4014,4015,4030,4031,4091,4092,4126],"figcaption",{"className":3971},[3972],"tikz-cap","The 1-D coin-change table fills left to right; cell ",[400,3975,3977],{"className":3976},[403],[400,3978,3980],{"className":3979,"ariaHidden":408},[407],[400,3981,3983,3986,3989,3992,3995],{"className":3982},[412],[400,3984],{"className":3985,"style":417},[416],[400,3987,2876],{"className":3988,"style":423},[421,422],[400,3990,900],{"className":3991},[428],[400,3993,385],{"className":3994},[421,422],[400,3996,907],{"className":3997},[452]," reads back ",[400,4000,4002],{"className":4001},[403],[400,4003,4005],{"className":4004,"ariaHidden":408},[407],[400,4006,4008,4011],{"className":4007},[412],[400,4009],{"className":4010,"style":575},[416],[400,4012,2708],{"className":4013},[421,422]," positions for coin ",[400,4016,4018],{"className":4017},[403],[400,4019,4021],{"className":4020,"ariaHidden":408},[407],[400,4022,4024,4027],{"className":4023},[412],[400,4025],{"className":4026,"style":575},[416],[400,4028,2708],{"className":4029},[421,422],", taking ",[400,4032,4034],{"className":4033},[403],[400,4035,4037,4055,4079],{"className":4036,"ariaHidden":408},[407],[400,4038,4040,4043,4046,4049,4052],{"className":4039},[412],[400,4041],{"className":4042,"style":3380},[416],[400,4044,636],{"className":4045},[421],[400,4047],{"className":4048,"style":1256},[442],[400,4050,1542],{"className":4051},[1260],[400,4053],{"className":4054,"style":1256},[442],[400,4056,4058,4061,4064,4067,4070,4073,4076],{"className":4057},[412],[400,4059],{"className":4060,"style":417},[416],[400,4062,2876],{"className":4063,"style":423},[421,422],[400,4065,900],{"className":4066},[428],[400,4068,385],{"className":4069},[421,422],[400,4071],{"className":4072,"style":1256},[442],[400,4074,1261],{"className":4075},[1260],[400,4077],{"className":4078,"style":1256},[442],[400,4080,4082,4085,4088],{"className":4081},[412],[400,4083],{"className":4084,"style":417},[416],[400,4086,2708],{"className":4087},[421,422],[400,4089,907],{"className":4090},[452]," (the highlighted transition uses coin ",[400,4093,4095],{"className":4094},[403],[400,4096,4098,4116],{"className":4097,"ariaHidden":408},[407],[400,4099,4101,4104,4107,4110,4113],{"className":4100},[412],[400,4102],{"className":4103,"style":575},[416],[400,4105,2708],{"className":4106},[421,422],[400,4108],{"className":4109,"style":1162},[442],[400,4111,1365],{"className":4112},[1008],[400,4114],{"className":4115,"style":1162},[442],[400,4117,4119,4122],{"className":4118},[412],[400,4120],{"className":4121,"style":1663},[416],[400,4123,4125],{"className":4124},[421],"3",").",[381,4128,4129,4130,4172,4173,4267,4268,4284,4285,4486,4487,4520],{},"With coins ",[400,4131,4133],{"className":4132},[403],[400,4134,4136],{"className":4135,"ariaHidden":408},[407],[400,4137,4139,4142,4146,4149,4152,4155,4158,4161,4164,4168],{"className":4138},[412],[400,4140],{"className":4141,"style":417},[416],[400,4143,4145],{"className":4144},[428],"{",[400,4147,636],{"className":4148},[421],[400,4150,438],{"className":4151},[437],[400,4153],{"className":4154,"style":443},[442],[400,4156,4125],{"className":4157},[421],[400,4159,438],{"className":4160},[437],[400,4162],{"className":4163,"style":443},[442],[400,4165,4167],{"className":4166},[421],"4",[400,4169,4171],{"className":4170},[452],"}"," the table reads ",[400,4174,4176],{"className":4175},[403],[400,4177,4179,4197],{"className":4178,"ariaHidden":408},[407],[400,4180,4182,4185,4188,4191,4194],{"className":4181},[412],[400,4183],{"className":4184,"style":839},[416],[400,4186,2876],{"className":4187,"style":423},[421,422],[400,4189],{"className":4190,"style":1162},[442],[400,4192,1365],{"className":4193},[1008],[400,4195],{"className":4196,"style":1162},[442],[400,4198,4200,4203,4206,4209,4212,4215,4218,4221,4224,4228,4231,4234,4237,4240,4243,4246,4249,4252,4255,4258,4261,4264],{"className":4199},[412],[400,4201],{"className":4202,"style":417},[416],[400,4204,900],{"className":4205},[428],[400,4207,1644],{"className":4208},[421],[400,4210,438],{"className":4211},[437],[400,4213],{"className":4214,"style":443},[442],[400,4216,636],{"className":4217},[421],[400,4219,438],{"className":4220},[437],[400,4222],{"className":4223,"style":443},[442],[400,4225,4227],{"className":4226},[421],"2",[400,4229,438],{"className":4230},[437],[400,4232],{"className":4233,"style":443},[442],[400,4235,636],{"className":4236},[421],[400,4238,438],{"className":4239},[437],[400,4241],{"className":4242,"style":443},[442],[400,4244,636],{"className":4245},[421],[400,4247,438],{"className":4248},[437],[400,4250],{"className":4251,"style":443},[442],[400,4253,4227],{"className":4254},[421],[400,4256,438],{"className":4257},[437],[400,4259],{"className":4260,"style":443},[442],[400,4262,4227],{"className":4263},[421],[400,4265,907],{"className":4266},[452]," for amounts\n",[400,4269,4271],{"className":4270},[403],[400,4272,4274],{"className":4273,"ariaHidden":408},[407],[400,4275,4277,4280],{"className":4276},[412],[400,4278],{"className":4279,"style":1663},[416],[400,4281,4283],{"className":4282},[421],"0..6",": ",[400,4286,4288],{"className":4287},[403],[400,4289,4291,4319,4337,4411,4429,4477],{"className":4290,"ariaHidden":408},[407],[400,4292,4294,4297,4300,4303,4307,4310,4313,4316],{"className":4293},[412],[400,4295],{"className":4296,"style":417},[416],[400,4298,2876],{"className":4299,"style":423},[421,422],[400,4301,900],{"className":4302},[428],[400,4304,4306],{"className":4305},[421],"6",[400,4308,907],{"className":4309},[452],[400,4311],{"className":4312,"style":1162},[442],[400,4314,1365],{"className":4315},[1008],[400,4317],{"className":4318,"style":1162},[442],[400,4320,4322,4325,4328,4331,4334],{"className":4321},[412],[400,4323],{"className":4324,"style":3380},[416],[400,4326,636],{"className":4327},[421],[400,4329],{"className":4330,"style":1256},[442],[400,4332,1542],{"className":4333},[1260],[400,4335],{"className":4336,"style":1256},[442],[400,4338,4340,4343,4349,4352,4355,4358,4362,4365,4368,4371,4374,4377,4380,4383,4386,4389,4392,4395,4398,4402,4405,4408],{"className":4339},[412],[400,4341],{"className":4342,"style":417},[416],[400,4344,4346],{"className":4345},[968],[400,4347,3114],{"className":4348},[421,975],[400,4350,429],{"className":4351},[428],[400,4353,2876],{"className":4354,"style":423},[421,422],[400,4356,900],{"className":4357},[428],[400,4359,4361],{"className":4360},[421],"5",[400,4363,907],{"className":4364},[452],[400,4366,438],{"className":4367},[437],[400,4369],{"className":4370,"style":443},[442],[400,4372,2876],{"className":4373,"style":423},[421,422],[400,4375,900],{"className":4376},[428],[400,4378,4125],{"className":4379},[421],[400,4381,907],{"className":4382},[452],[400,4384,438],{"className":4385},[437],[400,4387],{"className":4388,"style":443},[442],[400,4390,2876],{"className":4391,"style":423},[421,422],[400,4393,900],{"className":4394},[428],[400,4396,4227],{"className":4397},[421],[400,4399,4401],{"className":4400},[452],"])",[400,4403],{"className":4404,"style":1162},[442],[400,4406,1365],{"className":4407},[1008],[400,4409],{"className":4410,"style":1162},[442],[400,4412,4414,4417,4420,4423,4426],{"className":4413},[412],[400,4415],{"className":4416,"style":3380},[416],[400,4418,636],{"className":4419},[421],[400,4421],{"className":4422,"style":1256},[442],[400,4424,1542],{"className":4425},[1260],[400,4427],{"className":4428,"style":1256},[442],[400,4430,4432,4435,4441,4444,4447,4450,4453,4456,4459,4462,4465,4468,4471,4474],{"className":4431},[412],[400,4433],{"className":4434,"style":417},[416],[400,4436,4438],{"className":4437},[968],[400,4439,3114],{"className":4440},[421,975],[400,4442,429],{"className":4443},[428],[400,4445,4227],{"className":4446},[421],[400,4448,438],{"className":4449},[437],[400,4451],{"className":4452,"style":443},[442],[400,4454,636],{"className":4455},[421],[400,4457,438],{"className":4458},[437],[400,4460],{"className":4461,"style":443},[442],[400,4463,4227],{"className":4464},[421],[400,4466,453],{"className":4467},[452],[400,4469],{"className":4470,"style":1162},[442],[400,4472,1365],{"className":4473},[1008],[400,4475],{"className":4476,"style":1162},[442],[400,4478,4480,4483],{"className":4479},[412],[400,4481],{"className":4482,"style":1663},[416],[400,4484,4227],{"className":4485},[421],", achieved by\n",[400,4488,4490],{"className":4489},[403],[400,4491,4493,4511],{"className":4492,"ariaHidden":408},[407],[400,4494,4496,4499,4502,4505,4508],{"className":4495},[412],[400,4497],{"className":4498,"style":3380},[416],[400,4500,4125],{"className":4501},[421],[400,4503],{"className":4504,"style":1256},[442],[400,4506,1542],{"className":4507},[1260],[400,4509],{"className":4510,"style":1256},[442],[400,4512,4514,4517],{"className":4513},[412],[400,4515],{"className":4516,"style":1663},[416],[400,4518,4125],{"className":4519},[421]," (the highlighted transition): two coins, not the three a careless greedy\npick would take.",[4522,4523,4527],"pre",{"className":4524,"code":4525,"language":4526,"meta":376,"style":376},"language-algorithm shiki shiki-themes Vesper Light - Orange Boost (Quick Open Adjusted) vesper","caption: $\\textsc{Min-Coins}(c[1..n], A)$ — fewest coins summing to amount $A$\nnumber: 1\n$C[0] \\gets 0$\nfor $a \\gets 1$ to $A$ do\n  $C[a] \\gets +\\infty$ \u002F\u002F unreachable so far\n  $prev[a] \\gets \\text{nil}$\n  for $i \\gets 1$ to $n$ do\n    if $c[i] \\le a$ and $C[a - c[i]] + 1 \u003C C[a]$ then\n      $C[a] \\gets C[a - c[i]] + 1$\n      $prev[a] \\gets c[i]$ \u002F\u002F coin that closed the gap\nreturn $C[A]$ \u002F\u002F $+\\infty$: $A$ unreachable\n","algorithm",[4528,4529,4530,4536,4541,4546,4551,4556,4561,4566,4571,4576,4581],"code",{"__ignoreMap":376},[400,4531,4533],{"class":4532,"line":6},"line",[400,4534,4535],{},"caption: $\\textsc{Min-Coins}(c[1..n], A)$ — fewest coins summing to amount $A$\n",[400,4537,4538],{"class":4532,"line":18},[400,4539,4540],{},"number: 1\n",[400,4542,4543],{"class":4532,"line":24},[400,4544,4545],{},"$C[0] \\gets 0$\n",[400,4547,4548],{"class":4532,"line":73},[400,4549,4550],{},"for $a \\gets 1$ to $A$ do\n",[400,4552,4553],{"class":4532,"line":102},[400,4554,4555],{},"  $C[a] \\gets +\\infty$ \u002F\u002F unreachable so far\n",[400,4557,4558],{"class":4532,"line":108},[400,4559,4560],{},"  $prev[a] \\gets \\text{nil}$\n",[400,4562,4563],{"class":4532,"line":116},[400,4564,4565],{},"  for $i \\gets 1$ to $n$ do\n",[400,4567,4568],{"class":4532,"line":196},[400,4569,4570],{},"    if $c[i] \\le a$ and $C[a - c[i]] + 1 \u003C C[a]$ then\n",[400,4572,4573],{"class":4532,"line":202},[400,4574,4575],{},"      $C[a] \\gets C[a - c[i]] + 1$\n",[400,4577,4578],{"class":4532,"line":283},[400,4579,4580],{},"      $prev[a] \\gets c[i]$ \u002F\u002F coin that closed the gap\n",[400,4582,4583],{"class":4532,"line":333},[400,4584,4585],{},"return $C[A]$ \u002F\u002F $+\\infty$: $A$ unreachable\n",[381,4587,4588,4589,4604,4605,4620,4621,4648,4649,4673,4674,4677,4678,562,4681,4696,4697],{},"The outer loop runs over ",[400,4590,4592],{"className":4591},[403],[400,4593,4595],{"className":4594,"ariaHidden":408},[407],[400,4596,4598,4601],{"className":4597},[412],[400,4599],{"className":4600,"style":839},[416],[400,4602,2818],{"className":4603},[421,422]," amounts and the inner over ",[400,4606,4608],{"className":4607},[403],[400,4609,4611],{"className":4610,"ariaHidden":408},[407],[400,4612,4614,4617],{"className":4613},[412],[400,4615],{"className":4616,"style":575},[416],[400,4618,579],{"className":4619},[421,422]," coins, so the running\ntime is ",[400,4622,4624],{"className":4623},[403],[400,4625,4627],{"className":4626,"ariaHidden":408},[407],[400,4628,4630,4633,4636,4639,4642,4645],{"className":4629},[412],[400,4631],{"className":4632,"style":417},[416],[400,4634,2641],{"className":4635},[421],[400,4637,429],{"className":4638},[428],[400,4640,579],{"className":4641},[421,422],[400,4643,2818],{"className":4644},[421,422],[400,4646,453],{"className":4647},[452]," in ",[400,4650,4652],{"className":4651},[403],[400,4653,4655],{"className":4654,"ariaHidden":408},[407],[400,4656,4658,4661,4664,4667,4670],{"className":4657},[412],[400,4659],{"className":4660,"style":417},[416],[400,4662,2641],{"className":4663},[421],[400,4665,429],{"className":4666},[428],[400,4668,2818],{"className":4669},[421,422],[400,4671,453],{"className":4672},[452]," space, ",[385,4675,4676],{"href":17},"pseudo-polynomial"," in exactly the sense\nof the previous lesson: polynomial in the numeric ",[390,4679,4680],{},"value",[400,4682,4684],{"className":4683},[403],[400,4685,4687],{"className":4686,"ariaHidden":408},[407],[400,4688,4690,4693],{"className":4689},[412],[400,4691],{"className":4692,"style":839},[416],[400,4694,2818],{"className":4695},[421,422]," but exponential in\nits bit length.",[4698,4699,4700],"sup",{},[385,4701,636],{"href":4702,"ariaDescribedBy":4703,"dataFootnoteRef":376,"id":4705},"#user-content-fn-skiena-coin",[4704],"footnote-label","user-content-fnref-skiena-coin",[381,4707,4708,4711,4712,4736,4737,4740,4741,4768,4769,4802,4803,4836,4837,4888,4889,869],{},[477,4709,4710],{},"Reconstruction."," The value ",[400,4713,4715],{"className":4714},[403],[400,4716,4718],{"className":4717,"ariaHidden":408},[407],[400,4719,4721,4724,4727,4730,4733],{"className":4720},[412],[400,4722],{"className":4723,"style":417},[416],[400,4725,2876],{"className":4726,"style":423},[421,422],[400,4728,900],{"className":4729},[428],[400,4731,2818],{"className":4732},[421,422],[400,4734,907],{"className":4735},[452]," is the coin ",[390,4738,4739],{},"count","; the coins themselves come\nfrom the ",[400,4742,4744],{"className":4743},[403],[400,4745,4747],{"className":4746,"ariaHidden":408},[407],[400,4748,4750,4753,4756,4761,4765],{"className":4749},[412],[400,4751],{"className":4752,"style":593},[416],[400,4754,381],{"className":4755},[421,422],[400,4757,4760],{"className":4758,"style":4759},[421,422],"margin-right:0.0278em;","r",[400,4762,4764],{"className":4763},[421,422],"e",[400,4766,732],{"className":4767,"style":731},[421,422]," array. Starting at ",[400,4770,4772],{"className":4771},[403],[400,4773,4775,4793],{"className":4774,"ariaHidden":408},[407],[400,4776,4778,4781,4784,4787,4790],{"className":4777},[412],[400,4779],{"className":4780,"style":575},[416],[400,4782,385],{"className":4783},[421,422],[400,4785],{"className":4786,"style":1162},[442],[400,4788,1365],{"className":4789},[1008],[400,4791],{"className":4792,"style":1162},[442],[400,4794,4796,4799],{"className":4795},[412],[400,4797],{"className":4798,"style":839},[416],[400,4800,2818],{"className":4801},[421,422],", the denomination ",[400,4804,4806],{"className":4805},[403],[400,4807,4809],{"className":4808,"ariaHidden":408},[407],[400,4810,4812,4815,4818,4821,4824,4827,4830,4833],{"className":4811},[412],[400,4813],{"className":4814,"style":417},[416],[400,4816,381],{"className":4817},[421,422],[400,4819,4760],{"className":4820,"style":4759},[421,422],[400,4822,4764],{"className":4823},[421,422],[400,4825,732],{"className":4826,"style":731},[421,422],[400,4828,900],{"className":4829},[428],[400,4831,385],{"className":4832},[421,422],[400,4834,907],{"className":4835},[452]," is the last\ncoin used, so emit it and jump to ",[400,4838,4840],{"className":4839},[403],[400,4841,4843,4861],{"className":4842,"ariaHidden":408},[407],[400,4844,4846,4849,4852,4855,4858],{"className":4845},[412],[400,4847],{"className":4848,"style":1249},[416],[400,4850,385],{"className":4851},[421,422],[400,4853],{"className":4854,"style":1256},[442],[400,4856,1261],{"className":4857},[1260],[400,4859],{"className":4860,"style":1256},[442],[400,4862,4864,4867,4870,4873,4876,4879,4882,4885],{"className":4863},[412],[400,4865],{"className":4866,"style":417},[416],[400,4868,381],{"className":4869},[421,422],[400,4871,4760],{"className":4872,"style":4759},[421,422],[400,4874,4764],{"className":4875},[421,422],[400,4877,732],{"className":4878,"style":731},[421,422],[400,4880,900],{"className":4881},[428],[400,4883,385],{"className":4884},[421,422],[400,4886,907],{"className":4887},[452],"; repeat until ",[400,4890,4892],{"className":4891},[403],[400,4893,4895,4913],{"className":4894,"ariaHidden":408},[407],[400,4896,4898,4901,4904,4907,4910],{"className":4897},[412],[400,4899],{"className":4900,"style":575},[416],[400,4902,385],{"className":4903},[421,422],[400,4905],{"className":4906,"style":1162},[442],[400,4908,1365],{"className":4909},[1008],[400,4911],{"className":4912,"style":1162},[442],[400,4914,4916,4919],{"className":4915},[412],[400,4917],{"className":4918,"style":1663},[416],[400,4920,1644],{"className":4921},[421],[4522,4923,4925],{"className":4524,"code":4924,"language":4526,"meta":376,"style":376},"caption: $\\textsc{Recover-Coins}(prev, A)$ — list the coins of an optimal solution\nnumber: 2\n$a \\gets A$;  $S \\gets \\langle\\,\\rangle$\nwhile $a > 0$ do\n  $S \\gets S \\cup \\set{prev[a]}$ \u002F\u002F coin that closed $a$\n  $a \\gets a - prev[a]$\nreturn $S$\n",[4528,4926,4927,4932,4937,4942,4947,4952,4957],{"__ignoreMap":376},[400,4928,4929],{"class":4532,"line":6},[400,4930,4931],{},"caption: $\\textsc{Recover-Coins}(prev, A)$ — list the coins of an optimal solution\n",[400,4933,4934],{"class":4532,"line":18},[400,4935,4936],{},"number: 2\n",[400,4938,4939],{"class":4532,"line":24},[400,4940,4941],{},"$a \\gets A$;  $S \\gets \\langle\\,\\rangle$\n",[400,4943,4944],{"class":4532,"line":73},[400,4945,4946],{},"while $a > 0$ do\n",[400,4948,4949],{"class":4532,"line":102},[400,4950,4951],{},"  $S \\gets S \\cup \\set{prev[a]}$ \u002F\u002F coin that closed $a$\n",[400,4953,4954],{"class":4532,"line":108},[400,4955,4956],{},"  $a \\gets a - prev[a]$\n",[400,4958,4959],{"class":4532,"line":116},[400,4960,4961],{},"return $S$\n",[549,4963,4965],{"id":4964},"coin-change-counting-combinations","Coin change — counting combinations",[381,4967,4968,4969,4972,4973,4976,4977,4992,4993,4996,4997,5000,5001,2093,5049,5079,5080,5095,5096,5126,5127,5157,5158,5160,5161,5187,5188,5203,5204,5246,5247,4126],{},"A different question on the same coins: not ",[390,4970,4971],{},"how few"," coins, but ",[390,4974,4975],{},"how many distinct\nways"," to make amount ",[400,4978,4980],{"className":4979},[403],[400,4981,4983],{"className":4982,"ariaHidden":408},[407],[400,4984,4986,4989],{"className":4985},[412],[400,4987],{"className":4988,"style":839},[416],[400,4990,2818],{"className":4991},[421,422],". This is ",[477,4994,4995],{},"Coin Change II",", and it counts ",[477,4998,4999],{},"multisets"," of\ncoins. ",[400,5002,5004],{"className":5003},[403],[400,5005,5007],{"className":5006,"ariaHidden":408},[407],[400,5008,5010,5013,5016,5019,5022,5025,5028,5031,5034,5037,5040,5043,5046],{"className":5009},[412],[400,5011],{"className":5012,"style":417},[416],[400,5014,4145],{"className":5015},[428],[400,5017,636],{"className":5018},[421],[400,5020,438],{"className":5021},[437],[400,5023],{"className":5024,"style":443},[442],[400,5026,636],{"className":5027},[421],[400,5029,438],{"className":5030},[437],[400,5032],{"className":5033,"style":443},[442],[400,5035,636],{"className":5036},[421],[400,5038,438],{"className":5039},[437],[400,5041],{"className":5042,"style":443},[442],[400,5044,636],{"className":5045},[421],[400,5047,4171],{"className":5048},[452],[400,5050,5052],{"className":5051},[403],[400,5053,5055],{"className":5054,"ariaHidden":408},[407],[400,5056,5058,5061,5064,5067,5070,5073,5076],{"className":5057},[412],[400,5059],{"className":5060,"style":417},[416],[400,5062,4145],{"className":5063},[428],[400,5065,636],{"className":5066},[421],[400,5068,438],{"className":5069},[437],[400,5071],{"className":5072,"style":443},[442],[400,5074,4125],{"className":5075},[421],[400,5077,4171],{"className":5078},[452]," are two ways to make ",[400,5081,5083],{"className":5082},[403],[400,5084,5086],{"className":5085,"ariaHidden":408},[407],[400,5087,5089,5092],{"className":5088},[412],[400,5090],{"className":5091,"style":1663},[416],[400,5093,4167],{"className":5094},[421],", but ",[400,5097,5099],{"className":5098},[403],[400,5100,5102],{"className":5101,"ariaHidden":408},[407],[400,5103,5105,5108,5111,5114,5117,5120,5123],{"className":5104},[412],[400,5106],{"className":5107,"style":417},[416],[400,5109,4145],{"className":5110},[428],[400,5112,636],{"className":5113},[421],[400,5115,438],{"className":5116},[437],[400,5118],{"className":5119,"style":443},[442],[400,5121,4125],{"className":5122},[421],[400,5124,4171],{"className":5125},[452]," and\n",[400,5128,5130],{"className":5129},[403],[400,5131,5133],{"className":5132,"ariaHidden":408},[407],[400,5134,5136,5139,5142,5145,5148,5151,5154],{"className":5135},[412],[400,5137],{"className":5138,"style":417},[416],[400,5140,4145],{"className":5141},[428],[400,5143,4125],{"className":5144},[421],[400,5146,438],{"className":5147},[437],[400,5149],{"className":5150,"style":443},[442],[400,5152,636],{"className":5153},[421],[400,5155,4171],{"className":5156},[452]," are the ",[390,5159,2054],{}," way, because a multiset has no order. Let ",[400,5162,5164],{"className":5163},[403],[400,5165,5167],{"className":5166,"ariaHidden":408},[407],[400,5168,5170,5173,5178,5181,5184],{"className":5169},[412],[400,5171],{"className":5172,"style":417},[416],[400,5174,5177],{"className":5175,"style":5176},[421,422],"margin-right:0.109em;","N",[400,5179,900],{"className":5180},[428],[400,5182,385],{"className":5183},[421,422],[400,5185,907],{"className":5186},[452]," be the\nnumber of such combinations summing to ",[400,5189,5191],{"className":5190},[403],[400,5192,5194],{"className":5193,"ariaHidden":408},[407],[400,5195,5197,5200],{"className":5196},[412],[400,5198],{"className":5199,"style":575},[416],[400,5201,385],{"className":5202},[421,422],", with ",[400,5205,5207],{"className":5206},[403],[400,5208,5210,5237],{"className":5209,"ariaHidden":408},[407],[400,5211,5213,5216,5219,5222,5225,5228,5231,5234],{"className":5212},[412],[400,5214],{"className":5215,"style":417},[416],[400,5217,5177],{"className":5218,"style":5176},[421,422],[400,5220,900],{"className":5221},[428],[400,5223,1644],{"className":5224},[421],[400,5226,907],{"className":5227},[452],[400,5229],{"className":5230,"style":1162},[442],[400,5232,1365],{"className":5233},[1008],[400,5235],{"className":5236,"style":1162},[442],[400,5238,5240,5243],{"className":5239},[412],[400,5241],{"className":5242,"style":1663},[416],[400,5244,636],{"className":5245},[421]," (the empty multiset is\nthe one way to make ",[400,5248,5250],{"className":5249},[403],[400,5251,5253],{"className":5252,"ariaHidden":408},[407],[400,5254,5256,5259],{"className":5255},[412],[400,5257],{"className":5258,"style":1663},[416],[400,5260,1644],{"className":5261},[421],[381,5263,5264,5265,5394,5395,5398,5399,2093,5423,5447],{},"The naive recurrence \"",[400,5266,5268],{"className":5267},[403],[400,5269,5271,5298,5382],{"className":5270,"ariaHidden":408},[407],[400,5272,5274,5277,5280,5283,5286,5289,5292,5295],{"className":5273},[412],[400,5275],{"className":5276,"style":417},[416],[400,5278,5177],{"className":5279,"style":5176},[421,422],[400,5281,900],{"className":5282},[428],[400,5284,385],{"className":5285},[421,422],[400,5287,907],{"className":5288},[452],[400,5290],{"className":5291,"style":1162},[442],[400,5293,1365],{"className":5294},[1008],[400,5296],{"className":5297,"style":1162},[442],[400,5299,5301,5305,5361,5364,5367,5370,5373,5376,5379],{"className":5300},[412],[400,5302],{"className":5303,"style":5304},[416],"height:1.1449em;vertical-align:-0.3949em;",[400,5306,5308,5315],{"className":5307},[968],[400,5309,5314],{"className":5310,"style":5313},[968,5311,5312],"op-symbol","small-op","position:relative;top:0em;","∑",[400,5316,5318],{"className":5317},[603],[400,5319,5321,5352],{"className":5320},[607,608],[400,5322,5324,5349],{"className":5323},[612],[400,5325,5328],{"className":5326,"style":5327},[616],"height:0.1455em;",[400,5329,5331,5334],{"style":5330},"top:-2.4003em;margin-left:0em;margin-right:0.05em;",[400,5332],{"className":5333,"style":625},[624],[400,5335,5337],{"className":5336},[629,630,631,632],[400,5338,5340,5343,5346],{"className":5339},[421,632],[400,5341,2708],{"className":5342},[421,422,632],[400,5344,1009],{"className":5345},[1008,632],[400,5347,385],{"className":5348},[421,422,632],[400,5350,641],{"className":5351},[640],[400,5353,5355],{"className":5354},[612],[400,5356,5359],{"className":5357,"style":5358},[616],"height:0.3949em;",[400,5360],{},[400,5362],{"className":5363,"style":443},[442],[400,5365,5177],{"className":5366,"style":5176},[421,422],[400,5368,900],{"className":5369},[428],[400,5371,385],{"className":5372},[421,422],[400,5374],{"className":5375,"style":1256},[442],[400,5377,1261],{"className":5378},[1260],[400,5380],{"className":5381,"style":1256},[442],[400,5383,5385,5388,5391],{"className":5384},[412],[400,5386],{"className":5387,"style":417},[416],[400,5389,2708],{"className":5390},[421,422],[400,5392,907],{"className":5393},[452],"\" is ",[477,5396,5397],{},"wrong"," for combinations;\nit counts ",[400,5400,5402],{"className":5401},[403],[400,5403,5405],{"className":5404,"ariaHidden":408},[407],[400,5406,5408,5411,5414,5420],{"className":5407},[412],[400,5409],{"className":5410,"style":3380},[416],[400,5412,636],{"className":5413},[421],[400,5415,5417],{"className":5416},[421],[400,5418,1542],{"className":5419},[421],[400,5421,4125],{"className":5422},[421],[400,5424,5426],{"className":5425},[403],[400,5427,5429],{"className":5428,"ariaHidden":408},[407],[400,5430,5432,5435,5438,5444],{"className":5431},[412],[400,5433],{"className":5434,"style":3380},[416],[400,5436,4125],{"className":5437},[421],[400,5439,5441],{"className":5440},[421],[400,5442,1542],{"className":5443},[421],[400,5445,636],{"className":5446},[421]," separately. The fix is structural and is the most\nfamous loop-order subtlety in dynamic programming.",[554,5449,5450,5455],{"type":2099},[381,5451,5452],{},[477,5453,5454],{},"Remark (Loop order decides what you count).",[5456,5457,5458,5469],"ul",{},[5459,5460,5461,5464,5465,5468],"li",{},[477,5462,5463],{},"Coins outer, amount inner"," — process one denomination at a time, folding all\nof its copies into the table before moving to the next coin — counts ",[477,5466,5467],{},"unordered\ncombinations"," (multisets). This is Coin Change II.",[5459,5470,5471,5474,5475,5478,5479,5482,5483],{},[477,5472,5473],{},"Amount outer, coins inner"," — at each amount, sum over every coin that could\ncome ",[390,5476,5477],{},"last"," — counts ",[477,5480,5481],{},"ordered sequences"," (compositions). This is Combination\nSum IV.",[4698,5484,5485],{},[385,5486,4227],{"href":5487,"ariaDescribedBy":5488,"dataFootnoteRef":376,"id":5489},"#user-content-fn-cs-loop",[4704],"user-content-fnref-cs-loop",[381,5491,5492,5493,5496,5497,5549,5550,5602,5603,5606],{},"Why does coins-outer kill the double-count? Because each denomination is introduced\nexactly once and never revisited, every multiset is built in a ",[390,5494,5495],{},"fixed canonical\norder"," of denominations (coin ",[400,5498,5500],{"className":5499},[403],[400,5501,5503],{"className":5502,"ariaHidden":408},[407],[400,5504,5506,5509],{"className":5505},[412],[400,5507],{"className":5508,"style":1191},[416],[400,5510,5512,5515],{"className":5511},[421],[400,5513,2708],{"className":5514},[421,422],[400,5516,5518],{"className":5517},[603],[400,5519,5521,5541],{"className":5520},[607,608],[400,5522,5524,5538],{"className":5523},[612],[400,5525,5527],{"className":5526,"style":617},[616],[400,5528,5529,5532],{"style":2723},[400,5530],{"className":5531,"style":625},[624],[400,5533,5535],{"className":5534},[629,630,631,632],[400,5536,636],{"className":5537},[421,632],[400,5539,641],{"className":5540},[640],[400,5542,5544],{"className":5543},[612],[400,5545,5547],{"className":5546,"style":648},[616],[400,5548],{}," first, then ",[400,5551,5553],{"className":5552},[403],[400,5554,5556],{"className":5555,"ariaHidden":408},[407],[400,5557,5559,5562],{"className":5558},[412],[400,5560],{"className":5561,"style":1191},[416],[400,5563,5565,5568],{"className":5564},[421],[400,5566,2708],{"className":5567},[421,422],[400,5569,5571],{"className":5570},[603],[400,5572,5574,5594],{"className":5573},[607,608],[400,5575,5577,5591],{"className":5576},[612],[400,5578,5580],{"className":5579,"style":617},[616],[400,5581,5582,5585],{"style":2723},[400,5583],{"className":5584,"style":625},[624],[400,5586,5588],{"className":5587},[629,630,631,632],[400,5589,4227],{"className":5590},[421,632],[400,5592,641],{"className":5593},[640],[400,5595,5597],{"className":5596},[612],[400,5598,5600],{"className":5599,"style":648},[616],[400,5601],{},", and so on), so each multiset\nis reached by exactly one path through the loops. The amount-outer loop, by\ncontrast, re-asks ",[395,5604,5605],{},"which coin is last?"," at every amount, so the same multiset is\ncounted once for each ordering of its coins.",[3622,5608,5610,5899],{"className":5609},[3625,3626],[2990,5611,5615],{"xmlns":2992,"width":5612,"height":5613,"viewBox":5614},"315.644","147.789","-75 -75 236.733 110.842",[3633,5616,5617,5639,5642,5648,5651,5656,5659,5664,5667,5672,5693,5712,5731,5750,5769,5772,5778,5781,5787,5799,5810,5820,5828],{"stroke":3635,"style":3636},[3633,5618,5620,5627,5633],{"stroke":3639,"fontFamily":5619,"fontSize":3640},"cmr8",[3633,5621,5623],{"transform":5622},"translate(-80.887 2.778)",[2999,5624],{"d":5625,"fill":3635,"stroke":3635,"className":5626,"style":3649},"M18.952-46.705Q18.952-47.189 19.354-47.484Q19.757-47.779 20.307-47.898Q20.858-48.018 21.350-48.018L21.350-48.307Q21.350-48.533 21.235-48.740Q21.120-48.947 20.923-49.066Q20.725-49.185 20.495-49.185Q20.069-49.185 19.784-49.080Q19.854-49.053 19.901-48.998Q19.948-48.943 19.973-48.873Q19.999-48.803 19.999-48.728Q19.999-48.623 19.948-48.531Q19.897-48.439 19.805-48.389Q19.714-48.338 19.608-48.338Q19.503-48.338 19.411-48.389Q19.319-48.439 19.268-48.531Q19.218-48.623 19.218-48.728Q19.218-49.146 19.606-49.293Q19.995-49.439 20.495-49.439Q20.827-49.439 21.180-49.309Q21.534-49.178 21.762-48.924Q21.991-48.670 21.991-48.322L21.991-46.521Q21.991-46.389 22.063-46.279Q22.136-46.170 22.264-46.170Q22.389-46.170 22.458-46.275Q22.526-46.381 22.526-46.521L22.526-47.033L22.807-47.033L22.807-46.521Q22.807-46.318 22.690-46.160Q22.573-46.002 22.391-45.918Q22.210-45.834 22.007-45.834Q21.776-45.834 21.624-46.006Q21.471-46.178 21.440-46.408Q21.280-46.127 20.971-45.961Q20.663-45.795 20.311-45.795Q19.800-45.795 19.376-46.018Q18.952-46.240 18.952-46.705M19.639-46.705Q19.639-46.420 19.866-46.234Q20.093-46.049 20.386-46.049Q20.632-46.049 20.856-46.166Q21.081-46.283 21.216-46.486Q21.350-46.689 21.350-46.943L21.350-47.775Q21.085-47.775 20.800-47.721Q20.514-47.666 20.243-47.537Q19.971-47.408 19.805-47.201Q19.639-46.994 19.639-46.705M25.167-45.873L23.182-45.873L23.182-46.170Q23.456-46.170 23.624-46.217Q23.792-46.264 23.792-46.432L23.792-49.025L23.151-49.025L23.151-49.322L23.792-49.322L23.792-50.256Q23.792-50.521 23.909-50.758Q24.026-50.994 24.220-51.158Q24.413-51.322 24.661-51.414Q24.909-51.506 25.175-51.506Q25.460-51.506 25.684-51.348Q25.909-51.189 25.909-50.912Q25.909-50.756 25.803-50.646Q25.698-50.537 25.534-50.537Q25.378-50.537 25.268-50.646Q25.159-50.756 25.159-50.912Q25.159-51.119 25.319-51.225Q25.221-51.248 25.128-51.248Q24.897-51.248 24.725-51.092Q24.553-50.935 24.468-50.699Q24.382-50.463 24.382-50.240L24.382-49.322L25.350-49.322L25.350-49.025L24.405-49.025L24.405-46.432Q24.405-46.264 24.632-46.217Q24.858-46.170 25.167-46.170L25.167-45.873M26.319-46.834L26.319-49.025L25.616-49.025L25.616-49.279Q25.971-49.279 26.214-49.512Q26.456-49.744 26.567-50.092Q26.678-50.439 26.678-50.795L26.960-50.795L26.960-49.322L28.136-49.322L28.136-49.025L26.960-49.025L26.960-46.850Q26.960-46.529 27.079-46.301Q27.198-46.072 27.479-46.072Q27.659-46.072 27.776-46.195Q27.893-46.318 27.946-46.498Q27.999-46.678 27.999-46.850L27.999-47.322L28.280-47.322L28.280-46.834Q28.280-46.580 28.175-46.340Q28.069-46.100 27.872-45.947Q27.675-45.795 27.417-45.795Q27.100-45.795 26.848-45.918Q26.596-46.041 26.458-46.275Q26.319-46.510 26.319-46.834M28.999-47.627Q28.999-48.107 29.231-48.523Q29.464-48.939 29.874-49.189Q30.284-49.439 30.761-49.439Q31.491-49.439 31.889-48.998Q32.288-48.557 32.288-47.826Q32.288-47.721 32.194-47.697L29.745-47.697L29.745-47.627Q29.745-47.217 29.866-46.861Q29.987-46.506 30.259-46.289Q30.530-46.072 30.960-46.072Q31.323-46.072 31.620-46.301Q31.917-46.529 32.018-46.881Q32.026-46.928 32.112-46.943L32.194-46.943Q32.288-46.916 32.288-46.834Q32.288-46.826 32.280-46.795Q32.218-46.568 32.079-46.385Q31.940-46.201 31.749-46.068Q31.557-45.935 31.339-45.865Q31.120-45.795 30.882-45.795Q30.511-45.795 30.173-45.932Q29.835-46.068 29.567-46.320Q29.300-46.572 29.149-46.912Q28.999-47.252 28.999-47.627M29.753-47.935L31.714-47.935Q31.714-48.240 31.612-48.531Q31.511-48.822 31.294-49.004Q31.077-49.185 30.761-49.185Q30.460-49.185 30.229-48.998Q29.999-48.810 29.876-48.519Q29.753-48.228 29.753-47.935M34.784-45.873L32.803-45.873L32.803-46.170Q33.073-46.170 33.241-46.215Q33.409-46.260 33.409-46.432L33.409-48.568Q33.409-48.783 33.346-48.879Q33.284-48.975 33.167-48.996Q33.050-49.018 32.803-49.018L32.803-49.314L33.971-49.400L33.971-48.615Q34.050-48.826 34.202-49.012Q34.354-49.197 34.553-49.299Q34.753-49.400 34.979-49.400Q35.225-49.400 35.417-49.256Q35.608-49.111 35.608-48.881Q35.608-48.725 35.503-48.615Q35.397-48.506 35.241-48.506Q35.085-48.506 34.975-48.615Q34.866-48.725 34.866-48.881Q34.866-49.041 34.971-49.146Q34.647-49.146 34.432-48.918Q34.218-48.689 34.122-48.350Q34.026-48.010 34.026-47.705L34.026-46.432Q34.026-46.264 34.253-46.217Q34.479-46.170 34.784-46.170",[3648],[3633,5628,5629],{"transform":5622},[2999,5630],{"d":5631,"fill":3635,"stroke":3635,"className":5632,"style":3649},"M38.974-47.600Q38.974-48.096 39.224-48.521Q39.474-48.947 39.894-49.193Q40.314-49.439 40.814-49.439Q41.353-49.439 41.744-49.314Q42.134-49.189 42.134-48.775Q42.134-48.670 42.084-48.578Q42.033-48.486 41.941-48.435Q41.849-48.385 41.740-48.385Q41.634-48.385 41.543-48.435Q41.451-48.486 41.400-48.578Q41.349-48.670 41.349-48.775Q41.349-48.998 41.517-49.103Q41.295-49.162 40.822-49.162Q40.525-49.162 40.310-49.023Q40.095-48.885 39.964-48.654Q39.834-48.424 39.775-48.154Q39.716-47.885 39.716-47.600Q39.716-47.205 39.849-46.855Q39.982-46.506 40.254-46.289Q40.525-46.072 40.923-46.072Q41.298-46.072 41.574-46.289Q41.849-46.506 41.951-46.865Q41.966-46.928 42.029-46.928L42.134-46.928Q42.170-46.928 42.195-46.900Q42.220-46.873 42.220-46.834L42.220-46.810Q42.088-46.330 41.703-46.062Q41.318-45.795 40.814-45.795Q40.451-45.795 40.117-45.932Q39.783-46.068 39.523-46.318Q39.263-46.568 39.119-46.904Q38.974-47.240 38.974-47.600M42.709-47.568Q42.709-48.072 42.964-48.504Q43.220-48.935 43.656-49.187Q44.091-49.439 44.591-49.439Q44.978-49.439 45.320-49.295Q45.662-49.150 45.923-48.889Q46.185-48.627 46.328-48.291Q46.470-47.955 46.470-47.568Q46.470-47.076 46.207-46.666Q45.943-46.256 45.513-46.025Q45.084-45.795 44.591-45.795Q44.099-45.795 43.666-46.027Q43.232-46.260 42.970-46.668Q42.709-47.076 42.709-47.568M44.591-46.072Q45.048-46.072 45.300-46.295Q45.552-46.518 45.640-46.869Q45.728-47.221 45.728-47.666Q45.728-48.096 45.634-48.434Q45.541-48.771 45.287-48.978Q45.033-49.185 44.591-49.185Q43.943-49.185 43.699-48.769Q43.455-48.353 43.455-47.666Q43.455-47.221 43.543-46.869Q43.630-46.518 43.882-46.295Q44.134-46.072 44.591-46.072M48.814-45.873L47.037-45.873L47.037-46.170Q47.310-46.170 47.478-46.217Q47.646-46.264 47.646-46.432L47.646-48.568Q47.646-48.783 47.589-48.879Q47.533-48.975 47.420-48.996Q47.306-49.018 47.060-49.018L47.060-49.314L48.259-49.400L48.259-46.432Q48.259-46.264 48.406-46.217Q48.552-46.170 48.814-46.170L48.814-45.873M47.373-50.795Q47.373-50.986 47.507-51.117Q47.642-51.248 47.838-51.248Q47.959-51.248 48.062-51.185Q48.166-51.123 48.228-51.019Q48.291-50.916 48.291-50.795Q48.291-50.600 48.160-50.465Q48.029-50.330 47.838-50.330Q47.638-50.330 47.505-50.463Q47.373-50.596 47.373-50.795M51.244-45.873L49.388-45.873L49.388-46.170Q49.662-46.170 49.830-46.217Q49.998-46.264 49.998-46.432L49.998-48.568Q49.998-48.783 49.935-48.879Q49.873-48.975 49.754-48.996Q49.634-49.018 49.388-49.018L49.388-49.314L50.580-49.400L50.580-48.666Q50.693-48.881 50.886-49.049Q51.080-49.217 51.318-49.309Q51.556-49.400 51.810-49.400Q52.978-49.400 52.978-48.322L52.978-46.432Q52.978-46.264 53.148-46.217Q53.318-46.170 53.588-46.170L53.588-45.873L51.732-45.873L51.732-46.170Q52.005-46.170 52.173-46.217Q52.341-46.264 52.341-46.432L52.341-48.307Q52.341-48.689 52.220-48.918Q52.099-49.146 51.748-49.146Q51.435-49.146 51.181-48.984Q50.927-48.822 50.781-48.553Q50.634-48.283 50.634-47.986L50.634-46.432Q50.634-46.264 50.804-46.217Q50.974-46.170 51.244-46.170",[3648],[3633,5634,5635],{"transform":5622},[2999,5636],{"d":5637,"fill":3635,"stroke":3635,"className":5638,"style":3649},"M60.232-45.873L57.439-45.873L57.439-46.170Q58.501-46.170 58.501-46.432L58.501-50.600Q58.072-50.385 57.392-50.385L57.392-50.682Q58.411-50.682 58.927-51.193L59.072-51.193Q59.146-51.174 59.165-51.096L59.165-46.432Q59.165-46.170 60.232-46.170",[3648],[2999,5640],{"fill":3639,"d":5641},"M5.813-33.07H31.42v-25.607H5.813Z",[3633,5643,5644],{"transform":3781},[2999,5645],{"d":5646,"fill":3635,"stroke":3635,"className":5647,"style":3786},"M22.523-45.873L19.491-45.873L19.491-46.189Q20.642-46.189 20.642-46.484L20.642-51.208Q20.154-50.975 19.433-50.975L19.433-51.291Q20.563-51.291 21.125-51.867L21.270-51.867Q21.305-51.867 21.338-51.834Q21.371-51.801 21.371-51.766L21.371-46.484Q21.371-46.189 22.523-46.189",[3648],[2999,5649],{"fill":3639,"d":5650},"M34.265-33.07h25.608v-25.607H34.265Z",[3633,5652,5653],{"transform":3792},[2999,5654],{"d":5646,"fill":3635,"stroke":3635,"className":5655,"style":3786},[3648],[2999,5657],{"fill":3639,"d":5658},"M62.718-33.07h25.607v-25.607H62.718Z",[3633,5660,5661],{"transform":3802},[2999,5662],{"d":5646,"fill":3635,"stroke":3635,"className":5663,"style":3786},[3648],[2999,5665],{"fill":3639,"d":5666},"M91.17-33.07h25.608v-25.607H91.171Z",[3633,5668,5669],{"transform":3812},[2999,5670],{"d":5646,"fill":3635,"stroke":3635,"className":5671,"style":3786},[3648],[3633,5673,5674,5681,5687],{"stroke":3639,"fontSize":3640},[3633,5675,5677],{"transform":5676},"translate(-7.688 -17.908)",[2999,5678],{"d":5679,"fill":3635,"stroke":3635,"className":5680,"style":3649},"M20.120-45.795Q19.764-45.795 19.495-45.975Q19.225-46.154 19.085-46.449Q18.944-46.744 18.944-47.103Q18.944-47.490 19.106-47.904Q19.268-48.318 19.552-48.656Q19.835-48.994 20.204-49.197Q20.573-49.400 20.975-49.400Q21.468-49.400 21.745-48.951Q21.776-49.084 21.880-49.166Q21.983-49.248 22.112-49.248Q22.225-49.248 22.305-49.178Q22.386-49.107 22.386-48.994Q22.386-48.967 22.370-48.904L21.815-46.705Q21.776-46.459 21.776-46.408Q21.776-46.049 22.022-46.049Q22.167-46.049 22.268-46.156Q22.370-46.264 22.434-46.418Q22.499-46.572 22.548-46.762Q22.596-46.951 22.616-47.049Q22.643-47.119 22.706-47.119L22.807-47.119Q22.846-47.119 22.872-47.086Q22.897-47.053 22.897-47.025Q22.897-47.010 22.889-46.994Q22.776-46.502 22.577-46.148Q22.378-45.795 22.007-45.795Q21.725-45.795 21.499-45.937Q21.272-46.080 21.190-46.338Q20.968-46.096 20.694-45.945Q20.421-45.795 20.120-45.795M20.136-46.049Q20.346-46.049 20.555-46.162Q20.764-46.275 20.934-46.449Q21.104-46.623 21.233-46.818Q21.221-46.803 21.212-46.789Q21.202-46.775 21.190-46.760L21.624-48.482Q21.585-48.662 21.499-48.812Q21.413-48.963 21.276-49.055Q21.139-49.146 20.960-49.146Q20.624-49.146 20.352-48.865Q20.081-48.584 19.921-48.209Q19.796-47.889 19.698-47.469Q19.600-47.049 19.600-46.768Q19.600-46.478 19.733-46.264Q19.866-46.049 20.136-46.049",[3648],[3633,5682,5683],{"transform":5676},[2999,5684],{"d":5685,"fill":3635,"stroke":3635,"className":5686,"style":3649},"M29.092-46.850L23.779-46.850Q23.701-46.857 23.652-46.906Q23.604-46.955 23.604-47.033Q23.604-47.103 23.651-47.154Q23.697-47.205 23.779-47.217L29.092-47.217Q29.166-47.205 29.213-47.154Q29.260-47.103 29.260-47.033Q29.260-46.955 29.211-46.906Q29.162-46.857 29.092-46.850M29.092-48.537L23.779-48.537Q23.701-48.545 23.652-48.594Q23.604-48.643 23.604-48.721Q23.604-48.791 23.651-48.842Q23.697-48.893 23.779-48.904L29.092-48.904Q29.166-48.893 29.213-48.842Q29.260-48.791 29.260-48.721Q29.260-48.643 29.211-48.594Q29.162-48.545 29.092-48.537",[3648],[3633,5688,5689],{"transform":5676},[2999,5690],{"d":5691,"fill":3635,"stroke":3635,"className":5692,"style":3649},"M31.863-45.705Q31.160-45.705 30.760-46.105Q30.359-46.506 30.215-47.115Q30.070-47.725 30.070-48.424Q30.070-48.947 30.140-49.410Q30.211-49.873 30.404-50.285Q30.597-50.697 30.955-50.945Q31.312-51.193 31.863-51.193Q32.414-51.193 32.771-50.945Q33.129-50.697 33.320-50.287Q33.512-49.877 33.582-49.408Q33.652-48.939 33.652-48.424Q33.652-47.725 33.510-47.117Q33.367-46.510 32.967-46.107Q32.566-45.705 31.863-45.705M31.863-45.963Q32.336-45.963 32.568-46.398Q32.801-46.834 32.855-47.373Q32.910-47.912 32.910-48.553Q32.910-49.549 32.726-50.242Q32.543-50.935 31.863-50.935Q31.496-50.935 31.275-50.697Q31.055-50.459 30.959-50.102Q30.863-49.744 30.838-49.373Q30.812-49.002 30.812-48.553Q30.812-47.912 30.867-47.373Q30.922-46.834 31.154-46.398Q31.387-45.963 31.863-45.963",[3648],[3633,5694,5695,5701,5706],{"stroke":3639,"fontSize":3640},[3633,5696,5698],{"transform":5697},"translate(20.765 -17.908)",[2999,5699],{"d":5679,"fill":3635,"stroke":3635,"className":5700,"style":3649},[3648],[3633,5702,5703],{"transform":5697},[2999,5704],{"d":5685,"fill":3635,"stroke":3635,"className":5705,"style":3649},[3648],[3633,5707,5708],{"transform":5697},[2999,5709],{"d":5710,"fill":3635,"stroke":3635,"className":5711,"style":3649},"M33.336-45.873L30.543-45.873L30.543-46.170Q31.605-46.170 31.605-46.432L31.605-50.600Q31.176-50.385 30.496-50.385L30.496-50.682Q31.515-50.682 32.031-51.193L32.176-51.193Q32.250-51.174 32.269-51.096L32.269-46.432Q32.269-46.170 33.336-46.170",[3648],[3633,5713,5714,5720,5725],{"stroke":3639,"fontSize":3640},[3633,5715,5717],{"transform":5716},"translate(49.217 -17.908)",[2999,5718],{"d":5679,"fill":3635,"stroke":3635,"className":5719,"style":3649},[3648],[3633,5721,5722],{"transform":5716},[2999,5723],{"d":5685,"fill":3635,"stroke":3635,"className":5724,"style":3649},[3648],[3633,5726,5727],{"transform":5716},[2999,5728],{"d":5729,"fill":3635,"stroke":3635,"className":5730,"style":3649},"M33.328-45.873L30.168-45.873L30.168-46.080Q30.168-46.107 30.191-46.139L31.543-47.537Q31.922-47.924 32.170-48.213Q32.418-48.502 32.592-48.859Q32.765-49.217 32.765-49.607Q32.765-49.955 32.633-50.248Q32.500-50.541 32.246-50.719Q31.992-50.896 31.637-50.896Q31.277-50.896 30.986-50.701Q30.695-50.506 30.551-50.178L30.605-50.178Q30.789-50.178 30.914-50.057Q31.039-49.935 31.039-49.744Q31.039-49.564 30.914-49.435Q30.789-49.307 30.605-49.307Q30.426-49.307 30.297-49.435Q30.168-49.564 30.168-49.744Q30.168-50.146 30.388-50.482Q30.609-50.818 30.974-51.006Q31.340-51.193 31.742-51.193Q32.222-51.193 32.638-51.006Q33.055-50.818 33.306-50.457Q33.558-50.096 33.558-49.607Q33.558-49.248 33.404-48.945Q33.250-48.643 32.998-48.383Q32.746-48.123 32.396-47.838Q32.047-47.553 31.879-47.400L30.949-46.560L31.664-46.560Q33.039-46.560 33.078-46.600Q33.148-46.678 33.191-46.863Q33.234-47.049 33.277-47.338L33.558-47.338",[3648],[3633,5732,5733,5739,5744],{"stroke":3639,"fontSize":3640},[3633,5734,5736],{"transform":5735},"translate(77.67 -17.908)",[2999,5737],{"d":5679,"fill":3635,"stroke":3635,"className":5738,"style":3649},[3648],[3633,5740,5741],{"transform":5735},[2999,5742],{"d":5685,"fill":3635,"stroke":3635,"className":5743,"style":3649},[3648],[3633,5745,5746],{"transform":5735},[2999,5747],{"d":5748,"fill":3635,"stroke":3635,"className":5749,"style":3649},"M30.535-46.506Q30.726-46.232 31.082-46.105Q31.437-45.978 31.820-45.978Q32.156-45.978 32.365-46.164Q32.574-46.350 32.670-46.643Q32.765-46.935 32.765-47.248Q32.765-47.572 32.668-47.867Q32.570-48.162 32.357-48.346Q32.144-48.529 31.812-48.529L31.246-48.529Q31.215-48.529 31.185-48.559Q31.156-48.588 31.156-48.615L31.156-48.697Q31.156-48.732 31.185-48.758Q31.215-48.783 31.246-48.783L31.726-48.818Q32.012-48.818 32.209-49.023Q32.406-49.228 32.502-49.523Q32.597-49.818 32.597-50.096Q32.597-50.475 32.398-50.713Q32.199-50.951 31.820-50.951Q31.500-50.951 31.211-50.844Q30.922-50.736 30.758-50.514Q30.937-50.514 31.060-50.387Q31.183-50.260 31.183-50.088Q31.183-49.916 31.058-49.791Q30.933-49.666 30.758-49.666Q30.586-49.666 30.461-49.791Q30.336-49.916 30.336-50.088Q30.336-50.455 30.560-50.703Q30.785-50.951 31.125-51.072Q31.465-51.193 31.820-51.193Q32.168-51.193 32.531-51.072Q32.894-50.951 33.142-50.701Q33.390-50.451 33.390-50.096Q33.390-49.611 33.072-49.228Q32.754-48.846 32.277-48.674Q32.828-48.564 33.228-48.178Q33.629-47.791 33.629-47.256Q33.629-46.799 33.365-46.443Q33.101-46.088 32.680-45.896Q32.258-45.705 31.820-45.705Q31.410-45.705 31.017-45.840Q30.625-45.975 30.359-46.260Q30.094-46.545 30.094-46.963Q30.094-47.158 30.226-47.287Q30.359-47.416 30.551-47.416Q30.676-47.416 30.779-47.357Q30.883-47.299 30.945-47.193Q31.008-47.088 31.008-46.963Q31.008-46.768 30.873-46.637Q30.738-46.506 30.535-46.506",[3648],[3633,5751,5752,5758,5763],{"stroke":3639,"fontFamily":5619,"fontSize":3640},[3633,5753,5755],{"transform":5754},"translate(-80.887 68.22)",[2999,5756],{"d":5625,"fill":3635,"stroke":3635,"className":5757,"style":3649},[3648],[3633,5759,5760],{"transform":5754},[2999,5761],{"d":5631,"fill":3635,"stroke":3635,"className":5762,"style":3649},[3648],[3633,5764,5765],{"transform":5754},[2999,5766],{"d":5767,"fill":3635,"stroke":3635,"className":5768,"style":3649},"M60.224-45.873L57.064-45.873L57.064-46.080Q57.064-46.107 57.087-46.139L58.439-47.537Q58.818-47.924 59.066-48.213Q59.314-48.502 59.488-48.859Q59.661-49.217 59.661-49.607Q59.661-49.955 59.529-50.248Q59.396-50.541 59.142-50.719Q58.888-50.896 58.533-50.896Q58.173-50.896 57.882-50.701Q57.591-50.506 57.447-50.178L57.501-50.178Q57.685-50.178 57.810-50.057Q57.935-49.935 57.935-49.744Q57.935-49.564 57.810-49.435Q57.685-49.307 57.501-49.307Q57.322-49.307 57.193-49.435Q57.064-49.564 57.064-49.744Q57.064-50.146 57.284-50.482Q57.505-50.818 57.870-51.006Q58.236-51.193 58.638-51.193Q59.118-51.193 59.534-51.006Q59.950-50.818 60.202-50.457Q60.454-50.096 60.454-49.607Q60.454-49.248 60.300-48.945Q60.146-48.643 59.894-48.383Q59.642-48.123 59.292-47.838Q58.943-47.553 58.775-47.400L57.845-46.560L58.560-46.560Q59.935-46.560 59.974-46.600Q60.044-46.678 60.087-46.863Q60.130-47.049 60.173-47.338L60.454-47.338",[3648],[2999,5770],{"fill":3639,"d":5771},"M5.813 32.372H31.42V6.764H5.813Z",[3633,5773,5775],{"transform":5774},"translate(-2.312 68.341)",[2999,5776],{"d":5646,"fill":3635,"stroke":3635,"className":5777,"style":3786},[3648],[2999,5779],{"fill":3639,"d":5780},"M34.265 32.372h25.608V6.764H34.265Z",[3633,5782,5784],{"transform":5783},"translate(26.14 68.341)",[2999,5785],{"d":5646,"fill":3635,"stroke":3635,"className":5786,"style":3786},[3648],[3633,5788,5789,5792],{"fill":3836},[2999,5790],{"d":5791},"M62.718 32.372h25.607V6.764H62.718Z",[3633,5793,5795],{"transform":5794},"translate(54.593 68.341)",[2999,5796],{"d":5797,"fill":3635,"stroke":3635,"className":5798,"style":3786},"M22.523-45.873L19.073-45.873L19.073-46.106Q19.073-46.119 19.104-46.150L20.558-47.727Q21.024-48.224 21.277-48.529Q21.530-48.835 21.721-49.246Q21.912-49.657 21.912-50.096Q21.912-50.685 21.589-51.118Q21.266-51.551 20.686-51.551Q20.422-51.551 20.176-51.441Q19.930-51.331 19.754-51.144Q19.578-50.957 19.482-50.707L19.561-50.707Q19.763-50.707 19.906-50.571Q20.049-50.435 20.049-50.219Q20.049-50.013 19.906-49.874Q19.763-49.736 19.561-49.736Q19.359-49.736 19.216-49.879Q19.073-50.021 19.073-50.219Q19.073-50.681 19.310-51.054Q19.548-51.428 19.948-51.647Q20.347-51.867 20.796-51.867Q21.319-51.867 21.773-51.652Q22.228-51.436 22.501-51.037Q22.773-50.637 22.773-50.096Q22.773-49.701 22.602-49.347Q22.430-48.993 22.165-48.714Q21.899-48.435 21.448-48.050Q20.998-47.666 20.919-47.591L19.895-46.629L20.712-46.629Q21.363-46.629 21.800-46.640Q22.237-46.651 22.268-46.673Q22.338-46.756 22.393-46.996Q22.448-47.235 22.488-47.503L22.773-47.503",[3648],[3633,5800,5801,5804],{"fill":3836},[2999,5802],{"d":5803},"M91.17 32.372h25.608V6.764H91.171Z",[3633,5805,5807],{"transform":5806},"translate(83.046 68.341)",[2999,5808],{"d":5797,"fill":3635,"stroke":3635,"className":5809,"style":3786},[3648],[3633,5811,5813,5816],{"fill":5812,"stroke":5812,"style":3876},"var(--tk-accent)",[2999,5814],{"fill":3639,"d":5815},"M18.616-32.87C34.226-10.805 49.381-.304 71.532 5.516",[2999,5817],{"d":5818,"style":5819},"m74.42 6.275-3.631-2.584.936 1.876-1.738 1.173Z","stroke-width:.79996",[3633,5821,5822,5825],{"fill":5812,"stroke":5812,"style":3876},[2999,5823],{"fill":3639,"d":5824},"M47.069-32.87C62.679-10.805 77.833-.304 99.984 5.516",[2999,5826],{"d":5827,"style":5819},"M102.873 6.275 99.24 3.691l.937 1.876L98.44 6.74Z",[3633,5829,5830],{"fill":5812,"stroke":5812},[3633,5831,5832,5839,5845,5851,5857,5863,5869,5875,5881,5887,5893],{"fill":5812,"stroke":3639,"fontSize":3640},[3633,5833,5835],{"transform":5834},"translate(74.036 34.72)",[2999,5836],{"d":5837,"fill":5812,"stroke":5812,"className":5838,"style":3649},"M20.815-45.873L19.096-45.873Q19.061-45.873 19.030-45.914Q18.999-45.955 18.999-46.002L19.022-46.103Q19.057-46.158 19.120-46.170Q19.850-46.170 19.975-46.697L21.057-51.002Q20.882-51.041 20.393-51.041Q20.288-51.068 20.288-51.170L20.319-51.271Q20.350-51.330 20.409-51.338L21.776-51.338Q21.843-51.326 21.862-51.271L23.807-47.072L24.678-50.568Q24.706-50.670 24.706-50.721Q24.706-51.041 24.128-51.041Q24.022-51.072 24.022-51.170L24.057-51.271Q24.089-51.330 24.143-51.338L25.862-51.338Q25.905-51.338 25.932-51.301Q25.960-51.264 25.960-51.217L25.936-51.111Q25.893-51.049 25.839-51.041Q25.116-51.041 24.975-50.514L23.839-45.943Q23.800-45.881 23.745-45.873L23.639-45.873Q23.573-45.885 23.553-45.943L21.327-50.736Q21.311-50.768 21.311-50.775L20.272-46.643Q20.257-46.541 20.257-46.490Q20.257-46.291 20.421-46.230Q20.585-46.170 20.831-46.170Q20.928-46.143 20.928-46.049L20.905-45.943Q20.874-45.885 20.815-45.873",[3648],[3633,5840,5841],{"transform":5834},[2999,5842],{"d":5843,"fill":5812,"stroke":5812,"className":5844,"style":3649},"M28.383-43.873L27.207-43.873L27.207-51.873L28.383-51.873L28.383-51.506L27.574-51.506L27.574-44.240L28.383-44.240",[3648],[3633,5846,5847],{"transform":5834},[2999,5848],{"d":5849,"fill":5812,"stroke":5812,"className":5850,"style":3649},"M30.080-45.795Q29.724-45.795 29.455-45.975Q29.185-46.154 29.045-46.449Q28.904-46.744 28.904-47.103Q28.904-47.490 29.066-47.904Q29.228-48.318 29.512-48.656Q29.795-48.994 30.164-49.197Q30.533-49.400 30.935-49.400Q31.428-49.400 31.705-48.951Q31.736-49.084 31.840-49.166Q31.943-49.248 32.072-49.248Q32.185-49.248 32.265-49.178Q32.346-49.107 32.346-48.994Q32.346-48.967 32.330-48.904L31.775-46.705Q31.736-46.459 31.736-46.408Q31.736-46.049 31.982-46.049Q32.127-46.049 32.228-46.156Q32.330-46.264 32.394-46.418Q32.459-46.572 32.508-46.762Q32.556-46.951 32.576-47.049Q32.603-47.119 32.666-47.119L32.767-47.119Q32.806-47.119 32.832-47.086Q32.857-47.053 32.857-47.025Q32.857-47.010 32.849-46.994Q32.736-46.502 32.537-46.148Q32.338-45.795 31.967-45.795Q31.685-45.795 31.459-45.937Q31.232-46.080 31.150-46.338Q30.928-46.096 30.654-45.945Q30.381-45.795 30.080-45.795M30.096-46.049Q30.306-46.049 30.515-46.162Q30.724-46.275 30.894-46.449Q31.064-46.623 31.193-46.818Q31.181-46.803 31.172-46.789Q31.162-46.775 31.150-46.760L31.584-48.482Q31.545-48.662 31.459-48.812Q31.373-48.963 31.236-49.055Q31.099-49.146 30.920-49.146Q30.584-49.146 30.312-48.865Q30.041-48.584 29.881-48.209Q29.756-47.889 29.658-47.469Q29.560-47.049 29.560-46.768Q29.560-46.478 29.693-46.264Q29.826-46.049 30.096-46.049",[3648],[3633,5852,5853],{"transform":5834},[2999,5854],{"d":5855,"fill":5812,"stroke":5812,"className":5856,"style":3649},"M34.450-43.873L33.275-43.873L33.275-44.240L34.083-44.240L34.083-51.506L33.275-51.506L33.275-51.873L34.450-51.873",[3648],[3633,5858,5859],{"transform":5834},[2999,5860],{"d":5861,"fill":5812,"stroke":5812,"className":5862,"style":3649},"M40.934-47.689L38.461-47.689Q38.383-47.701 38.334-47.750Q38.286-47.799 38.286-47.873Q38.286-47.947 38.334-47.996Q38.383-48.045 38.461-48.057L40.934-48.057L40.934-50.537Q40.961-50.705 41.118-50.705Q41.192-50.705 41.241-50.656Q41.290-50.607 41.301-50.537L41.301-48.057L43.774-48.057Q43.942-48.025 43.942-47.873Q43.942-47.721 43.774-47.689L41.301-47.689L41.301-45.209Q41.290-45.139 41.241-45.090Q41.192-45.041 41.118-45.041Q40.961-45.041 40.934-45.209",[3648],[3633,5864,5865],{"transform":5834},[2999,5866],{"d":5867,"fill":5812,"stroke":5812,"className":5868,"style":3649},"M50.385-46.850L45.072-46.850Q44.994-46.857 44.945-46.906Q44.897-46.955 44.897-47.033Q44.897-47.103 44.944-47.154Q44.990-47.205 45.072-47.217L50.385-47.217Q50.459-47.205 50.506-47.154Q50.553-47.103 50.553-47.033Q50.553-46.955 50.504-46.906Q50.455-46.857 50.385-46.850M50.385-48.537L45.072-48.537Q44.994-48.545 44.945-48.594Q44.897-48.643 44.897-48.721Q44.897-48.791 44.944-48.842Q44.990-48.893 45.072-48.904L50.385-48.904Q50.459-48.893 50.506-48.842Q50.553-48.791 50.553-48.721Q50.553-48.643 50.504-48.594Q50.455-48.545 50.385-48.537",[3648],[3633,5870,5871],{"transform":5834},[2999,5872],{"d":5873,"fill":5812,"stroke":5812,"className":5874,"style":3649},"M55.596-45.873L53.877-45.873Q53.842-45.873 53.811-45.914Q53.780-45.955 53.780-46.002L53.803-46.103Q53.838-46.158 53.901-46.170Q54.631-46.170 54.756-46.697L55.838-51.002Q55.663-51.041 55.174-51.041Q55.069-51.068 55.069-51.170L55.100-51.271Q55.131-51.330 55.190-51.338L56.557-51.338Q56.624-51.326 56.643-51.271L58.588-47.072L59.459-50.568Q59.487-50.670 59.487-50.721Q59.487-51.041 58.909-51.041Q58.803-51.072 58.803-51.170L58.838-51.271Q58.870-51.330 58.924-51.338L60.643-51.338Q60.686-51.338 60.713-51.301Q60.741-51.264 60.741-51.217L60.717-51.111Q60.674-51.049 60.620-51.041Q59.897-51.041 59.756-50.514L58.620-45.943Q58.581-45.881 58.526-45.873L58.420-45.873Q58.354-45.885 58.334-45.943L56.108-50.736Q56.092-50.768 56.092-50.775L55.053-46.643Q55.038-46.541 55.038-46.490Q55.038-46.291 55.202-46.230Q55.366-46.170 55.612-46.170Q55.709-46.143 55.709-46.049L55.686-45.943Q55.655-45.885 55.596-45.873",[3648],[3633,5876,5877],{"transform":5834},[2999,5878],{"d":5879,"fill":5812,"stroke":5812,"className":5880,"style":3649},"M63.164-43.873L61.988-43.873L61.988-51.873L63.164-51.873L63.164-51.506L62.355-51.506L62.355-44.240L63.164-44.240",[3648],[3633,5882,5883],{"transform":5834},[2999,5884],{"d":5885,"fill":5812,"stroke":5812,"className":5886,"style":3649},"M64.861-45.795Q64.505-45.795 64.236-45.975Q63.966-46.154 63.826-46.449Q63.685-46.744 63.685-47.103Q63.685-47.490 63.847-47.904Q64.009-48.318 64.293-48.656Q64.576-48.994 64.945-49.197Q65.314-49.400 65.716-49.400Q66.209-49.400 66.486-48.951Q66.517-49.084 66.621-49.166Q66.724-49.248 66.853-49.248Q66.966-49.248 67.046-49.178Q67.127-49.107 67.127-48.994Q67.127-48.967 67.111-48.904L66.556-46.705Q66.517-46.459 66.517-46.408Q66.517-46.049 66.763-46.049Q66.908-46.049 67.009-46.156Q67.111-46.264 67.175-46.418Q67.240-46.572 67.289-46.762Q67.337-46.951 67.357-47.049Q67.384-47.119 67.447-47.119L67.548-47.119Q67.587-47.119 67.613-47.086Q67.638-47.053 67.638-47.025Q67.638-47.010 67.630-46.994Q67.517-46.502 67.318-46.148Q67.119-45.795 66.748-45.795Q66.466-45.795 66.240-45.937Q66.013-46.080 65.931-46.338Q65.709-46.096 65.435-45.945Q65.162-45.795 64.861-45.795M64.877-46.049Q65.087-46.049 65.296-46.162Q65.505-46.275 65.675-46.449Q65.845-46.623 65.974-46.818Q65.962-46.803 65.953-46.789Q65.943-46.775 65.931-46.760L66.365-48.482Q66.326-48.662 66.240-48.812Q66.154-48.963 66.017-49.055Q65.880-49.146 65.701-49.146Q65.365-49.146 65.093-48.865Q64.822-48.584 64.662-48.209Q64.537-47.889 64.439-47.469Q64.341-47.049 64.341-46.768Q64.341-46.478 64.474-46.264Q64.607-46.049 64.877-46.049",[3648],[3633,5888,5889],{"transform":5834},[2999,5890],{"d":5891,"fill":5812,"stroke":5812,"className":5892,"style":3649},"M73.591-47.689L68.759-47.689Q68.684-47.701 68.634-47.750Q68.583-47.799 68.583-47.873Q68.583-48.025 68.759-48.057L73.591-48.057Q73.759-48.029 73.759-47.873Q73.759-47.717 73.591-47.689",[3648],[3633,5894,5895],{"transform":5834},[2999,5896],{"d":5897,"fill":5812,"stroke":5812,"className":5898,"style":3649},"M78.069-45.873L74.909-45.873L74.909-46.080Q74.909-46.107 74.932-46.139L76.284-47.537Q76.663-47.924 76.911-48.213Q77.159-48.502 77.333-48.859Q77.506-49.217 77.506-49.607Q77.506-49.955 77.374-50.248Q77.241-50.541 76.987-50.719Q76.733-50.896 76.378-50.896Q76.018-50.896 75.727-50.701Q75.436-50.506 75.292-50.178L75.346-50.178Q75.530-50.178 75.655-50.057Q75.780-49.935 75.780-49.744Q75.780-49.564 75.655-49.435Q75.530-49.307 75.346-49.307Q75.167-49.307 75.038-49.435Q74.909-49.564 74.909-49.744Q74.909-50.146 75.129-50.482Q75.350-50.818 75.715-51.006Q76.081-51.193 76.483-51.193Q76.963-51.193 77.379-51.006Q77.796-50.818 78.047-50.457Q78.299-50.096 78.299-49.607Q78.299-49.248 78.145-48.945Q77.991-48.643 77.739-48.383Q77.487-48.123 77.137-47.838Q76.788-47.553 76.620-47.400L75.690-46.560L76.405-46.560Q77.780-46.560 77.819-46.600Q77.889-46.678 77.932-46.863Q77.975-47.049 78.018-47.338L78.299-47.338L78.069-45.873M80.088-43.873L78.913-43.873L78.913-44.240L79.721-44.240L79.721-51.506L78.913-51.506L78.913-51.873L80.088-51.873",[3648],[3969,5900,5902,5903,5933,5934,5949,5950,5965,5966,6048,6049,6091,6092,2093,6116,869],{"className":5901},[3972],"Coins-outer combination fill for ",[400,5904,5906],{"className":5905},[403],[400,5907,5909],{"className":5908,"ariaHidden":408},[407],[400,5910,5912,5915,5918,5921,5924,5927,5930],{"className":5911},[412],[400,5913],{"className":5914,"style":417},[416],[400,5916,4145],{"className":5917},[428],[400,5919,636],{"className":5920},[421],[400,5922,438],{"className":5923},[437],[400,5925],{"className":5926,"style":443},[442],[400,5928,4227],{"className":5929},[421],[400,5931,4171],{"className":5932},[452],". After folding in coin ",[400,5935,5937],{"className":5936},[403],[400,5938,5940],{"className":5939,"ariaHidden":408},[407],[400,5941,5943,5946],{"className":5942},[412],[400,5944],{"className":5945,"style":1663},[416],[400,5947,636],{"className":5948},[421]," every amount has one way (all ones); folding in coin ",[400,5951,5953],{"className":5952},[403],[400,5954,5956],{"className":5955,"ariaHidden":408},[407],[400,5957,5959,5962],{"className":5958},[412],[400,5960],{"className":5961,"style":1663},[416],[400,5963,4227],{"className":5964},[421]," adds ",[400,5967,5969],{"className":5968},[403],[400,5970,5972,5999,6012,6036],{"className":5971,"ariaHidden":408},[407],[400,5973,5975,5978,5981,5984,5987,5990,5993],{"className":5974},[412],[400,5976],{"className":5977,"style":417},[416],[400,5979,5177],{"className":5980,"style":5176},[421,422],[400,5982,900],{"className":5983},[428],[400,5985,385],{"className":5986},[421,422],[400,5988,907],{"className":5989},[452],[400,5991],{"className":5992,"style":1162},[442],[400,5994,5996],{"className":5995},[1008],[400,5997,1542],{"className":5998},[421],[400,6000,6002,6006,6009],{"className":6001},[412],[400,6003],{"className":6004,"style":6005},[416],"height:0.3669em;",[400,6007,1365],{"className":6008},[1008],[400,6010],{"className":6011,"style":1162},[442],[400,6013,6015,6018,6021,6024,6027,6030,6033],{"className":6014},[412],[400,6016],{"className":6017,"style":417},[416],[400,6019,5177],{"className":6020,"style":5176},[421,422],[400,6022,900],{"className":6023},[428],[400,6025,385],{"className":6026},[421,422],[400,6028],{"className":6029,"style":1256},[442],[400,6031,1261],{"className":6032},[1260],[400,6034],{"className":6035,"style":1256},[442],[400,6037,6039,6042,6045],{"className":6038},[412],[400,6040],{"className":6041,"style":417},[416],[400,6043,4227],{"className":6044},[421],[400,6046,907],{"className":6047},[452],", giving ",[400,6050,6052],{"className":6051},[403],[400,6053,6055,6082],{"className":6054,"ariaHidden":408},[407],[400,6056,6058,6061,6064,6067,6070,6073,6076,6079],{"className":6057},[412],[400,6059],{"className":6060,"style":417},[416],[400,6062,5177],{"className":6063,"style":5176},[421,422],[400,6065,900],{"className":6066},[428],[400,6068,4125],{"className":6069},[421],[400,6071,907],{"className":6072},[452],[400,6074],{"className":6075,"style":1162},[442],[400,6077,1365],{"className":6078},[1008],[400,6080],{"className":6081,"style":1162},[442],[400,6083,6085,6088],{"className":6084},[412],[400,6086],{"className":6087,"style":1663},[416],[400,6089,4227],{"className":6090},[421]," without ever double-counting ",[400,6093,6095],{"className":6094},[403],[400,6096,6098],{"className":6097,"ariaHidden":408},[407],[400,6099,6101,6104,6107,6113],{"className":6100},[412],[400,6102],{"className":6103,"style":3380},[416],[400,6105,636],{"className":6106},[421],[400,6108,6110],{"className":6109},[421],[400,6111,1542],{"className":6112},[421],[400,6114,4227],{"className":6115},[421],[400,6117,6119],{"className":6118},[403],[400,6120,6122],{"className":6121,"ariaHidden":408},[407],[400,6123,6125,6128,6131,6137],{"className":6124},[412],[400,6126],{"className":6127,"style":3380},[416],[400,6129,4227],{"className":6130},[421],[400,6132,6134],{"className":6133},[421],[400,6135,1542],{"className":6136},[421],[400,6138,636],{"className":6139},[421],[381,6141,6142,6143,6158,6159,6174,6175,6178,6179,6221,6222,2093,6261,6291,6292,869],{},"Because coin ",[400,6144,6146],{"className":6145},[403],[400,6147,6149],{"className":6148,"ariaHidden":408},[407],[400,6150,6152,6155],{"className":6151},[412],[400,6153],{"className":6154,"style":1663},[416],[400,6156,4227],{"className":6157},[421]," is introduced only after coin ",[400,6160,6162],{"className":6161},[403],[400,6163,6165],{"className":6164,"ariaHidden":408},[407],[400,6166,6168,6171],{"className":6167},[412],[400,6169],{"className":6170,"style":1663},[416],[400,6172,636],{"className":6173},[421]," is fully folded in, each\nmultiset is built in the fixed order ",[395,6176,6177],{},"ones first, then twos,"," so ",[400,6180,6182],{"className":6181},[403],[400,6183,6185,6212],{"className":6184,"ariaHidden":408},[407],[400,6186,6188,6191,6194,6197,6200,6203,6206,6209],{"className":6187},[412],[400,6189],{"className":6190,"style":417},[416],[400,6192,5177],{"className":6193,"style":5176},[421,422],[400,6195,900],{"className":6196},[428],[400,6198,4125],{"className":6199},[421],[400,6201,907],{"className":6202},[452],[400,6204],{"className":6205,"style":1162},[442],[400,6207,1365],{"className":6208},[1008],[400,6210],{"className":6211,"style":1162},[442],[400,6213,6215,6218],{"className":6214},[412],[400,6216],{"className":6217,"style":1663},[416],[400,6219,4227],{"className":6220},[421]," counts\n",[400,6223,6225],{"className":6224},[403],[400,6226,6228],{"className":6227,"ariaHidden":408},[407],[400,6229,6231,6234,6237,6240,6243,6246,6249,6252,6255,6258],{"className":6230},[412],[400,6232],{"className":6233,"style":417},[416],[400,6235,4145],{"className":6236},[428],[400,6238,636],{"className":6239},[421],[400,6241,438],{"className":6242},[437],[400,6244],{"className":6245,"style":443},[442],[400,6247,636],{"className":6248},[421],[400,6250,438],{"className":6251},[437],[400,6253],{"className":6254,"style":443},[442],[400,6256,636],{"className":6257},[421],[400,6259,4171],{"className":6260},[452],[400,6262,6264],{"className":6263},[403],[400,6265,6267],{"className":6266,"ariaHidden":408},[407],[400,6268,6270,6273,6276,6279,6282,6285,6288],{"className":6269},[412],[400,6271],{"className":6272,"style":417},[416],[400,6274,4145],{"className":6275},[428],[400,6277,636],{"className":6278},[421],[400,6280,438],{"className":6281},[437],[400,6283],{"className":6284,"style":443},[442],[400,6286,4227],{"className":6287},[421],[400,6289,4171],{"className":6290},[452]," once apiece and never sees a ",[400,6293,6295],{"className":6294},[403],[400,6296,6298],{"className":6297,"ariaHidden":408},[407],[400,6299,6301,6304,6307,6313],{"className":6300},[412],[400,6302],{"className":6303,"style":3380},[416],[400,6305,4227],{"className":6306},[421],[400,6308,6310],{"className":6309},[421],[400,6311,1542],{"className":6312},[421],[400,6314,636],{"className":6315},[421],[4522,6317,6319],{"className":4524,"code":6318,"language":4526,"meta":376,"style":376},"caption: $\\textsc{Count-Combinations}(c[1..n], A)$ — number of multisets summing to $A$\nnumber: 3\n$N[0..A] \\gets 0$;  $N[0] \\gets 1$\nfor $i \\gets 1$ to $n$ do          \u002F\u002F coins outer: combinations\n  for $a \\gets c[i]$ to $A$ do     \u002F\u002F amount inner, ascending: reuse\n    $N[a] \\gets N[a] + N[a - c[i]]$\nreturn $N[A]$\n",[4528,6320,6321,6326,6331,6336,6341,6346,6351],{"__ignoreMap":376},[400,6322,6323],{"class":4532,"line":6},[400,6324,6325],{},"caption: $\\textsc{Count-Combinations}(c[1..n], A)$ — number of multisets summing to $A$\n",[400,6327,6328],{"class":4532,"line":18},[400,6329,6330],{},"number: 3\n",[400,6332,6333],{"class":4532,"line":24},[400,6334,6335],{},"$N[0..A] \\gets 0$;  $N[0] \\gets 1$\n",[400,6337,6338],{"class":4532,"line":73},[400,6339,6340],{},"for $i \\gets 1$ to $n$ do          \u002F\u002F coins outer: combinations\n",[400,6342,6343],{"class":4532,"line":102},[400,6344,6345],{},"  for $a \\gets c[i]$ to $A$ do     \u002F\u002F amount inner, ascending: reuse\n",[400,6347,6348],{"class":4532,"line":108},[400,6349,6350],{},"    $N[a] \\gets N[a] + N[a - c[i]]$\n",[400,6352,6353],{"class":4532,"line":116},[400,6354,6355],{},"return $N[A]$\n",[381,6357,6358,6359,6362,6363,6366,6367,6578,6579,6582,6583,2093,6607,6631,6632,6659],{},"Swapping the two loops (",[4528,6360,6361],{},"for a"," outside, ",[4528,6364,6365],{},"for i"," inside) computes\n",[400,6368,6370],{"className":6369},[403],[400,6371,6373,6400,6529],{"className":6372,"ariaHidden":408},[407],[400,6374,6376,6379,6382,6385,6388,6391,6394,6397],{"className":6375},[412],[400,6377],{"className":6378,"style":417},[416],[400,6380,5177],{"className":6381,"style":5176},[421,422],[400,6383,900],{"className":6384},[428],[400,6386,385],{"className":6387},[421,422],[400,6389,907],{"className":6390},[452],[400,6392],{"className":6393,"style":1162},[442],[400,6395,1365],{"className":6396},[1008],[400,6398],{"className":6399,"style":1162},[442],[400,6401,6403,6407,6508,6511,6514,6517,6520,6523,6526],{"className":6402},[412],[400,6404],{"className":6405,"style":6406},[416],"height:1.1498em;vertical-align:-0.3998em;",[400,6408,6410,6413],{"className":6409},[968],[400,6411,5314],{"className":6412,"style":5313},[968,5311,5312],[400,6414,6416],{"className":6415},[603],[400,6417,6419,6499],{"className":6418},[607,608],[400,6420,6422,6496],{"className":6421},[612],[400,6423,6426],{"className":6424,"style":6425},[616],"height:0.162em;",[400,6427,6428,6431],{"style":5330},[400,6429],{"className":6430,"style":625},[624],[400,6432,6434],{"className":6433},[629,630,631,632],[400,6435,6437,6440,6443,6446,6449,6490,6493],{"className":6436},[421,632],[400,6438,433],{"className":6439},[421,422,632],[400,6441],{"className":6442,"style":1414},[442,632],[400,6444,1330],{"className":6445},[1008,632],[400,6447],{"className":6448,"style":1414},[442,632],[400,6450,6452,6455],{"className":6451},[421,632],[400,6453,2708],{"className":6454},[421,422,632],[400,6456,6458],{"className":6457},[603],[400,6459,6461,6482],{"className":6460},[607,608],[400,6462,6464,6479],{"className":6463},[612],[400,6465,6467],{"className":6466,"style":1439},[616],[400,6468,6470,6473],{"style":6469},"top:-2.357em;margin-left:0em;margin-right:0.0714em;",[400,6471],{"className":6472,"style":1446},[624],[400,6474,6476],{"className":6475},[629,1450,1451,632],[400,6477,433],{"className":6478},[421,422,632],[400,6480,641],{"className":6481},[640],[400,6483,6485],{"className":6484},[612],[400,6486,6488],{"className":6487,"style":1464},[616],[400,6489],{},[400,6491,1009],{"className":6492},[1008,632],[400,6494,385],{"className":6495},[421,422,632],[400,6497,641],{"className":6498},[640],[400,6500,6502],{"className":6501},[612],[400,6503,6506],{"className":6504,"style":6505},[616],"height:0.3998em;",[400,6507],{},[400,6509],{"className":6510,"style":443},[442],[400,6512,5177],{"className":6513,"style":5176},[421,422],[400,6515,900],{"className":6516},[428],[400,6518,385],{"className":6519},[421,422],[400,6521],{"className":6522,"style":1256},[442],[400,6524,1261],{"className":6525},[1260],[400,6527],{"className":6528,"style":1256},[442],[400,6530,6532,6535,6575],{"className":6531},[412],[400,6533],{"className":6534,"style":417},[416],[400,6536,6538,6541],{"className":6537},[421],[400,6539,2708],{"className":6540},[421,422],[400,6542,6544],{"className":6543},[603],[400,6545,6547,6567],{"className":6546},[607,608],[400,6548,6550,6564],{"className":6549},[612],[400,6551,6553],{"className":6552,"style":1136},[616],[400,6554,6555,6558],{"style":2723},[400,6556],{"className":6557,"style":625},[624],[400,6559,6561],{"className":6560},[629,630,631,632],[400,6562,433],{"className":6563},[421,422,632],[400,6565,641],{"className":6566},[640],[400,6568,6570],{"className":6569},[612],[400,6571,6573],{"className":6572,"style":648},[616],[400,6574],{},[400,6576,907],{"className":6577},[452]," instead, the ",[477,6580,6581],{},"ordered"," count (Combination\nSum IV), where ",[400,6584,6586],{"className":6585},[403],[400,6587,6589],{"className":6588,"ariaHidden":408},[407],[400,6590,6592,6595,6598,6604],{"className":6591},[412],[400,6593],{"className":6594,"style":3380},[416],[400,6596,636],{"className":6597},[421],[400,6599,6601],{"className":6600},[421],[400,6602,1542],{"className":6603},[421],[400,6605,4125],{"className":6606},[421],[400,6608,6610],{"className":6609},[403],[400,6611,6613],{"className":6612,"ariaHidden":408},[407],[400,6614,6616,6619,6622,6628],{"className":6615},[412],[400,6617],{"className":6618,"style":3380},[416],[400,6620,4125],{"className":6621},[421],[400,6623,6625],{"className":6624},[421],[400,6626,1542],{"className":6627},[421],[400,6629,636],{"className":6630},[421]," are distinct. Same body, same ",[400,6633,6635],{"className":6634},[403],[400,6636,6638],{"className":6637,"ariaHidden":408},[407],[400,6639,6641,6644,6647,6650,6653,6656],{"className":6640},[412],[400,6642],{"className":6643,"style":417},[416],[400,6645,2641],{"className":6646},[421],[400,6648,429],{"className":6649},[428],[400,6651,579],{"className":6652},[421,422],[400,6654,2818],{"className":6655},[421,422],[400,6657,453],{"className":6658},[452]," time;\nthe nesting alone flips the meaning.",[6661,6662,6664],"h3",{"id":6663},"a-worked-count-combinations-vs-sequences","A worked count: combinations vs sequences",[381,6666,6667,6668,6698,6699,6732,6733,2093,6772,4284,6802,6805,6806,6048,6836,6869,6870,6894,6895,6919,6920,6923],{},"Take coins ",[400,6669,6671],{"className":6670},[403],[400,6672,6674],{"className":6673,"ariaHidden":408},[407],[400,6675,6677,6680,6683,6686,6689,6692,6695],{"className":6676},[412],[400,6678],{"className":6679,"style":417},[416],[400,6681,4145],{"className":6682},[428],[400,6684,636],{"className":6685},[421],[400,6687,438],{"className":6688},[437],[400,6690],{"className":6691,"style":443},[442],[400,6693,4227],{"className":6694},[421],[400,6696,4171],{"className":6697},[452]," and amount ",[400,6700,6702],{"className":6701},[403],[400,6703,6705,6723],{"className":6704,"ariaHidden":408},[407],[400,6706,6708,6711,6714,6717,6720],{"className":6707},[412],[400,6709],{"className":6710,"style":839},[416],[400,6712,2818],{"className":6713},[421,422],[400,6715],{"className":6716,"style":1162},[442],[400,6718,1365],{"className":6719},[1008],[400,6721],{"className":6722,"style":1162},[442],[400,6724,6726,6729],{"className":6725},[412],[400,6727],{"className":6728,"style":1663},[416],[400,6730,4125],{"className":6731},[421],". As an unordered count the answers are\n",[400,6734,6736],{"className":6735},[403],[400,6737,6739],{"className":6738,"ariaHidden":408},[407],[400,6740,6742,6745,6748,6751,6754,6757,6760,6763,6766,6769],{"className":6741},[412],[400,6743],{"className":6744,"style":417},[416],[400,6746,4145],{"className":6747},[428],[400,6749,636],{"className":6750},[421],[400,6752,438],{"className":6753},[437],[400,6755],{"className":6756,"style":443},[442],[400,6758,636],{"className":6759},[421],[400,6761,438],{"className":6762},[437],[400,6764],{"className":6765,"style":443},[442],[400,6767,636],{"className":6768},[421],[400,6770,4171],{"className":6771},[452],[400,6773,6775],{"className":6774},[403],[400,6776,6778],{"className":6777,"ariaHidden":408},[407],[400,6779,6781,6784,6787,6790,6793,6796,6799],{"className":6780},[412],[400,6782],{"className":6783,"style":417},[416],[400,6785,4145],{"className":6786},[428],[400,6788,636],{"className":6789},[421],[400,6791,438],{"className":6792},[437],[400,6794],{"className":6795,"style":443},[442],[400,6797,4227],{"className":6798},[421],[400,6800,4171],{"className":6801},[452],[477,6803,6804],{},"two"," combinations. As an ordered count we also\ndistinguish the arrangements of ",[400,6807,6809],{"className":6808},[403],[400,6810,6812],{"className":6811,"ariaHidden":408},[407],[400,6813,6815,6818,6821,6824,6827,6830,6833],{"className":6814},[412],[400,6816],{"className":6817,"style":417},[416],[400,6819,4145],{"className":6820},[428],[400,6822,636],{"className":6823},[421],[400,6825,438],{"className":6826},[437],[400,6828],{"className":6829,"style":443},[442],[400,6831,4227],{"className":6832},[421],[400,6834,4171],{"className":6835},[452],[400,6837,6839],{"className":6838},[403],[400,6840,6842],{"className":6841,"ariaHidden":408},[407],[400,6843,6845,6848,6851,6857,6860,6866],{"className":6844},[412],[400,6846],{"className":6847,"style":3380},[416],[400,6849,636],{"className":6850},[421],[400,6852,6854],{"className":6853},[421],[400,6855,1542],{"className":6856},[421],[400,6858,636],{"className":6859},[421],[400,6861,6863],{"className":6862},[421],[400,6864,1542],{"className":6865},[421],[400,6867,636],{"className":6868},[421],", ",[400,6871,6873],{"className":6872},[403],[400,6874,6876],{"className":6875,"ariaHidden":408},[407],[400,6877,6879,6882,6885,6891],{"className":6878},[412],[400,6880],{"className":6881,"style":3380},[416],[400,6883,636],{"className":6884},[421],[400,6886,6888],{"className":6887},[421],[400,6889,1542],{"className":6890},[421],[400,6892,4227],{"className":6893},[421],", and ",[400,6896,6898],{"className":6897},[403],[400,6899,6901],{"className":6900,"ariaHidden":408},[407],[400,6902,6904,6907,6910,6916],{"className":6903},[412],[400,6905],{"className":6906,"style":3380},[416],[400,6908,4227],{"className":6909},[421],[400,6911,6913],{"className":6912},[421],[400,6914,1542],{"className":6915},[421],[400,6917,636],{"className":6918},[421],",\nfor ",[477,6921,6922],{},"three"," sequences. The figure traces both, and ties each to its loop order.",[3622,6925,6927,7316],{"className":6926},[3625,3626],[2990,6928,6932],{"xmlns":2992,"width":6929,"height":6930,"viewBox":6931},"327.870","152.447","-75 -75 245.903 114.335",[3633,6933,6934,6963,6996,6999,7044,7079,7100,7132,7135,7168,7192,7216,7224,7233],{"stroke":3635,"style":3636},[3633,6935,6938,6945,6951,6957],{"stroke":3639,"fontFamily":6936,"fontSize":6937},"cmr9","9",[3633,6939,6941],{"transform":6940},"translate(-35.612 3.125)",[2999,6942],{"d":6943,"fill":3635,"stroke":3635,"className":6944,"style":3786},"M-12.115-65.061Q-12.665-65.061-13.124-65.340Q-13.583-65.619-13.851-66.089Q-14.119-66.559-14.119-67.104Q-14.119-67.517-13.970-67.895Q-13.821-68.273-13.546-68.568Q-13.271-68.862-12.902-69.029Q-12.533-69.196-12.115-69.196Q-11.781-69.196-11.461-69.130Q-11.140-69.064-10.911-68.878Q-10.683-68.691-10.683-68.366Q-10.683-68.190-10.810-68.062Q-10.938-67.935-11.114-67.935Q-11.298-67.935-11.428-68.060Q-11.557-68.185-11.557-68.366Q-11.557-68.502-11.483-68.614Q-11.408-68.726-11.276-68.779Q-11.584-68.906-12.115-68.906Q-12.551-68.906-12.819-68.629Q-13.087-68.352-13.199-67.937Q-13.311-67.522-13.311-67.104Q-13.311-66.674-13.172-66.272Q-13.034-65.870-12.739-65.610Q-12.445-65.351-12.006-65.351Q-11.584-65.351-11.281-65.601Q-10.977-65.852-10.872-66.261Q-10.863-66.291-10.839-66.316Q-10.815-66.340-10.784-66.340L-10.674-66.340Q-10.586-66.340-10.586-66.225Q-10.731-65.689-11.144-65.375Q-11.557-65.061-12.115-65.061M-10.063-67.069Q-10.063-67.636-9.791-68.124Q-9.518-68.612-9.048-68.904Q-8.578-69.196-8.011-69.196Q-7.589-69.196-7.213-69.027Q-6.838-68.858-6.561-68.566Q-6.284-68.273-6.126-67.878Q-5.968-67.482-5.968-67.069Q-5.968-66.520-6.247-66.058Q-6.526-65.597-6.994-65.329Q-7.462-65.061-8.011-65.061Q-8.565-65.061-9.035-65.329Q-9.505-65.597-9.784-66.058Q-10.063-66.520-10.063-67.069M-8.011-65.351Q-7.514-65.351-7.238-65.612Q-6.961-65.874-6.868-66.278Q-6.776-66.683-6.776-67.179Q-6.776-67.654-6.875-68.043Q-6.974-68.432-7.246-68.682Q-7.519-68.933-8.011-68.933Q-8.723-68.933-8.987-68.438Q-9.250-67.944-9.250-67.179Q-9.250-66.379-8.995-65.865Q-8.740-65.351-8.011-65.351M-3.318-65.162L-5.405-65.162L-5.405-65.478Q-5.097-65.478-4.906-65.531Q-4.715-65.584-4.715-65.773L-4.715-68.221Q-4.715-68.462-4.785-68.570Q-4.856-68.678-4.990-68.702Q-5.124-68.726-5.405-68.726L-5.405-69.042L-4.065-69.139L-4.065-68.304Q-3.867-68.682-3.507-68.911Q-3.146-69.139-2.724-69.139Q-1.678-69.139-1.494-68.330Q-1.292-68.700-0.934-68.919Q-0.575-69.139-0.158-69.139Q0.466-69.139 0.791-68.845Q1.116-68.550 1.116-67.926L1.116-65.773Q1.116-65.584 1.310-65.531Q1.503-65.478 1.811-65.478L1.811-65.162L-0.277-65.162L-0.277-65.478Q0.031-65.478 0.224-65.531Q0.418-65.584 0.418-65.773L0.418-67.891Q0.418-68.322 0.290-68.601Q0.163-68.880-0.224-68.880Q-0.567-68.880-0.850-68.691Q-1.134-68.502-1.290-68.190Q-1.446-67.878-1.446-67.531L-1.446-65.773Q-1.446-65.584-1.254-65.531Q-1.063-65.478-0.756-65.478L-0.756-65.162L-2.843-65.162L-2.843-65.478Q-2.531-65.478-2.340-65.531Q-2.149-65.584-2.149-65.773L-2.149-67.891Q-2.149-68.150-2.193-68.372Q-2.237-68.594-2.382-68.737Q-2.527-68.880-2.786-68.880Q-3.322-68.880-3.667-68.473Q-4.012-68.067-4.012-67.531L-4.012-65.773Q-4.012-65.584-3.819-65.531Q-3.625-65.478-3.318-65.478",[3648],[3633,6946,6947],{"transform":6940},[2999,6948],{"d":6949,"fill":3635,"stroke":3635,"className":6950,"style":3786},"M2.996-65.162L2.706-65.162L2.706-70.488Q2.706-70.730 2.636-70.838Q2.565-70.945 2.431-70.969Q2.297-70.994 2.011-70.994L2.011-71.310L3.383-71.407L3.383-68.607Q3.629-68.858 3.963-68.998Q4.297-69.139 4.648-69.139Q5.048-69.139 5.411-68.976Q5.773-68.814 6.030-68.535Q6.287-68.256 6.437-67.878Q6.586-67.500 6.586-67.104Q6.586-66.542 6.309-66.076Q6.032-65.610 5.558-65.336Q5.083-65.061 4.534-65.061Q4.169-65.061 3.848-65.230Q3.528-65.399 3.308-65.694L2.996-65.162M3.409-68.194L3.409-66.063Q3.567-65.729 3.851-65.527Q4.134-65.325 4.477-65.325Q5.167-65.325 5.470-65.845Q5.773-66.366 5.773-67.104Q5.773-67.829 5.507-68.355Q5.241-68.880 4.578-68.880Q4.218-68.880 3.903-68.695Q3.589-68.511 3.409-68.194M9.192-65.162L7.206-65.162L7.206-65.478Q7.513-65.478 7.705-65.531Q7.896-65.584 7.896-65.773L7.896-68.221Q7.896-68.467 7.830-68.572Q7.764-68.678 7.639-68.702Q7.513-68.726 7.241-68.726L7.241-69.042L8.573-69.139L8.573-65.773Q8.573-65.579 8.737-65.529Q8.902-65.478 9.192-65.478L9.192-65.162M7.593-70.686Q7.593-70.892 7.742-71.042Q7.891-71.191 8.094-71.191Q8.225-71.191 8.342-71.121Q8.458-71.051 8.529-70.934Q8.599-70.818 8.599-70.686Q8.599-70.484 8.449-70.334Q8.300-70.185 8.094-70.185Q7.891-70.185 7.742-70.334Q7.593-70.484 7.593-70.686M11.851-65.162L9.763-65.162L9.763-65.478Q10.071-65.478 10.262-65.531Q10.453-65.584 10.453-65.773L10.453-68.221Q10.453-68.462 10.383-68.570Q10.313-68.678 10.179-68.702Q10.045-68.726 9.763-68.726L9.763-69.042L11.104-69.139L11.104-68.304Q11.302-68.686 11.655-68.913Q12.009-69.139 12.435-69.139Q13.714-69.139 13.714-67.926L13.714-65.773Q13.714-65.584 13.905-65.531Q14.096-65.478 14.404-65.478L14.404-65.162L12.317-65.162L12.317-65.478Q12.629-65.478 12.820-65.531Q13.011-65.584 13.011-65.773L13.011-67.891Q13.011-68.150 12.967-68.372Q12.923-68.594 12.778-68.737Q12.633-68.880 12.374-68.880Q12.031-68.880 11.750-68.691Q11.469-68.502 11.313-68.190Q11.157-67.878 11.157-67.531L11.157-65.773Q11.157-65.584 11.350-65.531Q11.543-65.478 11.851-65.478L11.851-65.162M14.971-66.072Q14.971-66.612 15.404-66.946Q15.837-67.280 16.443-67.419Q17.050-67.557 17.581-67.557L17.581-67.891Q17.581-68.150 17.463-68.394Q17.344-68.638 17.135-68.785Q16.927-68.933 16.654-68.933Q16.092-68.933 15.780-68.735Q15.929-68.708 16.021-68.590Q16.114-68.471 16.114-68.313Q16.114-68.137 15.988-68.007Q15.863-67.878 15.683-67.878Q15.494-67.878 15.366-68.005Q15.239-68.133 15.239-68.313Q15.239-68.783 15.678-68.990Q16.118-69.196 16.654-69.196Q16.944-69.196 17.232-69.108Q17.520-69.020 17.753-68.860Q17.986-68.700 18.135-68.460Q18.284-68.221 18.284-67.926L18.284-65.891Q18.284-65.738 18.359-65.599Q18.434-65.461 18.579-65.461Q18.733-65.461 18.805-65.597Q18.878-65.733 18.878-65.891L18.878-66.467L19.163-66.467L19.163-65.891Q19.163-65.558 18.915-65.333Q18.667-65.109 18.337-65.109Q18.078-65.109 17.896-65.303Q17.713-65.496 17.669-65.773Q17.502-65.452 17.168-65.256Q16.834-65.061 16.465-65.061Q15.911-65.061 15.441-65.309Q14.971-65.558 14.971-66.072M15.727-66.072Q15.727-65.760 15.969-65.542Q16.210-65.325 16.527-65.325Q16.962-65.325 17.271-65.634Q17.581-65.944 17.581-66.375L17.581-67.302Q17.164-67.302 16.738-67.175Q16.311-67.047 16.019-66.770Q15.727-66.494 15.727-66.072M20.157-66.234L20.157-68.726L19.392-68.726L19.392-68.985Q19.796-68.985 20.062-69.251Q20.328-69.517 20.449-69.917Q20.570-70.317 20.570-70.699L20.860-70.699L20.860-69.042L22.147-69.042L22.147-68.726L20.860-68.726L20.860-66.269Q20.860-65.900 20.985-65.626Q21.110-65.351 21.435-65.351Q21.734-65.351 21.873-65.645Q22.011-65.940 22.011-66.269L22.011-66.792L22.297-66.792L22.297-66.234Q22.297-65.957 22.187-65.685Q22.077-65.412 21.864-65.237Q21.651-65.061 21.369-65.061Q21.009-65.061 20.737-65.199Q20.464-65.338 20.310-65.601Q20.157-65.865 20.157-66.234M25.105-65.162L23.118-65.162L23.118-65.478Q23.426-65.478 23.617-65.531Q23.808-65.584 23.808-65.773L23.808-68.221Q23.808-68.467 23.742-68.572Q23.677-68.678 23.551-68.702Q23.426-68.726 23.154-68.726L23.154-69.042L24.485-69.139L24.485-65.773Q24.485-65.579 24.650-65.529Q24.815-65.478 25.105-65.478L25.105-65.162M23.505-70.686Q23.505-70.892 23.655-71.042Q23.804-71.191 24.006-71.191Q24.138-71.191 24.254-71.121Q24.371-71.051 24.441-70.934Q24.511-70.818 24.511-70.686Q24.511-70.484 24.362-70.334Q24.213-70.185 24.006-70.185Q23.804-70.185 23.655-70.334Q23.505-70.484 23.505-70.686M25.636-67.069Q25.636-67.636 25.909-68.124Q26.181-68.612 26.652-68.904Q27.122-69.196 27.689-69.196Q28.111-69.196 28.486-69.027Q28.862-68.858 29.139-68.566Q29.416-68.273 29.574-67.878Q29.732-67.482 29.732-67.069Q29.732-66.520 29.453-66.058Q29.174-65.597 28.706-65.329Q28.238-65.061 27.689-65.061Q27.135-65.061 26.665-65.329Q26.195-65.597 25.916-66.058Q25.636-66.520 25.636-67.069M27.689-65.351Q28.185-65.351 28.462-65.612Q28.739-65.874 28.831-66.278Q28.924-66.683 28.924-67.179Q28.924-67.654 28.825-68.043Q28.726-68.432 28.453-68.682Q28.181-68.933 27.689-68.933Q26.977-68.933 26.713-68.438Q26.449-67.944 26.449-67.179Q26.449-66.379 26.704-65.865Q26.959-65.351 27.689-65.351M32.382-65.162L30.295-65.162L30.295-65.478Q30.602-65.478 30.793-65.531Q30.985-65.584 30.985-65.773L30.985-68.221Q30.985-68.462 30.914-68.570Q30.844-68.678 30.710-68.702Q30.576-68.726 30.295-68.726L30.295-69.042L31.635-69.139L31.635-68.304Q31.833-68.686 32.187-68.913Q32.540-69.139 32.967-69.139Q34.245-69.139 34.245-67.926L34.245-65.773Q34.245-65.584 34.437-65.531Q34.628-65.478 34.935-65.478L34.935-65.162L32.848-65.162L32.848-65.478Q33.160-65.478 33.351-65.531Q33.542-65.584 33.542-65.773L33.542-67.891Q33.542-68.150 33.498-68.372Q33.454-68.594 33.309-68.737Q33.164-68.880 32.905-68.880Q32.562-68.880 32.281-68.691Q32-68.502 31.844-68.190Q31.688-67.878 31.688-67.531L31.688-65.773Q31.688-65.584 31.881-65.531Q32.074-65.478 32.382-65.478L32.382-65.162M35.441-65.144L35.441-66.586Q35.441-66.617 35.469-66.641Q35.498-66.665 35.529-66.665L35.638-66.665Q35.674-66.665 35.696-66.643Q35.718-66.621 35.726-66.586Q35.986-65.325 36.952-65.325Q37.379-65.325 37.673-65.509Q37.968-65.694 37.968-66.098Q37.968-66.392 37.737-66.588Q37.506-66.784 37.194-66.845L36.592-66.964Q36.126-67.052 35.783-67.335Q35.441-67.619 35.441-68.058Q35.441-68.651 35.878-68.924Q36.315-69.196 36.952-69.196Q37.431-69.196 37.779-68.950L38.029-69.174Q38.086-69.196 38.086-69.196L38.139-69.196Q38.165-69.196 38.198-69.170Q38.231-69.143 38.231-69.113L38.231-67.953Q38.231-67.922 38.196-67.895Q38.161-67.869 38.139-67.869L38.029-67.869Q38.007-67.869 37.974-67.898Q37.941-67.926 37.941-67.953Q37.941-68.418 37.675-68.689Q37.409-68.959 36.944-68.959Q36.539-68.959 36.236-68.814Q35.933-68.669 35.933-68.313Q35.933-68.067 36.150-67.913Q36.368-67.759 36.645-67.702L37.273-67.575Q37.590-67.513 37.860-67.346Q38.130-67.179 38.297-66.913Q38.464-66.647 38.464-66.331Q38.464-65.689 38.038-65.375Q37.612-65.061 36.952-65.061Q36.680-65.061 36.414-65.155Q36.148-65.250 35.968-65.439L35.647-65.100Q35.630-65.061 35.581-65.061L35.529-65.061Q35.507-65.061 35.474-65.089Q35.441-65.118 35.441-65.144",[3648],[3633,6952,6953],{"transform":6940},[2999,6954],{"d":6955,"fill":3635,"stroke":3635,"className":6956,"style":3786},"M48.395-66.305L42.589-66.305Q42.510-66.318 42.460-66.368Q42.409-66.419 42.409-66.494Q42.409-66.643 42.589-66.691L48.395-66.691Q48.566-66.639 48.566-66.494Q48.566-66.340 48.395-66.305M48.395-68.133L42.589-68.133Q42.409-68.163 42.409-68.322Q42.409-68.471 42.589-68.519L48.395-68.519Q48.566-68.467 48.566-68.322Q48.566-68.168 48.395-68.133",[3648],[3633,6958,6959],{"transform":6940},[2999,6960],{"d":6961,"fill":3635,"stroke":3635,"className":6962,"style":3786},"M56.080-65.162L52.630-65.162L52.630-65.395Q52.630-65.408 52.661-65.439L54.115-67.016Q54.581-67.513 54.834-67.818Q55.087-68.124 55.278-68.535Q55.469-68.946 55.469-69.385Q55.469-69.974 55.146-70.407Q54.823-70.840 54.243-70.840Q53.979-70.840 53.733-70.730Q53.487-70.620 53.311-70.433Q53.135-70.246 53.039-69.996L53.118-69.996Q53.320-69.996 53.463-69.860Q53.606-69.724 53.606-69.508Q53.606-69.302 53.463-69.163Q53.320-69.025 53.118-69.025Q52.916-69.025 52.773-69.168Q52.630-69.310 52.630-69.508Q52.630-69.970 52.867-70.343Q53.105-70.717 53.505-70.936Q53.904-71.156 54.353-71.156Q54.876-71.156 55.330-70.941Q55.785-70.725 56.058-70.326Q56.330-69.926 56.330-69.385Q56.330-68.990 56.159-68.636Q55.987-68.282 55.722-68.003Q55.456-67.724 55.005-67.339Q54.555-66.955 54.476-66.880L53.452-65.918L54.269-65.918Q54.920-65.918 55.357-65.929Q55.794-65.940 55.825-65.962Q55.895-66.045 55.950-66.285Q56.005-66.524 56.045-66.792L56.330-66.792",[3648],[3633,6964,6965,6972,6978,6984,6990],{"stroke":3639,"fontFamily":5619,"fontSize":3640},[3633,6966,6968],{"transform":6967},"translate(-47.844 17.554)",[2999,6969],{"d":6970,"fill":3635,"stroke":3635,"className":6971,"style":3649},"M-14.146-66.889Q-14.146-67.385-13.896-67.810Q-13.646-68.236-13.226-68.482Q-12.806-68.728-12.306-68.728Q-11.767-68.728-11.376-68.603Q-10.986-68.478-10.986-68.064Q-10.986-67.959-11.036-67.867Q-11.087-67.775-11.179-67.725Q-11.271-67.674-11.380-67.674Q-11.486-67.674-11.577-67.725Q-11.669-67.775-11.720-67.867Q-11.771-67.959-11.771-68.064Q-11.771-68.287-11.603-68.392Q-11.825-68.451-12.298-68.451Q-12.595-68.451-12.810-68.312Q-13.025-68.174-13.156-67.943Q-13.286-67.713-13.345-67.443Q-13.404-67.174-13.404-66.889Q-13.404-66.494-13.271-66.144Q-13.138-65.795-12.866-65.578Q-12.595-65.361-12.197-65.361Q-11.822-65.361-11.546-65.578Q-11.271-65.795-11.169-66.154Q-11.154-66.217-11.091-66.217L-10.986-66.217Q-10.950-66.217-10.925-66.189Q-10.900-66.162-10.900-66.123L-10.900-66.100Q-11.032-65.619-11.417-65.351Q-11.802-65.084-12.306-65.084Q-12.669-65.084-13.003-65.221Q-13.337-65.357-13.597-65.607Q-13.857-65.857-14.001-66.193Q-14.146-66.529-14.146-66.889M-10.411-66.857Q-10.411-67.361-10.156-67.793Q-9.900-68.225-9.464-68.476Q-9.029-68.728-8.529-68.728Q-8.142-68.728-7.800-68.584Q-7.458-68.439-7.197-68.178Q-6.935-67.916-6.792-67.580Q-6.650-67.244-6.650-66.857Q-6.650-66.365-6.913-65.955Q-7.177-65.545-7.607-65.314Q-8.036-65.084-8.529-65.084Q-9.021-65.084-9.454-65.316Q-9.888-65.549-10.150-65.957Q-10.411-66.365-10.411-66.857M-8.529-65.361Q-8.072-65.361-7.820-65.584Q-7.568-65.807-7.480-66.158Q-7.392-66.510-7.392-66.955Q-7.392-67.385-7.486-67.723Q-7.579-68.060-7.833-68.267Q-8.087-68.475-8.529-68.475Q-9.177-68.475-9.421-68.058Q-9.665-67.642-9.665-66.955Q-9.665-66.510-9.577-66.158Q-9.489-65.807-9.238-65.584Q-8.986-65.361-8.529-65.361M-4.306-65.162L-6.083-65.162L-6.083-65.459Q-5.810-65.459-5.642-65.506Q-5.474-65.553-5.474-65.721L-5.474-67.857Q-5.474-68.072-5.531-68.168Q-5.587-68.264-5.700-68.285Q-5.814-68.307-6.060-68.307L-6.060-68.603L-4.861-68.689L-4.861-65.721Q-4.861-65.553-4.714-65.506Q-4.568-65.459-4.306-65.459L-4.306-65.162M-5.747-70.084Q-5.747-70.275-5.613-70.406Q-5.478-70.537-5.282-70.537Q-5.161-70.537-5.058-70.475Q-4.954-70.412-4.892-70.308Q-4.829-70.205-4.829-70.084Q-4.829-69.889-4.960-69.754Q-5.091-69.619-5.282-69.619Q-5.482-69.619-5.614-69.752Q-5.747-69.885-5.747-70.084M-1.876-65.162L-3.732-65.162L-3.732-65.459Q-3.458-65.459-3.290-65.506Q-3.122-65.553-3.122-65.721L-3.122-67.857Q-3.122-68.072-3.185-68.168Q-3.247-68.264-3.366-68.285Q-3.486-68.307-3.732-68.307L-3.732-68.603L-2.540-68.689L-2.540-67.955Q-2.427-68.170-2.234-68.338Q-2.040-68.506-1.802-68.598Q-1.564-68.689-1.310-68.689Q-0.142-68.689-0.142-67.611L-0.142-65.721Q-0.142-65.553 0.028-65.506Q0.198-65.459 0.468-65.459L0.468-65.162L-1.388-65.162L-1.388-65.459Q-1.114-65.459-0.947-65.506Q-0.779-65.553-0.779-65.721L-0.779-67.596Q-0.779-67.978-0.900-68.207Q-1.021-68.435-1.372-68.435Q-1.685-68.435-1.939-68.273Q-2.193-68.111-2.339-67.842Q-2.486-67.572-2.486-67.275L-2.486-65.721Q-2.486-65.553-2.316-65.506Q-2.146-65.459-1.876-65.459L-1.876-65.162M0.956-65.170L0.956-66.392Q0.956-66.420 0.987-66.451Q1.018-66.482 1.042-66.482L1.147-66.482Q1.218-66.482 1.233-66.420Q1.296-66.100 1.434-65.859Q1.573-65.619 1.805-65.478Q2.038-65.338 2.346-65.338Q2.585-65.338 2.794-65.398Q3.003-65.459 3.139-65.607Q3.276-65.756 3.276-66.002Q3.276-66.256 3.065-66.422Q2.854-66.588 2.585-66.642L1.964-66.756Q1.557-66.834 1.257-67.090Q0.956-67.346 0.956-67.721Q0.956-68.088 1.157-68.310Q1.358-68.533 1.682-68.631Q2.007-68.728 2.346-68.728Q2.811-68.728 3.108-68.521L3.331-68.705Q3.354-68.728 3.386-68.728L3.436-68.728Q3.468-68.728 3.495-68.701Q3.522-68.674 3.522-68.642L3.522-67.658Q3.522-67.627 3.497-67.598Q3.471-67.568 3.436-67.568L3.331-67.568Q3.296-67.568 3.268-67.596Q3.241-67.623 3.241-67.658Q3.241-68.057 2.989-68.277Q2.737-68.498 2.339-68.498Q1.983-68.498 1.700-68.375Q1.417-68.252 1.417-67.947Q1.417-67.728 1.618-67.596Q1.819-67.463 2.065-67.420L2.690-67.307Q3.120-67.217 3.428-66.920Q3.737-66.623 3.737-66.209Q3.737-65.639 3.339-65.361Q2.940-65.084 2.346-65.084Q1.796-65.084 1.444-65.420L1.147-65.107Q1.124-65.084 1.089-65.084L1.042-65.084Q1.018-65.084 0.987-65.115Q0.956-65.146 0.956-65.170",[3648],[3633,6973,6974],{"transform":6967},[2999,6975],{"d":6976,"fill":3635,"stroke":3635,"className":6977,"style":3649},"M7.109-66.857Q7.109-67.361 7.365-67.793Q7.621-68.225 8.057-68.476Q8.492-68.728 8.992-68.728Q9.379-68.728 9.721-68.584Q10.062-68.439 10.324-68.178Q10.586-67.916 10.728-67.580Q10.871-67.244 10.871-66.857Q10.871-66.365 10.607-65.955Q10.344-65.545 9.914-65.314Q9.484-65.084 8.992-65.084Q8.500-65.084 8.066-65.316Q7.633-65.549 7.371-65.957Q7.109-66.365 7.109-66.857M8.992-65.361Q9.449-65.361 9.701-65.584Q9.953-65.807 10.041-66.158Q10.129-66.510 10.129-66.955Q10.129-67.385 10.035-67.723Q9.941-68.060 9.687-68.267Q9.434-68.475 8.992-68.475Q8.344-68.475 8.100-68.058Q7.855-67.642 7.855-66.955Q7.855-66.510 7.943-66.158Q8.031-65.807 8.283-65.584Q8.535-65.361 8.992-65.361M12.039-66.115L12.039-67.857Q12.039-68.072 11.976-68.168Q11.914-68.264 11.795-68.285Q11.676-68.307 11.430-68.307L11.430-68.603L12.676-68.689L12.676-66.139L12.676-66.115Q12.676-65.803 12.730-65.641Q12.785-65.478 12.935-65.408Q13.086-65.338 13.406-65.338Q13.836-65.338 14.109-65.676Q14.383-66.014 14.383-66.459L14.383-67.857Q14.383-68.072 14.320-68.168Q14.258-68.264 14.139-68.285Q14.019-68.307 13.773-68.307L13.773-68.603L15.019-68.689L15.019-65.904Q15.019-65.693 15.082-65.598Q15.144-65.502 15.264-65.480Q15.383-65.459 15.629-65.459L15.629-65.162L14.406-65.084L14.406-65.705Q14.238-65.416 13.957-65.250Q13.676-65.084 13.355-65.084Q12.039-65.084 12.039-66.115M16.699-66.123L16.699-68.314L15.996-68.314L15.996-68.568Q16.351-68.568 16.594-68.801Q16.836-69.033 16.947-69.381Q17.059-69.728 17.059-70.084L17.340-70.084L17.340-68.611L18.516-68.611L18.516-68.314L17.340-68.314L17.340-66.139Q17.340-65.818 17.459-65.590Q17.578-65.361 17.859-65.361Q18.039-65.361 18.156-65.484Q18.273-65.607 18.326-65.787Q18.379-65.967 18.379-66.139L18.379-66.611L18.660-66.611L18.660-66.123Q18.660-65.869 18.555-65.629Q18.449-65.389 18.252-65.236Q18.055-65.084 17.797-65.084Q17.480-65.084 17.228-65.207Q16.976-65.330 16.838-65.564Q16.699-65.799 16.699-66.123M19.379-66.916Q19.379-67.396 19.611-67.812Q19.844-68.228 20.254-68.478Q20.664-68.728 21.141-68.728Q21.871-68.728 22.269-68.287Q22.668-67.846 22.668-67.115Q22.668-67.010 22.574-66.986L20.125-66.986L20.125-66.916Q20.125-66.506 20.246-66.150Q20.367-65.795 20.639-65.578Q20.910-65.361 21.340-65.361Q21.703-65.361 22-65.590Q22.297-65.818 22.398-66.170Q22.406-66.217 22.492-66.232L22.574-66.232Q22.668-66.205 22.668-66.123Q22.668-66.115 22.660-66.084Q22.598-65.857 22.459-65.674Q22.320-65.490 22.129-65.357Q21.937-65.225 21.719-65.154Q21.500-65.084 21.262-65.084Q20.891-65.084 20.553-65.221Q20.215-65.357 19.947-65.609Q19.680-65.861 19.529-66.201Q19.379-66.541 19.379-66.916M20.133-67.225L22.094-67.225Q22.094-67.529 21.992-67.820Q21.891-68.111 21.674-68.293Q21.457-68.475 21.141-68.475Q20.840-68.475 20.609-68.287Q20.379-68.100 20.256-67.808Q20.133-67.517 20.133-67.225M25.164-65.162L23.184-65.162L23.184-65.459Q23.453-65.459 23.621-65.504Q23.789-65.549 23.789-65.721L23.789-67.857Q23.789-68.072 23.726-68.168Q23.664-68.264 23.547-68.285Q23.430-68.307 23.184-68.307L23.184-68.603L24.351-68.689L24.351-67.904Q24.430-68.115 24.582-68.301Q24.734-68.486 24.934-68.588Q25.133-68.689 25.359-68.689Q25.605-68.689 25.797-68.545Q25.988-68.400 25.988-68.170Q25.988-68.014 25.883-67.904Q25.777-67.795 25.621-67.795Q25.465-67.795 25.355-67.904Q25.246-68.014 25.246-68.170Q25.246-68.330 25.351-68.435Q25.027-68.435 24.812-68.207Q24.598-67.978 24.502-67.639Q24.406-67.299 24.406-66.994L24.406-65.721Q24.406-65.553 24.633-65.506Q24.859-65.459 25.164-65.459L25.164-65.162M27.055-63.756Q27.055-63.779 27.086-63.826Q27.379-64.088 27.545-64.455Q27.711-64.822 27.711-65.209L27.711-65.267Q27.582-65.162 27.414-65.162Q27.223-65.162 27.086-65.295Q26.949-65.428 26.949-65.627Q26.949-65.818 27.086-65.951Q27.223-66.084 27.414-66.084Q27.715-66.084 27.840-65.814Q27.965-65.545 27.965-65.209Q27.965-64.760 27.783-64.346Q27.601-63.932 27.262-63.635Q27.238-63.611 27.199-63.611Q27.152-63.611 27.103-63.656Q27.055-63.701 27.055-63.756",[3648],[3633,6979,6980],{"transform":6967},[2999,6981],{"d":6982,"fill":3635,"stroke":3635,"className":6983,"style":3649},"M31.770-65.994Q31.770-66.478 32.172-66.773Q32.575-67.068 33.125-67.187Q33.676-67.307 34.168-67.307L34.168-67.596Q34.168-67.822 34.053-68.029Q33.938-68.236 33.741-68.355Q33.543-68.475 33.313-68.475Q32.887-68.475 32.602-68.369Q32.672-68.342 32.719-68.287Q32.766-68.232 32.791-68.162Q32.817-68.092 32.817-68.017Q32.817-67.912 32.766-67.820Q32.715-67.728 32.623-67.678Q32.532-67.627 32.426-67.627Q32.321-67.627 32.229-67.678Q32.137-67.728 32.086-67.820Q32.036-67.912 32.036-68.017Q32.036-68.435 32.424-68.582Q32.813-68.728 33.313-68.728Q33.645-68.728 33.998-68.598Q34.352-68.467 34.580-68.213Q34.809-67.959 34.809-67.611L34.809-65.810Q34.809-65.678 34.881-65.568Q34.954-65.459 35.082-65.459Q35.207-65.459 35.276-65.564Q35.344-65.670 35.344-65.810L35.344-66.322L35.625-66.322L35.625-65.810Q35.625-65.607 35.508-65.449Q35.391-65.291 35.209-65.207Q35.028-65.123 34.825-65.123Q34.594-65.123 34.442-65.295Q34.289-65.467 34.258-65.697Q34.098-65.416 33.789-65.250Q33.481-65.084 33.129-65.084Q32.618-65.084 32.194-65.307Q31.770-65.529 31.770-65.994M32.457-65.994Q32.457-65.709 32.684-65.523Q32.911-65.338 33.204-65.338Q33.450-65.338 33.674-65.455Q33.899-65.572 34.034-65.775Q34.168-65.978 34.168-66.232L34.168-67.064Q33.903-67.064 33.618-67.010Q33.332-66.955 33.061-66.826Q32.789-66.697 32.623-66.490Q32.457-66.283 32.457-65.994M37.848-65.162L35.993-65.162L35.993-65.459Q36.266-65.459 36.434-65.506Q36.602-65.553 36.602-65.721L36.602-67.857Q36.602-68.072 36.539-68.168Q36.477-68.264 36.358-68.285Q36.239-68.307 35.993-68.307L35.993-68.603L37.184-68.689L37.184-67.955Q37.297-68.170 37.491-68.338Q37.684-68.506 37.922-68.598Q38.161-68.689 38.414-68.689Q39.375-68.689 39.551-67.978Q39.735-68.307 40.063-68.498Q40.391-68.689 40.770-68.689Q41.946-68.689 41.946-67.611L41.946-65.721Q41.946-65.553 42.114-65.506Q42.282-65.459 42.551-65.459L42.551-65.162L40.696-65.162L40.696-65.459Q40.969-65.459 41.137-65.504Q41.305-65.549 41.305-65.721L41.305-67.596Q41.305-67.982 41.180-68.209Q41.055-68.435 40.704-68.435Q40.399-68.435 40.143-68.273Q39.887-68.111 39.739-67.842Q39.590-67.572 39.590-67.275L39.590-65.721Q39.590-65.553 39.760-65.506Q39.930-65.459 40.200-65.459L40.200-65.162L38.344-65.162L38.344-65.459Q38.618-65.459 38.786-65.506Q38.954-65.553 38.954-65.721L38.954-67.596Q38.954-67.982 38.829-68.209Q38.704-68.435 38.352-68.435Q38.047-68.435 37.791-68.273Q37.536-68.111 37.387-67.842Q37.239-67.572 37.239-67.275L37.239-65.721Q37.239-65.553 37.409-65.506Q37.579-65.459 37.848-65.459L37.848-65.162M42.996-66.857Q42.996-67.361 43.252-67.793Q43.508-68.225 43.944-68.476Q44.379-68.728 44.879-68.728Q45.266-68.728 45.608-68.584Q45.950-68.439 46.211-68.178Q46.473-67.916 46.616-67.580Q46.758-67.244 46.758-66.857Q46.758-66.365 46.495-65.955Q46.231-65.545 45.801-65.314Q45.371-65.084 44.879-65.084Q44.387-65.084 43.954-65.316Q43.520-65.549 43.258-65.957Q42.996-66.365 42.996-66.857M44.879-65.361Q45.336-65.361 45.588-65.584Q45.840-65.807 45.928-66.158Q46.016-66.510 46.016-66.955Q46.016-67.385 45.922-67.723Q45.829-68.060 45.575-68.267Q45.321-68.475 44.879-68.475Q44.231-68.475 43.987-68.058Q43.743-67.642 43.743-66.955Q43.743-66.510 43.830-66.158Q43.918-65.807 44.170-65.584Q44.422-65.361 44.879-65.361M47.926-66.115L47.926-67.857Q47.926-68.072 47.864-68.168Q47.801-68.264 47.682-68.285Q47.563-68.307 47.317-68.307L47.317-68.603L48.563-68.689L48.563-66.139L48.563-66.115Q48.563-65.803 48.618-65.641Q48.672-65.478 48.823-65.408Q48.973-65.338 49.293-65.338Q49.723-65.338 49.996-65.676Q50.270-66.014 50.270-66.459L50.270-67.857Q50.270-68.072 50.207-68.168Q50.145-68.264 50.026-68.285Q49.907-68.307 49.661-68.307L49.661-68.603L50.907-68.689L50.907-65.904Q50.907-65.693 50.969-65.598Q51.032-65.502 51.151-65.480Q51.270-65.459 51.516-65.459L51.516-65.162L50.293-65.084L50.293-65.705Q50.125-65.416 49.844-65.250Q49.563-65.084 49.243-65.084Q47.926-65.084 47.926-66.115M53.891-65.162L52.036-65.162L52.036-65.459Q52.309-65.459 52.477-65.506Q52.645-65.553 52.645-65.721L52.645-67.857Q52.645-68.072 52.582-68.168Q52.520-68.264 52.401-68.285Q52.282-68.307 52.036-68.307L52.036-68.603L53.227-68.689L53.227-67.955Q53.340-68.170 53.534-68.338Q53.727-68.506 53.965-68.598Q54.204-68.689 54.457-68.689Q55.625-68.689 55.625-67.611L55.625-65.721Q55.625-65.553 55.795-65.506Q55.965-65.459 56.235-65.459L56.235-65.162L54.379-65.162L54.379-65.459Q54.653-65.459 54.821-65.506Q54.989-65.553 54.989-65.721L54.989-67.596Q54.989-67.978 54.868-68.207Q54.746-68.435 54.395-68.435Q54.082-68.435 53.829-68.273Q53.575-68.111 53.428-67.842Q53.282-67.572 53.282-67.275L53.282-65.721Q53.282-65.553 53.452-65.506Q53.621-65.459 53.891-65.459",[3648],[3633,6985,6986],{"transform":6967},[2999,6987],{"d":6988,"fill":3635,"stroke":3635,"className":6989,"style":3649},"M57.089-66.123L57.089-68.314L56.386-68.314L56.386-68.568Q56.742-68.568 56.984-68.801Q57.226-69.033 57.337-69.381Q57.449-69.728 57.449-70.084L57.730-70.084L57.730-68.611L58.906-68.611L58.906-68.314L57.730-68.314L57.730-66.139Q57.730-65.818 57.849-65.590Q57.968-65.361 58.249-65.361Q58.429-65.361 58.546-65.484Q58.663-65.607 58.716-65.787Q58.769-65.967 58.769-66.139L58.769-66.611L59.050-66.611L59.050-66.123Q59.050-65.869 58.945-65.629Q58.839-65.389 58.642-65.236Q58.445-65.084 58.187-65.084Q57.871-65.084 57.619-65.207Q57.367-65.330 57.228-65.564Q57.089-65.799 57.089-66.123",[3648],[3633,6991,6992],{"transform":6967},[2999,6993],{"d":6994,"fill":3635,"stroke":3635,"className":6995,"style":3649},"M64.463-65.162L62.685-65.162L62.685-65.459Q62.959-65.459 63.127-65.506Q63.295-65.553 63.295-65.721L63.295-67.857Q63.295-68.072 63.238-68.168Q63.181-68.264 63.068-68.285Q62.955-68.307 62.709-68.307L62.709-68.603L63.908-68.689L63.908-65.721Q63.908-65.553 64.054-65.506Q64.201-65.459 64.463-65.459L64.463-65.162M63.021-70.084Q63.021-70.275 63.156-70.406Q63.291-70.537 63.486-70.537Q63.607-70.537 63.711-70.475Q63.814-70.412 63.877-70.308Q63.939-70.205 63.939-70.084Q63.939-69.889 63.808-69.754Q63.678-69.619 63.486-69.619Q63.287-69.619 63.154-69.752Q63.021-69.885 63.021-70.084M66.892-65.162L65.037-65.162L65.037-65.459Q65.310-65.459 65.478-65.506Q65.646-65.553 65.646-65.721L65.646-67.857Q65.646-68.072 65.584-68.168Q65.521-68.264 65.402-68.285Q65.283-68.307 65.037-68.307L65.037-68.603L66.228-68.689L66.228-67.955Q66.342-68.170 66.535-68.338Q66.728-68.506 66.967-68.598Q67.205-68.689 67.459-68.689Q68.627-68.689 68.627-67.611L68.627-65.721Q68.627-65.553 68.797-65.506Q68.967-65.459 69.236-65.459L69.236-65.162L67.381-65.162L67.381-65.459Q67.654-65.459 67.822-65.506Q67.990-65.553 67.990-65.721L67.990-67.596Q67.990-67.978 67.869-68.207Q67.748-68.435 67.396-68.435Q67.084-68.435 66.830-68.273Q66.576-68.111 66.429-67.842Q66.283-67.572 66.283-67.275L66.283-65.721Q66.283-65.553 66.453-65.506Q66.623-65.459 66.892-65.459L66.892-65.162M71.611-65.162L69.756-65.162L69.756-65.459Q70.029-65.459 70.197-65.506Q70.365-65.553 70.365-65.721L70.365-67.857Q70.365-68.072 70.303-68.168Q70.240-68.264 70.121-68.285Q70.002-68.307 69.756-68.307L69.756-68.603L70.947-68.689L70.947-67.955Q71.060-68.170 71.254-68.338Q71.447-68.506 71.685-68.598Q71.924-68.689 72.178-68.689Q73.345-68.689 73.345-67.611L73.345-65.721Q73.345-65.553 73.515-65.506Q73.685-65.459 73.955-65.459L73.955-65.162L72.099-65.162L72.099-65.459Q72.373-65.459 72.541-65.506Q72.709-65.553 72.709-65.721L72.709-67.596Q72.709-67.978 72.588-68.207Q72.467-68.435 72.115-68.435Q71.803-68.435 71.549-68.273Q71.295-68.111 71.148-67.842Q71.002-67.572 71.002-67.275L71.002-65.721Q71.002-65.553 71.172-65.506Q71.342-65.459 71.611-65.459L71.611-65.162M74.400-66.916Q74.400-67.396 74.633-67.812Q74.865-68.228 75.275-68.478Q75.685-68.728 76.162-68.728Q76.892-68.728 77.291-68.287Q77.689-67.846 77.689-67.115Q77.689-67.010 77.595-66.986L75.146-66.986L75.146-66.916Q75.146-66.506 75.267-66.150Q75.388-65.795 75.660-65.578Q75.931-65.361 76.361-65.361Q76.724-65.361 77.021-65.590Q77.318-65.818 77.420-66.170Q77.428-66.217 77.513-66.232L77.595-66.232Q77.689-66.205 77.689-66.123Q77.689-66.115 77.681-66.084Q77.619-65.857 77.480-65.674Q77.342-65.490 77.150-65.357Q76.959-65.225 76.740-65.154Q76.521-65.084 76.283-65.084Q75.912-65.084 75.574-65.221Q75.236-65.357 74.969-65.609Q74.701-65.861 74.551-66.201Q74.400-66.541 74.400-66.916M75.154-67.225L77.115-67.225Q77.115-67.529 77.013-67.820Q76.912-68.111 76.695-68.293Q76.478-68.475 76.162-68.475Q75.861-68.475 75.631-68.287Q75.400-68.100 75.277-67.808Q75.154-67.517 75.154-67.225M80.185-65.162L78.205-65.162L78.205-65.459Q78.474-65.459 78.642-65.504Q78.810-65.549 78.810-65.721L78.810-67.857Q78.810-68.072 78.748-68.168Q78.685-68.264 78.568-68.285Q78.451-68.307 78.205-68.307L78.205-68.603L79.373-68.689L79.373-67.904Q79.451-68.115 79.603-68.301Q79.756-68.486 79.955-68.588Q80.154-68.689 80.381-68.689Q80.627-68.689 80.818-68.545Q81.010-68.400 81.010-68.170Q81.010-68.014 80.904-67.904Q80.799-67.795 80.642-67.795Q80.486-67.795 80.377-67.904Q80.267-68.014 80.267-68.170Q80.267-68.330 80.373-68.435Q80.049-68.435 79.834-68.207Q79.619-67.978 79.523-67.639Q79.428-67.299 79.428-66.994L79.428-65.721Q79.428-65.553 79.654-65.506Q79.881-65.459 80.185-65.459",[3648],[2999,6997],{"fill":3639,"d":6998},"M13.026-36.71h-54.905a1 1 0 0 0-1 1v15.072a1 1 0 0 0 1 1h54.905a1 1 0 0 0 1-1v-15.071a1 1 0 0 0-1-1Zm-55.905 17.072",[3633,7000,7001,7008,7014,7020,7026,7032,7038],{"stroke":3639,"fontSize":6937},[3633,7002,7004],{"transform":7003},"translate(-15.674 39.239)",[2999,7005],{"d":7006,"fill":3635,"stroke":3635,"className":7007,"style":3786},"M-12.454-64.081L-12.454-66.269Q-12.454-66.735-12.834-67.010Q-13.214-67.285-13.698-67.285Q-13.724-67.285-13.757-67.309Q-13.790-67.333-13.790-67.368L-13.790-67.465Q-13.790-67.495-13.755-67.522Q-13.719-67.548-13.698-67.548Q-13.214-67.548-12.834-67.816Q-12.454-68.084-12.454-68.555L-12.454-70.743Q-12.454-71.161-12.162-71.424Q-11.869-71.688-11.443-71.800Q-11.017-71.912-10.621-71.912L-10.538-71.912Q-10.507-71.912-10.479-71.888Q-10.450-71.864-10.450-71.833L-10.450-71.732Q-10.450-71.710-10.483-71.681Q-10.516-71.653-10.538-71.653Q-11.012-71.653-11.397-71.402Q-11.781-71.152-11.781-70.708L-11.781-68.519Q-11.781-68.106-12.087-67.823Q-12.392-67.539-12.845-67.412Q-12.568-67.337-12.324-67.186Q-12.080-67.034-11.931-66.810Q-11.781-66.586-11.781-66.305L-11.781-64.116Q-11.781-63.813-11.597-63.600Q-11.412-63.387-11.129-63.279Q-10.845-63.171-10.538-63.171Q-10.507-63.171-10.479-63.147Q-10.450-63.123-10.450-63.092L-10.450-62.991Q-10.450-62.969-10.483-62.941Q-10.516-62.912-10.538-62.912L-10.621-62.912Q-11.017-62.912-11.443-63.024Q-11.869-63.136-12.162-63.400Q-12.454-63.663-12.454-64.081",[3648],[3633,7009,7010],{"transform":7003},[2999,7011],{"d":7012,"fill":3635,"stroke":3635,"className":7013,"style":3786},"M-5.895-65.162L-8.927-65.162L-8.927-65.478Q-7.776-65.478-7.776-65.773L-7.776-70.497Q-8.264-70.264-8.985-70.264L-8.985-70.580Q-7.855-70.580-7.293-71.156L-7.148-71.156Q-7.113-71.156-7.080-71.123Q-7.047-71.090-7.047-71.055L-7.047-65.773Q-7.047-65.478-5.895-65.478",[3648],[3633,7015,7016],{"transform":7003},[2999,7017],{"d":7018,"fill":3635,"stroke":3635,"className":7019,"style":3786},"M-4.276-63.558Q-4.276-63.598-4.241-63.633Q-3.916-63.945-3.736-64.351Q-3.555-64.758-3.555-65.206L-3.555-65.289Q-3.696-65.162-3.898-65.162Q-4.043-65.162-4.157-65.228Q-4.272-65.294-4.338-65.406Q-4.404-65.518-4.404-65.667Q-4.404-65.887-4.263-66.028Q-4.122-66.168-3.898-66.168Q-3.577-66.168-3.437-65.870Q-3.296-65.571-3.296-65.206Q-3.296-64.696-3.500-64.241Q-3.705-63.787-4.070-63.435Q-4.105-63.417-4.131-63.417Q-4.188-63.417-4.232-63.461Q-4.276-63.505-4.276-63.558",[3648],[3633,7021,7022],{"transform":7003},[2999,7023],{"d":7024,"fill":3635,"stroke":3635,"className":7025,"style":3786},"M2.841-65.162L-0.191-65.162L-0.191-65.478Q0.960-65.478 0.960-65.773L0.960-70.497Q0.472-70.264-0.249-70.264L-0.249-70.580Q0.881-70.580 1.443-71.156L1.588-71.156Q1.623-71.156 1.656-71.123Q1.689-71.090 1.689-71.055L1.689-65.773Q1.689-65.478 2.841-65.478",[3648],[3633,7027,7028],{"transform":7003},[2999,7029],{"d":7030,"fill":3635,"stroke":3635,"className":7031,"style":3786},"M4.460-63.558Q4.460-63.598 4.495-63.633Q4.820-63.945 5-64.351Q5.181-64.758 5.181-65.206L5.181-65.289Q5.040-65.162 4.838-65.162Q4.693-65.162 4.579-65.228Q4.464-65.294 4.398-65.406Q4.332-65.518 4.332-65.667Q4.332-65.887 4.473-66.028Q4.614-66.168 4.838-66.168Q5.159-66.168 5.299-65.870Q5.440-65.571 5.440-65.206Q5.440-64.696 5.236-64.241Q5.031-63.787 4.666-63.435Q4.631-63.417 4.605-63.417Q4.548-63.417 4.504-63.461Q4.460-63.505 4.460-63.558",[3648],[3633,7033,7034],{"transform":7003},[2999,7035],{"d":7036,"fill":3635,"stroke":3635,"className":7037,"style":3786},"M11.577-65.162L8.545-65.162L8.545-65.478Q9.696-65.478 9.696-65.773L9.696-70.497Q9.208-70.264 8.487-70.264L8.487-70.580Q9.617-70.580 10.179-71.156L10.324-71.156Q10.359-71.156 10.392-71.123Q10.425-71.090 10.425-71.055L10.425-65.773Q10.425-65.478 11.577-65.478",[3648],[3633,7039,7040],{"transform":7003},[2999,7041],{"d":7042,"fill":3635,"stroke":3635,"className":7043,"style":3786},"M12.932-62.991L12.932-63.092Q12.932-63.123 12.963-63.147Q12.994-63.171 13.024-63.171Q13.332-63.171 13.616-63.279Q13.899-63.387 14.084-63.600Q14.268-63.813 14.268-64.116L14.268-66.305Q14.268-66.595 14.418-66.817Q14.567-67.038 14.809-67.188Q15.050-67.337 15.327-67.412Q14.870-67.544 14.569-67.825Q14.268-68.106 14.268-68.519L14.268-70.708Q14.268-71.011 14.084-71.224Q13.899-71.437 13.616-71.545Q13.332-71.653 13.024-71.653Q13.007-71.653 12.970-71.681Q12.932-71.710 12.932-71.732L12.932-71.833Q12.932-71.864 12.963-71.888Q12.994-71.912 13.024-71.912L13.104-71.912Q13.503-71.912 13.930-71.800Q14.356-71.688 14.648-71.424Q14.941-71.161 14.941-70.743L14.941-68.555Q14.941-68.238 15.121-68.010Q15.301-67.781 15.591-67.665Q15.881-67.548 16.184-67.548Q16.211-67.548 16.241-67.522Q16.272-67.495 16.272-67.465L16.272-67.368Q16.272-67.333 16.243-67.309Q16.215-67.285 16.184-67.285Q15.701-67.285 15.321-67.010Q14.941-66.735 14.941-66.269L14.941-64.081Q14.941-63.663 14.648-63.400Q14.356-63.136 13.930-63.024Q13.503-62.912 13.104-62.912L13.024-62.912Q13.007-62.912 12.970-62.941Q12.932-62.969 12.932-62.991",[3648],[3633,7045,7046,7049],{"fill":3836},[2999,7047],{"d":7048},"M13.026-13.947h-54.905a1 1 0 0 0-1 1V2.125a1 1 0 0 0 1 1h54.905a1 1 0 0 0 1-1v-15.072a1 1 0 0 0-1-1ZM-42.879 3.125",[3633,7050,7051,7057,7062,7067,7073],{"fill":3635,"stroke":3639,"fontSize":6937},[3633,7052,7054],{"transform":7053},"translate(-11.305 62)",[2999,7055],{"d":7006,"fill":3635,"stroke":3635,"className":7056,"style":3786},[3648],[3633,7058,7059],{"transform":7053},[2999,7060],{"d":7012,"fill":3635,"stroke":3635,"className":7061,"style":3786},[3648],[3633,7063,7064],{"transform":7053},[2999,7065],{"d":7018,"fill":3635,"stroke":3635,"className":7066,"style":3786},[3648],[3633,7068,7069],{"transform":7053},[2999,7070],{"d":7071,"fill":3635,"stroke":3635,"className":7072,"style":3786},"M2.841-65.162L-0.609-65.162L-0.609-65.395Q-0.609-65.408-0.578-65.439L0.876-67.016Q1.342-67.513 1.595-67.818Q1.848-68.124 2.039-68.535Q2.230-68.946 2.230-69.385Q2.230-69.974 1.907-70.407Q1.584-70.840 1.004-70.840Q0.740-70.840 0.494-70.730Q0.248-70.620 0.072-70.433Q-0.104-70.246-0.200-69.996L-0.121-69.996Q0.081-69.996 0.224-69.860Q0.367-69.724 0.367-69.508Q0.367-69.302 0.224-69.163Q0.081-69.025-0.121-69.025Q-0.323-69.025-0.466-69.168Q-0.609-69.310-0.609-69.508Q-0.609-69.970-0.372-70.343Q-0.134-70.717 0.266-70.936Q0.665-71.156 1.114-71.156Q1.637-71.156 2.091-70.941Q2.546-70.725 2.819-70.326Q3.091-69.926 3.091-69.385Q3.091-68.990 2.920-68.636Q2.748-68.282 2.483-68.003Q2.217-67.724 1.766-67.339Q1.316-66.955 1.237-66.880L0.213-65.918L1.030-65.918Q1.681-65.918 2.118-65.929Q2.555-65.940 2.586-65.962Q2.656-66.045 2.711-66.285Q2.766-66.524 2.806-66.792L3.091-66.792",[3648],[3633,7074,7075],{"transform":7053},[2999,7076],{"d":7077,"fill":3635,"stroke":3635,"className":7078,"style":3786},"M4.196-62.991L4.196-63.092Q4.196-63.123 4.227-63.147Q4.258-63.171 4.288-63.171Q4.596-63.171 4.880-63.279Q5.163-63.387 5.348-63.600Q5.532-63.813 5.532-64.116L5.532-66.305Q5.532-66.595 5.682-66.817Q5.831-67.038 6.073-67.188Q6.314-67.337 6.591-67.412Q6.134-67.544 5.833-67.825Q5.532-68.106 5.532-68.519L5.532-70.708Q5.532-71.011 5.348-71.224Q5.163-71.437 4.880-71.545Q4.596-71.653 4.288-71.653Q4.271-71.653 4.234-71.681Q4.196-71.710 4.196-71.732L4.196-71.833Q4.196-71.864 4.227-71.888Q4.258-71.912 4.288-71.912L4.368-71.912Q4.767-71.912 5.194-71.800Q5.620-71.688 5.912-71.424Q6.205-71.161 6.205-70.743L6.205-68.555Q6.205-68.238 6.385-68.010Q6.565-67.781 6.855-67.665Q7.145-67.548 7.448-67.548Q7.475-67.548 7.505-67.522Q7.536-67.495 7.536-67.465L7.536-67.368Q7.536-67.333 7.507-67.309Q7.479-67.285 7.448-67.285Q6.965-67.285 6.585-67.010Q6.205-66.735 6.205-66.269L6.205-64.081Q6.205-63.663 5.912-63.400Q5.620-63.136 5.194-63.024Q4.767-62.912 4.368-62.912L4.288-62.912Q4.271-62.912 4.234-62.941Q4.196-62.969 4.196-62.991",[3648],[3633,7080,7081,7088,7094],{"stroke":3639,"fontFamily":6936,"fontSize":6937},[3633,7082,7084],{"transform":7083},"translate(102.434 2.025)",[2999,7085],{"d":7086,"fill":3635,"stroke":3635,"className":7087,"style":3786},"M-14.119-65.144L-14.119-66.586Q-14.119-66.617-14.091-66.641Q-14.062-66.665-14.031-66.665L-13.922-66.665Q-13.886-66.665-13.864-66.643Q-13.843-66.621-13.834-66.586Q-13.574-65.325-12.608-65.325Q-12.181-65.325-11.887-65.509Q-11.593-65.694-11.593-66.098Q-11.593-66.392-11.823-66.588Q-12.054-66.784-12.366-66.845L-12.968-66.964Q-13.434-67.052-13.777-67.335Q-14.119-67.619-14.119-68.058Q-14.119-68.651-13.682-68.924Q-13.245-69.196-12.608-69.196Q-12.129-69.196-11.781-68.950L-11.531-69.174Q-11.474-69.196-11.474-69.196L-11.421-69.196Q-11.395-69.196-11.362-69.170Q-11.329-69.143-11.329-69.113L-11.329-67.953Q-11.329-67.922-11.364-67.895Q-11.399-67.869-11.421-67.869L-11.531-67.869Q-11.553-67.869-11.586-67.898Q-11.619-67.926-11.619-67.953Q-11.619-68.418-11.885-68.689Q-12.151-68.959-12.616-68.959Q-13.021-68.959-13.324-68.814Q-13.627-68.669-13.627-68.313Q-13.627-68.067-13.410-67.913Q-13.192-67.759-12.915-67.702L-12.287-67.575Q-11.970-67.513-11.700-67.346Q-11.430-67.179-11.263-66.913Q-11.096-66.647-11.096-66.331Q-11.096-65.689-11.522-65.375Q-11.948-65.061-12.608-65.061Q-12.880-65.061-13.146-65.155Q-13.412-65.250-13.592-65.439L-13.913-65.100Q-13.930-65.061-13.979-65.061L-14.031-65.061Q-14.053-65.061-14.086-65.089Q-14.119-65.118-14.119-65.144M-8.472-65.061Q-9.031-65.061-9.503-65.344Q-9.975-65.628-10.250-66.105Q-10.525-66.581-10.525-67.135Q-10.525-67.531-10.382-67.906Q-10.239-68.282-9.982-68.570Q-9.725-68.858-9.367-69.027Q-9.009-69.196-8.604-69.196Q-8.059-69.196-7.688-68.959Q-7.317-68.722-7.130-68.304Q-6.943-67.887-6.943-67.350Q-6.943-67.298-6.967-67.260Q-6.991-67.223-7.040-67.223L-9.712-67.223L-9.712-67.144Q-9.712-66.397-9.400-65.874Q-9.088-65.351-8.389-65.351Q-7.985-65.351-7.664-65.608Q-7.343-65.865-7.220-66.269Q-7.202-66.349-7.119-66.349L-7.040-66.349Q-7-66.349-6.972-66.318Q-6.943-66.287-6.943-66.243L-6.943-66.208Q-7.049-65.865-7.271-65.606Q-7.492-65.347-7.807-65.204Q-8.121-65.061-8.472-65.061M-9.703-67.474L-7.589-67.474Q-7.589-67.742-7.642-67.988Q-7.695-68.234-7.815-68.456Q-7.936-68.678-8.134-68.805Q-8.332-68.933-8.604-68.933Q-8.947-68.933-9.200-68.708Q-9.452-68.484-9.578-68.146Q-9.703-67.808-9.703-67.474M-1.793-63.417L-3.880-63.417L-3.880-63.729Q-3.573-63.729-3.379-63.780Q-3.186-63.830-3.186-64.028L-3.186-65.667Q-3.678-65.061-4.412-65.061Q-4.807-65.061-5.168-65.226Q-5.528-65.391-5.798-65.678Q-6.069-65.966-6.216-66.338Q-6.363-66.709-6.363-67.104Q-6.363-67.654-6.088-68.122Q-5.814-68.590-5.346-68.864Q-4.878-69.139-4.333-69.139Q-3.942-69.139-3.610-68.926Q-3.278-68.713-3.080-68.366L-2.746-69.139L-2.487-69.139L-2.487-64.028Q-2.487-63.830-2.294-63.780Q-2.100-63.729-1.793-63.729L-1.793-63.417M-4.359-65.325Q-3.955-65.325-3.634-65.590Q-3.313-65.856-3.159-66.252L-3.159-67.808Q-3.230-68.080-3.377-68.319Q-3.524-68.559-3.753-68.706Q-3.981-68.853-4.258-68.853Q-4.667-68.853-4.961-68.581Q-5.256-68.308-5.405-67.895Q-5.554-67.482-5.554-67.096Q-5.554-66.722-5.423-66.309Q-5.291-65.896-5.021-65.610Q-4.750-65.325-4.359-65.325M-0.804-66.234L-0.804-68.221Q-0.804-68.462-0.874-68.570Q-0.945-68.678-1.079-68.702Q-1.213-68.726-1.494-68.726L-1.494-69.042L-0.101-69.139L-0.101-66.269Q-0.101-65.891-0.055-65.705Q-0.009-65.518 0.163-65.421Q0.334-65.325 0.690-65.325Q1.024-65.325 1.264-65.516Q1.503-65.707 1.628-66.010Q1.754-66.313 1.754-66.630L1.754-68.221Q1.754-68.462 1.683-68.570Q1.613-68.678 1.479-68.702Q1.345-68.726 1.059-68.726L1.059-69.042L2.457-69.139L2.457-65.979Q2.457-65.742 2.527-65.634Q2.597-65.527 2.731-65.503Q2.865-65.478 3.147-65.478L3.147-65.162L1.780-65.061L1.780-65.782Q1.613-65.456 1.308-65.259Q1.002-65.061 0.646-65.061Q-0.013-65.061-0.408-65.331Q-0.804-65.601-0.804-66.234M5.656-65.061Q5.098-65.061 4.625-65.344Q4.153-65.628 3.878-66.105Q3.604-66.581 3.604-67.135Q3.604-67.531 3.747-67.906Q3.889-68.282 4.146-68.570Q4.404-68.858 4.762-69.027Q5.120-69.196 5.524-69.196Q6.069-69.196 6.440-68.959Q6.812-68.722 6.999-68.304Q7.185-67.887 7.185-67.350Q7.185-67.298 7.161-67.260Q7.137-67.223 7.089-67.223L4.417-67.223L4.417-67.144Q4.417-66.397 4.729-65.874Q5.041-65.351 5.740-65.351Q6.144-65.351 6.465-65.608Q6.785-65.865 6.908-66.269Q6.926-66.349 7.010-66.349L7.089-66.349Q7.128-66.349 7.157-66.318Q7.185-66.287 7.185-66.243L7.185-66.208Q7.080-65.865 6.858-65.606Q6.636-65.347 6.322-65.204Q6.008-65.061 5.656-65.061M4.426-67.474L6.539-67.474Q6.539-67.742 6.487-67.988Q6.434-68.234 6.313-68.456Q6.192-68.678 5.994-68.805Q5.797-68.933 5.524-68.933Q5.181-68.933 4.929-68.708Q4.676-68.484 4.551-68.146Q4.426-67.808 4.426-67.474M9.844-65.162L7.757-65.162L7.757-65.478Q8.064-65.478 8.255-65.531Q8.447-65.584 8.447-65.773L8.447-68.221Q8.447-68.462 8.376-68.570Q8.306-68.678 8.172-68.702Q8.038-68.726 7.757-68.726L7.757-69.042L9.097-69.139L9.097-68.304Q9.295-68.686 9.648-68.913Q10.002-69.139 10.428-69.139Q11.707-69.139 11.707-67.926L11.707-65.773Q11.707-65.584 11.898-65.531Q12.090-65.478 12.397-65.478L12.397-65.162L10.310-65.162L10.310-65.478Q10.622-65.478 10.813-65.531Q11.004-65.584 11.004-65.773L11.004-67.891Q11.004-68.150 10.960-68.372Q10.916-68.594 10.771-68.737Q10.626-68.880 10.367-68.880Q10.024-68.880 9.743-68.691Q9.462-68.502 9.306-68.190Q9.150-67.878 9.150-67.531L9.150-65.773Q9.150-65.584 9.343-65.531Q9.536-65.478 9.844-65.478L9.844-65.162M14.906-65.061Q14.357-65.061 13.898-65.340Q13.439-65.619 13.171-66.089Q12.903-66.559 12.903-67.104Q12.903-67.517 13.052-67.895Q13.201-68.273 13.476-68.568Q13.751-68.862 14.120-69.029Q14.489-69.196 14.906-69.196Q15.240-69.196 15.561-69.130Q15.882-69.064 16.111-68.878Q16.339-68.691 16.339-68.366Q16.339-68.190 16.212-68.062Q16.084-67.935 15.908-67.935Q15.724-67.935 15.594-68.060Q15.465-68.185 15.465-68.366Q15.465-68.502 15.539-68.614Q15.614-68.726 15.746-68.779Q15.438-68.906 14.906-68.906Q14.471-68.906 14.203-68.629Q13.935-68.352 13.823-67.937Q13.711-67.522 13.711-67.104Q13.711-66.674 13.850-66.272Q13.988-65.870 14.282-65.610Q14.577-65.351 15.016-65.351Q15.438-65.351 15.741-65.601Q16.045-65.852 16.150-66.261Q16.159-66.291 16.183-66.316Q16.207-66.340 16.238-66.340L16.348-66.340Q16.436-66.340 16.436-66.225Q16.291-65.689 15.878-65.375Q15.465-65.061 14.906-65.061M19.011-65.061Q18.453-65.061 17.980-65.344Q17.508-65.628 17.233-66.105Q16.959-66.581 16.959-67.135Q16.959-67.531 17.102-67.906Q17.244-68.282 17.501-68.570Q17.759-68.858 18.117-69.027Q18.475-69.196 18.879-69.196Q19.424-69.196 19.795-68.959Q20.167-68.722 20.354-68.304Q20.540-67.887 20.540-67.350Q20.540-67.298 20.516-67.260Q20.492-67.223 20.444-67.223L17.772-67.223L17.772-67.144Q17.772-66.397 18.084-65.874Q18.396-65.351 19.094-65.351Q19.499-65.351 19.820-65.608Q20.140-65.865 20.263-66.269Q20.281-66.349 20.365-66.349L20.444-66.349Q20.483-66.349 20.512-66.318Q20.540-66.287 20.540-66.243L20.540-66.208Q20.435-65.865 20.213-65.606Q19.991-65.347 19.677-65.204Q19.363-65.061 19.011-65.061M17.781-67.474L19.894-67.474Q19.894-67.742 19.842-67.988Q19.789-68.234 19.668-68.456Q19.547-68.678 19.349-68.805Q19.152-68.933 18.879-68.933Q18.536-68.933 18.284-68.708Q18.031-68.484 17.906-68.146Q17.781-67.808 17.781-67.474M21.120-65.144L21.120-66.586Q21.120-66.617 21.149-66.641Q21.177-66.665 21.208-66.665L21.318-66.665Q21.353-66.665 21.375-66.643Q21.397-66.621 21.406-66.586Q21.665-65.325 22.632-65.325Q23.058-65.325 23.353-65.509Q23.647-65.694 23.647-66.098Q23.647-66.392 23.417-66.588Q23.186-66.784 22.874-66.845L22.272-66.964Q21.806-67.052 21.463-67.335Q21.120-67.619 21.120-68.058Q21.120-68.651 21.558-68.924Q21.995-69.196 22.632-69.196Q23.111-69.196 23.458-68.950L23.709-69.174Q23.766-69.196 23.766-69.196L23.819-69.196Q23.845-69.196 23.878-69.170Q23.911-69.143 23.911-69.113L23.911-67.953Q23.911-67.922 23.876-67.895Q23.841-67.869 23.819-67.869L23.709-67.869Q23.687-67.869 23.654-67.898Q23.621-67.926 23.621-67.953Q23.621-68.418 23.355-68.689Q23.089-68.959 22.623-68.959Q22.219-68.959 21.916-68.814Q21.613-68.669 21.613-68.313Q21.613-68.067 21.830-67.913Q22.048-67.759 22.324-67.702L22.953-67.575Q23.269-67.513 23.540-67.346Q23.810-67.179 23.977-66.913Q24.144-66.647 24.144-66.331Q24.144-65.689 23.718-65.375Q23.291-65.061 22.632-65.061Q22.360-65.061 22.094-65.155Q21.828-65.250 21.648-65.439L21.327-65.100Q21.309-65.061 21.261-65.061L21.208-65.061Q21.186-65.061 21.153-65.089Q21.120-65.118 21.120-65.144",[3648],[3633,7089,7090],{"transform":7083},[2999,7091],{"d":7092,"fill":3635,"stroke":3635,"className":7093,"style":3786},"M34.068-66.305L28.262-66.305Q28.183-66.318 28.133-66.368Q28.082-66.419 28.082-66.494Q28.082-66.643 28.262-66.691L34.068-66.691Q34.239-66.639 34.239-66.494Q34.239-66.340 34.068-66.305M34.068-68.133L28.262-68.133Q28.082-68.163 28.082-68.322Q28.082-68.471 28.262-68.519L34.068-68.519Q34.239-68.467 34.239-68.322Q34.239-68.168 34.068-68.133",[3648],[3633,7095,7096],{"transform":7083},[2999,7097],{"d":7098,"fill":3635,"stroke":3635,"className":7099,"style":3786},"M38.747-65.883L38.703-65.883Q38.905-65.566 39.292-65.408Q39.679-65.250 40.105-65.250Q40.641-65.250 40.880-65.685Q41.120-66.120 41.120-66.700Q41.120-67.280 40.874-67.720Q40.628-68.159 40.096-68.159L39.476-68.159Q39.450-68.159 39.417-68.188Q39.384-68.216 39.384-68.238L39.384-68.339Q39.384-68.370 39.413-68.394Q39.441-68.418 39.476-68.418L39.995-68.458Q40.461-68.458 40.707-68.930Q40.953-69.403 40.953-69.921Q40.953-70.348 40.740-70.622Q40.527-70.897 40.105-70.897Q39.762-70.897 39.437-70.767Q39.112-70.638 38.927-70.383L38.953-70.383Q39.156-70.383 39.292-70.242Q39.428-70.101 39.428-69.904Q39.428-69.706 39.294-69.572Q39.160-69.438 38.962-69.438Q38.760-69.438 38.622-69.572Q38.483-69.706 38.483-69.904Q38.483-70.493 38.986-70.824Q39.490-71.156 40.105-71.156Q40.483-71.156 40.885-71.016Q41.287-70.875 41.555-70.596Q41.823-70.317 41.823-69.921Q41.823-69.372 41.469-68.935Q41.116-68.497 40.575-68.313Q40.966-68.234 41.311-68.010Q41.656-67.786 41.867-67.445Q42.078-67.104 42.078-66.709Q42.078-66.327 41.915-66.004Q41.753-65.681 41.461-65.445Q41.168-65.210 40.821-65.087Q40.474-64.964 40.105-64.964Q39.657-64.964 39.226-65.125Q38.795-65.285 38.514-65.612Q38.233-65.940 38.233-66.397Q38.233-66.612 38.380-66.755Q38.527-66.898 38.747-66.898Q38.958-66.898 39.103-66.753Q39.248-66.608 39.248-66.397Q39.248-66.186 39.101-66.034Q38.953-65.883 38.747-65.883",[3648],[3633,7101,7102,7109,7115,7121,7127],{"stroke":3639,"fontFamily":5619,"fontSize":3640},[3633,7103,7105],{"transform":7104},"translate(83.039 17.554)",[2999,7106],{"d":7107,"fill":3635,"stroke":3635,"className":7108,"style":3649},"M-14.091-65.994Q-14.091-66.478-13.689-66.773Q-13.286-67.068-12.736-67.187Q-12.185-67.307-11.693-67.307L-11.693-67.596Q-11.693-67.822-11.808-68.029Q-11.923-68.236-12.120-68.355Q-12.318-68.475-12.548-68.475Q-12.974-68.475-13.259-68.369Q-13.189-68.342-13.142-68.287Q-13.095-68.232-13.070-68.162Q-13.044-68.092-13.044-68.017Q-13.044-67.912-13.095-67.820Q-13.146-67.728-13.238-67.678Q-13.329-67.627-13.435-67.627Q-13.540-67.627-13.632-67.678Q-13.724-67.728-13.775-67.820Q-13.825-67.912-13.825-68.017Q-13.825-68.435-13.437-68.582Q-13.048-68.728-12.548-68.728Q-12.216-68.728-11.863-68.598Q-11.509-68.467-11.281-68.213Q-11.052-67.959-11.052-67.611L-11.052-65.810Q-11.052-65.678-10.980-65.568Q-10.907-65.459-10.779-65.459Q-10.654-65.459-10.585-65.564Q-10.517-65.670-10.517-65.810L-10.517-66.322L-10.236-66.322L-10.236-65.810Q-10.236-65.607-10.353-65.449Q-10.470-65.291-10.652-65.207Q-10.833-65.123-11.036-65.123Q-11.267-65.123-11.419-65.295Q-11.572-65.467-11.603-65.697Q-11.763-65.416-12.072-65.250Q-12.380-65.084-12.732-65.084Q-13.243-65.084-13.667-65.307Q-14.091-65.529-14.091-65.994M-13.404-65.994Q-13.404-65.709-13.177-65.523Q-12.950-65.338-12.657-65.338Q-12.411-65.338-12.187-65.455Q-11.962-65.572-11.827-65.775Q-11.693-65.978-11.693-66.232L-11.693-67.064Q-11.958-67.064-12.243-67.010Q-12.529-66.955-12.800-66.826Q-13.072-66.697-13.238-66.490Q-13.404-66.283-13.404-65.994M-8.013-65.162L-9.868-65.162L-9.868-65.459Q-9.595-65.459-9.427-65.506Q-9.259-65.553-9.259-65.721L-9.259-67.857Q-9.259-68.072-9.322-68.168Q-9.384-68.264-9.503-68.285Q-9.622-68.307-9.868-68.307L-9.868-68.603L-8.677-68.689L-8.677-67.955Q-8.564-68.170-8.370-68.338Q-8.177-68.506-7.939-68.598Q-7.700-68.689-7.447-68.689Q-6.486-68.689-6.310-67.978Q-6.126-68.307-5.798-68.498Q-5.470-68.689-5.091-68.689Q-3.915-68.689-3.915-67.611L-3.915-65.721Q-3.915-65.553-3.747-65.506Q-3.579-65.459-3.310-65.459L-3.310-65.162L-5.165-65.162L-5.165-65.459Q-4.892-65.459-4.724-65.504Q-4.556-65.549-4.556-65.721L-4.556-67.596Q-4.556-67.982-4.681-68.209Q-4.806-68.435-5.157-68.435Q-5.462-68.435-5.718-68.273Q-5.974-68.111-6.122-67.842Q-6.271-67.572-6.271-67.275L-6.271-65.721Q-6.271-65.553-6.101-65.506Q-5.931-65.459-5.661-65.459L-5.661-65.162L-7.517-65.162L-7.517-65.459Q-7.243-65.459-7.075-65.506Q-6.907-65.553-6.907-65.721L-6.907-67.596Q-6.907-67.982-7.032-68.209Q-7.157-68.435-7.509-68.435Q-7.814-68.435-8.070-68.273Q-8.325-68.111-8.474-67.842Q-8.622-67.572-8.622-67.275L-8.622-65.721Q-8.622-65.553-8.452-65.506Q-8.282-65.459-8.013-65.459L-8.013-65.162M-2.864-66.857Q-2.864-67.361-2.609-67.793Q-2.353-68.225-1.917-68.476Q-1.482-68.728-0.982-68.728Q-0.595-68.728-0.253-68.584Q0.089-68.439 0.350-68.178Q0.612-67.916 0.755-67.580Q0.897-67.244 0.897-66.857Q0.897-66.365 0.634-65.955Q0.370-65.545-0.060-65.314Q-0.489-65.084-0.982-65.084Q-1.474-65.084-1.907-65.316Q-2.341-65.549-2.603-65.957Q-2.864-66.365-2.864-66.857M-0.982-65.361Q-0.525-65.361-0.273-65.584Q-0.021-65.807 0.067-66.158Q0.155-66.510 0.155-66.955Q0.155-67.385 0.061-67.723Q-0.032-68.060-0.286-68.267Q-0.540-68.475-0.982-68.475Q-1.630-68.475-1.874-68.058Q-2.118-67.642-2.118-66.955Q-2.118-66.510-2.031-66.158Q-1.943-65.807-1.691-65.584Q-1.439-65.361-0.982-65.361M2.065-66.115L2.065-67.857Q2.065-68.072 2.003-68.168Q1.940-68.264 1.821-68.285Q1.702-68.307 1.456-68.307L1.456-68.603L2.702-68.689L2.702-66.139L2.702-66.115Q2.702-65.803 2.757-65.641Q2.811-65.478 2.962-65.408Q3.112-65.338 3.432-65.338Q3.862-65.338 4.136-65.676Q4.409-66.014 4.409-66.459L4.409-67.857Q4.409-68.072 4.346-68.168Q4.284-68.264 4.165-68.285Q4.046-68.307 3.800-68.307L3.800-68.603L5.046-68.689L5.046-65.904Q5.046-65.693 5.108-65.598Q5.171-65.502 5.290-65.480Q5.409-65.459 5.655-65.459L5.655-65.162L4.432-65.084L4.432-65.705Q4.264-65.416 3.983-65.250Q3.702-65.084 3.382-65.084Q2.065-65.084 2.065-66.115M8.030-65.162L6.175-65.162L6.175-65.459Q6.448-65.459 6.616-65.506Q6.784-65.553 6.784-65.721L6.784-67.857Q6.784-68.072 6.721-68.168Q6.659-68.264 6.540-68.285Q6.421-68.307 6.175-68.307L6.175-68.603L7.366-68.689L7.366-67.955Q7.479-68.170 7.673-68.338Q7.866-68.506 8.104-68.598Q8.343-68.689 8.596-68.689Q9.764-68.689 9.764-67.611L9.764-65.721Q9.764-65.553 9.934-65.506Q10.104-65.459 10.374-65.459L10.374-65.162L8.518-65.162L8.518-65.459Q8.792-65.459 8.960-65.506Q9.128-65.553 9.128-65.721L9.128-67.596Q9.128-67.978 9.007-68.207Q8.886-68.435 8.534-68.435Q8.221-68.435 7.968-68.273Q7.714-68.111 7.567-67.842Q7.421-67.572 7.421-67.275L7.421-65.721Q7.421-65.553 7.591-65.506Q7.761-65.459 8.030-65.459",[3648],[3633,7110,7111],{"transform":7104},[2999,7112],{"d":7113,"fill":3635,"stroke":3635,"className":7114,"style":3649},"M11.228-66.123L11.228-68.314L10.525-68.314L10.525-68.568Q10.881-68.568 11.123-68.801Q11.365-69.033 11.476-69.381Q11.588-69.728 11.588-70.084L11.869-70.084L11.869-68.611L13.045-68.611L13.045-68.314L11.869-68.314L11.869-66.139Q11.869-65.818 11.988-65.590Q12.107-65.361 12.388-65.361Q12.568-65.361 12.685-65.484Q12.803-65.607 12.855-65.787Q12.908-65.967 12.908-66.139L12.908-66.611L13.189-66.611L13.189-66.123Q13.189-65.869 13.084-65.629Q12.978-65.389 12.781-65.236Q12.584-65.084 12.326-65.084Q12.010-65.084 11.758-65.207Q11.506-65.330 11.367-65.564Q11.228-65.799 11.228-66.123",[3648],[3633,7116,7117],{"transform":7104},[2999,7118],{"d":7119,"fill":3635,"stroke":3635,"className":7120,"style":3649},"M16.742-66.857Q16.742-67.361 16.998-67.793Q17.254-68.225 17.690-68.476Q18.125-68.728 18.625-68.728Q19.012-68.728 19.354-68.584Q19.695-68.439 19.957-68.178Q20.219-67.916 20.361-67.580Q20.504-67.244 20.504-66.857Q20.504-66.365 20.240-65.955Q19.977-65.545 19.547-65.314Q19.117-65.084 18.625-65.084Q18.133-65.084 17.699-65.316Q17.266-65.549 17.004-65.957Q16.742-66.365 16.742-66.857M18.625-65.361Q19.082-65.361 19.334-65.584Q19.586-65.807 19.674-66.158Q19.762-66.510 19.762-66.955Q19.762-67.385 19.668-67.723Q19.574-68.060 19.320-68.267Q19.067-68.475 18.625-68.475Q17.977-68.475 17.733-68.058Q17.488-67.642 17.488-66.955Q17.488-66.510 17.576-66.158Q17.664-65.807 17.916-65.584Q18.168-65.361 18.625-65.361M21.672-66.115L21.672-67.857Q21.672-68.072 21.609-68.168Q21.547-68.264 21.428-68.285Q21.309-68.307 21.063-68.307L21.063-68.603L22.309-68.689L22.309-66.139L22.309-66.115Q22.309-65.803 22.363-65.641Q22.418-65.478 22.568-65.408Q22.719-65.338 23.039-65.338Q23.469-65.338 23.742-65.676Q24.016-66.014 24.016-66.459L24.016-67.857Q24.016-68.072 23.953-68.168Q23.891-68.264 23.772-68.285Q23.652-68.307 23.406-68.307L23.406-68.603L24.652-68.689L24.652-65.904Q24.652-65.693 24.715-65.598Q24.777-65.502 24.897-65.480Q25.016-65.459 25.262-65.459L25.262-65.162L24.039-65.084L24.039-65.705Q23.871-65.416 23.590-65.250Q23.309-65.084 22.988-65.084Q21.672-65.084 21.672-66.115M26.332-66.123L26.332-68.314L25.629-68.314L25.629-68.568Q25.984-68.568 26.227-68.801Q26.469-69.033 26.580-69.381Q26.692-69.728 26.692-70.084L26.973-70.084L26.973-68.611L28.149-68.611L28.149-68.314L26.973-68.314L26.973-66.139Q26.973-65.818 27.092-65.590Q27.211-65.361 27.492-65.361Q27.672-65.361 27.789-65.484Q27.906-65.607 27.959-65.787Q28.012-65.967 28.012-66.139L28.012-66.611L28.293-66.611L28.293-66.123Q28.293-65.869 28.188-65.629Q28.082-65.389 27.885-65.236Q27.688-65.084 27.430-65.084Q27.113-65.084 26.861-65.207Q26.609-65.330 26.471-65.564Q26.332-65.799 26.332-66.123M29.012-66.916Q29.012-67.396 29.244-67.812Q29.477-68.228 29.887-68.478Q30.297-68.728 30.774-68.728Q31.504-68.728 31.902-68.287Q32.301-67.846 32.301-67.115Q32.301-67.010 32.207-66.986L29.758-66.986L29.758-66.916Q29.758-66.506 29.879-66.150Q30-65.795 30.272-65.578Q30.543-65.361 30.973-65.361Q31.336-65.361 31.633-65.590Q31.930-65.818 32.031-66.170Q32.039-66.217 32.125-66.232L32.207-66.232Q32.301-66.205 32.301-66.123Q32.301-66.115 32.293-66.084Q32.231-65.857 32.092-65.674Q31.953-65.490 31.762-65.357Q31.570-65.225 31.352-65.154Q31.133-65.084 30.895-65.084Q30.524-65.084 30.186-65.221Q29.848-65.357 29.580-65.609Q29.313-65.861 29.162-66.201Q29.012-66.541 29.012-66.916M29.766-67.225L31.727-67.225Q31.727-67.529 31.625-67.820Q31.524-68.111 31.307-68.293Q31.090-68.475 30.774-68.475Q30.473-68.475 30.242-68.287Q30.012-68.100 29.889-67.808Q29.766-67.517 29.766-67.225M34.797-65.162L32.817-65.162L32.817-65.459Q33.086-65.459 33.254-65.504Q33.422-65.549 33.422-65.721L33.422-67.857Q33.422-68.072 33.359-68.168Q33.297-68.264 33.180-68.285Q33.063-68.307 32.817-68.307L32.817-68.603L33.984-68.689L33.984-67.904Q34.063-68.115 34.215-68.301Q34.367-68.486 34.567-68.588Q34.766-68.689 34.992-68.689Q35.238-68.689 35.430-68.545Q35.621-68.400 35.621-68.170Q35.621-68.014 35.516-67.904Q35.410-67.795 35.254-67.795Q35.098-67.795 34.988-67.904Q34.879-68.014 34.879-68.170Q34.879-68.330 34.984-68.435Q34.660-68.435 34.445-68.207Q34.231-67.978 34.135-67.639Q34.039-67.299 34.039-66.994L34.039-65.721Q34.039-65.553 34.266-65.506Q34.492-65.459 34.797-65.459L34.797-65.162M36.688-63.756Q36.688-63.779 36.719-63.826Q37.012-64.088 37.178-64.455Q37.344-64.822 37.344-65.209L37.344-65.267Q37.215-65.162 37.047-65.162Q36.856-65.162 36.719-65.295Q36.582-65.428 36.582-65.627Q36.582-65.818 36.719-65.951Q36.856-66.084 37.047-66.084Q37.348-66.084 37.473-65.814Q37.598-65.545 37.598-65.209Q37.598-64.760 37.416-64.346Q37.234-63.932 36.895-63.635Q36.871-63.611 36.832-63.611Q36.785-63.611 36.736-63.656Q36.688-63.701 36.688-63.756",[3648],[3633,7122,7123],{"transform":7104},[2999,7124],{"d":7125,"fill":3635,"stroke":3635,"className":7126,"style":3649},"M41.348-66.889Q41.348-67.385 41.598-67.810Q41.848-68.236 42.268-68.482Q42.688-68.728 43.188-68.728Q43.727-68.728 44.118-68.603Q44.508-68.478 44.508-68.064Q44.508-67.959 44.458-67.867Q44.407-67.775 44.315-67.725Q44.223-67.674 44.114-67.674Q44.008-67.674 43.917-67.725Q43.825-67.775 43.774-67.867Q43.723-67.959 43.723-68.064Q43.723-68.287 43.891-68.392Q43.669-68.451 43.196-68.451Q42.899-68.451 42.684-68.312Q42.469-68.174 42.338-67.943Q42.208-67.713 42.149-67.443Q42.090-67.174 42.090-66.889Q42.090-66.494 42.223-66.144Q42.356-65.795 42.628-65.578Q42.899-65.361 43.297-65.361Q43.672-65.361 43.948-65.578Q44.223-65.795 44.325-66.154Q44.340-66.217 44.403-66.217L44.508-66.217Q44.544-66.217 44.569-66.189Q44.594-66.162 44.594-66.123L44.594-66.100Q44.462-65.619 44.077-65.351Q43.692-65.084 43.188-65.084Q42.825-65.084 42.491-65.221Q42.157-65.357 41.897-65.607Q41.637-65.857 41.493-66.193Q41.348-66.529 41.348-66.889M45.083-66.857Q45.083-67.361 45.338-67.793Q45.594-68.225 46.030-68.476Q46.465-68.728 46.965-68.728Q47.352-68.728 47.694-68.584Q48.036-68.439 48.297-68.178Q48.559-67.916 48.702-67.580Q48.844-67.244 48.844-66.857Q48.844-66.365 48.581-65.955Q48.317-65.545 47.887-65.314Q47.458-65.084 46.965-65.084Q46.473-65.084 46.040-65.316Q45.606-65.549 45.344-65.957Q45.083-66.365 45.083-66.857M46.965-65.361Q47.422-65.361 47.674-65.584Q47.926-65.807 48.014-66.158Q48.102-66.510 48.102-66.955Q48.102-67.385 48.008-67.723Q47.915-68.060 47.661-68.267Q47.407-68.475 46.965-68.475Q46.317-68.475 46.073-68.058Q45.829-67.642 45.829-66.955Q45.829-66.510 45.917-66.158Q46.005-65.807 46.256-65.584Q46.508-65.361 46.965-65.361M51.188-65.162L49.411-65.162L49.411-65.459Q49.684-65.459 49.852-65.506Q50.020-65.553 50.020-65.721L50.020-67.857Q50.020-68.072 49.963-68.168Q49.907-68.264 49.794-68.285Q49.680-68.307 49.434-68.307L49.434-68.603L50.633-68.689L50.633-65.721Q50.633-65.553 50.780-65.506Q50.926-65.459 51.188-65.459L51.188-65.162M49.747-70.084Q49.747-70.275 49.881-70.406Q50.016-70.537 50.212-70.537Q50.333-70.537 50.436-70.475Q50.540-70.412 50.602-70.308Q50.665-70.205 50.665-70.084Q50.665-69.889 50.534-69.754Q50.403-69.619 50.212-69.619Q50.012-69.619 49.880-69.752Q49.747-69.885 49.747-70.084M53.618-65.162L51.762-65.162L51.762-65.459Q52.036-65.459 52.204-65.506Q52.372-65.553 52.372-65.721L52.372-67.857Q52.372-68.072 52.309-68.168Q52.247-68.264 52.128-68.285Q52.008-68.307 51.762-68.307L51.762-68.603L52.954-68.689L52.954-67.955Q53.067-68.170 53.260-68.338Q53.454-68.506 53.692-68.598Q53.930-68.689 54.184-68.689Q55.352-68.689 55.352-67.611L55.352-65.721Q55.352-65.553 55.522-65.506Q55.692-65.459 55.962-65.459L55.962-65.162L54.106-65.162L54.106-65.459Q54.380-65.459 54.547-65.506Q54.715-65.553 54.715-65.721L54.715-67.596Q54.715-67.978 54.594-68.207Q54.473-68.435 54.122-68.435Q53.809-68.435 53.555-68.273Q53.301-68.111 53.155-67.842Q53.008-67.572 53.008-67.275L53.008-65.721Q53.008-65.553 53.178-65.506Q53.348-65.459 53.618-65.459L53.618-65.162M56.450-65.170L56.450-66.392Q56.450-66.420 56.481-66.451Q56.512-66.482 56.536-66.482L56.641-66.482Q56.712-66.482 56.727-66.420Q56.790-66.100 56.928-65.859Q57.067-65.619 57.299-65.478Q57.532-65.338 57.840-65.338Q58.079-65.338 58.288-65.398Q58.497-65.459 58.633-65.607Q58.770-65.756 58.770-66.002Q58.770-66.256 58.559-66.422Q58.348-66.588 58.079-66.642L57.458-66.756Q57.051-66.834 56.751-67.090Q56.450-67.346 56.450-67.721Q56.450-68.088 56.651-68.310Q56.852-68.533 57.176-68.631Q57.501-68.728 57.840-68.728Q58.305-68.728 58.602-68.521L58.825-68.705Q58.848-68.728 58.880-68.728L58.930-68.728Q58.962-68.728 58.989-68.701Q59.016-68.674 59.016-68.642L59.016-67.658Q59.016-67.627 58.991-67.598Q58.965-67.568 58.930-67.568L58.825-67.568Q58.790-67.568 58.762-67.596Q58.735-67.623 58.735-67.658Q58.735-68.057 58.483-68.277Q58.231-68.498 57.833-68.498Q57.477-68.498 57.194-68.375Q56.911-68.252 56.911-67.947Q56.911-67.728 57.112-67.596Q57.313-67.463 57.559-67.420L58.184-67.307Q58.614-67.217 58.922-66.920Q59.231-66.623 59.231-66.209Q59.231-65.639 58.833-65.361Q58.434-65.084 57.840-65.084Q57.290-65.084 56.938-65.420L56.641-65.107Q56.618-65.084 56.583-65.084L56.536-65.084Q56.512-65.084 56.481-65.115Q56.450-65.146 56.450-65.170",[3648],[3633,7128,7129],{"transform":7104},[2999,7130],{"d":6994,"fill":3635,"stroke":3635,"className":7131,"style":3649},[3648],[2999,7133],{"fill":3639,"d":7134},"M143.909-36.71H89.003a1 1 0 0 0-1 1v15.072a1 1 0 0 0 1 1h54.906a1 1 0 0 0 1-1v-15.071a1 1 0 0 0-1-1ZM88.003-19.637",[3633,7136,7137,7144,7150,7156,7162],{"stroke":3639,"fontFamily":6936,"fontSize":6937},[3633,7138,7140],{"transform":7139},"translate(116.75 39.472)",[2999,7141],{"d":7142,"fill":3635,"stroke":3635,"className":7143,"style":3786},"M-10.520-65.162L-13.552-65.162L-13.552-65.478Q-12.401-65.478-12.401-65.773L-12.401-70.497Q-12.889-70.264-13.610-70.264L-13.610-70.580Q-12.480-70.580-11.918-71.156L-11.773-71.156Q-11.738-71.156-11.705-71.123Q-11.672-71.090-11.672-71.055L-11.672-65.773Q-11.672-65.478-10.520-65.478",[3648],[3633,7145,7146],{"transform":7139},[2999,7147],{"d":7148,"fill":3635,"stroke":3635,"className":7149,"style":3786},"M-6.401-64.485L-6.401-67.214L-9.108-67.214Q-9.288-67.245-9.288-67.412Q-9.288-67.478-9.237-67.533Q-9.187-67.588-9.108-67.601L-6.401-67.601L-6.401-70.330Q-6.387-70.405-6.333-70.451Q-6.278-70.497-6.203-70.497Q-6.133-70.497-6.080-70.449Q-6.027-70.400-6.014-70.330L-6.014-67.601L-3.302-67.601Q-3.131-67.566-3.131-67.412Q-3.131-67.249-3.302-67.214L-6.014-67.214L-6.014-64.485Q-6.049-64.314-6.203-64.314Q-6.273-64.314-6.330-64.362Q-6.387-64.411-6.401-64.485",[3648],[3633,7151,7152],{"transform":7139},[2999,7153],{"d":7154,"fill":3635,"stroke":3635,"className":7155,"style":3786},"M1.300-65.162L-1.732-65.162L-1.732-65.478Q-0.581-65.478-0.581-65.773L-0.581-70.497Q-1.069-70.264-1.790-70.264L-1.790-70.580Q-0.660-70.580-0.098-71.156L0.047-71.156Q0.082-71.156 0.115-71.123Q0.148-71.090 0.148-71.055L0.148-65.773Q0.148-65.478 1.300-65.478",[3648],[3633,7157,7158],{"transform":7139},[2999,7159],{"d":7160,"fill":3635,"stroke":3635,"className":7161,"style":3786},"M5.419-64.485L5.419-67.214L2.712-67.214Q2.532-67.245 2.532-67.412Q2.532-67.478 2.583-67.533Q2.633-67.588 2.712-67.601L5.419-67.601L5.419-70.330Q5.433-70.405 5.487-70.451Q5.542-70.497 5.617-70.497Q5.687-70.497 5.740-70.449Q5.793-70.400 5.806-70.330L5.806-67.601L8.518-67.601Q8.689-67.566 8.689-67.412Q8.689-67.249 8.518-67.214L5.806-67.214L5.806-64.485Q5.771-64.314 5.617-64.314Q5.547-64.314 5.490-64.362Q5.433-64.411 5.419-64.485",[3648],[3633,7163,7164],{"transform":7139},[2999,7165],{"d":7166,"fill":3635,"stroke":3635,"className":7167,"style":3786},"M13.119-65.162L10.087-65.162L10.087-65.478Q11.238-65.478 11.238-65.773L11.238-70.497Q10.750-70.264 10.029-70.264L10.029-70.580Q11.159-70.580 11.721-71.156L11.866-71.156Q11.901-71.156 11.934-71.123Q11.967-71.090 11.967-71.055L11.967-65.773Q11.967-65.478 13.119-65.478",[3648],[3633,7169,7170,7173],{"fill":3836},[2999,7171],{"d":7172},"M143.909-13.947H89.003a1 1 0 0 0-1 1V2.125a1 1 0 0 0 1 1h54.906a1 1 0 0 0 1-1v-15.072a1 1 0 0 0-1-1ZM88.003 3.125",[3633,7174,7175,7181,7186],{"fill":3635,"stroke":3639,"fontFamily":6936,"fontSize":6937},[3633,7176,7178],{"transform":7177},"translate(122.66 62.234)",[2999,7179],{"d":7142,"fill":3635,"stroke":3635,"className":7180,"style":3786},[3648],[3633,7182,7183],{"transform":7177},[2999,7184],{"d":7148,"fill":3635,"stroke":3635,"className":7185,"style":3786},[3648],[3633,7187,7188],{"transform":7177},[2999,7189],{"d":7190,"fill":3635,"stroke":3635,"className":7191,"style":3786},"M1.300-65.162L-2.150-65.162L-2.150-65.395Q-2.150-65.408-2.119-65.439L-0.665-67.016Q-0.199-67.513 0.054-67.818Q0.307-68.124 0.498-68.535Q0.689-68.946 0.689-69.385Q0.689-69.974 0.366-70.407Q0.043-70.840-0.537-70.840Q-0.801-70.840-1.047-70.730Q-1.293-70.620-1.469-70.433Q-1.645-70.246-1.741-69.996L-1.662-69.996Q-1.460-69.996-1.317-69.860Q-1.174-69.724-1.174-69.508Q-1.174-69.302-1.317-69.163Q-1.460-69.025-1.662-69.025Q-1.864-69.025-2.007-69.168Q-2.150-69.310-2.150-69.508Q-2.150-69.970-1.913-70.343Q-1.675-70.717-1.275-70.936Q-0.876-71.156-0.427-71.156Q0.096-71.156 0.550-70.941Q1.005-70.725 1.278-70.326Q1.550-69.926 1.550-69.385Q1.550-68.990 1.379-68.636Q1.207-68.282 0.942-68.003Q0.676-67.724 0.225-67.339Q-0.225-66.955-0.304-66.880L-1.328-65.918L-0.511-65.918Q0.140-65.918 0.577-65.929Q1.014-65.940 1.045-65.962Q1.115-66.045 1.170-66.285Q1.225-66.524 1.265-66.792L1.550-66.792",[3648],[3633,7193,7194,7197],{"fill":3836},[2999,7195],{"d":7196},"M143.909 8.815H89.003a1 1 0 0 0-1 1v15.072a1 1 0 0 0 1 1h54.906a1 1 0 0 0 1-1V9.815a1 1 0 0 0-1-1ZM88.003 25.887",[3633,7198,7199,7206,7211],{"fill":3635,"stroke":3639,"fontFamily":6936,"fontSize":6937},[3633,7200,7202],{"transform":7201},"translate(122.66 84.996)",[2999,7203],{"d":7204,"fill":3635,"stroke":3635,"className":7205,"style":3786},"M-10.520-65.162L-13.970-65.162L-13.970-65.395Q-13.970-65.408-13.939-65.439L-12.485-67.016Q-12.019-67.513-11.766-67.818Q-11.513-68.124-11.322-68.535Q-11.131-68.946-11.131-69.385Q-11.131-69.974-11.454-70.407Q-11.777-70.840-12.357-70.840Q-12.621-70.840-12.867-70.730Q-13.113-70.620-13.289-70.433Q-13.465-70.246-13.561-69.996L-13.482-69.996Q-13.280-69.996-13.137-69.860Q-12.994-69.724-12.994-69.508Q-12.994-69.302-13.137-69.163Q-13.280-69.025-13.482-69.025Q-13.684-69.025-13.827-69.168Q-13.970-69.310-13.970-69.508Q-13.970-69.970-13.733-70.343Q-13.495-70.717-13.095-70.936Q-12.696-71.156-12.247-71.156Q-11.724-71.156-11.270-70.941Q-10.815-70.725-10.542-70.326Q-10.270-69.926-10.270-69.385Q-10.270-68.990-10.441-68.636Q-10.613-68.282-10.878-68.003Q-11.144-67.724-11.595-67.339Q-12.045-66.955-12.124-66.880L-13.148-65.918L-12.331-65.918Q-11.680-65.918-11.243-65.929Q-10.806-65.940-10.775-65.962Q-10.705-66.045-10.650-66.285Q-10.595-66.524-10.555-66.792L-10.270-66.792",[3648],[3633,7207,7208],{"transform":7201},[2999,7209],{"d":7148,"fill":3635,"stroke":3635,"className":7210,"style":3786},[3648],[3633,7212,7213],{"transform":7201},[2999,7214],{"d":7154,"fill":3635,"stroke":3635,"className":7215,"style":3786},[3648],[3633,7217,7218,7221],{"fill":5812,"stroke":5812,"style":3876},[2999,7219],{"fill":3639,"d":7220},"M14.226-5.411h69.452",[2999,7222],{"d":7223},"m86.664-5.411-4.169-1.577 1.383 1.577-1.383 1.576Z",[3633,7225,7226,7229],{"fill":5812,"stroke":5812,"style":3876},[2999,7227],{"fill":3639,"d":7228},"M14.226-5.411 83.862 16.13",[2999,7230],{"d":7231,"style":7232},"m86.715 17.014-3.517-2.738.855 1.915-1.786 1.097Z","stroke-width:.799968",[3633,7234,7235],{"fill":5812,"stroke":5812},[3633,7236,7237,7244,7250,7256,7262,7268,7274,7280,7286,7292,7298,7304,7310],{"fill":5812,"stroke":3639,"fontSize":3640},[3633,7238,7240],{"transform":7239},"translate(-3.44 95.894)",[2999,7241],{"d":7242,"fill":5812,"stroke":5812,"className":7243,"style":3649},"M-14.189-66.857Q-14.189-67.361-13.933-67.793Q-13.677-68.225-13.241-68.476Q-12.806-68.728-12.306-68.728Q-11.919-68.728-11.577-68.584Q-11.236-68.439-10.974-68.178Q-10.712-67.916-10.570-67.580Q-10.427-67.244-10.427-66.857Q-10.427-66.365-10.691-65.955Q-10.954-65.545-11.384-65.314Q-11.814-65.084-12.306-65.084Q-12.798-65.084-13.232-65.316Q-13.665-65.549-13.927-65.957Q-14.189-66.365-14.189-66.857M-12.306-65.361Q-11.849-65.361-11.597-65.584Q-11.345-65.807-11.257-66.158Q-11.169-66.510-11.169-66.955Q-11.169-67.385-11.263-67.723Q-11.357-68.060-11.611-68.267Q-11.864-68.475-12.306-68.475Q-12.954-68.475-13.198-68.058Q-13.443-67.642-13.443-66.955Q-13.443-66.510-13.355-66.158Q-13.267-65.807-13.015-65.584Q-12.763-65.361-12.306-65.361M-8.013-65.162L-9.868-65.162L-9.868-65.459Q-9.595-65.459-9.427-65.506Q-9.259-65.553-9.259-65.721L-9.259-67.857Q-9.259-68.072-9.322-68.168Q-9.384-68.264-9.503-68.285Q-9.622-68.307-9.868-68.307L-9.868-68.603L-8.677-68.689L-8.677-67.955Q-8.564-68.170-8.370-68.338Q-8.177-68.506-7.939-68.598Q-7.700-68.689-7.447-68.689Q-6.279-68.689-6.279-67.611L-6.279-65.721Q-6.279-65.553-6.109-65.506Q-5.939-65.459-5.669-65.459L-5.669-65.162L-7.525-65.162L-7.525-65.459Q-7.251-65.459-7.083-65.506Q-6.915-65.553-6.915-65.721L-6.915-67.596Q-6.915-67.978-7.036-68.207Q-7.157-68.435-7.509-68.435Q-7.822-68.435-8.075-68.273Q-8.329-68.111-8.476-67.842Q-8.622-67.572-8.622-67.275L-8.622-65.721Q-8.622-65.553-8.452-65.506Q-8.282-65.459-8.013-65.459L-8.013-65.162M-5.224-66.916Q-5.224-67.396-4.991-67.812Q-4.759-68.228-4.349-68.478Q-3.939-68.728-3.462-68.728Q-2.732-68.728-2.333-68.287Q-1.935-67.846-1.935-67.115Q-1.935-67.010-2.029-66.986L-4.478-66.986L-4.478-66.916Q-4.478-66.506-4.357-66.150Q-4.236-65.795-3.964-65.578Q-3.693-65.361-3.263-65.361Q-2.900-65.361-2.603-65.590Q-2.306-65.818-2.204-66.170Q-2.197-66.217-2.111-66.232L-2.029-66.232Q-1.935-66.205-1.935-66.123Q-1.935-66.115-1.943-66.084Q-2.005-65.857-2.144-65.674Q-2.282-65.490-2.474-65.357Q-2.665-65.225-2.884-65.154Q-3.103-65.084-3.341-65.084Q-3.712-65.084-4.050-65.221Q-4.388-65.357-4.656-65.609Q-4.923-65.861-5.073-66.201Q-5.224-66.541-5.224-66.916M-4.470-67.225L-2.509-67.225Q-2.509-67.529-2.611-67.820Q-2.712-68.111-2.929-68.293Q-3.146-68.475-3.462-68.475Q-3.763-68.475-3.993-68.287Q-4.224-68.100-4.347-67.808Q-4.470-67.517-4.470-67.225",[3648],[3633,7245,7246],{"transform":7239},[2999,7247],{"d":7248,"fill":5812,"stroke":5812,"className":7249,"style":3649},"M3.325-65.162L1.470-65.162L1.470-65.459Q1.743-65.459 1.911-65.506Q2.079-65.553 2.079-65.721L2.079-67.857Q2.079-68.072 2.016-68.168Q1.954-68.264 1.835-68.285Q1.716-68.307 1.470-68.307L1.470-68.603L2.661-68.689L2.661-67.955Q2.774-68.170 2.968-68.338Q3.161-68.506 3.399-68.598Q3.637-68.689 3.891-68.689Q4.852-68.689 5.028-67.978Q5.212-68.307 5.540-68.498Q5.868-68.689 6.247-68.689Q7.423-68.689 7.423-67.611L7.423-65.721Q7.423-65.553 7.591-65.506Q7.759-65.459 8.028-65.459L8.028-65.162L6.173-65.162L6.173-65.459Q6.446-65.459 6.614-65.504Q6.782-65.549 6.782-65.721L6.782-67.596Q6.782-67.982 6.657-68.209Q6.532-68.435 6.180-68.435Q5.876-68.435 5.620-68.273Q5.364-68.111 5.216-67.842Q5.067-67.572 5.067-67.275L5.067-65.721Q5.067-65.553 5.237-65.506Q5.407-65.459 5.677-65.459L5.677-65.162L3.821-65.162L3.821-65.459Q4.095-65.459 4.262-65.506Q4.430-65.553 4.430-65.721L4.430-67.596Q4.430-67.982 4.305-68.209Q4.180-68.435 3.829-68.435Q3.524-68.435 3.268-68.273Q3.012-68.111 2.864-67.842Q2.716-67.572 2.716-67.275L2.716-65.721Q2.716-65.553 2.886-65.506Q3.055-65.459 3.325-65.459",[3648],[3633,7251,7252],{"transform":7239},[2999,7253],{"d":7254,"fill":5812,"stroke":5812,"className":7255,"style":3649},"M8.926-66.115L8.926-67.857Q8.926-68.072 8.863-68.168Q8.801-68.264 8.682-68.285Q8.563-68.307 8.316-68.307L8.316-68.603L9.563-68.689L9.563-66.139L9.563-66.115Q9.563-65.803 9.617-65.641Q9.672-65.478 9.822-65.408Q9.973-65.338 10.293-65.338Q10.723-65.338 10.996-65.676Q11.270-66.014 11.270-66.459L11.270-67.857Q11.270-68.072 11.207-68.168Q11.145-68.264 11.025-68.285Q10.906-68.307 10.660-68.307L10.660-68.603L11.906-68.689L11.906-65.904Q11.906-65.693 11.969-65.598Q12.031-65.502 12.150-65.480Q12.270-65.459 12.516-65.459L12.516-65.162L11.293-65.084L11.293-65.705Q11.125-65.416 10.844-65.250Q10.563-65.084 10.242-65.084Q8.926-65.084 8.926-66.115M14.875-65.162L13.043-65.162L13.043-65.459Q13.316-65.459 13.484-65.506Q13.652-65.553 13.652-65.721L13.652-69.881Q13.652-70.096 13.590-70.191Q13.527-70.287 13.408-70.308Q13.289-70.330 13.043-70.330L13.043-70.627L14.266-70.713L14.266-65.721Q14.266-65.553 14.434-65.506Q14.602-65.459 14.875-65.459L14.875-65.162M15.945-66.123L15.945-68.314L15.242-68.314L15.242-68.568Q15.598-68.568 15.840-68.801Q16.082-69.033 16.193-69.381Q16.305-69.728 16.305-70.084L16.586-70.084L16.586-68.611L17.762-68.611L17.762-68.314L16.586-68.314L16.586-66.139Q16.586-65.818 16.705-65.590Q16.824-65.361 17.106-65.361Q17.285-65.361 17.402-65.484Q17.520-65.607 17.572-65.787Q17.625-65.967 17.625-66.139L17.625-66.611L17.906-66.611L17.906-66.123Q17.906-65.869 17.801-65.629Q17.695-65.389 17.498-65.236Q17.301-65.084 17.043-65.084Q16.727-65.084 16.475-65.207Q16.223-65.330 16.084-65.564Q15.945-65.799 15.945-66.123M20.484-65.162L18.707-65.162L18.707-65.459Q18.981-65.459 19.149-65.506Q19.316-65.553 19.316-65.721L19.316-67.857Q19.316-68.072 19.260-68.168Q19.203-68.264 19.090-68.285Q18.977-68.307 18.731-68.307L18.731-68.603L19.930-68.689L19.930-65.721Q19.930-65.553 20.076-65.506Q20.223-65.459 20.484-65.459L20.484-65.162M19.043-70.084Q19.043-70.275 19.178-70.406Q19.313-70.537 19.508-70.537Q19.629-70.537 19.733-70.475Q19.836-70.412 19.899-70.308Q19.961-70.205 19.961-70.084Q19.961-69.889 19.830-69.754Q19.699-69.619 19.508-69.619Q19.309-69.619 19.176-69.752Q19.043-69.885 19.043-70.084M21.027-65.170L21.027-66.392Q21.027-66.420 21.059-66.451Q21.090-66.482 21.113-66.482L21.219-66.482Q21.289-66.482 21.305-66.420Q21.367-66.100 21.506-65.859Q21.645-65.619 21.877-65.478Q22.109-65.338 22.418-65.338Q22.656-65.338 22.865-65.398Q23.074-65.459 23.211-65.607Q23.348-65.756 23.348-66.002Q23.348-66.256 23.137-66.422Q22.926-66.588 22.656-66.642L22.035-66.756Q21.629-66.834 21.328-67.090Q21.027-67.346 21.027-67.721Q21.027-68.088 21.229-68.310Q21.430-68.533 21.754-68.631Q22.078-68.728 22.418-68.728Q22.883-68.728 23.180-68.521L23.402-68.705Q23.426-68.728 23.457-68.728L23.508-68.728Q23.539-68.728 23.566-68.701Q23.594-68.674 23.594-68.642L23.594-67.658Q23.594-67.627 23.568-67.598Q23.543-67.568 23.508-67.568L23.402-67.568Q23.367-67.568 23.340-67.596Q23.313-67.623 23.313-67.658Q23.313-68.057 23.061-68.277Q22.809-68.498 22.410-68.498Q22.055-68.498 21.772-68.375Q21.488-68.252 21.488-67.947Q21.488-67.728 21.690-67.596Q21.891-67.463 22.137-67.420L22.762-67.307Q23.191-67.217 23.500-66.920Q23.809-66.623 23.809-66.209Q23.809-65.639 23.410-65.361Q23.012-65.084 22.418-65.084Q21.867-65.084 21.516-65.420L21.219-65.107Q21.195-65.084 21.160-65.084L21.113-65.084Q21.090-65.084 21.059-65.115Q21.027-65.146 21.027-65.170M24.336-66.916Q24.336-67.396 24.568-67.812Q24.801-68.228 25.211-68.478Q25.621-68.728 26.098-68.728Q26.828-68.728 27.227-68.287Q27.625-67.846 27.625-67.115Q27.625-67.010 27.531-66.986L25.082-66.986L25.082-66.916Q25.082-66.506 25.203-66.150Q25.324-65.795 25.596-65.578Q25.867-65.361 26.297-65.361Q26.660-65.361 26.957-65.590Q27.254-65.818 27.356-66.170Q27.363-66.217 27.449-66.232L27.531-66.232Q27.625-66.205 27.625-66.123Q27.625-66.115 27.617-66.084Q27.555-65.857 27.416-65.674Q27.277-65.490 27.086-65.357Q26.895-65.225 26.676-65.154Q26.457-65.084 26.219-65.084Q25.848-65.084 25.510-65.221Q25.172-65.357 24.904-65.609Q24.637-65.861 24.486-66.201Q24.336-66.541 24.336-66.916M25.090-67.225L27.051-67.225Q27.051-67.529 26.949-67.820Q26.848-68.111 26.631-68.293Q26.414-68.475 26.098-68.475Q25.797-68.475 25.566-68.287Q25.336-68.100 25.213-67.808Q25.090-67.517 25.090-67.225M28.738-66.123L28.738-68.314L28.035-68.314L28.035-68.568Q28.391-68.568 28.633-68.801Q28.875-69.033 28.986-69.381Q29.098-69.728 29.098-70.084L29.379-70.084L29.379-68.611L30.555-68.611L30.555-68.314L29.379-68.314L29.379-66.139Q29.379-65.818 29.498-65.590Q29.617-65.361 29.899-65.361Q30.078-65.361 30.195-65.484Q30.313-65.607 30.365-65.787Q30.418-65.967 30.418-66.139L30.418-66.611L30.699-66.611L30.699-66.123Q30.699-65.869 30.594-65.629Q30.488-65.389 30.291-65.236Q30.094-65.084 29.836-65.084Q29.520-65.084 29.268-65.207Q29.016-65.330 28.877-65.564Q28.738-65.799 28.738-66.123",[3648],[3633,7257,7258],{"transform":7239},[2999,7259],{"d":7260,"fill":5812,"stroke":5812,"className":7261,"style":3649},"M35.833-64.217L35.833-66.154Q35.833-66.432 35.661-66.633Q35.489-66.834 35.227-66.933Q34.965-67.033 34.696-67.033Q34.669-67.033 34.639-67.062Q34.610-67.092 34.610-67.123L34.610-67.201Q34.610-67.232 34.639-67.262Q34.669-67.291 34.696-67.291Q35.126-67.291 35.479-67.525Q35.833-67.760 35.833-68.170L35.833-70.107Q35.833-70.400 35.993-70.609Q36.153-70.818 36.403-70.937Q36.653-71.057 36.938-71.109Q37.223-71.162 37.512-71.162L37.590-71.162Q37.618-71.162 37.649-71.131Q37.680-71.100 37.680-71.072L37.680-70.994Q37.680-70.963 37.651-70.933Q37.622-70.904 37.590-70.904Q37.337-70.904 37.071-70.816Q36.805-70.728 36.635-70.545Q36.465-70.361 36.465-70.092L36.465-68.154Q36.465-67.892 36.335-67.695Q36.204-67.498 35.989-67.365Q35.774-67.232 35.520-67.162Q35.915-67.057 36.190-66.805Q36.465-66.553 36.465-66.170L36.465-64.232Q36.465-63.963 36.635-63.779Q36.805-63.596 37.069-63.508Q37.333-63.420 37.590-63.420Q37.622-63.420 37.651-63.391Q37.680-63.361 37.680-63.330L37.680-63.252Q37.680-63.225 37.649-63.193Q37.618-63.162 37.590-63.162L37.512-63.162Q37.254-63.162 36.963-63.213Q36.672-63.264 36.411-63.387Q36.149-63.510 35.991-63.721Q35.833-63.932 35.833-64.217",[3648],[3633,7263,7264],{"transform":7239},[2999,7265],{"d":7266,"fill":5812,"stroke":5812,"className":7267,"style":3649},"M41.868-65.162L39.075-65.162L39.075-65.459Q40.137-65.459 40.137-65.721L40.137-69.889Q39.708-69.674 39.028-69.674L39.028-69.971Q40.047-69.971 40.563-70.482L40.708-70.482Q40.782-70.463 40.801-70.385L40.801-65.721Q40.801-65.459 41.868-65.459",[3648],[3633,7269,7270],{"transform":7239},[2999,7271],{"d":7272,"fill":5812,"stroke":5812,"className":7273,"style":3649},"M43.348-63.756Q43.348-63.779 43.379-63.826Q43.672-64.088 43.838-64.455Q44.004-64.822 44.004-65.209L44.004-65.267Q43.876-65.162 43.708-65.162Q43.516-65.162 43.379-65.295Q43.243-65.428 43.243-65.627Q43.243-65.818 43.379-65.951Q43.516-66.084 43.708-66.084Q44.008-66.084 44.133-65.814Q44.258-65.545 44.258-65.209Q44.258-64.760 44.077-64.346Q43.895-63.932 43.555-63.635Q43.532-63.611 43.493-63.611Q43.446-63.611 43.397-63.656Q43.348-63.701 43.348-63.756",[3648],[3633,7275,7276],{"transform":7239},[2999,7277],{"d":7278,"fill":5812,"stroke":5812,"className":7279,"style":3649},"M49.888-65.162L46.728-65.162L46.728-65.369Q46.728-65.396 46.751-65.428L48.103-66.826Q48.482-67.213 48.730-67.502Q48.978-67.791 49.152-68.148Q49.325-68.506 49.325-68.896Q49.325-69.244 49.193-69.537Q49.060-69.830 48.806-70.008Q48.552-70.185 48.197-70.185Q47.837-70.185 47.546-69.990Q47.255-69.795 47.111-69.467L47.165-69.467Q47.349-69.467 47.474-69.346Q47.599-69.225 47.599-69.033Q47.599-68.853 47.474-68.725Q47.349-68.596 47.165-68.596Q46.986-68.596 46.857-68.725Q46.728-68.853 46.728-69.033Q46.728-69.435 46.948-69.771Q47.169-70.107 47.534-70.295Q47.900-70.482 48.302-70.482Q48.782-70.482 49.198-70.295Q49.614-70.107 49.866-69.746Q50.118-69.385 50.118-68.896Q50.118-68.537 49.964-68.234Q49.810-67.932 49.558-67.672Q49.306-67.412 48.956-67.127Q48.607-66.842 48.439-66.689L47.509-65.850L48.224-65.850Q49.599-65.850 49.638-65.889Q49.708-65.967 49.751-66.152Q49.794-66.338 49.837-66.627L50.118-66.627",[3648],[3633,7281,7282],{"transform":7239},[2999,7283],{"d":7284,"fill":5812,"stroke":5812,"className":7285,"style":3649},"M51.138-63.252L51.138-63.330Q51.138-63.361 51.167-63.391Q51.197-63.420 51.224-63.420Q51.654-63.420 52.007-63.629Q52.361-63.838 52.361-64.232L52.361-66.170Q52.361-66.549 52.632-66.803Q52.904-67.057 53.306-67.162Q52.896-67.275 52.628-67.525Q52.361-67.775 52.361-68.154L52.361-70.092Q52.361-70.494 52.007-70.699Q51.654-70.904 51.224-70.904Q51.197-70.904 51.167-70.933Q51.138-70.963 51.138-70.994L51.138-71.072Q51.138-71.100 51.169-71.131Q51.200-71.162 51.224-71.162L51.306-71.162Q51.689-71.162 52.073-71.064Q52.458-70.967 52.726-70.728Q52.993-70.490 52.993-70.107L52.993-68.170Q52.993-67.756 53.341-67.523Q53.689-67.291 54.118-67.291Q54.150-67.291 54.179-67.262Q54.208-67.232 54.208-67.201L54.208-67.123Q54.208-67.092 54.179-67.062Q54.150-67.033 54.118-67.033Q53.689-67.033 53.341-66.801Q52.993-66.568 52.993-66.154L52.993-64.217Q52.993-63.834 52.726-63.596Q52.458-63.357 52.073-63.260Q51.689-63.162 51.306-63.162L51.224-63.162Q51.200-63.162 51.169-63.193Q51.138-63.225 51.138-63.252",[3648],[3633,7287,7288],{"transform":7239},[2999,7289],{"d":7290,"fill":5812,"stroke":5812,"className":7291,"style":3649},"M66.516-66.978L60.172-66.978Q60.098-66.978 60.047-67.035Q59.997-67.092 59.997-67.162Q59.997-67.232 60.044-67.289Q60.090-67.346 60.172-67.346L66.516-67.346Q66.063-67.674 65.766-68.141Q65.469-68.607 65.364-69.146Q65.364-69.248 65.462-69.275L65.629-69.275Q65.712-69.256 65.731-69.170Q65.860-68.494 66.340-67.976Q66.821-67.459 67.485-67.267Q67.547-67.244 67.547-67.162Q67.547-67.080 67.485-67.057Q66.821-66.869 66.340-66.350Q65.860-65.830 65.731-65.154Q65.712-65.068 65.629-65.049L65.462-65.049Q65.364-65.076 65.364-65.178Q65.438-65.545 65.596-65.877Q65.754-66.209 65.987-66.486Q66.219-66.764 66.516-66.978",[3648],[3633,7293,7294],{"transform":7239},[2999,7295],{"d":7296,"fill":5812,"stroke":5812,"className":7297,"style":3649},"M74.082-66.123L74.082-68.314L73.379-68.314L73.379-68.568Q73.735-68.568 73.977-68.801Q74.219-69.033 74.330-69.381Q74.442-69.728 74.442-70.084L74.723-70.084L74.723-68.611L75.899-68.611L75.899-68.314L74.723-68.314L74.723-66.139Q74.723-65.818 74.842-65.590Q74.961-65.361 75.242-65.361Q75.422-65.361 75.539-65.484Q75.656-65.607 75.709-65.787Q75.762-65.967 75.762-66.139L75.762-66.611L76.043-66.611L76.043-66.123Q76.043-65.869 75.938-65.629Q75.832-65.389 75.635-65.236Q75.438-65.084 75.180-65.084Q74.864-65.084 74.612-65.207Q74.360-65.330 74.221-65.564Q74.082-65.799 74.082-66.123",[3648],[3633,7299,7300],{"transform":7239},[2999,7301],{"d":7302,"fill":5812,"stroke":5812,"className":7303,"style":3649},"M78.113-65.193L77.043-68.049Q76.977-68.228 76.846-68.271Q76.715-68.314 76.457-68.314L76.457-68.611L78.137-68.611L78.137-68.314Q77.687-68.314 77.687-68.115Q77.691-68.100 77.693-68.082Q77.695-68.064 77.695-68.049L78.488-65.955L79.199-67.865Q79.164-67.959 79.164-68.004Q79.164-68.049 79.129-68.049Q79.062-68.228 78.932-68.271Q78.801-68.314 78.547-68.314L78.547-68.611L80.137-68.611L80.137-68.314Q79.687-68.314 79.687-68.115Q79.691-68.096 79.693-68.078Q79.695-68.060 79.695-68.049L80.527-65.834L81.281-67.834Q81.305-67.892 81.305-67.963Q81.305-68.123 81.168-68.219Q81.031-68.314 80.863-68.314L80.863-68.611L82.250-68.611L82.250-68.314Q82.016-68.314 81.838-68.187Q81.660-68.060 81.578-67.834L80.594-65.193Q80.539-65.084 80.426-65.084L80.367-65.084Q80.254-65.084 80.211-65.193L79.352-67.467L78.496-65.193Q78.457-65.084 78.336-65.084L78.281-65.084Q78.168-65.084 78.113-65.193",[3648],[3633,7305,7306],{"transform":7239},[2999,7307],{"d":7308,"fill":5812,"stroke":5812,"className":7309,"style":3649},"M82.429-66.857Q82.429-67.361 82.685-67.793Q82.941-68.225 83.377-68.476Q83.812-68.728 84.312-68.728Q84.699-68.728 85.041-68.584Q85.382-68.439 85.644-68.178Q85.906-67.916 86.048-67.580Q86.191-67.244 86.191-66.857Q86.191-66.365 85.927-65.955Q85.664-65.545 85.234-65.314Q84.804-65.084 84.312-65.084Q83.820-65.084 83.386-65.316Q82.953-65.549 82.691-65.957Q82.429-66.365 82.429-66.857M84.312-65.361Q84.769-65.361 85.021-65.584Q85.273-65.807 85.361-66.158Q85.449-66.510 85.449-66.955Q85.449-67.385 85.355-67.723Q85.261-68.060 85.007-68.267Q84.754-68.475 84.312-68.475Q83.664-68.475 83.420-68.058Q83.175-67.642 83.175-66.955Q83.175-66.510 83.263-66.158Q83.351-65.807 83.603-65.584Q83.855-65.361 84.312-65.361",[3648],[3633,7311,7312],{"transform":7239},[2999,7313],{"d":7314,"fill":5812,"stroke":5812,"className":7315,"style":3649},"M89.513-66.857Q89.513-67.361 89.769-67.793Q90.025-68.225 90.461-68.476Q90.896-68.728 91.396-68.728Q91.783-68.728 92.125-68.584Q92.466-68.439 92.728-68.178Q92.990-67.916 93.132-67.580Q93.275-67.244 93.275-66.857Q93.275-66.365 93.011-65.955Q92.748-65.545 92.318-65.314Q91.888-65.084 91.396-65.084Q90.904-65.084 90.470-65.316Q90.037-65.549 89.775-65.957Q89.513-66.365 89.513-66.857M91.396-65.361Q91.853-65.361 92.105-65.584Q92.357-65.807 92.445-66.158Q92.533-66.510 92.533-66.955Q92.533-67.385 92.439-67.723Q92.345-68.060 92.091-68.267Q91.838-68.475 91.396-68.475Q90.748-68.475 90.504-68.058Q90.259-67.642 90.259-66.955Q90.259-66.510 90.347-66.158Q90.435-65.807 90.687-65.584Q90.939-65.361 91.396-65.361M95.767-65.162L93.787-65.162L93.787-65.459Q94.056-65.459 94.224-65.504Q94.392-65.549 94.392-65.721L94.392-67.857Q94.392-68.072 94.330-68.168Q94.267-68.264 94.150-68.285Q94.033-68.307 93.787-68.307L93.787-68.603L94.955-68.689L94.955-67.904Q95.033-68.115 95.185-68.301Q95.338-68.486 95.537-68.588Q95.736-68.689 95.963-68.689Q96.209-68.689 96.400-68.545Q96.591-68.400 96.591-68.170Q96.591-68.014 96.486-67.904Q96.380-67.795 96.224-67.795Q96.068-67.795 95.959-67.904Q95.849-68.014 95.849-68.170Q95.849-68.330 95.955-68.435Q95.630-68.435 95.416-68.207Q95.201-67.978 95.105-67.639Q95.009-67.299 95.009-66.994L95.009-65.721Q95.009-65.553 95.236-65.506Q95.463-65.459 95.767-65.459L95.767-65.162M98.888-65.084Q98.408-65.084 98-65.328Q97.591-65.572 97.353-65.986Q97.115-66.400 97.115-66.889Q97.115-67.381 97.373-67.797Q97.630-68.213 98.062-68.451Q98.494-68.689 98.986-68.689Q99.607-68.689 100.056-68.252L100.056-69.881Q100.056-70.096 99.994-70.191Q99.931-70.287 99.814-70.308Q99.697-70.330 99.451-70.330L99.451-70.627L100.673-70.713L100.673-65.904Q100.673-65.693 100.736-65.598Q100.798-65.502 100.916-65.480Q101.033-65.459 101.283-65.459L101.283-65.162L100.033-65.084L100.033-65.568Q99.568-65.084 98.888-65.084M98.955-65.338Q99.295-65.338 99.588-65.529Q99.880-65.721 100.033-66.017L100.033-67.850Q99.884-68.123 99.623-68.279Q99.361-68.435 99.048-68.435Q98.423-68.435 98.140-67.988Q97.857-67.541 97.857-66.881Q97.857-66.236 98.109-65.787Q98.361-65.338 98.955-65.338M101.791-66.916Q101.791-67.396 102.023-67.812Q102.255-68.228 102.666-68.478Q103.076-68.728 103.552-68.728Q104.283-68.728 104.681-68.287Q105.080-67.846 105.080-67.115Q105.080-67.010 104.986-66.986L102.537-66.986L102.537-66.916Q102.537-66.506 102.658-66.150Q102.779-65.795 103.050-65.578Q103.322-65.361 103.752-65.361Q104.115-65.361 104.412-65.590Q104.709-65.818 104.810-66.170Q104.818-66.217 104.904-66.232L104.986-66.232Q105.080-66.205 105.080-66.123Q105.080-66.115 105.072-66.084Q105.009-65.857 104.871-65.674Q104.732-65.490 104.541-65.357Q104.349-65.225 104.130-65.154Q103.912-65.084 103.673-65.084Q103.302-65.084 102.964-65.221Q102.627-65.357 102.359-65.609Q102.091-65.861 101.941-66.201Q101.791-66.541 101.791-66.916M102.545-67.225L104.505-67.225Q104.505-67.529 104.404-67.820Q104.302-68.111 104.086-68.293Q103.869-68.475 103.552-68.475Q103.252-68.475 103.021-68.287Q102.791-68.100 102.668-67.808Q102.545-67.517 102.545-67.225M107.576-65.162L105.595-65.162L105.595-65.459Q105.865-65.459 106.033-65.504Q106.201-65.549 106.201-65.721L106.201-67.857Q106.201-68.072 106.138-68.168Q106.076-68.264 105.959-68.285Q105.841-68.307 105.595-68.307L105.595-68.603L106.763-68.689L106.763-67.904Q106.841-68.115 106.994-68.301Q107.146-68.486 107.345-68.588Q107.545-68.689 107.771-68.689Q108.017-68.689 108.209-68.545Q108.400-68.400 108.400-68.170Q108.400-68.014 108.295-67.904Q108.189-67.795 108.033-67.795Q107.877-67.795 107.767-67.904Q107.658-68.014 107.658-68.170Q107.658-68.330 107.763-68.435Q107.439-68.435 107.224-68.207Q107.009-67.978 106.914-67.639Q106.818-67.299 106.818-66.994L106.818-65.721Q106.818-65.553 107.045-65.506Q107.271-65.459 107.576-65.459L107.576-65.162M110.740-65.162L108.963-65.162L108.963-65.459Q109.236-65.459 109.404-65.506Q109.572-65.553 109.572-65.721L109.572-67.857Q109.572-68.072 109.515-68.168Q109.459-68.264 109.345-68.285Q109.232-68.307 108.986-68.307L108.986-68.603L110.185-68.689L110.185-65.721Q110.185-65.553 110.332-65.506Q110.478-65.459 110.740-65.459L110.740-65.162M109.298-70.084Q109.298-70.275 109.433-70.406Q109.568-70.537 109.763-70.537Q109.884-70.537 109.988-70.475Q110.091-70.412 110.154-70.308Q110.216-70.205 110.216-70.084Q110.216-69.889 110.086-69.754Q109.955-69.619 109.763-69.619Q109.564-69.619 109.431-69.752Q109.298-69.885 109.298-70.084M113.170-65.162L111.314-65.162L111.314-65.459Q111.588-65.459 111.755-65.506Q111.923-65.553 111.923-65.721L111.923-67.857Q111.923-68.072 111.861-68.168Q111.798-68.264 111.679-68.285Q111.560-68.307 111.314-68.307L111.314-68.603L112.505-68.689L112.505-67.955Q112.619-68.170 112.812-68.338Q113.005-68.506 113.244-68.598Q113.482-68.689 113.736-68.689Q114.904-68.689 114.904-67.611L114.904-65.721Q114.904-65.553 115.074-65.506Q115.244-65.459 115.513-65.459L115.513-65.162L113.658-65.162L113.658-65.459Q113.931-65.459 114.099-65.506Q114.267-65.553 114.267-65.721L114.267-67.596Q114.267-67.978 114.146-68.207Q114.025-68.435 113.673-68.435Q113.361-68.435 113.107-68.273Q112.853-68.111 112.707-67.842Q112.560-67.572 112.560-67.275L112.560-65.721Q112.560-65.553 112.730-65.506Q112.900-65.459 113.170-65.459L113.170-65.162M115.959-64.553Q115.959-64.834 116.170-65.045Q116.380-65.256 116.666-65.346Q116.509-65.471 116.431-65.660Q116.353-65.850 116.353-66.049Q116.353-66.404 116.584-66.697Q116.216-67.037 116.216-67.506Q116.216-67.857 116.420-68.127Q116.623-68.396 116.943-68.543Q117.263-68.689 117.607-68.689Q118.127-68.689 118.498-68.408Q118.861-68.779 119.408-68.779Q119.588-68.779 119.714-68.652Q119.841-68.525 119.841-68.346Q119.841-68.240 119.763-68.162Q119.685-68.084 119.576-68.084Q119.466-68.084 119.390-68.160Q119.314-68.236 119.314-68.346Q119.314-68.447 119.353-68.498Q119.361-68.506 119.365-68.512Q119.369-68.517 119.369-68.521Q118.994-68.521 118.673-68.267Q118.994-67.928 118.994-67.506Q118.994-67.236 118.877-67.019Q118.759-66.803 118.554-66.644Q118.349-66.486 118.107-66.404Q117.865-66.322 117.607-66.322Q117.388-66.322 117.175-66.381Q116.963-66.439 116.767-66.560Q116.673-66.420 116.673-66.240Q116.673-66.033 116.810-65.881Q116.947-65.728 117.154-65.728L117.849-65.728Q118.338-65.728 118.750-65.644Q119.162-65.560 119.441-65.303Q119.720-65.045 119.720-64.553Q119.720-64.189 119.400-63.957Q119.080-63.725 118.638-63.623Q118.197-63.521 117.841-63.521Q117.486-63.521 117.043-63.623Q116.599-63.725 116.279-63.957Q115.959-64.189 115.959-64.553M116.463-64.553Q116.463-64.357 116.607-64.209Q116.752-64.060 116.964-63.971Q117.177-63.881 117.418-63.834Q117.658-63.787 117.841-63.787Q118.084-63.787 118.414-63.865Q118.744-63.943 118.980-64.117Q119.216-64.291 119.216-64.553Q119.216-64.959 118.806-65.068Q118.396-65.178 117.834-65.178L117.154-65.178Q116.884-65.178 116.673-65Q116.463-64.822 116.463-64.553M117.607-66.588Q118.330-66.588 118.330-67.506Q118.330-68.428 117.607-68.428Q116.880-68.428 116.880-67.506Q116.880-66.588 117.607-66.588M120.248-65.170L120.248-66.392Q120.248-66.420 120.279-66.451Q120.310-66.482 120.334-66.482L120.439-66.482Q120.509-66.482 120.525-66.420Q120.588-66.100 120.726-65.859Q120.865-65.619 121.097-65.478Q121.330-65.338 121.638-65.338Q121.877-65.338 122.086-65.398Q122.295-65.459 122.431-65.607Q122.568-65.756 122.568-66.002Q122.568-66.256 122.357-66.422Q122.146-66.588 121.877-66.642L121.255-66.756Q120.849-66.834 120.548-67.090Q120.248-67.346 120.248-67.721Q120.248-68.088 120.449-68.310Q120.650-68.533 120.974-68.631Q121.298-68.728 121.638-68.728Q122.103-68.728 122.400-68.521L122.623-68.705Q122.646-68.728 122.677-68.728L122.728-68.728Q122.759-68.728 122.787-68.701Q122.814-68.674 122.814-68.642L122.814-67.658Q122.814-67.627 122.789-67.598Q122.763-67.568 122.728-67.568L122.623-67.568Q122.588-67.568 122.560-67.596Q122.533-67.623 122.533-67.658Q122.533-68.057 122.281-68.277Q122.029-68.498 121.630-68.498Q121.275-68.498 120.992-68.375Q120.709-68.252 120.709-67.947Q120.709-67.728 120.910-67.596Q121.111-67.463 121.357-67.420L121.982-67.307Q122.412-67.217 122.720-66.920Q123.029-66.623 123.029-66.209Q123.029-65.639 122.630-65.361Q122.232-65.084 121.638-65.084Q121.088-65.084 120.736-65.420L120.439-65.107Q120.416-65.084 120.380-65.084L120.334-65.084Q120.310-65.084 120.279-65.115Q120.248-65.146 120.248-65.170",[3648],[3969,7317,7319,7320,7350,7351,7366,7367,2093,7391,7415],{"className":7318},[3972],"Coins ",[400,7321,7323],{"className":7322},[403],[400,7324,7326],{"className":7325,"ariaHidden":408},[407],[400,7327,7329,7332,7335,7338,7341,7344,7347],{"className":7328},[412],[400,7330],{"className":7331,"style":417},[416],[400,7333,4145],{"className":7334},[428],[400,7336,636],{"className":7337},[421],[400,7339,438],{"className":7340},[437],[400,7342],{"className":7343,"style":443},[442],[400,7345,4227],{"className":7346},[421],[400,7348,4171],{"className":7349},[452],", amount ",[400,7352,7354],{"className":7353},[403],[400,7355,7357],{"className":7356,"ariaHidden":408},[407],[400,7358,7360,7363],{"className":7359},[412],[400,7361],{"className":7362,"style":1663},[416],[400,7364,4125],{"className":7365},[421],": the multiset count (2, coins-outer loop) is less than the ordered count (3, amount-outer loop), because ",[400,7368,7370],{"className":7369},[403],[400,7371,7373],{"className":7372,"ariaHidden":408},[407],[400,7374,7376,7379,7382,7388],{"className":7375},[412],[400,7377],{"className":7378,"style":3380},[416],[400,7380,636],{"className":7381},[421],[400,7383,7385],{"className":7384},[421],[400,7386,1542],{"className":7387},[421],[400,7389,4227],{"className":7390},[421],[400,7392,7394],{"className":7393},[403],[400,7395,7397],{"className":7396,"ariaHidden":408},[407],[400,7398,7400,7403,7406,7412],{"className":7399},[412],[400,7401],{"className":7402,"style":3380},[416],[400,7404,4227],{"className":7405},[421],[400,7407,7409],{"className":7408},[421],[400,7410,1542],{"className":7411},[421],[400,7413,636],{"className":7414},[421]," collapse to one combination.",[381,7417,7418,7419,7449,7450,2093,7474,7498],{},"The blue link makes the discrepancy concrete: the single combination ",[400,7420,7422],{"className":7421},[403],[400,7423,7425],{"className":7424,"ariaHidden":408},[407],[400,7426,7428,7431,7434,7437,7440,7443,7446],{"className":7427},[412],[400,7429],{"className":7430,"style":417},[416],[400,7432,4145],{"className":7433},[428],[400,7435,636],{"className":7436},[421],[400,7438,438],{"className":7439},[437],[400,7441],{"className":7442,"style":443},[442],[400,7444,4227],{"className":7445},[421],[400,7447,4171],{"className":7448},[452]," on\nthe left explodes into the two ordered sequences ",[400,7451,7453],{"className":7452},[403],[400,7454,7456],{"className":7455,"ariaHidden":408},[407],[400,7457,7459,7462,7465,7471],{"className":7458},[412],[400,7460],{"className":7461,"style":3380},[416],[400,7463,636],{"className":7464},[421],[400,7466,7468],{"className":7467},[421],[400,7469,1542],{"className":7470},[421],[400,7472,4227],{"className":7473},[421],[400,7475,7477],{"className":7476},[403],[400,7478,7480],{"className":7479,"ariaHidden":408},[407],[400,7481,7483,7486,7489,7495],{"className":7482},[412],[400,7484],{"className":7485,"style":3380},[416],[400,7487,4227],{"className":7488},[421],[400,7490,7492],{"className":7491},[421],[400,7493,1542],{"className":7494},[421],[400,7496,636],{"className":7497},[421]," on the right.\nCounting the left column is the coins-outer loop; counting the right is amount-outer.\nPicking the wrong nesting silently answers the wrong question: no crash, just a\nwrong number, which is what makes it the classic bug.",[549,7500,7502],{"id":7501},"why-greedy-fails-and-when-it-works","Why greedy fails — and when it works",[381,7504,7505,7506,7509,7510,7513,7514,7517,7518,6698,7557,7572,7573,7588,7589,7622,7623,7625,7626,7659,7660,4648,7675,7677,7678,7693,7694,7709],{},"Coin change has a seductive ",[385,7507,7508],{"href":211},"greedy heuristic",": repeatedly take the ",[477,7511,7512],{},"largest coin\nthat fits",". For the U.S. currency system it always gives the minimum, which is why\ncashiers can make change without dynamic programming. But it is ",[390,7515,7516],{},"not"," correct in\ngeneral. Take coins ",[400,7519,7521],{"className":7520},[403],[400,7522,7524],{"className":7523,"ariaHidden":408},[407],[400,7525,7527,7530,7533,7536,7539,7542,7545,7548,7551,7554],{"className":7526},[412],[400,7528],{"className":7529,"style":417},[416],[400,7531,4145],{"className":7532},[428],[400,7534,636],{"className":7535},[421],[400,7537,438],{"className":7538},[437],[400,7540],{"className":7541,"style":443},[442],[400,7543,4125],{"className":7544},[421],[400,7546,438],{"className":7547},[437],[400,7549],{"className":7550,"style":443},[442],[400,7552,4167],{"className":7553},[421],[400,7555,4171],{"className":7556},[452],[400,7558,7560],{"className":7559},[403],[400,7561,7563],{"className":7562,"ariaHidden":408},[407],[400,7564,7566,7569],{"className":7565},[412],[400,7567],{"className":7568,"style":1663},[416],[400,7570,4306],{"className":7571},[421],". Greedy grabs the ",[400,7574,7576],{"className":7575},[403],[400,7577,7579],{"className":7578,"ariaHidden":408},[407],[400,7580,7582,7585],{"className":7581},[412],[400,7583],{"className":7584,"style":1663},[416],[400,7586,4167],{"className":7587},[421],", then must\nfinish with ",[400,7590,7592],{"className":7591},[403],[400,7593,7595,7613],{"className":7594,"ariaHidden":408},[407],[400,7596,7598,7601,7604,7607,7610],{"className":7597},[412],[400,7599],{"className":7600,"style":3380},[416],[400,7602,636],{"className":7603},[421],[400,7605],{"className":7606,"style":1256},[442],[400,7608,1542],{"className":7609},[1260],[400,7611],{"className":7612,"style":1256},[442],[400,7614,7616,7619],{"className":7615},[412],[400,7617],{"className":7618,"style":1663},[416],[400,7620,636],{"className":7621},[421],", for ",[477,7624,6922],{}," coins, yet ",[400,7627,7629],{"className":7628},[403],[400,7630,7632,7650],{"className":7631,"ariaHidden":408},[407],[400,7633,7635,7638,7641,7644,7647],{"className":7634},[412],[400,7636],{"className":7637,"style":3380},[416],[400,7639,4125],{"className":7640},[421],[400,7642],{"className":7643,"style":1256},[442],[400,7645,1542],{"className":7646},[1260],[400,7648],{"className":7649,"style":1256},[442],[400,7651,7653,7656],{"className":7652},[412],[400,7654],{"className":7655,"style":1663},[416],[400,7657,4125],{"className":7658},[421]," makes ",[400,7661,7663],{"className":7662},[403],[400,7664,7666],{"className":7665,"ariaHidden":408},[407],[400,7667,7669,7672],{"className":7668},[412],[400,7670],{"className":7671,"style":1663},[416],[400,7673,4306],{"className":7674},[421],[477,7676,6804],{},". The\nlargest-coin-first choice walked into a remainder (",[400,7679,7681],{"className":7680},[403],[400,7682,7684],{"className":7683,"ariaHidden":408},[407],[400,7685,7687,7690],{"className":7686},[412],[400,7688],{"className":7689,"style":1663},[416],[400,7691,4227],{"className":7692},[421],") that the denominations\ncover badly, while a less greedy first step (",[400,7695,7697],{"className":7696},[403],[400,7698,7700],{"className":7699,"ariaHidden":408},[407],[400,7701,7703,7706],{"className":7702},[412],[400,7704],{"className":7705,"style":1663},[416],[400,7707,4125],{"className":7708},[421],") left a remainder the coins cover\nperfectly.",[3622,7711,7713,7823],{"className":7712},[3625,3626],[2990,7714,7718],{"xmlns":2992,"width":7715,"height":7716,"viewBox":7717},"272.248","84.407","-75 -75 204.186 63.305",[3633,7719,7720,7727,7739,7751,7762,7777,7784,7796,7807],{"stroke":3635,"style":3636},[3633,7721,7723],{"transform":7722},"translate(-67.646 2)",[2999,7724],{"d":7725,"fill":3635,"stroke":3635,"className":7726,"style":3649},"M7.617-60.080Q7.617-60.361 7.828-60.572Q8.039-60.783 8.324-60.873Q8.168-60.998 8.090-61.187Q8.012-61.377 8.012-61.576Q8.012-61.931 8.242-62.224Q7.875-62.564 7.875-63.033Q7.875-63.384 8.078-63.654Q8.281-63.923 8.602-64.070Q8.922-64.216 9.266-64.216Q9.785-64.216 10.156-63.935Q10.520-64.306 11.066-64.306Q11.246-64.306 11.373-64.179Q11.500-64.052 11.500-63.873Q11.500-63.767 11.422-63.689Q11.344-63.611 11.234-63.611Q11.125-63.611 11.049-63.687Q10.973-63.763 10.973-63.873Q10.973-63.974 11.012-64.025Q11.020-64.033 11.024-64.039Q11.027-64.044 11.027-64.048Q10.652-64.048 10.332-63.794Q10.652-63.455 10.652-63.033Q10.652-62.763 10.535-62.546Q10.418-62.330 10.213-62.171Q10.008-62.013 9.766-61.931Q9.524-61.849 9.266-61.849Q9.047-61.849 8.834-61.908Q8.621-61.966 8.426-62.087Q8.332-61.947 8.332-61.767Q8.332-61.560 8.469-61.408Q8.606-61.255 8.813-61.255L9.508-61.255Q9.996-61.255 10.408-61.171Q10.820-61.087 11.100-60.830Q11.379-60.572 11.379-60.080Q11.379-59.716 11.059-59.484Q10.738-59.252 10.297-59.150Q9.856-59.048 9.500-59.048Q9.145-59.048 8.701-59.150Q8.258-59.252 7.938-59.484Q7.617-59.716 7.617-60.080M8.121-60.080Q8.121-59.884 8.266-59.736Q8.410-59.587 8.623-59.498Q8.836-59.408 9.076-59.361Q9.316-59.314 9.500-59.314Q9.742-59.314 10.072-59.392Q10.402-59.470 10.639-59.644Q10.875-59.818 10.875-60.080Q10.875-60.486 10.465-60.595Q10.055-60.705 9.492-60.705L8.813-60.705Q8.543-60.705 8.332-60.527Q8.121-60.349 8.121-60.080M9.266-62.115Q9.988-62.115 9.988-63.033Q9.988-63.955 9.266-63.955Q8.539-63.955 8.539-63.033Q8.539-62.115 9.266-62.115M13.871-60.689L11.891-60.689L11.891-60.986Q12.160-60.986 12.328-61.031Q12.496-61.076 12.496-61.248L12.496-63.384Q12.496-63.599 12.434-63.695Q12.371-63.791 12.254-63.812Q12.137-63.834 11.891-63.834L11.891-64.130L13.059-64.216L13.059-63.431Q13.137-63.642 13.289-63.828Q13.441-64.013 13.641-64.115Q13.840-64.216 14.066-64.216Q14.313-64.216 14.504-64.072Q14.695-63.927 14.695-63.697Q14.695-63.541 14.590-63.431Q14.484-63.322 14.328-63.322Q14.172-63.322 14.063-63.431Q13.953-63.541 13.953-63.697Q13.953-63.857 14.059-63.962Q13.734-63.962 13.520-63.734Q13.305-63.505 13.209-63.166Q13.113-62.826 13.113-62.521L13.113-61.248Q13.113-61.080 13.340-61.033Q13.566-60.986 13.871-60.986L13.871-60.689M15.176-62.443Q15.176-62.923 15.408-63.339Q15.641-63.755 16.051-64.005Q16.461-64.255 16.938-64.255Q17.668-64.255 18.066-63.814Q18.465-63.373 18.465-62.642Q18.465-62.537 18.371-62.513L15.922-62.513L15.922-62.443Q15.922-62.033 16.043-61.677Q16.164-61.322 16.436-61.105Q16.707-60.888 17.137-60.888Q17.500-60.888 17.797-61.117Q18.094-61.345 18.195-61.697Q18.203-61.744 18.289-61.759L18.371-61.759Q18.465-61.732 18.465-61.650Q18.465-61.642 18.457-61.611Q18.395-61.384 18.256-61.201Q18.117-61.017 17.926-60.884Q17.734-60.752 17.516-60.681Q17.297-60.611 17.059-60.611Q16.688-60.611 16.350-60.748Q16.012-60.884 15.744-61.136Q15.477-61.388 15.326-61.728Q15.176-62.068 15.176-62.443M15.930-62.752L17.891-62.752Q17.891-63.056 17.789-63.347Q17.688-63.638 17.471-63.820Q17.254-64.001 16.938-64.001Q16.637-64.001 16.406-63.814Q16.176-63.627 16.053-63.335Q15.930-63.044 15.930-62.752M18.953-62.443Q18.953-62.923 19.186-63.339Q19.418-63.755 19.828-64.005Q20.238-64.255 20.715-64.255Q21.445-64.255 21.844-63.814Q22.242-63.373 22.242-62.642Q22.242-62.537 22.149-62.513L19.699-62.513L19.699-62.443Q19.699-62.033 19.820-61.677Q19.941-61.322 20.213-61.105Q20.484-60.888 20.914-60.888Q21.277-60.888 21.574-61.117Q21.871-61.345 21.973-61.697Q21.981-61.744 22.066-61.759L22.149-61.759Q22.242-61.732 22.242-61.650Q22.242-61.642 22.234-61.611Q22.172-61.384 22.033-61.201Q21.895-61.017 21.703-60.884Q21.512-60.752 21.293-60.681Q21.074-60.611 20.836-60.611Q20.465-60.611 20.127-60.748Q19.789-60.884 19.522-61.136Q19.254-61.388 19.104-61.728Q18.953-62.068 18.953-62.443M19.707-62.752L21.668-62.752Q21.668-63.056 21.566-63.347Q21.465-63.638 21.248-63.820Q21.031-64.001 20.715-64.001Q20.414-64.001 20.184-63.814Q19.953-63.627 19.830-63.335Q19.707-63.044 19.707-62.752M24.547-60.611Q24.066-60.611 23.658-60.855Q23.250-61.099 23.012-61.513Q22.774-61.927 22.774-62.416Q22.774-62.908 23.031-63.324Q23.289-63.740 23.721-63.978Q24.152-64.216 24.645-64.216Q25.266-64.216 25.715-63.779L25.715-65.408Q25.715-65.623 25.652-65.718Q25.590-65.814 25.473-65.835Q25.356-65.857 25.109-65.857L25.109-66.154L26.332-66.240L26.332-61.431Q26.332-61.220 26.395-61.125Q26.457-61.029 26.574-61.007Q26.691-60.986 26.941-60.986L26.941-60.689L25.691-60.611L25.691-61.095Q25.227-60.611 24.547-60.611M24.613-60.865Q24.953-60.865 25.246-61.056Q25.539-61.248 25.691-61.544L25.691-63.377Q25.543-63.650 25.281-63.806Q25.020-63.962 24.707-63.962Q24.082-63.962 23.799-63.515Q23.516-63.068 23.516-62.408Q23.516-61.763 23.768-61.314Q24.020-60.865 24.613-60.865M27.867-59.392Q27.981-59.314 28.156-59.314Q28.445-59.314 28.666-59.527Q28.887-59.740 29.012-60.041L29.301-60.689L28.027-63.576Q27.945-63.752 27.801-63.796Q27.656-63.841 27.387-63.841L27.387-64.138L29.106-64.138L29.106-63.841Q28.684-63.841 28.684-63.658Q28.684-63.646 28.699-63.576L29.637-61.451L30.469-63.361Q30.508-63.451 30.508-63.529Q30.508-63.669 30.406-63.755Q30.305-63.841 30.164-63.841L30.164-64.138L31.516-64.138L31.516-63.841Q31.262-63.841 31.068-63.716Q30.875-63.591 30.770-63.361L29.324-60.041Q29.211-59.787 29.045-59.564Q28.879-59.341 28.650-59.199Q28.422-59.056 28.156-59.056Q27.859-59.056 27.619-59.248Q27.379-59.439 27.379-59.728Q27.379-59.884 27.484-59.986Q27.590-60.087 27.738-60.087Q27.844-60.087 27.924-60.041Q28.004-59.994 28.051-59.916Q28.098-59.837 28.098-59.728Q28.098-59.607 28.037-59.519Q27.977-59.431 27.867-59.392",[3648],[3633,7728,7730,7733],{"fill":7729},"var(--tk-soft-warn)",[2999,7731],{"d":7732},"M18.76-60.689c0-6.286-5.095-11.381-11.38-11.381S-4.003-66.975-4.003-60.689 1.094-49.308 7.38-49.308s11.381-5.095 11.381-11.38Zm-11.38 0",[3633,7734,7735],{"transform":3781},[2999,7736],{"d":7737,"fill":3635,"stroke":3635,"className":7738,"style":3786},"M10.077-62.166L7.638-62.166L7.638-62.482L10.464-66.630Q10.508-66.683 10.574-66.683L10.728-66.683Q10.767-66.683 10.800-66.650Q10.833-66.617 10.833-66.573L10.833-62.482L11.734-62.482L11.734-62.166L10.833-62.166L10.833-61.300Q10.833-61.005 11.734-61.005L11.734-60.689L9.181-60.689L9.181-61.005Q9.541-61.005 9.809-61.060Q10.077-61.115 10.077-61.300L10.077-62.166M10.134-65.655L7.972-62.482L10.134-62.482",[3648],[3633,7740,7741,7744],{"fill":7729},[2999,7742],{"d":7743},"M45.79-60.689c0-6.286-5.095-11.381-11.38-11.381s-11.382 5.095-11.382 11.381 5.096 11.381 11.381 11.381 11.381-5.095 11.381-11.38Zm-11.38 0",[3633,7745,7747],{"transform":7746},"translate(24.718 2.9)",[2999,7748],{"d":7749,"fill":3635,"stroke":3635,"className":7750,"style":3786},"M11.286-60.689L8.254-60.689L8.254-61.005Q9.405-61.005 9.405-61.300L9.405-66.024Q8.917-65.791 8.196-65.791L8.196-66.107Q9.326-66.107 9.888-66.683L10.033-66.683Q10.068-66.683 10.101-66.650Q10.134-66.617 10.134-66.582L10.134-61.300Q10.134-61.005 11.286-61.005",[3648],[3633,7752,7753,7756],{"fill":7729},[2999,7754],{"d":7755},"M72.82-60.689c0-6.286-5.095-11.381-11.38-11.381s-11.382 5.095-11.382 11.381 5.096 11.381 11.381 11.381 11.381-5.095 11.381-11.38Zm-11.38 0",[3633,7757,7759],{"transform":7758},"translate(51.748 2.9)",[2999,7760],{"d":7749,"fill":3635,"stroke":3635,"className":7761,"style":3786},[3648],[3633,7763,7764,7771],{"stroke":3639,"fontFamily":5619,"fontSize":3640},[3633,7765,7767],{"transform":7766},"translate(89.656 2.683)",[2999,7768],{"d":7769,"fill":3635,"stroke":3635,"className":7770,"style":3649},"M8.172-61.322Q8.363-61.048 8.719-60.921Q9.074-60.794 9.457-60.794Q9.793-60.794 10.002-60.980Q10.211-61.166 10.307-61.459Q10.402-61.752 10.402-62.064Q10.402-62.388 10.305-62.683Q10.207-62.978 9.994-63.162Q9.781-63.345 9.449-63.345L8.883-63.345Q8.852-63.345 8.822-63.375Q8.793-63.404 8.793-63.431L8.793-63.513Q8.793-63.548 8.822-63.574Q8.852-63.599 8.883-63.599L9.363-63.634Q9.649-63.634 9.846-63.839Q10.043-64.044 10.139-64.339Q10.234-64.634 10.234-64.912Q10.234-65.291 10.035-65.529Q9.836-65.767 9.457-65.767Q9.137-65.767 8.848-65.660Q8.559-65.552 8.395-65.330Q8.574-65.330 8.697-65.203Q8.820-65.076 8.820-64.904Q8.820-64.732 8.695-64.607Q8.570-64.482 8.395-64.482Q8.223-64.482 8.098-64.607Q7.973-64.732 7.973-64.904Q7.973-65.271 8.197-65.519Q8.422-65.767 8.762-65.888Q9.102-66.009 9.457-66.009Q9.805-66.009 10.168-65.888Q10.531-65.767 10.779-65.517Q11.027-65.267 11.027-64.912Q11.027-64.427 10.709-64.044Q10.391-63.662 9.914-63.490Q10.465-63.380 10.865-62.994Q11.266-62.607 11.266-62.072Q11.266-61.615 11.002-61.259Q10.738-60.904 10.316-60.712Q9.895-60.521 9.457-60.521Q9.047-60.521 8.654-60.656Q8.262-60.791 7.996-61.076Q7.731-61.361 7.731-61.779Q7.731-61.974 7.863-62.103Q7.996-62.232 8.188-62.232Q8.313-62.232 8.416-62.173Q8.520-62.115 8.582-62.009Q8.645-61.904 8.645-61.779Q8.645-61.584 8.510-61.453Q8.375-61.322 8.172-61.322",[3648],[3633,7772,7773],{"transform":7766},[2999,7774],{"d":7775,"fill":3635,"stroke":3635,"className":7776,"style":3649},"M14.744-62.416Q14.744-62.912 14.994-63.337Q15.244-63.763 15.664-64.009Q16.084-64.255 16.584-64.255Q17.123-64.255 17.514-64.130Q17.904-64.005 17.904-63.591Q17.904-63.486 17.854-63.394Q17.803-63.302 17.711-63.252Q17.619-63.201 17.510-63.201Q17.404-63.201 17.313-63.252Q17.221-63.302 17.170-63.394Q17.119-63.486 17.119-63.591Q17.119-63.814 17.287-63.919Q17.065-63.978 16.592-63.978Q16.295-63.978 16.080-63.839Q15.865-63.701 15.734-63.470Q15.604-63.240 15.545-62.970Q15.486-62.701 15.486-62.416Q15.486-62.021 15.619-61.671Q15.752-61.322 16.024-61.105Q16.295-60.888 16.693-60.888Q17.068-60.888 17.344-61.105Q17.619-61.322 17.721-61.681Q17.736-61.744 17.799-61.744L17.904-61.744Q17.940-61.744 17.965-61.716Q17.990-61.689 17.990-61.650L17.990-61.627Q17.858-61.146 17.473-60.878Q17.088-60.611 16.584-60.611Q16.221-60.611 15.887-60.748Q15.553-60.884 15.293-61.134Q15.033-61.384 14.889-61.720Q14.744-62.056 14.744-62.416M18.479-62.384Q18.479-62.888 18.734-63.320Q18.990-63.752 19.426-64.003Q19.861-64.255 20.361-64.255Q20.748-64.255 21.090-64.111Q21.432-63.966 21.693-63.705Q21.955-63.443 22.098-63.107Q22.240-62.771 22.240-62.384Q22.240-61.892 21.977-61.482Q21.713-61.072 21.283-60.841Q20.854-60.611 20.361-60.611Q19.869-60.611 19.436-60.843Q19.002-61.076 18.740-61.484Q18.479-61.892 18.479-62.384M20.361-60.888Q20.818-60.888 21.070-61.111Q21.322-61.334 21.410-61.685Q21.498-62.037 21.498-62.482Q21.498-62.912 21.404-63.250Q21.311-63.587 21.057-63.794Q20.803-64.001 20.361-64.001Q19.713-64.001 19.469-63.585Q19.225-63.169 19.225-62.482Q19.225-62.037 19.313-61.685Q19.401-61.334 19.652-61.111Q19.904-60.888 20.361-60.888M24.584-60.689L22.807-60.689L22.807-60.986Q23.080-60.986 23.248-61.033Q23.416-61.080 23.416-61.248L23.416-63.384Q23.416-63.599 23.359-63.695Q23.303-63.791 23.190-63.812Q23.076-63.834 22.830-63.834L22.830-64.130L24.029-64.216L24.029-61.248Q24.029-61.080 24.176-61.033Q24.322-60.986 24.584-60.986L24.584-60.689M23.143-65.611Q23.143-65.802 23.277-65.933Q23.412-66.064 23.608-66.064Q23.729-66.064 23.832-66.001Q23.936-65.939 23.998-65.835Q24.061-65.732 24.061-65.611Q24.061-65.416 23.930-65.281Q23.799-65.146 23.608-65.146Q23.408-65.146 23.276-65.279Q23.143-65.412 23.143-65.611M27.014-60.689L25.158-60.689L25.158-60.986Q25.432-60.986 25.600-61.033Q25.768-61.080 25.768-61.248L25.768-63.384Q25.768-63.599 25.705-63.695Q25.643-63.791 25.524-63.812Q25.404-63.834 25.158-63.834L25.158-64.130L26.350-64.216L26.350-63.482Q26.463-63.697 26.656-63.865Q26.850-64.033 27.088-64.125Q27.326-64.216 27.580-64.216Q28.748-64.216 28.748-63.138L28.748-61.248Q28.748-61.080 28.918-61.033Q29.088-60.986 29.358-60.986L29.358-60.689L27.502-60.689L27.502-60.986Q27.776-60.986 27.943-61.033Q28.111-61.080 28.111-61.248L28.111-63.123Q28.111-63.505 27.990-63.734Q27.869-63.962 27.518-63.962Q27.205-63.962 26.951-63.800Q26.697-63.638 26.551-63.369Q26.404-63.099 26.404-62.802L26.404-61.248Q26.404-61.080 26.574-61.033Q26.744-60.986 27.014-60.986L27.014-60.689M29.846-60.697L29.846-61.919Q29.846-61.947 29.877-61.978Q29.908-62.009 29.932-62.009L30.037-62.009Q30.108-62.009 30.123-61.947Q30.186-61.627 30.324-61.386Q30.463-61.146 30.695-61.005Q30.928-60.865 31.236-60.865Q31.475-60.865 31.684-60.925Q31.893-60.986 32.029-61.134Q32.166-61.283 32.166-61.529Q32.166-61.783 31.955-61.949Q31.744-62.115 31.475-62.169L30.854-62.283Q30.447-62.361 30.147-62.617Q29.846-62.873 29.846-63.248Q29.846-63.615 30.047-63.837Q30.248-64.060 30.572-64.158Q30.897-64.255 31.236-64.255Q31.701-64.255 31.998-64.048L32.221-64.232Q32.244-64.255 32.276-64.255L32.326-64.255Q32.358-64.255 32.385-64.228Q32.412-64.201 32.412-64.169L32.412-63.185Q32.412-63.154 32.387-63.125Q32.361-63.095 32.326-63.095L32.221-63.095Q32.186-63.095 32.158-63.123Q32.131-63.150 32.131-63.185Q32.131-63.584 31.879-63.804Q31.627-64.025 31.229-64.025Q30.873-64.025 30.590-63.902Q30.307-63.779 30.307-63.474Q30.307-63.255 30.508-63.123Q30.709-62.990 30.955-62.947L31.580-62.834Q32.010-62.744 32.318-62.447Q32.627-62.150 32.627-61.736Q32.627-61.166 32.229-60.888Q31.830-60.611 31.236-60.611Q30.686-60.611 30.334-60.947L30.037-60.634Q30.014-60.611 29.979-60.611L29.932-60.611Q29.908-60.611 29.877-60.642Q29.846-60.673 29.846-60.697",[3648],[3633,7778,7780],{"transform":7779},"translate(-69.65 36.143)",[2999,7781],{"d":7782,"fill":3635,"stroke":3635,"className":7783,"style":3649},"M7.617-62.384Q7.617-62.888 7.873-63.320Q8.129-63.752 8.565-64.003Q9-64.255 9.500-64.255Q9.887-64.255 10.229-64.111Q10.570-63.966 10.832-63.705Q11.094-63.443 11.236-63.107Q11.379-62.771 11.379-62.384Q11.379-61.892 11.115-61.482Q10.852-61.072 10.422-60.841Q9.992-60.611 9.500-60.611Q9.008-60.611 8.574-60.843Q8.141-61.076 7.879-61.484Q7.617-61.892 7.617-62.384M9.500-60.888Q9.957-60.888 10.209-61.111Q10.461-61.334 10.549-61.685Q10.637-62.037 10.637-62.482Q10.637-62.912 10.543-63.250Q10.449-63.587 10.195-63.794Q9.941-64.001 9.500-64.001Q8.852-64.001 8.608-63.585Q8.363-63.169 8.363-62.482Q8.363-62.037 8.451-61.685Q8.539-61.334 8.791-61.111Q9.043-60.888 9.500-60.888M13.746-59.138L11.891-59.138L11.891-59.431Q12.160-59.431 12.328-59.476Q12.496-59.521 12.496-59.697L12.496-63.521Q12.496-63.728 12.340-63.781Q12.184-63.834 11.891-63.834L11.891-64.130L13.113-64.216L13.113-63.752Q13.344-63.974 13.658-64.095Q13.973-64.216 14.313-64.216Q14.785-64.216 15.190-63.970Q15.594-63.724 15.826-63.308Q16.059-62.892 16.059-62.416Q16.059-62.041 15.910-61.712Q15.762-61.384 15.492-61.132Q15.223-60.880 14.879-60.746Q14.535-60.611 14.176-60.611Q13.887-60.611 13.615-60.732Q13.344-60.853 13.137-61.064L13.137-59.697Q13.137-59.521 13.305-59.476Q13.473-59.431 13.746-59.431L13.746-59.138M13.137-63.353L13.137-61.513Q13.289-61.224 13.551-61.044Q13.813-60.865 14.121-60.865Q14.406-60.865 14.629-61.003Q14.852-61.142 15.004-61.373Q15.156-61.603 15.234-61.875Q15.313-62.146 15.313-62.416Q15.313-62.748 15.188-63.105Q15.063-63.462 14.815-63.699Q14.566-63.935 14.219-63.935Q13.895-63.935 13.600-63.779Q13.305-63.623 13.137-63.353M17.207-61.650L17.207-63.841L16.504-63.841L16.504-64.095Q16.859-64.095 17.102-64.328Q17.344-64.560 17.455-64.908Q17.566-65.255 17.566-65.611L17.848-65.611L17.848-64.138L19.024-64.138L19.024-63.841L17.848-63.841L17.848-61.666Q17.848-61.345 17.967-61.117Q18.086-60.888 18.367-60.888Q18.547-60.888 18.664-61.011Q18.781-61.134 18.834-61.314Q18.887-61.494 18.887-61.666L18.887-62.138L19.168-62.138L19.168-61.650Q19.168-61.396 19.063-61.156Q18.957-60.916 18.760-60.763Q18.563-60.611 18.305-60.611Q17.988-60.611 17.736-60.734Q17.484-60.857 17.346-61.091Q17.207-61.326 17.207-61.650M21.746-60.689L19.969-60.689L19.969-60.986Q20.242-60.986 20.410-61.033Q20.578-61.080 20.578-61.248L20.578-63.384Q20.578-63.599 20.522-63.695Q20.465-63.791 20.352-63.812Q20.238-63.834 19.992-63.834L19.992-64.130L21.191-64.216L21.191-61.248Q21.191-61.080 21.338-61.033Q21.484-60.986 21.746-60.986L21.746-60.689M20.305-65.611Q20.305-65.802 20.440-65.933Q20.574-66.064 20.770-66.064Q20.891-66.064 20.994-66.001Q21.098-65.939 21.160-65.835Q21.223-65.732 21.223-65.611Q21.223-65.416 21.092-65.281Q20.961-65.146 20.770-65.146Q20.570-65.146 20.438-65.279Q20.305-65.412 20.305-65.611M24.176-60.689L22.320-60.689L22.320-60.986Q22.594-60.986 22.762-61.033Q22.930-61.080 22.930-61.248L22.930-63.384Q22.930-63.599 22.867-63.695Q22.805-63.791 22.686-63.812Q22.566-63.834 22.320-63.834L22.320-64.130L23.512-64.216L23.512-63.482Q23.625-63.697 23.818-63.865Q24.012-64.033 24.250-64.125Q24.488-64.216 24.742-64.216Q25.703-64.216 25.879-63.505Q26.063-63.834 26.391-64.025Q26.719-64.216 27.098-64.216Q28.274-64.216 28.274-63.138L28.274-61.248Q28.274-61.080 28.441-61.033Q28.609-60.986 28.879-60.986L28.879-60.689L27.024-60.689L27.024-60.986Q27.297-60.986 27.465-61.031Q27.633-61.076 27.633-61.248L27.633-63.123Q27.633-63.509 27.508-63.736Q27.383-63.962 27.031-63.962Q26.727-63.962 26.471-63.800Q26.215-63.638 26.066-63.369Q25.918-63.099 25.918-62.802L25.918-61.248Q25.918-61.080 26.088-61.033Q26.258-60.986 26.527-60.986L26.527-60.689L24.672-60.689L24.672-60.986Q24.945-60.986 25.113-61.033Q25.281-61.080 25.281-61.248L25.281-63.123Q25.281-63.509 25.156-63.736Q25.031-63.962 24.680-63.962Q24.375-63.962 24.119-63.800Q23.863-63.638 23.715-63.369Q23.566-63.099 23.566-62.802L23.566-61.248Q23.566-61.080 23.736-61.033Q23.906-60.986 24.176-60.986L24.176-60.689M29.422-61.521Q29.422-62.005 29.824-62.300Q30.227-62.595 30.777-62.714Q31.328-62.834 31.820-62.834L31.820-63.123Q31.820-63.349 31.705-63.556Q31.590-63.763 31.393-63.882Q31.195-64.001 30.965-64.001Q30.539-64.001 30.254-63.896Q30.324-63.869 30.371-63.814Q30.418-63.759 30.443-63.689Q30.469-63.619 30.469-63.544Q30.469-63.439 30.418-63.347Q30.367-63.255 30.275-63.205Q30.184-63.154 30.078-63.154Q29.973-63.154 29.881-63.205Q29.789-63.255 29.738-63.347Q29.688-63.439 29.688-63.544Q29.688-63.962 30.076-64.109Q30.465-64.255 30.965-64.255Q31.297-64.255 31.650-64.125Q32.004-63.994 32.233-63.740Q32.461-63.486 32.461-63.138L32.461-61.337Q32.461-61.205 32.533-61.095Q32.606-60.986 32.734-60.986Q32.859-60.986 32.928-61.091Q32.996-61.197 32.996-61.337L32.996-61.849L33.277-61.849L33.277-61.337Q33.277-61.134 33.160-60.976Q33.043-60.818 32.861-60.734Q32.680-60.650 32.477-60.650Q32.246-60.650 32.094-60.822Q31.941-60.994 31.910-61.224Q31.750-60.943 31.441-60.777Q31.133-60.611 30.781-60.611Q30.270-60.611 29.846-60.834Q29.422-61.056 29.422-61.521M30.109-61.521Q30.109-61.236 30.336-61.050Q30.563-60.865 30.856-60.865Q31.102-60.865 31.326-60.982Q31.551-61.099 31.686-61.302Q31.820-61.505 31.820-61.759L31.820-62.591Q31.555-62.591 31.270-62.537Q30.984-62.482 30.713-62.353Q30.441-62.224 30.275-62.017Q30.109-61.810 30.109-61.521M35.484-60.689L33.652-60.689L33.652-60.986Q33.926-60.986 34.094-61.033Q34.262-61.080 34.262-61.248L34.262-65.408Q34.262-65.623 34.199-65.718Q34.137-65.814 34.018-65.835Q33.899-65.857 33.652-65.857L33.652-66.154L34.875-66.240L34.875-61.248Q34.875-61.080 35.043-61.033Q35.211-60.986 35.484-60.986",[3648],[3633,7785,7786,7789],{"fill":3836},[2999,7787],{"d":7788},"M18.76-26.546c0-6.285-5.095-11.38-11.38-11.38s-11.382 5.095-11.382 11.38S1.094-15.165 7.38-15.165 18.76-20.26 18.76-26.545Zm-11.38 0",[3633,7790,7792],{"transform":7791},"translate(-2.312 37.043)",[2999,7793],{"d":7794,"fill":3635,"stroke":3635,"className":7795,"style":3786},"M8.280-61.410L8.236-61.410Q8.438-61.093 8.825-60.935Q9.212-60.777 9.638-60.777Q10.174-60.777 10.413-61.212Q10.653-61.647 10.653-62.227Q10.653-62.807 10.407-63.247Q10.161-63.686 9.629-63.686L9.009-63.686Q8.983-63.686 8.950-63.715Q8.917-63.743 8.917-63.765L8.917-63.866Q8.917-63.897 8.946-63.921Q8.974-63.945 9.009-63.945L9.528-63.985Q9.994-63.985 10.240-64.457Q10.486-64.930 10.486-65.448Q10.486-65.875 10.273-66.149Q10.060-66.424 9.638-66.424Q9.295-66.424 8.970-66.294Q8.645-66.165 8.460-65.910L8.486-65.910Q8.689-65.910 8.825-65.769Q8.961-65.628 8.961-65.431Q8.961-65.233 8.827-65.099Q8.693-64.965 8.495-64.965Q8.293-64.965 8.155-65.099Q8.016-65.233 8.016-65.431Q8.016-66.020 8.519-66.351Q9.023-66.683 9.638-66.683Q10.016-66.683 10.418-66.543Q10.820-66.402 11.088-66.123Q11.356-65.844 11.356-65.448Q11.356-64.899 11.002-64.462Q10.649-64.024 10.108-63.840Q10.499-63.761 10.844-63.537Q11.189-63.313 11.400-62.972Q11.611-62.631 11.611-62.236Q11.611-61.854 11.448-61.531Q11.286-61.208 10.994-60.972Q10.701-60.737 10.354-60.614Q10.007-60.491 9.638-60.491Q9.190-60.491 8.759-60.652Q8.328-60.812 8.047-61.139Q7.766-61.467 7.766-61.924Q7.766-62.139 7.913-62.282Q8.060-62.425 8.280-62.425Q8.491-62.425 8.636-62.280Q8.781-62.135 8.781-61.924Q8.781-61.713 8.634-61.561Q8.486-61.410 8.280-61.410",[3648],[3633,7797,7798,7801],{"fill":3836},[2999,7799],{"d":7800},"M45.79-26.546c0-6.285-5.095-11.38-11.38-11.38s-11.382 5.095-11.382 11.38 5.096 11.381 11.381 11.381S45.79-20.26 45.79-26.545Zm-11.38 0",[3633,7802,7804],{"transform":7803},"translate(24.718 37.043)",[2999,7805],{"d":7794,"fill":3635,"stroke":3635,"className":7806,"style":3786},[3648],[3633,7808,7809],{"fill":5812,"stroke":5812},[3633,7810,7811,7818],{"fill":5812,"stroke":3639,"fontFamily":5619,"fontSize":3640},[3633,7812,7814],{"transform":7813},"translate(89.656 36.826)",[2999,7815],{"d":7816,"fill":5812,"stroke":5812,"className":7817,"style":3649},"M10.965-60.689L7.805-60.689L7.805-60.896Q7.805-60.923 7.828-60.955L9.180-62.353Q9.559-62.740 9.807-63.029Q10.055-63.318 10.229-63.675Q10.402-64.033 10.402-64.423Q10.402-64.771 10.270-65.064Q10.137-65.357 9.883-65.535Q9.629-65.712 9.274-65.712Q8.914-65.712 8.623-65.517Q8.332-65.322 8.188-64.994L8.242-64.994Q8.426-64.994 8.551-64.873Q8.676-64.751 8.676-64.560Q8.676-64.380 8.551-64.251Q8.426-64.123 8.242-64.123Q8.063-64.123 7.934-64.251Q7.805-64.380 7.805-64.560Q7.805-64.962 8.025-65.298Q8.246-65.634 8.611-65.822Q8.977-66.009 9.379-66.009Q9.859-66.009 10.275-65.822Q10.691-65.634 10.943-65.273Q11.195-64.912 11.195-64.423Q11.195-64.064 11.041-63.761Q10.887-63.459 10.635-63.199Q10.383-62.939 10.033-62.654Q9.684-62.369 9.516-62.216L8.586-61.377L9.301-61.377Q10.676-61.377 10.715-61.416Q10.785-61.494 10.828-61.679Q10.871-61.865 10.914-62.154L11.195-62.154",[3648],[3633,7819,7820],{"transform":7813},[2999,7821],{"d":7775,"fill":5812,"stroke":5812,"className":7822,"style":3649},[3648],[3969,7824,7826,7827,7866,7867,7882,7883,7916,7917,7941],{"className":7825},[3972],"Greedy change-making fails on ",[400,7828,7830],{"className":7829},[403],[400,7831,7833],{"className":7832,"ariaHidden":408},[407],[400,7834,7836,7839,7842,7845,7848,7851,7854,7857,7860,7863],{"className":7835},[412],[400,7837],{"className":7838,"style":417},[416],[400,7840,4145],{"className":7841},[428],[400,7843,636],{"className":7844},[421],[400,7846,438],{"className":7847},[437],[400,7849],{"className":7850,"style":443},[442],[400,7852,4125],{"className":7853},[421],[400,7855,438],{"className":7856},[437],[400,7858],{"className":7859,"style":443},[442],[400,7861,4167],{"className":7862},[421],[400,7864,4171],{"className":7865},[452]," for amount ",[400,7868,7870],{"className":7869},[403],[400,7871,7873],{"className":7872,"ariaHidden":408},[407],[400,7874,7876,7879],{"className":7875},[412],[400,7877],{"className":7878,"style":1663},[416],[400,7880,4306],{"className":7881},[421],": largest-coin-first takes ",[400,7884,7886],{"className":7885},[403],[400,7887,7889],{"className":7888,"ariaHidden":408},[407],[400,7890,7892,7895,7898,7904,7907,7913],{"className":7891},[412],[400,7893],{"className":7894,"style":3380},[416],[400,7896,4167],{"className":7897},[421],[400,7899,7901],{"className":7900},[421],[400,7902,1542],{"className":7903},[421],[400,7905,636],{"className":7906},[421],[400,7908,7910],{"className":7909},[421],[400,7911,1542],{"className":7912},[421],[400,7914,636],{"className":7915},[421]," (three coins), while the DP optimum is ",[400,7918,7920],{"className":7919},[403],[400,7921,7923],{"className":7922,"ariaHidden":408},[407],[400,7924,7926,7929,7932,7938],{"className":7925},[412],[400,7927],{"className":7928,"style":3380},[416],[400,7930,4125],{"className":7931},[421],[400,7933,7935],{"className":7934},[421],[400,7936,1542],{"className":7937},[421],[400,7939,4125],{"className":7940},[421]," (two coins).",[381,7943,7944,7945,7948,7949,7999,8000,8003,8004,8137,8138,8141,8142],{},"A coin system is called ",[477,7946,7947],{},"canonical"," when the greedy algorithm is optimal for every\namount; standard currencies (like ",[400,7950,7952],{"className":7951},[403],[400,7953,7955],{"className":7954,"ariaHidden":408},[407],[400,7956,7958,7961,7964,7967,7970,7973,7976,7979,7982,7986,7989,7992,7996],{"className":7957},[412],[400,7959],{"className":7960,"style":417},[416],[400,7962,4145],{"className":7963},[428],[400,7965,636],{"className":7966},[421],[400,7968,438],{"className":7969},[437],[400,7971],{"className":7972,"style":443},[442],[400,7974,4361],{"className":7975},[421],[400,7977,438],{"className":7978},[437],[400,7980],{"className":7981,"style":443},[442],[400,7983,7985],{"className":7984},[421],"10",[400,7987,438],{"className":7988},[437],[400,7990],{"className":7991,"style":443},[442],[400,7993,7995],{"className":7994},[421],"25",[400,7997,4171],{"className":7998},[452],") are deliberately designed to be\ncanonical so that greedy change-making works. Whether an ",[390,8001,8002],{},"arbitrary"," system is\ncanonical is itself a nontrivial question (it can be decided by checking greedy\nagainst the DP optimum over a bounded range of amounts), but the safe default for an\nunknown denomination set is the ",[400,8005,8007],{"className":8006},[403],[400,8008,8010,8037,8055,8125],{"className":8009,"ariaHidden":408},[407],[400,8011,8013,8016,8019,8022,8025,8028,8031,8034],{"className":8012},[412],[400,8014],{"className":8015,"style":417},[416],[400,8017,2876],{"className":8018,"style":423},[421,422],[400,8020,900],{"className":8021},[428],[400,8023,385],{"className":8024},[421,422],[400,8026,907],{"className":8027},[452],[400,8029],{"className":8030,"style":1162},[442],[400,8032,1365],{"className":8033},[1008],[400,8035],{"className":8036,"style":1162},[442],[400,8038,8040,8043,8046,8049,8052],{"className":8039},[412],[400,8041],{"className":8042,"style":3380},[416],[400,8044,636],{"className":8045},[421],[400,8047],{"className":8048,"style":1256},[442],[400,8050,1542],{"className":8051},[1260],[400,8053],{"className":8054,"style":1256},[442],[400,8056,8058,8061,8104,8107,8110,8113,8116,8119,8122],{"className":8057},[412],[400,8059],{"className":8060,"style":417},[416],[400,8062,8064,8070],{"className":8063},[968],[400,8065,8067],{"className":8066},[968],[400,8068,3114],{"className":8069},[421,975],[400,8071,8073],{"className":8072},[603],[400,8074,8076,8096],{"className":8075},[607,608],[400,8077,8079,8093],{"className":8078},[612],[400,8080,8082],{"className":8081,"style":689},[616],[400,8083,8084,8087],{"style":992},[400,8085],{"className":8086,"style":625},[624],[400,8088,8090],{"className":8089},[629,630,631,632],[400,8091,2708],{"className":8092},[421,422,632],[400,8094,641],{"className":8095},[640],[400,8097,8099],{"className":8098},[612],[400,8100,8102],{"className":8101,"style":648},[616],[400,8103],{},[400,8105],{"className":8106,"style":443},[442],[400,8108,2876],{"className":8109,"style":423},[421,422],[400,8111,900],{"className":8112},[428],[400,8114,385],{"className":8115},[421,422],[400,8117],{"className":8118,"style":1256},[442],[400,8120,1261],{"className":8121},[1260],[400,8123],{"className":8124,"style":1256},[442],[400,8126,8128,8131,8134],{"className":8127},[412],[400,8129],{"className":8130,"style":417},[416],[400,8132,2708],{"className":8133},[421,422],[400,8135,907],{"className":8136},[452]," dynamic program, which is\ncorrect for ",[390,8139,8140],{},"any"," coins.",[4698,8143,8144],{},[385,8145,4125],{"href":8146,"ariaDescribedBy":8147,"dataFootnoteRef":376,"id":8148},"#user-content-fn-skiena-greedy",[4704],"user-content-fnref-skiena-greedy",[554,8150,8152],{"type":8151},"note",[381,8153,8154,8157,8158,8161],{},[477,8155,8156],{},"Intuition."," Greed commits to the biggest coin and never reconsiders, so it can\nbe ambushed by a remainder its denominations can only pay in many small coins. The\nDP keeps ",[390,8159,8160],{},"every"," amount's best answer around and lets a worse-looking first coin\nredeem itself later — which is exactly the optimal-substructure argument greedy\nlacks here but possesses on canonical systems.",[549,8163,8165],{"id":8164},"the-same-shape-elsewhere-perfect-squares-and-word-break","The same shape elsewhere: Perfect Squares and Word Break",[381,8167,8168,8169,8172],{},"Once you see coin change as unbounded knapsack, two famous problems reveal\nthemselves as the ",[390,8170,8171],{},"identical"," recurrence with the coins renamed.",[381,8174,8175,8178,8179,8231,8232,8247,8248,8272,8273,8276,8277,1330],{},[477,8176,8177],{},"Perfect Squares"," asks for the fewest perfect squares (",[400,8180,8182],{"className":8181},[403],[400,8183,8185],{"className":8184,"ariaHidden":408},[407],[400,8186,8188,8191,8194,8197,8200,8203,8206,8209,8212,8215,8218,8222,8225,8228],{"className":8187},[412],[400,8189],{"className":8190,"style":1822},[416],[400,8192,636],{"className":8193},[421],[400,8195,438],{"className":8196},[437],[400,8198],{"className":8199,"style":443},[442],[400,8201,4167],{"className":8202},[421],[400,8204,438],{"className":8205},[437],[400,8207],{"className":8208,"style":443},[442],[400,8210,6937],{"className":8211},[421],[400,8213,438],{"className":8214},[437],[400,8216],{"className":8217,"style":443},[442],[400,8219,8221],{"className":8220},[421],"16",[400,8223,438],{"className":8224},[437],[400,8226],{"className":8227,"style":443},[442],[400,8229,661],{"className":8230},[660],")\nsumming to ",[400,8233,8235],{"className":8234},[403],[400,8236,8238],{"className":8237,"ariaHidden":408},[407],[400,8239,8241,8244],{"className":8240},[412],[400,8242],{"className":8243,"style":575},[416],[400,8245,579],{"className":8246},[421,422],". That is exactly ",[400,8249,8251],{"className":8250},[403],[400,8252,8254],{"className":8253,"ariaHidden":408},[407],[400,8255,8257,8260],{"className":8256},[412],[400,8258],{"className":8259,"style":839},[416],[400,8261,8265],{"className":8262},[8263,8264],"enclosing","textsc",[400,8266,8268],{"className":8267},[421,3257],[400,8269,8271],{"className":8270},[421],"Min-Coins"," with the ",[395,8274,8275],{},"coins"," being the\nsquares ",[400,8278,8280],{"className":8279},[403],[400,8281,8283,8295],{"className":8282,"ariaHidden":408},[407],[400,8284,8286,8289,8292],{"className":8285},[412],[400,8287],{"className":8288,"style":3445},[416],[400,8290,1009],{"className":8291},[1008],[400,8293],{"className":8294,"style":1162},[442],[400,8296,8298,8301],{"className":8297},[412],[400,8299],{"className":8300,"style":575},[416],[400,8302,579],{"className":8303},[421,422],[400,8305,8307],{"className":8306},[1334],[400,8308,8310],{"className":8309},[403],[400,8311,8313,8344,8362,8478,8549],{"className":8312,"ariaHidden":408},[407],[400,8314,8316,8319,8324,8327,8332,8335,8338,8341],{"className":8315},[412],[400,8317],{"className":8318,"style":417},[416],[400,8320,8323],{"className":8321,"style":8322},[421,422],"margin-right:0.0576em;","S",[400,8325,900],{"className":8326},[428],[400,8328,8331],{"className":8329,"style":8330},[421,422],"margin-right:0.0315em;","k",[400,8333,907],{"className":8334},[452],[400,8336],{"className":8337,"style":1162},[442],[400,8339,1365],{"className":8340},[1008],[400,8342],{"className":8343,"style":1162},[442],[400,8345,8347,8350,8353,8356,8359],{"className":8346},[412],[400,8348],{"className":8349,"style":3380},[416],[400,8351,636],{"className":8352},[421],[400,8354],{"className":8355,"style":1256},[442],[400,8357,1542],{"className":8358},[1260],[400,8360],{"className":8361,"style":1256},[442],[400,8363,8365,8369,8454,8457,8460,8463,8466,8469,8472,8475],{"className":8364},[412],[400,8366],{"className":8367,"style":8368},[416],"height:1.0637em;vertical-align:-0.3137em;",[400,8370,8372,8378],{"className":8371},[968],[400,8373,8375],{"className":8374},[968],[400,8376,3114],{"className":8377},[421,975],[400,8379,8381],{"className":8380},[603],[400,8382,8384,8445],{"className":8383},[607,608],[400,8385,8387,8442],{"className":8386},[612],[400,8388,8391],{"className":8389,"style":8390},[616],"height:0.3448em;",[400,8392,8394,8397],{"style":8393},"top:-2.5224em;margin-right:0.05em;",[400,8395],{"className":8396,"style":625},[624],[400,8398,8400],{"className":8399},[629,630,631,632],[400,8401,8403,8436,8439],{"className":8402},[421,632],[400,8404,8406,8411],{"className":8405},[421,632],[400,8407,8410],{"className":8408,"style":8409},[421,422,632],"margin-right:0.0572em;","j",[400,8412,8414],{"className":8413},[603],[400,8415,8417],{"className":8416},[607],[400,8418,8420],{"className":8419},[612],[400,8421,8424],{"className":8422,"style":8423},[616],"height:0.7463em;",[400,8425,8427,8430],{"style":8426},"top:-2.786em;margin-right:0.0714em;",[400,8428],{"className":8429,"style":1446},[624],[400,8431,8433],{"className":8432},[629,1450,1451,632],[400,8434,4227],{"className":8435},[421,632],[400,8437,1009],{"className":8438},[1008,632],[400,8440,8331],{"className":8441,"style":8330},[421,422,632],[400,8443,641],{"className":8444},[640],[400,8446,8448],{"className":8447},[612],[400,8449,8452],{"className":8450,"style":8451},[616],"height:0.3137em;",[400,8453],{},[400,8455,1488],{"className":8456},[442],[400,8458],{"className":8459,"style":443},[442],[400,8461,8323],{"className":8462,"style":8322},[421,422],[400,8464,900],{"className":8465},[428],[400,8467,8331],{"className":8468,"style":8330},[421,422],[400,8470],{"className":8471,"style":1256},[442],[400,8473,1261],{"className":8474},[1260],[400,8476],{"className":8477,"style":1256},[442],[400,8479,8481,8485,8516,8519,8522,8525,8528,8531,8534,8537,8540,8543,8546],{"className":8480},[412],[400,8482],{"className":8483,"style":8484},[416],"height:1.1141em;vertical-align:-0.25em;",[400,8486,8488,8491],{"className":8487},[421],[400,8489,8410],{"className":8490,"style":8409},[421,422],[400,8492,8494],{"className":8493},[603],[400,8495,8497],{"className":8496},[607],[400,8498,8500],{"className":8499},[612],[400,8501,8504],{"className":8502,"style":8503},[616],"height:0.8641em;",[400,8505,8507,8510],{"style":8506},"top:-3.113em;margin-right:0.05em;",[400,8508],{"className":8509,"style":625},[624],[400,8511,8513],{"className":8512},[629,630,631,632],[400,8514,4227],{"className":8515},[421,632],[400,8517,907],{"className":8518},[452],[400,8520,438],{"className":8521},[437],[400,8523],{"className":8524,"style":1631},[442],[400,8526],{"className":8527,"style":443},[442],[400,8529,8323],{"className":8530,"style":8322},[421,422],[400,8532,900],{"className":8533},[428],[400,8535,1644],{"className":8536},[421],[400,8538,907],{"className":8539},[452],[400,8541],{"className":8542,"style":1162},[442],[400,8544,1365],{"className":8545},[1008],[400,8547],{"className":8548,"style":1162},[442],[400,8550,8552,8555],{"className":8551},[412],[400,8553],{"className":8554,"style":1663},[416],[400,8556,1667],{"className":8557},[421],[381,8559,8560,8561,8576,8577,8592],{},"The squares are reusable (you may use ",[400,8562,8564],{"className":8563},[403],[400,8565,8567],{"className":8566,"ariaHidden":408},[407],[400,8568,8570,8573],{"className":8569},[412],[400,8571],{"className":8572,"style":1663},[416],[400,8574,636],{"className":8575},[421]," four times to make ",[400,8578,8580],{"className":8579},[403],[400,8581,8583],{"className":8582,"ariaHidden":408},[407],[400,8584,8586,8589],{"className":8585},[412],[400,8587],{"className":8588,"style":1663},[416],[400,8590,4167],{"className":8591},[421],"), so it is the\nascending-weight minimization we already wrote; only the denomination set changes.",[381,8594,8595,8598,8599,8615,8616,8618,8619,2051,8622,8625,8626,8629,8630,8656,8657,8673,8674,8689],{},[477,8596,8597],{},"Word Break"," asks whether a string ",[400,8600,8602],{"className":8601},[403],[400,8603,8605],{"className":8604,"ariaHidden":408},[407],[400,8606,8608,8611],{"className":8607},[412],[400,8609],{"className":8610,"style":575},[416],[400,8612,8614],{"className":8613},[421,422],"s"," can be segmented into dictionary words. The\n",[395,8617,8275],{}," are now ",[390,8620,8621],{},"words",[395,8623,8624],{},"amount"," is a ",[390,8627,8628],{},"string prefix",", and the table is indexed\nby prefix length. Let ",[400,8631,8633],{"className":8632},[403],[400,8634,8636],{"className":8635,"ariaHidden":408},[407],[400,8637,8639,8642,8647,8650,8653],{"className":8638},[412],[400,8640],{"className":8641,"style":417},[416],[400,8643,8646],{"className":8644,"style":8645},[421,422],"margin-right:0.0502em;","B",[400,8648,900],{"className":8649},[428],[400,8651,8331],{"className":8652,"style":8330},[421,422],[400,8654,907],{"className":8655},[452]," be true if the first ",[400,8658,8660],{"className":8659},[403],[400,8661,8663],{"className":8662,"ariaHidden":408},[407],[400,8664,8666,8670],{"className":8665},[412],[400,8667],{"className":8668,"style":8669},[416],"height:0.6944em;",[400,8671,8331],{"className":8672,"style":8330},[421,422]," characters of ",[400,8675,8677],{"className":8676},[403],[400,8678,8680],{"className":8679,"ariaHidden":408},[407],[400,8681,8683,8686],{"className":8682},[412],[400,8684],{"className":8685,"style":575},[416],[400,8687,8614],{"className":8688},[421,422]," split into\ndictionary words:",[400,8691,8693],{"className":8692},[1334],[400,8694,8696],{"className":8695},[403],[400,8697,8699,8726,8921,8969],{"className":8698,"ariaHidden":408},[407],[400,8700,8702,8705,8708,8711,8714,8717,8720,8723],{"className":8701},[412],[400,8703],{"className":8704,"style":417},[416],[400,8706,8646],{"className":8707,"style":8645},[421,422],[400,8709,900],{"className":8710},[428],[400,8712,8331],{"className":8713,"style":8330},[421,422],[400,8715,907],{"className":8716},[452],[400,8718],{"className":8719,"style":1162},[442],[400,8721,1365],{"className":8722},[1008],[400,8724],{"className":8725,"style":1162},[442],[400,8727,8729,8733,8900,8903,8906,8909,8912,8915,8918],{"className":8728},[412],[400,8730],{"className":8731,"style":8732},[416],"height:3.1781em;vertical-align:-2.1281em;",[400,8734,8737],{"className":8735},[968,8736],"op-limits",[400,8738,8740,8891],{"className":8739},[607,608],[400,8741,8743,8888],{"className":8742},[612],[400,8744,8747,8875],{"className":8745,"style":8746},[616],"height:1.05em;",[400,8748,8750,8754],{"style":8749},"top:-1.5029em;margin-left:0em;",[400,8751],{"className":8752,"style":8753},[624],"height:3.05em;",[400,8755,8757],{"className":8756},[629,630,631,632],[400,8758,8760],{"className":8759},[421,632],[400,8761,8763],{"className":8762},[421,632],[400,8764,8766],{"className":8765},[3056],[400,8767,8770],{"className":8768},[8769],"col-align-c",[400,8771,8773,8866],{"className":8772},[607,608],[400,8774,8776,8863],{"className":8775},[612],[400,8777,8780,8804],{"className":8778,"style":8779},[616],"height:1.1872em;",[400,8781,8783,8787],{"style":8782},"top:-3.2428em;",[400,8784],{"className":8785,"style":8786},[624],"height:2.75em;",[400,8788,8790,8793,8797],{"className":8789},[421,632],[400,8791,448],{"className":8792,"style":447},[421,422,632],[400,8794,8796],{"className":8795},[1008,632],"∈",[400,8798,8800],{"className":8799},[421,3257,632],[400,8801,8803],{"className":8802},[421,632],"dict",[400,8805,8807,8810],{"style":8806},"top:-2.3128em;",[400,8808],{"className":8809,"style":8786},[624],[400,8811,8813,8816,8819,8822,8825,8829,8832,8835,8838,8841,8844,8848,8851,8854,8857,8860],{"className":8812},[421,632],[400,8814,8614],{"className":8815},[421,422,632],[400,8817,900],{"className":8818},[428,632],[400,8820,8331],{"className":8821,"style":8330},[421,422,632],[400,8823,1261],{"className":8824},[1260,632],[400,8826,8828],{"className":8827},[421,632],"∣",[400,8830,448],{"className":8831,"style":447},[421,422,632],[400,8833,8828],{"className":8834},[421,632],[400,8836,1542],{"className":8837},[1260,632],[400,8839,636],{"className":8840},[421,632],[400,8842],{"className":8843,"style":1414},[442,632],[400,8845,8847],{"className":8846},[421,632],"..",[400,8849],{"className":8850,"style":1414},[442,632],[400,8852,8331],{"className":8853,"style":8330},[421,422,632],[400,8855,907],{"className":8856},[452,632],[400,8858,1365],{"className":8859},[1008,632],[400,8861,448],{"className":8862,"style":447},[421,422,632],[400,8864,641],{"className":8865},[640],[400,8867,8869],{"className":8868},[612],[400,8870,8873],{"className":8871,"style":8872},[616],"height:0.6872em;",[400,8874],{},[400,8876,8878,8881],{"style":8877},"top:-3.05em;",[400,8879],{"className":8880,"style":8753},[624],[400,8882,8883],{},[400,8884,8887],{"className":8885},[968,5311,8886],"large-op","⋁",[400,8889,641],{"className":8890},[640],[400,8892,8894],{"className":8893},[612],[400,8895,8898],{"className":8896,"style":8897},[616],"height:2.1281em;",[400,8899],{},[400,8901],{"className":8902,"style":443},[442],[400,8904,8646],{"className":8905,"style":8645},[421,422],[400,8907,900],{"className":8908},[428],[400,8910,8331],{"className":8911,"style":8330},[421,422],[400,8913],{"className":8914,"style":1256},[442],[400,8916,1261],{"className":8917},[1260],[400,8919],{"className":8920,"style":1256},[442],[400,8922,8924,8927,8930,8933,8936,8939,8942,8945,8948,8951,8954,8957,8960,8963,8966],{"className":8923},[412],[400,8925],{"className":8926,"style":417},[416],[400,8928,8828],{"className":8929},[421],[400,8931,448],{"className":8932,"style":447},[421,422],[400,8934,8828],{"className":8935},[421],[400,8937,907],{"className":8938},[452],[400,8940,438],{"className":8941},[437],[400,8943],{"className":8944,"style":1631},[442],[400,8946],{"className":8947,"style":443},[442],[400,8949,8646],{"className":8950,"style":8645},[421,422],[400,8952,900],{"className":8953},[428],[400,8955,1644],{"className":8956},[421],[400,8958,907],{"className":8959},[452],[400,8961],{"className":8962,"style":1162},[442],[400,8964,1365],{"className":8965},[1008],[400,8967],{"className":8968,"style":1162},[442],[400,8970,8972,8976,8982],{"className":8971},[412],[400,8973],{"className":8974,"style":8975},[416],"height:0.6151em;",[400,8977,8979],{"className":8978},[421,3257],[400,8980,408],{"className":8981},[421],[400,8983,869],{"className":8984},[421],[381,8986,8987,8988,8991,8992,9009,9010,9025,9026,9041,9042,562,9044,9065,9066,9106,9107,9131,9132,869],{},"It is the ",[390,8989,8990],{},"boolean"," (",[400,8993,8995],{"className":8994},[403],[400,8996,8998],{"className":8997,"ariaHidden":408},[407],[400,8999,9001,9005],{"className":9000},[412],[400,9002],{"className":9003,"style":9004},[416],"height:0.5556em;",[400,9006,9008],{"className":9007},[421],"∨",") flavor, like subset-sum was to knapsack, where a word\n",[400,9011,9013],{"className":9012},[403],[400,9014,9016],{"className":9015,"ariaHidden":408},[407],[400,9017,9019,9022],{"className":9018},[412],[400,9020],{"className":9021,"style":575},[416],[400,9023,448],{"className":9024,"style":447},[421,422]," ending at position ",[400,9027,9029],{"className":9028},[403],[400,9030,9032],{"className":9031,"ariaHidden":408},[407],[400,9033,9035,9038],{"className":9034},[412],[400,9036],{"className":9037,"style":8669},[416],[400,9039,8331],{"className":9040,"style":8330},[421,422]," plays the role of a coin of ",[395,9043,4680],{},[400,9045,9047],{"className":9046},[403],[400,9048,9050],{"className":9049,"ariaHidden":408},[407],[400,9051,9053,9056,9059,9062],{"className":9052},[412],[400,9054],{"className":9055,"style":417},[416],[400,9057,8828],{"className":9058},[421],[400,9060,448],{"className":9061,"style":447},[421,422],[400,9063,8828],{"className":9064},[421]," landing the\nprefix on the earlier boundary ",[400,9067,9069],{"className":9068},[403],[400,9070,9072,9091],{"className":9071,"ariaHidden":408},[407],[400,9073,9075,9079,9082,9085,9088],{"className":9074},[412],[400,9076],{"className":9077,"style":9078},[416],"height:0.7778em;vertical-align:-0.0833em;",[400,9080,8331],{"className":9081,"style":8330},[421,422],[400,9083],{"className":9084,"style":1256},[442],[400,9086,1261],{"className":9087},[1260],[400,9089],{"className":9090,"style":1256},[442],[400,9092,9094,9097,9100,9103],{"className":9093},[412],[400,9095],{"className":9096,"style":417},[416],[400,9098,8828],{"className":9099},[421],[400,9101,448],{"className":9102,"style":447},[421,422],[400,9104,8828],{"className":9105},[421],". The empty prefix ",[400,9108,9110],{"className":9109},[403],[400,9111,9113],{"className":9112,"ariaHidden":408},[407],[400,9114,9116,9119,9122,9125,9128],{"className":9115},[412],[400,9117],{"className":9118,"style":417},[416],[400,9120,8646],{"className":9121,"style":8645},[421,422],[400,9123,900],{"className":9124},[428],[400,9126,1644],{"className":9127},[421],[400,9129,907],{"className":9130},[452]," is the\nalways-reachable base, exactly like ",[400,9133,9135],{"className":9134},[403],[400,9136,9138,9165],{"className":9137,"ariaHidden":408},[407],[400,9139,9141,9144,9147,9150,9153,9156,9159,9162],{"className":9140},[412],[400,9142],{"className":9143,"style":417},[416],[400,9145,2876],{"className":9146,"style":423},[421,422],[400,9148,900],{"className":9149},[428],[400,9151,1644],{"className":9152},[421],[400,9154,907],{"className":9155},[452],[400,9157],{"className":9158,"style":1162},[442],[400,9160,1365],{"className":9161},[1008],[400,9163],{"className":9164,"style":1162},[442],[400,9166,9168,9171],{"className":9167},[412],[400,9169],{"className":9170,"style":1663},[416],[400,9172,1644],{"className":9173},[421],[549,9175,9177],{"id":9176},"takeaways","Takeaways",[5456,9179,9180,9553,9651,9901,9923,10048],{},[5459,9181,9182,9185,9186,9189,9190,9214,9215,9469,9470,9494,9495,9519,9520,869],{},[477,9183,9184],{},"Unbounded knapsack"," lets each item be used ",[390,9187,9188],{},"any number of times",". That single\nchange deletes the item dimension: the subproblem ",[400,9191,9193],{"className":9192},[403],[400,9194,9196],{"className":9195,"ariaHidden":408},[407],[400,9197,9199,9202,9205,9208,9211],{"className":9198},[412],[400,9200],{"className":9201,"style":417},[416],[400,9203,424],{"className":9204,"style":423},[421,422],[400,9206,900],{"className":9207},[428],[400,9209,448],{"className":9210,"style":447},[421,422],[400,9212,907],{"className":9213},[452]," depends only on remaining\ncapacity, giving the 1-D recurrence ",[400,9216,9218],{"className":9217},[403],[400,9219,9221,9248,9396,9420],{"className":9220,"ariaHidden":408},[407],[400,9222,9224,9227,9230,9233,9236,9239,9242,9245],{"className":9223},[412],[400,9225],{"className":9226,"style":417},[416],[400,9228,424],{"className":9229,"style":423},[421,422],[400,9231,900],{"className":9232},[428],[400,9234,448],{"className":9235,"style":447},[421,422],[400,9237,907],{"className":9238},[452],[400,9240],{"className":9241,"style":1162},[442],[400,9243,1365],{"className":9244},[1008],[400,9246],{"className":9247,"style":1162},[442],[400,9249,9251,9255,9344,9347,9387,9390,9393],{"className":9250},[412],[400,9252],{"className":9253,"style":9254},[416],"height:1.0001em;vertical-align:-0.2501em;",[400,9256,9258,9264],{"className":9257},[968],[400,9259,9261],{"className":9260},[968],[400,9262,976],{"className":9263},[421,975],[400,9265,9267],{"className":9266},[603],[400,9268,9270,9336],{"className":9269},[607,608],[400,9271,9273,9333],{"className":9272},[612],[400,9274,9276],{"className":9275,"style":3127},[616],[400,9277,9278,9281],{"style":992},[400,9279],{"className":9280,"style":625},[624],[400,9282,9284],{"className":9283},[629,630,631,632],[400,9285,9287,9327,9330],{"className":9286},[421,632],[400,9288,9290,9293],{"className":9289},[421,632],[400,9291,448],{"className":9292,"style":447},[421,422,632],[400,9294,9296],{"className":9295},[603],[400,9297,9299,9319],{"className":9298},[607,608],[400,9300,9302,9316],{"className":9301},[612],[400,9303,9305],{"className":9304,"style":1439},[616],[400,9306,9307,9310],{"style":1442},[400,9308],{"className":9309,"style":1446},[624],[400,9311,9313],{"className":9312},[629,1450,1451,632],[400,9314,433],{"className":9315},[421,422,632],[400,9317,641],{"className":9318},[640],[400,9320,9322],{"className":9321},[612],[400,9323,9325],{"className":9324,"style":1464},[616],[400,9326],{},[400,9328,1009],{"className":9329},[1008,632],[400,9331,448],{"className":9332,"style":447},[421,422,632],[400,9334,641],{"className":9335},[640],[400,9337,9339],{"className":9338},[612],[400,9340,9342],{"className":9341,"style":1482},[616],[400,9343],{},[400,9345,429],{"className":9346},[428],[400,9348,9350,9353],{"className":9349},[421],[400,9351,732],{"className":9352,"style":731},[421,422],[400,9354,9356],{"className":9355},[603],[400,9357,9359,9379],{"className":9358},[607,608],[400,9360,9362,9376],{"className":9361},[612],[400,9363,9365],{"className":9364,"style":1136},[616],[400,9366,9367,9370],{"style":747},[400,9368],{"className":9369,"style":625},[624],[400,9371,9373],{"className":9372},[629,630,631,632],[400,9374,433],{"className":9375},[421,422,632],[400,9377,641],{"className":9378},[640],[400,9380,9382],{"className":9381},[612],[400,9383,9385],{"className":9384,"style":648},[616],[400,9386],{},[400,9388],{"className":9389,"style":1256},[442],[400,9391,1542],{"className":9392},[1260],[400,9394],{"className":9395,"style":1256},[442],[400,9397,9399,9402,9405,9408,9411,9414,9417],{"className":9398},[412],[400,9400],{"className":9401,"style":417},[416],[400,9403,424],{"className":9404,"style":423},[421,422],[400,9406,900],{"className":9407},[428],[400,9409,448],{"className":9410,"style":447},[421,422],[400,9412],{"className":9413,"style":1256},[442],[400,9415,1261],{"className":9416},[1260],[400,9418],{"className":9419,"style":1256},[442],[400,9421,9423,9426,9466],{"className":9422},[412],[400,9424],{"className":9425,"style":417},[416],[400,9427,9429,9432],{"className":9428},[421],[400,9430,448],{"className":9431,"style":447},[421,422],[400,9433,9435],{"className":9434},[603],[400,9436,9438,9458],{"className":9437},[607,608],[400,9439,9441,9455],{"className":9440},[612],[400,9442,9444],{"className":9443,"style":1136},[616],[400,9445,9446,9449],{"style":620},[400,9447],{"className":9448,"style":625},[624],[400,9450,9452],{"className":9451},[629,630,631,632],[400,9453,433],{"className":9454},[421,422,632],[400,9456,641],{"className":9457},[640],[400,9459,9461],{"className":9460},[612],[400,9462,9464],{"className":9463,"style":648},[616],[400,9465],{},[400,9467,4401],{"className":9468},[452]," in\n",[400,9471,9473],{"className":9472},[403],[400,9474,9476],{"className":9475,"ariaHidden":408},[407],[400,9477,9479,9482,9485,9488,9491],{"className":9478},[412],[400,9480],{"className":9481,"style":417},[416],[400,9483,2641],{"className":9484},[421],[400,9486,429],{"className":9487},[428],[400,9489,2648],{"className":9490,"style":843},[421,422],[400,9492,453],{"className":9493},[452]," time and ",[400,9496,9498],{"className":9497},[403],[400,9499,9501],{"className":9500,"ariaHidden":408},[407],[400,9502,9504,9507,9510,9513,9516],{"className":9503},[412],[400,9505],{"className":9506,"style":417},[416],[400,9508,2641],{"className":9509},[421],[400,9511,429],{"className":9512},[428],[400,9514,844],{"className":9515,"style":843},[421,422],[400,9517,453],{"className":9518},[452]," space, versus 0\u002F1 knapsack's 2-D ",[400,9521,9523],{"className":9522},[403],[400,9524,9526],{"className":9525,"ariaHidden":408},[407],[400,9527,9529,9532,9535,9538,9541,9544,9547,9550],{"className":9528},[412],[400,9530],{"className":9531,"style":417},[416],[400,9533,424],{"className":9534,"style":423},[421,422],[400,9536,429],{"className":9537},[428],[400,9539,433],{"className":9540},[421,422],[400,9542,438],{"className":9543},[437],[400,9545],{"className":9546,"style":443},[442],[400,9548,448],{"className":9549,"style":447},[421,422],[400,9551,453],{"className":9552},[452],[5459,9554,9555,9556,9635,9636,9638,9639,9642,9643,9646,9647,9650],{},"The include branch reads ",[400,9557,9559],{"className":9558},[403],[400,9560,9562,9586],{"className":9561,"ariaHidden":408},[407],[400,9563,9565,9568,9571,9574,9577,9580,9583],{"className":9564},[412],[400,9566],{"className":9567,"style":417},[416],[400,9569,424],{"className":9570,"style":423},[421,422],[400,9572,900],{"className":9573},[428],[400,9575,448],{"className":9576,"style":447},[421,422],[400,9578],{"className":9579,"style":1256},[442],[400,9581,1261],{"className":9582},[1260],[400,9584],{"className":9585,"style":1256},[442],[400,9587,9589,9592,9632],{"className":9588},[412],[400,9590],{"className":9591,"style":417},[416],[400,9593,9595,9598],{"className":9594},[421],[400,9596,448],{"className":9597,"style":447},[421,422],[400,9599,9601],{"className":9600},[603],[400,9602,9604,9624],{"className":9603},[607,608],[400,9605,9607,9621],{"className":9606},[612],[400,9608,9610],{"className":9609,"style":1136},[616],[400,9611,9612,9615],{"style":620},[400,9613],{"className":9614,"style":625},[624],[400,9616,9618],{"className":9617},[629,630,631,632],[400,9619,433],{"className":9620},[421,422,632],[400,9622,641],{"className":9623},[640],[400,9625,9627],{"className":9626},[612],[400,9628,9630],{"className":9629,"style":648},[616],[400,9631],{},[400,9633,907],{"className":9634},[452]," at the ",[477,9637,2054],{}," item-availability (not the\nprevious row), so we sweep weight ",[477,9640,9641],{},"ascending"," to ",[390,9644,9645],{},"permit"," reuse, the exact\nopposite of 0\u002F1's descending sweep, which ",[390,9648,9649],{},"forbids"," it.",[5459,9652,9653,9656,9657,9675,9676,6869,9818,6869,9860,9875,9876,9900],{},[477,9654,9655],{},"Coin change (min coins)"," is unbounded knapsack with unit values and a ",[400,9658,9660],{"className":9659},[403],[400,9661,9663],{"className":9662,"ariaHidden":408},[407],[400,9664,9666,9669],{"className":9665},[412],[400,9667],{"className":9668,"style":3425},[416],[400,9670,9672],{"className":9671},[968],[400,9673,3114],{"className":9674},[421,975],"\nobjective: ",[400,9677,9679],{"className":9678},[403],[400,9680,9682,9709,9727,9806],{"className":9681,"ariaHidden":408},[407],[400,9683,9685,9688,9691,9694,9697,9700,9703,9706],{"className":9684},[412],[400,9686],{"className":9687,"style":417},[416],[400,9689,2876],{"className":9690,"style":423},[421,422],[400,9692,900],{"className":9693},[428],[400,9695,385],{"className":9696},[421,422],[400,9698,907],{"className":9699},[452],[400,9701],{"className":9702,"style":1162},[442],[400,9704,1365],{"className":9705},[1008],[400,9707],{"className":9708,"style":1162},[442],[400,9710,9712,9715,9718,9721,9724],{"className":9711},[412],[400,9713],{"className":9714,"style":3380},[416],[400,9716,636],{"className":9717},[421],[400,9719],{"className":9720,"style":1256},[442],[400,9722,1542],{"className":9723},[1260],[400,9725],{"className":9726,"style":1256},[442],[400,9728,9730,9733,9785,9788,9791,9794,9797,9800,9803],{"className":9729},[412],[400,9731],{"className":9732,"style":417},[416],[400,9734,9736,9742],{"className":9735},[968],[400,9737,9739],{"className":9738},[968],[400,9740,3114],{"className":9741},[421,975],[400,9743,9745],{"className":9744},[603],[400,9746,9748,9777],{"className":9747},[607,608],[400,9749,9751,9774],{"className":9750},[612],[400,9752,9754],{"className":9753,"style":3127},[616],[400,9755,9756,9759],{"style":992},[400,9757],{"className":9758,"style":625},[624],[400,9760,9762],{"className":9761},[629,630,631,632],[400,9763,9765,9768,9771],{"className":9764},[421,632],[400,9766,2708],{"className":9767},[421,422,632],[400,9769,1009],{"className":9770},[1008,632],[400,9772,385],{"className":9773},[421,422,632],[400,9775,641],{"className":9776},[640],[400,9778,9780],{"className":9779},[612],[400,9781,9783],{"className":9782,"style":1022},[616],[400,9784],{},[400,9786],{"className":9787,"style":443},[442],[400,9789,2876],{"className":9790,"style":423},[421,422],[400,9792,900],{"className":9793},[428],[400,9795,385],{"className":9796},[421,422],[400,9798],{"className":9799,"style":1256},[442],[400,9801,1261],{"className":9802},[1260],[400,9804],{"className":9805,"style":1256},[442],[400,9807,9809,9812,9815],{"className":9808},[412],[400,9810],{"className":9811,"style":417},[416],[400,9813,2708],{"className":9814},[421,422],[400,9816,907],{"className":9817},[452],[400,9819,9821],{"className":9820},[403],[400,9822,9824,9851],{"className":9823,"ariaHidden":408},[407],[400,9825,9827,9830,9833,9836,9839,9842,9845,9848],{"className":9826},[412],[400,9828],{"className":9829,"style":417},[416],[400,9831,2876],{"className":9832,"style":423},[421,422],[400,9834,900],{"className":9835},[428],[400,9837,1644],{"className":9838},[421],[400,9840,907],{"className":9841},[452],[400,9843],{"className":9844,"style":1162},[442],[400,9846,1365],{"className":9847},[1008],[400,9849],{"className":9850,"style":1162},[442],[400,9852,9854,9857],{"className":9853},[412],[400,9855],{"className":9856,"style":1663},[416],[400,9858,1644],{"className":9859},[421],[400,9861,9863],{"className":9862},[403],[400,9864,9866],{"className":9865,"ariaHidden":408},[407],[400,9867,9869,9872],{"className":9868},[412],[400,9870],{"className":9871,"style":575},[416],[400,9873,3216],{"className":9874},[421]," if\nunreachable; a ",[400,9877,9879],{"className":9878},[403],[400,9880,9882],{"className":9881,"ariaHidden":408},[407],[400,9883,9885,9888,9891,9894,9897],{"className":9884},[412],[400,9886],{"className":9887,"style":593},[416],[400,9889,381],{"className":9890},[421,422],[400,9892,4760],{"className":9893,"style":4759},[421,422],[400,9895,4764],{"className":9896},[421,422],[400,9898,732],{"className":9899,"style":731},[421,422]," array reconstructs the coins.",[5459,9902,9903,9906,9907,4284,9910,6221,9913,9916,9917,6221,9920,9922],{},[477,9904,9905],{},"Counting"," ways is governed by ",[477,9908,9909],{},"loop order",[390,9911,9912],{},"coins outer, amount inner",[477,9914,9915],{},"unordered combinations"," (Coin Change II); ",[390,9918,9919],{},"amount outer, coins inner",[477,9921,5481],{}," (Combination Sum IV). Same code, different question: the\nclassic bug.",[5459,9924,9925,9927,9928,7350,9967,9982,9983,10016,10017,10041,10042,10044,10045,10047],{},[477,9926,218],{}," (largest coin first) fails in general (",[400,9929,9931],{"className":9930},[403],[400,9932,9934],{"className":9933,"ariaHidden":408},[407],[400,9935,9937,9940,9943,9946,9949,9952,9955,9958,9961,9964],{"className":9936},[412],[400,9938],{"className":9939,"style":417},[416],[400,9941,4145],{"className":9942},[428],[400,9944,636],{"className":9945},[421],[400,9947,438],{"className":9948},[437],[400,9950],{"className":9951,"style":443},[442],[400,9953,4125],{"className":9954},[421],[400,9956,438],{"className":9957},[437],[400,9959],{"className":9960,"style":443},[442],[400,9962,4167],{"className":9963},[421],[400,9965,4171],{"className":9966},[452],[400,9968,9970],{"className":9969},[403],[400,9971,9973],{"className":9972,"ariaHidden":408},[407],[400,9974,9976,9979],{"className":9975},[412],[400,9977],{"className":9978,"style":1663},[416],[400,9980,4306],{"className":9981},[421],": greedy\n",[400,9984,9986],{"className":9985},[403],[400,9987,9989],{"className":9988,"ariaHidden":408},[407],[400,9990,9992,9995,9998,10004,10007,10013],{"className":9991},[412],[400,9993],{"className":9994,"style":3380},[416],[400,9996,4167],{"className":9997},[421],[400,9999,10001],{"className":10000},[421],[400,10002,1542],{"className":10003},[421],[400,10005,636],{"className":10006},[421],[400,10008,10010],{"className":10009},[421],[400,10011,1542],{"className":10012},[421],[400,10014,636],{"className":10015},[421],", optimal ",[400,10018,10020],{"className":10019},[403],[400,10021,10023],{"className":10022,"ariaHidden":408},[407],[400,10024,10026,10029,10032,10038],{"className":10025},[412],[400,10027],{"className":10028,"style":3380},[416],[400,10030,4125],{"className":10031},[421],[400,10033,10035],{"className":10034},[421],[400,10036,1542],{"className":10037},[421],[400,10039,4125],{"className":10040},[421],") but is correct for ",[477,10043,7947],{}," systems like\nstandard currency; the DP is correct for ",[390,10046,8140],{}," denominations.",[5459,10049,10050,10052,10053,10055],{},[477,10051,8177],{}," (squares as coins) and ",[477,10054,8597],{}," (dictionary words as\ncoins over string prefixes) are the same unbounded-DP shape.",[10057,10058,10061,10066],"section",{"className":10059,"dataFootnotes":376},[10060],"footnotes",[549,10062,10065],{"className":10063,"id":4704},[10064],"sr-only","Footnotes",[10067,10068,10069,10111,10123],"ol",{},[5459,10070,10072,10075,10076,10103,10104],{"id":10071},"user-content-fn-skiena-coin",[477,10073,10074],{},"Skiena",", § — Knapsack \u002F Coin Change: making change as unbounded knapsack, ",[400,10077,10079],{"className":10078},[403],[400,10080,10082],{"className":10081,"ariaHidden":408},[407],[400,10083,10085,10088,10091,10094,10097,10100],{"className":10084},[412],[400,10086],{"className":10087,"style":417},[416],[400,10089,2641],{"className":10090},[421],[400,10092,429],{"className":10093},[428],[400,10095,579],{"className":10096},[421,422],[400,10098,2818],{"className":10099},[421,422],[400,10101,453],{"className":10102},[452]," and pseudo-polynomial in the amount. ",[385,10105,10110],{"href":10106,"ariaLabel":10107,"className":10108,"dataFootnoteBackref":376},"#user-content-fnref-skiena-coin","Back to reference 1",[10109],"data-footnote-backref","↩",[5459,10112,10114,10117,10118],{"id":10113},"user-content-fn-cs-loop",[477,10115,10116],{},"Erickson",", Ch. — Dynamic Programming: combinations vs. compositions and how the nesting of the item and target loops selects between unordered and ordered counts. ",[385,10119,10110],{"href":10120,"ariaLabel":10121,"className":10122,"dataFootnoteBackref":376},"#user-content-fnref-cs-loop","Back to reference 2",[10109],[5459,10124,10126,10128,10129],{"id":10125},"user-content-fn-skiena-greedy",[477,10127,10074],{},", § — Knapsack \u002F Coin Change: greedy change-making is optimal only for canonical denomination systems; the DP is correct for arbitrary coins. ",[385,10130,10110],{"href":10131,"ariaLabel":10132,"className":10133,"dataFootnoteBackref":376},"#user-content-fnref-skiena-greedy","Back to reference 3",[10109],[10135,10136,10137],"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":10139},[10140,10141,10142,10145,10146,10147,10148],{"id":551,"depth":18,"text":552},{"id":2685,"depth":18,"text":2686},{"id":4964,"depth":18,"text":4965,"children":10143},[10144],{"id":6663,"depth":24,"text":6664},{"id":7501,"depth":18,"text":7502},{"id":8164,"depth":18,"text":8165},{"id":9176,"depth":18,"text":9177},{"id":4704,"depth":18,"text":10065},"The previous lesson solved 0\u002F1 knapsack, where each item is taken whole or left\nbehind, at most once. The 0\u002F1 in the name was the include\u002Fexclude bit on\nevery item, and it forced a two-dimensional table K(i,w): we had to remember\nwhich prefix of items was still on the table, because once item i was used it\ncould not be used again. Now relax exactly that constraint. Let every item be\navailable in unlimited supply, so the thief may pack as many copies of item\ni as fit. This is the unbounded knapsack problem, and the single change of\ninfinite copies does something surprising to the dynamic program: it erases one\nwhole dimension of the table.","md",{"moduleNumber":196,"lessonNumber":102,"order":10152},805,true,[10155,10159,10161,10164,10166],{"title":10156,"slug":10157,"difficulty":10158},"Coin Change","coin-change","Medium",{"title":4995,"slug":10160,"difficulty":10158},"coin-change-ii",{"title":10162,"slug":10163,"difficulty":10158},"Combination Sum IV","combination-sum-iv",{"title":8177,"slug":10165,"difficulty":10158},"perfect-squares",{"title":8597,"slug":10167,"difficulty":10158},"word-break","---\ntitle: Coin Change & Unbounded Knapsack\nmodule: Dynamic Programming\nmoduleNumber: 8\nlessonNumber: 5\norder: 805\nsummary: >-\n  The previous lesson let each item be taken at most once. Drop that cap — items\n  may be reused _any number of times_ — and the 0\u002F1 knapsack collapses from a\n  two-dimensional table to a one-dimensional one, because there is no longer a\n  prefix of \"already-used\" items to track. We meet **unbounded knapsack**, then\n  its most famous instance, **coin change**: the minimum-coins recurrence\n  $C[a] = 1 + \\min_c C[a-c]$, and the counting variant where the _order of the\n  loops_ decides whether you count unordered combinations or ordered sequences —\n  the classic bug. Greed fails in general but works for canonical coin systems.\ntopics: [Dynamic Programming]\nsources:\n  - book: CLRS\n    ref: \"Ch. 15 — Dynamic Programming\"\n  - book: Skiena\n    ref: \"§ — Knapsack \u002F Coin Change\"\n  - book: Erickson\n    ref: \"Ch. — Dynamic Programming\"\npractice:\n  - title: 'Coin Change'\n    slug: coin-change\n    difficulty: Medium\n  - title: 'Coin Change II'\n    slug: coin-change-ii\n    difficulty: Medium\n  - title: 'Combination Sum IV'\n    slug: combination-sum-iv\n    difficulty: Medium\n  - title: 'Perfect Squares'\n    slug: perfect-squares\n    difficulty: Medium\n  - title: 'Word Break'\n    slug: word-break\n    difficulty: Medium\n---\n\nThe previous lesson solved [0\u002F1 knapsack](\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack), where each item is taken whole or left\nbehind, _at most once_. The \"0\u002F1\" in the name was the include\u002Fexclude bit on\nevery item, and it forced a two-dimensional table $K(i, w)$: we had to remember\n_which prefix of items_ was still on the table, because once item $i$ was used it\ncould not be used again. Now relax exactly that constraint. Let every item be\navailable in **unlimited supply**, so the thief may pack as many copies of item\n$i$ as fit. This is the **unbounded knapsack problem**, and the single change of\ninfinite copies does something surprising to the [dynamic program](\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples): it erases one\nwhole dimension of the table.\n\nIn 0\u002F1 knapsack the second index $i$ existed to stop us from reusing an\nitem; \"have I already taken item $i$?\" was genuine state. When items may be\nreused without limit, that question is meaningless (the set of available items\nnever shrinks), so the only thing a subproblem needs to remember is **how much\ncapacity is left**. One number, one dimension.\n\n## Unbounded knapsack: one dimension instead of two\n\n> **Input:** $n$ item types with positive integer weights $w_1, \\dots, w_n$ and\n> values $v_1, \\dots, v_n$, an integer capacity $W$, and an _unlimited_ supply of\n> each type.\n> **Output:** the maximum total value of a multiset of items whose weights sum to\n> at most $W$.\n\nDefine the subproblem on capacity alone:\n\n> **Definition (Knapsack value).** Let $K[w]$ be the maximum value achievable with weight budget exactly $w$, using\n> any number of copies of any item type.\n\nThe answer is $K[W]$ (or $\\max_{w \\le W} K[w]$ if we want \"at most $W$\"; padding\nwith a zero-value, weight-one item makes them equal). To fill $K[w]$, consider the\n**last item placed** into the knapsack. It is some type $i$ with $w_i \\le w$; after\nplacing it we have value $v_i$ plus the best we can do with the _remaining_ budget\n$w - w_i$, and crucially that remaining budget may use type $i$ **again**:\n$$\nK[w] = \\max_{i\\,:\\,w_i \\le w}\\ \\bigl(v_i + K[w - w_i]\\bigr),\n\\qquad K[0] = 0.\n$$\n\nStare at the right-hand side and compare it to 0\u002F1 knapsack's\n$\\max\\bigl(K(i-1,w),\\ v_i + K(i-1, w-w_i)\\bigr)$. There the include branch read\n$K(i-1, \\cdot)$, the previous row, item $i$ _removed from the pool_. Here the\ninclude branch reads $K[w - w_i]$, the **same** $K$, item $i$ _still in the pool_.\nThat one difference is the whole distinction between \"use once\" and \"use any number\nof times.\"\n\n> **Remark (Why the loop order differs from 0\u002F1 knapsack).** In the space-optimized 0\u002F1\n> version we kept a single array $K[\\cdot]$ and swept the budget _downward_\n> ($w = W, \\dots, 0$) precisely so that $K[w - w_i]$ still held the _previous_\n> row's value, the value _before_ item $i$ was available, guaranteeing each item\n> was used at most once. For unbounded knapsack we want the opposite: $K[w - w_i]$\n> should already reflect item $i$ being usable. So we sweep the budget _upward_\n> ($w = 0, \\dots, W$); by the time we reach $w$, the cell $K[w - w_i]$ has already\n> been updated _in this same pass_ and may itself contain a copy of item $i$.\n> Ascending weight is what permits reuse.\n\nBecause the available-item set never changes, the item loop and the weight loop\nmay be nested in either order; there is no \"previous row\" to respect, only the\nascending-weight rule. We fill $W + 1$ cells, each scanning up to $n$ items:\n\n$$\n\\Theta(nW)\n$$\n\ntime, the same as 0\u002F1 knapsack, but in $\\Theta(W)$ **space**: one array, no second\ndimension to collapse.\n\n## Coin change — minimum coins\n\nThe cleanest instance of unbounded knapsack strips the values away, just as\nsubset-sum stripped them from 0\u002F1 knapsack. Fix a set of coin denominations\n$c_1, \\dots, c_n$, available in unlimited supply, and an amount $A$. Ask: **what is\nthe fewest coins that sum to exactly $A$?**\n\nThis is unbounded knapsack with every item's value set to $1$ (one coin) and the\nobjective flipped to _minimize_: we want the smallest count, not the largest\nvalue. Let $C[a]$ be the minimum number of coins summing to amount $a$:\n\n$$\nC[a] =\n\\begin{cases}\n0 & \\text{if } a = 0, \\\\[3pt]\n1 + \\displaystyle\\min_{c\\,:\\,c \\le a}\\ C[a - c] & \\text{if } a > 0, \\\\[3pt]\n+\\infty & \\text{if no } c \\le a \\text{ reaches a finite value.}\n\\end{cases}\n$$\n\nThe $1 + (\\cdots)$ pays for the coin we just placed; the $\\min$ over denominations\n$c \\le a$ picks the best amount to reach the shortfall $a - c$. An amount that no\ncombination of coins can hit keeps the sentinel value $+\\infty$, which propagates:\nif every $C[a-c]$ is $\\infty$ then so is $C[a]$. The figure below shows the 1-D table\nfilling left to right, each cell reaching back $c$ positions for each denomination.\n\n$$\n% caption: The 1-D coin-change table fills left to right; cell $C[a]$ reads back $c$\n%          positions for coin $c$, taking $1 + C[a-c]$ (the highlighted transition uses\n%          coin $c=3$).\n\\begin{tikzpicture}[\n  >=Stealth,\n  cell\u002F.style={draw, minimum size=9mm, inner sep=1pt, font=\\small},\n  lbl\u002F.style={draw=none, font=\\footnotesize}]\n  \\definecolor{acc}{HTML}{2348F2}\n  % amount header\n  \\foreach \\a in {0,...,6} { \\node[lbl] at (\\a,0.7) {$a{=}\\a$}; }\n  % cells C[0..6] for coins {1,3,4}, values 0 1 2 1 1 2 2\n  \\node[cell] at (0,0) {$0$};\n  \\node[cell] at (1,0) {$1$};\n  \\node[cell] at (2,0) {$2$};\n  \\node[cell] (src) at (3,0) {$1$};\n  \\node[cell] at (4,0) {$1$};\n  \\node[cell] at (5,0) {$2$};\n  \\node[cell, fill=acc!18] (dst) at (6,0) {$2$};\n  \\node[lbl] at (-1.1,0) {$C[a]$};\n  % transition arrow C[6] \u003C- 1 + C[3] using coin c=3\n  \\draw[->, thick, red!75!black] (src.south) to[bend right=38] node[below, draw=none, font=\\footnotesize, red!75!black] {$+1$ coin $c{=}3$} (dst.south);\n  \\node[lbl, anchor=south, align=center, fill=white, inner sep=1.5pt] at (6,1.5) {$C[6]$\\\\$={}1{+}C[3]$};\n\\end{tikzpicture}\n$$\n\nWith coins $\\{1, 3, 4\\}$ the table reads $C = [0,1,2,1,1,2,2]$ for amounts\n$0..6$: $C[6] = 1 + \\min(C[5], C[3], C[2]) = 1 + \\min(2, 1, 2) = 2$, achieved by\n$3 + 3$ (the highlighted transition): two coins, not the three a careless greedy\npick would take.\n\n```algorithm\ncaption: $\\textsc{Min-Coins}(c[1..n], A)$ — fewest coins summing to amount $A$\nnumber: 1\n$C[0] \\gets 0$\nfor $a \\gets 1$ to $A$ do\n  $C[a] \\gets +\\infty$ \u002F\u002F unreachable so far\n  $prev[a] \\gets \\text{nil}$\n  for $i \\gets 1$ to $n$ do\n    if $c[i] \\le a$ and $C[a - c[i]] + 1 \u003C C[a]$ then\n      $C[a] \\gets C[a - c[i]] + 1$\n      $prev[a] \\gets c[i]$ \u002F\u002F coin that closed the gap\nreturn $C[A]$ \u002F\u002F $+\\infty$: $A$ unreachable\n```\n\nThe outer loop runs over $A$ amounts and the inner over $n$ coins, so the running\ntime is $\\Theta(nA)$ in $\\Theta(A)$ space, [pseudo-polynomial](\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis) in exactly the sense\nof the previous lesson: polynomial in the numeric _value_ $A$ but exponential in\nits bit length.[^skiena-coin]\n\n**Reconstruction.** The value $C[A]$ is the coin _count_; the coins themselves come\nfrom the $prev$ array. Starting at $a = A$, the denomination $prev[a]$ is the last\ncoin used, so emit it and jump to $a - prev[a]$; repeat until $a = 0$.\n\n```algorithm\ncaption: $\\textsc{Recover-Coins}(prev, A)$ — list the coins of an optimal solution\nnumber: 2\n$a \\gets A$;  $S \\gets \\langle\\,\\rangle$\nwhile $a > 0$ do\n  $S \\gets S \\cup \\set{prev[a]}$ \u002F\u002F coin that closed $a$\n  $a \\gets a - prev[a]$\nreturn $S$\n```\n\n## Coin change — counting combinations\n\nA different question on the same coins: not _how few_ coins, but _how many distinct\nways_ to make amount $A$. This is **Coin Change II**, and it counts **multisets** of\ncoins. $\\{1,1,1,1\\}$ and $\\{1,3\\}$ are two ways to make $4$, but $\\{1,3\\}$ and\n$\\{3,1\\}$ are the _same_ way, because a multiset has no order. Let $N[a]$ be the\nnumber of such combinations summing to $a$, with $N[0] = 1$ (the empty multiset is\nthe one way to make $0$).\n\nThe naive recurrence \"$N[a] = \\sum_{c \\le a} N[a-c]$\" is **wrong** for combinations;\nit counts $1{+}3$ and $3{+}1$ separately. The fix is structural and is the most\nfamous loop-order subtlety in dynamic programming.\n\n> **Remark (Loop order decides what you count).**\n> - **Coins outer, amount inner** — process one denomination at a time, folding all\n>   of its copies into the table before moving to the next coin — counts **unordered\n>   combinations** (multisets). This is Coin Change II.\n> - **Amount outer, coins inner** — at each amount, sum over every coin that could\n>   come _last_ — counts **ordered sequences** (compositions). This is Combination\n>   Sum IV.[^cs-loop]\n\nWhy does coins-outer kill the double-count? Because each denomination is introduced\nexactly once and never revisited, every multiset is built in a _fixed canonical\norder_ of denominations (coin $c_1$ first, then $c_2$, and so on), so each multiset\nis reached by exactly one path through the loops. The amount-outer loop, by\ncontrast, re-asks \"which coin is last?\" at every amount, so the same multiset is\ncounted once for each ordering of its coins.\n\n$$\n% caption: Coins-outer combination fill for $\\{1,2\\}$. After folding in coin $1$ every\n%          amount has one way (all ones); folding in coin $2$ adds\n%          $N[a] \\mathrel{+}= N[a-2]$, giving $N[3]=2$ without ever double-counting\n%          $1{+}2$ and $2{+}1$.\n\\begin{tikzpicture}[\n  >=Stealth,\n  cell\u002F.style={draw, minimum size=9mm, inner sep=1pt, font=\\small},\n  upd\u002F.style={cell, fill=acc!18},\n  lbl\u002F.style={draw=none, font=\\footnotesize}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node[lbl] at (-2.1,0) {after coin $1$};\n  \\foreach \\v\u002F\\x in {1\u002F0,1\u002F1,1\u002F2,1\u002F3} { \\node[cell] (a\\x) at (\\x,0) {$\\v$}; }\n  \\foreach \\x in {0,...,3} { \\node[lbl] at (\\x,0.72) {$a{=}\\x$}; }\n  \\node[lbl] at (-2.1,-2.3) {after coin $2$};\n  \\foreach \\v\u002F\\x\u002F\\s in {1\u002F0\u002Fcell,1\u002F1\u002Fcell,2\u002F2\u002Fupd,2\u002F3\u002Fupd} { \\node[\\s] (b\\x) at (\\x,-2.3) {$\\v$}; }\n  \\draw[->, thick, acc] (a0.south) to[bend right=20] (b2.north);\n  \\draw[->, thick, acc] (a1.south) to[bend right=20] (b3.north);\n  \\node[lbl, acc] at (3.7,-1.15) {$N[a]\\mathrel{+}=N[a{-}2]$};\n\\end{tikzpicture}\n$$\n\nBecause coin $2$ is introduced only after coin $1$ is fully folded in, each\nmultiset is built in the fixed order \"ones first, then twos,\" so $N[3]=2$ counts\n$\\{1,1,1\\}$ and $\\{1,2\\}$ once apiece and never sees a $2{+}1$.\n\n```algorithm\ncaption: $\\textsc{Count-Combinations}(c[1..n], A)$ — number of multisets summing to $A$\nnumber: 3\n$N[0..A] \\gets 0$;  $N[0] \\gets 1$\nfor $i \\gets 1$ to $n$ do          \u002F\u002F coins outer: combinations\n  for $a \\gets c[i]$ to $A$ do     \u002F\u002F amount inner, ascending: reuse\n    $N[a] \\gets N[a] + N[a - c[i]]$\nreturn $N[A]$\n```\n\nSwapping the two loops (`for a` outside, `for i` inside) computes\n$N[a] = \\sum_{i\\,:\\,c_i \\le a} N[a - c_i]$ instead, the **ordered** count (Combination\nSum IV), where $1{+}3$ and $3{+}1$ are distinct. Same body, same $\\Theta(nA)$ time;\nthe nesting alone flips the meaning.\n\n### A worked count: combinations vs sequences\n\nTake coins $\\{1, 2\\}$ and amount $A = 3$. As an unordered count the answers are\n$\\{1,1,1\\}$ and $\\{1,2\\}$: **two** combinations. As an ordered count we also\ndistinguish the arrangements of $\\{1,2\\}$, giving $1{+}1{+}1$, $1{+}2$, and $2{+}1$,\nfor **three** sequences. The figure traces both, and ties each to its loop order.\n\n$$\n% caption: Coins $\\{1,2\\}$, amount $3$: the multiset count (2, coins-outer loop) is less\n%          than the ordered count (3, amount-outer loop), because $1{+}2$ and $2{+}1$\n%          collapse to one combination.\n\\begin{tikzpicture}[\n  >=Stealth,\n  box\u002F.style={draw, rounded corners=1pt, minimum width=20mm, minimum height=6mm, font=\\small, inner sep=2pt},\n  hd\u002F.style={draw=none, font=\\small},\n  lbl\u002F.style={draw=none, font=\\footnotesize}]\n  \\definecolor{acc}{HTML}{2348F2}\n  % left column: combinations\n  \\node[hd] (h1) at (0,0) {combinations = 2};\n  \\node[lbl] at (0,-0.55) {coins outer, amount inner};\n  \\node[box] (a1) at (0,-1.3) {$\\{1,1,1\\}$};\n  \\node[box, fill=acc!18] (a2) at (0,-2.1) {$\\{1,2\\}$};\n  % right column: sequences\n  \\node[hd] (h2) at (4.6,0) {sequences = 3};\n  \\node[lbl] at (4.6,-0.55) {amount outer, coins inner};\n  \\node[box] (b1) at (4.6,-1.3) {$1{+}1{+}1$};\n  \\node[box, fill=acc!18] (b2) at (4.6,-2.1) {$1{+}2$};\n  \\node[box, fill=acc!18] (b3) at (4.6,-2.9) {$2{+}1$};\n  % the single combination {1,2} corresponds to two sequences\n  \\draw[->, thick, acc] (a2.east) -- (b2.west);\n  \\draw[->, thick, acc] (a2.east) -- (b3.west);\n  \\node[lbl, acc] at (2.3,-3.3) {one multiset $\\{1,2\\}\\;\\to\\;$ two orderings};\n\\end{tikzpicture}\n$$\n\nThe blue link makes the discrepancy concrete: the single combination $\\{1,2\\}$ on\nthe left explodes into the two ordered sequences $1{+}2$ and $2{+}1$ on the right.\nCounting the left column is the coins-outer loop; counting the right is amount-outer.\nPicking the wrong nesting silently answers the wrong question: no crash, just a\nwrong number, which is what makes it the classic bug.\n\n## Why greedy fails — and when it works\n\nCoin change has a seductive [greedy heuristic](\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method): repeatedly take the **largest coin\nthat fits**. For the U.S. currency system it always gives the minimum, which is why\ncashiers can make change without dynamic programming. But it is _not_ correct in\ngeneral. Take coins $\\{1, 3, 4\\}$ and amount $6$. Greedy grabs the $4$, then must\nfinish with $1 + 1$, for **three** coins, yet $3 + 3$ makes $6$ in **two**. The\nlargest-coin-first choice walked into a remainder ($2$) that the denominations\ncover badly, while a less greedy first step ($3$) left a remainder the coins cover\nperfectly.\n\n$$\n% caption: Greedy change-making fails on $\\{1,3,4\\}$ for amount $6$: largest-coin-first\n%          takes $4{+}1{+}1$ (three coins), while the DP optimum is $3{+}3$ (two coins).\n\\begin{tikzpicture}[\n  >=Stealth,\n  coin\u002F.style={draw, circle, minimum size=8mm, inner sep=0pt, font=\\small},\n  pick\u002F.style={coin, fill=acc!18},\n  lbl\u002F.style={draw=none, font=\\footnotesize}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node[lbl] at (-1.95,0) {greedy};\n  \\node[coin, fill=red!14] at (0,0) {$4$};\n  \\node[coin, fill=red!14] at (0.95,0) {$1$};\n  \\node[coin, fill=red!14] at (1.9,0) {$1$};\n  \\node[lbl] at (3.6,0) {$3$ coins};\n  \\node[lbl] at (-1.95,-1.2) {optimal};\n  \\node[pick] at (0,-1.2) {$3$};\n  \\node[pick] at (0.95,-1.2) {$3$};\n  \\node[lbl, acc] at (3.6,-1.2) {$2$ coins};\n\\end{tikzpicture}\n$$\n\nA coin system is called **canonical** when the greedy algorithm is optimal for every\namount; standard currencies (like $\\{1, 5, 10, 25\\}$) are deliberately designed to be\ncanonical so that greedy change-making works. Whether an _arbitrary_ system is\ncanonical is itself a nontrivial question (it can be decided by checking greedy\nagainst the DP optimum over a bounded range of amounts), but the safe default for an\nunknown denomination set is the $C[a] = 1 + \\min_c C[a-c]$ dynamic program, which is\ncorrect for _any_ coins.[^skiena-greedy]\n\n> **Intuition.** Greed commits to the biggest coin and never reconsiders, so it can\n> be ambushed by a remainder its denominations can only pay in many small coins. The\n> DP keeps _every_ amount's best answer around and lets a worse-looking first coin\n> redeem itself later — which is exactly the optimal-substructure argument greedy\n> lacks here but possesses on canonical systems.\n\n## The same shape elsewhere: Perfect Squares and Word Break\n\nOnce you see coin change as unbounded knapsack, two famous problems reveal\nthemselves as the _identical_ recurrence with the coins renamed.\n\n**Perfect Squares** asks for the fewest perfect squares ($1, 4, 9, 16, \\dots$)\nsumming to $n$. That is exactly $\\textsc{Min-Coins}$ with the \"coins\" being the\nsquares $\\le n$:\n$$\nS[k] = 1 + \\min_{j^2 \\le k}\\ S[k - j^2], \\qquad S[0] = 0.\n$$\nThe squares are reusable (you may use $1$ four times to make $4$), so it is the\nascending-weight minimization we already wrote; only the denomination set changes.\n\n**Word Break** asks whether a string $s$ can be segmented into dictionary words. The\n\"coins\" are now _words_, the \"amount\" is a _string prefix_, and the table is indexed\nby prefix length. Let $B[k]$ be true if the first $k$ characters of $s$ split into\ndictionary words:\n$$\nB[k] = \\bigvee_{\\substack{w \\in \\text{dict} \\\\ s[k - |w| + 1\\,..\\,k] = w}} B[k - |w|],\n\\qquad B[0] = \\text{true}.\n$$\nIt is the _boolean_ ($\\lor$) flavor, like subset-sum was to knapsack, where a word\n$w$ ending at position $k$ plays the role of a coin of \"value\" $|w|$ landing the\nprefix on the earlier boundary $k - |w|$. The empty prefix $B[0]$ is the\nalways-reachable base, exactly like $C[0] = 0$.\n\n## Takeaways\n\n- **Unbounded knapsack** lets each item be used _any number of times_. That single\n  change deletes the item dimension: the subproblem $K[w]$ depends only on remaining\n  capacity, giving the 1-D recurrence $K[w] = \\max_{w_i \\le w}(v_i + K[w - w_i])$ in\n  $\\Theta(nW)$ time and $\\Theta(W)$ space, versus 0\u002F1 knapsack's 2-D $K(i,w)$.\n- The include branch reads $K[w - w_i]$ at the **same** item-availability (not the\n  previous row), so we sweep weight **ascending** to _permit_ reuse, the exact\n  opposite of 0\u002F1's descending sweep, which _forbids_ it.\n- **Coin change (min coins)** is unbounded knapsack with unit values and a $\\min$\n  objective: $C[a] = 1 + \\min_{c \\le a} C[a - c]$, $C[0] = 0$, $\\infty$ if\n  unreachable; a $prev$ array reconstructs the coins.\n- **Counting** ways is governed by **loop order**: _coins outer, amount inner_ counts\n  **unordered combinations** (Coin Change II); _amount outer, coins inner_ counts\n  **ordered sequences** (Combination Sum IV). Same code, different question: the\n  classic bug.\n- **Greedy** (largest coin first) fails in general ($\\{1,3,4\\}$, amount $6$: greedy\n  $4{+}1{+}1$, optimal $3{+}3$) but is correct for **canonical** systems like\n  standard currency; the DP is correct for _any_ denominations.\n- **Perfect Squares** (squares as coins) and **Word Break** (dictionary words as\n  coins over string prefixes) are the same unbounded-DP shape.\n\n[^skiena-coin]: **Skiena**, § — Knapsack \u002F Coin Change: making change as unbounded knapsack, $\\Theta(nA)$ and pseudo-polynomial in the amount.\n[^cs-loop]: **Erickson**, Ch. — Dynamic Programming: combinations vs. compositions and how the nesting of the item and target loops selects between unordered and ordered counts.\n[^skiena-greedy]: **Skiena**, § — Knapsack \u002F Coin Change: greedy change-making is optimal only for canonical denomination systems; the DP is correct for arbitrary coins.\n",{"text":10170,"minutes":10171,"time":10172,"words":10173},"10 min read",9.645,578700,1929,{"title":256,"description":10149},[10176,10179,10181],{"book":10177,"ref":10178},"CLRS","Ch. 15 — Dynamic Programming",{"book":10074,"ref":10180},"§ — Knapsack \u002F Coin Change",{"book":10116,"ref":10182},"Ch. — Dynamic Programming","available","01.algorithms\u002F08.dynamic-programming\u002F05.coin-change-and-unbounded",[231],"5vrjkuSoxnMyKHohtOW5q2GRHkdExXSW60zymWb_Dfw",{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":10188,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":10189,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":10190,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":10191,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":10192,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":10193,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":10194,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":10195,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":10196,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":10197,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":10198,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":10199,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":10200,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":10201,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":10202,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":10203,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":10204,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":10205,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":10206,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":10207,"\u002Falgorithms\u002Fsequences\u002Ftries":10208,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":10209,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":10210,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":10211,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":10212,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":10213,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":10214,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":10215,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":10216,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":10217,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":10218,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":10219,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":10220,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":10221,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":10222,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":10223,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":10224,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":10225,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":10173,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":10226,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":10227,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":10228,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":10229,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":10230,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":10231,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":10232,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":10233,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":10204,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":10234,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":10235,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":10236,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":10237,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":10220,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":10238,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":10239,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":10200,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":10240,"\u002Falgorithms":10241,"\u002Ftheory-of-computation":10242,"\u002Fcomputer-architecture":10242,"\u002Fphysical-computing":10242,"\u002Fdatabases":10242,"\u002Fdeep-learning":10242},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,1657,1412,1554,1418,1713,1798,1694,1762,1534,1595,1262,1495,1630,2306,2142,107,0,{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":10244,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":10245,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":10246,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":10247,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":10248,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":10249,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":10250,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":10251,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":10252,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":10253,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":10254,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":10255,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":10256,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":10257,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":10258,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":10259,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":10260,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":10261,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":10262,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":10263,"\u002Falgorithms\u002Fsequences\u002Ftries":10264,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":10265,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":10266,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":10267,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":10268,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":10269,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":10270,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":10271,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":10272,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":10273,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":10274,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":10275,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":10276,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":10277,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":10278,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":10279,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":10280,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":10281,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":10282,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":10283,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":10284,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":10285,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":10286,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":10287,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":10288,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":10289,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":10290,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":10291,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":10292,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":10293,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":10294,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":10295,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":10296,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":10297,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":10298,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":10299,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":10300,"\u002Falgorithms":10301,"\u002Ftheory-of-computation":10304,"\u002Fcomputer-architecture":10307,"\u002Fphysical-computing":10310,"\u002Fdatabases":10313,"\u002Fdeep-learning":10316},{"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":10302,"title":10303,"module":376,"summary":376},"\u002Falgorithms","Algorithms",{"path":10305,"title":10306,"module":376,"summary":376},"\u002Ftheory-of-computation","Theory of Computation",{"path":10308,"title":10309,"module":376,"summary":376},"\u002Fcomputer-architecture","Computer Architecture",{"path":10311,"title":10312,"module":376,"summary":376},"\u002Fphysical-computing","Physical Computing",{"path":10314,"title":10315,"module":376,"summary":376},"\u002Fdatabases","Databases",{"path":10317,"title":10318,"module":376,"summary":376},"\u002Fdeep-learning","Deep Learning",1781560526167]