diff --git a/13/input b/13/input new file mode 100644 index 0000000..0d60fbd --- /dev/null +++ b/13/input @@ -0,0 +1,449 @@ +[[[[],[7,10,6,5],[],[8]],0,1,[[8,10]],4],[[[4,0,3,2,0]],7],[[],3,[[0,2],8,5],[],[[2,10,4,6]]],[3],[5,[1,[8,0],10,1,[4,3,9,9]],1]] +[[0,2,7],[],[10,[[0,7,3,6]]],[2,[8],3]] + +[[],[[0,8,[],[0,8,6,7,10]],4,10,[[],9,[1],4,10],3],[[7,1,0],10,[[1,10,7,8],[3,7],[3,6],5],1,0],[9],[2,9,[[0,6,3]],[[7]],2]] +[[[],0,[[4,5,10],8]],[0,5],[[[1,8,8,8],2],0,[7,9],3]] + +[[3,[[10,2,8],3,0,[2,1],7]],[[[1,9,5,5,8],1,9,[9,2,4,5]],2,1,[[],[4,3],3]],[],[7,[6,4,[7,0,5]],[],[8],1]] +[[3],[],[[4,4],[[5,4,3],10,[1,3,9],9],3,1],[6,[0,[9,0,1,1,1]]],[]] + +[[4,0],[[[5,7,10,9],[1,8,0,3],[10]],9,10,[]],[5,[[1,3],5,3,[],[4,8,0,2,5]],0]] +[[8,0,[],[[7,5,4,6,3],0,[9,4,8],0,6]],[1,3,9],[2,[[],5,8,8,8]],[[[6,5],4,[3,3],[4,0],0]]] + +[[],[2,[[3,0,5]]],[1,[7],[0,[10,3,9],10,[8,2,4,2,2],[5]],[[0,2,3,1],3,[8,6,0],2,[]]],[[[3,1,3,7,2],6,0,[3],7],[[7,2,4,10],[6,8,10,0,2]],5]] +[[],[9,[5,8,0,[3,10]],10],[6,6,9,0,[[4,8,5,2],[1,10,1,7,0]]]] + +[[7],[0,[2],3],[1,0],[[],2],[1,[[6],[4,3,10,2,5],[6,9,3,3,0],[8,5],10],[]]] +[[],[[1,[5,1,7,9,6],[],[4,7,9,10,10]],7,1,[4,4,[3],[2],9]],[8],[[[5],[5,6],6,5],[]],[9,9,6,9,10]] + +[[0,[0,9,7,4],[[10,8,8,4]]],[[[9,7,0],[9,0],5,1]],[],[9],[0,[4,4],1,[6,[3,9,6],[6,7,2,9,9],3],5]] +[[[2,[1,3,6],5,9,10]],[]] + +[[[[4,4]]],[3,[[1,5,2,9],[2,2],[8,0],[7,2]],[8,[],7,10,5],3]] +[[[1]],[],[3],[[3,[2,8,7,8],[],[9],[]]]] + +[[[8],10],[4,2,[4,[],9,8,2],[2,[2,9,6]],7],[9,2,5,5,[7,4]],[5,[[5,2,4,9,7],[6,2,4,3],[6,7,1],9],8],[[[1],6,1,[8,5,9,1]],[[6],[7,0,10,1],2,[6,9,8,2,3],[6,3]]]] +[[],[7],[9,8]] + +[[],[4,10,3,[],[[2,0,7,6],[0,1],8]]] +[[[],5],[6,0,1],[6,[[7,10,3,10]]],[],[[[8,10,3,5,6],[],[3,5,10,8]]]] + +[[[[9,3,3,1,6]],7,5,[],[[4,3]]],[9,[[10,2]],[8,[2,5,3,6],[9,6],10,10],[3,[10,6],[9]],[9,[9,9,10],4]]] +[[6,9],[[],3,4]] + +[[6,[[2,2],[],[6],9,[7]],9,[]],[[[8,8],1,10],5,4,7],[[],5],[10,8,8,[5,[1,3,5],[3,8]]]] +[[[9],[[],[9,2,0],9,[4,3,10,0,5]],5,1,10],[[[1,3,8,9],[10,3,5,4,7],[10,7,9,7],0,[8,8,2]],7,3,[10,[2,2,4,4,4]],[9,10,[]]]] + +[[7,1,7,[],0],[8,3,[],8]] +[[[[0,1],9,9,[6],[]],8,4,0,5],[10,3,7],[9,[[8]],3,7,3],[[[],[10,10,2],3,[2,7,10,5,8],[0,5]],0]] + +[[10,[]],[[7,4,7,[8,0,6]],[6,3,[6,9,10,4,6],[5,10,8]],1,[[]],2],[[2,[1,5,4,3,1]],1,[[2],[6,8,0,9],[2],[5,7,5],7],9,[[0,8,9],2]],[3,4,[9],0,3]] +[[4],[8,[3,[1,6,4,7,2],10,5],[2]]] + +[[2,[4,9,2,4,[0,4,4,1]],1,[[8,9,2]]]] +[[[],8,[[6,8,8]],[7,3,3,[7,5,9,0,7]]]] + +[[1,6],[6,7,4,[[1,3]]],[4,[6,5,[4,6,6],[6]],[],[9]],[[[8,5,1,10],0,[7,0,4],1],[[8,9,6,3],[1,4,4,8,6],4,9,5],8]] +[[],[[],[7,[0,10,8,5,10],0,[3,9,3,3,1],[6]],[[0,8],[0,2,3,5,0],7,9,3],[6,[6,4]]],[6,8],[[0,1,8,[1,9],3],[5],[2,[8,10,5,1],[6]]],[[7,0,[9,6,3,3,1],10],[[4,0,3],5,3,1,[9,7]],[[7,8,5,3],[7,10,7],6,[3,4,3,3]],[7,[4,2],[8,0,3,8,3]]]] + +[[[[6],[3]],4],[[[0,0],[10,0,3],2,2,[7,10,1]],[]],[[[5,5,10],5,[0],[7,5,0,3,8]],[]],[6,4,[1,[10,4],1],[[8,6,4,8,2],[8,10,0],[10,7,8,3,9],[0,8],[6,5,0]]]] +[[0,[9,3],1,[9],[0,2,[8,10],[3,5,7,10,1],6]],[4,5,3,[]],[7,[1],0,[[2,9,9,7,10],[5,5],9,[]],7],[]] + +[[[],[],5,[[8,6,5],7],6],[],[[],5,[],[[7,9,1,3],[4,2],[2,7,5,9],5]],[],[]] +[[3],[1,2,4,[6],2],[[6],8],[],[[[],[5]],[4,[5,0,10],[5],[8,8,4,10,9]],1,4,4]] + +[[3,7,[5,[6,9,6,9,6]],[],[0,[4,2,8,4,4]]],[5,[],9,5,5],[]] +[[7,0,3,8,[5,6,7]],[2,[0,[],1,6,6],[[5],[0],[1,4]]]] + +[[[5,5,3,2],[],[5,[1,3],[2,7,2],[10]],9,[7,[8,3],9]],[[6,5,8],7,[[2],8,2],[0,5],8]] +[[[[]],7,[[],[4],6],7,[3,[]]],[4],[[[7]]],[]] + +[[],[3,9,[[2],[0,8]],[[8,3,8,9,1],4,3],[9,4,5]],[[[7,0,10],[5,8,5,4,0]],[[1,5,7,1,0],[],7,4,6],[1],[6,[6,9,2,0,3],4,9,[10,7,1,8]]],[6,4,[[],[8],6]]] +[[],[[]],[[[2,2,10,7,10],4,[],[10,3,3,2,8]],[5],[[2,0,3,7],1,[],[3,4,3,10]]]] + +[[10,10,[[],1,0,4,[3,3,9,10]]]] +[[10,1,4,[5],6],[[0,6,[]],2,5],[7,6,[[]]],[1,9,5,[],[[6],2]]] + +[[[],[],4,[1,[5,10,2,3,4],[7,1]],[7,0,[2,2,3],7]],[[[],[1,2,6],[2,9,0],[7],[]],0],[[[],5,[2,6]]]] +[[10,4,10],[[3,[2,5,1,0],4],[6,7],7,3],[8,1,2,2],[[[3],2,[2,4,8,7,9]],[],9,0],[[[3,3],9,2,[2,1,1,7,3],8]]] + +[[],[0],[[[6],[],[6,2]],1,3,[2,7,[4,10,2,7,9]],[[1,5,9,0,10]]]] +[[[3,6,2,3,4],10,[6,[0,1,1],2,8,[6,9,0,4]],4],[[],[[2,10,6,6,0]],6,[[2,6,7,8],[6,10]]],[[[7,5,6],7,[0]],[10,6,0]]] + +[[0],[[]],[[2,[0,10],9,[]],[7],6,[]],[[4,0,2,10,[1,9,2]]]] +[[[[],[4],5,[4,9]],[8,[5]]],[10,10,2,[9,7,[8,7,3,8,3],10,1]],[4,[[6,10,5],[3,6,2],1,[7],[8]],[1],[]],[]] + +[[[2],0,[2]],[2],[[[10,5],9,4,5],3,[[2],6],[[6,7,3,8,0],2,5,8],6],[]] +[[[[6]]],[1,5,8,6],[[7,0],3],[[[6,8,7],[5],[],[8,4,5],10],2,10]] + +[[[0],10],[[[1,3,5,2],[5,4,0],9,0],[[]],[5,[4,10]]],[0],[]] +[[8,10],[0,10,[],[[1,6,3,9,1]]]] + +[[[5,[9,3,4],7,1,1],[4],[8]],[[1,10],9],[]] +[[[[2],2,[]],8,4,[10,[0,1]]],[6,4,1,9,4],[[2,6,[0,8,2,8],5],5,9,[[8]],[]],[6,3,[8,2,6]]] + +[[10,3],[5,[],3]] +[[],[[[4,1,2],4],[4],[6,2]],[[],[[7,8]],3,7,[2,[]]],[],[[9],10,[10],0]] + +[[[8,3,9],6,[],8,[[],[4,1,1]]],[]] +[[9,[[10]],[2,[4,2,5,5,9],[],2],[]]] + +[[10,10],[]] +[[[[8],8,1,[10,3],[6,3,7,5,0]],[5,[8,4,8,8,6]],0,[[]]],[],[1],[5,[6,[],5,2,[10]]],[3,10,[[6,4,0],[6],9,[3,8,9,10],[5]],[1,3,6,2],[[5,2,2,1],3,0,1]]] + +[[[[4]],[5,[3,5,9],5,4,[5,0,8]],[[1,5,2,3],[1,1],7,3,[0,2]],0,[]],[2]] +[[2],[[[5,3,2,4,10],[7,0,3,6,4],5]],[],[[[3,6],5,6],[5,[]]]] + +[[9,7],[8,1,6,3],[[8,5,[2,6,1]]],[[[1,0,2,1]],0,7],[]] +[[[10,[0,0],[],[7,5,10,1,1]],[],[9,[7,7,1,9,1],[7],[9,6,2]],10,10],[[[2,0,10,7,9],[1,7,8,2,7]],8,0,[[9,8,6,0,5]],3],[[10,7],[],[],1,[[3,6,5,8,8]]],[[5,[7,5,0]],[3,[10]],[7,6,[5,5,5]],[[10,4],5,[5]],3]] + +[[[3,[6]],0,5],[[[]],[8,[1,6],3,9],[9,[4,3,3,5],[10,0]],[6]],[0,[7,5,10,9,7]],[5,2,[[4,7],9,9]],[[9,8,6,9,[1]],1,3,8,[3]]] +[[[0,8,[0,0]],1],[5,[],5],[[9,[9]],0],[6,[[0,9,8,6]],[[4,10]]],[[[4,6],[8,7,3,3,6]],4]] + +[[[[10],4,1],3,[]]] +[[[0,4,[7,3,7,5,3],[6,9,10,3,8],[]],8,[[],5],[9]],[4,[8,[2,0,6,9,5],[4,10,7,7],3],[6,[10,6,4,10,4],[5],8,3],2],[[[],6,[10,2],[7,5,4,3]],6,[0],[]]] + +[[10,[[9,9,9,2,10],1,0,8,7],6,9],[8,[],[[],8,8,1,[]],[]]] +[[],[[0],[[],[7,9,6,0,9],3,1],[8,2,[]],[]],[6,1,[2,2,6],[6,0]]] + +[[[10,[0,7,8],[]],10,[0],5],[4,10,7,6,[]],[[9],[1,4,[5],[10,4,7,2,6],6],[7,[5,9]]],[5,1,[[6,1,7],[4],[]],7,9]] +[[],[1]] + +[[[5,6],[7,[5,10,10],[6,2,10]],7,1,[[8,9],6,[1,4,3],[8],8]],[[[8,0,9,0],4,[],5]],[1]] +[[[],[]],[8,3,[[3,4],4,3]],[[[2],[2,5,5],1,2],[9,4,[9,8,3,7,3]]]] + +[[8,4,[[3,1]],[]]] +[[0,[2,4,[],7,0],[[2,6,4],[2,3,9,1,3],[3,2,10,5],3],2],[[],[5,[3,3,8,8]],3],[[[]],9,1],[[9,[5]],[6,[9,0],[4],[]],4,4,[2,8,7]]] + +[[[5,4,8,1,[4]],6,6],[[[9],2,[8,10,3,10],[7,6,9,6],[4,4,6,6]],1,3,2],[3,0],[5,[],[[],[10]],[2,6,[2,0,5,7,9],[0]],5]] +[[[10],0],[[[],1,4,4,[]],[1,[8,3,7,0,6],1,[3,5,2,6,5]],7,[[10,7],2,[]]],[[[10,9,9,5],9],[[9,3,8,0],[],3],9,[[1]],[[8,1,4,2],8,[5,1,2]]],[7,[[7,4,6,3,6],[4,10,9],[8,5,2],[0]],[],7,9],[2,[9,0,4]]] + +[[[],2],[[[5],3,5,8],7,[5,[1]],3,5]] +[[2,[[4,1,3],0],8,[2],[4]],[3,[]],[],[[1,[0],[7,5,3,3,9],6],[4,[6,9,7],[],[7,1,9],[0,0,0]],[1,6,[2,4,10,5],1]]] + +[[8,9,[],4,7],[7,7,8,6],[[9],9],[],[9,8,[8,5,0,10,[3,2,3,9,2]],[],2]] +[[]] + +[[[9,[6,2,7,4]],[[10,7,1],8,[8]],6,[[2,9,9],1,[7,7,1,3],[0,9],7],[7,[0,10,8,7],5]]] +[[3,[[1,5],[5,8],5,[10,8,1,0,6]],1]] + +[[7],[7,[2,[],6]]] +[[[[4,4,3],8],2,2,5],[[[6,4,2,8],0,5],[6,4],[1],[9],[[6,10,0,7,8],7,[]]],[[[5,1],[8,4]]]] + +[[[[1,3,4,2],8,[7,8,9,8,1]]],[[[7],3,[],[3,2,9,1]],9,2],[6,7]] +[[4,7],[[[0,8],6,8,[3,0,7],[10,10,6,1,2]]],[[],[[7,2,5,0,10],5],2,[[2,4],[5,3,2,4,9],3,[6]],[1,[],6,[],[6,6]]]] + +[[],[[5],10]] +[[],[],[[1,5,2]]] + +[[10],[3,[[5,0,4,2,5],9,[9,5,6,3]],9,[[5,5,7],[0,9],[3],10,4]],[6,7,[9],[],[]],[[9],[[0,2,8],10,3,[9,7,8,8,1],[2,10,6]],[2,[10,3],[5,7],9,[9,10,9]],6],[0,8]] +[[0,3,6]] + +[[],[[[],8,[2,0]]],[4,10,9,1,[8,10]],[[6,9,[0,0,8],[4,2,8]],[[4],6,[2,10,6],4,[9,1]],3],[[5,6,[0,5,1]]]] +[[[[],[1,1,6]],6]] + +[] +[[5,10,[[8,10,10,3],[10,4,8,7]],5,[0,9,[0,2,3,1],[4]]],[2],[0]] + +[[[[7,8],5,[1,4,1,1,10],10],[9,[9,8,6,0],3,[1,2,3],3]],[[],6,0,2,7]] +[[[7,[6,6,6,9],[10,2,5],[4,9,5,2,2],[2]],[4,6,4],[7,[2]],[6,[7,8,7]],[]],[8,[3],[10],[[7,9],[8,4,9,8],[],8]],[[[5],8],8,10,5],[6,3,5,[[9,2,2,10,6]],[[7,0],[1,8,6,5,8]]]] + +[[9,3,[[],[0,6,4,1]],9,[[10,3,2,2],4]]] +[[[0,10,2],0]] + +[[2,4,[]],[1,1,[[],[],[3,6,5],[1,4],7]],[10],[6,8,[8,1,5,[8,4,1,6,1],[6,9]],[10,5,[0,4]],[[],[1,10,0,8,1]]]] +[[[9,10,[2],6,6],1,[[10,9]],9]] + +[[3,8,9],[[3],[],[[9,10],1,4,10],7,[2]],[8],[3,1]] +[[10,2,4,[[9],0,10,9]],[4,8,8]] + +[[],[[9,3,[1,9,9,3],6],[9,4,2,10,[5,6,1,9]],[],10]] +[[[8,9,[],[]],1,[[0,6],10,8,4],[],[[1],2,10,[6,2],[9,6]]],[8,[5]],[[[7]],2,[[3],0],9],[2],[[3,6,2,9,8],[[],2],[[],[5,7,6]],[],10]] + +[[1,1,7,6]] +[[4,3,[9,[1,7,1,9,2],[0,3,8]],[[5,2,6,9,8],[]],3],[7,4,7]] + +[[0],[6,9,9,[2,[5,6,6,7],9,3]]] +[[[8,[7,0,1,3,8],[7,2,10,3],2],8,[],5,[[8,0,9,8,3]]],[5,[[9,8,5,1,4],0,8,1,[8,1]],[[0],5],1,3],[2,1,10],[3,6,[[9,9],5,[5,10,2],8,[0]],[6,[3,2,8],9,[]]]] + +[[[9],[[7,9,5]]],[4],[[],[[8,9,0,6],1],[3,[4,0,0,5,0],1,[4,5,0,4],10],[7,[4]],[[],2,0,[8,7,4,1,6]]],[[[9,4],[2,8],[2,2,1,0]]]] +[[],[4,[8,[]]],[6,4,[[7,6,4]],10],[5,[2,[8,2,2,8]],4]] + +[[],[[[7,0,7]],[]],[7,6],[6,3,8,[[9,7,4,4]]],[]] +[[[[3]],[9,[9,8],[0,6,7,5,6]],[8,[2,10],5,[2,2,6,5,10],8],3,[3,[0],[8],0]],[6],[[8,[0,6,8],6,[3,3,10,2,0],[1,0,2]]]] + +[[5,[0,3,[],8,[5,5,8]],[4,3,[9,0],3]],[[6,3,6,6,6],2,[],5],[10,[[10,0,0],[0,9]],2],[[],3,10,[5,4,[9,5,0,1],[2,2,7,0]]]] +[[],[1,[[],5,2,6,3],[[2,8,1,8,4],7,9,9],5,[[9],9]]] + +[[[[7,8,5,3],[9,9],9,4,[7,8]],[3,9],[[2],[0,9,3,8,4],7]]] +[[2,[]],[[[0,0,7,7,4]]]] + +[[[1,1,6,[10,8],0],6,3,[[2,4,4,2],0,[7,5,1,8,4]],[]]] +[[7],[[],[2,5,[10],[0,9],[]]],[9,2,5]] + +[[10,2],[7,[0,10]],[1,[[5,10,0,4],4,7],9,[10,[3,4],6,10,5]],[[8,2],[]]] +[[1,7,[10,0,7,[1,10,8,10]]],[[[1,6,7,0,6],0,[8,2],5,[]],[9,[1,4]],[]],[[[3,0],[9,5,5],[],[6,9]]],[10],[3,3,3,[[5,8,2,1],7,[6,10,5,7]]]] + +[[10,[],[[4,4,10,0],6,4,[1,6,10]],4],[4],[[[7,9,1],[8,3,8,10],[0,7,7],4,3],[2,[6,5,9],7],7,3],[4,7,7],[]] +[[4],[],[6]] + +[[9,7,[]],[[4],[10,[],7],6,0],[[[3,6],4,1,7],1,10]] +[[[[2],[],[4,8,5,3,2]],[1,[3,0,10]],[[]],6],[],[2,[10,[9]],1,[[],[6,2,3]]],[[2,8],[4,8,[6,9,5,9,5],2],[[3,5,0,6,8],[8,10],[]],[7,5,[8,10,0,10],1],1]] + +[[4],[0,[[1,1,2,9],[5],[7,5],8],[[2,10],8,0,[9,8,5]],5,[]],[0,7,4]] +[[5,[[10,7,8]]],[3,0],[],[[[1,6,0],[5,4,5],10,[5,2,3]],[],[[3],[4],[4],[]]],[8,[[8]],[8,6],[[4,4],[1,10,3,8,4]],[[5,9],6,3,[6,10,0],[1,5,10]]]] + +[[1,1,[[10,10],[],[10,3,0],8,4],[9,[4,2,2,1,3],3,9],[[9,0,4,1,8],10]],[2]] +[[6,3,8],[],[[],3],[[5,6,[],[3,5,2],4],[3,[1,10,4],[0,2,1,8,7]]],[]] + +[[6],[8,3]] +[[9,[[4,1,0],[3,9,4,3],3,7],[9,[10,2,7,8,6],[0,8,10],[8,5,10,2]],[1,[10]]]] + +[[],[[],6,9],[0,[1,4],[[8],[9,5,4]]],[6,9,1,6,[]],[8,[[9,8],5]]] +[[[[],9,0,6,2],[7,[1,0,4,7,0],[10,10,10,5,9],9],3,6,2],[],[9,[[2,4],[2,3,8],[9,3,9]],3],[2,[7,1,3,1],9],[[[4,0],[3,0,5,0,6],2,[10]],10]] + +[[[2,8,[10]],3,4,[5,[6,2]],8],[8,2],[]] +[[[],4,3,2,[4,[10,8],8,8]],[[0]]] + +[[[5,[10,7,6,9,4]]],[],[[[10,1,7,7,7],[10,8,4],2],[2]],[7]] +[[9,[[7],9,8,8]],[10,5,7,2,3],[[],6,[[8,2,1,8,5],10,7,7],[]]] + +[[[[0,8,1,3,3]],[],4,[[5,3,4],6,9],3],[]] +[[[[6,2,4,7],2],8]] + +[[[7,8,[7,7,10,5],[1,9,4,2]]],[[[4],[4,4],[5,0,3],6],[[5],[],[2]],[[2]]],[]] +[[],[9,1,[[8,9,7],[9,3,0,9,2],6],[4,10,8,[10,2,9,10]],2],[2,8,10,[3,[9,0],6,5],[10,[1,9,3,10,8],[3,0],[5,1],5]],[]] + +[[5,10],[[8,[5,9,6,0,5],[]],[6],8],[5,0,[[1,1,1,5],[0,10,1,3,2],2,[3,10,9,8,6]],[5,5,[10],[1,7,3,2,0],9]]] +[[[],4,[[5]],[0,[4,7],[10,5,10,3,5],[2,8],[2,8,3]],1],[[1,[0]],8,6]] + +[2,3,8,10] +[2,3,8,10,8] + +[[9,1,[[2,10,10,0],7,[7,9]]],[[],[9,[0,4,0,4,0],5,4],0]] +[[8,4,[2,[]]]] + +[[2,[7,9,[4,9,10,2,0]]],[[],[4]]] +[[],[8,9,2],[],[],[]] + +[[[[5,0,10],2,9],0,[[8,9,5,3],[5,9,8,1,2],3,[10,10,9,8,2],[7]]],[3,[7,[6,8,8,5],[7],10],2,0,[[9,0],5,2,0]],[],[9,2,[],[[5,9,6,5],[6,9,4,6,10],[],[1,3,9],[5,2,5,4]]]] +[[[10,2],5,[7],9]] + +[[[[0]],9,[9,[8,5,9,7,0],[7,3,2,4,5]],2],[[]]] +[[7,7,[[2,10],[8,3]],3,8],[[[],[10,0,8,7],[2],5,[5,2,4]],[8,[],[1]],[8,10,2]],[6,2,4],[[[],[1,10,0,3],1,[10,9]],10,[8,4]]] + +[[10,9,6,[1,[9,2],4,[0,3,4,9,4],6],[[],2,[1,6,5,10],[3]]]] +[[1,1,10,4]] + +[[9,[1,1,4,6,5],[[5,2,6,6],[10,10,6],[5,1,4,0,2]],[2,9,8]],[[[5,3,4,10,8],10,[],6],5,[5],[],[[10],[8,10,7,1],[4,8]]],[],[],[[[1,3],1,1],[[10]],1]] +[[0,[[],5,1,4,[4,10,0,5,8]],4,[[],[],3,[2,5,9],9],3]] + +[[[[7],10,2,[5,10,1,10,8],[6,10,0,8,2]],[[],5,[8,5,8,3,3],8],[8,[],2,8],[],[5,[3,8,2,4],4,[],8]],[[4,4,2,2,10],[[4,6,8],[5,6,6,10],[0,1,8],[1,3,10],5],[],[3,7,[5,5,4]]],[7],[[[6,10],[5,3,8,2,6],[2,6],7],[3,3,[1,10,1,9],[0,5,1,4]],[[0,10,6],0,6,[]],[[8,9,7,1,10],6,5]],[6,[1,[],[3,6,6,1]]]] +[[[[4,4,8,8,4],10,0,8],1,4],[],[9,0,4,6]] + +[[[[8,9,3,0,0],3,[3],8],2,[0,[2,3,2,10,3]],1,[]],[3,[2,7,0],[],1,[]],[[],[],[7,8]],[[],[[],[6,1,1,2,4],9,8,[8,8,4,2,2]],0,[]]] +[[4,[[4],[0,10,6],3]],[[6,2],9,[10,9,[5,6,5],[3,0,3,0,2]]],[],[],[[],3,[3,6]]] + +[[],[3],[[],[[]],7]] +[[[[1,5,2,9],[0,4],[0,8],[9],2],2,8,5,[[8,0,0],[10,4,3,2],[0]]],[[[7,10,5,1,3]],4,4],[9,[[8],[]],7,10],[0,6,[[8,7,1,1,5],0,[5]],10,[]],[8,4]] + +[[[8,[0,6,4]],8,1,[9,6,1]]] +[[3,3,5,8,[[],2,[8]]],[9,8,[10]],[[[]],[4]]] + +[[3,8,0,[0,4,9,7],[4,9,9,[2,6]]],[2,10],[[10,3,[3,5,9,5,2],[3,2]],2,[],[],[[4,0,2,9,2],8]]] +[[[7,3,1,[7],[7,6,9,9]]],[[[5,8],8],[[6,3],[9,8,0]],[0,0],3,4]] + +[[[0,7,1,[2,4],[6,9,5,10,5]],[9],[[10,0,0]]],[[10]],[[2,[1,0,1,1,9]],7,1],[0,[[]],10,[0,2],0]] +[[[1,2]]] + +[[0,[[5,6,2],[]],10,2,[]],[0,8,[]],[[[],4,1],1,[[10,6,6]]]] +[[[],2],[[1,5,6,0],[1,1,[10,6,9],8],1]] + +[[2,7],[],[9,0,8,[],[5,[1,4,3,3,3],[5,0,2],[9,3],[]]],[[],10,8,4,10]] +[[],[[]],[5,[[],9],8,[5,[8],8,1,[7,2,0,2,2]]],[[2]],[[10,[5,6,4,2,4]],[],[1,[5,7],[3,3,1,10,7],6,[]]]] + +[[0]] +[[1,10,7,[[3,10],10]]] + +[[],[[6,[],[4,4],1],8,9],[[[]]],[]] +[[10,7,7,[8,[6,9],10,3,[5,7,0,10,10]]],[],[1,10,[[],[5,6,10],10,2,[]],10],[[[1],[2,7,5],9,[6,9,7]]],[[4,6,[],0,[]]]] + +[[],[10,2,[[7],6,[10,7,6,0,2],6],[6,[7,4,6,9,5]],10]] +[[4,[[5,5,2,5]],[]],[6,[[4,10]]],[]] + +[[],[10],[],[[[4,2,7],[5],0,9]]] +[[[[6,1,6,2,10],[],[4,4,5]]],[7,8,[],5,2],[[],1,[[0,5,6,4,8],[6,3],[4],10,[]],0,4],[1,[[8,10,0],[4,8,6,2,3]],[1,[8]]]] + +[[],[],[2]] +[[0,[[5,8,6],10,[0,7],1],3,[8,[1,3,7]]],[[],[5],[0,2],4,2],[10],[]] + +[[0,[],[[9,9],8]],[[1,[]],[]]] +[[2,10,[8,3,[4,8],[8]],[[7,8,9,4],[5,6]]]] + +[[[9],[],[[]]],[[[10,8,4,6,3]],[5,4,1,7],[],[]],[[],10,1],[4],[]] +[[[1],[[]]]] + +[[[5,10,4],[4,[0,7,7,9],[2,3,1,5,10],[0]],2,[]]] +[[],[],[[3,[0,0,0,3]],10,[[0,3],[],4]]] + +[[[[7,9,7,1,2]],5],[],[[[],[2,8,0,9],6],1]] +[[],[6,[[],8],10,[]],[[[3,9,6,3],6],[6,[],2,[3,3],3],4,[4,7,1],[0,[1,4,0,5,6],7,6]],[6,8,4,9]] + +[[2,4,[[8,9,0,6],8,[4,8,1],[10,2,9,1]]],[],[0,[10],6,[[9],[9,3,1,7,7],[2,0,3]]],[[[8,2],6,[6,9,7,4],[1,2,7],[8]],[[],4,4],[2,[5]],6]] +[[9]] + +[[],[9,0,[[1,7],8]]] +[[8],[[],[9,[],3,6,[2,2,1]],7,[[7,8,9,6,2],[5,3,5],1],8],[7]] + +[[0],[7,[4,[4,4,8,6,8],[10,10,5,9,2],[7,2,3]]],[5,[[7,7,0,2,5],[10,8],[6,1,9,0,9]],[10]],[7,4]] +[[7,1,8],[[[10],[]],[[]],[9,6],[[5,2,0,6]]],[[0,3,[3,8]],[],[[5,2,3],5,[2,6,1],8],8,6],[8,6,[[10,10,10,0,5],[]],9],[6]] + +[[[5,3,[7,1,9,6],[]]]] +[[[[1,6,5,6,10],6],[[8,1]],6,2,[]],[[9],[],2,[],1],[9,[2,[7,2,5,4,7],[6,3]],0,10],[10,[[5],7,[2,9],2,[]]]] + +[[1,[[4,4,4],[10,8,1],6],9,10],[[[4,10],[1],[0,2,6,8,8],5,9],5,7],[2,8,[[10,2,6,0,1]],[9,3]]] +[[7,4,[[0,1,2,5],1]],[],[[[],7,7]],[[[2,10,5,2],6,3,[2]],1,[],[[],7]],[[5,3,[5,0,1,1],[],[5,3,6,2]],[1,1,2,[1,5,1,4]],2,0]] + +[[9,6,7,10,6]] +[[1],[0],[1]] + +[[],[[[10,6,5,1,5],[9,9,8,6],1,10,0],[4,[0,4,4,9,6]],[[1,9,4],8,[9,1,2,5,4],[2,2,6,1],3]]] +[[6,8],[[],[[5,10,6,1],[],[0],[0],7],[10],1,2],[[[3],0]],[8,10]] + +[[],[[[7],9,[2,10,6,2],4,3],[[7],5],4,5],[[[4,5,5],3,1,[6,0,0]],[]],[10,2,[3],10]] +[[],[9,7]] + +[[3,9,9],[[[1,0,10,4,0],[0],6,8],6,1,[[7,7,2,5,2],[],10,9]],[[0,[4,3,3,3]],4,[[5,5],[8,0,10,10],6,[0],[]],[[6,0,4],[3,7,3,2]],[8,3,[3,9],3]],[[6]],[10]] +[[5,9,[[0,2],[5,7,9,6]]],[[8,[0,10,4,2,10]],6,[6],[[],[0,3,7],[10]]],[[[8,2,7,1]]]] + +[[1,8,[8,7,8,[9,1,6,9,2],9]],[2,0],[8,5],[10,1,[]]] +[[],[[],6,[[5],[5,4,8,4,7]],8]] + +[[[[7,7,7,3,2],[],3],[],7,[4,2,[0,9],9,[]]],[[4,4,4],7,[[3],[4,0,1]]],[[],[10,[0],[7,6,10],10]],[0]] +[[[[9,5,10]]],[[[3,2,6],[3,1,10],0],6],[[[4,3,5,7,9],1,[0,0,1],[2,5,8],[2]],2,3]] + +[[],[[5,[6,5,9],10],7],[[8,[4],[9,0,2,9],8,1],[6,[2],[],[6,9,3],[0,9,9]]]] +[[10,[0]],[[],[8,10,9]],[[],[[]],[],8,4],[3,7]] + +[[7,9,1,[7,10]],[3,9],[[[10,4,5],[10],[0],[2,6,1],[3,2,6,1]],[5],[7,5,[4],7,4],[7,[5,2],[2,2,8,7],[5,7,5,7,9],[1,4,0,9]]]] +[[],[[[10,9],[]],[[10,4,0,1],[9,0,6,10,3],[9,8],6],3,[],10],[6,6,[],7],[4]] + +[[9,[2,2,[7,2,10,2],5]],[[],[6,[6,2,8]],[0],2,4],[]] +[[],[3],[3,3,10,[0]]] + +[[6],[],[],[[1,[2],[]]]] +[[[6]],[]] + +[[[[10,0,8,5],[]]]] +[[[[5,8,7,7,2],[6,1,2]],[],7,[]],[],[[8,8,4,[4,7,7],8],0,10,[9,5,[]],[1]],[]] + +[[4,9,[[5,3,2],8,2]],[],[8,5,[1,[3,9,0,1],[6],[6,5],[8]],7,[[5],9]],[],[0,8]] +[[[[1,8,1,5],0,[4,3,0],[],[0,3,4,5]]]] + +[[7,8]] +[[5,[[9,5]],[9,[8,4,10],3,10],[[7,9],7,[9,4,6,6,2],3]],[],[],[[[7],[1,5,1,10,10],[4,2,0,8]],4,[],3,[3]]] + +[[1],[1,0,[],7,4],[6,[0,[2,4,0,4],2,5,[3]]],[[[],[6,7,3,10,10],[5,10,4]],1,[],1,[[],[3,10],7]],[[[3,2,3]]]] +[[8]] + +[[[],6,[9],[]]] +[[8,0,4,9,4]] + +[[1,8,[[6,2,1,1]],[[7,4,7,5,4],9],[1,[]]],[[0,[9,1],[7,1],[9,6,7,6]],0,[8,[],9],0,4],[[[4,8,10,10,1]],[[0,4,5,4,3]]]] +[[9,[6,7,[7,9,10,7,0],[7,3]],[],[7,7,0,[6,4,1]]],[],[[4,0,10,[2,8,2]],[[3,9,9]],[8,2,[4,2],7,3],[[5,4,2],[3,10],[4,6,0,0,0]],[]],[8,2,5,0,[[],4,5,0,4]],[[[1,3,9,9],[0]],5,[6,[5,1,4,8],[2,0]],6,3]] + +[[[0,[1,3,5]],8,[[4,4,0],9,5,[],[1,6]]],[4,6],[[[],7],4,3],[0,[]]] +[[9,[8,2,[7,1,2,3],4,7],[[],[],[8,8,5],9,5],2,5],[],[7,[[9],0]],[[],0,0,[[6,0,7],[10,10],[10,6,8,10,7],6],[9,4,2]]] + +[[[[3,0],[0],3],8,4],[[[5,1,1,8],[10,6,1,0],[8,1],7,2],[]],[2,[10]],[[10,7]],[6,5,8,10]] +[[10,[]],[8],[1]] + +[[4,6,[6,2,[]]],[8,[7,10,[0]],[[9,4],8,[2,4,3,4,4],[4,9]],[[10,2,9,3],[],[5,9,2,2],[],[9,6,6,10,5]]],[9,[9,2,6,10],5],[]] +[[[2,[9,0,0],[7,10,1,3],0,[9,2,7]]],[8,[0,[5]]]] + +[[8],[0,[3],4,10,[[1,7,4,7,0],[0],[7,3,5,4]]],[[7,[8,3,8,9],10],3,[[9,2],4,[]]],[[6],4,1,[3,[0,2,8],9]],[9,[[4,6],[3,8,0,3],[],10,[6,10,2,1]]]] +[[[1,0,8,1],1],[7,4,[6,[3,1,8],8,[2,1],[0,5,10]],[],9],[],[7,[[]],[[7,5,10,1],1],1],[5,0,[9,[9,10,9],2,6,9]]] + +[[[1],2],[2],[3,7,[[],3]]] +[[[]],[0,[[0,6,5,8,0],[5,8,7,2,0]],[4,6]]] + +[[],[4],[[2,5,7]],[1,[[4,9,8],4]]] +[[],[5,[[6,9,2,3,7],7,[2,1],5,[6,1]],[[3],[3,2],0],[2,[10,10,1,2],0,[5,5,6,2,5]],[[3,5,0,7],[0,8,10,1],9]],[9,10,[[1,2,3,3],[5],[],[1]],[9,5],1]] + +[[[1],7],[6,[7,[]]],[[7],[],[8,3,4,10,[1,6,1,2]],3],[8,10,[[2],0],7]] +[[[],[[1]],[7,1,8,[2,1]],4,9],[[[4,8,1,8],[4,9],8,[2,5]],[1,0],[8],4,[[],[],[9,6],9,0]],[[[8,7,8,9,2],[1,2,9,3],[2],8]]] + +[[6,[[7,5,7,6,8],[]],[5,3],1],[[9,[3,1,8],8],[],4],[[7,2,9,1],3],[]] +[[[]],[2,[],[[8,5],8,3,[9]],6],[[[],7,0,0],6,[]],[[[]],[],0,4],[[[]],0,[9,[9,0,4,4,7],[1,0,4,6,4],[4,4,8,10,9],9],[[4],[10,10],[8,7,0,5,0]]]] + +[[[2,[0],1,[3,2,10,0,4],[10,9,8]],[[7,4,8,2,10],[2,0,1]],5,7],[[[4,10,7,5,1],[]],[[5,5,6,0,1],9],8]] +[[7,3],[[[3,10],[0,2,5,4]],6,6,[[5,4,4,8,5]],[4,[0],[5],[]]],[9,2,6],[[[1,7,2,8,7],[2,6,8],4,[10,9,5,8],4]]] + +[[[7,[9]],7,2,[[1]],4],[],[[0],[[5,10,10,9,2],10,1],[0,9,[5,6,3,0],[],[1,9,10,5]]],[[3,1,[6,0],1],[[2,3,9,3],[0],6]]] +[[8,4,7,0],[7,7,[[6,9]],5,8],[[2,[],[9]],0],[0,[[],[0,0,9,0],9,[8,10,2],[10,0,5]],[7,5,[1,10,6],[],2]],[]] + +[[[]],[9,8,[]],[5,[[8,4,9],[6],[10,7,3],1,[]],9],[[],6],[2,[[1],9]]] +[[],[2,[[10],9],6,[10,1,[9],[3,1,4,2],[1,10,9,3]],[[2,6,8],5,10,3]],[[5,[],3],3],[],[3]] + +[[[],[[10],[0,1,5,2]]],[[1,[2,8,1,10,1],3,6],[0],8,4,[[8,2],[10,2,7,5,0],[2,1]]],[[6,[],4,[2,4,5],[2,4]]],[10,0],[]] +[[[6,[]],5,[[4,10,10],8,[5,0]]],[[3],[[8,4,8]],2],[[[8,4,6,2],6]],[8,10],[3,[8,8,4,[]],7,9,[6]]] + +[[10,[6,[9,1,2,0]]],[[[6,10],1,10,10,6],1,5,5,[4,[4,8,1,1],4,[9]]],[1],[1,[8,[5,3]],9,[[5,9,1,1,2],[],[9],10,[6,7]],6]] +[[[],5,[10],[8,[4,2,7,9],1,9,9],1],[10,[],0]] + +[[[[10,8,0,1,6],[0,9,10,3],1],4,[8,10,0,0]],[],[[[6,7,1,10,6],3],[2],[],4,1]] +[[],[],[6,3,[[9,1,5],[4]],[[4],8,[6,6,7,0,1]],[8,8,[3,5],[2,3,10,6]]],[],[[7,[],[4,10,4,5],2]]] + +[[3,[],2,[6],[]],[1,[1,[4,1,6,10,6],[2,2,0,7,5],1,[5,7,9,2]],[[9,8,7]]],[[[3,8],6],1],[[6,[4,1,7,7],[],6],[],[],10,1],[]] +[[[7,9,10,[4]],[0]],[6,[3],[[0,9,10],[6,9,6,2]]],[[[10,1,8,8],[2,5],[7,2]],0,[3],[5,[8,6,5,3],6]]] + +[[5],[[[7,10],0,[],[8]],2,[4,0,3,[]],6,[8]],[[[4,2]]],[[]],[[[],[2,7,1]],[4,2,[7,3,7,8]],6,0]] +[[9,9,9,[[]]]] + +[[[4],[5,1,[10,2,9],7,2],10],[1]] +[[1,[]],[],[],[5,9,[],[5,[10,10,8,8],[2,10,1],1]],[[6],7,[2],9]] + +[[4,7,4],[6,1],[9,[],[[8,2],6],[[3,5,1,4],6,[10,3],4]],[[9,[],[2,4,10,3,7],[1,3,0,7,9],7],1],[[[10],[0,5,10,2],[2,5,2,5],[5,1,2,0,3]],1,[[2,2,8]],4,[8]]] +[[0,[[],[],[9,4,1,2],7]]] + +[0,4,5,3,1] +[0,4,5,3] + +[[[8,7,8,0],2,10,[],[9,3]],[2,0]] +[[[[10],10,[8,7,8],0]],[4,5]] + +[[9,5,5],[0],[[9,6,[10],6],[10,[10,5,9]]],[5],[10,6,[],9,[[5,5],4]]] +[[[0,2,10,[7]],7,1,4],[],[2,[[7,2,4,0],2,1],[2,1]]] + +[[],[8,10,6],[3]] +[[[3],4],[10,[],[]]] + +[[2,[9,[9,7,7],[10,9,5,0]],0],[3,7]] +[[[5,3]],[[3,[],[7,4,5],7],[[5],3],[3]],[2,[5,8,4],9,[3,[0,9,5,1,1],10,[4]]],[]] + +[[],[4,0,[[4,1]],[[7,7,4],0],[[9,5,9,9,3],1,[4,7,7,9,3]]]] +[[],[10,5],[[[9,5,8,4,1],10,6,4],[[9,2,8,3,6],6,7,[8,10,6,7,8],[10,2,2]]],[[6],[2,0,0],9,[5,7]]] + +[[[],[[],[2,3,9]],5,5,5],[[1],5,[[],4],[5,[3,9,3],[6,4,1]],3],[3,[4,1]],[[],[4,[8],[7]],[[10,8,2],5]],[[[1,5,0,9,6],9,7,[]],[0,[],6],[],[[3,5,8],6]]] +[[[8,[],8,[7],3]]] + +[[1]] +[[0,[0,[7,0,9,0],7,1],[7,[2,10,4,2],3],[2,0,6,[3,5,8,0],[10,3,4,5,4]],[[8,7,6],[5,6],[7],[]]],[[],[],[]],[1,[],[[4,2,4,8],7,3,[4,4,7],9]],[10,[[8,5,6],3],9]] + +[[6],[[[4,6],[6,3,2,0,4],0],3,4,[7,[4,1],2,3,6],1],[]] +[[6,9],[8,[7],4,7,3],[9]] + +[[7,10,0],[0,8,[[4],4],[[10,2,1,10,0]],4],[[[1],5,[1],4,[6,3,5,3]],[[3,5,0,4,8],4,5,[8]],[6,3,7,[4,2,4,1],[6,8,1]],[0,1,[8,10,7,2],[6,2]],[3,[2,6,1,4]]]] +[[7],[[6,0,7],[9,9,8,[6,7,10,6]],[[5]],[[7],[4,2]],4],[[]],[4,1,4],[5,[7,4,10,[2]]]] + +[[],[9,1]] +[[[5,10,[],7,[0,7,3]],[[2,1]],5]] + +[[],[[5,9,[6,3,8]],[3,[9,10]]],[10,[5],7,5]] +[[3,[10,10,[3,4]],[[6,2,10],[3,6,0,4],8,2,2],9,3],[[6],[7,1,[3]]],[3,10,4,9],[[[1]],5,2,2],[]] + +[[2,1,3,1,[]],[[0,7,[],4],3,1,[[7]]],[2,3,1,[9,[],[2,3,0,6,6],[8,5,1,2,4],5]]] +[[9,[[0,7,10,5],6]],[],[[8,[10,6],[7],8]],[[3,[0,4,8,7],10,[2,2,2,7,4]]]] + +[[3,1,[10,[7,1,4,8,6],[1,1,3],[5,1,6,3,8]],6],[3,8,[[4,1,4,5],[1,8,1],[],[5,10,9,2,7]],3,7],[10,0,8,6]] +[[],[5,8,9,7,[6,2]],[7,[3,0,1,[]],[]]] diff --git a/13/solution.mjs b/13/solution.mjs new file mode 100644 index 0000000..56388fe --- /dev/null +++ b/13/solution.mjs @@ -0,0 +1,53 @@ +import { readFileSync } from 'node:fs'; + +const input = readFileSync('input', 'utf-8'); + +const pairs = input + .split('\n\n') + .map(pair => pair + .split('\n') + .filter(line => line) + .map(line => JSON.parse(line)) + ); + +export function compare(left, right) { + const leftIsArray = Array.isArray(left); + const rightIsArray = Array.isArray(right); + const compareArrays = leftIsArray || rightIsArray; + if (leftIsArray && !rightIsArray) { + right = [right]; + } + if (rightIsArray && !leftIsArray) { + left = [left]; + } + + if (compareArrays) { + for (let i = 0; i < Math.max(left.length, right.length); i++) { + if (i >= left.length) return -1; + if (i >= right.length) return 1; + + const result = compare(left[i], right[i]); + if (result !== 0) return result; + } + return 0; + } else { + return (left - right) / Math.abs(left - right || 1); + } +} + +const sumOfIndices = pairs + .map(([left, right], i) => [i + 1, compare(left, right)]) + .filter(([_index, result]) => result === -1) + .reduce((total, [index, _result]) => total + index, 0); + +console.log(`Sum of correctly ordered inices: ${sumOfIndices}`); + +const dividerPackets = [[[2]], [[6]]]; +const allPackets = [...pairs.flat(), ...dividerPackets]; +allPackets.sort(compare); + +const decoderKey = dividerPackets + .map(packet => allPackets.indexOf(packet) + 1) + .reduce((total, index) => total * index); + +console.log(`Decoder key: ${decoderKey}`);