Statistics

Problem Statement for "BinaryTreeAutomatonHard"

Problem Statement

This task is about automata that can walk on rooted binary trees and keep notes in the trees' nodes.

The trees are general binary trees. I.e., each node has at most two sons: at most one left son and at most one right son.


Each node contains 26 boolean variables. These are called flags and they are labelled 'a' to 'z'.

Variables 'l', 'r', and 'p' are special: initially they are set to true iff the node has a left son ('l'), a right son ('r'), and a parent ('p').

All other variables are initally set to false.

All variables are read-write, but it is generally recommended to leave 'l', 'r', and 'p' untouched.


The automaton has a finite number of states. It begins its computation in the root of the tree.

A general step of its computation looks as follows: The automaton is located in one of the nodes of the tree. Based on its current state and some flags in the current node, the automaton decides how to change it state, toggle some of the flags in the current node, and then possibly it moves along an edge to an adjacent node.

More formally, the program for the automaton is a finite sequence of strings. The first of those strings is the identifier of the starting state. The rest of the program is a sequence of instructions. Each instruction has the following form: "current_state:conditions:new_state:toggle:move". Here:

  • current_state is the identifier of the current state (any string of 1-10 letters and/or digits).
  • conditions is a sequence of distinct conditions that all have to be satisfied. Each condition is a lowercase letter (letter x represents the condition "flag x is set to true") or an uppercase letter (representing the condition that the corresponding flag must be false).
  • new_state is the identifier of the new state into which the automaton switches if this instruction is used.
  • toggle is a list of distinct flags (lowercase letters) that will be toggled (from true to false and vice versa) if this instruction is used.
  • move is either an empty string (with the meaning that the automaton remains in its current node) or a description of a movement: 'l' to the left son of the current node, 'r' to its right son, or 'p' to its parent.

Instruction order matters: In each step, the automaton applies the first instruction in the program that can be applied.

If no instruction can be applied, the execution of the program terminates. The execution of the program is also terminated if it attempts to move to a non-existing node of the tree (and that step still counts as executed).


---------------------------------


Simulator.

Simulator for these automata is available at https://algo.sk/topcoder/BinaryTreeAutomatonHard/

(You may download a standalone Python3 version of the simulator, and for small inputs you may also run it online.)


---------------------------------


Task.

Write a program for the automaton that will find all deepest nodes in the tree.

When your program terminates, the deepest nodes of the tree must be precisely those in which the 'x' flag is set.


Submit a wrapper program: a program in any supported programming language that will return a String[] containing your program for the automaton. (Remember that element 0 of your return value should be the initial state for your program.)


There are multiple test cases for the wrapper program. Each test case consists of a single int N representing the number of nodes in the trees on which your automaton will be tested.

(Your wrapper program may return different programs for different values of N, but doing so is not necessary and does not really help you solve the task.)


Your wrapper program will be tested twice and you will only score points if both tests pass. In the arena only tests with N <= 30 are allowed. During system tests we will also test your program (outside the arena) on tests with N <= 60,000.

The program for the automaton must have the following properties:

  • It must have at most 500 instructions.
  • The instructions must have at most 6500 characters total.
  • On any given tree with at most 30 vertices it must terminate within 20,000 steps.
  • On any given tree with at most 60,000 vertices it must terminate within 200,000,000 steps.
  • Remember that state names must be strings of 1-10 letters and/or digits.

Definition

Class:
BinaryTreeAutomatonHard
Method:
construct
Parameters:
int
Returns:
String[]
Method signature:
String[] construct(int N)
(be sure your method is public)

Notes

  • Please be mindful of the obfuscation rules. When including string constants in your program, please make sure they are in a reasonably human-readable form.
  • For each N that is actually used as a test case we have a deterministically chosen collection of N-node trees. The exact same collection will be used to test all submitted programs.

Constraints

  • N will be between 1 and 30, inclusive.
  • (In additional tests N will be up to 60,000.)

Examples

  1. 1

    Returns: {"start", "start::finish:x:" }

    The returned program will be tested on exactly one tree: the tree with a single node. (In the simulator this tree is encoded "--".) The algorithm will start in the state "start" in the root of the tree. It will perform exactly one step, in which it will change its state to "finish" and set the 'x' flag in the only node of the tree.

  2. 2

    Returns: {"start", "start:yY:explode::r", "start:l:start::l", "start:r:start::r", "start::finish:x:", "Hello47::Hello42::" }

    The returned program will be tested on exactly two trees with two nodes each. (In the simulator they are encoded "+---" and "-+--".) The automaton will start in the root of the tree in the state "start". The instruction "start:yY:explode::r" will never be executed: flag 'y' cannot be both set and unset at the same time, hence the conditions "yY" will never be satisfied. Exactly one of the two instructions "start:l:start::l", "start:r:start::r" will be executed exactly once (the automaton will move from the root to the only leaf). Once the automaton reaches the leaf, the previous two instructions no longer apply. Now the automaton will execute "start::finish:x:" and set the 'x' flag in the leaf. After that happens, the program will terminate.

  3. 3

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  4. 4

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  5. 5

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  6. 6

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  7. 7

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  8. 8

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  9. 9

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  10. 10

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  11. 11

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  12. 12

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  13. 13

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  14. 14

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  15. 15

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  16. 16

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  17. 17

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  18. 18

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  19. 19

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  20. 20

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  21. 21

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  22. 22

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  23. 23

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  24. 24

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  25. 25

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  26. 26

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  27. 27

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  28. 28

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  29. 29

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }

  30. 30

    Returns: {"init", "init::isdone:x:", "notdone:bp:notdone:ab:p", "notdone:bP:spread:ab:", "notdone:ar:notdone:b:r", "notdone:aR:notdone:b:", "notdone:l:notdone:a:l", "notdone:L:notdone:a:", "isdone:xl:notdone::", "isdone:xr:notdone::", "isdone:bp:isdone:ab:p", "isdone:bP:terminate:ab:", "isdone:ar:isdone:b:r", "isdone:aR:isdone:b:", "isdone:l:isdone:a:l", "isdone:L:isdone:a:", "spread:bp:spread:ab:p", "spread:bP:reduce0:ab:", "spread:ar:spread:b:r", "spread:aR:spread:b:", "spread:lx:color:ay:l", "spread:Lx:color:ay:", "spread:l:spread:a:l", "spread:L:spread:a:", "color:X:color:x:", "color:ybp:spread:yab:p", "color:ybP:reduce0:yab:", "color:bp:color:ab:p", "color:ar:color:b:r", "color:aR:color:b:", "color:l:color:a:l", "color:L:color:a:", "reduce1:y:reduce0::", "reduce0:z:reduce1::", "reduce0:x:reduce0:xy:", "reduce0:ybp:reduce0:aby:p", "reduce0:ybP:uniq0:aby:", "reduce0:bp:reduce0:ab:p", "reduce0:bP:uniq0:ab:", "reduce0:yar:reduce1:b:r", "reduce0:ar:reduce0:b:r", "reduce0:aR:reduce0:b:", "reduce0:yl:reduce1:a:l", "reduce0:l:reduce0:a:l", "reduce0:L:reduce0:a:", "reduce1:x:reduce1:xz:", "reduce1:zbp:reduce1:abxz:p", "reduce1:bp:reduce1:ab:p", "reduce1:zar:reduce0:b:r", "reduce1:ar:reduce1:b:r", "reduce1:aR:reduce1:b:", "reduce1:zl:reduce0:a:l", "reduce1:l:reduce1:a:l", "reduce1:L:reduce1:a:", "uniq2:y:uniq2:xy:", "uniq2:bp:uniq2:ab:p", "uniq2:bP:reduce0:ab:", "uniq2:ar:uniq2:b:r", "uniq2:aR:uniq2:b:", "uniq2:l:uniq2:a:l", "uniq2:L:uniq2:a:", "uniq1:x:uniq2::", "uniq1:ybp:uniq0:abxy:p", "uniq1:bp:uniq1:ab:p", "uniq1:ar:uniq1:b:r", "uniq1:aR:uniq1:b:", "uniq1:l:uniq1:a:l", "uniq1:L:uniq1:a:", "uniq0:x:uniq1:xy:", "uniq0:bp:uniq0:ab:p", "uniq0:bP:isdone:ab:", "uniq0:ar:uniq0:b:r", "uniq0:aR:uniq0:b:", "uniq0:l:uniq0:a:l", "uniq0:L:uniq0:a:" }


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: