bench_result([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]).

clause(1, nrev([], []), true).
clause(2,
       nrev([var('X') | var('Rest')], var('Ans')),
       (nrev(var('Rest'), var('L')), concatenate(var('L'), [var('X')], var('Ans')))).
clause(3, concatenate([], var('L'), var('L')), true).
clause(4,
       concatenate([var('X') | var('L1')], var('L2'), [var('X') | var('L3')]),
       concatenate(var('L1'), var('L2'), var('L3'))).
clause(5,
       data([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]),
       true).
clause(6,
       bench_result(var('Reversed')),
       (data(var('List')), nrev(var('List'), var('Reversed')))).

step(bench_result([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(6),
     ['Reversed' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1],
      'List' = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]],
     [data([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]),
      nrev([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(data([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]),
     fact(5),
     [],
     []).
step(nrev([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(2),
     ['X' = 1,
      'Rest' = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [nrev([2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(nrev([2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(2),
     ['X' = 2,
      'Rest' = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [nrev([3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(nrev([3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(2),
     ['X' = 3,
      'Rest' = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [nrev([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(nrev([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(2),
     ['X' = 4,
      'Rest' = [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [nrev([5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(nrev([5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(2),
     ['X' = 5,
      'Rest' = [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [nrev([6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(nrev([6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(2),
     ['X' = 6,
      'Rest' = [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [nrev([7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(nrev([7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(2),
     ['X' = 7,
      'Rest' = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [nrev([8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(nrev([8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(2),
     ['X' = 8,
      'Rest' = [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [nrev([9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(nrev([9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(2),
     ['X' = 9,
      'Rest' = [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]],
     [nrev([10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(nrev([10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(2),
     ['X' = 10,
      'Rest' = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]],
     [nrev([11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10])]).
step(nrev([11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]),
     rule(2),
     ['X' = 11,
      'Rest' = [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]],
     [nrev([12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11])]).
step(nrev([12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]),
     rule(2),
     ['X' = 12,
      'Rest' = [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]],
     [nrev([13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12])]).
step(nrev([13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]),
     rule(2),
     ['X' = 13,
      'Rest' = [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]],
     [nrev([14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13])]).
step(nrev([14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]),
     rule(2),
     ['X' = 14,
      'Rest' = [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]],
     [nrev([15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14])]).
step(nrev([15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]),
     rule(2),
     ['X' = 15,
      'Rest' = [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16]],
     [nrev([16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15])]).
step(nrev([16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16]),
     rule(2),
     ['X' = 16,
      'Rest' = [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17]],
     [nrev([17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17], [16], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16])]).
step(nrev([17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17]),
     rule(2),
     ['X' = 17,
      'Rest' = [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18]],
     [nrev([18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18], [17], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17])]).
step(nrev([18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18]),
     rule(2),
     ['X' = 18,
      'Rest' = [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19]],
     [nrev([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19], [18], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18])]).
step(nrev([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19]),
     rule(2),
     ['X' = 19,
      'Rest' = [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20]],
     [nrev([20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20], [19], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19])]).
step(nrev([20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20]),
     rule(2),
     ['X' = 20,
      'Rest' = [21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21]],
     [nrev([21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21], [20], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20])]).
step(nrev([21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21]),
     rule(2),
     ['X' = 21,
      'Rest' = [22, 23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23, 22]],
     [nrev([22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22], [21], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21])]).
step(nrev([22, 23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23, 22]),
     rule(2),
     ['X' = 22,
      'Rest' = [23, 24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23, 22],
      'L' = [30, 29, 28, 27, 26, 25, 24, 23]],
     [nrev([23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23]),
      concatenate([30, 29, 28, 27, 26, 25, 24, 23], [22], [30, 29, 28, 27, 26, 25, 24, 23, 22])]).
step(nrev([23, 24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24, 23]),
     rule(2),
     ['X' = 23,
      'Rest' = [24, 25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24, 23],
      'L' = [30, 29, 28, 27, 26, 25, 24]],
     [nrev([24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24]),
      concatenate([30, 29, 28, 27, 26, 25, 24], [23], [30, 29, 28, 27, 26, 25, 24, 23])]).
step(nrev([24, 25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25, 24]),
     rule(2),
     ['X' = 24,
      'Rest' = [25, 26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25, 24],
      'L' = [30, 29, 28, 27, 26, 25]],
     [nrev([25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25]),
      concatenate([30, 29, 28, 27, 26, 25], [24], [30, 29, 28, 27, 26, 25, 24])]).
step(nrev([25, 26, 27, 28, 29, 30], [30, 29, 28, 27, 26, 25]),
     rule(2),
     ['X' = 25,
      'Rest' = [26, 27, 28, 29, 30],
      'Ans' = [30, 29, 28, 27, 26, 25],
      'L' = [30, 29, 28, 27, 26]],
     [nrev([26, 27, 28, 29, 30], [30, 29, 28, 27, 26]),
      concatenate([30, 29, 28, 27, 26], [25], [30, 29, 28, 27, 26, 25])]).
step(nrev([26, 27, 28, 29, 30], [30, 29, 28, 27, 26]),
     rule(2),
     ['X' = 26, 'Rest' = [27, 28, 29, 30], 'Ans' = [30, 29, 28, 27, 26], 'L' = [30, 29, 28, 27]],
     [nrev([27, 28, 29, 30], [30, 29, 28, 27]),
      concatenate([30, 29, 28, 27], [26], [30, 29, 28, 27, 26])]).
step(nrev([27, 28, 29, 30], [30, 29, 28, 27]),
     rule(2),
     ['X' = 27, 'Rest' = [28, 29, 30], 'Ans' = [30, 29, 28, 27], 'L' = [30, 29, 28]],
     [nrev([28, 29, 30], [30, 29, 28]), concatenate([30, 29, 28], [27], [30, 29, 28, 27])]).
step(nrev([28, 29, 30], [30, 29, 28]),
     rule(2),
     ['X' = 28, 'Rest' = [29, 30], 'Ans' = [30, 29, 28], 'L' = [30, 29]],
     [nrev([29, 30], [30, 29]), concatenate([30, 29], [28], [30, 29, 28])]).
step(nrev([29, 30], [30, 29]),
     rule(2),
     ['X' = 29, 'Rest' = [30], 'Ans' = [30, 29], 'L' = [30]],
     [nrev([30], [30]), concatenate([30], [29], [30, 29])]).
step(nrev([30], [30]),
     rule(2),
     ['X' = 30, 'Rest' = [], 'Ans' = [30], 'L' = []],
     [nrev([], []), concatenate([], [30], [30])]).
step(nrev([], []), fact(1), [], []).
step(concatenate([], [30], [30]), fact(3), ['L' = [30]], []).
step(concatenate([30], [29], [30, 29]),
     rule(4),
     ['X' = 30, 'L1' = [], 'L2' = [29], 'L3' = [29]],
     [concatenate([], [29], [29])]).
step(concatenate([], [29], [29]), fact(3), ['L' = [29]], []).
step(concatenate([30, 29], [28], [30, 29, 28]),
     rule(4),
     ['X' = 30, 'L1' = [29], 'L2' = [28], 'L3' = [29, 28]],
     [concatenate([29], [28], [29, 28])]).
step(concatenate([29], [28], [29, 28]),
     rule(4),
     ['X' = 29, 'L1' = [], 'L2' = [28], 'L3' = [28]],
     [concatenate([], [28], [28])]).
step(concatenate([], [28], [28]), fact(3), ['L' = [28]], []).
step(concatenate([30, 29, 28], [27], [30, 29, 28, 27]),
     rule(4),
     ['X' = 30, 'L1' = [29, 28], 'L2' = [27], 'L3' = [29, 28, 27]],
     [concatenate([29, 28], [27], [29, 28, 27])]).
step(concatenate([29, 28], [27], [29, 28, 27]),
     rule(4),
     ['X' = 29, 'L1' = [28], 'L2' = [27], 'L3' = [28, 27]],
     [concatenate([28], [27], [28, 27])]).
step(concatenate([28], [27], [28, 27]),
     rule(4),
     ['X' = 28, 'L1' = [], 'L2' = [27], 'L3' = [27]],
     [concatenate([], [27], [27])]).
step(concatenate([], [27], [27]), fact(3), ['L' = [27]], []).
step(concatenate([30, 29, 28, 27], [26], [30, 29, 28, 27, 26]),
     rule(4),
     ['X' = 30, 'L1' = [29, 28, 27], 'L2' = [26], 'L3' = [29, 28, 27, 26]],
     [concatenate([29, 28, 27], [26], [29, 28, 27, 26])]).
step(concatenate([29, 28, 27], [26], [29, 28, 27, 26]),
     rule(4),
     ['X' = 29, 'L1' = [28, 27], 'L2' = [26], 'L3' = [28, 27, 26]],
     [concatenate([28, 27], [26], [28, 27, 26])]).
step(concatenate([28, 27], [26], [28, 27, 26]),
     rule(4),
     ['X' = 28, 'L1' = [27], 'L2' = [26], 'L3' = [27, 26]],
     [concatenate([27], [26], [27, 26])]).
step(concatenate([27], [26], [27, 26]),
     rule(4),
     ['X' = 27, 'L1' = [], 'L2' = [26], 'L3' = [26]],
     [concatenate([], [26], [26])]).
step(concatenate([], [26], [26]), fact(3), ['L' = [26]], []).
step(concatenate([30, 29, 28, 27, 26], [25], [30, 29, 28, 27, 26, 25]),
     rule(4),
     ['X' = 30, 'L1' = [29, 28, 27, 26], 'L2' = [25], 'L3' = [29, 28, 27, 26, 25]],
     [concatenate([29, 28, 27, 26], [25], [29, 28, 27, 26, 25])]).
step(concatenate([29, 28, 27, 26], [25], [29, 28, 27, 26, 25]),
     rule(4),
     ['X' = 29, 'L1' = [28, 27, 26], 'L2' = [25], 'L3' = [28, 27, 26, 25]],
     [concatenate([28, 27, 26], [25], [28, 27, 26, 25])]).
step(concatenate([28, 27, 26], [25], [28, 27, 26, 25]),
     rule(4),
     ['X' = 28, 'L1' = [27, 26], 'L2' = [25], 'L3' = [27, 26, 25]],
     [concatenate([27, 26], [25], [27, 26, 25])]).
step(concatenate([27, 26], [25], [27, 26, 25]),
     rule(4),
     ['X' = 27, 'L1' = [26], 'L2' = [25], 'L3' = [26, 25]],
     [concatenate([26], [25], [26, 25])]).
step(concatenate([26], [25], [26, 25]),
     rule(4),
     ['X' = 26, 'L1' = [], 'L2' = [25], 'L3' = [25]],
     [concatenate([], [25], [25])]).
step(concatenate([], [25], [25]), fact(3), ['L' = [25]], []).
step(concatenate([30, 29, 28, 27, 26, 25], [24], [30, 29, 28, 27, 26, 25, 24]),
     rule(4),
     ['X' = 30, 'L1' = [29, 28, 27, 26, 25], 'L2' = [24], 'L3' = [29, 28, 27, 26, 25, 24]],
     [concatenate([29, 28, 27, 26, 25], [24], [29, 28, 27, 26, 25, 24])]).
step(concatenate([29, 28, 27, 26, 25], [24], [29, 28, 27, 26, 25, 24]),
     rule(4),
     ['X' = 29, 'L1' = [28, 27, 26, 25], 'L2' = [24], 'L3' = [28, 27, 26, 25, 24]],
     [concatenate([28, 27, 26, 25], [24], [28, 27, 26, 25, 24])]).
step(concatenate([28, 27, 26, 25], [24], [28, 27, 26, 25, 24]),
     rule(4),
     ['X' = 28, 'L1' = [27, 26, 25], 'L2' = [24], 'L3' = [27, 26, 25, 24]],
     [concatenate([27, 26, 25], [24], [27, 26, 25, 24])]).
step(concatenate([27, 26, 25], [24], [27, 26, 25, 24]),
     rule(4),
     ['X' = 27, 'L1' = [26, 25], 'L2' = [24], 'L3' = [26, 25, 24]],
     [concatenate([26, 25], [24], [26, 25, 24])]).
step(concatenate([26, 25], [24], [26, 25, 24]),
     rule(4),
     ['X' = 26, 'L1' = [25], 'L2' = [24], 'L3' = [25, 24]],
     [concatenate([25], [24], [25, 24])]).
step(concatenate([25], [24], [25, 24]),
     rule(4),
     ['X' = 25, 'L1' = [], 'L2' = [24], 'L3' = [24]],
     [concatenate([], [24], [24])]).
step(concatenate([], [24], [24]), fact(3), ['L' = [24]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24], [23], [30, 29, 28, 27, 26, 25, 24, 23]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24],
      'L2' = [23],
      'L3' = [29, 28, 27, 26, 25, 24, 23]],
     [concatenate([29, 28, 27, 26, 25, 24], [23], [29, 28, 27, 26, 25, 24, 23])]).
step(concatenate([29, 28, 27, 26, 25, 24], [23], [29, 28, 27, 26, 25, 24, 23]),
     rule(4),
     ['X' = 29, 'L1' = [28, 27, 26, 25, 24], 'L2' = [23], 'L3' = [28, 27, 26, 25, 24, 23]],
     [concatenate([28, 27, 26, 25, 24], [23], [28, 27, 26, 25, 24, 23])]).
step(concatenate([28, 27, 26, 25, 24], [23], [28, 27, 26, 25, 24, 23]),
     rule(4),
     ['X' = 28, 'L1' = [27, 26, 25, 24], 'L2' = [23], 'L3' = [27, 26, 25, 24, 23]],
     [concatenate([27, 26, 25, 24], [23], [27, 26, 25, 24, 23])]).
step(concatenate([27, 26, 25, 24], [23], [27, 26, 25, 24, 23]),
     rule(4),
     ['X' = 27, 'L1' = [26, 25, 24], 'L2' = [23], 'L3' = [26, 25, 24, 23]],
     [concatenate([26, 25, 24], [23], [26, 25, 24, 23])]).
step(concatenate([26, 25, 24], [23], [26, 25, 24, 23]),
     rule(4),
     ['X' = 26, 'L1' = [25, 24], 'L2' = [23], 'L3' = [25, 24, 23]],
     [concatenate([25, 24], [23], [25, 24, 23])]).
step(concatenate([25, 24], [23], [25, 24, 23]),
     rule(4),
     ['X' = 25, 'L1' = [24], 'L2' = [23], 'L3' = [24, 23]],
     [concatenate([24], [23], [24, 23])]).
step(concatenate([24], [23], [24, 23]),
     rule(4),
     ['X' = 24, 'L1' = [], 'L2' = [23], 'L3' = [23]],
     [concatenate([], [23], [23])]).
step(concatenate([], [23], [23]), fact(3), ['L' = [23]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23], [22], [30, 29, 28, 27, 26, 25, 24, 23, 22]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23],
      'L2' = [22],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22]],
     [concatenate([29, 28, 27, 26, 25, 24, 23], [22], [29, 28, 27, 26, 25, 24, 23, 22])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23], [22], [29, 28, 27, 26, 25, 24, 23, 22]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23],
      'L2' = [22],
      'L3' = [28, 27, 26, 25, 24, 23, 22]],
     [concatenate([28, 27, 26, 25, 24, 23], [22], [28, 27, 26, 25, 24, 23, 22])]).
step(concatenate([28, 27, 26, 25, 24, 23], [22], [28, 27, 26, 25, 24, 23, 22]),
     rule(4),
     ['X' = 28, 'L1' = [27, 26, 25, 24, 23], 'L2' = [22], 'L3' = [27, 26, 25, 24, 23, 22]],
     [concatenate([27, 26, 25, 24, 23], [22], [27, 26, 25, 24, 23, 22])]).
step(concatenate([27, 26, 25, 24, 23], [22], [27, 26, 25, 24, 23, 22]),
     rule(4),
     ['X' = 27, 'L1' = [26, 25, 24, 23], 'L2' = [22], 'L3' = [26, 25, 24, 23, 22]],
     [concatenate([26, 25, 24, 23], [22], [26, 25, 24, 23, 22])]).
step(concatenate([26, 25, 24, 23], [22], [26, 25, 24, 23, 22]),
     rule(4),
     ['X' = 26, 'L1' = [25, 24, 23], 'L2' = [22], 'L3' = [25, 24, 23, 22]],
     [concatenate([25, 24, 23], [22], [25, 24, 23, 22])]).
step(concatenate([25, 24, 23], [22], [25, 24, 23, 22]),
     rule(4),
     ['X' = 25, 'L1' = [24, 23], 'L2' = [22], 'L3' = [24, 23, 22]],
     [concatenate([24, 23], [22], [24, 23, 22])]).
step(concatenate([24, 23], [22], [24, 23, 22]),
     rule(4),
     ['X' = 24, 'L1' = [23], 'L2' = [22], 'L3' = [23, 22]],
     [concatenate([23], [22], [23, 22])]).
step(concatenate([23], [22], [23, 22]),
     rule(4),
     ['X' = 23, 'L1' = [], 'L2' = [22], 'L3' = [22]],
     [concatenate([], [22], [22])]).
step(concatenate([], [22], [22]), fact(3), ['L' = [22]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22], [21], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22],
      'L2' = [21],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22], [21], [29, 28, 27, 26, 25, 24, 23, 22, 21])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22], [21], [29, 28, 27, 26, 25, 24, 23, 22, 21]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22],
      'L2' = [21],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21]],
     [concatenate([28, 27, 26, 25, 24, 23, 22], [21], [28, 27, 26, 25, 24, 23, 22, 21])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22], [21], [28, 27, 26, 25, 24, 23, 22, 21]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22],
      'L2' = [21],
      'L3' = [27, 26, 25, 24, 23, 22, 21]],
     [concatenate([27, 26, 25, 24, 23, 22], [21], [27, 26, 25, 24, 23, 22, 21])]).
step(concatenate([27, 26, 25, 24, 23, 22], [21], [27, 26, 25, 24, 23, 22, 21]),
     rule(4),
     ['X' = 27, 'L1' = [26, 25, 24, 23, 22], 'L2' = [21], 'L3' = [26, 25, 24, 23, 22, 21]],
     [concatenate([26, 25, 24, 23, 22], [21], [26, 25, 24, 23, 22, 21])]).
step(concatenate([26, 25, 24, 23, 22], [21], [26, 25, 24, 23, 22, 21]),
     rule(4),
     ['X' = 26, 'L1' = [25, 24, 23, 22], 'L2' = [21], 'L3' = [25, 24, 23, 22, 21]],
     [concatenate([25, 24, 23, 22], [21], [25, 24, 23, 22, 21])]).
step(concatenate([25, 24, 23, 22], [21], [25, 24, 23, 22, 21]),
     rule(4),
     ['X' = 25, 'L1' = [24, 23, 22], 'L2' = [21], 'L3' = [24, 23, 22, 21]],
     [concatenate([24, 23, 22], [21], [24, 23, 22, 21])]).
step(concatenate([24, 23, 22], [21], [24, 23, 22, 21]),
     rule(4),
     ['X' = 24, 'L1' = [23, 22], 'L2' = [21], 'L3' = [23, 22, 21]],
     [concatenate([23, 22], [21], [23, 22, 21])]).
step(concatenate([23, 22], [21], [23, 22, 21]),
     rule(4),
     ['X' = 23, 'L1' = [22], 'L2' = [21], 'L3' = [22, 21]],
     [concatenate([22], [21], [22, 21])]).
step(concatenate([22], [21], [22, 21]),
     rule(4),
     ['X' = 22, 'L1' = [], 'L2' = [21], 'L3' = [21]],
     [concatenate([], [21], [21])]).
step(concatenate([], [21], [21]), fact(3), ['L' = [21]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21], [20], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21],
      'L2' = [20],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21], [20], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21], [20], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21],
      'L2' = [20],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21], [20], [28, 27, 26, 25, 24, 23, 22, 21, 20])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21], [20], [28, 27, 26, 25, 24, 23, 22, 21, 20]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21],
      'L2' = [20],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20]],
     [concatenate([27, 26, 25, 24, 23, 22, 21], [20], [27, 26, 25, 24, 23, 22, 21, 20])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21], [20], [27, 26, 25, 24, 23, 22, 21, 20]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21],
      'L2' = [20],
      'L3' = [26, 25, 24, 23, 22, 21, 20]],
     [concatenate([26, 25, 24, 23, 22, 21], [20], [26, 25, 24, 23, 22, 21, 20])]).
step(concatenate([26, 25, 24, 23, 22, 21], [20], [26, 25, 24, 23, 22, 21, 20]),
     rule(4),
     ['X' = 26, 'L1' = [25, 24, 23, 22, 21], 'L2' = [20], 'L3' = [25, 24, 23, 22, 21, 20]],
     [concatenate([25, 24, 23, 22, 21], [20], [25, 24, 23, 22, 21, 20])]).
step(concatenate([25, 24, 23, 22, 21], [20], [25, 24, 23, 22, 21, 20]),
     rule(4),
     ['X' = 25, 'L1' = [24, 23, 22, 21], 'L2' = [20], 'L3' = [24, 23, 22, 21, 20]],
     [concatenate([24, 23, 22, 21], [20], [24, 23, 22, 21, 20])]).
step(concatenate([24, 23, 22, 21], [20], [24, 23, 22, 21, 20]),
     rule(4),
     ['X' = 24, 'L1' = [23, 22, 21], 'L2' = [20], 'L3' = [23, 22, 21, 20]],
     [concatenate([23, 22, 21], [20], [23, 22, 21, 20])]).
step(concatenate([23, 22, 21], [20], [23, 22, 21, 20]),
     rule(4),
     ['X' = 23, 'L1' = [22, 21], 'L2' = [20], 'L3' = [22, 21, 20]],
     [concatenate([22, 21], [20], [22, 21, 20])]).
step(concatenate([22, 21], [20], [22, 21, 20]),
     rule(4),
     ['X' = 22, 'L1' = [21], 'L2' = [20], 'L3' = [21, 20]],
     [concatenate([21], [20], [21, 20])]).
step(concatenate([21], [20], [21, 20]),
     rule(4),
     ['X' = 21, 'L1' = [], 'L2' = [20], 'L3' = [20]],
     [concatenate([], [20], [20])]).
step(concatenate([], [20], [20]), fact(3), ['L' = [20]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20], [19], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20],
      'L2' = [19],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20], [19], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20], [19], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20],
      'L2' = [19],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20], [19], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20], [19], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20],
      'L2' = [19],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20], [19], [27, 26, 25, 24, 23, 22, 21, 20, 19])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20], [19], [27, 26, 25, 24, 23, 22, 21, 20, 19]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20],
      'L2' = [19],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19]],
     [concatenate([26, 25, 24, 23, 22, 21, 20], [19], [26, 25, 24, 23, 22, 21, 20, 19])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20], [19], [26, 25, 24, 23, 22, 21, 20, 19]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20],
      'L2' = [19],
      'L3' = [25, 24, 23, 22, 21, 20, 19]],
     [concatenate([25, 24, 23, 22, 21, 20], [19], [25, 24, 23, 22, 21, 20, 19])]).
step(concatenate([25, 24, 23, 22, 21, 20], [19], [25, 24, 23, 22, 21, 20, 19]),
     rule(4),
     ['X' = 25, 'L1' = [24, 23, 22, 21, 20], 'L2' = [19], 'L3' = [24, 23, 22, 21, 20, 19]],
     [concatenate([24, 23, 22, 21, 20], [19], [24, 23, 22, 21, 20, 19])]).
step(concatenate([24, 23, 22, 21, 20], [19], [24, 23, 22, 21, 20, 19]),
     rule(4),
     ['X' = 24, 'L1' = [23, 22, 21, 20], 'L2' = [19], 'L3' = [23, 22, 21, 20, 19]],
     [concatenate([23, 22, 21, 20], [19], [23, 22, 21, 20, 19])]).
step(concatenate([23, 22, 21, 20], [19], [23, 22, 21, 20, 19]),
     rule(4),
     ['X' = 23, 'L1' = [22, 21, 20], 'L2' = [19], 'L3' = [22, 21, 20, 19]],
     [concatenate([22, 21, 20], [19], [22, 21, 20, 19])]).
step(concatenate([22, 21, 20], [19], [22, 21, 20, 19]),
     rule(4),
     ['X' = 22, 'L1' = [21, 20], 'L2' = [19], 'L3' = [21, 20, 19]],
     [concatenate([21, 20], [19], [21, 20, 19])]).
step(concatenate([21, 20], [19], [21, 20, 19]),
     rule(4),
     ['X' = 21, 'L1' = [20], 'L2' = [19], 'L3' = [20, 19]],
     [concatenate([20], [19], [20, 19])]).
step(concatenate([20], [19], [20, 19]),
     rule(4),
     ['X' = 20, 'L1' = [], 'L2' = [19], 'L3' = [19]],
     [concatenate([], [19], [19])]).
step(concatenate([], [19], [19]), fact(3), ['L' = [19]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19], [18], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19],
      'L2' = [18],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19], [18], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19], [18], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19],
      'L2' = [18],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19], [18], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19], [18], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19],
      'L2' = [18],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19], [18], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19], [18], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19],
      'L2' = [18],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19], [18], [26, 25, 24, 23, 22, 21, 20, 19, 18])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19], [18], [26, 25, 24, 23, 22, 21, 20, 19, 18]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19],
      'L2' = [18],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18]],
     [concatenate([25, 24, 23, 22, 21, 20, 19], [18], [25, 24, 23, 22, 21, 20, 19, 18])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19], [18], [25, 24, 23, 22, 21, 20, 19, 18]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19],
      'L2' = [18],
      'L3' = [24, 23, 22, 21, 20, 19, 18]],
     [concatenate([24, 23, 22, 21, 20, 19], [18], [24, 23, 22, 21, 20, 19, 18])]).
step(concatenate([24, 23, 22, 21, 20, 19], [18], [24, 23, 22, 21, 20, 19, 18]),
     rule(4),
     ['X' = 24, 'L1' = [23, 22, 21, 20, 19], 'L2' = [18], 'L3' = [23, 22, 21, 20, 19, 18]],
     [concatenate([23, 22, 21, 20, 19], [18], [23, 22, 21, 20, 19, 18])]).
step(concatenate([23, 22, 21, 20, 19], [18], [23, 22, 21, 20, 19, 18]),
     rule(4),
     ['X' = 23, 'L1' = [22, 21, 20, 19], 'L2' = [18], 'L3' = [22, 21, 20, 19, 18]],
     [concatenate([22, 21, 20, 19], [18], [22, 21, 20, 19, 18])]).
step(concatenate([22, 21, 20, 19], [18], [22, 21, 20, 19, 18]),
     rule(4),
     ['X' = 22, 'L1' = [21, 20, 19], 'L2' = [18], 'L3' = [21, 20, 19, 18]],
     [concatenate([21, 20, 19], [18], [21, 20, 19, 18])]).
step(concatenate([21, 20, 19], [18], [21, 20, 19, 18]),
     rule(4),
     ['X' = 21, 'L1' = [20, 19], 'L2' = [18], 'L3' = [20, 19, 18]],
     [concatenate([20, 19], [18], [20, 19, 18])]).
step(concatenate([20, 19], [18], [20, 19, 18]),
     rule(4),
     ['X' = 20, 'L1' = [19], 'L2' = [18], 'L3' = [19, 18]],
     [concatenate([19], [18], [19, 18])]).
step(concatenate([19], [18], [19, 18]),
     rule(4),
     ['X' = 19, 'L1' = [], 'L2' = [18], 'L3' = [18]],
     [concatenate([], [18], [18])]).
step(concatenate([], [18], [18]), fact(3), ['L' = [18]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18], [17], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18],
      'L2' = [17],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18], [17], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18], [17], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18],
      'L2' = [17],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18], [17], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18], [17], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18],
      'L2' = [17],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18], [17], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18], [17], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18],
      'L2' = [17],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18], [17], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18], [17], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18],
      'L2' = [17],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18], [17], [25, 24, 23, 22, 21, 20, 19, 18, 17])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18], [17], [25, 24, 23, 22, 21, 20, 19, 18, 17]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18],
      'L2' = [17],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17]],
     [concatenate([24, 23, 22, 21, 20, 19, 18], [17], [24, 23, 22, 21, 20, 19, 18, 17])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18], [17], [24, 23, 22, 21, 20, 19, 18, 17]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18],
      'L2' = [17],
      'L3' = [23, 22, 21, 20, 19, 18, 17]],
     [concatenate([23, 22, 21, 20, 19, 18], [17], [23, 22, 21, 20, 19, 18, 17])]).
step(concatenate([23, 22, 21, 20, 19, 18], [17], [23, 22, 21, 20, 19, 18, 17]),
     rule(4),
     ['X' = 23, 'L1' = [22, 21, 20, 19, 18], 'L2' = [17], 'L3' = [22, 21, 20, 19, 18, 17]],
     [concatenate([22, 21, 20, 19, 18], [17], [22, 21, 20, 19, 18, 17])]).
step(concatenate([22, 21, 20, 19, 18], [17], [22, 21, 20, 19, 18, 17]),
     rule(4),
     ['X' = 22, 'L1' = [21, 20, 19, 18], 'L2' = [17], 'L3' = [21, 20, 19, 18, 17]],
     [concatenate([21, 20, 19, 18], [17], [21, 20, 19, 18, 17])]).
step(concatenate([21, 20, 19, 18], [17], [21, 20, 19, 18, 17]),
     rule(4),
     ['X' = 21, 'L1' = [20, 19, 18], 'L2' = [17], 'L3' = [20, 19, 18, 17]],
     [concatenate([20, 19, 18], [17], [20, 19, 18, 17])]).
step(concatenate([20, 19, 18], [17], [20, 19, 18, 17]),
     rule(4),
     ['X' = 20, 'L1' = [19, 18], 'L2' = [17], 'L3' = [19, 18, 17]],
     [concatenate([19, 18], [17], [19, 18, 17])]).
step(concatenate([19, 18], [17], [19, 18, 17]),
     rule(4),
     ['X' = 19, 'L1' = [18], 'L2' = [17], 'L3' = [18, 17]],
     [concatenate([18], [17], [18, 17])]).
step(concatenate([18], [17], [18, 17]),
     rule(4),
     ['X' = 18, 'L1' = [], 'L2' = [17], 'L3' = [17]],
     [concatenate([], [17], [17])]).
step(concatenate([], [17], [17]), fact(3), ['L' = [17]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17], [16], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17],
      'L2' = [16],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17], [16], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17], [16], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17],
      'L2' = [16],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17], [16], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17], [16], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17],
      'L2' = [16],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17], [16], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17], [16], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17],
      'L2' = [16],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17], [16], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17], [16], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17],
      'L2' = [16],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17], [16], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17], [16], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17],
      'L2' = [16],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17], [16], [24, 23, 22, 21, 20, 19, 18, 17, 16])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17], [16], [24, 23, 22, 21, 20, 19, 18, 17, 16]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17],
      'L2' = [16],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16]],
     [concatenate([23, 22, 21, 20, 19, 18, 17], [16], [23, 22, 21, 20, 19, 18, 17, 16])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17], [16], [23, 22, 21, 20, 19, 18, 17, 16]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17],
      'L2' = [16],
      'L3' = [22, 21, 20, 19, 18, 17, 16]],
     [concatenate([22, 21, 20, 19, 18, 17], [16], [22, 21, 20, 19, 18, 17, 16])]).
step(concatenate([22, 21, 20, 19, 18, 17], [16], [22, 21, 20, 19, 18, 17, 16]),
     rule(4),
     ['X' = 22, 'L1' = [21, 20, 19, 18, 17], 'L2' = [16], 'L3' = [21, 20, 19, 18, 17, 16]],
     [concatenate([21, 20, 19, 18, 17], [16], [21, 20, 19, 18, 17, 16])]).
step(concatenate([21, 20, 19, 18, 17], [16], [21, 20, 19, 18, 17, 16]),
     rule(4),
     ['X' = 21, 'L1' = [20, 19, 18, 17], 'L2' = [16], 'L3' = [20, 19, 18, 17, 16]],
     [concatenate([20, 19, 18, 17], [16], [20, 19, 18, 17, 16])]).
step(concatenate([20, 19, 18, 17], [16], [20, 19, 18, 17, 16]),
     rule(4),
     ['X' = 20, 'L1' = [19, 18, 17], 'L2' = [16], 'L3' = [19, 18, 17, 16]],
     [concatenate([19, 18, 17], [16], [19, 18, 17, 16])]).
step(concatenate([19, 18, 17], [16], [19, 18, 17, 16]),
     rule(4),
     ['X' = 19, 'L1' = [18, 17], 'L2' = [16], 'L3' = [18, 17, 16]],
     [concatenate([18, 17], [16], [18, 17, 16])]).
step(concatenate([18, 17], [16], [18, 17, 16]),
     rule(4),
     ['X' = 18, 'L1' = [17], 'L2' = [16], 'L3' = [17, 16]],
     [concatenate([17], [16], [17, 16])]).
step(concatenate([17], [16], [17, 16]),
     rule(4),
     ['X' = 17, 'L1' = [], 'L2' = [16], 'L3' = [16]],
     [concatenate([], [16], [16])]).
step(concatenate([], [16], [16]), fact(3), ['L' = [16]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16],
      'L2' = [15],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16],
      'L2' = [15],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16],
      'L2' = [15],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16],
      'L2' = [15],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16],
      'L2' = [15],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16],
      'L2' = [15],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16], [15], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16],
      'L2' = [15],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16], [15], [23, 22, 21, 20, 19, 18, 17, 16, 15])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16], [15], [23, 22, 21, 20, 19, 18, 17, 16, 15]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16],
      'L2' = [15],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15]],
     [concatenate([22, 21, 20, 19, 18, 17, 16], [15], [22, 21, 20, 19, 18, 17, 16, 15])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16], [15], [22, 21, 20, 19, 18, 17, 16, 15]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16],
      'L2' = [15],
      'L3' = [21, 20, 19, 18, 17, 16, 15]],
     [concatenate([21, 20, 19, 18, 17, 16], [15], [21, 20, 19, 18, 17, 16, 15])]).
step(concatenate([21, 20, 19, 18, 17, 16], [15], [21, 20, 19, 18, 17, 16, 15]),
     rule(4),
     ['X' = 21, 'L1' = [20, 19, 18, 17, 16], 'L2' = [15], 'L3' = [20, 19, 18, 17, 16, 15]],
     [concatenate([20, 19, 18, 17, 16], [15], [20, 19, 18, 17, 16, 15])]).
step(concatenate([20, 19, 18, 17, 16], [15], [20, 19, 18, 17, 16, 15]),
     rule(4),
     ['X' = 20, 'L1' = [19, 18, 17, 16], 'L2' = [15], 'L3' = [19, 18, 17, 16, 15]],
     [concatenate([19, 18, 17, 16], [15], [19, 18, 17, 16, 15])]).
step(concatenate([19, 18, 17, 16], [15], [19, 18, 17, 16, 15]),
     rule(4),
     ['X' = 19, 'L1' = [18, 17, 16], 'L2' = [15], 'L3' = [18, 17, 16, 15]],
     [concatenate([18, 17, 16], [15], [18, 17, 16, 15])]).
step(concatenate([18, 17, 16], [15], [18, 17, 16, 15]),
     rule(4),
     ['X' = 18, 'L1' = [17, 16], 'L2' = [15], 'L3' = [17, 16, 15]],
     [concatenate([17, 16], [15], [17, 16, 15])]).
step(concatenate([17, 16], [15], [17, 16, 15]),
     rule(4),
     ['X' = 17, 'L1' = [16], 'L2' = [15], 'L3' = [16, 15]],
     [concatenate([16], [15], [16, 15])]).
step(concatenate([16], [15], [16, 15]),
     rule(4),
     ['X' = 16, 'L1' = [], 'L2' = [15], 'L3' = [15]],
     [concatenate([], [15], [15])]).
step(concatenate([], [15], [15]), fact(3), ['L' = [15]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15],
      'L2' = [14],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15],
      'L2' = [14],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15],
      'L2' = [14],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15],
      'L2' = [14],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15],
      'L2' = [14],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15],
      'L2' = [14],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15],
      'L2' = [14],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15], [14], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15],
      'L2' = [14],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15], [14], [22, 21, 20, 19, 18, 17, 16, 15, 14])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15], [14], [22, 21, 20, 19, 18, 17, 16, 15, 14]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15],
      'L2' = [14],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14]],
     [concatenate([21, 20, 19, 18, 17, 16, 15], [14], [21, 20, 19, 18, 17, 16, 15, 14])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15], [14], [21, 20, 19, 18, 17, 16, 15, 14]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15],
      'L2' = [14],
      'L3' = [20, 19, 18, 17, 16, 15, 14]],
     [concatenate([20, 19, 18, 17, 16, 15], [14], [20, 19, 18, 17, 16, 15, 14])]).
step(concatenate([20, 19, 18, 17, 16, 15], [14], [20, 19, 18, 17, 16, 15, 14]),
     rule(4),
     ['X' = 20, 'L1' = [19, 18, 17, 16, 15], 'L2' = [14], 'L3' = [19, 18, 17, 16, 15, 14]],
     [concatenate([19, 18, 17, 16, 15], [14], [19, 18, 17, 16, 15, 14])]).
step(concatenate([19, 18, 17, 16, 15], [14], [19, 18, 17, 16, 15, 14]),
     rule(4),
     ['X' = 19, 'L1' = [18, 17, 16, 15], 'L2' = [14], 'L3' = [18, 17, 16, 15, 14]],
     [concatenate([18, 17, 16, 15], [14], [18, 17, 16, 15, 14])]).
step(concatenate([18, 17, 16, 15], [14], [18, 17, 16, 15, 14]),
     rule(4),
     ['X' = 18, 'L1' = [17, 16, 15], 'L2' = [14], 'L3' = [17, 16, 15, 14]],
     [concatenate([17, 16, 15], [14], [17, 16, 15, 14])]).
step(concatenate([17, 16, 15], [14], [17, 16, 15, 14]),
     rule(4),
     ['X' = 17, 'L1' = [16, 15], 'L2' = [14], 'L3' = [16, 15, 14]],
     [concatenate([16, 15], [14], [16, 15, 14])]).
step(concatenate([16, 15], [14], [16, 15, 14]),
     rule(4),
     ['X' = 16, 'L1' = [15], 'L2' = [14], 'L3' = [15, 14]],
     [concatenate([15], [14], [15, 14])]).
step(concatenate([15], [14], [15, 14]),
     rule(4),
     ['X' = 15, 'L1' = [], 'L2' = [14], 'L3' = [14]],
     [concatenate([], [14], [14])]).
step(concatenate([], [14], [14]), fact(3), ['L' = [14]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14],
      'L2' = [13],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14],
      'L2' = [13],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14],
      'L2' = [13],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14],
      'L2' = [13],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14],
      'L2' = [13],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14],
      'L2' = [13],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14],
      'L2' = [13],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15, 14],
      'L2' = [13],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14], [13], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15, 14],
      'L2' = [13],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14, 13]],
     [concatenate([21, 20, 19, 18, 17, 16, 15, 14], [13], [21, 20, 19, 18, 17, 16, 15, 14, 13])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15, 14], [13], [21, 20, 19, 18, 17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15, 14],
      'L2' = [13],
      'L3' = [20, 19, 18, 17, 16, 15, 14, 13]],
     [concatenate([20, 19, 18, 17, 16, 15, 14], [13], [20, 19, 18, 17, 16, 15, 14, 13])]).
step(concatenate([20, 19, 18, 17, 16, 15, 14], [13], [20, 19, 18, 17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 20,
      'L1' = [19, 18, 17, 16, 15, 14],
      'L2' = [13],
      'L3' = [19, 18, 17, 16, 15, 14, 13]],
     [concatenate([19, 18, 17, 16, 15, 14], [13], [19, 18, 17, 16, 15, 14, 13])]).
step(concatenate([19, 18, 17, 16, 15, 14], [13], [19, 18, 17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 19, 'L1' = [18, 17, 16, 15, 14], 'L2' = [13], 'L3' = [18, 17, 16, 15, 14, 13]],
     [concatenate([18, 17, 16, 15, 14], [13], [18, 17, 16, 15, 14, 13])]).
step(concatenate([18, 17, 16, 15, 14], [13], [18, 17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 18, 'L1' = [17, 16, 15, 14], 'L2' = [13], 'L3' = [17, 16, 15, 14, 13]],
     [concatenate([17, 16, 15, 14], [13], [17, 16, 15, 14, 13])]).
step(concatenate([17, 16, 15, 14], [13], [17, 16, 15, 14, 13]),
     rule(4),
     ['X' = 17, 'L1' = [16, 15, 14], 'L2' = [13], 'L3' = [16, 15, 14, 13]],
     [concatenate([16, 15, 14], [13], [16, 15, 14, 13])]).
step(concatenate([16, 15, 14], [13], [16, 15, 14, 13]),
     rule(4),
     ['X' = 16, 'L1' = [15, 14], 'L2' = [13], 'L3' = [15, 14, 13]],
     [concatenate([15, 14], [13], [15, 14, 13])]).
step(concatenate([15, 14], [13], [15, 14, 13]),
     rule(4),
     ['X' = 15, 'L1' = [14], 'L2' = [13], 'L3' = [14, 13]],
     [concatenate([14], [13], [14, 13])]).
step(concatenate([14], [13], [14, 13]),
     rule(4),
     ['X' = 14, 'L1' = [], 'L2' = [13], 'L3' = [13]],
     [concatenate([], [13], [13])]).
step(concatenate([], [13], [13]), fact(3), ['L' = [13]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13],
      'L2' = [12],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13],
      'L2' = [12],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13],
      'L2' = [12],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13],
      'L2' = [12],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13],
      'L2' = [12],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13],
      'L2' = [12],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13],
      'L2' = [12],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13],
      'L2' = [12],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15, 14, 13],
      'L2' = [12],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12]],
     [concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13], [12], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15, 14, 13],
      'L2' = [12],
      'L3' = [20, 19, 18, 17, 16, 15, 14, 13, 12]],
     [concatenate([20, 19, 18, 17, 16, 15, 14, 13], [12], [20, 19, 18, 17, 16, 15, 14, 13, 12])]).
step(concatenate([20, 19, 18, 17, 16, 15, 14, 13], [12], [20, 19, 18, 17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 20,
      'L1' = [19, 18, 17, 16, 15, 14, 13],
      'L2' = [12],
      'L3' = [19, 18, 17, 16, 15, 14, 13, 12]],
     [concatenate([19, 18, 17, 16, 15, 14, 13], [12], [19, 18, 17, 16, 15, 14, 13, 12])]).
step(concatenate([19, 18, 17, 16, 15, 14, 13], [12], [19, 18, 17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 19,
      'L1' = [18, 17, 16, 15, 14, 13],
      'L2' = [12],
      'L3' = [18, 17, 16, 15, 14, 13, 12]],
     [concatenate([18, 17, 16, 15, 14, 13], [12], [18, 17, 16, 15, 14, 13, 12])]).
step(concatenate([18, 17, 16, 15, 14, 13], [12], [18, 17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 18, 'L1' = [17, 16, 15, 14, 13], 'L2' = [12], 'L3' = [17, 16, 15, 14, 13, 12]],
     [concatenate([17, 16, 15, 14, 13], [12], [17, 16, 15, 14, 13, 12])]).
step(concatenate([17, 16, 15, 14, 13], [12], [17, 16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 17, 'L1' = [16, 15, 14, 13], 'L2' = [12], 'L3' = [16, 15, 14, 13, 12]],
     [concatenate([16, 15, 14, 13], [12], [16, 15, 14, 13, 12])]).
step(concatenate([16, 15, 14, 13], [12], [16, 15, 14, 13, 12]),
     rule(4),
     ['X' = 16, 'L1' = [15, 14, 13], 'L2' = [12], 'L3' = [15, 14, 13, 12]],
     [concatenate([15, 14, 13], [12], [15, 14, 13, 12])]).
step(concatenate([15, 14, 13], [12], [15, 14, 13, 12]),
     rule(4),
     ['X' = 15, 'L1' = [14, 13], 'L2' = [12], 'L3' = [14, 13, 12]],
     [concatenate([14, 13], [12], [14, 13, 12])]).
step(concatenate([14, 13], [12], [14, 13, 12]),
     rule(4),
     ['X' = 14, 'L1' = [13], 'L2' = [12], 'L3' = [13, 12]],
     [concatenate([13], [12], [13, 12])]).
step(concatenate([13], [12], [13, 12]),
     rule(4),
     ['X' = 13, 'L1' = [], 'L2' = [12], 'L3' = [12]],
     [concatenate([], [12], [12])]).
step(concatenate([], [12], [12]), fact(3), ['L' = [12]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12],
      'L2' = [11],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12],
      'L2' = [11],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12],
      'L2' = [11],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12],
      'L2' = [11],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12],
      'L2' = [11],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12],
      'L2' = [11],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12],
      'L2' = [11],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12],
      'L2' = [11],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12],
      'L2' = [11],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]],
     [concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15, 14, 13, 12],
      'L2' = [11],
      'L3' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11]],
     [concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11])]).
step(concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12], [11], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 20,
      'L1' = [19, 18, 17, 16, 15, 14, 13, 12],
      'L2' = [11],
      'L3' = [19, 18, 17, 16, 15, 14, 13, 12, 11]],
     [concatenate([19, 18, 17, 16, 15, 14, 13, 12], [11], [19, 18, 17, 16, 15, 14, 13, 12, 11])]).
step(concatenate([19, 18, 17, 16, 15, 14, 13, 12], [11], [19, 18, 17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 19,
      'L1' = [18, 17, 16, 15, 14, 13, 12],
      'L2' = [11],
      'L3' = [18, 17, 16, 15, 14, 13, 12, 11]],
     [concatenate([18, 17, 16, 15, 14, 13, 12], [11], [18, 17, 16, 15, 14, 13, 12, 11])]).
step(concatenate([18, 17, 16, 15, 14, 13, 12], [11], [18, 17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 18,
      'L1' = [17, 16, 15, 14, 13, 12],
      'L2' = [11],
      'L3' = [17, 16, 15, 14, 13, 12, 11]],
     [concatenate([17, 16, 15, 14, 13, 12], [11], [17, 16, 15, 14, 13, 12, 11])]).
step(concatenate([17, 16, 15, 14, 13, 12], [11], [17, 16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 17, 'L1' = [16, 15, 14, 13, 12], 'L2' = [11], 'L3' = [16, 15, 14, 13, 12, 11]],
     [concatenate([16, 15, 14, 13, 12], [11], [16, 15, 14, 13, 12, 11])]).
step(concatenate([16, 15, 14, 13, 12], [11], [16, 15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 16, 'L1' = [15, 14, 13, 12], 'L2' = [11], 'L3' = [15, 14, 13, 12, 11]],
     [concatenate([15, 14, 13, 12], [11], [15, 14, 13, 12, 11])]).
step(concatenate([15, 14, 13, 12], [11], [15, 14, 13, 12, 11]),
     rule(4),
     ['X' = 15, 'L1' = [14, 13, 12], 'L2' = [11], 'L3' = [14, 13, 12, 11]],
     [concatenate([14, 13, 12], [11], [14, 13, 12, 11])]).
step(concatenate([14, 13, 12], [11], [14, 13, 12, 11]),
     rule(4),
     ['X' = 14, 'L1' = [13, 12], 'L2' = [11], 'L3' = [13, 12, 11]],
     [concatenate([13, 12], [11], [13, 12, 11])]).
step(concatenate([13, 12], [11], [13, 12, 11]),
     rule(4),
     ['X' = 13, 'L1' = [12], 'L2' = [11], 'L3' = [12, 11]],
     [concatenate([12], [11], [12, 11])]).
step(concatenate([12], [11], [12, 11]),
     rule(4),
     ['X' = 12, 'L1' = [], 'L2' = [11], 'L3' = [11]],
     [concatenate([], [11], [11])]).
step(concatenate([], [11], [11]), fact(3), ['L' = [11]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]],
     [concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]],
     [concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 20,
      'L1' = [19, 18, 17, 16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10]],
     [concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11], [10], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 19,
      'L1' = [18, 17, 16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [18, 17, 16, 15, 14, 13, 12, 11, 10]],
     [concatenate([18, 17, 16, 15, 14, 13, 12, 11], [10], [18, 17, 16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([18, 17, 16, 15, 14, 13, 12, 11], [10], [18, 17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 18,
      'L1' = [17, 16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [17, 16, 15, 14, 13, 12, 11, 10]],
     [concatenate([17, 16, 15, 14, 13, 12, 11], [10], [17, 16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([17, 16, 15, 14, 13, 12, 11], [10], [17, 16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 17,
      'L1' = [16, 15, 14, 13, 12, 11],
      'L2' = [10],
      'L3' = [16, 15, 14, 13, 12, 11, 10]],
     [concatenate([16, 15, 14, 13, 12, 11], [10], [16, 15, 14, 13, 12, 11, 10])]).
step(concatenate([16, 15, 14, 13, 12, 11], [10], [16, 15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 16, 'L1' = [15, 14, 13, 12, 11], 'L2' = [10], 'L3' = [15, 14, 13, 12, 11, 10]],
     [concatenate([15, 14, 13, 12, 11], [10], [15, 14, 13, 12, 11, 10])]).
step(concatenate([15, 14, 13, 12, 11], [10], [15, 14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 15, 'L1' = [14, 13, 12, 11], 'L2' = [10], 'L3' = [14, 13, 12, 11, 10]],
     [concatenate([14, 13, 12, 11], [10], [14, 13, 12, 11, 10])]).
step(concatenate([14, 13, 12, 11], [10], [14, 13, 12, 11, 10]),
     rule(4),
     ['X' = 14, 'L1' = [13, 12, 11], 'L2' = [10], 'L3' = [13, 12, 11, 10]],
     [concatenate([13, 12, 11], [10], [13, 12, 11, 10])]).
step(concatenate([13, 12, 11], [10], [13, 12, 11, 10]),
     rule(4),
     ['X' = 13, 'L1' = [12, 11], 'L2' = [10], 'L3' = [12, 11, 10]],
     [concatenate([12, 11], [10], [12, 11, 10])]).
step(concatenate([12, 11], [10], [12, 11, 10]),
     rule(4),
     ['X' = 12, 'L1' = [11], 'L2' = [10], 'L3' = [11, 10]],
     [concatenate([11], [10], [11, 10])]).
step(concatenate([11], [10], [11, 10]),
     rule(4),
     ['X' = 11, 'L1' = [], 'L2' = [10], 'L3' = [10]],
     [concatenate([], [10], [10])]).
step(concatenate([], [10], [10]), fact(3), ['L' = [10]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 20,
      'L1' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 19,
      'L1' = [18, 17, 16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10], [9], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 18,
      'L1' = [17, 16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [17, 16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([17, 16, 15, 14, 13, 12, 11, 10], [9], [17, 16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([17, 16, 15, 14, 13, 12, 11, 10], [9], [17, 16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 17,
      'L1' = [16, 15, 14, 13, 12, 11, 10],
      'L2' = [9],
      'L3' = [16, 15, 14, 13, 12, 11, 10, 9]],
     [concatenate([16, 15, 14, 13, 12, 11, 10], [9], [16, 15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([16, 15, 14, 13, 12, 11, 10], [9], [16, 15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 16, 'L1' = [15, 14, 13, 12, 11, 10], 'L2' = [9], 'L3' = [15, 14, 13, 12, 11, 10, 9]],
     [concatenate([15, 14, 13, 12, 11, 10], [9], [15, 14, 13, 12, 11, 10, 9])]).
step(concatenate([15, 14, 13, 12, 11, 10], [9], [15, 14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 15, 'L1' = [14, 13, 12, 11, 10], 'L2' = [9], 'L3' = [14, 13, 12, 11, 10, 9]],
     [concatenate([14, 13, 12, 11, 10], [9], [14, 13, 12, 11, 10, 9])]).
step(concatenate([14, 13, 12, 11, 10], [9], [14, 13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 14, 'L1' = [13, 12, 11, 10], 'L2' = [9], 'L3' = [13, 12, 11, 10, 9]],
     [concatenate([13, 12, 11, 10], [9], [13, 12, 11, 10, 9])]).
step(concatenate([13, 12, 11, 10], [9], [13, 12, 11, 10, 9]),
     rule(4),
     ['X' = 13, 'L1' = [12, 11, 10], 'L2' = [9], 'L3' = [12, 11, 10, 9]],
     [concatenate([12, 11, 10], [9], [12, 11, 10, 9])]).
step(concatenate([12, 11, 10], [9], [12, 11, 10, 9]),
     rule(4),
     ['X' = 12, 'L1' = [11, 10], 'L2' = [9], 'L3' = [11, 10, 9]],
     [concatenate([11, 10], [9], [11, 10, 9])]).
step(concatenate([11, 10], [9], [11, 10, 9]),
     rule(4),
     ['X' = 11, 'L1' = [10], 'L2' = [9], 'L3' = [10, 9]],
     [concatenate([10], [9], [10, 9])]).
step(concatenate([10], [9], [10, 9]),
     rule(4),
     ['X' = 10, 'L1' = [], 'L2' = [9], 'L3' = [9]],
     [concatenate([], [9], [9])]).
step(concatenate([], [9], [9]), fact(3), ['L' = [9]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 20,
      'L1' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 19,
      'L1' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 18,
      'L1' = [17, 16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9], [8], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 17,
      'L1' = [16, 15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [16, 15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([16, 15, 14, 13, 12, 11, 10, 9], [8], [16, 15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([16, 15, 14, 13, 12, 11, 10, 9], [8], [16, 15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 16,
      'L1' = [15, 14, 13, 12, 11, 10, 9],
      'L2' = [8],
      'L3' = [15, 14, 13, 12, 11, 10, 9, 8]],
     [concatenate([15, 14, 13, 12, 11, 10, 9], [8], [15, 14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([15, 14, 13, 12, 11, 10, 9], [8], [15, 14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 15, 'L1' = [14, 13, 12, 11, 10, 9], 'L2' = [8], 'L3' = [14, 13, 12, 11, 10, 9, 8]],
     [concatenate([14, 13, 12, 11, 10, 9], [8], [14, 13, 12, 11, 10, 9, 8])]).
step(concatenate([14, 13, 12, 11, 10, 9], [8], [14, 13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 14, 'L1' = [13, 12, 11, 10, 9], 'L2' = [8], 'L3' = [13, 12, 11, 10, 9, 8]],
     [concatenate([13, 12, 11, 10, 9], [8], [13, 12, 11, 10, 9, 8])]).
step(concatenate([13, 12, 11, 10, 9], [8], [13, 12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 13, 'L1' = [12, 11, 10, 9], 'L2' = [8], 'L3' = [12, 11, 10, 9, 8]],
     [concatenate([12, 11, 10, 9], [8], [12, 11, 10, 9, 8])]).
step(concatenate([12, 11, 10, 9], [8], [12, 11, 10, 9, 8]),
     rule(4),
     ['X' = 12, 'L1' = [11, 10, 9], 'L2' = [8], 'L3' = [11, 10, 9, 8]],
     [concatenate([11, 10, 9], [8], [11, 10, 9, 8])]).
step(concatenate([11, 10, 9], [8], [11, 10, 9, 8]),
     rule(4),
     ['X' = 11, 'L1' = [10, 9], 'L2' = [8], 'L3' = [10, 9, 8]],
     [concatenate([10, 9], [8], [10, 9, 8])]).
step(concatenate([10, 9], [8], [10, 9, 8]),
     rule(4),
     ['X' = 10, 'L1' = [9], 'L2' = [8], 'L3' = [9, 8]],
     [concatenate([9], [8], [9, 8])]).
step(concatenate([9], [8], [9, 8]),
     rule(4),
     ['X' = 9, 'L1' = [], 'L2' = [8], 'L3' = [8]],
     [concatenate([], [8], [8])]).
step(concatenate([], [8], [8]), fact(3), ['L' = [8]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 20,
      'L1' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 19,
      'L1' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 18,
      'L1' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 17,
      'L1' = [16, 15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [16, 15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8], [7], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 16,
      'L1' = [15, 14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [15, 14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([15, 14, 13, 12, 11, 10, 9, 8], [7], [15, 14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([15, 14, 13, 12, 11, 10, 9, 8], [7], [15, 14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 15,
      'L1' = [14, 13, 12, 11, 10, 9, 8],
      'L2' = [7],
      'L3' = [14, 13, 12, 11, 10, 9, 8, 7]],
     [concatenate([14, 13, 12, 11, 10, 9, 8], [7], [14, 13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([14, 13, 12, 11, 10, 9, 8], [7], [14, 13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 14, 'L1' = [13, 12, 11, 10, 9, 8], 'L2' = [7], 'L3' = [13, 12, 11, 10, 9, 8, 7]],
     [concatenate([13, 12, 11, 10, 9, 8], [7], [13, 12, 11, 10, 9, 8, 7])]).
step(concatenate([13, 12, 11, 10, 9, 8], [7], [13, 12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 13, 'L1' = [12, 11, 10, 9, 8], 'L2' = [7], 'L3' = [12, 11, 10, 9, 8, 7]],
     [concatenate([12, 11, 10, 9, 8], [7], [12, 11, 10, 9, 8, 7])]).
step(concatenate([12, 11, 10, 9, 8], [7], [12, 11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 12, 'L1' = [11, 10, 9, 8], 'L2' = [7], 'L3' = [11, 10, 9, 8, 7]],
     [concatenate([11, 10, 9, 8], [7], [11, 10, 9, 8, 7])]).
step(concatenate([11, 10, 9, 8], [7], [11, 10, 9, 8, 7]),
     rule(4),
     ['X' = 11, 'L1' = [10, 9, 8], 'L2' = [7], 'L3' = [10, 9, 8, 7]],
     [concatenate([10, 9, 8], [7], [10, 9, 8, 7])]).
step(concatenate([10, 9, 8], [7], [10, 9, 8, 7]),
     rule(4),
     ['X' = 10, 'L1' = [9, 8], 'L2' = [7], 'L3' = [9, 8, 7]],
     [concatenate([9, 8], [7], [9, 8, 7])]).
step(concatenate([9, 8], [7], [9, 8, 7]),
     rule(4),
     ['X' = 9, 'L1' = [8], 'L2' = [7], 'L3' = [8, 7]],
     [concatenate([8], [7], [8, 7])]).
step(concatenate([8], [7], [8, 7]),
     rule(4),
     ['X' = 8, 'L1' = [], 'L2' = [7], 'L3' = [7]],
     [concatenate([], [7], [7])]).
step(concatenate([], [7], [7]), fact(3), ['L' = [7]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 20,
      'L1' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 19,
      'L1' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 18,
      'L1' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 17,
      'L1' = [16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 16,
      'L1' = [15, 14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [15, 14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([15, 14, 13, 12, 11, 10, 9, 8, 7], [6], [15, 14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 15,
      'L1' = [14, 13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [14, 13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([14, 13, 12, 11, 10, 9, 8, 7], [6], [14, 13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([14, 13, 12, 11, 10, 9, 8, 7], [6], [14, 13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 14,
      'L1' = [13, 12, 11, 10, 9, 8, 7],
      'L2' = [6],
      'L3' = [13, 12, 11, 10, 9, 8, 7, 6]],
     [concatenate([13, 12, 11, 10, 9, 8, 7], [6], [13, 12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([13, 12, 11, 10, 9, 8, 7], [6], [13, 12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 13, 'L1' = [12, 11, 10, 9, 8, 7], 'L2' = [6], 'L3' = [12, 11, 10, 9, 8, 7, 6]],
     [concatenate([12, 11, 10, 9, 8, 7], [6], [12, 11, 10, 9, 8, 7, 6])]).
step(concatenate([12, 11, 10, 9, 8, 7], [6], [12, 11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 12, 'L1' = [11, 10, 9, 8, 7], 'L2' = [6], 'L3' = [11, 10, 9, 8, 7, 6]],
     [concatenate([11, 10, 9, 8, 7], [6], [11, 10, 9, 8, 7, 6])]).
step(concatenate([11, 10, 9, 8, 7], [6], [11, 10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 11, 'L1' = [10, 9, 8, 7], 'L2' = [6], 'L3' = [10, 9, 8, 7, 6]],
     [concatenate([10, 9, 8, 7], [6], [10, 9, 8, 7, 6])]).
step(concatenate([10, 9, 8, 7], [6], [10, 9, 8, 7, 6]),
     rule(4),
     ['X' = 10, 'L1' = [9, 8, 7], 'L2' = [6], 'L3' = [9, 8, 7, 6]],
     [concatenate([9, 8, 7], [6], [9, 8, 7, 6])]).
step(concatenate([9, 8, 7], [6], [9, 8, 7, 6]),
     rule(4),
     ['X' = 9, 'L1' = [8, 7], 'L2' = [6], 'L3' = [8, 7, 6]],
     [concatenate([8, 7], [6], [8, 7, 6])]).
step(concatenate([8, 7], [6], [8, 7, 6]),
     rule(4),
     ['X' = 8, 'L1' = [7], 'L2' = [6], 'L3' = [7, 6]],
     [concatenate([7], [6], [7, 6])]).
step(concatenate([7], [6], [7, 6]),
     rule(4),
     ['X' = 7, 'L1' = [], 'L2' = [6], 'L3' = [6]],
     [concatenate([], [6], [6])]).
step(concatenate([], [6], [6]), fact(3), ['L' = [6]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 20,
      'L1' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 19,
      'L1' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 18,
      'L1' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 17,
      'L1' = [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 16,
      'L1' = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([15, 14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 15,
      'L1' = [14, 13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [14, 13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [14, 13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([14, 13, 12, 11, 10, 9, 8, 7, 6], [5], [14, 13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 14,
      'L1' = [13, 12, 11, 10, 9, 8, 7, 6],
      'L2' = [5],
      'L3' = [13, 12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([13, 12, 11, 10, 9, 8, 7, 6], [5], [13, 12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([13, 12, 11, 10, 9, 8, 7, 6], [5], [13, 12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 13, 'L1' = [12, 11, 10, 9, 8, 7, 6], 'L2' = [5], 'L3' = [12, 11, 10, 9, 8, 7, 6, 5]],
     [concatenate([12, 11, 10, 9, 8, 7, 6], [5], [12, 11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([12, 11, 10, 9, 8, 7, 6], [5], [12, 11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 12, 'L1' = [11, 10, 9, 8, 7, 6], 'L2' = [5], 'L3' = [11, 10, 9, 8, 7, 6, 5]],
     [concatenate([11, 10, 9, 8, 7, 6], [5], [11, 10, 9, 8, 7, 6, 5])]).
step(concatenate([11, 10, 9, 8, 7, 6], [5], [11, 10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 11, 'L1' = [10, 9, 8, 7, 6], 'L2' = [5], 'L3' = [10, 9, 8, 7, 6, 5]],
     [concatenate([10, 9, 8, 7, 6], [5], [10, 9, 8, 7, 6, 5])]).
step(concatenate([10, 9, 8, 7, 6], [5], [10, 9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 10, 'L1' = [9, 8, 7, 6], 'L2' = [5], 'L3' = [9, 8, 7, 6, 5]],
     [concatenate([9, 8, 7, 6], [5], [9, 8, 7, 6, 5])]).
step(concatenate([9, 8, 7, 6], [5], [9, 8, 7, 6, 5]),
     rule(4),
     ['X' = 9, 'L1' = [8, 7, 6], 'L2' = [5], 'L3' = [8, 7, 6, 5]],
     [concatenate([8, 7, 6], [5], [8, 7, 6, 5])]).
step(concatenate([8, 7, 6], [5], [8, 7, 6, 5]),
     rule(4),
     ['X' = 8, 'L1' = [7, 6], 'L2' = [5], 'L3' = [7, 6, 5]],
     [concatenate([7, 6], [5], [7, 6, 5])]).
step(concatenate([7, 6], [5], [7, 6, 5]),
     rule(4),
     ['X' = 7, 'L1' = [6], 'L2' = [5], 'L3' = [6, 5]],
     [concatenate([6], [5], [6, 5])]).
step(concatenate([6], [5], [6, 5]),
     rule(4),
     ['X' = 6, 'L1' = [], 'L2' = [5], 'L3' = [5]],
     [concatenate([], [5], [5])]).
step(concatenate([], [5], [5]), fact(3), ['L' = [5]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 20,
      'L1' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 19,
      'L1' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 18,
      'L1' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 17,
      'L1' = [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 16,
      'L1' = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 15,
      'L1' = [14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([14, 13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 14,
      'L1' = [13, 12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [13, 12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [13, 12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([13, 12, 11, 10, 9, 8, 7, 6, 5], [4], [13, 12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 13,
      'L1' = [12, 11, 10, 9, 8, 7, 6, 5],
      'L2' = [4],
      'L3' = [12, 11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([12, 11, 10, 9, 8, 7, 6, 5], [4], [12, 11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([12, 11, 10, 9, 8, 7, 6, 5], [4], [12, 11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 12, 'L1' = [11, 10, 9, 8, 7, 6, 5], 'L2' = [4], 'L3' = [11, 10, 9, 8, 7, 6, 5, 4]],
     [concatenate([11, 10, 9, 8, 7, 6, 5], [4], [11, 10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([11, 10, 9, 8, 7, 6, 5], [4], [11, 10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 11, 'L1' = [10, 9, 8, 7, 6, 5], 'L2' = [4], 'L3' = [10, 9, 8, 7, 6, 5, 4]],
     [concatenate([10, 9, 8, 7, 6, 5], [4], [10, 9, 8, 7, 6, 5, 4])]).
step(concatenate([10, 9, 8, 7, 6, 5], [4], [10, 9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 10, 'L1' = [9, 8, 7, 6, 5], 'L2' = [4], 'L3' = [9, 8, 7, 6, 5, 4]],
     [concatenate([9, 8, 7, 6, 5], [4], [9, 8, 7, 6, 5, 4])]).
step(concatenate([9, 8, 7, 6, 5], [4], [9, 8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 9, 'L1' = [8, 7, 6, 5], 'L2' = [4], 'L3' = [8, 7, 6, 5, 4]],
     [concatenate([8, 7, 6, 5], [4], [8, 7, 6, 5, 4])]).
step(concatenate([8, 7, 6, 5], [4], [8, 7, 6, 5, 4]),
     rule(4),
     ['X' = 8, 'L1' = [7, 6, 5], 'L2' = [4], 'L3' = [7, 6, 5, 4]],
     [concatenate([7, 6, 5], [4], [7, 6, 5, 4])]).
step(concatenate([7, 6, 5], [4], [7, 6, 5, 4]),
     rule(4),
     ['X' = 7, 'L1' = [6, 5], 'L2' = [4], 'L3' = [6, 5, 4]],
     [concatenate([6, 5], [4], [6, 5, 4])]).
step(concatenate([6, 5], [4], [6, 5, 4]),
     rule(4),
     ['X' = 6, 'L1' = [5], 'L2' = [4], 'L3' = [5, 4]],
     [concatenate([5], [4], [5, 4])]).
step(concatenate([5], [4], [5, 4]),
     rule(4),
     ['X' = 5, 'L1' = [], 'L2' = [4], 'L3' = [4]],
     [concatenate([], [4], [4])]).
step(concatenate([], [4], [4]), fact(3), ['L' = [4]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 20,
      'L1' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 19,
      'L1' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 18,
      'L1' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 17,
      'L1' = [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 16,
      'L1' = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 15,
      'L1' = [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 14,
      'L1' = [13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([13, 12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 13,
      'L1' = [12, 11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [12, 11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [12, 11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([12, 11, 10, 9, 8, 7, 6, 5, 4], [3], [12, 11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 12,
      'L1' = [11, 10, 9, 8, 7, 6, 5, 4],
      'L2' = [3],
      'L3' = [11, 10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([11, 10, 9, 8, 7, 6, 5, 4], [3], [11, 10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([11, 10, 9, 8, 7, 6, 5, 4], [3], [11, 10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 11, 'L1' = [10, 9, 8, 7, 6, 5, 4], 'L2' = [3], 'L3' = [10, 9, 8, 7, 6, 5, 4, 3]],
     [concatenate([10, 9, 8, 7, 6, 5, 4], [3], [10, 9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([10, 9, 8, 7, 6, 5, 4], [3], [10, 9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 10, 'L1' = [9, 8, 7, 6, 5, 4], 'L2' = [3], 'L3' = [9, 8, 7, 6, 5, 4, 3]],
     [concatenate([9, 8, 7, 6, 5, 4], [3], [9, 8, 7, 6, 5, 4, 3])]).
step(concatenate([9, 8, 7, 6, 5, 4], [3], [9, 8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 9, 'L1' = [8, 7, 6, 5, 4], 'L2' = [3], 'L3' = [8, 7, 6, 5, 4, 3]],
     [concatenate([8, 7, 6, 5, 4], [3], [8, 7, 6, 5, 4, 3])]).
step(concatenate([8, 7, 6, 5, 4], [3], [8, 7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 8, 'L1' = [7, 6, 5, 4], 'L2' = [3], 'L3' = [7, 6, 5, 4, 3]],
     [concatenate([7, 6, 5, 4], [3], [7, 6, 5, 4, 3])]).
step(concatenate([7, 6, 5, 4], [3], [7, 6, 5, 4, 3]),
     rule(4),
     ['X' = 7, 'L1' = [6, 5, 4], 'L2' = [3], 'L3' = [6, 5, 4, 3]],
     [concatenate([6, 5, 4], [3], [6, 5, 4, 3])]).
step(concatenate([6, 5, 4], [3], [6, 5, 4, 3]),
     rule(4),
     ['X' = 6, 'L1' = [5, 4], 'L2' = [3], 'L3' = [5, 4, 3]],
     [concatenate([5, 4], [3], [5, 4, 3])]).
step(concatenate([5, 4], [3], [5, 4, 3]),
     rule(4),
     ['X' = 5, 'L1' = [4], 'L2' = [3], 'L3' = [4, 3]],
     [concatenate([4], [3], [4, 3])]).
step(concatenate([4], [3], [4, 3]),
     rule(4),
     ['X' = 4, 'L1' = [], 'L2' = [3], 'L3' = [3]],
     [concatenate([], [3], [3])]).
step(concatenate([], [3], [3]), fact(3), ['L' = [3]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 20,
      'L1' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 19,
      'L1' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 18,
      'L1' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 17,
      'L1' = [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 16,
      'L1' = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 15,
      'L1' = [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 14,
      'L1' = [13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 13,
      'L1' = [12, 11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([12, 11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 12,
      'L1' = [11, 10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [11, 10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([11, 10, 9, 8, 7, 6, 5, 4, 3], [2], [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 11,
      'L1' = [10, 9, 8, 7, 6, 5, 4, 3],
      'L2' = [2],
      'L3' = [10, 9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([10, 9, 8, 7, 6, 5, 4, 3], [2], [10, 9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([10, 9, 8, 7, 6, 5, 4, 3], [2], [10, 9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 10, 'L1' = [9, 8, 7, 6, 5, 4, 3], 'L2' = [2], 'L3' = [9, 8, 7, 6, 5, 4, 3, 2]],
     [concatenate([9, 8, 7, 6, 5, 4, 3], [2], [9, 8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([9, 8, 7, 6, 5, 4, 3], [2], [9, 8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 9, 'L1' = [8, 7, 6, 5, 4, 3], 'L2' = [2], 'L3' = [8, 7, 6, 5, 4, 3, 2]],
     [concatenate([8, 7, 6, 5, 4, 3], [2], [8, 7, 6, 5, 4, 3, 2])]).
step(concatenate([8, 7, 6, 5, 4, 3], [2], [8, 7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 8, 'L1' = [7, 6, 5, 4, 3], 'L2' = [2], 'L3' = [7, 6, 5, 4, 3, 2]],
     [concatenate([7, 6, 5, 4, 3], [2], [7, 6, 5, 4, 3, 2])]).
step(concatenate([7, 6, 5, 4, 3], [2], [7, 6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 7, 'L1' = [6, 5, 4, 3], 'L2' = [2], 'L3' = [6, 5, 4, 3, 2]],
     [concatenate([6, 5, 4, 3], [2], [6, 5, 4, 3, 2])]).
step(concatenate([6, 5, 4, 3], [2], [6, 5, 4, 3, 2]),
     rule(4),
     ['X' = 6, 'L1' = [5, 4, 3], 'L2' = [2], 'L3' = [5, 4, 3, 2]],
     [concatenate([5, 4, 3], [2], [5, 4, 3, 2])]).
step(concatenate([5, 4, 3], [2], [5, 4, 3, 2]),
     rule(4),
     ['X' = 5, 'L1' = [4, 3], 'L2' = [2], 'L3' = [4, 3, 2]],
     [concatenate([4, 3], [2], [4, 3, 2])]).
step(concatenate([4, 3], [2], [4, 3, 2]),
     rule(4),
     ['X' = 4, 'L1' = [3], 'L2' = [2], 'L3' = [3, 2]],
     [concatenate([3], [2], [3, 2])]).
step(concatenate([3], [2], [3, 2]),
     rule(4),
     ['X' = 3, 'L1' = [], 'L2' = [2], 'L3' = [2]],
     [concatenate([], [2], [2])]).
step(concatenate([], [2], [2]), fact(3), ['L' = [2]], []).
step(concatenate([30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 30,
      'L1' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 29,
      'L1' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 28,
      'L1' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 27,
      'L1' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 26,
      'L1' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 25,
      'L1' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 24,
      'L1' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 23,
      'L1' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 22,
      'L1' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 21,
      'L1' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 20,
      'L1' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 19,
      'L1' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 18,
      'L1' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 17,
      'L1' = [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 16,
      'L1' = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 15,
      'L1' = [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 14,
      'L1' = [13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 13,
      'L1' = [12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 12,
      'L1' = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([11, 10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 11,
      'L1' = [10, 9, 8, 7, 6, 5, 4, 3, 2],
      'L2' = [1],
      'L3' = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [10, 9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([10, 9, 8, 7, 6, 5, 4, 3, 2], [1], [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 10, 'L1' = [9, 8, 7, 6, 5, 4, 3, 2], 'L2' = [1], 'L3' = [9, 8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([9, 8, 7, 6, 5, 4, 3, 2], [1], [9, 8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([9, 8, 7, 6, 5, 4, 3, 2], [1], [9, 8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 9, 'L1' = [8, 7, 6, 5, 4, 3, 2], 'L2' = [1], 'L3' = [8, 7, 6, 5, 4, 3, 2, 1]],
     [concatenate([8, 7, 6, 5, 4, 3, 2], [1], [8, 7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([8, 7, 6, 5, 4, 3, 2], [1], [8, 7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 8, 'L1' = [7, 6, 5, 4, 3, 2], 'L2' = [1], 'L3' = [7, 6, 5, 4, 3, 2, 1]],
     [concatenate([7, 6, 5, 4, 3, 2], [1], [7, 6, 5, 4, 3, 2, 1])]).
step(concatenate([7, 6, 5, 4, 3, 2], [1], [7, 6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 7, 'L1' = [6, 5, 4, 3, 2], 'L2' = [1], 'L3' = [6, 5, 4, 3, 2, 1]],
     [concatenate([6, 5, 4, 3, 2], [1], [6, 5, 4, 3, 2, 1])]).
step(concatenate([6, 5, 4, 3, 2], [1], [6, 5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 6, 'L1' = [5, 4, 3, 2], 'L2' = [1], 'L3' = [5, 4, 3, 2, 1]],
     [concatenate([5, 4, 3, 2], [1], [5, 4, 3, 2, 1])]).
step(concatenate([5, 4, 3, 2], [1], [5, 4, 3, 2, 1]),
     rule(4),
     ['X' = 5, 'L1' = [4, 3, 2], 'L2' = [1], 'L3' = [4, 3, 2, 1]],
     [concatenate([4, 3, 2], [1], [4, 3, 2, 1])]).
step(concatenate([4, 3, 2], [1], [4, 3, 2, 1]),
     rule(4),
     ['X' = 4, 'L1' = [3, 2], 'L2' = [1], 'L3' = [3, 2, 1]],
     [concatenate([3, 2], [1], [3, 2, 1])]).
step(concatenate([3, 2], [1], [3, 2, 1]),
     rule(4),
     ['X' = 3, 'L1' = [2], 'L2' = [1], 'L3' = [2, 1]],
     [concatenate([2], [1], [2, 1])]).
step(concatenate([2], [1], [2, 1]),
     rule(4),
     ['X' = 2, 'L1' = [], 'L2' = [1], 'L3' = [1]],
     [concatenate([], [1], [1])]).
step(concatenate([], [1], [1]), fact(3), ['L' = [1]], []).
