adventofcode

git clone https://git.ce9e.org/adventofcode.git

commit
513d928d3b0943848da73bac6cb19375930c89f0
parent
3737ee934b89de91b97c9ea60c8530e717edab78
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2022-12-13 08:12
2022-12-13

Diffstat

A 2022/13/input.txt 449 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2022/13/solution.rs 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2022/13/test.txt 23 +++++++++++++++++++++++

3 files changed, 596 insertions, 0 deletions


diff --git a/2022/13/input.txt b/2022/13/input.txt

@@ -0,0 +1,449 @@
   -1     1 [[],[10,3,10,9]]
   -1     2 [[[7]],[]]
   -1     3 
   -1     4 [[[4],[[9,9,4,10,8],[2,2,4,8,5],10,[4,4,10,7,2]],5,7,7]]
   -1     5 [[0,[[3,3,7],6,2,2],9,[[9,3,1,6],[8,10]],0],[[4,[9,7,2,3]],4,0]]
   -1     6 
   -1     7 [[10],[],[[[6,5,2]],[6,1,4,2,2],2,1],[],[2,2,[[10,8,5],5,[5]]]]
   -1     8 [[6],[],[10,3,[4],9,[[10,0,9,5]]],[[[3,10],[10,2,8,5],0,7],1,[[],4,3],2,6]]
   -1     9 
   -1    10 [[[[9,5,7,0,7],[10,0]],9,[],[[],[],4,4,[0,3,9]]],[[0,[],[4,7,6,3,7],5,[9,3,5,7]],7],[4,[],7]]
   -1    11 [[[5],[3,[6,8],[2,9,3],1,[8,8,4,4]],[[1,9],[6,7,6,8]]],[[1],[3,[2],[3]],[[],5,0,[2,8],[9,5,4]]],[7,6,6,10],[5,[5,[9],[2,10,7],10,[2,3]]]]
   -1    12 
   -1    13 [[3,10,9,7],[[[0],[]],[[9,5,4],0,[3],9,[2,5]],6],[9,0,8,3,0],[7,8,6,8]]
   -1    14 [[],[3,[[],[9,0],10,[6,1,2],5]],[],[6,3,[[7,5,0,5]],10],[[1,3,7]]]
   -1    15 
   -1    16 [[9,5,3,10,[[3,8,10]]],[]]
   -1    17 [[1,[[8],[6,3,1,7],7,5],[],7,[7,5,10,[],9]],[[[6],6,6],7]]
   -1    18 
   -1    19 [[[[2,6,1],[3,9],[]],[9,5,[3,10,4,6]],3],[[2,[6,3,10]],[0],6,2,[[6],[],0,1]]]
   -1    20 [[8],[0,[0,[],[]]],[6,[[8,6,3,4,3],8],1,[10,3,4,[1,6,10]]],[[],[8,8],3],[5,[[7,3,6,9],[5,4],1],[[1,0,2,9],0,9,[8,8,3,10],[4,7,4]],[[2,9]]]]
   -1    21 
   -1    22 [[],[7],[[6,[],5,2],[4]],[[[7,7,2,6],[3,9,1],[3,6,8,7,4]],[[2],5],[5,2,[3],1,10],[],[]],[]]
   -1    23 [[0,9,[[8,7,9,4],[7],[4,1,1,10],[7,3,8,6]]]]
   -1    24 
   -1    25 [[7,[8,0,[5,9],5,[3,2,2]],1],[[],[[4,3,5,6,1]],[10,[2]],5],[[[2,4,0,5]],[2,4,[0,8,10,2],[5,10,9],7],4,[[],0]]]
   -1    26 [[[[2,6,9,5],[5,5,0,9],[5],0],[4,[7,7,8,7],[6,0,1],2]],[[6,[1],[9,4,1,1],7,[5,3]],8,[[4]],[[10,9],9,4,2,[9,3]],9]]
   -1    27 
   -1    28 [[[],6,[]],[[[10,0,2,5]],5,[]],[6],[9,9]]
   -1    29 [[[[0],[7,6,10,3],0]],[0,2,7,8],[[],[6,9,3,3,8],[8,[9,6],1],3],[],[]]
   -1    30 
   -1    31 [[],[0,0,2],[9,7,[[5,1,8,6,2],[3,7,9,2,4],10,[0,1,8,6,3]]],[9]]
   -1    32 [[[[8,9,8],9,[4,10],0]],[[8],7,[],10],[[4,[5,3],[3,9,3,8,6],2],9,[[1,0],[6,10,1]],3]]
   -1    33 
   -1    34 [[[[7,9,6,9,7],5,7,[7,4,2,7]],9],[2,6]]
   -1    35 [[],[[[4],5,[8,3,2,8],9,2],[2,[0],[2,9,5,0,4],2,[9,1,0,0]],1,3,4],[6],[[10,10,5],9,[8,0,[],[8]]],[[[2,2,6]],[],10,3,9]]
   -1    36 
   -1    37 [[],[[[3,9],7],[[1,8,4,8],[4,4,3,5,10],[5,1,10,3]]],[[[1,10,5]],4],[[[8,8,7,7,7],[6,3,5,4],2,4],[[0,5,10],10,4,6,6],8],[[],5,5,7,10]]
   -1    38 [[8,5,2,2,4],[[4,3],[[],[7,8]],[[10,1,4,3],[10],[3,6],[7,8,9],9]],[[6,[1,6,1]],[[4],[0,10,6,6,10],3,10],5,5],[3,6,[3,[9,0,9,0,7],9,8,[8,3,3,9]]]]
   -1    39 
   -1    40 [[[9]],[[],[6],[3,4,7]],[8],[8,6,[],[[],10,0,6],[[10,6,4],3]]]
   -1    41 [[7,[],[9,[4,2],[8,2,0]]],[8,5,[10,[6,8],[0,2,4,6,0],6,6],8],[2,[[7,1],[10],1,[6,7,3],4],[[5,3,0]],[2,[2,10,2,5,1],10,10,[]]],[7,1,0]]
   -1    42 
   -1    43 [[3,1,2,10,1],[7,[[3,5,9]]],[5,[1],6,3],[3,[[],1,1,9,[4]]]]
   -1    44 [[[[3,7,9,7]],[[],6,7,2],[],[[5],3,[2,4,5,9,7],[6]]],[[8,2,7,3,[]],5],[[3,7,[0],1,5],8],[[],[[6,6,3,1],6,[3],10,3],[[5],[2,2,7,1,5],0],0]]
   -1    45 
   -1    46 [[[9],[[9,10,7,9,7],[10,0]]],[8],[[[2,4,4,6,9],7,[10,4],3,6],8,[1,10,[0,7,7,7]]],[10,[1,[3,4,7,3,0],4],[[6],10],[[0],8,4,[3],[1,5,6,5]]],[[2,[2,6,10,2,5],6],[4,[7,3,0,9,4],[0],[8]],[10,1],0,5]]
   -1    47 [[4,10],[[5,[10],[],9,2]],[[[2],[10,2,2]],[0],[[8,7],5,[5,2,7,0],10,[8,1,2,3,3]]]]
   -1    48 
   -1    49 [[[],10,[[7,5,0],[9,5]]],[9,10,[[0,10,9,3,2],[0,10,0,6,7],3],[8],[[],[10,4,4,5,8],3,[8],4]],[2]]
   -1    50 [[10,[0,9,[4,4,6,5,7]],4],[6,[3],3,[[7],1,5,4]]]
   -1    51 
   -1    52 [[[[],[7,4,7,5],4],[[0,2,8,6,8],6,10],[],4,[0,[7,9,4,7],2,9]]]
   -1    53 [[[[],5,[5],8,[3,10,5,0]]],[[],6],[6,6,9,[[10,7,0,3,2],[9,6,1,5],9,8],[[7,7,0],3,[],[5,7,5,4,4]]],[0,[[3,5,9],[6,0],[],[5]],3,[],5]]
   -1    54 
   -1    55 [[6,[0,[],8,8,[8,9,5,6]]],[[[4],[0,8],6,[5,0]],2,[[7,6],[5],9,[3,2,3],3]],[6,[[],8,[10,9,10,6,0],2],[7,3,[10,2,2,9,1]],[5,8],[8]],[[[3],[6,9,1,10,10]],[[]],5,8,[3,[8],[6,0,3],[9],[0,9,2,8,8]]],[[4,3,[],0,0],[4,4,[10,9,2,9]],10,[]]]
   -1    56 [[[1,4,4],9,[[5,1,1,8],[9,8,10,1],5,[1],4]],[[[8,0,4,4,0]],2,[[7],6,1,2,7],5]]
   -1    57 
   -1    58 [[],[]]
   -1    59 [[],[5]]
   -1    60 
   -1    61 [[5,[[10,8],8,8,5],4],[],[1,6,2]]
   -1    62 [[[[7,6,1,9,4],[],[0,3,3]],[[3,10,0,3,8],7,[],5,[2,4,6,0]],[10,2,8],0,8],[6,6,[6,10,5,9,[2,0,6]],[9,7,3]]]
   -1    63 
   -1    64 [[[[10,6],[10,8],[7,9,2,5,2]]],[[],4],[8,[[]],7,[[6,6],[7,1,0,7,2]]]]
   -1    65 [[[[4,1,0,0],[],[0,7,3],[9],[3,3,1,6]],[0,1,[10,2,0,7]],7,[[5],[0,2,8],4]],[]]
   -1    66 
   -1    67 [[],[[4,5,[8,4,2],1]],[[],7,[0],[5],8],[[8,2,[]]]]
   -1    68 [[8,6],[[[4,1],[],[5,0],5]],[]]
   -1    69 
   -1    70 [[9,[8,[7,6],[9]]]]
   -1    71 [[],[[1,10,[0,8],8,7],2,[1,[9,5,10,1,1],4],[10,[1,2,4],5]],[5,[[6,8],8,[9,4]],3],[4,8,[[8,5,10,2,5]]],[8,4,[],[],[[7,3,1,4],[10,1,6]]]]
   -1    72 
   -1    73 [[4,[4,[0,10,6,5],[2,2,7,7],8,[6,8]]],[10,4,6],[[]]]
   -1    74 [[6,6],[],[2,[[2,1,1,8,7],[],[5,8,8],[8,7,0,7,8]],6],[7,[2,[8,6,1,5,0],[2,9],9],[[2,0,4],3,[5,4],[]],[1,[10,0],10,[]],4],[[[6,0,10],[8,8]],10,[3,[10,1,7,5,9],10,[5,4,0,2,4]],6]]
   -1    75 
   -1    76 [[6,[],[[8,3,9],[]]],[8,[]],[[[2,2,6],[9,3],1,0,2],[9,2,2,[10,4]],1,[7,5,[1,8,5,9,9],[4,6,8,6,4],4]],[5,2,[1,9,1,[7,9,8,1]]]]
   -1    77 [[2,[[7,8],1,2,[7,10,2],0]],[8],[4],[4,7],[[[],0]]]
   -1    78 
   -1    79 [[1],[1,3,[2],3],[[[],[7,10,5,8],[3,6,4],5,9],7,7]]
   -1    80 [[1,[5,[],9,[0,4,0,2],5],2,[[2,2,6,8],[2,5,10,3,10],[8,0,1]]],[10,[[],3,5,[7,4,2,0]],0],[[0,5],6,1,[0]]]
   -1    81 
   -1    82 [[0,5,[[2,2,5]],1,[]],[],[2,[[1,5,0,3,2]],9],[]]
   -1    83 [[[]],[[9,[10,6],7,[0,2,4,10,7],[10,8]],[[3,3,10,10],[],[9],10,[1,7,7]],4]]
   -1    84 
   -1    85 [[],[],[],[7,[[5],7,[],0],[[2,5,9]],[[5,8,6,6,2],[7]]]]
   -1    86 [[[[],[9],[],[]],2],[[8,[],[9,9,6,9],[],[2,1,4,6]]]]
   -1    87 
   -1    88 [[2,[],[6],[7,4,4]]]
   -1    89 [[[[3,1],[7,3,10,0],6],[[5,7,6]],[3],0],[[],2,[[9,0,0,0],3,5,5]],[5,1],[6,[5,6,4],[8,[6,4],[10]],[10,10],[5]]]
   -1    90 
   -1    91 [[[[9,1],5,[]],[],[[9,3],[],2,5],8,3],[[7,9,[0,5]]],[[[4,3,10,4],8,4],[],2,[5,7,[],9]],[6]]
   -1    92 [[[[2,0],[1,4,5],4,[]],3]]
   -1    93 
   -1    94 [[[[],4],1,[[],[1,2,7,7],[],[0,1,1],[]]],[10,9,[[8,4,5,1],10,6]]]
   -1    95 [[[2,[],4,[0,7,7,6],5],[[4,2,3],[2,3,7],[1],3]],[]]
   -1    96 
   -1    97 [[[5,5],[],[],[3]],[[1,[7,5,1,0],[5,7,7,6],2,[0,5,0,0]],[[],[9,4,3,1],6,[],[]],9],[]]
   -1    98 [[[2],[2],4],[5,7,4,4]]
   -1    99 
   -1   100 [[5],[],[[[],3],[2,6,[],7,[6,4]]],[9,[[8],[2,10],[4,9,0,2],[0,10,1]],[6,8,0],[[7,2,1],6,5]],[3,[3,[2,6,5,5,8],[10,4,1],[],5]]]
   -1   101 [[10,[7,1,3,1],9,2,[[0,1,4,10],[7,5,0,6],[],1]],[5,[0],6,3],[[0,2,3,[10,8,2,3]]],[5,2,8,3,5],[5,[],[3,0],[0,1,9,[8],[6,3,3,4,3]]]]
   -1   102 
   -1   103 [[9,[4,[3,4,7,2],6],5,1],[],[[4],[[6],8,0,0],[4,[10],9,8,[0,10,7]],[3],[[3,3,7,3],7,7,[8,7,6,4,1],[8,7,9]]]]
   -1   104 [[[2,6,9,[4,10,8]],[[8,5,8,6],[0,6,2,3,3],9],[9],7,6]]
   -1   105 
   -1   106 [[7,0]]
   -1   107 [[[[5,4,0,10],9,[7,9,3,1],[10,5,5,9],[2,5]]],[[6,[4],1],[6]],[[[8],[1,8,6,3,2],[2,5,6],10,[]],2,[9,10,[0]]]]
   -1   108 
   -1   109 [[3,[7],[[4,5,8],[6,9,6],[7,1,5,2,1]]],[[3,[7,10,6,6,1]],[8,10],[],[0,[10,1,9,8],2],8],[[[10,6,8,9,4]],[[1,7,4,6,0],[2,0]]],[[0,4,9,[2],7],7,4],[10]]
   -1   110 [[8],[4,5,7,[10,[]]],[0,4,[[5,8,9]],10,[[],8,[2,0,6,5,9],[10,6]]],[[10],[6,[4,6,1,4],[6],[10,2]]]]
   -1   111 
   -1   112 [[[10,7,[1,6],8,6],[],[[9,2,6,1,1],[1,3,5,10],1],7],[[4,[5,4]],2,8,[6],9],[[[0,2,2,5],6,[],4],0,[],[5,[]]],[[],[[],6,[5,3]],7]]
   -1   113 [[[9,[1,0,8,7,1],4],[1,4]],[5,[[8,0,1,2],8],[[4,10,3,7,10],4,[]],[5]],[10,10],[7]]
   -1   114 
   -1   115 [[[[3,6,4,7]],[10,0,[10],4],10,[[0,9,3,0,6],10,2,[]],[4]]]
   -1   116 [[1,[[1],[5],[8,5,1]],1],[[[9],[6,3]],0],[[[7,10,4,0,7],5],[[],8,[0,6],7],10,8]]
   -1   117 
   -1   118 [[],[[[9,5,10,5],[4,2],5,[]]]]
   -1   119 [[[[1],6,[9,9,7,1],[5],8]]]
   -1   120 
   -1   121 [[[[3],1]]]
   -1   122 [[[5],[4],1]]
   -1   123 
   -1   124 [[[[]],0,10,7,[0]],[[1,8,[0,4],7],[[7],[9,9],1],4,[[],10,[]]],[[[5]],[2,[3,0,3,4],3,[],[8,4]],[5,7,[7,3],1,[]]]]
   -1   125 [[[9,1,[4,6,5,7,9]],5],[6,[[2,10]]]]
   -1   126 
   -1   127 [7,9,6,0]
   -1   128 [7,9,6,0,3]
   -1   129 
   -1   130 [[[[7],[10,9,2,5],7,[6]],7,5],[4,5,3,[[],3,10,0,[8,0]]],[4,6,[9,[],8,4,[0]]],[],[7,[1,[1,9,9,5],[4,2,6,1]],[[5],[8],10,9]]]
   -1   131 [[8,10],[10,4,4,[[7,8,8,6],6]],[7,[3,7,[6]],3,10,3]]
   -1   132 
   -1   133 [[3,3,[],0],[[5,[2,1],7,6,0],[[1,7],[8],[2,6],6],0,[1],[[10,5,6]]],[],[4,[],[9,9,[0]],9,0]]
   -1   134 [[0,[2]],[[2,[7]],8,3],[[7,[]],5,0,[[10,9]],0]]
   -1   135 
   -1   136 [[8]]
   -1   137 [[[[3,5,3,1,8],[3,0,9],[],[4,9,8,10],5]]]
   -1   138 
   -1   139 [[[[6],[8,8,9,8,8]],5,2,9,[[2,8,7,5],2,0,10,2]],[8,6,[2,[2,0,5,9]],4]]
   -1   140 [[6,[[2],8],7,9],[],[1,[],2,6],[10,[4]]]
   -1   141 
   -1   142 [[],[[]],[],[2,6,9]]
   -1   143 [[[[2,2,3,8],[],[8,7,6],[3,3,3,5]]],[3,7,2],[[[4,4]],5,[[4],4,5,[6,7,1]],8]]
   -1   144 
   -1   145 [[[4,7,[5,7],[7,2],[3]],[[3,5],[8,5],[8]],[],9,[7]],[[[7],[3,6],[4,6,5,7,9]],[2,[3,2,2],3]],[]]
   -1   146 [[],[3,0,3,9],[1,5,6,[[6,3,0,1,9],[4],2,9]],[4,[8,2,6,9],[[5,0,6],[5,9,8,6],1,8,5],9,5],[]]
   -1   147 
   -1   148 [[],[[[7,7,9,2,0]],7,[0,[],10,1,[5,10,0]],[[2,2,1],0,5]],[]]
   -1   149 [[10,[0,1,[6,10,7,3]],10,[[4,2,5],[4,2,7]],6]]
   -1   150 
   -1   151 [[2,[]]]
   -1   152 [[8,[[1],0,1],[[10,1,0,3,5],[6,6,3,3,10],[9,7,2,5,8],7]]]
   -1   153 
   -1   154 [[9,[]],[],[0]]
   -1   155 [[[[3,6],9,[],[6]],[7],6,4,8],[[[10,5,8],[6,7],[],[6]],10,[6,[10,4,7],5],[1,3,10]],[[[7,1,8,10]]]]
   -1   156 
   -1   157 [[[[]],[3,5],9],[[[0,6,2,6],2],[[8,6],[3,8,6],4],[]]]
   -1   158 [[5,[0,[],[7,3,7],3,7],5,[3],[[5,0,1],[9,8,3,10,3],1]],[[4,[5,8,4,7,2]],[[5,0,0,7,1],[],1,6],[9,0,3,2],6,[[],[]]],[[3,6,[4,6,6,9,7],3],[],1]]
   -1   159 
   -1   160 [[[4],[[8,10,2,5,0],8,10,[2,4,10,0,4],1],4,[[0,7,9,2],10],8],[[[6],[7,7,10],[5,7,6,8,9],[3,1,1,5,10],[]],5,1,[3,[8,8]],7],[5,[3,[2,8,6,10,10],1,[3,0,8,9]],2],[]]
   -1   161 [[6,[8]],[6,[9,9]]]
   -1   162 
   -1   163 [[5,10,0,8],[3]]
   -1   164 [[8,[[4,2,3],[3,7,0,2,3],[9,5,7],[3]],2],[[[0],[3],[4,5]],3,0,[10]]]
   -1   165 
   -1   166 [[8,10,0,9,[[7,2],[10,9,9],5,4]],[[]],[9,3,7],[[[0,1,10,5,7],[7],0,5,[]],4,[]],[[3,10,1,[4,7],8],2]]
   -1   167 [[],[8,1,[2]],[[[10],[],[5,2],8]],[2],[8,[3,[10,3,9]],[5,[1,4,8,4],[8,1,3,9,9],[0,2]]]]
   -1   168 
   -1   169 [[8,[10,[],0,2,7],4,[9,9,5]],[4,0,2],[0],[6,5,[0,1]]]
   -1   170 [[4],[],[[1,[6],8,6,8],7,[],10,8]]
   -1   171 
   -1   172 [[],[],[3],[8,[10,[3],[],8,3]],[4]]
   -1   173 [[[[7,4,9,4],[10,10,1]],[[0,0],2,[6,5,10]],5,3]]
   -1   174 
   -1   175 [[[4],[[5,10,0,1,5],5,[2,3],10],[0,5,[2,10,8]],[[2,2,10],[3,2,0,0],[]],3]]
   -1   176 [[[4,[9]],[6,6]],[[],[2,2,9],[2,[5,8,2,4],[1,6,1,8,6],[4],[5]],4,3],[[10,[10],[1],[1]],9]]
   -1   177 
   -1   178 [[[6,[],[5],6],[]],[1,[],7,10],[8,8,1],[7],[[3,3,5,1]]]
   -1   179 [[9,1,[[]],[]],[[[8],[],4,2,8],[[0,10,2]],3],[[2,[7,9,6,4],10,[10],[7,9,4]],6,6],[9,5,[6,2,[0,7,3,6],8,[0,10,0,8]]]]
   -1   180 
   -1   181 [[1,[9,[2,0,1],6,[],2],[4,4,0,[6]],[[8,10,6,0],9,[5]],10],[[6],[7,3,9],[3,9,7,[6,9]]],[[8,[0],9,2,[0,5]],[10,[2,8,5],[8,9,10,4]],[9,[7,5]]]]
   -1   182 [[[[5,9,8,0,9],[3],8],[10,[6,9,3,7,3],1,4,[4,6,2,9,10]],8],[[[4],[5,7,4],[],[8,1],2]],[[7,9,4],[[9,10],5,3,7,10]],[[[4,7,1,0]],8,8,6],[0,[3,[7,9],1],[10,3,[7,5],2,8]]]
   -1   183 
   -1   184 [[6],[8,7,[2,5,0],[1,6,10,[2],1]],[]]
   -1   185 [[],[[[3,5],8],1,4]]
   -1   186 
   -1   187 [[1,0],[[6],2,7,[[],[1,2,3]]],[[]],[8],[4,10,[[7,1,5],[8],7]]]
   -1   188 [[9,4,[],[[5,1,10,7,2],7,8,[6,5,3,6,8]]]]
   -1   189 
   -1   190 [[9,[3],[],[],8],[3,[6,4,5,[2,2,10,10],[]],1,6,6],[4,[[9,6],[10,3,9,7,9]],[[5,0],8,5]],[2,[[]],[3,7,7,8,3],4]]
   -1   191 [[[3,[1,7,7,5,7],7,[2,1,6,6]],[[4,2,4,1],[10,4]],3],[[],[[],[0,10,1],0,7,9]],[[2,[5],4,[10,9,1,0,1]]],[4,[4,[]],[[],[4],[7,4,1,7]],2],[0,6,[[7,9,3]],0,[]]]
   -1   192 
   -1   193 [[[]]]
   -1   194 [[0,[],6],[2,3],[1,[9],3,9,3],[[[4,3,6,5,0],[4,2,6,3]],4]]
   -1   195 
   -1   196 [[[10,3,0,2,9]],[[],6,5,2,[0]],[[[9,1],[4,4,5,6],7,[],[10]],7,4,[2,[0,7,3,8]],[9,9,[0,2,10,6],[1,10,8,0,4],1]],[0,[[9,3,5,7,10],[5,5],2],[[8,10,8,5,10],1,[],[9,5]],9]]
   -1   197 [[2,[0],5,3],[],[[4,4,[8,8,3,6,4],10,[]],10,0,1,2]]
   -1   198 
   -1   199 [[[[6],[9,8],[5,3,9,8],7,[5]],6,[],[[4,4,10],7]],[0],[2,3,2,[9,9,[1,1],[],[5]],[0,8]]]
   -1   200 [[2,7]]
   -1   201 
   -1   202 [[2,4,3,0,[5,[],9]],[[1,[8,3,0,0,5],[2,10,7],2,[]]]]
   -1   203 [[[10,6,[0,6,3,0],7,[]]],[],[3,8]]
   -1   204 
   -1   205 [[5,[[0],[8,7,8,2,6],0,2,[9]]],[9,6,[3,2],4,8]]
   -1   206 [[[2],[[3,1,6,8,1],9,9,[4,7]],9,[]],[[[3]],[9,3,[1,8,7,6,4],[0,1,1]],5]]
   -1   207 
   -1   208 [[],[[[8,4,10,6],[6,9,8,3,4],[9,2,6]],[[8]],2]]
   -1   209 [[2,8],[[1,1],4,4,[[7,1,1]]],[[],[[]],[[0,2,10,10,9],[1,0,6],[],[7,0,9,0,1],[10,0,10,0]],0,10],[[[2,1,9],[5,8,0,6,6],5,3]],[7,8,[],[[]]]]
   -1   210 
   -1   211 [[0,2,6,10,5],[[[3,3],[6,5,6,2],[3,6,8,5,10],8,[]]],[[],10,[9,2,[4]],2,1],[7,0,[5,2,3],10]]
   -1   212 [[[4,9,[3,0,3,0,10]],[8,[1,0]],0,[[3],6]],[1,[[2,9,1],[1,8,9,3,6],3,8],0],[[8,[2,10,8,5,6],[9,2]]],[[[],6,8,9,[8,4,5,3,8]],[0,7,[5,8,9,7],10]]]
   -1   213 
   -1   214 [[[[3,1,10,6,6],[0],5],6,9,3],[8],[[8,5,[2,8,7,2,9],9],1,[8,0,[6,2,8,9,10],6],1,5]]
   -1   215 [[3],[[6,5,10,[4,1,1,5,0],4],[],3,7],[[],[[],[4,3,5,8,4],4],[0,10],0,[[3,8,5,6,5],8]],[[5,[8,5]]],[[[],3]]]
   -1   216 
   -1   217 [[],[],[[2]],[],[[[3,1],4,9,[]],[10,3,[10,1,7,6],[8,1,1,10,6]]]]
   -1   218 [[[10,6]],[[],[[],[5,3,0],8],[2,9],7],[6,[],7,2,8],[0,[],9,[[5,0,4]]],[]]
   -1   219 
   -1   220 [[],[[8,1,0],6,[7,[5,7]]],[3,[3,10,[],[6],[4]],[],[],[[2,4,5,4]]],[7,3],[2,[10,0,[3],[6,10,7],[]]]]
   -1   221 [[[[9,2,5,3,4],1]],[[[3,2],[0,6,10,10],[7,8,1,8,0],[],0],[[10,8,2,2]],0,[[2,9,10],[4,0,0,9],6],2],[],[]]
   -1   222 
   -1   223 [[],[[4,[7,5,5,8]],3]]
   -1   224 [[[5],5,0,6],[[],5,4],[[3]],[6,4]]
   -1   225 
   -1   226 [[[[4,6,0,4],0,[6,4],2,7],[[],[5],3,3],3,[6]],[[8,[3,8,10,1,0],[5,7,5,3,6],[6,1]],0],[]]
   -1   227 [[10,1,[[6,4,10,0]],8,8],[7,4,[9],[],7]]
   -1   228 
   -1   229 [[4,9],[1],[],[]]
   -1   230 [[[]],[[]],[8],[[9,[6],[7,7,10],5],4,[[9],5,0,3]]]
   -1   231 
   -1   232 [[5,[[5,10,5,3,7],[]],[[2]],[[0,9,9,2,2]],[0,8]]]
   -1   233 [[],[[[7,8,10,9,4],7],9,[[6,2,4],[6]],[4,0],[4]],[9,[3,[4,9,9]]],[[]],[[],7,6]]
   -1   234 
   -1   235 [[[],0,[0,4],[]],[]]
   -1   236 [[[[4,0,10,0,8],8,[2,9,2,7]],[3,[],[7,6,2,0,0],[10],[6,10,10,0]]],[[[6,0,3,1,3],10,10,2],[[7,3,5],4],4],[],[],[0,4]]
   -1   237 
   -1   238 [[0,5],[0,0,1]]
   -1   239 [[10,[6]],[[]]]
   -1   240 
   -1   241 []
   -1   242 [[[1,[],10,[8,6,6]],7],[3,[[7,6,3,6]]],[7]]
   -1   243 
   -1   244 [[[],[[6,10],[3,1],[9,2,10],9],1]]
   -1   245 [[],[[9,[]],[[4],[2,0],[9,8]],[4,[6,2,8,0],2],[[4,10,8,10,5],[8,0,2,4],1,6,4],[]],[6,[[],[],9,1],1,[[],5,[9],[2,6,1],9]],[9,[[],[10,4,9,6,6]],[],9,[9,[9,10],7,8]],[[],8,2]]
   -1   246 
   -1   247 [[10,[[]],[5,[2,4,4],[6,0,0,8,9],[7]],[6]],[[8],8,[[10,3,9],3,10,[9],3],[],[9,0,[4,1,4,8,3]]],[[[9,2,8,5],[2,5],[]],[2,4],[]]]
   -1   248 [[4,3,10,[6]],[8,3,[4]],[10,[[8],[4,8,9,0]]],[10,4,6]]
   -1   249 
   -1   250 [[[],[6,0,10,[3,8,4,1]],10,4,5],[5,[2,[5,9],[10,2,2,5],[0,5,5,6,0],6]],[]]
   -1   251 [[[6,[10,6,0,1],[9,2,7,2],[],5],7,8,7],[10,[2,4,[]],4],[[[1,10],5],2,[6,6],9,3],[1,5],[]]
   -1   252 
   -1   253 [[0,10,[[4,4]]]]
   -1   254 [[[1],[4,1,10,10],[[4,9,9,10],3],[1,[],2,[8,10,9,0,1]],[[],9,[],5,3]]]
   -1   255 
   -1   256 [[[7,[4,8,4,8]],[4,4,3],[5,[1,6,4,3],9]],[1,8,1,[9,6,0]],[7],[]]
   -1   257 [[[9,6,[7,9,1,4,6],6],[],4,8,[10,[5],6]]]
   -1   258 
   -1   259 [[],[[7],[]],[[[3],[]]],[],[]]
   -1   260 [[0],[],[]]
   -1   261 
   -1   262 [[[]],[10,0,[[8,0],6,[5,1],4,0],[7,[10,7],[5,0,9,5],[4,5,0,7,1],10],[]],[7,3,5,[[1,8,10,0],[8],[],[9,1,8,5]],9],[]]
   -1   263 [[[[7]],[],[8,8,[5,6,2,3,9],[4]],10,[]],[],[],[[[5,5,8,2]],[[2,0,2],8],[0],7]]
   -1   264 
   -1   265 [[[[5,1],[],10],[10,[],3,[7,0,10],[1,5]],[1,2,[6,8],1,4],[6],7]]
   -1   266 [[]]
   -1   267 
   -1   268 [[2,[1,[],[3]],3],[[],[[],[3,7,7],8,7],10,[9,[8,7,3,1,5],[4,9]]],[],[0,1,7],[[7,8],2,8,[[7,8],[6,6,4]],[4,[1,6,10,7,10],[5,0,8,2]]]]
   -1   269 [[],[0,9,[8,[],[]],[7,2,[0]]],[[[0],[8,3,8,1,2],8,[4,7,3,7,8],[3,10]],[8,[2,1]],[[6,1,3,0,10],[2],1,5],[[3,7,3],8,8],1],[[[4,3,5],9,[4,7,0,2],[5,7],[8,6,6,2,6]],1,[[2,7]],[[],[3,8,7],[10,1,6],1,[4,5]],7]]
   -1   270 
   -1   271 [[10,4,[[1]]],[[[]],[[],[8,10,9,2]],[0,[6,8,0,8],[]],[[0,10,2,1,10],[7,7],[8,0,3,10,8],1],4],[],[]]
   -1   272 [[],[2,[9,0]],[[],10,[[],[2,2],10,[5,9,1,8,6],[3]],[],10],[[[],7],[6,[8,7,6,9],4,8,5]]]
   -1   273 
   -1   274 [[0,[]],[[0,[5,6,1,2],6],8,8,[],5],[8,4]]
   -1   275 [[],[2,2,8,[[3,8],[1,10]]],[[9,[10]],6,[[9,4,1,4],[],[6,7,2],[8]],[[8,10,7,5,2],[8,5,10,0,2],5,4]],[1,8,[[0,5,10,1,0],[]]]]
   -1   276 
   -1   277 [[3,[9]],[4,5,2],[[4,10,[4],6],1,[[],8,[9]],3,2],[[0,[2,8,10,5],1]]]
   -1   278 [[2,[[10,4,4,5],[6,1,5,10]]],[5],[]]
   -1   279 
   -1   280 [[3,[6],[10,[3,3,5,10],[6,7,1]],1,9]]
   -1   281 [[9]]
   -1   282 
   -1   283 [[[5,[0,9,5,1],[],10],7,7,6,[9,8,8,9]]]
   -1   284 [[[8],9,0],[[[],9],7,[[10],2,[0,0,8,7,10],[],0],[[7,3,8,3,1],3,[1,4,1],10],[]],[[[4,10,0],4,[],[4,9,4,0],[8,6,3,6]],10],[3,4,[[4,8,7],[6,1,7,6,0],8],[[7,1],[4,3]]]]
   -1   285 
   -1   286 [[[7,[6,9,4,3],7,[7,9,10]]],[[[3],5,3,2,[10,6,5,2,6]],[9,[7,5,1]],6,7]]
   -1   287 [[10,9],[8],[8],[[],[[3,10,4],8],[[]],7],[[8,3,6]]]
   -1   288 
   -1   289 [[[[10,1,2,2,4],2,[8,3,7],[3,0,3,9,4],7],[[],[8,2,4,6],[6,9],[9,2,7,10]],[7],1]]
   -1   290 [[0,8],[3],[[],[[2],2,7,[2,4,6],[7,0,6,9,10]],5]]
   -1   291 
   -1   292 [[10],[7,2,[10,10,3,[],4]]]
   -1   293 [[],[8,5,6,[[2,5,4],5,7]],[[3,2],[9,[0,5,4,2],[4,1],[]]],[6,[5,5,0,1],6,8]]
   -1   294 
   -1   295 [[[0,0],9,[5,5,[4],[5]],[]],[4,[[],1,[],5,7],[[2,7,9]],4,10]]
   -1   296 [[[],[10,7,1,[1],[9,0,8,5,10]],9,[1,[],[3],[1,1,4,9],[4,6,2,10,9]]],[[1,[4,1,1]],6,0]]
   -1   297 
   -1   298 [[5],[[[6],2,0,[10,5,4],4],4,7,9,9]]
   -1   299 [[[9],3],[[[8]],[5,0,1]],[],[3,6,9,2]]
   -1   300 
   -1   301 [[9,2,[[4,0,3,8],[9,1,0,1],[8,2,1],[],[]]],[[[3,7,5,1,10],[3,4,4],6],[[9],0,[]]]]
   -1   302 [[[[],[9]]],[[10,[2,6,6]]],[0,[10,2,3,[7,5,0,9]]]]
   -1   303 
   -1   304 [[[0,[9,3,4,9,4],[4,2,5,7],[1]],[[]],7,[1,[3,1,4]]],[8,1,[],[7,4,8]],[[[5]],[],[[10,6,5,2]],8],[[[1,5],3,2],[5,8,9,[2,10,1,3,4],[10,10,9,5,10]],[10],[[10,4,9]]],[[[6,2],[10,4,10,3]],[7,[]],4,2,[10,[9,10,7]]]]
   -1   305 [[5]]
   -1   306 
   -1   307 [[],[[7,[3,5,4],[]],[]],[0,[5,2,0,0],[8,[10],[1,1,3,3],[7,8,3]],[[],[1,8,3],6]]]
   -1   308 [[2,[7,8,9],9],[],[[2,5,[4,5,3]],2,1,[[4,8,1,10],[9,0],9,[9,2,1,9,7],[1,4,4,2]],5]]
   -1   309 
   -1   310 [[],[2,[1],[[6,9],3],[8,0,8]],[3,[[8,2,6,10],9,[7,4,3]],[[1,1,1,7,4],[6,5,9,2,0],4,9],[[10],0,[2,2]],[[1,7,2,9],1]],[]]
   -1   311 [[2,[6,2,1],6,10]]
   -1   312 
   -1   313 [[[10,[]],[8],1,0,[]],[[[6,1,9]],[7],4,[2]]]
   -1   314 [[0,7,[[6],[9,8,4,9],[6],2],[8]],[[[10,7],2,2,0],[[4,1,8,10]],0,[3,[1,5,10,9,4],[2,5],[7,10,5],[]],[8,[9,7,5,0,5],3]]]
   -1   315 
   -1   316 [[[[0,7,10,0],[6,1],[4],7]],[9,5,[0,2],[]],[4,[],6],[[],[[3,9],[7,10,6]]],[]]
   -1   317 [[7,0],[10],[[[0,8,10]],1,[6,[5,4,5],[3,10,0,8]],[],[[1],[0],10,[10,9,0]]],[],[8,[],[2,[],4,[8,6,6]],[[0,2,5,4,8],4,[5,2]]]]
   -1   318 
   -1   319 [[2],[2,[[1,4]],[],2],[[3,[6,2,6],3,9,3],9,[3],6],[],[[8],[[4]],9,6,[8,5,[2,6,0,1],[0,6,8,7,4],7]]]
   -1   320 [[5,6],[0,2,8,[[1,9,0]],2],[[[]],[],4,[7,10,[],[0],[7,4,8,7,10]],6],[[3,6,[4,2,8],[3,1,1,2]],[[1,9,1],[],4],[],6,[[4],[5,0,1,4],6]],[]]
   -1   321 
   -1   322 [[1,[4,3,6],[2,4,4],[0,[4],[3]],[[],[6,5,5,8,6]]],[[[0,6,5],8,[],[]],3,[[1,5,4,3],[9,9,7],1,1,[1,1,1,2]],6],[],[],[[[1,10,9,9,10],3,[4,1,4,7]],2,5]]
   -1   323 [[9,[[3,1,3],[],1,10],[[0,7,7,0],[1,0,3,2,1]]],[[[9,10],[10,3,3,4,0]],[[1]],5],[[[9,10,4,6],5,[],[6,7,7,3],0]],[9,[4,9,[]],[6],2],[10,5,[[1,9,3],[4,2,1,1],[4,5,0],6,8]]]
   -1   324 
   -1   325 [[2,0,7,4],[],[[[10,10],[9],1]],[5],[]]
   -1   326 [[9,[7,[],4]],[[[],[5,2,1,10,0],[4,0,7,7,5]],5,[9,[1,10,7,7]]]]
   -1   327 
   -1   328 [[[4],[[],9,5,[9,5],[0,4,1]],3,[[6,6,8]]],[],[[9,9]]]
   -1   329 [[9,[[1,3],8,8,7,[7,8,9]],[[],6,9,1],6,[]],[1,[4,[],[10],4]],[[[5],3,[9,1,2],9,[]],4,10,[[],7,5,3,1]],[0]]
   -1   330 
   -1   331 [[],[[],4],[2,[[4,7,0,7,8],1],[],[5,8,[7,7],[5]],[[],[6],[4,2,3,10,5]]]]
   -1   332 [[[9,10,[7,4,8,7]],[[],[],3,5]],[9],[9,2,3,9],[[3,[9],7],[10,1,[4,3],[8,1,6,4,8],1]]]
   -1   333 
   -1   334 [[],[[[4,6,1]],9,[10,[9,1,0]],[0,[9,6,0,8,2]]],[0,[]]]
   -1   335 [[],[[7,6],[7],[[10,0,7,9,10],[0,10],[9],8,[]],[[9,0],7]],[3,2,5,2]]
   -1   336 
   -1   337 [[8,1],[],[7,[2,6]]]
   -1   338 [[[[0,10],[1,9,5,4],[]],[[],9,[2],9,[2,1,8,6]],[5,5,[1,3,10,8,1],[],[6]],8],[7,8,[[10,7,4,3],9,[6,5,8],5,[1,5,7,4]],[5]],[6],[[1,[10,0]]]]
   -1   339 
   -1   340 [[[5,10],[4,[7,9,0,7,8],6],8,4,2],[],[[[],4]]]
   -1   341 [[[6,[3,0,1,8],6],[]],[1,[]]]
   -1   342 
   -1   343 [[[9,[],[8,0,3,6,2],[],0],[7,[7]],0,2,7]]
   -1   344 [[[1,[1,10,1,9],[7,7,4,9]],5,9,7,0]]
   -1   345 
   -1   346 [[5,[8,7,[7,3,10],[7,9,3,4],9],[7],5],[3],[[[10,2,0,4,5],3,6],4,1,4,[9,[2,2,6,7],[8]]]]
   -1   347 [[[[3,5],[],7],[0,2,[5],[4,9,7,10,8],4],[4,6],[4]]]
   -1   348 
   -1   349 [[[10,10,6,4,[]],0,[]]]
   -1   350 [[4,9,10,1,10],[],[[[10,3,8,1,1],10,[4,2]],[[],[4,8,9,5]],7],[3],[6,0,[],[5],[[1,6,10],3]]]
   -1   351 
   -1   352 [[],[[[],2,[3],9,6],5,[5,[7,6],5],[[],[],10,3,[9,6,3,2]]]]
   -1   353 [[7,2],[[],[9,[10,1,1,0],3,4,3],5,[[3,8],4,8],0],[10,10]]
   -1   354 
   -1   355 [[[10,[7]]]]
   -1   356 [[[[5],[3,2,2,9,0],[],[6,10,5,6],9],[0,[],[6,1,6,10],9,6],[3,[4],9]],[7,[1,[],[6,9],[0,5,10,7,7],[8,1,1,4,10]],4,[]]]
   -1   357 
   -1   358 [[3],[],[],[6],[[[2,8,0,4]],[7,5,1,0],[9,10]]]
   -1   359 [[[5,10,[4],6],8],[[[],3,8,6,[4,2,3,10]],[7,[7,8,9,2]],9]]
   -1   360 
   -1   361 [[[1,5,[2,0,3,10],[5]],0,[[6,8,10],[10,3,1,4,8],[7,5,6,10],1,[6,2]]],[0,[8,2,[6,3,7,8],4,[9,4,0]],10],[5,[[],2],5,[[9,3,9,10],0,8,[10,6],7],[[9,9],10]]]
   -1   362 [[[[],[6,3,7]],[],6],[[4,1,8,10,7],5],[[[7,8,2],10,10],[4,0]]]
   -1   363 
   -1   364 [[[[3,10,10,5],[4,9,7,6],[1,4,4,4,10],2],3,[10,9,[],4,[4,6,0,5]],[],[[6,6,3],[9,0],8,3,[9]]],[[0,[7],4],[],10,9],[4,[9,[],[10,6,1,4,3],8,[2,2,0]],[],[4],[]],[0,4,[[1,6],0],[5]],[[[3,5,1,1],[10,10,9]],2]]
   -1   365 [[7,4,[[],[6,1],[7,1,10,1,4],[6,5,6,3,10]],[8,9],6],[5],[2,[[1,1,2,6,6]]],[10,8,5],[[10,4,8,[10],[10,3,8]],0,8,[[2],3],5]]
   -1   366 
   -1   367 [[0,5]]
   -1   368 [[1,[]],[[]],[10,1,[1,9,[10,10,8,0,4],8],10,[[0,6,6,9,5]]],[[[5],[1],7,2]],[[9,[1,10,5,8]],3,[[1,4],0,[],[7]],5,[]]]
   -1   369 
   -1   370 [[2,[],[[0,2,5,6]],2,8],[],[1,[5,[10,6,3,4],9,[5]],6,[],3],[0,7],[4,1,[[3,5]],9]]
   -1   371 [[9],[[[2],4,8,[3],[5,2]],0,[6,[2,2,9,0],[6]]],[[0,[4,1]],[1,[2],[]],[[],[2,4,1],2]]]
   -1   372 
   -1   373 [[[[0,2,3]],[4,3],3,3],[[5,7,[]],9]]
   -1   374 [[[5],5,4,4,[0,[0,0,5,6,5],7,[0,3,8,7,9],6]],[[[5,3],[1,9,2,1,1],0],[1,0,3,[10,7]],1],[3,[2,[],4],[],3],[0,[[4,7],[0,3]]],[[],[9,[4],[5,9],[]],3]]
   -1   375 
   -1   376 [[10],[[[4]],4,[[2,9,7,10,7],2,5,[5,2,10,10,10],[]],[[3,7,0,10],[],6],10],[0],[7,[[],3,[0,8,8,9]]]]
   -1   377 [[2,6]]
   -1   378 
   -1   379 [[[[],[4]],[2,0,[8,0,0,8],[9,1]]]]
   -1   380 [[[[],6,6],8,[[1,4,1,0,5],3,[3,8,10,5],5,[10,6,6]],3,3]]
   -1   381 
   -1   382 [[9],[[[]],7],[[[],6,[4,1,2],0],[9,[],[10],6],0],[0,[8],4,[[7],[7,10,1],[4]],8],[0,[[5,6,8,1,0],7,1]]]
   -1   383 [[1,8],[[[2,6,9,4,3],[2,3,6,8]],[1,1],[[]]],[3,4,10,4,9],[[6,8,[6],[3,8],2],10,1,[8]]]
   -1   384 
   -1   385 [[7,[9,[0],[1,8,3]]],[[[6,0,9,3],4,9,4,[5,9,2]],7,0],[[[3,2,10,10],[4,6,8],3,[],6]],[[8,[],[6,5,10,7],0]],[[[8,9,7,8],[8,3,6],7,2,9],[9,3,5,[7,0,7,3]],6,[10,8,5],0]]
   -1   386 [[],[],[1,5,[]]]
   -1   387 
   -1   388 [[1],[9,1,9,[[10,4,6,9],9,7,[0]],[[2,2]]]]
   -1   389 [[6,[9,[],4],[8,6,[4,0,0,10],[9]],7,[0,[7,1,1,10,0],[3,8,0,6,7],4,2]]]
   -1   390 
   -1   391 [[[[1,8],8,[7,3]],[1,3,[1,1,2]],7,[9]],[10,2,[[10,2]]],[10,[5]],[10],[]]
   -1   392 [[[[0,5],[10,0,1,4,5],[1,5,10],[1,1]]],[[[0,0],[1,9,4,3],[4],[],[3,4,2,10]]]]
   -1   393 
   -1   394 [[[6],3,[1,3],[[7],[7,5,7],[]]],[[[9,9,2,7,4],[],[]],10,[10],7,7],[10,[1,6,2]],[[7,8,10,[1,9],1]],[[8,10,6,6,[10,6]],3,4,[[8]],[[1,0],[],[4,5,8],8,2]]]
   -1   395 [[[],3],[6,[],8],[]]
   -1   396 
   -1   397 [[[5]],[[0,3,[],1],[[1,2],7,8,[],[7,1,3]],7,[[8,7,5,4],8,4,[4,5,1,5,2]],4]]
   -1   398 [[8,[[8]],[],6,[2,[8,0,4,10],[10,0,5],[]]],[[6,1,2,[6,2],[5,1,6,0]]],[3,[8],[],1,[[2,4,2,7,8],0,[2,10,6,0]]],[9,3],[2,[10,[0,10],0],[[3,7,3,3,4],[],4,[],10],3,[[0,9,3],9]]]
   -1   399 
   -1   400 [[[4],[]]]
   -1   401 [[4,[8],[[5,6,8,6,2],[],[]],[],4]]
   -1   402 
   -1   403 [[7,6,9,3,[[5,3,1],3]],[3,[5]],[1,[[5,1]]]]
   -1   404 [[],[[[7,8,3],0,4,[9,6,9,10,0],[3,3,8,0]],5,3],[[],10,7],[[4,0,[10,8,4,0],2,3],[[5,10],6]]]
   -1   405 
   -1   406 [[],[[1],7,0,9]]
   -1   407 [[[[9,10]],10,6,[[0,9],0,2],[]],[10],[[[5,4,10,10],[10,10,6,3,6]],[[1,9,6],[6,8,9]],8],[],[8,2,[2,[1,1,9,4],9],[4,1],[]]]
   -1   408 
   -1   409 [[1,3],[6,[9,[9,5],3,1,8],0,[6,1,9,[3,5,10,10,10]]],[3,4,6,[],[[3],3]],[[[2],4,6],[[7],[],[10,10,9,5]],[[4],[10,5,0]]],[[[],[9,7,8,2,8]],[],6,[[],9,[2,4]]]]
   -1   410 [[],[[[9]]],[[8,[],6,[7,9]],6,[[6,3,5],5,[6,3,2,4,10],[6],[2,5,6,5,2]]]]
   -1   411 
   -1   412 [[[],[[7,5,5,5],8],0],[2,0],[],[[[1,4,8,3]]]]
   -1   413 [[[[3,2,2,7,0],[3]],[[8,7]]],[[3,7,[9,5,2,9,7],0,7],[6,9,7,[2,4,5,7]],4],[],[[[2,10,2],2,[3,6,6],[]],[1],2],[[[7],[8,5,3,1],[5,7],6],[]]]
   -1   414 
   -1   415 [[[[1,8,3],[4,3],[6,5,8,6,7]],[[6,4,6,2,4],3],8]]
   -1   416 [[1,[9,[],[3,8],0],5,6,[[],[4,9],[4,9,2]]],[2,[[4]],[5,6]],[3]]
   -1   417 
   -1   418 [[7],[[],7,3,[7,[7,5,0],[7,0],[6,6,5],[0,9,8,1]],[[10,7,5,3],[2,7],2]]]
   -1   419 [[[10,[],[0,7,8,3]],[[],[9,4,6,9],[7,2,4,1],[7,8]]],[[[10,4,1,0],[4],[],9,10],4,5,[[10,7,7]]]]
   -1   420 
   -1   421 [[10,[9]]]
   -1   422 [[],[[6,3]]]
   -1   423 
   -1   424 [[0,[[5,1,5],[8,3,6,0],[10,8,5],[1,6,10,0]],[[4,3,3],[10],5,[4,9,6,6,3],[8,10,5]],5,1],[9,2,[[6,4],0,10],5,[[7,8,0,3,2],1]],[],[[7,1,2,3,10],[2,0,[1,9]],[],[5,7,8],4],[[4],[3]]]
   -1   425 [[[[3,1]],4,8]]
   -1   426 
   -1   427 [[9,[[6,1,6,6],2]]]
   -1   428 [[3,9],[[3,[0,4],3],[8],1,8],[[5,9,[2,5,8,7],[4,0,3,8,0],0],[4,1,[5,6,2,2,5],[]],[1,4],5],[[],0,3]]
   -1   429 
   -1   430 [8,6,3,8,1]
   -1   431 [8,6,3,8]
   -1   432 
   -1   433 [[10,[5,[6,10,9,2,8],[4,5,1,8]],[7]],[5,1],[[[3],[0,1,0],0],10,6,[[1,3,4,10,2],[0,3,2]],10]]
   -1   434 [[9,10,[[1,5,1],1,9,4,7],[[10],[8,5,10,0,5]],[[9,6,2,9,8],7,[]]],[[]]]
   -1   435 
   -1   436 [[[0],[7,[1,1,7],2,[10,8,3,2,3],0],6],[10,[5,[0,9,2,3,0],[],[]],8],[[],[],[8]]]
   -1   437 [[[[3,3],[],[0,2,5,7,5],2]]]
   -1   438 
   -1   439 [[[5,6,7],[6,[8,9,3,4,6],9,9],5,9,4],[4],[[],7,10,1],[10,[3,8]]]
   -1   440 [[],[[[4,10,7,1,6],3,[1,7],5]],[7,10,[[7,0]]],[[[0,5],10,10],4]]
   -1   441 
   -1   442 [[],[[],3,[]],[]]
   -1   443 [[4,1,[3,5,1]]]
   -1   444 
   -1   445 [[7,5,[[4],[9,5,1,3,0],0,3,[5,8,2,2,0]],2],[[10,1],[[]],[[2,2],[6,3,8],[5,5,7,10],[0,2,7,0],[2,1,8]],[]],[0,[[7,9,5,0]],2,5,0],[]]
   -1   446 [[2,[1],7],[5]]
   -1   447 
   -1   448 [[5,7,[9,[],[8],10,1]]]
   -1   449 [[[5],[0,10,[2,10,6,0,8]]],[0,6,10,9]]

diff --git a/2022/13/solution.rs b/2022/13/solution.rs

@@ -0,0 +1,124 @@
   -1     1 use std::cmp::Ordering;
   -1     2 
   -1     3 #[path = "../lib.rs"] mod lib;
   -1     4 
   -1     5 enum Item {
   -1     6     List(Vec<Item>),
   -1     7     Number(u8),
   -1     8 }
   -1     9 
   -1    10 impl Ord for Item {
   -1    11     fn cmp(&self, other: &Self) -> Ordering {
   -1    12         return match (self, other) {
   -1    13             (Item::Number(a), Item::Number(b)) => a.cmp(b),
   -1    14             (Item::List(a), Item::List(b)) => {
   -1    15                 for i in 0..a.len() {
   -1    16                     if i >= b.len() {
   -1    17                         return Ordering::Greater;
   -1    18                     }
   -1    19                     let c = a[i].cmp(&b[i]);
   -1    20                     if c != Ordering::Equal {
   -1    21                         return c;
   -1    22                     }
   -1    23                 }
   -1    24                 if a.len() == b.len() {
   -1    25                     return Ordering::Equal;
   -1    26                 } else {
   -1    27                     return Ordering::Less;
   -1    28                 }
   -1    29             },
   -1    30             (_, Item::Number(i)) => self.cmp(&Item::List(vec![Item::Number(*i)])),
   -1    31             (Item::Number(i), _) => other.cmp(&Item::List(vec![Item::Number(*i)])).reverse(),
   -1    32         };
   -1    33     }
   -1    34 }
   -1    35 
   -1    36 impl PartialOrd for Item {
   -1    37     fn partial_cmp(&self, other: &Item) -> Option<Ordering> {
   -1    38         Some(self.cmp(other))
   -1    39     }
   -1    40 }
   -1    41 
   -1    42 impl PartialEq for Item {
   -1    43     fn eq(&self, other: &Self) -> bool {
   -1    44         return self.cmp(other) == Ordering::Equal;
   -1    45     }
   -1    46 }
   -1    47 
   -1    48 impl Eq for Item {}
   -1    49 
   -1    50 fn _parse_signal(s: String) -> (Item, String) {
   -1    51     if s.starts_with("[") {
   -1    52         let mut rest = s[1..].to_string();
   -1    53         let mut children = vec![];
   -1    54         if rest.starts_with("]") {
   -1    55             return (Item::List(children), rest[1..].to_string());
   -1    56         }
   -1    57         loop {
   -1    58             let (child, tail) = _parse_signal(rest);
   -1    59             children.push(child);
   -1    60             if tail.starts_with("]") {
   -1    61                 rest = tail[1..].to_string();
   -1    62                 break;
   -1    63             } else {
   -1    64                 assert!(tail.starts_with(","));
   -1    65                 rest = tail[1..].to_string();
   -1    66             }
   -1    67         }
   -1    68         return (Item::List(children), rest);
   -1    69     } else {
   -1    70         let a = s.find("]").unwrap_or(s.len());
   -1    71         let b = s.find(",").unwrap_or(s.len());
   -1    72         let end = a.min(b);
   -1    73         let value = s[..end].parse().unwrap();
   -1    74         let rest = s[end..].to_string();
   -1    75         return (Item::Number(value), rest);
   -1    76     }
   -1    77 }
   -1    78 
   -1    79 fn parse_signal(s: String) -> Item {
   -1    80     let (result, rest) = _parse_signal(s);
   -1    81     assert_eq!(rest, "");
   -1    82     return result;
   -1    83 }
   -1    84 
   -1    85 fn get_signals() -> Vec<Item> {
   -1    86     let mut signals = vec![];
   -1    87     for line in lib::iter_input() {
   -1    88         if line != "" {
   -1    89             signals.push(parse_signal(line));
   -1    90         }
   -1    91     }
   -1    92 
   -1    93     return signals;
   -1    94 }
   -1    95 
   -1    96 fn part1(signals: &Vec<Item>) -> usize {
   -1    97     let mut sum = 0;
   -1    98 
   -1    99     for i in 0..(signals.len() / 2) {
   -1   100         let left = &signals[i * 2];
   -1   101         let right = &signals[i * 2 + 1];
   -1   102         if left < right {
   -1   103             sum += i + 1;
   -1   104         }
   -1   105     }
   -1   106 
   -1   107     return sum;
   -1   108 }
   -1   109 
   -1   110 fn part2(signals: &Vec<Item>) -> usize {
   -1   111     let a = parse_signal("[[2]]".to_string());
   -1   112     let ai = signals.iter().filter(|x| **x < a).count() + 1;
   -1   113 
   -1   114     let b = parse_signal("[[6]]".to_string());
   -1   115     let bi = signals.iter().filter(|x| **x < b).count() + 1;
   -1   116 
   -1   117     return ai.min(bi) * (ai.max(bi) + 1)
   -1   118 }
   -1   119 
   -1   120 fn main() {
   -1   121     let signals = get_signals();
   -1   122     println!("part1: {}", part1(&signals));
   -1   123     println!("part2: {}", part2(&signals));
   -1   124 }

diff --git a/2022/13/test.txt b/2022/13/test.txt

@@ -0,0 +1,23 @@
   -1     1 [1,1,3,1,1]
   -1     2 [1,1,5,1,1]
   -1     3 
   -1     4 [[1],[2,3,4]]
   -1     5 [[1],4]
   -1     6 
   -1     7 [9]
   -1     8 [[8,7,6]]
   -1     9 
   -1    10 [[4,4],4,4]
   -1    11 [[4,4],4,4,4]
   -1    12 
   -1    13 [7,7,7,7]
   -1    14 [7,7,7]
   -1    15 
   -1    16 []
   -1    17 [3]
   -1    18 
   -1    19 [[[]]]
   -1    20 [[]]
   -1    21 
   -1    22 [1,[2,[3,[4,[5,6,7]]]],8,9]
   -1    23 [1,[2,[3,[4,[5,6,0]]]],8,9]