diff --git a/2022/full/day13.txt b/2022/full/day13.txt new file mode 100644 index 0000000..944ded3 --- /dev/null +++ b/2022/full/day13.txt @@ -0,0 +1,449 @@ +[[4,[6,[9,0,1,10],[6,9],[0,5,9,8],[6,6]],9,[[8],[7,1,8,10,2],9,[9,0,5,1,9]]],[],[[1,7,7,[6]],10],[4,[5,4],9,[]]] +[[7],[[7,[1,8,3,9,0],[4,4,9,10,0],6,[2,3,7,8,6]],1]] + +[[],[0],[[]]] +[[0],[[4]]] + +[[],[[[5]],[[]],[],1,6],[0,8,10],[3,[],[0],2]] +[[[2,[1],9,[4,2],6],[[1,0,8,4,10],[1,7,6],9,5],[3,2,4,5,[9,7,2]],[[6,4],5,[1],7],6],[10,[3,10,[0,4,2],5],10,[],0]] + +[[1,8],[9,[2,[],[1,2,7,3],[1,1],5],6,[9,9,10,7]],[[8,[],[4,1],0,[0]],0],[[[1,9,8],1,[0,5,3,9],1,[5,7]],8]] +[[],[],[8]] + +[[[],[[3,4,6,8,5],[6,10],[5,1,10,6]],[[10,1,5],3,0]],[2,[[10,0,3,6],[1,1,9,9,10],[6,2,2,4],3],[[2,6,3,4,8],2,[10,7,4,0]],[3,[9],[1,6,8],7,[]]],[[[10,2,9],[4,10,7,4],[4,8,0,2]],8,0],[3,[7,[0,8,7,10],[9,5,6,0],[7,8,6,5]]],[[[7,5,2],1,[7,2,5],[3,5,4]],[[2],7,10],9,[[],[10],[1,9]],[5,[8,0]]]] +[[0,[],2],[[[2,5,1],4,[3]],[6,[1,2],[6,2],[1,3,8,5,10],[5,3]]],[0,4,9,[[7,10,1,10,5],3,6,1],[3,[4,4]]],[0],[]] + +[[],[[[5,9],[6,10,1,9,1],10,4],[[],[],[6,1,6],4,[0]]],[[[],[4,2,10]],2,[1,[4,0,9,10,2],5,[10,3]],2,8],[1,[6,[2,9,1,6,3],[],4,7],[[9,9]]],[8,8,[5,[7,4,0,0,0]]]] +[[8,[]],[[]]] + +[[[[5,5,1,3]],[[4,8],[3,10,5],5],7,[1,[2,0,1],[3,2,2]],9],[]] +[[[10,[10]],[]],[[],7],[6,[],7,[[],9,[3]],1],[[],[],[[7,2,8,9],[6,8],1,0,[]]]] + +[2,3,0,2] +[2,3,0,2,5] + +[[[],4,[6,6,[],1],7],[1,0,[10,9,[],[10,1,2,8]]],[]] +[[[6,0,5]],[[]],[]] + +[[[[2,9,7],[5,7,9,0]],2,7],[10],[]] +[[8,8,[[9,2,7],8,[],4,[]]],[10,9],[[10,5,0],5]] + +[[],[[[6,9],[8,1,7,3],0,[5,7,3,4,4]],[],[[6,7,10,7,6],8,[0],5,8]],[4,8,[3,[3,2,2,1],[7,2,9,2,4],6,[]],[[1,1,10,7,5],[1],[5,2,4,4],[6,9]]],[[7,10],0,4]] +[[[3,[]],[[10,2,9,8]],7,10,[3,4,0,7,[3,6,7]]],[],[[[1],9],6,10,10],[[1,[1,1,5,2,7],7,5],[1,1],1],[1,8,8,[],[[2,4,4],[1,3],9,[]]]] + +[[],[6,1,9,8,6],[[8,[8,9,3,2],[10,7,3,6]]]] +[[4,[[],[10,6,6,3,10],[2],5],3,[[8,1,7,6,8],0,5,[10],0],[[2,4],10,4,[]]],[],[4,[[],[9,3,10,8,0],[9,10],9,[5,3,5,8,5]],10,[[],2,[2]],[7,[5,5,6,5],[3,9,5,8],[],[10,5,6,6]]]] + +[[8,4,7,[2,8]],[1,[[8],[3,6,8,2,4]],[],5,[3,0,3,[4,3,0]]],[[7]],[7,[],6,[[8,10,8,8,4],9,8,[6,6,9]]],[1,[[5,0,8,7],6]]] +[[[2,[6,4,7,1],0],[1,[6]],[[4],9,[6,0,8,2],[1,2,2,2]],4,[[7,6,8,6],2,[3,5,10],[]]]] + +[[9,[10]],[0,4,[0,5,4,[4,7],0],8,[10,[],[3,0,4,3],[8,2,7,10,4]]],[[9,2,[],[]]],[[0],7],[10,[[6,6,8],6,1,4],4]] +[[[10,0,5,6,10],[[5],4,[3,7],[4,2],6],9,1,7]] + +[[[3,[],9,[8],9],1],[[10,[2],5,[]],6,4]] +[[[[7,2,5,7,6],[4,10,0,3],[2],6,7],[[1,3],6],6]] + +[[],[1],[[[10,3,6,4,2]],[],1]] +[[[[10],[10],[10,1,6,9,6],[5,6,5,10,8]]]] + +[[7,[7,0,8,[9,9,9,6,4],7],4,[]],[7,0]] +[[[],[0,[],10,4,[]],[[7,10,2,10],[6,0,0,8,10],[6],4,[0]]],[[7,2,5],[],8],[[[8,6,6],2,7],[[0,10],5],4,[2,0,6,9,3],6],[0,[[]],[],[],9]] + +[[4,9],[3,9,2,[6,10,[],10,[3,6,9,7]]]] +[[[[],1,5,[]]],[[[1,9]],[8,[10,1,2,3],2],5],[0,9],[[1,[8,9,8,10,1]],0,3]] + +[[6,7,[10,[0,5,3,8],[1,8,6],10,9],[[8],0,[6,7,3]]],[[[5],9,6],9,6],[[[],0,7],4,6],[[8,4,[0,0],6,4],5,10]] +[[10,[[7,4,6,10,1],3],[]],[[0,[],[10]],[10,7,[5,7,10],[10,7,2,7,2]],7,[9],0],[],[[[6,9,6,10,10],8,6,[3],1]]] + +[[9,[[1,4,4,1],1],3,10,10],[[[],3,4,1]],[6,[[6,6],4,[3,6,5,5],1,[10]],8,[],[8,[],[],[],[5,4]]],[]] +[[[],[],[1,5,6,[9,2,10,6],4],[9,[0],[8,0,8,3],6,[9,3,8]]]] + +[[[7,2,7],[7,[6,8],4],8,0],[[[4],[7,4,1,7,4],2,[9]],[3],2,5]] +[[0,2],[[5,[6,3,3],5,4,2],[[9,2,4,1,10],8,2,[5,9,5],[8,1,6,9,6]]],[[[],6,7,[4,9,5,3,4],2],[4,[5,2,8,5,7],[8,9,1,1,9]]],[]] + +[[8,8,[],[]],[10,[[4,5],[3,0,10],[4,9],3],[[],[6,10,5,4]]],[]] +[[9,[1,[]],[9,[1,1,1],0,[1,9,8]],5]] + +[[[[3],3,[]],7,[[0,4,4],[10,8,3,4],[],[4,6,8,5,6]],3],[[10,5,[2,6,7,1],[6,6,9,10],[5,8,5]],[[6,5,2,10],[7,4,4,2,5],3,0],2,[[1,5]],7],[[],[[4,1,7,3],[10,8,5],[4,0,9],[5,7],2],5,4],[[],1,7,1]] +[[5,[[1,7,9,5,5],0,[6],6,6]],[[8]],[[2,1,3],[6,8,[5,7,9,6,0],5,10],10,9],[7,[[7,4,6]],[[1],6,1,[0,1,10],8],[[6,7,6],5,2,4,2]],[6,[6,8,[7],3,[2,3,10,2]],[1]]] + +[[9]] +[[7,10,[[5,3,8,8,9]],[7,[3,1,2]]],[3],[[0],7]] + +[[],[[[2,10],[0,2],10,[5,9,0,0,6]],10],[1,[[3],4,8],[1,[8]],[10],[]],[4],[3,2,[[10,4,9,2]],10]] +[[5]] + +[[7,3,[[6,9,2,9],9,[9,10]],3],[9,[],2,[8]],[]] +[[9,[[2],5,[9],0]],[],[[[10,2,0,5],[8],0,[]]],[[8,0,6,[0,5],[]],[9,1,[6],1],[[9],[3,10,10],[5,6,4],2],8]] + +[[],[6,[4]]] +[[6],[[],[9,[6,10,7,9]],[2,8,1,0],8]] + +[[10],[6]] +[[4,10,[[4,2,2,1,9],8,[6,3,0],[3,4,6,7]]],[[5,5,[4],6],3],[[],10,5,9],[5,10]] + +[[],[[[4,2,0],[7,6,9,3],[6,0,0,7],1]],[],[[5,5,5,[3]],8],[[3,1,[5,9],9,[7]],7,8,[[10,1,6,4],10]]] +[[[[]],[[0],[],[3,4,10]]],[],[1,8,[7,6],[]],[[],[[1,4,8,0,7],5,[4,9,2,4,9],[3,6,7,9]],[[0,8,8,1,7],2,[0,8,9,4],[6,5,8,0],4],7,7],[3,[[2,4,6,0,10],6,[0,3],0,3]]] + +[[[8,4,3,[1,8,1]],3,2],[[[0,1,9,7,9],7],[[9,7],10,7,[10,2,10]],[[10,0,2],6],[],[[9],[1,1,10,6],[],[6,4,2,1],[8,6,3,5,0]]]] +[[[5,5,2,[5,10,6]],[10],1,0],[9,4],[],[1,[8,9],2],[4,6,[[10],4,[9,6,3,2]],9,[2,6]]] + +[[[[2,7,3,1],[],0,3,[3,3,7,4,0]],[[7,9,3]]],[9,10,6,[2,10,[2],[]]],[]] +[[],[4,[2,4,[]]]] + +[[[],[],9,[7,9,0,[0,2],1],5],[],[[9,10,6],[0]]] +[] + +[[],[2,3,6,[]],[]] +[[7,9,7],[1]] + +[[[1,[6,4,2,7],1,[6,0,1,1,3]],[6,0,8,2,2],1,[[6,6,7,4,4]]],[6,10,10]] +[[[0,4],7,5,3,[[1,0,9,4,10],3,[2,10,3],[4,7],7]],[8],[6,[[10,7],[8,1,10,0,7],5],8]] + +[[8],[8,[[6],[8,8,3,1],[5,3,3]],10,0,6],[1]] +[[[0,7,1,[2],1],[[10,10],1],4,4],[[],0,2,[[0],4,8,[10],5],[[1,5,9,7],[10,10,5,6],[10,6],2,[5]]],[1,[[8]],9,[9,1,[8,6,9,0,2]]],[],[]] + +[[],[],[[[0],0,1]],[],[[1,3,10,7,10],4,[8]]] +[[[],5,4],[[[8,1,1],[10,4],[7]],[[7,1,10],4],[4,0,[0,0,4,5]]],[5,1],[8]] + +[[[],[7,[10],[7,8,2,3,1]],7,5],[[10],6,[[6,7,7,0],3],8],[2,[1]],[[[10,0,7,0,9]],10,10]] +[[1],[]] + +[[],[7],[[[9,0],10,[3]],[[],[5,2,5,2]]],[2,10,[6,8,[5,0]],[],[[7,5],7,10,5]]] +[[[[4],0,[2,4],8]],[3,[[10]],[9,1]],[[9],[[6,5,8,10,2],[3],1],7,[[8,8,1,8]],9],[[4],9,10,2,[[0,1,7]]]] + +[[],[0,10],[[10,[9,5],5,7,[0,2,8,2]]],[[[7,3],8,8,6,10],[],8],[9,[[6],7],3,10,8]] +[[[6,6,8,[8,1],4]],[],[8,2,[9,[8],[2,1],[2,8],[]]],[]] + +[[[3,9],0,[[10,8,7,9,4],[6,5,10,0,10],2],[[],7,[],[0,2,6,5,6],[4,9,9,10]]],[5,0,0,[0,5],[9,[9],6,5]],[2,0]] +[[[6],4]] + +[[],[[7,2,3],[[],3,3,[5,7,4,8,2]],10],[[9,3],1,6,[],[]]] +[[6],[7,1,[[],3,4,[5,7,4,3,0],3],[4]],[7],[[[8,4],3,10]]] + +[[7,[2]],[1,3,[1,5,[4,0,3,5,7]],6],[7,[[7,8,6],8,1,[3,6,3,4,2],[2,4,8,3]],[1,2,4,[4,5,3]],5,[]]] +[[0,[10,4,2,7],3],[3,[],[0,10,10]]] + +[[9],[0]] +[[1,4,5,[[2,4,2,8],2,1,10,[]]],[2,10,6,0],[]] + +[[[[1,4,7,9],[5,8,10,8],[3,9,10],[2,2,6]],[[4],1,[7,6],3,2],9,[[2,10,2,2,10],[3,1,4],0,[]],[0,5,9,5,7]],[[],7,2,9],[[],2,2,4],[[10,8],0,10],[]] +[[0,0,[[7],0,9,7,2]],[[[9,8,10,3,1],[],3,5,[7,10]],[8,[1],[1,5,6],3],[1,2],[3]],[],[2]] + +[[8,8,[4,2,0]]] +[[],[[[0,3,2,8],[1,10,4,5],[5,2,6,7],9,[1,6,9,4,10]],7,[[4,0],[6],1,[2,0,0,4,9],6],[[8],9,9,[]]]] + +[[8],[4,[6],[[3,7,7],[10,9],[4,8,4],[10,9,5,6,3],[4,1]]]] +[[10],[2,[[9,6,10],[8,1],1],[0,[9,6,10],4]]] + +[[7]] +[[1],[[[7,7],[0,3,2,10,2],6],2,8],[10,9,0,[],1]] + +[[[10],[],7,10],[2],[8]] +[[7],[[[3,1,2,10]],3,10,2],[[6]],[[2,[4,2,9],5,8,2]]] + +[[[2,3,[7,9]]],[[4,7,[0,1]],10],[[1,[8,9,1]]],[[[10,7,3,1,6],1,6,2]],[4,6,[[7,5,1],10,[],5,7]]] +[[],[5,1,3],[9],[1]] + +[[[2,[9,2,10],3],[],[[5,7],[],7,0]],[],[[6,3,0]],[[1],[[2,2,0],[],8,[5,6]],[3,[5],8],9]] +[[10,9,4],[[[10,4,8,4,9]],[[],1,7,8,4]]] + +[[0,3],[0,[[2,7],4,8,8],[],10],[[[2,0,8],[2,5,1,8],5],7,[]]] +[[6,5,10,0,[4,[5,4,7,2,8],[8,3],8]],[],[[7,9,7,[9,9,5,5],[]],0]] + +[[[[0,10,2,5,7],[],[4,1]],[[8],2,9,0],10,[9,[2,5,1]],9],[3,1,[[7]],1],[[8,10,10],8,[],[[],8]],[1,5,[[0],4,3,[9,6,5,6],[8,4,7,10]],[]],[1,2,[[3,2,9,6],[7]]]] +[[[[8,0,6,2],10,1,5],8],[[[0,7,1,2],5,[4,1,7],[8,6,9]],[7,[]],[0,[8,3,3,7],2,[2,8,5,8],[1]]],[10,[[1,8,6,4],3],6],[9]] + +[[[3,4,[]],3,[[5,3,4,6,0],7,[0,2,3],4]],[],[8,4,7,8],[9]] +[[[6,[2,0]],4,[[9],[8,8,8,8,7]]],[6,[8,4,[10,5,2,8,5],0],7]] + +[[4],[6,8,0,[2,2]]] +[[],[3,9],[0]] + +[[[],9,10,[7,[1],4]],[[6,[4,6,5,4]],2,[],7],[[[2,4,0,7],[4,0,1],[6,4],[6,8,8,4,0]],[[6,8,2,9],[6,8,0,10],[],[1,5,9,0,0]],[6,8,1,[4,1,3,1]]]] +[[[[9,5,4,7],8,4],3,5,3]] + +[[[[],[],5,0,9]],[4,5,[[5,4,10],[0,3],[7]],2],[9],[[0,[0,8,3,5,6]],5,[[],[4,5,7],1],0]] +[[[[3,0,7,5,10],2,[6,10],3,9],1,7,[6,4],0]] + +[[],[1,8,[8,[5,1]]],[[0,3,7,6],10,[5,[2,3,7],1,[],[]],[0]],[10,[5,10,9,[]],6,[7,[3,1],5,[8,8,7,10,3],[3]]],[[],8,7]] +[[[],[[3,5]],[[5,6,5,6,5],1,4,9]]] + +[[10],[6,[[4,4]],2,4,[8,[]]],[6,10,4],[],[9,[4,[9,9,0,8,9],5]]] +[[[5,[5],6],2],[4,1,[[5,0,2],1,[10,8,0,4,7],[2]],2]] + +[[9,[[9,8,2,1,3],4,[7],[2,6,6,0,2],[]],0,7]] +[[[9,2],3,[[5,5,8,9,8],[0],0,7],[[2,9,8,9],[9,3,8],8,[6,0,3],[7,2]]]] + +[[[5],[2,4,3,2,[]]],[1,8,2],[1,6,[[]],[[9,3,8,0,8],9,[2,9,3]]],[],[[4,[7,4,10,1]],[[0],9,[8,7,5],0],0,0]] +[[],[[[2],0,[7,3,7,6,6],2],[[8]]],[10,[],0]] + +[[[[10,9,9],[2,5,6],3,[0,8]],3,8,[[0,8]],[]],[[3,2,[5],[3,9,3],[8,9,6,2]]]] +[[],[[0,[]],5]] + +[[[3,6],4],[[0,[],7,8],4,5,[[5,2]]],[3]] +[[],[5,[[]],3]] + +[[[]],[[[2,7,4]],[]],[[1,2,7,10,[2,4,7,3]],6,[]]] +[[10,7,8],[[2,[1,1],[9],0],2,[],7,[]],[1,[],[[10,1,3]],[[1],3,6,4,[6,2]],0]] + +[[1],[[6,4],1,[[3,3],[]],[],7],[[[],5,7],[[]],[[],[8,6,7,1]]],[],[]] +[[7,7,[9,6,[0,7,7,4,9],0,[7,2,9,3]],[7]],[[0,4],[4,[8,7]]]] + +[[4,[4,[10,8,9,9],[7],8],[[7,7,5],6]],[2,8,[4,10,1],[9,1,[6],[7,6],1],[5,[10],8,[10]]]] +[[],[7,[[5,9,6,6,7]],[1,[8,10],1],[[],[],[6,1],8]],[10,[7,3,[9],2],[8,[7,1,2,9],[4,7,10]],2,5],[[[4,7,1,4],10],2,5],[[],[8,[6,5,1,4]],[[],2],[[6,7,2]]]] + +[[[[3,2],5,7],1],[7],[[10],0],[6,[4,[9,8,2,5,8],[9,7]],5,6],[3]] +[[6,[],[7,7,[6,2]],[[6,5,8,10],[7,0,6,9],7,1,[]]],[[]],[5,7],[[7]],[[9,[],[4,3]],[7],[3,4,6,1,2],3]] + +[[[[2,6,4],5,9,4],5,8,[[4,1,5],[1,6,3,2],9],[]],[1,[[0,4],[2],9],3]] +[[6,6,[[10,4,7,0,5],7,8],2,[5,[1,5],3]],[],[[9,5,10]],[],[]] + +[[6,[3,6,9,8,3]]] +[[],[[[10,10],4,[0],4,3],[[3,4,6],[7,1],1]],[[[7,7,4,9,2],6,[4,1,8,8],2,9],7,[[1,7],[3],[6,5],[8],[0]],10,[1,5,[2,0,5]]],[7,[[3],2,9,[9,4,3,3],9]],[6]] + +[[1,10],[],[[],[4,4,[3]]],[[5],[[3]],10,9,5],[[6,[],5,[4,0,6]],5]] +[[[[6],9,10],[2,7,9]]] + +[[0],[[0],10],[[8,[6,0],2,[],4],6,[[4],1,[2,10],4,2]],[[[8,1,4,2],[3,0,4,9,8],[10,9,2]]]] +[[],[9],[[[9,4,8,3],1,0,[0,9,8,10],0]]] + +[[[[6],0],1],[[0,6,[8,6,3,4]],4],[[0,6],[6,[]],2],[[2,[9,1,0,5]],[10],0,[[5,4,4,7,1],6,[2,1,0]],[0,[5,4,3],[8,8],7]],[[[1]],9,[6]]] +[[[9,9]]] + +[[2,10],[10,[]],[],[[3,[9],[5,0],[]],[]]] +[[6,[[],3,2]],[[[],5,[6,4,6,3,10],9,10],9,[[6,0,6,1],[3,8],7],[5,6],[[5,8],[1,5,2,2,0]]],[[[6],5,[4,2,10,4,9]],4],[6,6,[6,[]],[]]] + +[[3,[3],2,2,[[2],8,[4,6,0]]]] +[[0,[10,[7,3]]],[2,8,10],[]] + +[[3,1,[6],[[4,7,2],2],4]] +[[[5,0,[5,5,6,6,0],[5,6],7],9],[8,10,[],[8]],[[[0,1,7,1],0,[],[]],1,1,[2]],[[4,10,3,0],8,8,5],[]] + +[[[[],10],1,[7,9,[10],[]],8,10],[4,9,[[8,2,10,1]]],[]] +[[9,[9,5],[[4,4,8,9,2],[2],[2,4,3]],6],[[9],[[2,7,9,3,3],[10,7,8],[1,0,5,9,0],[9,4,6,8,8]]],[[8,[8,4,8,5],1,8,1],10,[]],[[],[],6,9,8],[[4,[8,9,0,3,8],[10,1,7,6]],[3,10,9,6,[2]]]] + +[[[]],[[[7,5,9,9],[7,5,5,4],[10,3,10,9],4],6,5,[7,[1,4,7,7,6]],6]] +[[1],[[6,[],[],[6,8],0],[[8,6,0],[8,0,1,4],[9,10,0,5]]],[]] + +[[],[[[3,0,5],[6,6,1,7],[0,6],10],4]] +[[[[7],[4,4,7,5,3]],[[2],3,8,2,[9,8,7]],[[],[7,7,0,2,6],0,10]],[8,[[6,4,0,3,8],3,7],[0,[5,9,6,7,3]],[7,4],[8,9,5,[9],0]],[[[1,7],[6,9,1],5]]] + +[[]] +[[9,1],[1],[],[[],7,[[10,6,4,9,1],[9],[2,10,4,7],7,[]]],[[[0,7,0],[5,2,4],[],[1,4,9]],8]] + +[[4,[[5,1,3,4,9],0],6,[7,3]],[[],[[8,1,3,1,8]],[2,[],0],[9,[6,7,3,6],[2],[2,3,7,3,4]]]] +[[5,[3,1,1,7],[[9,7],10,5,[]],[3,9,[2],[4,2,10,5,2],5]],[[],0,[[2,8,1,10],[1,9,10],4]],[[5,10,0,[2],10],10],[[[2,5],6,10,[0,4,4]],[9],[[9,8,8],[1,4,3,10],1,0,[10]]],[]] + +[[],[[2,1,5]],[[4],4,5,[3,[],[],9,2],[[5,4,4],[1,6,9,1]]],[1]] +[[9,[],[[5,3]]],[[3,8,4],[],9]] + +[[],[],[],[6,[[6,9,6],5],10,[3,3,[],[6,7,3,4,0],[6,7]],5],[]] +[[[[2,4,5],[8,9,1,9],[]],4,8],[1,7],[5,[6],10],[[[1,3,3,2],[8,7],[10,2,10,9,9]],[[3,8],6]],[[6,1,[5,6,1]]]] + +[[2,9,4,[[10],6]],[[],[],9,10]] +[[[[5,3,3,9],[3,5,7,6]]],[[2,7]],[[[7,7,6],7,[6,5,1]],[6],[[9,8,1]],[]],[7,[[],10,[9,9,2,8,3],9],[10,7,[4,8,1],1],4,[7,1,[8,4,3,2,3],8]]] + +[[[[3,2,5,5],[10,10,3,9],5],[[9,10,6]],6],[[],[4,7]],[[[6,8,6],[10,0,5,2,9],7],10,[[10,5,4],5],3]] +[[],[7],[],[5,0,5,[[1,3,5]],1]] + +[[[6,[],8,[4,3,1,2],[5,3,6]],[0,4],[5,5,7,[4,0,5,7],[]],[[6,7,4,1],2],[[6],3,4,[3,7,7,4,7]]],[5,[4],[[],7],6],[[[],9,8],[[],2,8,[],[5,7]],3,[7]],[1,[6,[],8],3,5,[[],[5,3],9,3]],[[],2]] +[[],[[[10,1,7],7]]] + +[[2],[0,[[2,3],[6,4,2,10],6]],[5,[[1,5,5,0],3,8,8],5,3],[]] +[[0,2],[],[[5],[5,4],[[7,9,10,4,3],[],[7],[10,9,7],1],6,1]] + +[[[3,9,1,8],0],[6,5,4],[]] +[[[[8,0,7,5,0]],[10,[10,9,8]]],[[[5,10,10,1],4,9,6,2]],[[[1,1,0,8,5],6,[],6,[8]],[[]],[10,[3],8]],[]] + +[[9,[6,[0],10],[7,[],[],8],[]],[2],[7,5,10,[[6,4,0,9],4,3,8,0],[6,[4,6,7]]],[6,[],[[5,8,2,6,3],10,[4],1]],[9,5,0,[10,[1,10,0],[],4],[5,1]]] +[[5,2],[[],[],[1,3]]] + +[[8,0],[[[4,3]]]] +[[[[9],1,9],[],3,[3],[[],3,10]]] + +[[2,7,[[0,9,3,5],0,2],10]] +[[0],[[[9,3,6,0,1],[10,9],5,[]],[[2,9],5],[[],[9,5,4,8,0],[9,1,7,3,5],[],8]],[[[9],[6,4,2,6,0],3,[0,1,7,6,4]],[],[[2,2,8,1],10,3]]] + +[[[4],[[],4,[8,3,1,9],1],6],[8,6,[]],[[8],5,[4,[10,6,4],[4,8]],[[4,1,0,4,5],[10,7,4,0,9]]],[]] +[[],[[5],[[6,2,4,5,3],5,9,5,6],9],[[[0,4,10,3,2]],[9,[],[6,10,10],1,[4,5,8]],9],[5]] + +[[[],9,[5]],[[5,[8,10,4,8,8],9]],[[[4,4]],2,[]]] +[[[8,10,[7,0]],[[6,6],5],6],[[],3],[6,[[10,3,3]],[[9,10,4,10],6,9,[],[5,4,10,6]]]] + +[[[[1,4],[4,1,7,9],[7,0,10],[8,4,4]],[3,8,4,[8,4,6,3],[3,1,2]]],[],[4,[0]]] +[[3,[],[10,3],[3,9]],[[[6,3,4,5,6],9]],[[10,1,[8,1,7,6,7]],0,[],[10,[2],0],[1,8]],[0,6,0,8]] + +[[2,9,[[5]]],[4,[[9,8,0],8]],[[4,6,[10,2,8,4,3],[9,1,4,7,0]],4,8,[[9,5,1]],[[3,6,4],2,6,1,[]]],[10,7,5,2],[[],[10,[10,10,4],5,7],2]] +[[2,7,[5,1,[6,9,2,6,4]],3]] + +[[3,[],[[],[1,2,6,7],[6,7,6,7],[10]],8,0],[]] +[[[],[6,5,10]],[],[7,[[8],[10,5],8],6,7]] + +[[5],[]] +[[4,6,9,7],[],[],[],[[[8,0,3,1],[9,4,10,5,1],5],6,[]]] + +[[6,10,[3]],[10,[],[1,4]],[]] +[[[1,5,[5],1,0],4]] + +[[2,[[3,10,5,1,1],6,[2]]]] +[[6,5,3],[7,[[],10,[],6],0,8,[4]]] + +[[[],3,[3,[4,0,4,6],[6],[5,10]],[],6],[4,3,[[2,3],9,[8,4,3,8],3,1],3,6],[6,[2,4,6]],[]] +[[],[8,2,7],[1,4,[[2,6]],[[8,9,4],[5,10,10,8],10]],[9,[[7,9],[],[8,3]],9],[[6,[0,9,9,4],7],[2],[0,10],9]] + +[[[3,0,1],[],[[4,4,10,8],8],1,[[],6,8,[10],[0,7,0,3]]],[],[[[6],6,7,0],[[1,8,5],4,9,1,8],3,2],[7,[8,0,5]],[]] +[[10,7,5,[9,[10,4,0,4],0,[2,4,2]]],[[[6],7,6],0,4,9,[1,[8,0]]],[[],1,[3,[1,10,1,4]],[],[[2,10,9,8,10]]]] + +[[0,[10,[3,6]],[7,[1,7,7,7,2],3,[9,7,0,2],0],4],[[[10],[5,8,5,4,7],4],0],[]] +[[0],[[[3,9,5],6,[1,6]],[[3,2,1,10],1]],[[2,2],[[]],2,0,[]]] + +[[[],[[6,10,4,10],8],5],[4,1,7,3],[]] +[[[],[10,5,1,6],[10,[],8,[0,9,7]],[[4,0]]],[10],[[[2,4],1,3]],[]] + +[[8,[[0],[4,7,3,3],5,5,[8,5]],0,0],[[1,[7,6,8,1],[]],[[]],[[3,4],[2],[3,2,7],[1,1],2],[7,[4,9]],[5,0,5]],[1,[],1,[[]]]] +[[[[],4],9,[[9],[],1],[[10],7,[1,1,7,6,9]],8]] + +[[6,6,[4],[[4],10],[4]],[0],[[3,[],[7],10,3],[10],3,5,9],[[8,7,5,[0,0,3,10,0],[10]],4,0,[[0,8,0,2],[9,8,0],[3]]],[6,[[10],[3,0],[9,10,8,1]]]] +[[[3,4]]] + +[[],[[5,[8,8,9],2,4,10],[[8,3,6,0],6,[7],[0,0,5,9,4]]],[]] +[[[[2,3,2,9]],10,[3,5],9],[[],8,[[3,5,10,7,9],4,[]],0],[2,2],[]] + +[[6,[[0,6,3,4],2,1,[5,10,9,2,4],[1,7,10]],0,[1,[],[1,0]],10],[],[3,[4,[3]],6],[[8,[0,9],4,[4,9,1,6,8],[2,3,1,7,8]],[]],[[8,6,[7],[0,6,6]],[[4,2]],4,[[9,1,6,0]]]] +[[0,1,[[3,1,9,9],[5,3,10,3],4,[3,10,9]]],[6,0,[6,4,[],9],[[10,8]]],[9,4,2,[3,[6],1,[10,10,5,5,9],[3,1,7,7,7]]],[0,[[3,5,0],[3,1,5],9,9],[3,[2],5,[0,9,8,4]],[[9,6,9],2],4]] + +[[],[[],[[0,0,5,1],3],7,[[6,1,10],[0],4,[7,8,0],9],[8,[6,10,2]]]] +[[8],[4,0],[1,1,5]] + +[[4],[[10],[[9],[]],1,[],[7,[2,10,9],[4,3],[1,2]]]] +[[5,[1],[]],[],[[2]],[0]] + +[[3],[[[3,4,5,3,5],4,[8,5],2,[6,5,7,6,4]],4,[[10,5]]],[5,8,[[2,10,8,9,9],8,[],[5,1,6,2,0]],6,9],[],[]] +[[[[8],5,[10,0,10,7],8,6],0,7,[[2,0,7,0],[],4,2]],[0,[[9,0,0,1,10],[1,3,1],[6],2,[0,6,3,2,7]]],[[[3,10],[3,3,9],9],[9],[9,9,[6,5,2,3],[4,4]],[[7,2,2,2],10],[4]],[],[[[7,8,4,2],7,7],8,0,[2]]] + +[[[],[0,5,[],1,5],[[4,9,7,4],[],[6,2]],7,3],[[9]],[[[7,7],7,[1,9,10,4]],[[6]],2],[[[4,3,7,8],[10,6,0,5,6],[],[2,3,2,10]]]] +[[],[[6,[6,2,9],4],1,[[6],[6],[7,1],[]],0,2],[6,[[3]],9,[2],5],[[],[[1,1,9],0,2,[2,3],10],1,7,9]] + +[[4],[[[],0,[0,0,6,1],10,[10,0,6]],9,[[6,9,6],0,[],4,0],[],6]] +[[],[0,[[5,5,6,3,6],3,9,8]]] + +[[],[4,9],[[8,[2],4,6,[5,7,1,5]],[[],6,0,10],7],[0,[[3,8,6,6],[],7],7,[1,5,9,0,8]]] +[[[4,[2,7,10,2]],3,[[3,8,3],[],3]],[],[4,4,2,0,7]] + +[[4,[[4],[1,1]],5,5,[]],[],[[0,[7],[10,1,4,10]],7,1,[10,[3,9],3]],[[5]]] +[[7,2,2,6],[[8,10],10,0,[[]]]] + +[[[8,[]],3,3,[6,[4],[10,9],[6,3,3,1]],9],[[],5,[1],[[8],[9,4],2,[4],[]]]] +[[3,10,[10,[6,7,2]]]] + +[[[[],9,[8,8,2,6,8],5,[5,9,0,6,4]],[],[[1,1,7,3,4],[2],[8,3,2,5,9],[1,4]],[[2,2,6],[2,8,9,0],8],[1,[3],3,7,[7,10]]]] +[[2,7,[10,[7]],7,[[1,3,10,8,8],6]],[1],[7,4,2,[[]],5],[[[7,10,10]],[[],2,6,[2,6],[10,5,2]],[[6],[6,2,2,9],3,2,6]],[[3,[4,5,5,0],[8,3,1,1,7],[5,1,8]],[[0,7,7],[0,7,10,4,4],8],9,[9],4]] + +[[9,[]],[[6,0],[]],[[8,[2,7,5,10],[]],[0,[0],10],7,4],[7,1]] +[[5,0],[3,2,6,[]]] + +[[[0,[3,0,0,1,8],5,[],1],0]] +[[[[6]],[[10,3,5,10]],7,4,[3,5,[]]],[],[[4,8,[6,10,7,3,0]],1,[[2,3],0,[5,3,0,8],6,[2,2,8]]],[2],[[[5,5,2,3,1]],[[2],[0,1,7,9,5]],10,4,3]] + +[[[9,2,10,1],[],9],[[[10,0,1,1],[3,6,1,4],8,8],[[],9,5],6]] +[[10,[6,[7,1,5,8]],[[0,0],3,3,7,[0,9,6]],[[]],[4]],[[[]],[6,8,6,7],4],[8,1,7],[9,[10,5],4],[5,4,[]]] + +[[4,[[9,5],8,[4,7],10,6]],[6],[[[10,10],6,4,[5,2],0],[2,[3],[4]],4]] +[[[1,2],[[6,3]],8,[[],5,2,9]],[[8],[[7,8,9,1,5]]],[[6,[],[]],1,[5,9]]] + +[[10,2,[],[[10,0,4,10],[9,3,6,10,7]],1],[4,[[0],1,7,[3],[0]],[[3,10,5,1,0]]],[[[0,10]]],[[[2,5,2],5],3,[]],[[6,9,8,[]],[0,[],[10,3,6],[4,0,10]],[8,2,7,[5]],4,[[4]]]] +[[[[8],[3],0,[6],[10,1,10]],0,[[]],6,[9,3,[6,10],[8,6,10],[8,8,9,1]]]] + +[[[3],1,3],[5,[4],7,1,5],[],[8,[[2,0,4,9],6,1,[7,4,2],9],10,[[],[0,8,7],[7],[3,1,4,4,1]],1],[1,[2,3,[3,2,2]],1]] +[[[0,[4,10,9]],[[9,3,8],[],[9,5,4]],5,5,0],[10],[]] + +[[[[3,10]]],[5],[4,2,[]],[[[1,5,5,4],8,9,[9,3,7,0,3]],1,1],[[]]] +[[[],[10,1,3,5,[4,8,9,8]],[],[],[10,6]],[[0,9,[4,4,3,3],[4,6,7,9]],8,[[7,9,5],[],[2,3,1,8]]],[],[9,4,9,[7,4,5,8]]] + +[[4,9,6,9,[]],[3,1,9],[[1,7,0]]] +[[9,[7,[1,3,2,6],2,8,[5,7,6,8]],5,0],[],[[9]],[],[[[5,10],1,2,[9,2,4,2,10]]]] + +[[[[4],5,[2,0,0,9,3]],1],[8,[[2],[10]],2]] +[[4,[[6,8,6,1,0]],[[7,5,8,2,3],2],[10,4]],[2,8],[],[10,10,[]],[]] + +[[],[1,0,4],[0,[3,7,8]]] +[[[],[[0,2,8],[],[]]],[],[[3,[]],[[0,0,3,0],[10],[5,6,9,9,8],[],10],8,[[10,3,10]],[[9,7,3]]]] + +[[[[9,7,1,1]],0,[[],[8,4],10]],[5,[1,9,7,[5]],[]],[[9,6,8,6],1,10,[[10,4,8],9]],[[[3,2,8,5],6,7],2,[[1]]],[[10,2,[6],[6,7,4,7],[9,7,9,1,10]],3]] +[[4,[2,[3,7],[10,5,0],[],6],[],[[5,5,8],[2,9,9,0],[],1,[2,10,2,1]],3],[2,[[7,1,4,7,0]],4,2],[[],5,[[8,4,1],[5,0,6,9,2],[2,9,7,4]],[10,1]]] + +[[[9,[0,7,4],1],8,[[5,8]],[7,[5],5],2],[[[5,6,4],[]],10,[[5]],[4,[10,2,10,4],[0,8]],[]],[6,[6]]] +[[[1,5,[6,0],6],[6,[5],10,8],3,[3]],[[0,[0,5],[6,2],2],[[4,7],[10],[]]]] + +[[4,[0,4],7,0],[[[8,9],[10],3],1,7,5],[[4]]] +[[4,8,[7,7,[]]]] + +[[],[[5,8,[4,10,10]],[[0,10],[6,8,0,3,10],2,[6,3],3],1]] +[[3,5,[[4,9,0]]],[],[1],[[[],3,3,[3,10,6,10]]]] + +[[3,8,[7,6,2,2,0],[4,0]],[0,[4,[8,8],[2,10,5,5],6],3],[[[7,9,2,0],[4]],4,[[10,1],[3,7,9,9,7],10,[9]],4]] +[[10,3]] + +[[3,5,7],[5,[[9],[10,6,8,5,7]],10,1],[[],4,10,[1,[4,9,10,6,10],[2,4],7,1],[7]]] +[[0],[]] + +[[[],[8,10,7,5],[[],0,[],10]],[],[2,2,6,0],[[],7,0,[[],1]],[[5],0,[[10,0,10,8],[9],9],2]] +[[4,0,7,[[],1,10,9]],[]] + +[[8,[[],10,8,[]]]] +[[],[]] + +[[[[9,3,8],9,[0]],7,[[],3,[]],9],[1,5,[[7,7],[]]],[1,[[2,9,0,6,4],[3],[5,3,1,10],0,[1,3,7,9]]]] +[[3,[9]],[1]] + +[[8,[[10,3,3,6],0,5,[9,6,4],[]],10],[5,[[],4],[3]],[6,[],[[5,2,5,2,4],8,6],[[0,8,8],7,9,10]],[[],[0,[7],0,[0],[]],[[5,3,9]]],[5]] +[[[[]],8],[0,0]] + +[7,1,1,7,9] +[7,1,1,7] + +[[7,2],[]] +[[1,[1,[3,7,9],[4],8]],[6,9,0,[]],[9,1,[]],[6,[8,[0,1,9,0],10,[],9]],[8,[9]]] + +[[10],[]] +[[4,9,2,7]] + +[[[[3],[1,7,4]],3,1,7]] +[[2,[[2,2,6],[8,2,9,4]],[[10,8,7,6,10],[2,0,4,2],7,9,10],10,2],[9,2,[[9,1],0,7],1,[7]]] + +[[[10]]] +[[[[6,4,4,3],[6,0,3,9,5],[],[]]],[[[8,1,7,8,6]],6]] + +[[],[10,0,6,6],[],[]] +[[8,3,7],[[[7,10]]],[]] + +[[[[10,2,7,9,2],[2,2]],[4,4]],[[[7,4,2],[8],2,[1],[7,3,4,5,8]],7],[7,[[0,3],8]],[[[10,3,1],0]]] +[[[[0,0,1,9,10]]],[[2,7],1,[1,3,[5,8]],9,[[10,6,5,10,3]]],[[10],0,2,[4]],[[3,[10,4,8,0,4],8,0],[7],[9,[],4],[3,10,8,[3,1,6,5,4],[1,10,5,10,8]]]] + +[[[2,0,1],[[3,0,8,2,7]],10,6],[[10,[5,2],2,6],[4,9,5,[]],1],[[[8,0,4,10,9],[2,3,8]],[1,9,2,[9,6]],[[8,8,5,0],[2,4,3,3],1]]] +[[[8],[[],[10,2,4],1,1],1,2,[8,2,3]],[[2,[10,7,9,8,6],[10,4,2,5,10],[],[4,0,1]],[7,4,4],5,9,0]] + +[[3,2,[[7,5,3,1,10],2,[10,7,1],[9,0,1]],3]] +[[[7]],[[[8,7,8],1,8,[0,8,10],[2]],8,8],[[7,[5],0]],[1,5,9],[0,7,4,4]] + +[[[[2,5],5,9,3,[7]],6,3,9,[10,9,7]],[]] +[[[[],8,4,[5,8,9,10]]],[0,[0,3],4,5,[[],7]]] + +[[8,0],[[],4],[[[3,9],[],[3,3,10,7,0],4],10,[[5],4],0,[5,[5,4,7,2],7,[9,5]]]] +[[5],[[7,9,[1,9,2],[3,0,7]],[[7,0],[4]],[6,[4,4],6,5,[3,10,0]],[8,[0,5]]],[[[]]],[[[8,7,9,3,1],[6]],2,[],9,[]]] + +[[8,[[7,0,6,5],9],[[7,10],10,[9,7],8],5,[8,7,7,[2,5,2,10],4]],[2,9,[2,2,9,[6]],3],[]] +[[[8],[[0,3,3],5,6],0,[[9,4,8,4,8],7,6]],[[8,5,2,8]],[]] + +[[7,[10,[10]],[],[6,[],8,[0,10]]]] +[[7,6]] + +[[[1,3,10,[1,7,7,10]],9],[]] +[[[6,9,7],[1,1],[8,3,9]]] + +[[5,9,1,[8]],[7,[],[4],1,10],[10],[9,[[2,1,9],7,3,[7,1],[6]],[]]] +[[2,8,[],5],[4]] + +[[[5,9],8],[[8,9,[1,3,3,4]],8,[[7,3,2,2],3,[3,9]],5,[[8,3,8,0],[],2,10]],[1,9,8,7,3],[9,2,[2,10,[8,1,6,9],0],[[],3,[0,3],6,[2,8]],[]],[5,[[],[5,2,10,1],[4,4,3,5]]]] +[[6,[5,4,3,8,3],[0,[5],[],[0,8]],[[10,3,6,7],0,1,[1],6]],[[6,[],5,1],10],[0],[[],8]] diff --git a/2022/python/day13.py b/2022/python/day13.py index 2835d91..2a6df81 100644 --- a/2022/python/day13.py +++ b/2022/python/day13.py @@ -1,76 +1,113 @@ -from pprint import pprint as pp import matrix import shared import itertools +import sys +import os + + +def blockPrint(): + sys.stdout = open(os.devnull, 'w') + + +# Restore +def enablePrint(): + sys.stdout = sys.__stdout__ + class BREAK(Exception): - ... pass + def part1(rows): groups = [list(v) for k, v in itertools.groupby(rows, key=lambda x: not x) if not k] + NEED = list(range(len(groups))) + + indexes = [] for idx, (left, right) in enumerate(groups): left = eval(left) right = eval(right) - passes = check_group(idx+1, left, right) + if idx not in NEED: + blockPrint() + print(f"== Pair {idx+1} ==") + passes = check_group(left, right, idx, 0) + if idx not in NEED: + enablePrint() if passes is True: - print(f"{matrix.colors.GREEN}{passes}{matrix.colors.ENDC}") + print(f"{idx+1} {matrix.colors.GREEN}{passes}{matrix.colors.ENDC}") + indexes.append(idx+1) elif passes is False: - print(f"{matrix.colors.RED}{passes}{matrix.colors.ENDC}") + print(f"{idx+1} {matrix.colors.RED}{passes}{matrix.colors.ENDC}") else: - print(f"{matrix.colors.BLUE}{passes}{matrix.colors.ENDC}") - print("\n") + print(f"{idx+1} {matrix.colors.BLUE}{passes}{matrix.colors.ENDC}") + print('-'*40) + print(sum(indexes)) -def check_group(list_num, left, right): - if list_num > 0: - print(f"== Pair {list_num} ==") - print(f"Compare {left} vs {right}") +spaces = lambda x: " " * x + + +def check_group(left, right, group, depth=0): + print(f"{spaces(depth)}- Compare {left} vs {right}, depth {depth}") for idx, _ in enumerate(left): - print("starting for") + # print("starting for") try: while True: - print("starting while") + l = left[idx] try: - if isinstance(left[idx], int) and isinstance(right[idx], int): - print(f" - Compare {left[idx]} vs {right[idx]}") - if left[idx] == right[idx]: - print(".......BREAK") + r = right[idx] + except IndexError: + print(" - Right side ran out of items, so inputs are not in the right order") + return False + # print("starting while") + try: + if isinstance(l, int) and isinstance(r, int): + print(f"{spaces(depth)} - Compare {l} vs {r}") + if l == r: + #print(".......BREAK") raise BREAK() - if left[idx] > right[idx]: - print(" - Right is Smaller, so inputs IN WRONG ORDER") - print("....RET-FALSE") + if l > r: + print(f"{spaces(depth)} - Right is Smaller, so inputs IN WRONG ORDER, False") return False - if left[idx] < right[idx]: - print(" - Left is Smaller, so inputs IN RIGHT ORDER") - print("....RET-TRUE") + if l < r: + print(f"{spaces(depth)} - Left is Smaller, so inputs IN RIGHT ORDER, True") return True except IndexError: print("INDEX ERROR RIGHT RAN OUT") return False try: - if isinstance(left[idx], list) and isinstance(right[idx], list): - print(f" - Compare {left[idx]} vs {right[idx]}") - return check_group(-1, left[idx], right[idx]) + if isinstance(l, list) and isinstance(r, list): + print(f"{spaces(depth)} - Both Lists {l} vs {r}") + check = check_group(l, r, group, depth+1) + if check is None: + print("check is none", depth) + continue + if check is False: + "checked list v list and false" + return False + break + except IndexError: print("INDEX ERROR LEFT RAN OUT") return True - #print(f"TEST: {repr(left[idx])} vs {repr(right[idx])}") + #print(f"TEST: {repr(l)} vs {repr(r)}") - if isinstance(left[idx], int) and isinstance(right[idx], list): - left[idx] = [ left[idx], ] + if isinstance(l, int) and isinstance(r, list): + left[idx] = [ l, ] print("convert left to list") continue - if isinstance(left[idx], list) and isinstance(right[idx], int): - right[idx] = [ right[idx], ] - print(f"convert right {right[idx]} to list") + if isinstance(l, list) and isinstance(r, int): + right[idx] = [ r, ] + print(f"convert right {r} to list") continue except BREAK: - print("......broke out of while") - continue + #print("......broke out of while") + continue + else: + print("Left side ran out of items so inputs are in the right order") + return True diff --git a/2022/samples/day13.txt b/2022/samples/day13.txt new file mode 100644 index 0000000..af73fbb --- /dev/null +++ b/2022/samples/day13.txt @@ -0,0 +1,23 @@ +[1,1,3,1,1] +[1,1,5,1,1] + +[[1],[2,3,4]] +[[1],4] + +[9] +[[8,7,6]] + +[[4,4],4,4] +[[4,4],4,4,4] + +[7,7,7,7] +[7,7,7] + +[] +[3] + +[[[]]] +[[]] + +[1,[2,[3,[4,[5,6,7]]]],8,9] +[1,[2,[3,[4,[5,6,0]]]],8,9]