route([[1, 1], [9, 8], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]], [[9, 8], [9, 7], [9, 6], [9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]).

clause(1,
       route([var('Source'), var('Destination'), var('Obstacles')], var('Path')),
       (waves(var('Destination'), [[var('Source')], []], var('Obstacles'), var('Waves')),
        path(var('Source'), var('Destination'), var('Waves'), var('Path')))).
clause(2,
       waves(var('B'), [var('Wave') | var('Waves')], anonymous(1), var('Waves')),
       (member(var('B'), var('Wave')), !)).
clause(3,
       waves(var('B'), [var('Wave'), var('LastWave') | var('LastWaves')], var('Obstacles'), var('Waves')),
       (next_wave(var('Wave'), var('LastWave'), var('Obstacles'), var('NextWave')),
        waves(var('B'), [var('NextWave'), var('Wave'), var('LastWave') | var('LastWaves')], var('Obstacles'), var('Waves')))).
clause(4,
       next_wave(var('Wave'), var('LastWave'), var('Obstacles'), var('NextWave')),
       setof(var('X'), admissible(var('X'), var('Wave'), var('LastWave'), var('Obstacles')), var('NextWave'))).
clause(7, neighbor([var('X1'), var('Y')], [var('X2'), var('Y')]), next_to(var('X1'), var('X2'))).
clause(8, neighbor([var('X'), var('Y1')], [var('X'), var('Y2')]), next_to(var('Y1'), var('Y2'))).
clause(10, next_to(var('X'), var('X1')), (var('X') > 0, var('X1') is var('X') - 1)).
clause(16, path(var('A'), var('A'), anonymous(1), [var('A')]), !).
clause(17,
       path(var('A'), var('B'), [var('Wave') | var('Waves')], [var('B') | var('Path')]),
       (member(var('B1'), var('Wave')),
        neighbor(var('B'), var('B1')),
        !,
        path(var('A'), var('B1'), var('Waves'), var('Path')))).

step(route([[1, 1], [9, 8], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]], [[9, 8], [9, 7], [9, 6], [9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(1),
     ['Source' = [1, 1],
      'Destination' = [9, 8],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Path' = [[9, 8], [9, 7], [9, 6], [9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]],
     [waves([9, 8], [[[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
      path([1, 1], [9, 8], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[9, 8], [9, 7], [9, 6], [9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]])]).
step(waves([9, 8], [[[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[1, 1]],
      'LastWave' = [],
      'LastWaves' = [],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 1], [1, 0], [1, 2], [2, 1]]],
     [next_wave([[1, 1]], [], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 1], [1, 0], [1, 2], [2, 1]]),
      waves([9, 8], [[[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[1, 1]], [], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 1], [1, 0], [1, 2], [2, 1]]),
     rule(4),
     ['Wave' = [[1, 1]],
      'LastWave' = [],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 1], [1, 0], [1, 2], [2, 1]]],
     [setof(X, admissible(X, [[1, 1]], [], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 1], [1, 0], [1, 2], [2, 1]])]).
step(setof(X, admissible(X, [[1, 1]], [], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 1], [1, 0], [1, 2], [2, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 1], [1, 0], [1, 2], [2, 1]],
      'LastWave' = [[1, 1]],
      'LastWaves' = [[]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]]],
     [next_wave([[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]]),
      waves([9, 8], [[[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]]),
     rule(4),
     ['Wave' = [[0, 1], [1, 0], [1, 2], [2, 1]],
      'LastWave' = [[1, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]]],
     [setof(X, admissible(X, [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]])]).
step(setof(X, admissible(X, [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]],
      'LastWave' = [[0, 1], [1, 0], [1, 2], [2, 1]],
      'LastWaves' = [[[1, 1]], []],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]]],
     [next_wave([[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]]),
      waves([9, 8], [[[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]]),
     rule(4),
     ['Wave' = [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]],
      'LastWave' = [[0, 1], [1, 0], [1, 2], [2, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]]],
     [setof(X, admissible(X, [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]])]).
step(setof(X, admissible(X, [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]],
      'LastWave' = [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]],
      'LastWaves' = [[[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]]],
     [next_wave([[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]]),
      waves([9, 8], [[[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]]),
     rule(4),
     ['Wave' = [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]],
      'LastWave' = [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]]],
     [setof(X, admissible(X, [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]])]).
step(setof(X, admissible(X, [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]],
      'LastWave' = [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]],
      'LastWaves' = [[[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]]],
     [next_wave([[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]]),
      waves([9, 8], [[[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]]),
     rule(4),
     ['Wave' = [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]],
      'LastWave' = [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]]],
     [setof(X, admissible(X, [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]])]).
step(setof(X, admissible(X, [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]],
      'LastWave' = [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]],
      'LastWaves' = [[[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]]],
     [next_wave([[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]]),
      waves([9, 8], [[[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]]),
     rule(4),
     ['Wave' = [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]],
      'LastWave' = [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]]],
     [setof(X, admissible(X, [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]])]).
step(setof(X, admissible(X, [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]],
      'LastWave' = [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]],
      'LastWaves' = [[[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]]],
     [next_wave([[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]]),
      waves([9, 8], [[[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]]),
     rule(4),
     ['Wave' = [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]],
      'LastWave' = [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]]],
     [setof(X, admissible(X, [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]])]).
step(setof(X, admissible(X, [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]],
      'LastWave' = [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]],
      'LastWaves' = [[[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]]],
     [next_wave([[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]]),
      waves([9, 8], [[[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]]),
     rule(4),
     ['Wave' = [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]],
      'LastWave' = [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]]],
     [setof(X, admissible(X, [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]])]).
step(setof(X, admissible(X, [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]],
      'LastWave' = [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]],
      'LastWaves' = [[[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]]],
     [next_wave([[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]]),
      waves([9, 8], [[[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]]),
     rule(4),
     ['Wave' = [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]],
      'LastWave' = [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]]],
     [setof(X, admissible(X, [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]])]).
step(setof(X, admissible(X, [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]],
      'LastWave' = [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]],
      'LastWaves' = [[[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]]],
     [next_wave([[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]]),
      waves([9, 8], [[[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]]),
     rule(4),
     ['Wave' = [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]],
      'LastWave' = [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]]],
     [setof(X, admissible(X, [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]])]).
step(setof(X, admissible(X, [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]],
      'LastWave' = [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]],
      'LastWaves' = [[[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]]],
     [next_wave([[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]]),
      waves([9, 8], [[[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]]),
     rule(4),
     ['Wave' = [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]],
      'LastWave' = [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]]],
     [setof(X, admissible(X, [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]])]).
step(setof(X, admissible(X, [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]],
      'LastWave' = [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]],
      'LastWaves' = [[[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]]],
     [next_wave([[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]]),
      waves([9, 8], [[[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]]),
     rule(4),
     ['Wave' = [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]],
      'LastWave' = [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]]],
     [setof(X, admissible(X, [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]])]).
step(setof(X, admissible(X, [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]],
      'LastWave' = [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]],
      'LastWaves' = [[[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]]],
     [next_wave([[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]]),
      waves([9, 8], [[[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]]),
     rule(4),
     ['Wave' = [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]],
      'LastWave' = [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]]],
     [setof(X, admissible(X, [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]])]).
step(setof(X, admissible(X, [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]],
      'LastWave' = [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]],
      'LastWaves' = [[[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]]],
     [next_wave([[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]]),
      waves([9, 8], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]]),
     rule(4),
     ['Wave' = [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]],
      'LastWave' = [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]]],
     [setof(X, admissible(X, [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]])]).
step(setof(X, admissible(X, [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(3),
     ['B' = [9, 8],
      'Wave' = [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]],
      'LastWave' = [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]],
      'LastWaves' = [[[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'NextWave' = [[0, 15], [1, 16], [2, 15], [3, 14], [4, 13], [5, 12], [6, 11], [7, 10], [8, 9], [9, 8], [10, 7], [11, 6], [12, 5], [13, 4], [14, 3], [15, 0], [15, 2], [16, 1]]],
     [next_wave([[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 15], [1, 16], [2, 15], [3, 14], [4, 13], [5, 12], [6, 11], [7, 10], [8, 9], [9, 8], [10, 7], [11, 6], [12, 5], [13, 4], [14, 3], [15, 0], [15, 2], [16, 1]]),
      waves([9, 8], [[[0, 15], [1, 16], [2, 15], [3, 14], [4, 13], [5, 12], [6, 11], [7, 10], [8, 9], [9, 8], [10, 7], [11, 6], [12, 5], [13, 4], [14, 3], [15, 0], [15, 2], [16, 1]], [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []])]).
step(next_wave([[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[0, 15], [1, 16], [2, 15], [3, 14], [4, 13], [5, 12], [6, 11], [7, 10], [8, 9], [9, 8], [10, 7], [11, 6], [12, 5], [13, 4], [14, 3], [15, 0], [15, 2], [16, 1]]),
     rule(4),
     ['Wave' = [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]],
      'LastWave' = [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]],
      'Obstacles' = [[[2, 3], [4, 5]], [[6, 6], [8, 8]]],
      'NextWave' = [[0, 15], [1, 16], [2, 15], [3, 14], [4, 13], [5, 12], [6, 11], [7, 10], [8, 9], [9, 8], [10, 7], [11, 6], [12, 5], [13, 4], [14, 3], [15, 0], [15, 2], [16, 1]]],
     [setof(X, admissible(X, [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 15], [1, 16], [2, 15], [3, 14], [4, 13], [5, 12], [6, 11], [7, 10], [8, 9], [9, 8], [10, 7], [11, 6], [12, 5], [13, 4], [14, 3], [15, 0], [15, 2], [16, 1]])]).
step(setof(X, admissible(X, [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]]), [[0, 15], [1, 16], [2, 15], [3, 14], [4, 13], [5, 12], [6, 11], [7, 10], [8, 9], [9, 8], [10, 7], [11, 6], [12, 5], [13, 4], [14, 3], [15, 0], [15, 2], [16, 1]]),
     builtin,
     [],
     []).
step(waves([9, 8], [[[0, 15], [1, 16], [2, 15], [3, 14], [4, 13], [5, 12], [6, 11], [7, 10], [8, 9], [9, 8], [10, 7], [11, 6], [12, 5], [13, 4], [14, 3], [15, 0], [15, 2], [16, 1]], [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[[2, 3], [4, 5]], [[6, 6], [8, 8]]], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]),
     rule(2),
     ['B' = [9, 8],
      'Wave' = [[0, 15], [1, 16], [2, 15], [3, 14], [4, 13], [5, 12], [6, 11], [7, 10], [8, 9], [9, 8], [10, 7], [11, 6], [12, 5], [13, 4], [14, 3], [15, 0], [15, 2], [16, 1]],
      'Waves' = [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []]],
     [member([9, 8], [[0, 15], [1, 16], [2, 15], [3, 14], [4, 13], [5, 12], [6, 11], [7, 10], [8, 9], [9, 8], [10, 7], [11, 6], [12, 5], [13, 4], [14, 3], [15, 0], [15, 2], [16, 1]]),
      !]).
step(member([9, 8], [[0, 15], [1, 16], [2, 15], [3, 14], [4, 13], [5, 12], [6, 11], [7, 10], [8, 9], [9, 8], [10, 7], [11, 6], [12, 5], [13, 4], [14, 3], [15, 0], [15, 2], [16, 1]]),
     builtin,
     [],
     []).
step(!, builtin, [], []).
step(path([1, 1], [9, 8], [[[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[9, 8], [9, 7], [9, 6], [9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [9, 8],
      'Wave' = [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]],
      'Waves' = [[[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Path' = [[9, 7], [9, 6], [9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]],
      'B1' = [9, 7]],
     [member([9, 7], [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]]),
      neighbor([9, 8], [9, 7]),
      !,
      path([1, 1], [9, 7], [[[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[9, 7], [9, 6], [9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]])]).
step(member([9, 7], [[0, 14], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10], [7, 9], [9, 7], [10, 6], [11, 5], [12, 4], [13, 3], [14, 0], [14, 2], [15, 1]]),
     builtin,
     [],
     []).
step(neighbor([9, 8], [9, 7]), rule(8), ['X' = 9, 'Y1' = 8, 'Y2' = 7], [next_to(8, 7)]).
step(next_to(8, 7), rule(10), ['X' = 8, 'X1' = 7], [8 > 0, 7 is 8 - 1]).
step(8 > 0, builtin, [], []).
step(7 is 8 - 1, builtin, [], []).
step(path([1, 1], [9, 7], [[[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[9, 7], [9, 6], [9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [9, 7],
      'Wave' = [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]],
      'Waves' = [[[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Path' = [[9, 6], [9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]],
      'B1' = [9, 6]],
     [member([9, 6], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]]),
      neighbor([9, 7], [9, 6]),
      !,
      path([1, 1], [9, 6], [[[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[9, 6], [9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]])]).
step(member([9, 6], [[0, 13], [1, 14], [2, 13], [3, 12], [4, 11], [5, 10], [6, 9], [9, 6], [10, 5], [11, 4], [12, 3], [13, 0], [13, 2], [14, 1]]),
     builtin,
     [],
     []).
step(neighbor([9, 7], [9, 6]), rule(8), ['X' = 9, 'Y1' = 7, 'Y2' = 6], [next_to(7, 6)]).
step(next_to(7, 6), rule(10), ['X' = 7, 'X1' = 6], [7 > 0, 6 is 7 - 1]).
step(7 > 0, builtin, [], []).
step(6 is 7 - 1, builtin, [], []).
step(path([1, 1], [9, 6], [[[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[9, 6], [9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [9, 6],
      'Wave' = [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]],
      'Waves' = [[[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Path' = [[9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]],
      'B1' = [9, 5]],
     [member([9, 5], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]]),
      neighbor([9, 6], [9, 5]),
      !,
      path([1, 1], [9, 5], [[[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]])]).
step(member([9, 5], [[0, 12], [1, 13], [2, 12], [3, 11], [4, 10], [5, 9], [9, 5], [10, 4], [11, 3], [12, 0], [12, 2], [13, 1]]),
     builtin,
     [],
     []).
step(neighbor([9, 6], [9, 5]), rule(8), ['X' = 9, 'Y1' = 6, 'Y2' = 5], [next_to(6, 5)]).
step(next_to(6, 5), rule(10), ['X' = 6, 'X1' = 5], [6 > 0, 5 is 6 - 1]).
step(6 > 0, builtin, [], []).
step(5 is 6 - 1, builtin, [], []).
step(path([1, 1], [9, 5], [[[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[9, 5], [8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [9, 5],
      'Wave' = [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]],
      'Waves' = [[[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Path' = [[8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]],
      'B1' = [8, 5]],
     [member([8, 5], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]]),
      neighbor([9, 5], [8, 5]),
      !,
      path([1, 1], [8, 5], [[[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]])]).
step(member([8, 5], [[0, 11], [1, 12], [2, 11], [3, 10], [4, 9], [5, 8], [8, 5], [9, 4], [10, 3], [11, 0], [11, 2], [12, 1]]),
     builtin,
     [],
     []).
step(neighbor([9, 5], [8, 5]), rule(7), ['X1' = 9, 'Y' = 5, 'X2' = 8], [next_to(9, 8)]).
step(next_to(9, 8), rule(10), ['X' = 9, 'X1' = 8], [9 > 0, 8 is 9 - 1]).
step(9 > 0, builtin, [], []).
step(8 is 9 - 1, builtin, [], []).
step(path([1, 1], [8, 5], [[[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[8, 5], [7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [8, 5],
      'Wave' = [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]],
      'Waves' = [[[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Path' = [[7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]],
      'B1' = [7, 5]],
     [member([7, 5], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]]),
      neighbor([8, 5], [7, 5]),
      !,
      path([1, 1], [7, 5], [[[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]])]).
step(member([7, 5], [[0, 10], [1, 11], [2, 10], [3, 9], [4, 8], [5, 7], [7, 5], [8, 4], [9, 3], [10, 0], [10, 2], [11, 1]]),
     builtin,
     [],
     []).
step(neighbor([8, 5], [7, 5]), rule(7), ['X1' = 8, 'Y' = 5, 'X2' = 7], [next_to(8, 7)]).
step(path([1, 1], [7, 5], [[[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[7, 5], [6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [7, 5],
      'Wave' = [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]],
      'Waves' = [[[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Path' = [[6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]],
      'B1' = [6, 5]],
     [member([6, 5], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]]),
      neighbor([7, 5], [6, 5]),
      !,
      path([1, 1], [6, 5], [[[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]])]).
step(member([6, 5], [[0, 9], [1, 10], [2, 9], [3, 8], [4, 7], [5, 6], [6, 5], [7, 4], [8, 3], [9, 0], [9, 2], [10, 1]]),
     builtin,
     [],
     []).
step(neighbor([7, 5], [6, 5]), rule(7), ['X1' = 7, 'Y' = 5, 'X2' = 6], [next_to(7, 6)]).
step(path([1, 1], [6, 5], [[[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[6, 5], [5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [6, 5],
      'Wave' = [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]],
      'Waves' = [[[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Path' = [[5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]],
      'B1' = [5, 5]],
     [member([5, 5], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]]),
      neighbor([6, 5], [5, 5]),
      !,
      path([1, 1], [5, 5], [[[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]])]).
step(member([5, 5], [[0, 8], [1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 0], [8, 2], [9, 1]]),
     builtin,
     [],
     []).
step(neighbor([6, 5], [5, 5]), rule(7), ['X1' = 6, 'Y' = 5, 'X2' = 5], [next_to(6, 5)]).
step(path([1, 1], [5, 5], [[[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[5, 5], [5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [5, 5],
      'Wave' = [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]],
      'Waves' = [[[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Path' = [[5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]],
      'B1' = [5, 4]],
     [member([5, 4], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]]),
      neighbor([5, 5], [5, 4]),
      !,
      path([1, 1], [5, 4], [[[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]])]).
step(member([5, 4], [[0, 7], [1, 8], [2, 7], [3, 6], [5, 4], [6, 3], [7, 0], [7, 2], [8, 1]]),
     builtin,
     [],
     []).
step(neighbor([5, 5], [5, 4]), rule(8), ['X' = 5, 'Y1' = 5, 'Y2' = 4], [next_to(5, 4)]).
step(next_to(5, 4), rule(10), ['X' = 5, 'X1' = 4], [5 > 0, 4 is 5 - 1]).
step(5 > 0, builtin, [], []).
step(4 is 5 - 1, builtin, [], []).
step(path([1, 1], [5, 4], [[[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[5, 4], [5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [5, 4],
      'Wave' = [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]],
      'Waves' = [[[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Path' = [[5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]],
      'B1' = [5, 3]],
     [member([5, 3], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]]),
      neighbor([5, 4], [5, 3]),
      !,
      path([1, 1], [5, 3], [[[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]])]).
step(member([5, 3], [[0, 6], [1, 7], [2, 6], [5, 3], [6, 0], [6, 2], [7, 1]]), builtin, [], []).
step(neighbor([5, 4], [5, 3]), rule(8), ['X' = 5, 'Y1' = 4, 'Y2' = 3], [next_to(4, 3)]).
step(next_to(4, 3), rule(10), ['X' = 4, 'X1' = 3], [4 > 0, 3 is 4 - 1]).
step(4 > 0, builtin, [], []).
step(3 is 4 - 1, builtin, [], []).
step(path([1, 1], [5, 3], [[[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[5, 3], [5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [5, 3],
      'Wave' = [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]],
      'Waves' = [[[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Path' = [[5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]],
      'B1' = [5, 2]],
     [member([5, 2], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]]),
      neighbor([5, 3], [5, 2]),
      !,
      path([1, 1], [5, 2], [[[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]])]).
step(member([5, 2], [[0, 5], [1, 6], [5, 0], [5, 2], [6, 1]]), builtin, [], []).
step(neighbor([5, 3], [5, 2]), rule(8), ['X' = 5, 'Y1' = 3, 'Y2' = 2], [next_to(3, 2)]).
step(next_to(3, 2), rule(10), ['X' = 3, 'X1' = 2], [3 > 0, 2 is 3 - 1]).
step(3 > 0, builtin, [], []).
step(2 is 3 - 1, builtin, [], []).
step(path([1, 1], [5, 2], [[[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[5, 2], [4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [5, 2],
      'Wave' = [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]],
      'Waves' = [[[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Path' = [[4, 2], [3, 2], [2, 2], [1, 2], [1, 1]],
      'B1' = [4, 2]],
     [member([4, 2], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]]),
      neighbor([5, 2], [4, 2]),
      !,
      path([1, 1], [4, 2], [[[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[4, 2], [3, 2], [2, 2], [1, 2], [1, 1]])]).
step(member([4, 2], [[0, 4], [1, 5], [4, 0], [4, 2], [5, 1]]), builtin, [], []).
step(neighbor([5, 2], [4, 2]), rule(7), ['X1' = 5, 'Y' = 2, 'X2' = 4], [next_to(5, 4)]).
step(path([1, 1], [4, 2], [[[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[4, 2], [3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [4, 2],
      'Wave' = [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]],
      'Waves' = [[[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Path' = [[3, 2], [2, 2], [1, 2], [1, 1]],
      'B1' = [3, 2]],
     [member([3, 2], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]]),
      neighbor([4, 2], [3, 2]),
      !,
      path([1, 1], [3, 2], [[[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[3, 2], [2, 2], [1, 2], [1, 1]])]).
step(member([3, 2], [[0, 3], [1, 4], [3, 0], [3, 2], [4, 1]]), builtin, [], []).
step(neighbor([4, 2], [3, 2]), rule(7), ['X1' = 4, 'Y' = 2, 'X2' = 3], [next_to(4, 3)]).
step(path([1, 1], [3, 2], [[[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]], [[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[3, 2], [2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [3, 2],
      'Wave' = [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]],
      'Waves' = [[[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []],
      'Path' = [[2, 2], [1, 2], [1, 1]],
      'B1' = [2, 2]],
     [member([2, 2], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]]),
      neighbor([3, 2], [2, 2]),
      !,
      path([1, 1], [2, 2], [[[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[2, 2], [1, 2], [1, 1]])]).
step(member([2, 2], [[0, 0], [0, 2], [1, 3], [2, 0], [2, 2], [3, 1]]), builtin, [], []).
step(neighbor([3, 2], [2, 2]), rule(7), ['X1' = 3, 'Y' = 2, 'X2' = 2], [next_to(3, 2)]).
step(path([1, 1], [2, 2], [[[0, 1], [1, 0], [1, 2], [2, 1]], [[1, 1]], []], [[2, 2], [1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [2, 2],
      'Wave' = [[0, 1], [1, 0], [1, 2], [2, 1]],
      'Waves' = [[[1, 1]], []],
      'Path' = [[1, 2], [1, 1]],
      'B1' = [1, 2]],
     [member([1, 2], [[0, 1], [1, 0], [1, 2], [2, 1]]),
      neighbor([2, 2], [1, 2]),
      !,
      path([1, 1], [1, 2], [[[1, 1]], []], [[1, 2], [1, 1]])]).
step(member([1, 2], [[0, 1], [1, 0], [1, 2], [2, 1]]), builtin, [], []).
step(neighbor([2, 2], [1, 2]), rule(7), ['X1' = 2, 'Y' = 2, 'X2' = 1], [next_to(2, 1)]).
step(next_to(2, 1), rule(10), ['X' = 2, 'X1' = 1], [2 > 0, 1 is 2 - 1]).
step(2 > 0, builtin, [], []).
step(1 is 2 - 1, builtin, [], []).
step(path([1, 1], [1, 2], [[[1, 1]], []], [[1, 2], [1, 1]]),
     rule(17),
     ['A' = [1, 1],
      'B' = [1, 2],
      'Wave' = [[1, 1]],
      'Waves' = [[]],
      'Path' = [[1, 1]],
      'B1' = [1, 1]],
     [member([1, 1], [[1, 1]]),
      neighbor([1, 2], [1, 1]),
      !,
      path([1, 1], [1, 1], [[]], [[1, 1]])]).
step(member([1, 1], [[1, 1]]), builtin, [], []).
step(neighbor([1, 2], [1, 1]), rule(8), ['X' = 1, 'Y1' = 2, 'Y2' = 1], [next_to(2, 1)]).
step(path([1, 1], [1, 1], [[]], [[1, 1]]), rule(16), ['A' = [1, 1]], "!").
