Problems
Pick a problem and write your solution in the built-in editor. The judge runs it against real test cases while you watch, and the wider archive is open to read whenever you like.
Total results3,692 problems
| Title | Level | Topics | Solved | Time limit | Memory limit | Judge |
|---|---|---|---|---|---|---|
| Buying FeedBuy at least K pounds of feed from stores along a 1D route, paying purchase cost plus K^2 cents per mile for the load carried, and minimize the total. | Hard8 | Dynamic programmingGreedy+2 | No attempts yet | 2s | 128 MB | Judgeable |
| CandyGiven starting candies, allowed daily eating amounts, and favorite numbers that trigger bonus candies, maximize total candies eaten or report -1 if infinite. | Hard8 | Dynamic programmingGraph+2 | No attempts yet | 1s | 128 MB | Judgeable |
| The TriangleGiven a triangular grid of values, find the sub-triangle (either orientation, side at least K) whose truncated average is largest. | Hard8 | Binary searchPrefix sum+2 | No attempts yet | 2s | 128 MB | Judgeable |
| Coin GameTwo players alternately take coins from the top of a pile, where each move may take between 1 and twice the previous move's count; find the maximum total value the first player can guarantee with optimal play from both sides. | Hard8 | Dynamic programmingGame theory+2 | No attempts yet | 1s | 32 MB | Judgeable |
| Cow Toll PathsFor each query, find the cheapest s-t trip where cost is the sum of edge tolls plus the single largest pasture toll on the route. N=250, K=10000. | Hard8 | GraphShortest path+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Cow TelephonesGiven a tree with cows at its leaves and vertex capacity K plus unit edge capacity, find the maximum number of disjoint leaf-to-leaf conversation paths. | Hard8 | TreeDynamic programming+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Water SlidesOn a DAG where each node leading to the sink, Bessie maximizes her worst-case path sum when up to K times she is forced down the worst outgoing edge. | Hard8 | Dynamic programmingGreedy+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Telephone LineRaise each pole to height at least its original, paying squared increase plus C times adjacent height gaps, and minimize the total. | Hard8 | Dynamic programmingGreedy+1 | No attempts yet | 1s | 128 MB | Judgeable |
| Grabbing LandSplit N rectangles into groups, each group costing the product of its max width and max height, minimizing the total cost. | Hard8 | SortingDynamic programming+1 | No attempts yet | 1s | 128 MB | Judgeable |
| Silver Lilypad PondOn a grid with knight moves, place the fewest new lilypads so the cow can travel from start to goal, then count the shortest such paths. | Hard8 | GraphShortest path+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Fire Evacuation PlanGiven a grid with walls, flowers, people, and one exit, find the minimum time for everyone to reach the exit, where no two people may occupy the same cell at the same second. | Hard8 | BFSGraph+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Rectangular PaintingGiven a nesting tree of rectangles and photo leaf sizes, orient each sibling group horizontally or vertically to minimize the root rectangle area. | Hard8 | TreeDFS+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Minimum-Cost Prefix-Free LanguageGiven n and d character costs, find the minimum total cost of a prefix-free set of exactly n words; multiple test cases end with 0 0. | Hard8 | Dynamic programmingGreedy+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Brunhilda's BirthdayFor each n, find the minimum number of calls of primes from a given set that reduce n to 0 by replacing n with p*floor(n/p), or report infinity. | Hard8 | Dynamic programmingNumber theory+2 | No attempts yet | 1s | 256 MB | Judgeable |
| AppendGiven an LZ-style encoding as a list of (back-reference, length) pairs, count how many prefix positions split it into two valid non-empty encodings whose concatenation reproduces the original string. | Hard8 | StringImplementation+2 | No attempts yet | 1s | 128 MB | Judgeable |
| FoldGiven the sequence of A/V fold directions along an unfolded paper strip, find the minimum number of all-layer folding steps that produce it. | Hard8 | Dynamic programmingRecursion+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Domino TilingCover a grid with pre-placed tiles and all given dominoes, then output the lexicographically smallest valid tiling and the count of other tilings. | Hard8 | BacktrackingDynamic programming+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Letter LiesCount the number of length-L paths from a greeting sentence to a closing sentence in a directed graph whose successor rules guarantee no sentence repeats. | Hard8 | Dynamic programmingGraph+2 | No attempts yet | 3s | 128 MB | Judgeable |
| Careful DeclarationMerge two word sequences into the shortest common supersequence, breaking ties by choosing the lexicographically smallest result. | Hard8 | Dynamic programmingString+2 | No attempts yet | 2s | 128 MB | Judgeable |
| Tree InsertionsCount how many permutations of a given sequence build the same binary search tree; values may repeat and answers need big integers. | Hard8 | TreeCombinatorics+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Money Money Money, Must Be FunnyGiven limited cash held by a customer and a shopkeeper, find the minimum number of coins and notes that must change hands to settle an exact amount. | Hard8 | Dynamic programmingGreedy+1 | No attempts yet | 1s | 256 MB | Judgeable |
| Failing RoadsGiven an expression tree of merge and complement operations, compute the maximum independent set of the resulting graph. | Hard8 | TreeDynamic programming+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Go EndgameGiven starting scores, region values, and sente flags, compute the final scores when Alice and Bob alternately pick regions and respond until all are settled. | Hard8 | Dynamic programmingGame theory+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Base NumbersFor each digit string, count the ways to insert parentheses and dashes so it decodes to a valid decimal-encoded number in some base greater than 1. | Hard8 | Dynamic programmingCombinatorics+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Software CompanyAssign m subprojects of each of two projects to n employees, who work sequentially, to minimize the largest total working time. | Hard8 | Binary searchGreedy+2 | No attempts yet | 1s | 128 MB | Judgeable |
| The Winds of WarChoose a convex net containing the origin that covers as many enemy units as possible while covering as few friendly ones, and report the maximum difference. | Hard8 | GeometrySorting+2 | No attempts yet | 2s | 512 MB | Judgeable |
| SwitchGiven a row of K lights with no four consecutive on, find the fewest off-to-on switches needed so that all lights end up off, given the automatic clearing of any block of four or more on. | Hard8 | Dynamic programmingGreedy+1 | No attempts yet | 2s | 512 MB | Judgeable |
| Fixing DisksGiven a master stack and your own stack of N labeled disks, use three limited reorder moves on the top K disks to remove disks cheaply; minimize total cost under a removal-order constraint. | Hard8 | Dynamic programmingStack+2 | No attempts yet | 2s | 512 MB | Judgeable |
| Nutrient TreeGiven a binary tree whose leaves produce nutrients and whose edges have capacity (1+w)^2 after spending w agents, distribute X agents over edges and leaves to maximize the flow reaching the root. | Hard8 | TreeDynamic programming+2 | No attempts yet | 2s | 512 MB | Judgeable |
| A Weighty ProblemChoose which coins to hand over for a purchase so that the total weight of unspent coins plus the store's greedy change is minimized. | Hard8 | Dynamic programmingGreedy+2 | No attempts yet | 1s | 128 MB | Judgeable |
| GerrymanderingMerge adjacent ridings into blocks so Party 1 strictly wins a majority of the remaining ridings, minimizing the number of merges. | Hard8 | Dynamic programmingPrefix sum+2 | No attempts yet | 1s | 128 MB | Judgeable |
| OrkoGiven ten cards for player A and the rest for B, compute how many of the ten rounds A wins when both play optimally, with A leading first. | Hard8 | Game theoryBacktracking+2 | No attempts yet | 1s | 128 MB | Judgeable |
| PartitionsGiven k and a, output the a-th partition of k in lexicographic order, or Too big when a exceeds the partition count. | Hard8 | Dynamic programmingCombinatorics+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Ransom NoteGiven a target note and a newspaper text, find the minimum number of contiguous clips (letters and spaces only, case-insensitive, reusable) needed to paste the note. | Hard8 | Dynamic programmingString+2 | No attempts yet | 1s | 128 MB | Judgeable |
| The Game of 31Given a partly played game of 31 with four cards of each value 1 to 6, determine the winner under perfect play. | Hard8 | Game theoryDynamic programming+2 | No attempts yet | 1s | 128 MB | Judgeable |
| GradingGiven point values and a threshold K, find the smallest integer at least K that cannot be any total score over all correct/wrong answer patterns. | Hard8 | Dynamic programmingNumber theory+2 | No attempts yet | 2s | 128 MB | Judgeable |
| Railway ConnectionFind the cheapest route from station s to g in a multigraph where each maximal run of same-company edges is priced by that company's piecewise linear, concave fare table. | Hard8 | GraphShortest path+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Cow Ski AreaBuild the directed graph where each square has edges to same-or-lower neighbors, then find the minimum number of bidirectional edges to add so the whole graph becomes strongly connected. | Hard8 | GraphDFS+2 | No attempts yet | 1s | 128 MB | Judgeable |
| SweetsCount the ways to take up to m_i candies from each of n jars so the total is between a and b, modulo 2004. | Hard8 | Dynamic programmingPrefix sum+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Bugs Integrated, Inc.Given a grid with some blocked cells, find the maximum number of 2x3 or 3x2 non-overlapping rectangles that fit on good cells. | Hard8 | Dynamic programmingBit manipulation | No attempts yet | 15s | 128 MB | Judgeable |
| Sevens, Twos and ZerosFind the smallest multiple of n that is at least n, uses only digits 7, 2, 0, and has at most 20 digits, or report NAV. | Hard8 | BFSDynamic programming+2 | No attempts yet | 1s | 128 MB | Judgeable |
| TollA billionaire sets tolls on K new roads of his choosing so that the minimum spanning tree routing all traffic to town 1 maximizes his revenue, where K is at most 20. | Hard8 | Minimum spanning treeGreedy+2 | No attempts yet | 3s | 128 MB | Judgeable |
| Flooding FieldsGiven an n by n grid, k cows, and h hourly flood levels, find the maximum number of cows that can survive by moving each hour before the water rises. | Hard8 | Dynamic programmingGraph+2 | No attempts yet | 1s | 512 MB | Judgeable |
| FootballSplit a row of N player skills into K consecutive segments of at least M each so that the minimum segment average is maximized, and print that value as a reduced fraction. | Hard8 | Binary searchDynamic programming+2 | No attempts yet | 1s | 1024 MB | Judgeable |
| The Palindromes Strike BackFor every position i, count the subsets of positions that include i and form a palindrome, then XOR all i times that count mod 1e9+7. | Hard8 | Dynamic programmingCombinatorics+2 | No attempts yet | 2s | 1024 MB | Judgeable |
| Dorm PartyGiven a bipartite interest graph, pick a minimum set of edges to dance so that no edge joins two undanced vertices. | Hard8 | GraphDynamic programming+2 | No attempts yet | 15s | 1024 MB | Judgeable |
| Address MatchingMatch each student address to a distinct teacher address with minimum total weighted edit distance, and among optimal matchings output the lexicographically smallest index sequence. | Hard8 | Dynamic programmingGreedy+2 | No attempts yet | 3s | 1024 MB | Judgeable |
| Electric CarFind the minimum total time to drive from city 1 to city N, where each road costs 1 hour and L energy, and charging takes whole hours at rate c_i per city. | Hard8 | GraphShortest path+2 | No attempts yet | 1s | 1024 MB | Judgeable |
| Transformation from OneStarting from 1, you may add 1 to the first or last digit for cost 1, or multiply it by 2..9 for cost 2; find the minimum cost to reach each given number, or -1. | Hard8 | BacktrackingBFS+2 | No attempts yet | 1s | 1024 MB | Judgeable |
| Coat RackSort garments and targets; sliding garments keeps their order and may stack them, so assign each target to a position minimizing total distance under order constraints. | Hard8 | Dynamic programmingDivide and conquer+2 | No attempts yet | 1s | 1024 MB | Judgeable |
| ThievesGiven a tree with K robbed cities, block some cities at cost a_i so that the reachable set of cities from the robbed nodes through unblocked cities is minimized in total cost (blocking plus M per searched city). | Hard8 | TreeDynamic programming+2 | No attempts yet | 1s | 1024 MB | Judgeable |
| KortosCount the distinct ordered piles a player can build from N distinct cards where each new card matches the top card's number, or matches its suit with a larger number, modulo 1e9+7. | Hard8 | Dynamic programmingCombinatorics+2 | No attempts yet | 2s | 1024 MB | Judgeable |
| BouquetCount distinct flower sequences a robot can collect moving left, right, or down, picking at least one flower per floor, modulo 1e9+7. | Hard8 | Dynamic programmingCombinatorics | No attempts yet | 1s | 1024 MB | Judgeable |
| ASMFind the fewest add/multiply/print commands in a one-variable program whose printed concatenation matches every test's required output. | Hard8 | Brute forceDynamic programming+2 | No attempts yet | 1s | 1024 MB | Judgeable |
| Color TunnelsGiven a color sequence and colored line-segment tunnels, find the shortest path from source to destination that traverses tunnels in the required color order. | Hard8 | GeometryShortest path+1 | No attempts yet | 1s | 128 MB | Judgeable |
| Painting a BoardGiven up to 15 rectangles with colors and vertical precedence constraints, find the minimum number of brush pick-ups to paint every rectangle. | Hard8 | Dynamic programmingBit manipulation+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Crossed MatchingsGiven two rows of positive integers, draw the maximum number of equal-value matching segments between the rows so that each segment crosses exactly one other and no number is used twice. | Hard8 | Dynamic programmingArray+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Magazine DeliveryThree cars start at L1 and must deliver to locations in strict order 2,3,...,N, with only one car moving at a time; minimize the total completion time. | Hard8 | Dynamic programmingShortest path+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Order of TreesGiven n, print the n-th binary tree under a canonical ordering by node count and by (left subtree number, right subtree number) recursively. | Hard8 | CombinatoricsDynamic programming+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Word EncodingGiven up to 1000 forbidden substrings of length 1 to 3, rank valid words by length then alphabetically; answer queries converting a word to its index and an index to its word. | Hard8 | Dynamic programmingString matching+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Bring Them ThereFind the minimum number of days to send K ships from S to T through an undirected graph where each edge carries at most one ship per day. | Hard8 | GraphBFS+2 | No attempts yet | 2s | 128 MB | Judgeable |
| Farmer Bill's ProblemPlace non-overlapping, non-touching rectangles inside a rectangular field so all given circles lie within them, minimizing total rectangle area, and output the remaining harvestable area. | Hard8 | GeometryDynamic programming+2 | No attempts yet | 2s | 128 MB | Judgeable |
| FrontierChoose a subset of the polygon's vertices, in clockwise order, forming a convex polygon that strictly contains all given points, minimizing its perimeter. | Hard8 | GeometryDynamic programming+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Incredible! Impossible!Count n by 3 tables of non-negative integers with given row sums and column sums, modulo 10 to the 17. | Hard8 | Dynamic programmingCombinatorics+2 | No attempts yet | 2s | 64 MB | Judgeable |
| Experiment "X": Explosions ExpectedCount valid mixtures (at most S total ounces, at least two ingredients used) that are not dominated coordinatewise by any of M given exploding mixtures, modulo nothing. | Hard8 | CombinatoricsDynamic programming+2 | No attempts yet | 1s | 512 MB | Judgeable |
| PlatformsGiven points with distinct x, find the longest chain of flights where each next point has larger x and no larger y, then report every point lying on some longest chain. | Hard8 | Dynamic programmingSorting+2 | No attempts yet | 2s | 128 MB | Judgeable |
| Lucky TicketsCount lucky n-digit numbers among k consecutive values starting at a uniformly random s in [a,b], and print the expected count as a fraction. | Hard8 | Dynamic programmingCombinatorics+1 | No attempts yet | 1s | 128 MB | Judgeable |
| Robotic InvasionEdit as few commands as possible in a movement string so the robot reaches a trap, breaking ties by earliest capture and then lexicographic order. | Hard8 | BFSDynamic programming+2 | No attempts yet | 1s | 128 MB | Judgeable |
| DNA LaboratoryGiven up to 15 DNA strings, find the shortest string that contains all of them as substrings, breaking ties by lexicographic order. | Hard8 | Dynamic programmingBit manipulation+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Missing LettersReconstruct a space-free corrupted string into words from a known vocabulary, choosing the highest-scoring word segmentation and breaking ties alphabetically. | Hard8 | Dynamic programmingString+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Jury CompromisePick exactly m candidates minimizing the prosecution minus defence imbalance, breaking ties by the largest total value, then by lexicographically smallest candidate list. | Hard8 | Dynamic programmingSorting+1 | No attempts yet | 1s | 128 MB | Judgeable |
| Tree SimilarityGiven two ordered rooted trees, find the minimum number of node relabel, delete, and insert operations to turn the first tree into the second. | Hard8 | Dynamic programmingTree+2 | No attempts yet | 3s | 128 MB | Judgeable |
| Drunken WalkIn a weighted DAG, remove at most one edge to maximize the expected number of edges walked from vertex 0 before reaching a sink. | Hard8 | GraphDynamic programming+2 | No attempts yet | 2s | 512 MB | Judgeable |
| Rectangles Too!Find the longest chain of rectangles where each rectangle lies strictly below and to the left of the next one. | Hard8 | SortingDynamic programming+1 | No attempts yet | 3s | 128 MB | Judgeable |
| Globulous GumdropsGiven spheres of radii r_i and a tube of diameter d, find the shortest cylinder length holding them all. | Hard8 | GeometryDynamic programming+2 | No attempts yet | 1s | 128 MB | Judgeable |
| CensorshipGiven a text and a filter word set, remove occurrences repeatedly to make the shortest possible result and report its length. | Hard8 | Dynamic programmingString+1 | No attempts yet | 1s | 128 MB | Judgeable |
| RSI: Two-Finger Numeric TypingGiven a digit string, type it on a two-finger keypad in the fewest time units, keeping the left finger always in a strictly smaller column than the right. | Hard8 | Dynamic programming | No attempts yet | 1s | 128 MB | Judgeable |
| Vigenère CipherGiven a ciphertext and pair frequencies, find the key length-K shift maximizing the total frequency of adjacent plaintext letter pairs. | Hard8 | Dynamic programmingString+1 | No attempts yet | 5s | 64 MB | Judgeable |
| ByephoneFind the longest common subsequence of two strings up to length 10000 within 3MB of memory, breaking ties by the lexicographically smallest result. | Hard8 | Dynamic programmingString+2 | No attempts yet | 2s | 3 MB | Judgeable |
| NecklaceGiven a target cyclic bead order and a removal order from a pin, minimize the largest number of beads held aside while building the necklace from both ends. | Hard8 | Dynamic programmingGreedy | No attempts yet | 1s | 16 MB | Judgeable |
| EncodingFind the shortest encoding length for a target string under dynamic coding, where a changing marker toggles between verbatim and interpreted modes. | Hard8 | Dynamic programmingString | No attempts yet | 1s | 128 MB | Judgeable |
| Increasing SubsequencesCount permutations of 1..N whose longest increasing subsequence has length exactly B, modulo 1,000,000,000. | Hard8 | Dynamic programmingCombinatorics+1 | No attempts yet | 4s | 128 MB | Judgeable |
| KBTU PartyCount the ways to choose r disjoint acquainted girl-boy pairs when girl j knows exactly the first 2j-1 boys, modulo 2946859. | Hard8 | CombinatoricsDynamic programming+2 | No attempts yet | 2s | 128 MB | Judgeable |
| Panda Land 5: Panda Programming LanguageReorder up to 18 functions to satisfy call-before-use ordering, minimizing a move cost weighted by line counts, or report impossibility. | Hard8 | Dynamic programmingBit manipulation+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Counting BSTCount insertion sequences of distinct values from 1..M that build a BST with the same shape as a given sequence, modulo 1000003. | Hard8 | CombinatoricsTree+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Fire DrillPlan rescues in a multi-floor grid so the total points collected within the time limit is maximized, where a laden move costs double. | Hard8 | Dynamic programmingGraph+1 | No attempts yet | 1s | 128 MB | Judgeable |
| Harder Sokoban ProblemChoose player and container start cells to maximize the minimum Sokoban moves needed to push the container onto the single destination cell. | Hard8 | BFSGraph+2 | No attempts yet | 5s | 128 MB | Judgeable |
| GarlandsSplit a weighted sequence of n pieces into m segments of even length, each half-segment at most d pieces, minimizing the maximum half-segment weight. | Hard8 | Binary searchDynamic programming+2 | No attempts yet | 2s | 512 MB | Judgeable |
| Prison rearrangementGiven a bipartite conflict graph between two prisons of size m, find the largest k <= m/2 so that k prisoners can be swapped across while keeping every conflicting pair apart. | Hard8 | GraphBFS+2 | No attempts yet | 1s | 128 MB | Judgeable |
| The PicnicGiven up to 99 points, find the largest convex polygon whose vertices are points and whose interior contains no other point. | Hard8 | GeometryDynamic programming+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Arithmetic RectangleGiven an n by m grid of integers, find the largest rectangle in which every row and every column forms an arithmetic sequence, and output its area in unit squares. | Hard8 | Dynamic programmingArray+2 | No attempts yet | 3s | 128 MB | Judgeable |
| Bytean Road RaceGiven a planar south/east DAG from node 1 to node n, answer queries asking whether some monotone path passes through both given crossings. | Hard8 | GraphDFS+2 | No attempts yet | 3s | 64 MB | Judgeable |
| CaveGiven a tree of n nodes, find every k such that the tree splits into k connected parts of equal size. | Hard8 | TreeDFS+2 | No attempts yet | 3s | 256 MB | Judgeable |
| FirefighterOn a graph with max degree 3, fire spreads one step per hour while one house can be protected each hour; maximize houses kept safe. | Hard8 | GraphTree+2 | No attempts yet | 1s | 128 MB | Judgeable |
| TetrisCount ways to fully tile a 4-by-n board with seven Tetris pieces (long piece has 3 cells), given some cells of the first row already covered, modulo 10^6. | Hard8 | Dynamic programmingMatrix+2 | No attempts yet | 1s | 128 MB | Judgeable |
| Vending MachineGiven snack prices, stocks, and a budget, choose purchases so that each buy also dispenses one free snack of every cheaper kind still in stock, maximizing total value received. | Hard8 | Dynamic programmingGreedy | No attempts yet | 1s | 128 MB | Judgeable |
| Shut Down the MachinesGiven devices that either shut down alone with a strong shock or reactivate a multiset of other devices with a cheaper weak shock, find the minimum total power, counting each activation separately. | Hard8 | Dynamic programmingGraph+1 | No attempts yet | 1s | 256 MB | Judgeable |
| Catching MolesChoose at most k holes to shoot on a circle; each shot removes the target's moles and pushes neighbors' moles outward, maximizing the total removed. | Hard8 | Dynamic programmingGreedy+2 | No attempts yet | 1s | 256 MB | Judgeable |
| C-algaeDecide whether each given undirected graph can be built from single vertices by disjoint union and complete join. | Hard8 | GraphDivide and conquer+2 | No attempts yet | 3s | 128 MB | Judgeable |
| Numerals of the PrzesmyksConvert numerals over {- , +} with at most m1 consecutive minuses into their rank-ordered representation under the bound m2. | Hard8 | CombinatoricsMath+2 | No attempts yet | 1s | 128 MB | Judgeable |