diff --git a/day01.py b/day01.py index 635aec2..da7de60 100644 --- a/day01.py +++ b/day01.py @@ -2,8 +2,16 @@ from tools.aoc import AOCDay class Day(AOCDay): - test_solutions_p1 = [7, 1602] - test_solutions_p2 = [5, 1633] + inputs = [ + [ + (7, "test_input01"), + (1602, "input01") + ], + [ + (5, "test_input01"), + (1633, "input01") + ] + ] def part1(self): count = 0 @@ -23,3 +31,8 @@ class Day(AOCDay): count += 1 return count + + +if __name__ == '__main__': + day = Day(1) + day.run(verbose=True) diff --git a/day02.py b/day02.py index c3dcacc..f1ce5b6 100644 --- a/day02.py +++ b/day02.py @@ -17,8 +17,16 @@ def follow_directions(path: List) -> (int, int, int): class Day(AOCDay): - test_solutions_p1 = [150, 2120749] - test_solutions_p2 = [900, 2138382217] + inputs = [ + [ + (150, "test_input02"), + (2120749, "input02") + ], + [ + (900, "test_input02"), + (2138382217, "input02") + ] + ] def part1(self) -> Any: path = self.getInputAsArraySplit(" ", [str, int]) @@ -31,3 +39,8 @@ class Day(AOCDay): pos, depth, _ = follow_directions(path) return pos * depth + + +if __name__ == '__main__': + day = Day(2) + day.run(verbose=True) diff --git a/day03.py b/day03.py index 4bb490b..e693fb0 100644 --- a/day03.py +++ b/day03.py @@ -3,8 +3,16 @@ from typing import Any class Day(AOCDay): - test_solutions_p1 = [198, 4147524] - test_solutions_p2 = [230, 3570354] + inputs = [ + [ + (198, "test_input03"), + (4147524, "input03") + ], + [ + (230, "test_input03"), + (3570354, "input03") + ] + ] def part1(self) -> Any: report = self.getInput() @@ -38,3 +46,8 @@ class Day(AOCDay): report_co2 = [a for a in report_co2 if a[i] == str(int(count_co2 < len(report_co2) / 2))] return int(report_ox[0], 2) * int(report_co2[0], 2) + + +if __name__ == '__main__': + day = Day(3) + day.run(verbose=True) diff --git a/day04.py b/day04.py index 960fad9..a21bca0 100644 --- a/day04.py +++ b/day04.py @@ -47,8 +47,16 @@ class BingoCard: class Day(AOCDay): - test_solutions_p1 = [4512, 58374] - test_solutions_p2 = [1924, 11377] + inputs = [ + [ + (4512, "test_input04"), + (58374, "input04") + ], + [ + (1924, "test_input04"), + (11377, "input04") + ] + ] def part1(self) -> Any: numbers_and_boards = self.getMultiLineInputAsArray(join_char=" ") @@ -75,3 +83,8 @@ class Day(AOCDay): remaining_cards.remove(card) cards = remaining_cards.copy() + + +if __name__ == '__main__': + day = Day(4) + day.run(verbose=True) diff --git a/day05.py b/day05.py index 0237a52..fd5b1b4 100644 --- a/day05.py +++ b/day05.py @@ -27,8 +27,16 @@ def getCrossCount(grid: Grid) -> int: class Day(AOCDay): - test_solutions_p1 = [5, 6710] - test_solutions_p2 = [12, 20121] + inputs = [ + [ + (5, "test_input05"), + (6710, "input05") + ], + [ + (12, "test_input05"), + (20121, "input05") + ] + ] def part1(self) -> Any: grid = buildLineGrid(self.getInputAsArraySplit(" -> ")) @@ -38,3 +46,7 @@ class Day(AOCDay): grid = buildLineGrid(self.getInputAsArraySplit(" -> "), True) return getCrossCount(grid) + +if __name__ == '__main__': + day = Day(5) + day.run(verbose=True) diff --git a/day06.py b/day06.py index 774489b..8041aa2 100644 --- a/day06.py +++ b/day06.py @@ -19,8 +19,16 @@ def evolve_fishes(start_state: List[int], days: int) -> List[int]: class Day(AOCDay): - test_solutions_p1 = [5934, 346063] - test_solutions_p2 = [26984457539, 1572358335990] + inputs = [ + [ + (5934, "test_input06"), + (346063, "input06") + ], + [ + (26984457539, "test_input06"), + (1572358335990, "input06") + ] + ] def part1(self) -> Any: start_state = self.getInputAsArraySplit(",", int) @@ -29,3 +37,8 @@ class Day(AOCDay): def part2(self) -> Any: start_state = self.getInputAsArraySplit(",", int) return sum(evolve_fishes(start_state, 256)) + + +if __name__ == '__main__': + day = Day(6) + day.run(verbose=True) diff --git a/day07.py b/day07.py index f329e58..3edd270 100644 --- a/day07.py +++ b/day07.py @@ -28,8 +28,16 @@ def getMinFuelUse(crabs: List[int], increased: bool = False) -> int: class Day(AOCDay): - test_solutions_p1 = [37, 336120] - test_solutions_p2 = [168, 96864235] + inputs = [ + [ + (37, "test_input07"), + (336120, "input07") + ], + [ + (168, "test_input07"), + (96864235, "input07") + ] + ] def part1(self) -> Any: crabs = self.getInputAsArraySplit(",", int) @@ -38,3 +46,8 @@ class Day(AOCDay): def part2(self) -> Any: crabs = self.getInputAsArraySplit(",", int) return getMinFuelUse(crabs, True) + + +if __name__ == '__main__': + day = Day(7) + day.run(verbose=True) diff --git a/day08.py b/day08.py index eb3bcb1..9e10bdc 100644 --- a/day08.py +++ b/day08.py @@ -44,8 +44,16 @@ def getDisplayValue(input_str: str, output_str: str) -> int: class Day(AOCDay): - test_solutions_p1 = [26, 365] - test_solutions_p2 = [61229, 975706] + inputs = [ + [ + (26, "test_input08"), + (365, "input08") + ], + [ + (61229, "test_input08"), + (975706, "input08") + ] + ] def part1(self) -> Any: signals = self.getInputAsArraySplit(" | ") @@ -58,3 +66,8 @@ class Day(AOCDay): count = sum(getDisplayValue(x[0], x[1]) for x in signals) return count + + +if __name__ == '__main__': + day = Day(8) + day.run(verbose=True) diff --git a/day09.py b/day09.py index 54b79c3..a423a1e 100644 --- a/day09.py +++ b/day09.py @@ -35,8 +35,16 @@ def getBasin(caveMap: Grid, start: Coordinate, visited: set) -> set: class Day(AOCDay): - test_solutions_p1 = [15, 545] - test_solutions_p2 = [1134, 950600] + inputs = [ + [ + (15, "test_input09"), + (545, "input09") + ], + [ + (1134, "test_input09"), + (950600, "input09") + ] + ] def part1(self) -> Any: caveMap = getCaveMapFromInput(self.getInput()) @@ -48,3 +56,8 @@ class Day(AOCDay): basins = list(sorted([getBasin(caveMap, point, set()) for point in lowPoints], key=lambda l: len(l))) return len(basins[-1]) * len(basins[-2]) * len(basins[-3]) + + +if __name__ == '__main__': + day = Day(9) + day.run(verbose=True) diff --git a/day10.py b/day10.py index cd63a3d..fd7b7f1 100644 --- a/day10.py +++ b/day10.py @@ -23,8 +23,16 @@ def parse_line(line: str) -> (bool, List[str], str): # (corrupt, expected_closi class Day(AOCDay): - test_solutions_p1 = [26397, 168417] - test_solutions_p2 = [288957, 2802519786] + inputs = [ + [ + (26397, "test_input10"), + (168417, "input10") + ], + [ + (288957, "test_input10"), + (2802519786, "input10") + ] + ] def part1(self) -> Any: char_scores = {")": 3, "]": 57, "}": 1197, ">": 25137} @@ -50,3 +58,8 @@ class Day(AOCDay): scores.append(line_score) return list(sorted(scores))[len(scores) // 2] + + +if __name__ == '__main__': + day = Day(10) + day.run(verbose=True) diff --git a/day11.py b/day11.py index d18ba07..8fb38ee 100644 --- a/day11.py +++ b/day11.py @@ -33,8 +33,16 @@ def flashGrid(grid: Grid) -> int: class Day(AOCDay): - test_solutions_p1 = [1656, 1601] - test_solutions_p2 = [195, 368] + inputs = [ + [ + (1656, "test_input11"), + (1601, "input11") + ], + [ + (195, "test_input11"), + (368, "input11") + ] + ] def part1(self) -> Any: grid = getOctopusGrid(self.getInput()) @@ -48,3 +56,8 @@ class Day(AOCDay): flashGrid(grid) return step_count + + +if __name__ == '__main__': + day = Day(11) + day.run(verbose=True) diff --git a/day12.py b/day12.py index 7d14b14..59f0d85 100644 --- a/day12.py +++ b/day12.py @@ -36,8 +36,20 @@ def getPaths(caveMap: Dict[str, List[str]], start: str, visited: set, noDouble: class Day(AOCDay): - test_solutions_p1 = [10, 19, 226, 5076] - test_solutions_p2 = [36, 103, 3509, 145643] + inputs = [ + [ + (10, "test_input12"), + (19, "test_input12_2"), + (226, "test_input12_3"), + (5076, "input12") + ], + [ + (36, "test_input12"), + (103, "test_input12_2"), + (3509, "test_input12_3"), + (145643, "input12") + ] + ] def part1(self) -> Any: caveMap = getCaveMap(self.getInputAsArraySplit("-")) @@ -46,3 +58,8 @@ class Day(AOCDay): def part2(self) -> Any: caveMap = getCaveMap(self.getInputAsArraySplit("-")) return getPaths(caveMap, 'start', set(), False) + + +if __name__ == '__main__': + day = Day(12) + day.run(verbose=True) diff --git a/day13.py b/day13.py index 767ead0..0bbc626 100644 --- a/day13.py +++ b/day13.py @@ -31,8 +31,15 @@ def fold(grid: Grid, direction: str, axis: int): class Day(AOCDay): - test_solutions_p1 = [17, 701] - test_solutions_p2 = [] + inputs = [ + [ + (17, "test_input13"), + (701, "input13") + ], + [ + ("see image above", "input13") + ] + ] def part1(self) -> Any: coords, folds = self.getMultiLineInputAsArray() @@ -54,3 +61,8 @@ class Day(AOCDay): grid.print(true_char='#') return "see image above" + + +if __name__ == '__main__': + day = Day(13) + day.run(verbose=True) diff --git a/day14.py b/day14.py index 328c8d3..1f1b87d 100644 --- a/day14.py +++ b/day14.py @@ -35,11 +35,24 @@ def insert(count: int, pairs: Dict[str, int], charcount: Dict[str, int], inserts class Day(AOCDay): - test_solutions_p1 = [1588, 3230] - test_solutions_p2 = [2188189693529, 3542388214529] + inputs = [ + [ + (1588, "test_input14"), + (3230, "input14") + ], + [ + (2188189693529, "test_input14"), + (3542388214529, "input14") + ] + ] def part1(self) -> Any: return insert(10, *getInitialDicts(self.getInput())) def part2(self) -> Any: return insert(40, *getInitialDicts(self.getInput())) + + +if __name__ == '__main__': + day = Day(14) + day.run(verbose=True) diff --git a/day15.py b/day15.py index 1e3f2fb..c35f609 100644 --- a/day15.py +++ b/day15.py @@ -25,8 +25,16 @@ def getGrid(lines: List[str], multiply: bool = False) -> Grid: class Day(AOCDay): - test_solutions_p1 = [40, 386] - test_solutions_p2 = [315, 2806] + inputs = [ + [ + (40, "test_input15"), + (386, "input15") + ], + [ + (315, "test_input15"), + (2806, "input15") + ] + ] def part1(self) -> Any: grid = getGrid(self.getInput()) @@ -37,3 +45,8 @@ class Day(AOCDay): grid = getGrid(self.getInput(), True) path = grid.getPath(Coordinate(0, 0), Coordinate(grid.maxX, grid.maxY), includeDiagonal=False, weighted=True) return sum(grid.get(c) for c in path[:-1]) + + +if __name__ == '__main__': + day = Day(15) + day.run(verbose=True) diff --git a/day16.py b/day16.py index cd3f5a2..6bdc430 100644 --- a/day16.py +++ b/day16.py @@ -62,8 +62,26 @@ class Packet: class Day(AOCDay): - test_solutions_p1 = [16, 12, 23, 31, 1007] - test_solutions_p2 = [3, 54, 7, 9, 1, 0, 0, 1, 834151779165] + inputs = [ + [ + (16, "test_input16_1_0"), + (12, "test_input16_1_1"), + (23, "test_input16_1_2"), + (31, "test_input16_1_3"), + (1007, "input16") + ], + [ + (3, "test_input16_2_0"), + (54, "test_input16_2_1"), + (7, "test_input16_2_2"), + (9, "test_input16_2_3"), + (True, "test_input16_2_4"), + (False, "test_input16_2_5"), + (False, "test_input16_2_6"), + (True, "test_input16_2_7"), + (834151779165, "input16") + ] + ] def getBits(self) -> str: bits = bin(int(self.getInput(), 16))[2:] @@ -74,3 +92,8 @@ class Day(AOCDay): def part2(self) -> Any: return Packet(self.getBits()).get_value() + + +if __name__ == '__main__': + day = Day(16) + day.run(verbose=True) diff --git a/day17.py b/day17.py index b236724..2ebc52a 100644 --- a/day17.py +++ b/day17.py @@ -23,8 +23,16 @@ def fire(velX: int, velY: int, minX: int, maxX: int, minY: int, maxY: int) -> (b class Day(AOCDay): - test_solutions_p1 = [45, 5151] - test_solutions_p2 = [112, 968] + inputs = [ + [ + (45, "test_input17"), + (5151, "input17") + ], + [ + (112, "test_input17"), + (968, "input17") + ] + ] def getBoundaries(self) -> (int, int, int, int): _, xRange, yRange = self.getInput().split("=") @@ -44,3 +52,8 @@ class Day(AOCDay): hitCounter += fire(x, y, minX, maxX, minY, maxY)[0] return hitCounter + + +if __name__ == '__main__': + day = Day(17) + day.run(verbose=True) diff --git a/day18.py b/day18.py index 27441c1..521f5b5 100644 --- a/day18.py +++ b/day18.py @@ -213,8 +213,16 @@ class BinarySnailfish: class Day(AOCDay): - test_solutions_p1 = [4140, 4417] - test_solutions_p2 = [3993, 4796] + inputs = [ + [ + (4140, "test_input18"), + (4417, "input18") + ], + [ + (3993, "test_input18"), + (4796, "input18") + ] + ] def part1(self) -> Any: snailfishes = [Snailfish(x) for x in self.getInput()] @@ -230,3 +238,8 @@ class Day(AOCDay): max_mag = max(max_mag, sub_mag_a, sub_mag_b) return max_mag + + +if __name__ == '__main__': + day = Day(18) + day.run(verbose=True) diff --git a/day19.py b/day19.py index 703470c..48194fc 100644 --- a/day19.py +++ b/day19.py @@ -58,10 +58,18 @@ def converge(scanner_grids: List[Grid]) -> (Grid, List[Coordinate]): class Day(AOCDay): - test_solutions_p1 = [79, 465] - test_solutions_p2 = [3621, 12149] + inputs = [ + [ + (79, "test_input19"), + (465, "input19") + ], + [ + (3621, "test_input19"), + (12149, "input19") + ] + ] - def part1(self) -> Any: + def getScannerGrids(self) -> List[Grid]: scanner_grids = [] for scanner_input in self.getMultiLineInputAsArray(): scanner_grid = Grid() @@ -69,22 +77,23 @@ class Day(AOCDay): for l in scanner_input[1:]: scanner_grid.set(Coordinate(*map(int, l.split(",")))) scanner_grids.append(scanner_grid) - teh_grid, _ = converge(scanner_grids) + + return scanner_grids + + def part1(self) -> Any: + teh_grid, _ = converge(self.getScannerGrids()) return len(teh_grid.getActiveCells()) def part2(self) -> Any: - scanner_grids = [] - for scanner_input in self.getMultiLineInputAsArray(): - scanner_grid = Grid() - scanner_grid.name = scanner_input[0] - for l in scanner_input[1:]: - scanner_grid.set(Coordinate(*map(int, l.split(",")))) - scanner_grids.append(scanner_grid) - - _, diff_list = converge(scanner_grids) + _, diff_list = converge(self.getScannerGrids()) max_diff = 0 for s1, s2 in combinations(diff_list, 2): max_diff = max(max_diff, s1.getDistanceTo(s2, includeDiagonals=False, algorithm=DistanceAlgorithm.MANHATTAN)) return max_diff + + +if __name__ == '__main__': + day = Day(19) + day.run(verbose=True) diff --git a/day20.py b/day20.py index 2096cd7..84bd41a 100644 --- a/day20.py +++ b/day20.py @@ -28,8 +28,16 @@ def enhance(image: Grid, enhancements: List[bool], count: int) -> Grid: class Day(AOCDay): - test_solutions_p1 = [35, 5425] - test_solutions_p2 = [3351, 14052] + inputs = [ + [ + (35, "test_input20"), + (5425, "input20") + ], + [ + (3351, "test_input20"), + (14052, "input20") + ] + ] def getInputs(self) -> (Grid, List[bool]): enhancement, image = self.getMultiLineInputAsArray() @@ -50,3 +58,8 @@ class Day(AOCDay): image, enhancement = self.getInputs() image = enhance(image, enhancement, 50) return image.getSum() + + +if __name__ == '__main__': + day = Day(20) + day.run(verbose=True) diff --git a/day21.py b/day21.py index 5075752..8943e3c 100644 --- a/day21.py +++ b/day21.py @@ -25,8 +25,16 @@ def roll(pos1: int, pos2: int, score1: int = 0, score2: int = 0) -> (int, int): class Day(AOCDay): - test_solutions_p1 = [739785, 551901] - test_solutions_p2 = [444356092776315, 272847859601291] + inputs = [ + [ + (739785, "test_input21"), + (551901, "input21") + ], + [ + (444356092776315, "test_input21"), + (272847859601291, "input21") + ] + ] def part1(self) -> Any: pos = list(map(int, [x.split(": ")[1] for x in self.getInput()])) @@ -53,3 +61,8 @@ class Day(AOCDay): pos1, pos2 = map(int, [x.split(": ")[1] for x in self.getInput()]) wins1, wins2 = roll(pos1, pos2) return max(wins1, wins2) + + +if __name__ == '__main__': + day = Day(21) + day.run(verbose=True) diff --git a/day22.py b/day22.py index a9d3c6d..9173dda 100644 --- a/day22.py +++ b/day22.py @@ -64,8 +64,17 @@ class Cube: class Day(AOCDay): - test_solutions_p1 = [39, 590784, 570915] - test_solutions_p2 = [2758514936282235, 1268313839428137] + inputs = [ + [ + (39, "test_input22_1_0"), + (590784, "test_input22_1_1"), + (570915, "input22") + ], + [ + (2758514936282235, "test_input22_2_0"), + (1268313839428137, "input22") + ] + ] def getCubeList(self, part1: bool = False): for line in self.getInput(): @@ -101,3 +110,8 @@ class Day(AOCDay): def part2(self) -> Any: return self.getOnSum() + + +if __name__ == '__main__': + day = Day(22) + day.run(verbose=True) diff --git a/day23.py b/day23.py index 51ab447..df243cc 100644 --- a/day23.py +++ b/day23.py @@ -68,7 +68,7 @@ def isFinalPosition(position): return True -def play(position, depth=0): +def play(position, DP, depth=0): if str(position) in DP: return DP[str(position)] @@ -79,7 +79,7 @@ def play(position, depth=0): new_pos[move[1]] = new_pos[move[0]] new_pos[move[0]] = 0 if not isFinalPosition(new_pos): - move_cost += play(new_pos, depth+1) + move_cost += play(new_pos, DP, depth+1) if move_cost < minCost: minCost = move_cost @@ -87,12 +87,17 @@ def play(position, depth=0): return minCost -DP = {} - - class Day(AOCDay): - test_solutions_p1 = [12521, 12530] - test_solutions_p2 = [44169, 50492] + inputs = [ + [ + (12521, "test_input23"), + (12530, "input23") + ], + [ + (44169, "test_input23"), + (50492, "input23") + ] + ] def getStartingPosition(self, part2=False): positions = {} @@ -114,8 +119,13 @@ class Day(AOCDay): def part1(self) -> Any: initPos = self.getStartingPosition() - return play(initPos) + return play(initPos, {}) def part2(self) -> Any: initPos = self.getStartingPosition(part2=True) - return play(initPos) + return play(initPos, {}) + + +if __name__ == '__main__': + day = Day(23) + day.run(verbose=True) diff --git a/day24.py b/day24.py index dbbd87d..13a9f46 100644 --- a/day24.py +++ b/day24.py @@ -38,8 +38,14 @@ def getTheNumberFast(pushpull, adders, subbers, part2=False): class Day(AOCDay): - test_solutions_p1 = [99598963999971] - test_solutions_p2 = [93151411711211] + inputs = [ + [ + (99598963999971, "input24") + ], + [ + (93151411711211, "input24") + ] + ] def getInputNumbers(self): pushpull = [] @@ -69,3 +75,8 @@ class Day(AOCDay): def part2(self) -> Any: pushpull, adders, subbers = self.getInputNumbers() return getTheNumberFast(pushpull, adders, subbers, part2=True) + + +if __name__ == '__main__': + day = Day(24) + day.run(verbose=True) diff --git a/day25.py b/day25.py index 132e992..d5bf0bd 100644 --- a/day25.py +++ b/day25.py @@ -1,13 +1,17 @@ from tools.aoc import AOCDay -from typing import Any - from tools.coordinate import Coordinate from tools.grid import Grid +from typing import Any class Day(AOCDay): - test_solutions_p1 = [58, 351] - test_solutions_p2 = [] + inputs = [ + [ + (58, "test_input25_1_0"), + (351, "input25") + ], + [] + ] def part1(self) -> Any: grid = Grid(' ') @@ -58,3 +62,8 @@ class Day(AOCDay): def part2(self) -> Any: return "No parr2 on the 25." + + +if __name__ == '__main__': + day = Day(25) + day.run(verbose=True) diff --git a/inputs/test_input01_1_0 b/inputs/test_input01 similarity index 100% rename from inputs/test_input01_1_0 rename to inputs/test_input01 diff --git a/inputs/test_input01_1_1 b/inputs/test_input01_1_1 deleted file mode 100644 index d7b0d0d..0000000 --- a/inputs/test_input01_1_1 +++ /dev/null @@ -1,2000 +0,0 @@ -127 -147 -148 -147 -146 -153 -154 -167 -184 -181 -194 -183 -188 -195 -193 -207 -208 -220 -222 -234 -226 -247 -248 -253 -257 -250 -251 -285 -293 -294 -314 -311 -305 -312 -318 -321 -322 -344 -353 -354 -383 -391 -393 -394 -369 -373 -377 -378 -385 -388 -400 -402 -414 -422 -435 -414 -422 -436 -446 -455 -463 -478 -483 -482 -499 -495 -501 -506 -507 -509 -529 -522 -526 -527 -530 -529 -535 -536 -520 -525 -516 -518 -524 -525 -519 -520 -525 -531 -539 -551 -555 -579 -583 -594 -593 -594 -611 -610 -613 -616 -630 -637 -645 -641 -644 -646 -659 -671 -672 -676 -678 -682 -686 -688 -694 -720 -725 -735 -741 -742 -748 -745 -747 -752 -775 -776 -778 -777 -791 -797 -799 -800 -801 -806 -802 -804 -808 -817 -815 -817 -825 -830 -838 -839 -848 -849 -856 -861 -868 -875 -881 -875 -877 -858 -867 -861 -865 -855 -856 -857 -858 -859 -863 -866 -860 -871 -884 -882 -893 -904 -905 -917 -938 -951 -957 -958 -963 -967 -979 -980 -979 -980 -995 -994 -992 -994 -996 -998 -1007 -992 -1026 -1027 -1019 -1024 -1023 -1039 -1026 -1038 -1045 -1050 -1059 -1056 -1059 -1060 -1057 -1058 -1060 -1072 -1092 -1101 -1110 -1116 -1155 -1166 -1187 -1189 -1190 -1202 -1207 -1208 -1224 -1239 -1237 -1243 -1242 -1261 -1284 -1283 -1284 -1283 -1298 -1287 -1283 -1280 -1277 -1280 -1309 -1314 -1315 -1321 -1323 -1324 -1332 -1356 -1358 -1360 -1363 -1364 -1365 -1367 -1366 -1382 -1398 -1400 -1407 -1421 -1444 -1449 -1461 -1464 -1465 -1471 -1475 -1466 -1475 -1476 -1479 -1494 -1500 -1519 -1521 -1531 -1539 -1533 -1544 -1547 -1561 -1562 -1561 -1574 -1580 -1581 -1588 -1589 -1591 -1604 -1600 -1601 -1606 -1607 -1614 -1599 -1604 -1606 -1605 -1611 -1612 -1615 -1616 -1618 -1619 -1621 -1624 -1639 -1643 -1637 -1644 -1645 -1644 -1639 -1652 -1665 -1677 -1683 -1687 -1694 -1700 -1706 -1696 -1691 -1727 -1728 -1732 -1739 -1751 -1749 -1762 -1774 -1773 -1769 -1770 -1774 -1766 -1767 -1775 -1759 -1760 -1759 -1770 -1776 -1777 -1781 -1782 -1783 -1784 -1785 -1796 -1805 -1807 -1808 -1809 -1810 -1806 -1803 -1805 -1806 -1808 -1807 -1794 -1796 -1818 -1824 -1827 -1830 -1818 -1831 -1834 -1844 -1846 -1857 -1865 -1866 -1888 -1890 -1891 -1895 -1904 -1912 -1910 -1911 -1931 -1929 -1933 -1944 -1946 -1958 -1968 -1982 -1983 -1980 -1957 -1961 -1968 -1966 -1968 -1970 -1975 -1978 -1983 -1991 -1995 -1997 -2017 -2018 -2022 -2025 -2038 -2039 -2042 -2068 -2065 -2068 -2070 -2071 -2079 -2081 -2084 -2085 -2086 -2100 -2104 -2106 -2107 -2116 -2125 -2129 -2131 -2132 -2133 -2141 -2128 -2121 -2113 -2103 -2120 -2117 -2119 -2120 -2135 -2136 -2148 -2151 -2133 -2134 -2140 -2150 -2166 -2167 -2169 -2172 -2175 -2178 -2187 -2188 -2189 -2186 -2187 -2206 -2239 -2238 -2244 -2238 -2239 -2207 -2208 -2209 -2210 -2211 -2210 -2217 -2219 -2220 -2222 -2224 -2229 -2234 -2237 -2234 -2240 -2237 -2239 -2245 -2244 -2245 -2239 -2238 -2263 -2266 -2269 -2278 -2291 -2292 -2295 -2296 -2298 -2299 -2306 -2310 -2321 -2326 -2335 -2338 -2339 -2340 -2345 -2350 -2354 -2355 -2374 -2373 -2379 -2381 -2396 -2394 -2400 -2405 -2411 -2412 -2423 -2426 -2431 -2432 -2428 -2429 -2444 -2459 -2470 -2454 -2458 -2460 -2464 -2468 -2482 -2483 -2487 -2509 -2505 -2507 -2487 -2504 -2499 -2508 -2540 -2550 -2551 -2554 -2555 -2537 -2541 -2529 -2525 -2533 -2534 -2535 -2536 -2511 -2518 -2537 -2536 -2549 -2550 -2563 -2594 -2597 -2602 -2608 -2619 -2638 -2642 -2645 -2649 -2654 -2667 -2672 -2689 -2710 -2713 -2730 -2726 -2731 -2739 -2733 -2722 -2720 -2722 -2723 -2724 -2733 -2743 -2759 -2743 -2741 -2742 -2751 -2757 -2759 -2761 -2771 -2810 -2805 -2815 -2820 -2822 -2825 -2822 -2836 -2838 -2839 -2837 -2845 -2850 -2853 -2879 -2881 -2886 -2888 -2907 -2908 -2909 -2911 -2924 -2925 -2928 -2929 -2930 -2946 -2947 -2949 -2954 -2936 -2944 -2947 -2953 -2954 -2956 -2971 -2976 -2977 -2968 -2967 -2972 -2973 -2977 -2970 -2975 -2987 -2997 -2996 -2998 -2993 -2996 -2997 -2999 -3031 -3028 -3039 -3043 -3045 -3026 -3028 -3036 -3044 -3046 -3019 -3023 -3020 -3021 -3023 -3025 -3037 -3038 -3039 -3062 -3063 -3081 -3086 -3081 -3082 -3083 -3098 -3105 -3106 -3108 -3110 -3107 -3116 -3125 -3139 -3137 -3143 -3144 -3145 -3159 -3162 -3172 -3173 -3172 -3173 -3174 -3182 -3183 -3177 -3185 -3175 -3178 -3179 -3195 -3210 -3201 -3205 -3202 -3203 -3191 -3188 -3197 -3198 -3206 -3215 -3233 -3240 -3243 -3253 -3254 -3264 -3267 -3289 -3267 -3271 -3280 -3290 -3308 -3307 -3308 -3316 -3320 -3311 -3318 -3331 -3343 -3357 -3358 -3360 -3389 -3402 -3403 -3405 -3407 -3420 -3380 -3372 -3374 -3380 -3357 -3356 -3361 -3356 -3364 -3365 -3366 -3367 -3386 -3387 -3388 -3389 -3406 -3407 -3409 -3413 -3416 -3441 -3443 -3441 -3442 -3446 -3448 -3454 -3453 -3457 -3461 -3467 -3459 -3469 -3482 -3497 -3490 -3497 -3495 -3494 -3495 -3496 -3498 -3494 -3510 -3515 -3535 -3536 -3535 -3544 -3562 -3557 -3546 -3553 -3557 -3558 -3555 -3562 -3571 -3573 -3575 -3591 -3590 -3591 -3592 -3598 -3600 -3608 -3609 -3648 -3653 -3654 -3657 -3655 -3657 -3660 -3669 -3670 -3671 -3667 -3669 -3674 -3676 -3683 -3687 -3688 -3699 -3720 -3719 -3720 -3726 -3729 -3734 -3737 -3757 -3767 -3773 -3774 -3778 -3780 -3779 -3777 -3781 -3782 -3801 -3800 -3798 -3802 -3803 -3806 -3817 -3819 -3834 -3837 -3838 -3839 -3837 -3846 -3850 -3851 -3868 -3865 -3890 -3893 -3895 -3889 -3884 -3886 -3887 -3884 -3886 -3903 -3905 -3906 -3909 -3911 -3922 -3927 -3943 -3953 -3959 -3961 -3960 -3954 -3933 -3932 -3939 -3941 -3942 -3941 -3950 -3951 -3971 -3947 -3953 -3962 -3996 -4017 -4032 -4036 -4040 -4067 -4068 -4073 -4096 -4098 -4097 -4093 -4115 -4118 -4119 -4144 -4148 -4149 -4161 -4173 -4177 -4182 -4185 -4186 -4196 -4184 -4196 -4198 -4210 -4214 -4210 -4217 -4195 -4206 -4192 -4193 -4205 -4208 -4184 -4203 -4204 -4205 -4211 -4205 -4206 -4182 -4193 -4195 -4196 -4212 -4213 -4216 -4215 -4222 -4232 -4230 -4251 -4255 -4256 -4271 -4281 -4279 -4292 -4295 -4301 -4302 -4303 -4285 -4288 -4292 -4294 -4296 -4299 -4282 -4285 -4290 -4318 -4331 -4340 -4335 -4329 -4335 -4347 -4379 -4388 -4375 -4384 -4411 -4415 -4416 -4418 -4416 -4428 -4430 -4431 -4432 -4420 -4436 -4439 -4446 -4458 -4459 -4472 -4468 -4493 -4495 -4468 -4469 -4474 -4475 -4502 -4505 -4516 -4522 -4518 -4519 -4532 -4535 -4540 -4534 -4530 -4534 -4535 -4538 -4544 -4543 -4546 -4543 -4545 -4548 -4550 -4557 -4559 -4560 -4555 -4569 -4576 -4579 -4597 -4596 -4603 -4597 -4596 -4620 -4619 -4617 -4602 -4605 -4606 -4612 -4625 -4626 -4651 -4647 -4650 -4649 -4668 -4674 -4686 -4687 -4695 -4723 -4726 -4739 -4752 -4754 -4765 -4781 -4809 -4797 -4799 -4797 -4796 -4799 -4802 -4804 -4807 -4808 -4809 -4810 -4811 -4820 -4828 -4829 -4830 -4833 -4825 -4829 -4830 -4839 -4844 -4848 -4849 -4858 -4882 -4877 -4878 -4882 -4883 -4869 -4871 -4872 -4876 -4879 -4880 -4878 -4880 -4899 -4921 -4922 -4919 -4920 -4915 -4916 -4917 -4938 -4939 -4940 -4938 -4941 -4943 -4944 -4947 -4967 -4968 -4981 -4982 -4983 -4993 -4994 -4995 -5000 -5001 -5007 -5008 -5007 -5000 -5017 -5026 -5040 -5048 -5050 -5046 -5084 -5083 -5089 -5097 -5101 -5061 -5060 -5078 -5079 -5095 -5096 -5102 -5129 -5126 -5127 -5125 -5127 -5128 -5123 -5129 -5132 -5146 -5156 -5157 -5182 -5198 -5201 -5208 -5211 -5212 -5215 -5217 -5200 -5204 -5205 -5207 -5212 -5218 -5206 -5207 -5214 -5220 -5230 -5236 -5241 -5240 -5245 -5246 -5242 -5240 -5239 -5242 -5232 -5230 -5225 -5232 -5226 -5221 -5224 -5234 -5240 -5263 -5268 -5301 -5303 -5310 -5311 -5332 -5337 -5338 -5339 -5324 -5341 -5346 -5323 -5324 -5325 -5329 -5330 -5331 -5338 -5360 -5361 -5371 -5373 -5362 -5375 -5387 -5393 -5387 -5396 -5417 -5418 -5421 -5422 -5404 -5405 -5412 -5414 -5413 -5444 -5445 -5446 -5447 -5453 -5463 -5473 -5478 -5480 -5484 -5479 -5489 -5494 -5484 -5506 -5500 -5510 -5512 -5519 -5520 -5518 -5523 -5524 -5529 -5533 -5520 -5521 -5522 -5521 -5530 -5535 -5550 -5551 -5544 -5551 -5552 -5549 -5550 -5551 -5547 -5589 -5603 -5612 -5614 -5623 -5622 -5624 -5617 -5639 -5641 -5627 -5630 -5634 -5641 -5646 -5648 -5655 -5679 -5665 -5666 -5669 -5687 -5688 -5692 -5690 -5688 -5691 -5695 -5696 -5697 -5699 -5698 -5715 -5716 -5717 -5744 -5741 -5750 -5743 -5712 -5716 -5717 -5743 -5746 -5749 -5751 -5752 -5761 -5767 -5769 -5784 -5785 -5786 -5784 -5786 -5787 -5790 -5799 -5807 -5808 -5826 -5828 -5826 -5837 -5856 -5876 -5877 -5879 -5887 -5890 -5892 -5894 -5911 -5922 -5935 -5936 -5942 -5950 -5966 -5985 -5986 -5976 -5979 -5976 -5984 -5950 -5951 -5955 -5964 -5965 -5969 -5974 -5990 -6008 -6038 -6045 -6051 -6060 -6066 -6070 -6105 -6120 -6121 -6127 -6149 -6150 -6157 -6162 -6163 -6165 -6185 -6186 -6190 -6191 -6218 -6235 -6250 -6231 -6239 -6229 -6237 -6240 -6241 -6243 -6249 -6264 -6251 -6257 -6276 -6279 -6271 -6290 -6292 -6290 -6293 -6294 -6287 -6289 -6290 -6291 -6293 -6294 -6300 -6295 -6296 -6303 -6332 -6334 -6333 -6340 -6341 -6344 -6345 -6346 -6352 -6356 -6355 -6368 -6370 -6361 -6362 -6359 -6361 -6362 -6368 -6364 -6373 -6374 -6383 -6384 -6385 -6384 -6389 -6388 -6389 -6404 -6410 -6415 -6407 -6406 -6405 -6402 -6407 -6413 -6412 -6398 -6384 -6386 -6407 -6408 -6409 -6408 -6418 -6415 -6416 -6418 -6427 -6434 -6458 -6455 -6456 -6457 -6458 -6468 -6463 -6454 -6455 -6459 -6460 -6464 -6471 -6463 -6480 -6467 -6468 -6470 -6462 -6463 -6464 -6462 -6461 -6463 -6471 -6482 -6459 -6460 -6462 -6469 -6484 -6479 -6481 -6492 -6502 -6477 -6483 -6486 -6488 -6466 -6467 -6463 -6444 -6464 -6466 -6482 -6497 -6498 -6511 -6512 -6517 -6522 -6521 -6524 -6547 -6549 -6553 -6557 -6562 -6563 -6567 -6596 -6597 -6602 -6588 -6620 -6621 -6613 -6608 -6616 -6632 -6648 -6683 -6688 -6693 -6694 -6697 -6707 -6705 -6710 -6722 -6721 -6717 -6731 -6725 -6733 -6749 -6750 -6751 -6752 -6769 -6770 -6777 -6800 -6825 -6834 -6838 -6839 -6854 -6862 -6863 -6867 -6858 -6854 -6887 -6890 -6891 -6890 -6900 -6899 -6900 -6918 -6922 -6940 -6941 -6946 -6948 -6927 -6928 -6924 -6907 -6910 -6917 -6920 -6931 -6943 -6971 -6973 -6974 -6978 -7001 -7000 -7001 -7017 -7018 -7019 -7020 -7021 -7023 -7027 -6998 -6980 -6979 -6975 -6974 -6984 -6992 -6994 -7003 -7011 -7012 -7029 -7041 -7044 -7063 -7065 -7067 -7069 -7076 -7074 -7076 -7080 -7083 -7086 -7108 -7137 -7141 -7142 -7159 -7160 -7158 -7157 -7165 -7167 -7189 -7193 -7194 -7192 -7196 -7200 -7203 -7209 -7214 -7219 -7209 -7169 -7168 -7169 -7171 -7168 -7170 -7165 -7166 -7176 -7178 -7168 -7165 -7169 -7170 -7171 -7172 -7176 -7177 -7178 -7179 -7174 -7178 -7182 -7158 -7172 -7193 -7199 -7192 -7191 -7194 -7192 -7195 -7199 -7202 -7201 -7216 -7213 -7237 -7256 -7245 -7246 -7249 -7263 -7265 -7262 -7272 -7273 -7294 -7298 -7296 -7300 -7301 -7313 -7314 -7316 -7318 -7326 -7327 -7328 -7330 -7349 -7350 -7366 -7381 -7382 -7383 -7390 -7399 -7382 -7384 -7380 -7381 -7385 -7388 -7402 -7403 -7404 -7405 -7409 -7420 -7424 -7420 -7421 -7426 -7429 -7435 -7425 -7426 -7429 -7452 -7455 -7474 -7469 -7472 -7473 -7466 -7461 -7462 -7470 -7472 -7474 -7480 -7474 -7475 -7473 -7472 -7475 -7484 -7472 -7473 -7489 -7491 -7514 -7516 -7509 -7510 -7513 -7514 -7539 -7549 -7571 -7582 -7570 -7573 -7574 -7575 -7576 -7581 -7589 -7587 -7590 -7592 -7598 -7625 -7627 -7626 -7627 -7633 -7638 -7640 -7641 -7645 -7657 -7669 -7670 -7654 -7681 -7682 -7679 -7689 -7690 -7696 -7709 -7718 -7723 -7721 -7722 -7728 -7751 -7764 -7756 -7747 -7748 -7757 -7766 -7779 -7784 -7785 -7804 -7805 -7808 -7809 -7808 -7834 -7836 -7837 -7853 -7854 -7855 -7866 -7901 -7920 -7930 -7931 -7928 -7931 -7916 -7917 -7947 -7948 -7952 -7948 -7985 -7984 -7988 -7998 -8004 -8017 -8016 -8033 -8035 -8039 -8053 -8062 -8063 -8064 -8068 -8085 -8104 -8103 -8104 -8107 -8113 -8116 -8127 -8129 -8119 -8117 -8139 -8140 -8142 -8151 -8153 -8168 -8169 -8172 -8161 -8162 -8165 -8168 -8176 -8180 -8182 -8188 -8196 -8197 -8209 -8211 -8212 -8219 -8222 -8187 -8191 -8192 -8207 -8208 -8211 -8213 -8196 -8207 -8215 -8214 -8217 -8207 -8208 -8209 -8228 -8233 -8241 -8245 -8257 -8258 -8257 -8258 -8259 -8263 -8269 -8273 -8276 -8274 -8269 -8276 -8279 -8280 -8267 -8263 -8266 -8264 -8266 -8267 -8270 -8272 -8271 -8280 -8286 -8296 -8312 -8314 -8320 -8322 -8335 -8339 -8340 -8338 -8367 -8401 -8415 -8416 -8419 -8420 -8426 -8427 -8425 -8440 -8438 -8447 -8446 -8453 -8486 -8492 -8488 -8503 -8512 -8525 -8523 -8508 -8520 -8522 -8547 -8552 -8542 -8541 -8561 -8562 -8583 -8584 -8585 -8586 -8594 -8593 diff --git a/inputs/test_input01_2_0 b/inputs/test_input01_2_0 deleted file mode 100644 index 167e291..0000000 --- a/inputs/test_input01_2_0 +++ /dev/null @@ -1,10 +0,0 @@ -199 -200 -208 -210 -200 -207 -240 -269 -260 -263 diff --git a/inputs/test_input01_2_1 b/inputs/test_input01_2_1 deleted file mode 100644 index d7b0d0d..0000000 --- a/inputs/test_input01_2_1 +++ /dev/null @@ -1,2000 +0,0 @@ -127 -147 -148 -147 -146 -153 -154 -167 -184 -181 -194 -183 -188 -195 -193 -207 -208 -220 -222 -234 -226 -247 -248 -253 -257 -250 -251 -285 -293 -294 -314 -311 -305 -312 -318 -321 -322 -344 -353 -354 -383 -391 -393 -394 -369 -373 -377 -378 -385 -388 -400 -402 -414 -422 -435 -414 -422 -436 -446 -455 -463 -478 -483 -482 -499 -495 -501 -506 -507 -509 -529 -522 -526 -527 -530 -529 -535 -536 -520 -525 -516 -518 -524 -525 -519 -520 -525 -531 -539 -551 -555 -579 -583 -594 -593 -594 -611 -610 -613 -616 -630 -637 -645 -641 -644 -646 -659 -671 -672 -676 -678 -682 -686 -688 -694 -720 -725 -735 -741 -742 -748 -745 -747 -752 -775 -776 -778 -777 -791 -797 -799 -800 -801 -806 -802 -804 -808 -817 -815 -817 -825 -830 -838 -839 -848 -849 -856 -861 -868 -875 -881 -875 -877 -858 -867 -861 -865 -855 -856 -857 -858 -859 -863 -866 -860 -871 -884 -882 -893 -904 -905 -917 -938 -951 -957 -958 -963 -967 -979 -980 -979 -980 -995 -994 -992 -994 -996 -998 -1007 -992 -1026 -1027 -1019 -1024 -1023 -1039 -1026 -1038 -1045 -1050 -1059 -1056 -1059 -1060 -1057 -1058 -1060 -1072 -1092 -1101 -1110 -1116 -1155 -1166 -1187 -1189 -1190 -1202 -1207 -1208 -1224 -1239 -1237 -1243 -1242 -1261 -1284 -1283 -1284 -1283 -1298 -1287 -1283 -1280 -1277 -1280 -1309 -1314 -1315 -1321 -1323 -1324 -1332 -1356 -1358 -1360 -1363 -1364 -1365 -1367 -1366 -1382 -1398 -1400 -1407 -1421 -1444 -1449 -1461 -1464 -1465 -1471 -1475 -1466 -1475 -1476 -1479 -1494 -1500 -1519 -1521 -1531 -1539 -1533 -1544 -1547 -1561 -1562 -1561 -1574 -1580 -1581 -1588 -1589 -1591 -1604 -1600 -1601 -1606 -1607 -1614 -1599 -1604 -1606 -1605 -1611 -1612 -1615 -1616 -1618 -1619 -1621 -1624 -1639 -1643 -1637 -1644 -1645 -1644 -1639 -1652 -1665 -1677 -1683 -1687 -1694 -1700 -1706 -1696 -1691 -1727 -1728 -1732 -1739 -1751 -1749 -1762 -1774 -1773 -1769 -1770 -1774 -1766 -1767 -1775 -1759 -1760 -1759 -1770 -1776 -1777 -1781 -1782 -1783 -1784 -1785 -1796 -1805 -1807 -1808 -1809 -1810 -1806 -1803 -1805 -1806 -1808 -1807 -1794 -1796 -1818 -1824 -1827 -1830 -1818 -1831 -1834 -1844 -1846 -1857 -1865 -1866 -1888 -1890 -1891 -1895 -1904 -1912 -1910 -1911 -1931 -1929 -1933 -1944 -1946 -1958 -1968 -1982 -1983 -1980 -1957 -1961 -1968 -1966 -1968 -1970 -1975 -1978 -1983 -1991 -1995 -1997 -2017 -2018 -2022 -2025 -2038 -2039 -2042 -2068 -2065 -2068 -2070 -2071 -2079 -2081 -2084 -2085 -2086 -2100 -2104 -2106 -2107 -2116 -2125 -2129 -2131 -2132 -2133 -2141 -2128 -2121 -2113 -2103 -2120 -2117 -2119 -2120 -2135 -2136 -2148 -2151 -2133 -2134 -2140 -2150 -2166 -2167 -2169 -2172 -2175 -2178 -2187 -2188 -2189 -2186 -2187 -2206 -2239 -2238 -2244 -2238 -2239 -2207 -2208 -2209 -2210 -2211 -2210 -2217 -2219 -2220 -2222 -2224 -2229 -2234 -2237 -2234 -2240 -2237 -2239 -2245 -2244 -2245 -2239 -2238 -2263 -2266 -2269 -2278 -2291 -2292 -2295 -2296 -2298 -2299 -2306 -2310 -2321 -2326 -2335 -2338 -2339 -2340 -2345 -2350 -2354 -2355 -2374 -2373 -2379 -2381 -2396 -2394 -2400 -2405 -2411 -2412 -2423 -2426 -2431 -2432 -2428 -2429 -2444 -2459 -2470 -2454 -2458 -2460 -2464 -2468 -2482 -2483 -2487 -2509 -2505 -2507 -2487 -2504 -2499 -2508 -2540 -2550 -2551 -2554 -2555 -2537 -2541 -2529 -2525 -2533 -2534 -2535 -2536 -2511 -2518 -2537 -2536 -2549 -2550 -2563 -2594 -2597 -2602 -2608 -2619 -2638 -2642 -2645 -2649 -2654 -2667 -2672 -2689 -2710 -2713 -2730 -2726 -2731 -2739 -2733 -2722 -2720 -2722 -2723 -2724 -2733 -2743 -2759 -2743 -2741 -2742 -2751 -2757 -2759 -2761 -2771 -2810 -2805 -2815 -2820 -2822 -2825 -2822 -2836 -2838 -2839 -2837 -2845 -2850 -2853 -2879 -2881 -2886 -2888 -2907 -2908 -2909 -2911 -2924 -2925 -2928 -2929 -2930 -2946 -2947 -2949 -2954 -2936 -2944 -2947 -2953 -2954 -2956 -2971 -2976 -2977 -2968 -2967 -2972 -2973 -2977 -2970 -2975 -2987 -2997 -2996 -2998 -2993 -2996 -2997 -2999 -3031 -3028 -3039 -3043 -3045 -3026 -3028 -3036 -3044 -3046 -3019 -3023 -3020 -3021 -3023 -3025 -3037 -3038 -3039 -3062 -3063 -3081 -3086 -3081 -3082 -3083 -3098 -3105 -3106 -3108 -3110 -3107 -3116 -3125 -3139 -3137 -3143 -3144 -3145 -3159 -3162 -3172 -3173 -3172 -3173 -3174 -3182 -3183 -3177 -3185 -3175 -3178 -3179 -3195 -3210 -3201 -3205 -3202 -3203 -3191 -3188 -3197 -3198 -3206 -3215 -3233 -3240 -3243 -3253 -3254 -3264 -3267 -3289 -3267 -3271 -3280 -3290 -3308 -3307 -3308 -3316 -3320 -3311 -3318 -3331 -3343 -3357 -3358 -3360 -3389 -3402 -3403 -3405 -3407 -3420 -3380 -3372 -3374 -3380 -3357 -3356 -3361 -3356 -3364 -3365 -3366 -3367 -3386 -3387 -3388 -3389 -3406 -3407 -3409 -3413 -3416 -3441 -3443 -3441 -3442 -3446 -3448 -3454 -3453 -3457 -3461 -3467 -3459 -3469 -3482 -3497 -3490 -3497 -3495 -3494 -3495 -3496 -3498 -3494 -3510 -3515 -3535 -3536 -3535 -3544 -3562 -3557 -3546 -3553 -3557 -3558 -3555 -3562 -3571 -3573 -3575 -3591 -3590 -3591 -3592 -3598 -3600 -3608 -3609 -3648 -3653 -3654 -3657 -3655 -3657 -3660 -3669 -3670 -3671 -3667 -3669 -3674 -3676 -3683 -3687 -3688 -3699 -3720 -3719 -3720 -3726 -3729 -3734 -3737 -3757 -3767 -3773 -3774 -3778 -3780 -3779 -3777 -3781 -3782 -3801 -3800 -3798 -3802 -3803 -3806 -3817 -3819 -3834 -3837 -3838 -3839 -3837 -3846 -3850 -3851 -3868 -3865 -3890 -3893 -3895 -3889 -3884 -3886 -3887 -3884 -3886 -3903 -3905 -3906 -3909 -3911 -3922 -3927 -3943 -3953 -3959 -3961 -3960 -3954 -3933 -3932 -3939 -3941 -3942 -3941 -3950 -3951 -3971 -3947 -3953 -3962 -3996 -4017 -4032 -4036 -4040 -4067 -4068 -4073 -4096 -4098 -4097 -4093 -4115 -4118 -4119 -4144 -4148 -4149 -4161 -4173 -4177 -4182 -4185 -4186 -4196 -4184 -4196 -4198 -4210 -4214 -4210 -4217 -4195 -4206 -4192 -4193 -4205 -4208 -4184 -4203 -4204 -4205 -4211 -4205 -4206 -4182 -4193 -4195 -4196 -4212 -4213 -4216 -4215 -4222 -4232 -4230 -4251 -4255 -4256 -4271 -4281 -4279 -4292 -4295 -4301 -4302 -4303 -4285 -4288 -4292 -4294 -4296 -4299 -4282 -4285 -4290 -4318 -4331 -4340 -4335 -4329 -4335 -4347 -4379 -4388 -4375 -4384 -4411 -4415 -4416 -4418 -4416 -4428 -4430 -4431 -4432 -4420 -4436 -4439 -4446 -4458 -4459 -4472 -4468 -4493 -4495 -4468 -4469 -4474 -4475 -4502 -4505 -4516 -4522 -4518 -4519 -4532 -4535 -4540 -4534 -4530 -4534 -4535 -4538 -4544 -4543 -4546 -4543 -4545 -4548 -4550 -4557 -4559 -4560 -4555 -4569 -4576 -4579 -4597 -4596 -4603 -4597 -4596 -4620 -4619 -4617 -4602 -4605 -4606 -4612 -4625 -4626 -4651 -4647 -4650 -4649 -4668 -4674 -4686 -4687 -4695 -4723 -4726 -4739 -4752 -4754 -4765 -4781 -4809 -4797 -4799 -4797 -4796 -4799 -4802 -4804 -4807 -4808 -4809 -4810 -4811 -4820 -4828 -4829 -4830 -4833 -4825 -4829 -4830 -4839 -4844 -4848 -4849 -4858 -4882 -4877 -4878 -4882 -4883 -4869 -4871 -4872 -4876 -4879 -4880 -4878 -4880 -4899 -4921 -4922 -4919 -4920 -4915 -4916 -4917 -4938 -4939 -4940 -4938 -4941 -4943 -4944 -4947 -4967 -4968 -4981 -4982 -4983 -4993 -4994 -4995 -5000 -5001 -5007 -5008 -5007 -5000 -5017 -5026 -5040 -5048 -5050 -5046 -5084 -5083 -5089 -5097 -5101 -5061 -5060 -5078 -5079 -5095 -5096 -5102 -5129 -5126 -5127 -5125 -5127 -5128 -5123 -5129 -5132 -5146 -5156 -5157 -5182 -5198 -5201 -5208 -5211 -5212 -5215 -5217 -5200 -5204 -5205 -5207 -5212 -5218 -5206 -5207 -5214 -5220 -5230 -5236 -5241 -5240 -5245 -5246 -5242 -5240 -5239 -5242 -5232 -5230 -5225 -5232 -5226 -5221 -5224 -5234 -5240 -5263 -5268 -5301 -5303 -5310 -5311 -5332 -5337 -5338 -5339 -5324 -5341 -5346 -5323 -5324 -5325 -5329 -5330 -5331 -5338 -5360 -5361 -5371 -5373 -5362 -5375 -5387 -5393 -5387 -5396 -5417 -5418 -5421 -5422 -5404 -5405 -5412 -5414 -5413 -5444 -5445 -5446 -5447 -5453 -5463 -5473 -5478 -5480 -5484 -5479 -5489 -5494 -5484 -5506 -5500 -5510 -5512 -5519 -5520 -5518 -5523 -5524 -5529 -5533 -5520 -5521 -5522 -5521 -5530 -5535 -5550 -5551 -5544 -5551 -5552 -5549 -5550 -5551 -5547 -5589 -5603 -5612 -5614 -5623 -5622 -5624 -5617 -5639 -5641 -5627 -5630 -5634 -5641 -5646 -5648 -5655 -5679 -5665 -5666 -5669 -5687 -5688 -5692 -5690 -5688 -5691 -5695 -5696 -5697 -5699 -5698 -5715 -5716 -5717 -5744 -5741 -5750 -5743 -5712 -5716 -5717 -5743 -5746 -5749 -5751 -5752 -5761 -5767 -5769 -5784 -5785 -5786 -5784 -5786 -5787 -5790 -5799 -5807 -5808 -5826 -5828 -5826 -5837 -5856 -5876 -5877 -5879 -5887 -5890 -5892 -5894 -5911 -5922 -5935 -5936 -5942 -5950 -5966 -5985 -5986 -5976 -5979 -5976 -5984 -5950 -5951 -5955 -5964 -5965 -5969 -5974 -5990 -6008 -6038 -6045 -6051 -6060 -6066 -6070 -6105 -6120 -6121 -6127 -6149 -6150 -6157 -6162 -6163 -6165 -6185 -6186 -6190 -6191 -6218 -6235 -6250 -6231 -6239 -6229 -6237 -6240 -6241 -6243 -6249 -6264 -6251 -6257 -6276 -6279 -6271 -6290 -6292 -6290 -6293 -6294 -6287 -6289 -6290 -6291 -6293 -6294 -6300 -6295 -6296 -6303 -6332 -6334 -6333 -6340 -6341 -6344 -6345 -6346 -6352 -6356 -6355 -6368 -6370 -6361 -6362 -6359 -6361 -6362 -6368 -6364 -6373 -6374 -6383 -6384 -6385 -6384 -6389 -6388 -6389 -6404 -6410 -6415 -6407 -6406 -6405 -6402 -6407 -6413 -6412 -6398 -6384 -6386 -6407 -6408 -6409 -6408 -6418 -6415 -6416 -6418 -6427 -6434 -6458 -6455 -6456 -6457 -6458 -6468 -6463 -6454 -6455 -6459 -6460 -6464 -6471 -6463 -6480 -6467 -6468 -6470 -6462 -6463 -6464 -6462 -6461 -6463 -6471 -6482 -6459 -6460 -6462 -6469 -6484 -6479 -6481 -6492 -6502 -6477 -6483 -6486 -6488 -6466 -6467 -6463 -6444 -6464 -6466 -6482 -6497 -6498 -6511 -6512 -6517 -6522 -6521 -6524 -6547 -6549 -6553 -6557 -6562 -6563 -6567 -6596 -6597 -6602 -6588 -6620 -6621 -6613 -6608 -6616 -6632 -6648 -6683 -6688 -6693 -6694 -6697 -6707 -6705 -6710 -6722 -6721 -6717 -6731 -6725 -6733 -6749 -6750 -6751 -6752 -6769 -6770 -6777 -6800 -6825 -6834 -6838 -6839 -6854 -6862 -6863 -6867 -6858 -6854 -6887 -6890 -6891 -6890 -6900 -6899 -6900 -6918 -6922 -6940 -6941 -6946 -6948 -6927 -6928 -6924 -6907 -6910 -6917 -6920 -6931 -6943 -6971 -6973 -6974 -6978 -7001 -7000 -7001 -7017 -7018 -7019 -7020 -7021 -7023 -7027 -6998 -6980 -6979 -6975 -6974 -6984 -6992 -6994 -7003 -7011 -7012 -7029 -7041 -7044 -7063 -7065 -7067 -7069 -7076 -7074 -7076 -7080 -7083 -7086 -7108 -7137 -7141 -7142 -7159 -7160 -7158 -7157 -7165 -7167 -7189 -7193 -7194 -7192 -7196 -7200 -7203 -7209 -7214 -7219 -7209 -7169 -7168 -7169 -7171 -7168 -7170 -7165 -7166 -7176 -7178 -7168 -7165 -7169 -7170 -7171 -7172 -7176 -7177 -7178 -7179 -7174 -7178 -7182 -7158 -7172 -7193 -7199 -7192 -7191 -7194 -7192 -7195 -7199 -7202 -7201 -7216 -7213 -7237 -7256 -7245 -7246 -7249 -7263 -7265 -7262 -7272 -7273 -7294 -7298 -7296 -7300 -7301 -7313 -7314 -7316 -7318 -7326 -7327 -7328 -7330 -7349 -7350 -7366 -7381 -7382 -7383 -7390 -7399 -7382 -7384 -7380 -7381 -7385 -7388 -7402 -7403 -7404 -7405 -7409 -7420 -7424 -7420 -7421 -7426 -7429 -7435 -7425 -7426 -7429 -7452 -7455 -7474 -7469 -7472 -7473 -7466 -7461 -7462 -7470 -7472 -7474 -7480 -7474 -7475 -7473 -7472 -7475 -7484 -7472 -7473 -7489 -7491 -7514 -7516 -7509 -7510 -7513 -7514 -7539 -7549 -7571 -7582 -7570 -7573 -7574 -7575 -7576 -7581 -7589 -7587 -7590 -7592 -7598 -7625 -7627 -7626 -7627 -7633 -7638 -7640 -7641 -7645 -7657 -7669 -7670 -7654 -7681 -7682 -7679 -7689 -7690 -7696 -7709 -7718 -7723 -7721 -7722 -7728 -7751 -7764 -7756 -7747 -7748 -7757 -7766 -7779 -7784 -7785 -7804 -7805 -7808 -7809 -7808 -7834 -7836 -7837 -7853 -7854 -7855 -7866 -7901 -7920 -7930 -7931 -7928 -7931 -7916 -7917 -7947 -7948 -7952 -7948 -7985 -7984 -7988 -7998 -8004 -8017 -8016 -8033 -8035 -8039 -8053 -8062 -8063 -8064 -8068 -8085 -8104 -8103 -8104 -8107 -8113 -8116 -8127 -8129 -8119 -8117 -8139 -8140 -8142 -8151 -8153 -8168 -8169 -8172 -8161 -8162 -8165 -8168 -8176 -8180 -8182 -8188 -8196 -8197 -8209 -8211 -8212 -8219 -8222 -8187 -8191 -8192 -8207 -8208 -8211 -8213 -8196 -8207 -8215 -8214 -8217 -8207 -8208 -8209 -8228 -8233 -8241 -8245 -8257 -8258 -8257 -8258 -8259 -8263 -8269 -8273 -8276 -8274 -8269 -8276 -8279 -8280 -8267 -8263 -8266 -8264 -8266 -8267 -8270 -8272 -8271 -8280 -8286 -8296 -8312 -8314 -8320 -8322 -8335 -8339 -8340 -8338 -8367 -8401 -8415 -8416 -8419 -8420 -8426 -8427 -8425 -8440 -8438 -8447 -8446 -8453 -8486 -8492 -8488 -8503 -8512 -8525 -8523 -8508 -8520 -8522 -8547 -8552 -8542 -8541 -8561 -8562 -8583 -8584 -8585 -8586 -8594 -8593 diff --git a/inputs/test_input02_1_0 b/inputs/test_input02 similarity index 100% rename from inputs/test_input02_1_0 rename to inputs/test_input02 diff --git a/inputs/test_input02_1_1 b/inputs/test_input02_1_1 deleted file mode 100644 index e7e260a..0000000 --- a/inputs/test_input02_1_1 +++ /dev/null @@ -1,1000 +0,0 @@ -forward 7 -forward 9 -forward 3 -down 5 -down 9 -forward 6 -down 2 -forward 2 -forward 8 -forward 3 -forward 5 -forward 5 -forward 8 -down 6 -forward 8 -forward 2 -up 8 -down 8 -forward 6 -down 4 -down 5 -forward 2 -down 6 -forward 7 -down 9 -forward 9 -down 2 -down 7 -up 6 -up 3 -up 7 -down 9 -forward 1 -forward 1 -down 4 -down 9 -forward 4 -up 4 -forward 8 -forward 9 -down 7 -down 4 -up 6 -down 8 -down 2 -forward 8 -forward 6 -down 3 -forward 2 -forward 6 -down 3 -forward 1 -forward 8 -down 8 -down 9 -forward 5 -forward 4 -forward 8 -down 7 -forward 4 -forward 3 -forward 6 -down 3 -forward 6 -forward 6 -down 9 -down 9 -down 9 -down 2 -down 7 -down 4 -forward 3 -up 7 -up 3 -down 1 -forward 4 -up 9 -forward 4 -forward 2 -down 2 -forward 9 -up 4 -forward 5 -down 8 -up 7 -down 5 -down 1 -up 7 -up 4 -forward 5 -up 8 -up 3 -down 2 -down 1 -down 2 -forward 3 -up 1 -forward 1 -forward 1 -down 1 -down 6 -down 6 -up 4 -down 4 -down 4 -forward 6 -down 6 -forward 7 -forward 5 -up 7 -down 9 -down 6 -forward 5 -forward 6 -forward 2 -down 4 -forward 5 -forward 8 -down 8 -down 6 -forward 2 -forward 8 -down 3 -forward 6 -down 1 -forward 5 -down 8 -up 1 -forward 6 -down 7 -forward 4 -down 8 -down 8 -forward 8 -down 6 -down 3 -forward 2 -forward 8 -forward 9 -forward 4 -forward 3 -down 4 -forward 3 -down 9 -down 1 -forward 2 -forward 3 -forward 7 -down 1 -forward 6 -forward 8 -forward 6 -forward 2 -down 8 -up 9 -forward 6 -forward 8 -down 7 -down 5 -up 4 -forward 9 -up 7 -up 3 -forward 3 -down 6 -forward 4 -forward 2 -down 3 -forward 9 -forward 5 -up 7 -down 9 -up 4 -down 3 -forward 8 -up 1 -forward 2 -forward 8 -forward 8 -forward 5 -down 7 -up 6 -down 9 -down 4 -forward 2 -down 5 -down 2 -down 2 -forward 6 -down 2 -forward 9 -forward 1 -up 1 -forward 4 -down 1 -forward 3 -down 3 -forward 4 -up 5 -up 3 -forward 6 -forward 8 -forward 2 -forward 6 -up 5 -down 9 -down 8 -forward 3 -down 5 -forward 8 -forward 1 -down 9 -up 3 -down 2 -down 9 -up 8 -down 2 -up 7 -up 2 -up 3 -down 9 -down 1 -down 7 -down 1 -forward 1 -down 9 -down 6 -forward 3 -up 7 -up 8 -down 5 -down 6 -up 2 -forward 8 -down 4 -up 1 -forward 4 -up 4 -forward 2 -down 4 -forward 4 -down 9 -up 4 -forward 8 -up 7 -forward 1 -down 3 -up 7 -forward 5 -down 5 -forward 2 -forward 7 -forward 3 -down 8 -forward 4 -forward 9 -up 2 -down 4 -down 5 -forward 4 -down 4 -up 6 -down 8 -up 1 -down 1 -up 6 -up 6 -down 7 -down 7 -forward 2 -forward 4 -forward 8 -down 8 -down 4 -down 4 -down 7 -forward 4 -down 3 -forward 5 -forward 5 -forward 7 -down 7 -forward 1 -down 8 -up 4 -up 9 -up 3 -up 6 -forward 5 -forward 5 -forward 4 -forward 9 -down 9 -forward 4 -forward 1 -up 8 -up 2 -down 9 -up 4 -forward 2 -up 8 -forward 6 -forward 2 -up 9 -down 3 -forward 3 -up 7 -down 7 -forward 4 -forward 7 -forward 3 -down 4 -down 5 -forward 7 -up 3 -up 1 -down 4 -forward 6 -down 1 -forward 1 -down 4 -down 3 -forward 9 -forward 4 -down 9 -down 3 -forward 2 -forward 5 -forward 6 -down 3 -forward 5 -down 9 -forward 2 -forward 9 -down 7 -down 4 -down 3 -down 1 -up 2 -forward 6 -forward 4 -down 9 -down 2 -forward 2 -forward 9 -down 3 -forward 8 -down 8 -forward 5 -down 4 -forward 4 -up 6 -up 3 -down 3 -down 9 -forward 5 -forward 8 -down 2 -forward 9 -forward 5 -up 9 -forward 2 -forward 3 -forward 4 -up 8 -up 1 -up 6 -down 5 -down 8 -down 4 -forward 6 -up 2 -forward 1 -forward 7 -up 8 -forward 5 -up 9 -forward 7 -down 6 -up 5 -up 7 -up 1 -down 3 -up 6 -forward 1 -up 1 -forward 2 -forward 4 -forward 5 -up 3 -up 8 -up 1 -up 6 -up 3 -down 5 -down 4 -up 8 -down 9 -up 7 -down 6 -down 9 -forward 5 -forward 3 -down 9 -down 3 -down 6 -up 3 -up 8 -down 4 -down 1 -up 9 -up 9 -forward 8 -down 7 -forward 1 -forward 4 -down 8 -forward 2 -down 4 -forward 7 -forward 3 -forward 5 -forward 1 -up 2 -down 9 -down 5 -up 6 -down 3 -forward 1 -up 9 -forward 6 -forward 1 -forward 4 -up 7 -forward 6 -down 1 -forward 9 -forward 1 -forward 3 -down 9 -down 8 -down 5 -forward 4 -down 7 -up 1 -forward 8 -up 4 -forward 6 -down 2 -forward 4 -forward 7 -down 8 -forward 6 -down 7 -forward 7 -up 7 -forward 4 -down 8 -down 8 -forward 8 -forward 6 -down 9 -down 8 -down 6 -down 2 -down 4 -forward 7 -forward 3 -down 8 -down 5 -forward 2 -down 9 -down 7 -up 1 -up 5 -forward 6 -up 8 -up 7 -up 4 -down 6 -down 6 -down 8 -down 9 -down 2 -forward 6 -forward 6 -forward 2 -up 9 -forward 6 -forward 9 -forward 8 -down 5 -down 3 -forward 1 -forward 8 -forward 1 -forward 3 -down 4 -forward 5 -forward 1 -forward 6 -down 8 -down 9 -forward 3 -forward 2 -forward 1 -forward 3 -up 7 -down 7 -down 2 -forward 3 -down 5 -down 2 -down 7 -down 9 -down 5 -down 7 -down 9 -up 7 -forward 7 -forward 9 -forward 8 -forward 5 -down 1 -up 6 -up 6 -forward 5 -up 6 -down 8 -up 6 -forward 2 -down 9 -down 5 -up 8 -up 7 -down 8 -down 7 -up 3 -down 5 -forward 6 -forward 2 -down 6 -forward 6 -forward 1 -forward 5 -forward 3 -down 4 -forward 3 -down 1 -up 7 -forward 3 -forward 9 -forward 3 -forward 4 -down 9 -forward 6 -down 1 -up 6 -forward 2 -forward 1 -down 2 -down 1 -down 9 -forward 1 -up 8 -down 1 -up 3 -forward 3 -forward 1 -up 6 -down 1 -down 7 -down 2 -forward 5 -down 4 -forward 4 -forward 9 -down 7 -forward 6 -down 4 -forward 8 -down 5 -forward 6 -down 6 -down 6 -down 9 -forward 3 -forward 2 -forward 7 -forward 6 -forward 8 -up 6 -forward 7 -down 2 -up 4 -forward 6 -forward 3 -forward 9 -down 1 -forward 9 -down 1 -forward 6 -down 9 -forward 7 -forward 9 -forward 6 -up 3 -down 3 -forward 3 -up 1 -down 8 -forward 7 -down 4 -forward 7 -forward 7 -down 1 -forward 5 -down 6 -forward 6 -down 8 -down 2 -down 7 -forward 9 -forward 7 -forward 2 -down 5 -forward 7 -forward 8 -forward 5 -forward 5 -up 1 -down 1 -up 4 -forward 5 -forward 8 -down 4 -up 8 -forward 8 -up 2 -down 1 -down 9 -up 9 -down 9 -forward 3 -forward 1 -down 7 -down 2 -forward 5 -up 7 -forward 9 -forward 1 -down 4 -down 8 -down 2 -up 1 -up 6 -forward 9 -down 3 -down 2 -forward 5 -forward 4 -down 5 -down 4 -up 4 -forward 4 -down 3 -up 3 -down 7 -down 7 -forward 1 -forward 4 -forward 7 -forward 5 -down 4 -down 7 -forward 1 -forward 9 -down 4 -forward 8 -up 4 -down 9 -down 9 -up 6 -up 3 -forward 2 -forward 3 -up 7 -forward 7 -down 4 -forward 5 -forward 5 -up 2 -down 5 -down 9 -forward 9 -forward 7 -forward 1 -up 5 -up 5 -forward 8 -forward 3 -forward 2 -down 4 -down 6 -down 2 -forward 5 -down 3 -down 9 -forward 8 -forward 7 -forward 7 -down 1 -up 3 -down 8 -down 9 -forward 6 -up 6 -down 6 -forward 2 -forward 3 -forward 7 -up 8 -down 8 -down 7 -forward 2 -down 2 -up 7 -up 9 -forward 1 -forward 1 -forward 1 -forward 1 -forward 1 -up 8 -down 3 -up 8 -down 5 -down 3 -up 4 -forward 4 -down 3 -down 4 -down 3 -up 3 -down 3 -up 2 -up 6 -down 9 -down 6 -up 8 -up 7 -down 1 -down 7 -down 3 -forward 3 -forward 5 -down 4 -down 7 -forward 1 -forward 8 -up 9 -up 2 -forward 3 -up 1 -forward 7 -down 7 -down 5 -forward 9 -up 9 -forward 3 -down 2 -up 4 -down 2 -down 1 -down 9 -down 9 -forward 3 -forward 4 -down 2 -down 6 -up 8 -down 5 -forward 7 -forward 4 -up 3 -forward 2 -down 4 -down 8 -forward 4 -forward 6 -forward 8 -down 6 -down 8 -up 2 -forward 5 -up 7 -down 9 -down 6 -forward 7 -up 3 -down 9 -forward 2 -down 6 -up 6 -down 6 -down 3 -down 2 -down 8 -down 4 -forward 8 -up 7 -forward 9 -forward 4 -down 3 -forward 3 -down 9 -down 2 -forward 2 -forward 1 -down 4 -down 3 -down 8 -up 6 -down 4 -forward 3 -down 7 -forward 8 -down 7 -forward 6 -forward 2 -forward 7 -forward 6 -forward 4 -up 4 -forward 2 -down 4 -down 2 -forward 3 -down 2 -up 9 -down 6 -forward 5 -up 6 -forward 1 -up 1 -down 3 -up 4 -forward 1 -down 6 -forward 9 -up 2 -forward 4 -up 9 -up 5 -down 5 -forward 3 -down 9 -forward 5 -down 3 -forward 7 -forward 5 -forward 9 -up 5 -down 4 -down 2 -forward 9 -down 3 -down 8 -down 9 -forward 2 -down 8 -up 6 -down 4 -down 2 -up 9 -forward 8 -forward 8 -down 8 -forward 4 -down 7 -forward 2 -up 7 -forward 7 -down 4 -forward 4 -down 3 -forward 9 -down 9 -forward 6 -down 5 -down 9 -up 5 -forward 7 -forward 2 -down 3 -down 7 -down 2 -forward 3 -down 4 -up 3 -down 1 -forward 9 -down 4 -down 8 -up 9 -forward 7 -down 8 -forward 9 -down 2 -up 2 -down 1 -down 1 -forward 6 -forward 2 -forward 3 -down 5 -down 1 -down 1 -up 4 -forward 8 -down 3 -down 1 -forward 9 -forward 7 -forward 2 -up 8 -up 6 -down 7 -down 6 -forward 3 -down 2 -down 9 -up 7 -forward 5 -up 9 -down 9 -down 4 -down 8 -down 5 -down 8 -down 8 -forward 6 -forward 1 -forward 4 -forward 7 -down 7 -down 6 -forward 4 -forward 7 -forward 6 -down 7 -forward 4 -forward 9 -up 3 -forward 9 -forward 5 -forward 1 -up 2 -down 1 -down 5 -forward 9 -up 4 -forward 6 -up 3 -up 6 -forward 8 -down 6 -forward 5 -down 3 -forward 2 -forward 7 -down 4 -up 8 -forward 6 -up 7 -up 9 -forward 3 -down 3 -down 7 -down 7 -down 1 -down 6 -down 9 -up 1 -forward 6 -forward 6 -down 3 -forward 7 -down 8 -forward 1 -down 7 -down 4 -down 3 -down 4 -down 4 -forward 7 -down 3 -forward 6 -up 9 -forward 3 diff --git a/inputs/test_input02_2_0 b/inputs/test_input02_2_0 deleted file mode 100644 index b7172ac..0000000 --- a/inputs/test_input02_2_0 +++ /dev/null @@ -1,6 +0,0 @@ -forward 5 -down 5 -forward 8 -up 3 -down 8 -forward 2 diff --git a/inputs/test_input02_2_1 b/inputs/test_input02_2_1 deleted file mode 100644 index e7e260a..0000000 --- a/inputs/test_input02_2_1 +++ /dev/null @@ -1,1000 +0,0 @@ -forward 7 -forward 9 -forward 3 -down 5 -down 9 -forward 6 -down 2 -forward 2 -forward 8 -forward 3 -forward 5 -forward 5 -forward 8 -down 6 -forward 8 -forward 2 -up 8 -down 8 -forward 6 -down 4 -down 5 -forward 2 -down 6 -forward 7 -down 9 -forward 9 -down 2 -down 7 -up 6 -up 3 -up 7 -down 9 -forward 1 -forward 1 -down 4 -down 9 -forward 4 -up 4 -forward 8 -forward 9 -down 7 -down 4 -up 6 -down 8 -down 2 -forward 8 -forward 6 -down 3 -forward 2 -forward 6 -down 3 -forward 1 -forward 8 -down 8 -down 9 -forward 5 -forward 4 -forward 8 -down 7 -forward 4 -forward 3 -forward 6 -down 3 -forward 6 -forward 6 -down 9 -down 9 -down 9 -down 2 -down 7 -down 4 -forward 3 -up 7 -up 3 -down 1 -forward 4 -up 9 -forward 4 -forward 2 -down 2 -forward 9 -up 4 -forward 5 -down 8 -up 7 -down 5 -down 1 -up 7 -up 4 -forward 5 -up 8 -up 3 -down 2 -down 1 -down 2 -forward 3 -up 1 -forward 1 -forward 1 -down 1 -down 6 -down 6 -up 4 -down 4 -down 4 -forward 6 -down 6 -forward 7 -forward 5 -up 7 -down 9 -down 6 -forward 5 -forward 6 -forward 2 -down 4 -forward 5 -forward 8 -down 8 -down 6 -forward 2 -forward 8 -down 3 -forward 6 -down 1 -forward 5 -down 8 -up 1 -forward 6 -down 7 -forward 4 -down 8 -down 8 -forward 8 -down 6 -down 3 -forward 2 -forward 8 -forward 9 -forward 4 -forward 3 -down 4 -forward 3 -down 9 -down 1 -forward 2 -forward 3 -forward 7 -down 1 -forward 6 -forward 8 -forward 6 -forward 2 -down 8 -up 9 -forward 6 -forward 8 -down 7 -down 5 -up 4 -forward 9 -up 7 -up 3 -forward 3 -down 6 -forward 4 -forward 2 -down 3 -forward 9 -forward 5 -up 7 -down 9 -up 4 -down 3 -forward 8 -up 1 -forward 2 -forward 8 -forward 8 -forward 5 -down 7 -up 6 -down 9 -down 4 -forward 2 -down 5 -down 2 -down 2 -forward 6 -down 2 -forward 9 -forward 1 -up 1 -forward 4 -down 1 -forward 3 -down 3 -forward 4 -up 5 -up 3 -forward 6 -forward 8 -forward 2 -forward 6 -up 5 -down 9 -down 8 -forward 3 -down 5 -forward 8 -forward 1 -down 9 -up 3 -down 2 -down 9 -up 8 -down 2 -up 7 -up 2 -up 3 -down 9 -down 1 -down 7 -down 1 -forward 1 -down 9 -down 6 -forward 3 -up 7 -up 8 -down 5 -down 6 -up 2 -forward 8 -down 4 -up 1 -forward 4 -up 4 -forward 2 -down 4 -forward 4 -down 9 -up 4 -forward 8 -up 7 -forward 1 -down 3 -up 7 -forward 5 -down 5 -forward 2 -forward 7 -forward 3 -down 8 -forward 4 -forward 9 -up 2 -down 4 -down 5 -forward 4 -down 4 -up 6 -down 8 -up 1 -down 1 -up 6 -up 6 -down 7 -down 7 -forward 2 -forward 4 -forward 8 -down 8 -down 4 -down 4 -down 7 -forward 4 -down 3 -forward 5 -forward 5 -forward 7 -down 7 -forward 1 -down 8 -up 4 -up 9 -up 3 -up 6 -forward 5 -forward 5 -forward 4 -forward 9 -down 9 -forward 4 -forward 1 -up 8 -up 2 -down 9 -up 4 -forward 2 -up 8 -forward 6 -forward 2 -up 9 -down 3 -forward 3 -up 7 -down 7 -forward 4 -forward 7 -forward 3 -down 4 -down 5 -forward 7 -up 3 -up 1 -down 4 -forward 6 -down 1 -forward 1 -down 4 -down 3 -forward 9 -forward 4 -down 9 -down 3 -forward 2 -forward 5 -forward 6 -down 3 -forward 5 -down 9 -forward 2 -forward 9 -down 7 -down 4 -down 3 -down 1 -up 2 -forward 6 -forward 4 -down 9 -down 2 -forward 2 -forward 9 -down 3 -forward 8 -down 8 -forward 5 -down 4 -forward 4 -up 6 -up 3 -down 3 -down 9 -forward 5 -forward 8 -down 2 -forward 9 -forward 5 -up 9 -forward 2 -forward 3 -forward 4 -up 8 -up 1 -up 6 -down 5 -down 8 -down 4 -forward 6 -up 2 -forward 1 -forward 7 -up 8 -forward 5 -up 9 -forward 7 -down 6 -up 5 -up 7 -up 1 -down 3 -up 6 -forward 1 -up 1 -forward 2 -forward 4 -forward 5 -up 3 -up 8 -up 1 -up 6 -up 3 -down 5 -down 4 -up 8 -down 9 -up 7 -down 6 -down 9 -forward 5 -forward 3 -down 9 -down 3 -down 6 -up 3 -up 8 -down 4 -down 1 -up 9 -up 9 -forward 8 -down 7 -forward 1 -forward 4 -down 8 -forward 2 -down 4 -forward 7 -forward 3 -forward 5 -forward 1 -up 2 -down 9 -down 5 -up 6 -down 3 -forward 1 -up 9 -forward 6 -forward 1 -forward 4 -up 7 -forward 6 -down 1 -forward 9 -forward 1 -forward 3 -down 9 -down 8 -down 5 -forward 4 -down 7 -up 1 -forward 8 -up 4 -forward 6 -down 2 -forward 4 -forward 7 -down 8 -forward 6 -down 7 -forward 7 -up 7 -forward 4 -down 8 -down 8 -forward 8 -forward 6 -down 9 -down 8 -down 6 -down 2 -down 4 -forward 7 -forward 3 -down 8 -down 5 -forward 2 -down 9 -down 7 -up 1 -up 5 -forward 6 -up 8 -up 7 -up 4 -down 6 -down 6 -down 8 -down 9 -down 2 -forward 6 -forward 6 -forward 2 -up 9 -forward 6 -forward 9 -forward 8 -down 5 -down 3 -forward 1 -forward 8 -forward 1 -forward 3 -down 4 -forward 5 -forward 1 -forward 6 -down 8 -down 9 -forward 3 -forward 2 -forward 1 -forward 3 -up 7 -down 7 -down 2 -forward 3 -down 5 -down 2 -down 7 -down 9 -down 5 -down 7 -down 9 -up 7 -forward 7 -forward 9 -forward 8 -forward 5 -down 1 -up 6 -up 6 -forward 5 -up 6 -down 8 -up 6 -forward 2 -down 9 -down 5 -up 8 -up 7 -down 8 -down 7 -up 3 -down 5 -forward 6 -forward 2 -down 6 -forward 6 -forward 1 -forward 5 -forward 3 -down 4 -forward 3 -down 1 -up 7 -forward 3 -forward 9 -forward 3 -forward 4 -down 9 -forward 6 -down 1 -up 6 -forward 2 -forward 1 -down 2 -down 1 -down 9 -forward 1 -up 8 -down 1 -up 3 -forward 3 -forward 1 -up 6 -down 1 -down 7 -down 2 -forward 5 -down 4 -forward 4 -forward 9 -down 7 -forward 6 -down 4 -forward 8 -down 5 -forward 6 -down 6 -down 6 -down 9 -forward 3 -forward 2 -forward 7 -forward 6 -forward 8 -up 6 -forward 7 -down 2 -up 4 -forward 6 -forward 3 -forward 9 -down 1 -forward 9 -down 1 -forward 6 -down 9 -forward 7 -forward 9 -forward 6 -up 3 -down 3 -forward 3 -up 1 -down 8 -forward 7 -down 4 -forward 7 -forward 7 -down 1 -forward 5 -down 6 -forward 6 -down 8 -down 2 -down 7 -forward 9 -forward 7 -forward 2 -down 5 -forward 7 -forward 8 -forward 5 -forward 5 -up 1 -down 1 -up 4 -forward 5 -forward 8 -down 4 -up 8 -forward 8 -up 2 -down 1 -down 9 -up 9 -down 9 -forward 3 -forward 1 -down 7 -down 2 -forward 5 -up 7 -forward 9 -forward 1 -down 4 -down 8 -down 2 -up 1 -up 6 -forward 9 -down 3 -down 2 -forward 5 -forward 4 -down 5 -down 4 -up 4 -forward 4 -down 3 -up 3 -down 7 -down 7 -forward 1 -forward 4 -forward 7 -forward 5 -down 4 -down 7 -forward 1 -forward 9 -down 4 -forward 8 -up 4 -down 9 -down 9 -up 6 -up 3 -forward 2 -forward 3 -up 7 -forward 7 -down 4 -forward 5 -forward 5 -up 2 -down 5 -down 9 -forward 9 -forward 7 -forward 1 -up 5 -up 5 -forward 8 -forward 3 -forward 2 -down 4 -down 6 -down 2 -forward 5 -down 3 -down 9 -forward 8 -forward 7 -forward 7 -down 1 -up 3 -down 8 -down 9 -forward 6 -up 6 -down 6 -forward 2 -forward 3 -forward 7 -up 8 -down 8 -down 7 -forward 2 -down 2 -up 7 -up 9 -forward 1 -forward 1 -forward 1 -forward 1 -forward 1 -up 8 -down 3 -up 8 -down 5 -down 3 -up 4 -forward 4 -down 3 -down 4 -down 3 -up 3 -down 3 -up 2 -up 6 -down 9 -down 6 -up 8 -up 7 -down 1 -down 7 -down 3 -forward 3 -forward 5 -down 4 -down 7 -forward 1 -forward 8 -up 9 -up 2 -forward 3 -up 1 -forward 7 -down 7 -down 5 -forward 9 -up 9 -forward 3 -down 2 -up 4 -down 2 -down 1 -down 9 -down 9 -forward 3 -forward 4 -down 2 -down 6 -up 8 -down 5 -forward 7 -forward 4 -up 3 -forward 2 -down 4 -down 8 -forward 4 -forward 6 -forward 8 -down 6 -down 8 -up 2 -forward 5 -up 7 -down 9 -down 6 -forward 7 -up 3 -down 9 -forward 2 -down 6 -up 6 -down 6 -down 3 -down 2 -down 8 -down 4 -forward 8 -up 7 -forward 9 -forward 4 -down 3 -forward 3 -down 9 -down 2 -forward 2 -forward 1 -down 4 -down 3 -down 8 -up 6 -down 4 -forward 3 -down 7 -forward 8 -down 7 -forward 6 -forward 2 -forward 7 -forward 6 -forward 4 -up 4 -forward 2 -down 4 -down 2 -forward 3 -down 2 -up 9 -down 6 -forward 5 -up 6 -forward 1 -up 1 -down 3 -up 4 -forward 1 -down 6 -forward 9 -up 2 -forward 4 -up 9 -up 5 -down 5 -forward 3 -down 9 -forward 5 -down 3 -forward 7 -forward 5 -forward 9 -up 5 -down 4 -down 2 -forward 9 -down 3 -down 8 -down 9 -forward 2 -down 8 -up 6 -down 4 -down 2 -up 9 -forward 8 -forward 8 -down 8 -forward 4 -down 7 -forward 2 -up 7 -forward 7 -down 4 -forward 4 -down 3 -forward 9 -down 9 -forward 6 -down 5 -down 9 -up 5 -forward 7 -forward 2 -down 3 -down 7 -down 2 -forward 3 -down 4 -up 3 -down 1 -forward 9 -down 4 -down 8 -up 9 -forward 7 -down 8 -forward 9 -down 2 -up 2 -down 1 -down 1 -forward 6 -forward 2 -forward 3 -down 5 -down 1 -down 1 -up 4 -forward 8 -down 3 -down 1 -forward 9 -forward 7 -forward 2 -up 8 -up 6 -down 7 -down 6 -forward 3 -down 2 -down 9 -up 7 -forward 5 -up 9 -down 9 -down 4 -down 8 -down 5 -down 8 -down 8 -forward 6 -forward 1 -forward 4 -forward 7 -down 7 -down 6 -forward 4 -forward 7 -forward 6 -down 7 -forward 4 -forward 9 -up 3 -forward 9 -forward 5 -forward 1 -up 2 -down 1 -down 5 -forward 9 -up 4 -forward 6 -up 3 -up 6 -forward 8 -down 6 -forward 5 -down 3 -forward 2 -forward 7 -down 4 -up 8 -forward 6 -up 7 -up 9 -forward 3 -down 3 -down 7 -down 7 -down 1 -down 6 -down 9 -up 1 -forward 6 -forward 6 -down 3 -forward 7 -down 8 -forward 1 -down 7 -down 4 -down 3 -down 4 -down 4 -forward 7 -down 3 -forward 6 -up 9 -forward 3 diff --git a/inputs/test_input03_1_0 b/inputs/test_input03 similarity index 100% rename from inputs/test_input03_1_0 rename to inputs/test_input03 diff --git a/inputs/test_input03_1_1 b/inputs/test_input03_1_1 deleted file mode 100644 index e1c1f3d..0000000 --- a/inputs/test_input03_1_1 +++ /dev/null @@ -1,1000 +0,0 @@ -011101101110 -010110001101 -100111000110 -011110101000 -101101000100 -000001100110 -110111100010 -111000010011 -001011000110 -111110101101 -110100101011 -100100011010 -001010111001 -110111110100 -100011011110 -111111111010 -001000100011 -001101100000 -010101010000 -011000100101 -110100000110 -110011010011 -101011001011 -110111100001 -000100111111 -011110000100 -010110111010 -011000011011 -011001100100 -000111111100 -010101111101 -001110011101 -100001001001 -111100000011 -110110110111 -101000011011 -110100100000 -110101101001 -001010111101 -010101010100 -111101001111 -110001000001 -000111010111 -001001101111 -101100011110 -001001111011 -011100101100 -010100110000 -000100000010 -010000101011 -111001010011 -001100101111 -101000010100 -000000111011 -010111101000 -101000100110 -010101111100 -101101001100 -101001110001 -000111110011 -111110110000 -111101101101 -001010111000 -101001000101 -010000010011 -011110010010 -000000101011 -101000111100 -011100001011 -000000100001 -100011111101 -101111011001 -000011011010 -100010111101 -100011001011 -011001101100 -001101101011 -010010010000 -110011011011 -110100110111 -000110100100 -110101110001 -001010010001 -100110100001 -010111111001 -011101000011 -100110010110 -100010101101 -000001011000 -110000111010 -001110010100 -000110011000 -100001110011 -101111111001 -000011001100 -010110011111 -101010001101 -100001000110 -000101011111 -110000010101 -111100100000 -000111100100 -011110011000 -001111110101 -111011110011 -010111000101 -111101100101 -101100011111 -100001111111 -110011111100 -000000111001 -100101001001 -110001100010 -101001000111 -101010000101 -010000010101 -011011000010 -101001111011 -111100110001 -010100110100 -000011000011 -011001100001 -101110000111 -000110010000 -100011010101 -010000111100 -011011010011 -000011111100 -000010100110 -110000110001 -010110010101 -010101100110 -111001110011 -101011000001 -010011101010 -011101000001 -101111001010 -010100111100 -110100111011 -111010111001 -101100110101 -100101111110 -010111101110 -111011001000 -001100110100 -001110011010 -101100111110 -100110010101 -010011001000 -001100010010 -100001100101 -001001100111 -011001111101 -010100101101 -000011100011 -100111010100 -101010110100 -101011100110 -111000001100 -101111101101 -101001000011 -011000010111 -011111010101 -000000010001 -011010101110 -110101011100 -011000011000 -111011010001 -110001001111 -011100101111 -010010100100 -110111001111 -000001101111 -100011100010 -110111010110 -010000110000 -011010001110 -001111000111 -010001010111 -101010101101 -100000111001 -110110111100 -100111010110 -011100011100 -011011110111 -110011101001 -110010011000 -111010000101 -110000001010 -000000110100 -001010100111 -010011001011 -111010111110 -101111000000 -101001010101 -010110010000 -100010001001 -100010100011 -010100001100 -110000110010 -100011100110 -001111101100 -001110100110 -111000100111 -111011011000 -101010100001 -111100011010 -000101100101 -010111111101 -100011110100 -011110010001 -011001010111 -111101110101 -101010001010 -001010011110 -110011100011 -001001010100 -100010101110 -100011000101 -011010111110 -001011101101 -001100101010 -111101111011 -111101100001 -101111101100 -100101100000 -010011011000 -011001001001 -111111110001 -101000011000 -101000110101 -111001011100 -101100111011 -001000010011 -101111000110 -101001101111 -100101000000 -111011011010 -110001100001 -111110110010 -001010101001 -011010101111 -010101000001 -110100101010 -011110101111 -001010111110 -100111001010 -011011111110 -111011100100 -101101111011 -001111100110 -100110010100 -101110100100 -101111100010 -001111101001 -100000001111 -000111111010 -100011010111 -010100010101 -000100011010 -110001110101 -000101001101 -110101010101 -101011101011 -011101001110 -001000010100 -001110011100 -110100000010 -010010101111 -110101010010 -011111110101 -001111010011 -010001100000 -111101101000 -110100010101 -110000100111 -100000101100 -101110010101 -100100101100 -000010010101 -000111010101 -111000000000 -101011111010 -000101000110 -111110101100 -000001100100 -011101000101 -001011110001 -000011111000 -101000111010 -011100001100 -111010101000 -100010001101 -111100000101 -010001101110 -111000110010 -001100100110 -111001111011 -110101111010 -000100100101 -100101110100 -001011010100 -001000001010 -011101110011 -101110011111 -101111011011 -001000011001 -100011011100 -011101000111 -011010100000 -001111110000 -010100000101 -001010010000 -100101101101 -111100010011 -100101000011 -100000000001 -111000111000 -000101101010 -010101011000 -101101010001 -111111001001 -100001000000 -011110100110 -111101010111 -011111011101 -110000110110 -110010011110 -110000110100 -010001101100 -011101111110 -110111001010 -011000111111 -101110010010 -001010101101 -101101101111 -000101001110 -111000010001 -110110100111 -010101000100 -111001000110 -011010100001 -111100011110 -100101110011 -110001000111 -101000101010 -100101111000 -000011101001 -011110110010 -101111011110 -100000111100 -001100000101 -101010111111 -101011110001 -000000001010 -000000010101 -000011000100 -111101011101 -100100000111 -001111010111 -010110001010 -011001000001 -110011110101 -010100010110 -001111101011 -101111011101 -001111001001 -011001101111 -000011000001 -101010000011 -111101100100 -110100100111 -101000011101 -010101101111 -000000001011 -110101101111 -001110011110 -100101010011 -001010100101 -001110111101 -001111101101 -111111010110 -101011110011 -110010111011 -101101101011 -101100011000 -000010100101 -010000010001 -010101001110 -011100111001 -010010000001 -010111010101 -101110001110 -000100111110 -011110100010 -001010110111 -100010000010 -110010100111 -011111001010 -111000110011 -011000010100 -110011000100 -010010100110 -011110110111 -011001010110 -000111001111 -000111000011 -110110011001 -011110001000 -011110100111 -101001100101 -001101010000 -000111101101 -001001010000 -001100110000 -111001001000 -111110010101 -001001011100 -111111011110 -010110101110 -101001110110 -000000110110 -001011110111 -011111010111 -111100111101 -111010001111 -001111111010 -110001010101 -110000011000 -000001011001 -000010101001 -010100101100 -011101010111 -110100111000 -001101000110 -001101011010 -010000011100 -110101011101 -010110011010 -101011011001 -001111111101 -100011101100 -010011010100 -101011101010 -011000110101 -010001001001 -101110111101 -001010001000 -110101010000 -010101000010 -101101001010 -101000001000 -010011100011 -100100111000 -100010110110 -011100101011 -000010110111 -111000010010 -011011111011 -101000010001 -001010110010 -110100110000 -010111000000 -001011101011 -001000010101 -000110110111 -111001010101 -000111001100 -011110010011 -110010010101 -100000000101 -110100001010 -100000010100 -100001010011 -100110011101 -111100001101 -111011111001 -101110111110 -001000100111 -100000010010 -011110000110 -010101010001 -101101100111 -010100011000 -100110111101 -001000001011 -100111101001 -101100100110 -000100010100 -010011111101 -010001100010 -011111111110 -001011111000 -011110110100 -100101101111 -110111110001 -111000110001 -010110101001 -010110011001 -001010111100 -011110000010 -100001100010 -010011001110 -101101011100 -011100100110 -101000001010 -111110111101 -111101001000 -000010110101 -110110001010 -100011101101 -110111101011 -111111100111 -101110101010 -011010110000 -100011111110 -101110101111 -101001101101 -001011001000 -010010101011 -011100000111 -001011111110 -001001000110 -111000101000 -011011000111 -111110110011 -110010110001 -100001000100 -000011010100 -000101010111 -001011000010 -010110010011 -010111110011 -010011100000 -100011110001 -000100101110 -001010010110 -011100111011 -001101100001 -000001000100 -111010101100 -010001011101 -001011010110 -011011000100 -110000101011 -111100000000 -111110010100 -010010010011 -001110000011 -110101000011 -110101101101 -110101000110 -010011011100 -101101000001 -100001001010 -101111011111 -110111011110 -101110001100 -001111010101 -010110101100 -011101001011 -101000010000 -111000101001 -011001100010 -111011110100 -111101111000 -110011100010 -010000111011 -001101101000 -111000000100 -011000001001 -101110000100 -101100011010 -011011010101 -111000001101 -101000111111 -100010100101 -111000011010 -010110001111 -010011000011 -100011101000 -100001000001 -101111100100 -011000100010 -010000101110 -011101101100 -000011010001 -100001110101 -010101111110 -000011110101 -110101110011 -011101101001 -010000000110 -001000111111 -011101110010 -001011011111 -010001100101 -011001000111 -001010011111 -100000110100 -010111011010 -001110111110 -000101101100 -111000101110 -001010110011 -000100101010 -010111100111 -000110101100 -010010111101 -110110101110 -010010100001 -111001011111 -001100011011 -111000011101 -111000010110 -000000000100 -000010110100 -010011110000 -011001011000 -111110001101 -000100000011 -001100010100 -111110000110 -000010111101 -111010001101 -110011011110 -101001111101 -110100111110 -011010000011 -000010000100 -111101110100 -010000101001 -111001010000 -110011100111 -010111010011 -000010101011 -010001110001 -100010000100 -100000001001 -011111101001 -101010001111 -001101001100 -111110011010 -001101001010 -101000010111 -011010111000 -011001101000 -101000111001 -100111110011 -000000000001 -100111011001 -011101110110 -100001111000 -010110101101 -011111000000 -101010100100 -100010101000 -001000011111 -010110000010 -000100000100 -001001000010 -111000010111 -110010101101 -101000101101 -001110110101 -110010011011 -011011001111 -101010001000 -011001110101 -101000000101 -010010111111 -110100110001 -000100110001 -000000110011 -111011100101 -111000100010 -100100100010 -011100010100 -010010001110 -000010011000 -111110111000 -100101010010 -000001110111 -101111101011 -100011001001 -110110101010 -111100100001 -000100110000 -001111001101 -100000010000 -011111000001 -001111101110 -100111101000 -000111111011 -000001011010 -010100110101 -001111010000 -111011000110 -101000001110 -000101011000 -101011001010 -100101101000 -110101011011 -111000100101 -100100101110 -111100101000 -100110101110 -110001111000 -111010111011 -011011000000 -000001101110 -110110010110 -111100010010 -111111011010 -101110010100 -111010110000 -011101000010 -111010011001 -101001011101 -101100010010 -010010111011 -011110010100 -100000101000 -000101101001 -001000100000 -101000101100 -011011100100 -011100100010 -111110000000 -011011010001 -010110111100 -110110101011 -111111000010 -111101001101 -110101001111 -111110001110 -100001011110 -101111100110 -011110111111 -011011111101 -001000010010 -110111100000 -110001110000 -100001000111 -000010100010 -100000100010 -100010001011 -000100001100 -000000001000 -111101010001 -010100010001 -111001101011 -011010001000 -010001011100 -010101001001 -000110101001 -001001100001 -101000000100 -000100000101 -100011011000 -101100101101 -100110100000 -010100000111 -110100101110 -001111100000 -011110110110 -001100111100 -001111100011 -100111111010 -110011111110 -110010011111 -110111111101 -110000011100 -101011000110 -100110011111 -000011110011 -111000111101 -101011000100 -010111011111 -000111011011 -111010111100 -001110111100 -100010110011 -010000000010 -010000011000 -001111000001 -100100001001 -110101010110 -101110001001 -010011001100 -101100000101 -001010111010 -001000001100 -111100010001 -111110100001 -101010110101 -111100001111 -110001110001 -000110110100 -100100101010 -111110101010 -110111101010 -000111101111 -111000101100 -000100011101 -001110001010 -011110011001 -110001001011 -000111001000 -010001001011 -000100011100 -100000101110 -010111111000 -111011110010 -010011101101 -011010000110 -010100001111 -100100001000 -100001011010 -100111111011 -100000101011 -011101011010 -111100111001 -110010110111 -001010000101 -101000100000 -001111100100 -001100111011 -011000101101 -001110101101 -100011000111 -001010001101 -100110111110 -001001101000 -111000011000 -011001011101 -000110100101 -101000110010 -110110010000 -110100001100 -000001111110 -000111010110 -110101000000 -110011110001 -110100110101 -011111100011 -111011011110 -111111001100 -110111100110 -011101010010 -010001110101 -001001101110 -010110100011 -101101110001 -000111101100 -000010111111 -111001101001 -000101111110 -000000011110 -110011001011 -010101010010 -111101001010 -001010101110 -111010100001 -101110000010 -001101010011 -001101101100 -000110000110 -000010111001 -110100100011 -011001110111 -100001110100 -011001101001 -000100011011 -111001100000 -101110101000 -000001000001 -010111001000 -101101110011 -111111011000 -000001111111 -101111110101 -000101101111 -010111111010 -111010100110 -110011000010 -001110110010 -011100000010 -001010101010 -110110001000 -100011111000 -110101011000 -011001100111 -000101110000 -010110110000 -011010010100 -000101100110 -001011000100 -011100110000 -111100011011 -110000101100 -101110100000 -011110000111 -100010101111 -110111000111 -100010110000 -110010001111 -000001011110 -111110000111 -101101100110 -011001010100 -011011011110 -111001100101 -110101100011 -010100111111 -001010011001 -101101001011 -000011100000 -000100001001 -001010010101 -111100100101 -111101001100 -010111110110 -100011110111 -100101001000 -011011100111 -010110000011 -101001101011 -001101001101 -101101011000 -011100000011 -100101001110 -110001000110 -101111100111 -011111110001 -001111001000 -001101010010 -101110101011 -001111011111 -001000010000 -011011101001 -010101100010 -111000000110 -000100100000 -110000000100 -011100000110 -010100100110 -011001001010 -111010101011 -111001011011 -101101011111 -010111110101 -100101110000 -000101011100 -001010011011 -110110111111 -110001001001 -000001100101 -111110010010 -100110110101 -010101100001 -000001010000 -111100111100 -111011001100 -101100101111 -111111001111 -111100110100 -011010011100 -010000001010 -010010110010 -101110110111 -010000100000 -100101101100 -111001110001 -001110011000 -101010000111 -110011001000 -101100111111 -010110010010 -110011111001 -000111001110 -011101011011 -111011111101 -101100010011 -010000100101 -111110110101 -110101011010 -010110110101 -111011000000 -010001110111 -101111001100 -000100111000 -001011010001 -010011111100 -110011110111 -001100010111 -000010001110 -011001001110 -111101101001 -001000011000 diff --git a/inputs/test_input03_2_0 b/inputs/test_input03_2_0 deleted file mode 100644 index a6366a8..0000000 --- a/inputs/test_input03_2_0 +++ /dev/null @@ -1,12 +0,0 @@ -00100 -11110 -10110 -10111 -10101 -01111 -00111 -11100 -10000 -11001 -00010 -01010 diff --git a/inputs/test_input03_2_1 b/inputs/test_input03_2_1 deleted file mode 100644 index e1c1f3d..0000000 --- a/inputs/test_input03_2_1 +++ /dev/null @@ -1,1000 +0,0 @@ -011101101110 -010110001101 -100111000110 -011110101000 -101101000100 -000001100110 -110111100010 -111000010011 -001011000110 -111110101101 -110100101011 -100100011010 -001010111001 -110111110100 -100011011110 -111111111010 -001000100011 -001101100000 -010101010000 -011000100101 -110100000110 -110011010011 -101011001011 -110111100001 -000100111111 -011110000100 -010110111010 -011000011011 -011001100100 -000111111100 -010101111101 -001110011101 -100001001001 -111100000011 -110110110111 -101000011011 -110100100000 -110101101001 -001010111101 -010101010100 -111101001111 -110001000001 -000111010111 -001001101111 -101100011110 -001001111011 -011100101100 -010100110000 -000100000010 -010000101011 -111001010011 -001100101111 -101000010100 -000000111011 -010111101000 -101000100110 -010101111100 -101101001100 -101001110001 -000111110011 -111110110000 -111101101101 -001010111000 -101001000101 -010000010011 -011110010010 -000000101011 -101000111100 -011100001011 -000000100001 -100011111101 -101111011001 -000011011010 -100010111101 -100011001011 -011001101100 -001101101011 -010010010000 -110011011011 -110100110111 -000110100100 -110101110001 -001010010001 -100110100001 -010111111001 -011101000011 -100110010110 -100010101101 -000001011000 -110000111010 -001110010100 -000110011000 -100001110011 -101111111001 -000011001100 -010110011111 -101010001101 -100001000110 -000101011111 -110000010101 -111100100000 -000111100100 -011110011000 -001111110101 -111011110011 -010111000101 -111101100101 -101100011111 -100001111111 -110011111100 -000000111001 -100101001001 -110001100010 -101001000111 -101010000101 -010000010101 -011011000010 -101001111011 -111100110001 -010100110100 -000011000011 -011001100001 -101110000111 -000110010000 -100011010101 -010000111100 -011011010011 -000011111100 -000010100110 -110000110001 -010110010101 -010101100110 -111001110011 -101011000001 -010011101010 -011101000001 -101111001010 -010100111100 -110100111011 -111010111001 -101100110101 -100101111110 -010111101110 -111011001000 -001100110100 -001110011010 -101100111110 -100110010101 -010011001000 -001100010010 -100001100101 -001001100111 -011001111101 -010100101101 -000011100011 -100111010100 -101010110100 -101011100110 -111000001100 -101111101101 -101001000011 -011000010111 -011111010101 -000000010001 -011010101110 -110101011100 -011000011000 -111011010001 -110001001111 -011100101111 -010010100100 -110111001111 -000001101111 -100011100010 -110111010110 -010000110000 -011010001110 -001111000111 -010001010111 -101010101101 -100000111001 -110110111100 -100111010110 -011100011100 -011011110111 -110011101001 -110010011000 -111010000101 -110000001010 -000000110100 -001010100111 -010011001011 -111010111110 -101111000000 -101001010101 -010110010000 -100010001001 -100010100011 -010100001100 -110000110010 -100011100110 -001111101100 -001110100110 -111000100111 -111011011000 -101010100001 -111100011010 -000101100101 -010111111101 -100011110100 -011110010001 -011001010111 -111101110101 -101010001010 -001010011110 -110011100011 -001001010100 -100010101110 -100011000101 -011010111110 -001011101101 -001100101010 -111101111011 -111101100001 -101111101100 -100101100000 -010011011000 -011001001001 -111111110001 -101000011000 -101000110101 -111001011100 -101100111011 -001000010011 -101111000110 -101001101111 -100101000000 -111011011010 -110001100001 -111110110010 -001010101001 -011010101111 -010101000001 -110100101010 -011110101111 -001010111110 -100111001010 -011011111110 -111011100100 -101101111011 -001111100110 -100110010100 -101110100100 -101111100010 -001111101001 -100000001111 -000111111010 -100011010111 -010100010101 -000100011010 -110001110101 -000101001101 -110101010101 -101011101011 -011101001110 -001000010100 -001110011100 -110100000010 -010010101111 -110101010010 -011111110101 -001111010011 -010001100000 -111101101000 -110100010101 -110000100111 -100000101100 -101110010101 -100100101100 -000010010101 -000111010101 -111000000000 -101011111010 -000101000110 -111110101100 -000001100100 -011101000101 -001011110001 -000011111000 -101000111010 -011100001100 -111010101000 -100010001101 -111100000101 -010001101110 -111000110010 -001100100110 -111001111011 -110101111010 -000100100101 -100101110100 -001011010100 -001000001010 -011101110011 -101110011111 -101111011011 -001000011001 -100011011100 -011101000111 -011010100000 -001111110000 -010100000101 -001010010000 -100101101101 -111100010011 -100101000011 -100000000001 -111000111000 -000101101010 -010101011000 -101101010001 -111111001001 -100001000000 -011110100110 -111101010111 -011111011101 -110000110110 -110010011110 -110000110100 -010001101100 -011101111110 -110111001010 -011000111111 -101110010010 -001010101101 -101101101111 -000101001110 -111000010001 -110110100111 -010101000100 -111001000110 -011010100001 -111100011110 -100101110011 -110001000111 -101000101010 -100101111000 -000011101001 -011110110010 -101111011110 -100000111100 -001100000101 -101010111111 -101011110001 -000000001010 -000000010101 -000011000100 -111101011101 -100100000111 -001111010111 -010110001010 -011001000001 -110011110101 -010100010110 -001111101011 -101111011101 -001111001001 -011001101111 -000011000001 -101010000011 -111101100100 -110100100111 -101000011101 -010101101111 -000000001011 -110101101111 -001110011110 -100101010011 -001010100101 -001110111101 -001111101101 -111111010110 -101011110011 -110010111011 -101101101011 -101100011000 -000010100101 -010000010001 -010101001110 -011100111001 -010010000001 -010111010101 -101110001110 -000100111110 -011110100010 -001010110111 -100010000010 -110010100111 -011111001010 -111000110011 -011000010100 -110011000100 -010010100110 -011110110111 -011001010110 -000111001111 -000111000011 -110110011001 -011110001000 -011110100111 -101001100101 -001101010000 -000111101101 -001001010000 -001100110000 -111001001000 -111110010101 -001001011100 -111111011110 -010110101110 -101001110110 -000000110110 -001011110111 -011111010111 -111100111101 -111010001111 -001111111010 -110001010101 -110000011000 -000001011001 -000010101001 -010100101100 -011101010111 -110100111000 -001101000110 -001101011010 -010000011100 -110101011101 -010110011010 -101011011001 -001111111101 -100011101100 -010011010100 -101011101010 -011000110101 -010001001001 -101110111101 -001010001000 -110101010000 -010101000010 -101101001010 -101000001000 -010011100011 -100100111000 -100010110110 -011100101011 -000010110111 -111000010010 -011011111011 -101000010001 -001010110010 -110100110000 -010111000000 -001011101011 -001000010101 -000110110111 -111001010101 -000111001100 -011110010011 -110010010101 -100000000101 -110100001010 -100000010100 -100001010011 -100110011101 -111100001101 -111011111001 -101110111110 -001000100111 -100000010010 -011110000110 -010101010001 -101101100111 -010100011000 -100110111101 -001000001011 -100111101001 -101100100110 -000100010100 -010011111101 -010001100010 -011111111110 -001011111000 -011110110100 -100101101111 -110111110001 -111000110001 -010110101001 -010110011001 -001010111100 -011110000010 -100001100010 -010011001110 -101101011100 -011100100110 -101000001010 -111110111101 -111101001000 -000010110101 -110110001010 -100011101101 -110111101011 -111111100111 -101110101010 -011010110000 -100011111110 -101110101111 -101001101101 -001011001000 -010010101011 -011100000111 -001011111110 -001001000110 -111000101000 -011011000111 -111110110011 -110010110001 -100001000100 -000011010100 -000101010111 -001011000010 -010110010011 -010111110011 -010011100000 -100011110001 -000100101110 -001010010110 -011100111011 -001101100001 -000001000100 -111010101100 -010001011101 -001011010110 -011011000100 -110000101011 -111100000000 -111110010100 -010010010011 -001110000011 -110101000011 -110101101101 -110101000110 -010011011100 -101101000001 -100001001010 -101111011111 -110111011110 -101110001100 -001111010101 -010110101100 -011101001011 -101000010000 -111000101001 -011001100010 -111011110100 -111101111000 -110011100010 -010000111011 -001101101000 -111000000100 -011000001001 -101110000100 -101100011010 -011011010101 -111000001101 -101000111111 -100010100101 -111000011010 -010110001111 -010011000011 -100011101000 -100001000001 -101111100100 -011000100010 -010000101110 -011101101100 -000011010001 -100001110101 -010101111110 -000011110101 -110101110011 -011101101001 -010000000110 -001000111111 -011101110010 -001011011111 -010001100101 -011001000111 -001010011111 -100000110100 -010111011010 -001110111110 -000101101100 -111000101110 -001010110011 -000100101010 -010111100111 -000110101100 -010010111101 -110110101110 -010010100001 -111001011111 -001100011011 -111000011101 -111000010110 -000000000100 -000010110100 -010011110000 -011001011000 -111110001101 -000100000011 -001100010100 -111110000110 -000010111101 -111010001101 -110011011110 -101001111101 -110100111110 -011010000011 -000010000100 -111101110100 -010000101001 -111001010000 -110011100111 -010111010011 -000010101011 -010001110001 -100010000100 -100000001001 -011111101001 -101010001111 -001101001100 -111110011010 -001101001010 -101000010111 -011010111000 -011001101000 -101000111001 -100111110011 -000000000001 -100111011001 -011101110110 -100001111000 -010110101101 -011111000000 -101010100100 -100010101000 -001000011111 -010110000010 -000100000100 -001001000010 -111000010111 -110010101101 -101000101101 -001110110101 -110010011011 -011011001111 -101010001000 -011001110101 -101000000101 -010010111111 -110100110001 -000100110001 -000000110011 -111011100101 -111000100010 -100100100010 -011100010100 -010010001110 -000010011000 -111110111000 -100101010010 -000001110111 -101111101011 -100011001001 -110110101010 -111100100001 -000100110000 -001111001101 -100000010000 -011111000001 -001111101110 -100111101000 -000111111011 -000001011010 -010100110101 -001111010000 -111011000110 -101000001110 -000101011000 -101011001010 -100101101000 -110101011011 -111000100101 -100100101110 -111100101000 -100110101110 -110001111000 -111010111011 -011011000000 -000001101110 -110110010110 -111100010010 -111111011010 -101110010100 -111010110000 -011101000010 -111010011001 -101001011101 -101100010010 -010010111011 -011110010100 -100000101000 -000101101001 -001000100000 -101000101100 -011011100100 -011100100010 -111110000000 -011011010001 -010110111100 -110110101011 -111111000010 -111101001101 -110101001111 -111110001110 -100001011110 -101111100110 -011110111111 -011011111101 -001000010010 -110111100000 -110001110000 -100001000111 -000010100010 -100000100010 -100010001011 -000100001100 -000000001000 -111101010001 -010100010001 -111001101011 -011010001000 -010001011100 -010101001001 -000110101001 -001001100001 -101000000100 -000100000101 -100011011000 -101100101101 -100110100000 -010100000111 -110100101110 -001111100000 -011110110110 -001100111100 -001111100011 -100111111010 -110011111110 -110010011111 -110111111101 -110000011100 -101011000110 -100110011111 -000011110011 -111000111101 -101011000100 -010111011111 -000111011011 -111010111100 -001110111100 -100010110011 -010000000010 -010000011000 -001111000001 -100100001001 -110101010110 -101110001001 -010011001100 -101100000101 -001010111010 -001000001100 -111100010001 -111110100001 -101010110101 -111100001111 -110001110001 -000110110100 -100100101010 -111110101010 -110111101010 -000111101111 -111000101100 -000100011101 -001110001010 -011110011001 -110001001011 -000111001000 -010001001011 -000100011100 -100000101110 -010111111000 -111011110010 -010011101101 -011010000110 -010100001111 -100100001000 -100001011010 -100111111011 -100000101011 -011101011010 -111100111001 -110010110111 -001010000101 -101000100000 -001111100100 -001100111011 -011000101101 -001110101101 -100011000111 -001010001101 -100110111110 -001001101000 -111000011000 -011001011101 -000110100101 -101000110010 -110110010000 -110100001100 -000001111110 -000111010110 -110101000000 -110011110001 -110100110101 -011111100011 -111011011110 -111111001100 -110111100110 -011101010010 -010001110101 -001001101110 -010110100011 -101101110001 -000111101100 -000010111111 -111001101001 -000101111110 -000000011110 -110011001011 -010101010010 -111101001010 -001010101110 -111010100001 -101110000010 -001101010011 -001101101100 -000110000110 -000010111001 -110100100011 -011001110111 -100001110100 -011001101001 -000100011011 -111001100000 -101110101000 -000001000001 -010111001000 -101101110011 -111111011000 -000001111111 -101111110101 -000101101111 -010111111010 -111010100110 -110011000010 -001110110010 -011100000010 -001010101010 -110110001000 -100011111000 -110101011000 -011001100111 -000101110000 -010110110000 -011010010100 -000101100110 -001011000100 -011100110000 -111100011011 -110000101100 -101110100000 -011110000111 -100010101111 -110111000111 -100010110000 -110010001111 -000001011110 -111110000111 -101101100110 -011001010100 -011011011110 -111001100101 -110101100011 -010100111111 -001010011001 -101101001011 -000011100000 -000100001001 -001010010101 -111100100101 -111101001100 -010111110110 -100011110111 -100101001000 -011011100111 -010110000011 -101001101011 -001101001101 -101101011000 -011100000011 -100101001110 -110001000110 -101111100111 -011111110001 -001111001000 -001101010010 -101110101011 -001111011111 -001000010000 -011011101001 -010101100010 -111000000110 -000100100000 -110000000100 -011100000110 -010100100110 -011001001010 -111010101011 -111001011011 -101101011111 -010111110101 -100101110000 -000101011100 -001010011011 -110110111111 -110001001001 -000001100101 -111110010010 -100110110101 -010101100001 -000001010000 -111100111100 -111011001100 -101100101111 -111111001111 -111100110100 -011010011100 -010000001010 -010010110010 -101110110111 -010000100000 -100101101100 -111001110001 -001110011000 -101010000111 -110011001000 -101100111111 -010110010010 -110011111001 -000111001110 -011101011011 -111011111101 -101100010011 -010000100101 -111110110101 -110101011010 -010110110101 -111011000000 -010001110111 -101111001100 -000100111000 -001011010001 -010011111100 -110011110111 -001100010111 -000010001110 -011001001110 -111101101001 -001000011000 diff --git a/inputs/test_input04_1_0 b/inputs/test_input04 similarity index 100% rename from inputs/test_input04_1_0 rename to inputs/test_input04 diff --git a/inputs/test_input04_1_1 b/inputs/test_input04_1_1 deleted file mode 100644 index 26358a9..0000000 --- a/inputs/test_input04_1_1 +++ /dev/null @@ -1,601 +0,0 @@ -26,38,2,15,36,8,12,46,88,72,32,35,64,19,5,66,20,52,74,3,59,94,45,56,0,6,67,24,97,50,92,93,84,65,71,90,96,21,87,75,58,82,14,53,95,27,49,69,16,89,37,13,1,81,60,79,51,18,48,33,42,63,39,34,62,55,47,54,23,83,77,9,70,68,85,86,91,41,4,61,78,31,22,76,40,17,30,98,44,25,80,73,11,28,7,99,29,57,43,10 - -57 12 60 96 93 -73 87 63 70 91 -74 32 43 67 46 -59 34 5 35 82 -53 40 55 29 1 - -48 71 59 45 63 -13 42 23 95 39 -84 82 10 29 4 -16 91 32 92 62 -99 33 20 21 3 - -51 20 32 30 90 -86 88 89 1 73 - 5 64 78 81 22 -95 50 7 27 17 -39 82 46 35 92 - - 2 65 21 77 97 -50 46 38 99 82 -22 1 24 63 70 - 8 32 80 98 35 -57 67 25 81 18 - -64 7 26 44 14 -42 71 19 22 0 - 4 36 51 25 6 -69 59 90 15 88 -85 65 32 76 70 - - 8 69 75 42 44 -64 25 72 71 34 - 2 94 81 14 38 -97 89 59 23 88 -57 70 13 1 51 - -93 94 26 11 35 -63 57 84 10 92 -12 29 78 65 64 -54 75 61 50 81 -13 90 2 66 99 - -10 21 39 24 56 -90 49 25 80 59 -41 72 47 74 79 - 9 89 42 92 31 -20 1 32 58 83 - -81 11 58 2 69 -79 23 60 8 63 -94 9 0 45 34 -36 31 61 71 74 -51 48 59 99 70 - -66 47 88 16 18 -35 75 54 26 77 -23 55 33 3 19 -82 71 57 80 45 -22 8 40 76 20 - - 8 5 95 86 76 -49 21 82 78 77 -12 38 61 85 4 -14 54 42 40 39 -69 66 1 0 7 - -85 66 96 45 64 -25 55 36 76 37 -82 61 29 47 54 -73 94 3 59 24 -71 62 31 98 79 - -84 10 60 61 97 -75 90 95 6 8 -93 89 65 70 80 -35 15 46 55 77 -52 3 74 39 36 - -80 24 59 71 52 -17 43 45 8 6 -58 22 32 46 98 -48 3 56 31 77 -97 28 55 0 76 - -51 98 12 49 19 -28 94 9 97 85 - 5 78 47 93 24 -67 0 37 81 76 -77 48 15 69 50 - -34 45 5 80 14 -82 42 63 2 86 - 3 95 54 74 69 -46 27 49 92 66 - 0 85 98 83 17 - -41 99 93 62 96 -90 30 10 5 94 -98 32 83 78 25 -76 27 29 19 35 -58 91 34 31 3 - -31 1 24 96 36 -58 12 59 57 92 -84 5 55 49 41 -54 72 70 95 88 -66 50 22 35 15 - -35 57 69 13 93 -34 62 28 26 36 - 6 64 47 74 45 - 0 32 19 33 44 -65 25 90 91 1 - -57 96 70 15 89 - 7 65 29 12 34 -40 25 36 81 86 -58 39 27 79 59 -19 91 47 6 11 - -60 74 67 87 68 -80 53 42 91 89 -11 19 8 78 31 - 4 6 30 10 90 -64 41 27 59 12 - -45 0 86 81 34 - 8 29 53 12 32 -89 74 64 26 96 -60 13 87 35 73 -52 69 23 46 40 - -43 35 1 59 40 -63 74 7 53 94 -39 42 8 84 27 -66 65 46 82 80 -61 76 13 31 45 - -38 4 51 76 5 -36 57 3 86 84 -83 37 60 67 52 - 0 70 7 19 72 -62 99 9 75 58 - -95 47 78 27 14 -50 82 17 15 22 - 1 76 64 73 71 -24 26 42 79 55 -36 40 43 81 59 - -13 7 60 49 87 -30 31 99 19 82 -91 88 53 96 97 -37 11 47 32 81 -86 94 45 71 38 - -64 42 19 6 69 -33 2 61 98 55 -20 48 5 82 56 -78 11 65 59 74 -85 72 1 54 29 - -76 56 84 34 83 -16 26 33 50 3 -85 20 87 31 51 -62 7 28 96 8 -81 57 89 44 58 - -92 49 58 8 45 -47 89 48 91 71 -53 67 37 59 88 -24 69 96 61 16 - 2 6 68 95 60 - -99 60 39 96 0 -62 14 77 70 47 -72 98 66 42 58 -85 19 12 23 44 -68 28 51 94 82 - -59 32 45 99 92 -96 36 30 87 9 -61 54 71 94 22 -76 4 62 20 2 -40 18 43 70 44 - -22 54 77 12 3 - 5 11 41 19 58 -49 51 75 24 63 -42 20 43 92 69 -62 36 15 25 80 - -93 40 48 21 10 - 0 83 86 31 65 -52 7 17 67 72 -95 28 63 99 47 -51 22 85 55 44 - -43 26 86 80 94 -93 66 84 90 61 -91 58 71 73 89 - 9 72 81 48 54 -11 60 36 25 70 - -33 42 73 20 69 -15 12 27 72 14 -93 30 89 86 22 -77 25 80 85 74 -66 78 0 49 82 - -37 84 46 86 39 -55 31 96 17 43 -12 33 45 97 9 -44 57 25 77 78 - 5 73 81 35 58 - -19 41 87 94 59 -97 84 78 52 77 -70 15 91 53 1 -71 47 82 35 99 -25 55 58 39 29 - -29 74 31 73 72 -23 10 83 63 25 -18 26 79 35 65 -59 44 98 45 20 -67 7 87 28 11 - -83 89 92 55 72 -32 6 78 93 49 -66 77 5 60 61 -85 57 29 97 65 -86 84 48 20 75 - -85 82 83 66 86 -64 61 77 38 84 - 1 68 4 18 72 -56 97 37 98 74 -44 14 78 52 93 - -30 73 72 24 51 -78 3 97 39 5 -90 42 58 96 17 -33 95 44 27 1 -80 16 84 54 99 - -92 88 79 14 10 -24 52 80 46 51 -11 31 35 53 25 -44 54 63 33 93 -87 38 15 64 4 - -14 25 61 40 95 -34 17 97 38 26 -64 90 45 91 65 - 8 50 23 11 74 -32 33 22 88 28 - - 8 32 94 72 74 -27 29 22 2 76 -58 54 80 5 35 -36 24 83 59 25 -21 31 48 39 4 - -56 13 22 53 72 -61 60 81 87 86 - 7 74 98 28 11 -67 38 91 23 0 -42 84 24 3 47 - -29 98 43 45 30 -86 50 15 60 11 -18 34 8 67 24 -36 97 69 27 79 -35 87 52 55 61 - -40 50 30 75 72 - 1 62 85 21 11 -80 10 91 7 2 -27 31 73 25 29 -63 65 55 87 23 - -12 68 47 77 76 -98 30 6 51 80 -22 85 88 99 24 -35 90 82 18 37 -17 27 34 54 43 - -85 46 35 16 45 - 4 6 96 9 61 -44 90 64 29 50 -76 38 69 80 28 -27 23 51 8 7 - -72 8 62 61 83 - 0 30 92 29 7 -86 28 54 52 5 -32 97 82 68 31 -76 69 22 12 13 - -66 67 1 36 94 -80 99 49 47 38 -76 95 30 13 19 -83 21 45 44 43 -29 91 14 20 98 - - 8 80 3 82 99 -62 41 47 6 27 -12 72 76 81 36 -30 7 67 90 5 -85 31 83 49 19 - -25 91 86 47 27 -69 74 20 17 97 -59 45 87 28 75 -49 94 63 33 9 - 8 66 2 30 32 - -69 58 41 84 5 -27 2 22 65 88 -63 96 90 17 85 -26 52 86 20 8 - 3 9 59 50 57 - -80 85 90 5 56 -66 57 76 65 62 -81 74 15 38 32 - 0 75 61 16 79 -96 50 8 86 1 - -52 21 98 54 94 -73 90 87 58 50 -38 39 30 69 82 -55 12 81 48 29 -93 23 91 47 28 - -92 14 3 1 19 -18 27 91 62 86 -61 80 49 53 97 -77 98 52 0 8 -17 54 85 59 51 - -49 45 38 70 33 -96 18 63 5 99 -65 58 29 91 19 -78 7 98 39 17 -31 15 13 35 75 - -55 50 58 96 94 -67 72 4 40 90 -59 31 15 78 81 - 1 80 56 34 20 -27 52 88 75 53 - - 0 5 91 65 72 -53 42 4 50 25 -13 52 81 79 92 -46 89 55 58 95 -19 77 30 36 18 - -38 97 86 69 44 -70 52 14 19 29 - 9 36 96 24 80 -84 22 32 72 48 -28 3 46 42 87 - -94 93 31 33 38 -21 30 34 69 35 - 1 10 55 79 57 -54 28 44 78 73 - 8 20 45 41 23 - -32 13 49 80 68 -41 95 84 74 57 -15 61 5 77 67 -53 54 29 51 75 -24 66 36 88 90 - -74 49 19 2 66 -94 45 30 84 37 - 7 24 22 87 60 -13 40 57 9 1 -56 42 92 67 27 - -29 7 97 22 36 -80 77 92 3 67 -48 54 73 51 41 -28 8 55 24 4 -13 11 66 5 86 - -76 16 8 71 92 -23 61 53 27 43 -25 6 17 32 64 -40 69 21 84 93 -89 30 55 90 41 - -86 22 81 13 33 -35 87 82 77 71 -96 65 37 62 51 -16 72 36 93 23 -84 44 26 66 27 - - 4 73 52 35 43 -39 9 96 34 70 -19 67 38 10 54 -21 7 36 13 90 -84 28 59 57 75 - -55 7 32 68 97 -10 56 46 28 66 -74 81 18 73 26 -44 76 13 35 61 -90 36 45 64 58 - -96 62 97 87 95 -45 78 38 84 41 -91 19 88 25 22 -12 27 31 92 5 -15 83 7 53 71 - -31 17 96 6 47 - 3 90 27 89 75 -53 39 62 82 13 -52 34 23 83 87 -19 67 50 98 84 - -96 3 70 17 42 -50 74 65 53 31 -52 80 18 26 77 -29 57 95 25 81 -88 92 55 13 28 - -63 34 56 1 4 -40 97 10 5 50 -96 55 15 68 37 -43 33 89 72 3 -11 88 44 86 2 - -65 44 24 34 41 - 1 68 67 6 26 -27 88 73 25 9 -55 56 16 48 29 -33 18 77 3 94 - -91 75 35 33 56 -96 19 69 81 53 -25 14 32 74 22 -24 6 89 42 90 - 9 2 77 67 20 - -19 97 36 78 71 -16 26 99 23 92 -10 68 74 90 88 -30 60 96 11 34 - 8 76 35 53 22 - -84 15 76 31 63 - 1 34 96 70 35 -66 57 71 26 61 -83 41 74 85 60 -16 28 30 23 49 - -72 88 56 92 86 -12 44 71 47 30 -39 53 4 46 45 -38 5 9 35 25 - 8 61 13 50 82 - -62 92 49 21 95 -70 47 73 74 56 -17 89 0 39 60 -42 99 13 63 67 -43 16 11 20 84 - -13 30 59 84 12 -52 88 79 62 29 -99 39 95 55 70 -80 46 31 89 69 -74 71 65 3 38 - -47 86 21 24 22 - 0 62 69 38 59 -27 10 41 81 92 -14 51 35 13 17 -30 15 7 71 70 - -25 26 29 66 32 -68 46 77 45 86 -14 15 90 40 22 - 6 36 17 76 1 -80 55 83 98 79 - -98 76 58 27 39 -45 90 56 46 69 -10 41 54 82 25 -94 86 89 33 79 -16 30 87 24 83 - -66 28 93 91 68 -71 51 22 10 42 -29 20 77 17 8 -55 39 89 72 12 -98 78 65 48 41 - -49 25 80 64 99 -90 9 40 76 63 -60 93 46 4 27 -17 0 42 33 28 -59 26 18 69 75 - -35 0 76 58 31 -87 17 42 13 33 -70 67 61 52 12 -59 85 64 80 1 - 4 73 99 55 48 - -40 73 94 80 90 - 9 93 17 51 62 -96 0 57 82 47 -86 27 64 95 84 -16 99 37 41 44 - - 8 96 31 26 50 -20 69 75 82 89 -94 42 38 78 35 -83 13 45 62 43 -97 14 34 17 47 - -35 88 38 7 97 - 8 79 51 74 26 -60 22 53 5 33 -63 23 69 0 83 -21 44 91 95 18 - -64 77 4 0 15 -80 66 9 16 5 -75 8 18 40 91 -72 1 49 60 97 -14 24 34 65 92 - -84 75 31 56 55 -17 92 48 45 89 -88 52 10 90 47 -91 97 6 39 79 -99 65 11 42 93 - - 7 82 10 88 49 -11 66 54 3 53 - 4 73 71 42 92 -22 75 84 16 48 - 5 94 79 96 45 - -20 87 16 25 9 -15 70 19 72 56 -71 37 69 2 62 -76 97 41 8 92 -40 65 86 0 32 - -81 48 14 75 4 -70 30 6 74 62 -15 28 55 22 63 -36 32 35 86 71 -29 47 59 18 78 - -10 35 27 14 64 -43 19 86 71 36 -32 79 9 51 91 -17 67 26 41 56 -15 1 95 13 65 - -74 79 22 30 46 -80 55 57 14 37 -59 88 40 83 56 -63 10 97 64 7 -77 61 53 91 20 - -53 81 13 72 67 -79 10 71 11 8 - 0 99 60 20 4 - 7 45 89 66 98 -50 36 80 57 5 - - 5 7 35 4 29 -28 65 31 86 33 -66 98 75 13 92 -38 67 80 46 11 - 9 15 57 71 32 - -21 33 22 77 5 - 0 6 59 37 69 -50 45 32 60 96 - 9 39 28 56 57 -34 46 43 52 25 - -67 11 21 53 60 -52 58 54 94 47 -84 46 72 81 16 -31 51 23 36 97 -80 43 75 99 79 diff --git a/inputs/test_input04_2_0 b/inputs/test_input04_2_0 deleted file mode 100644 index 669a51d..0000000 --- a/inputs/test_input04_2_0 +++ /dev/null @@ -1,19 +0,0 @@ -7,4,9,5,11,17,23,2,0,14,21,24,10,16,13,6,15,25,12,22,18,20,8,19,3,26,1 - -22 13 17 11 0 - 8 2 23 4 24 -21 9 14 16 7 - 6 10 3 18 5 - 1 12 20 15 19 - - 3 15 0 2 22 - 9 18 13 17 5 -19 8 7 25 23 -20 11 10 24 4 -14 21 16 12 6 - -14 21 17 24 4 -10 16 15 9 19 -18 8 23 26 20 -22 11 13 6 5 - 2 0 12 3 7 diff --git a/inputs/test_input04_2_1 b/inputs/test_input04_2_1 deleted file mode 100644 index 26358a9..0000000 --- a/inputs/test_input04_2_1 +++ /dev/null @@ -1,601 +0,0 @@ -26,38,2,15,36,8,12,46,88,72,32,35,64,19,5,66,20,52,74,3,59,94,45,56,0,6,67,24,97,50,92,93,84,65,71,90,96,21,87,75,58,82,14,53,95,27,49,69,16,89,37,13,1,81,60,79,51,18,48,33,42,63,39,34,62,55,47,54,23,83,77,9,70,68,85,86,91,41,4,61,78,31,22,76,40,17,30,98,44,25,80,73,11,28,7,99,29,57,43,10 - -57 12 60 96 93 -73 87 63 70 91 -74 32 43 67 46 -59 34 5 35 82 -53 40 55 29 1 - -48 71 59 45 63 -13 42 23 95 39 -84 82 10 29 4 -16 91 32 92 62 -99 33 20 21 3 - -51 20 32 30 90 -86 88 89 1 73 - 5 64 78 81 22 -95 50 7 27 17 -39 82 46 35 92 - - 2 65 21 77 97 -50 46 38 99 82 -22 1 24 63 70 - 8 32 80 98 35 -57 67 25 81 18 - -64 7 26 44 14 -42 71 19 22 0 - 4 36 51 25 6 -69 59 90 15 88 -85 65 32 76 70 - - 8 69 75 42 44 -64 25 72 71 34 - 2 94 81 14 38 -97 89 59 23 88 -57 70 13 1 51 - -93 94 26 11 35 -63 57 84 10 92 -12 29 78 65 64 -54 75 61 50 81 -13 90 2 66 99 - -10 21 39 24 56 -90 49 25 80 59 -41 72 47 74 79 - 9 89 42 92 31 -20 1 32 58 83 - -81 11 58 2 69 -79 23 60 8 63 -94 9 0 45 34 -36 31 61 71 74 -51 48 59 99 70 - -66 47 88 16 18 -35 75 54 26 77 -23 55 33 3 19 -82 71 57 80 45 -22 8 40 76 20 - - 8 5 95 86 76 -49 21 82 78 77 -12 38 61 85 4 -14 54 42 40 39 -69 66 1 0 7 - -85 66 96 45 64 -25 55 36 76 37 -82 61 29 47 54 -73 94 3 59 24 -71 62 31 98 79 - -84 10 60 61 97 -75 90 95 6 8 -93 89 65 70 80 -35 15 46 55 77 -52 3 74 39 36 - -80 24 59 71 52 -17 43 45 8 6 -58 22 32 46 98 -48 3 56 31 77 -97 28 55 0 76 - -51 98 12 49 19 -28 94 9 97 85 - 5 78 47 93 24 -67 0 37 81 76 -77 48 15 69 50 - -34 45 5 80 14 -82 42 63 2 86 - 3 95 54 74 69 -46 27 49 92 66 - 0 85 98 83 17 - -41 99 93 62 96 -90 30 10 5 94 -98 32 83 78 25 -76 27 29 19 35 -58 91 34 31 3 - -31 1 24 96 36 -58 12 59 57 92 -84 5 55 49 41 -54 72 70 95 88 -66 50 22 35 15 - -35 57 69 13 93 -34 62 28 26 36 - 6 64 47 74 45 - 0 32 19 33 44 -65 25 90 91 1 - -57 96 70 15 89 - 7 65 29 12 34 -40 25 36 81 86 -58 39 27 79 59 -19 91 47 6 11 - -60 74 67 87 68 -80 53 42 91 89 -11 19 8 78 31 - 4 6 30 10 90 -64 41 27 59 12 - -45 0 86 81 34 - 8 29 53 12 32 -89 74 64 26 96 -60 13 87 35 73 -52 69 23 46 40 - -43 35 1 59 40 -63 74 7 53 94 -39 42 8 84 27 -66 65 46 82 80 -61 76 13 31 45 - -38 4 51 76 5 -36 57 3 86 84 -83 37 60 67 52 - 0 70 7 19 72 -62 99 9 75 58 - -95 47 78 27 14 -50 82 17 15 22 - 1 76 64 73 71 -24 26 42 79 55 -36 40 43 81 59 - -13 7 60 49 87 -30 31 99 19 82 -91 88 53 96 97 -37 11 47 32 81 -86 94 45 71 38 - -64 42 19 6 69 -33 2 61 98 55 -20 48 5 82 56 -78 11 65 59 74 -85 72 1 54 29 - -76 56 84 34 83 -16 26 33 50 3 -85 20 87 31 51 -62 7 28 96 8 -81 57 89 44 58 - -92 49 58 8 45 -47 89 48 91 71 -53 67 37 59 88 -24 69 96 61 16 - 2 6 68 95 60 - -99 60 39 96 0 -62 14 77 70 47 -72 98 66 42 58 -85 19 12 23 44 -68 28 51 94 82 - -59 32 45 99 92 -96 36 30 87 9 -61 54 71 94 22 -76 4 62 20 2 -40 18 43 70 44 - -22 54 77 12 3 - 5 11 41 19 58 -49 51 75 24 63 -42 20 43 92 69 -62 36 15 25 80 - -93 40 48 21 10 - 0 83 86 31 65 -52 7 17 67 72 -95 28 63 99 47 -51 22 85 55 44 - -43 26 86 80 94 -93 66 84 90 61 -91 58 71 73 89 - 9 72 81 48 54 -11 60 36 25 70 - -33 42 73 20 69 -15 12 27 72 14 -93 30 89 86 22 -77 25 80 85 74 -66 78 0 49 82 - -37 84 46 86 39 -55 31 96 17 43 -12 33 45 97 9 -44 57 25 77 78 - 5 73 81 35 58 - -19 41 87 94 59 -97 84 78 52 77 -70 15 91 53 1 -71 47 82 35 99 -25 55 58 39 29 - -29 74 31 73 72 -23 10 83 63 25 -18 26 79 35 65 -59 44 98 45 20 -67 7 87 28 11 - -83 89 92 55 72 -32 6 78 93 49 -66 77 5 60 61 -85 57 29 97 65 -86 84 48 20 75 - -85 82 83 66 86 -64 61 77 38 84 - 1 68 4 18 72 -56 97 37 98 74 -44 14 78 52 93 - -30 73 72 24 51 -78 3 97 39 5 -90 42 58 96 17 -33 95 44 27 1 -80 16 84 54 99 - -92 88 79 14 10 -24 52 80 46 51 -11 31 35 53 25 -44 54 63 33 93 -87 38 15 64 4 - -14 25 61 40 95 -34 17 97 38 26 -64 90 45 91 65 - 8 50 23 11 74 -32 33 22 88 28 - - 8 32 94 72 74 -27 29 22 2 76 -58 54 80 5 35 -36 24 83 59 25 -21 31 48 39 4 - -56 13 22 53 72 -61 60 81 87 86 - 7 74 98 28 11 -67 38 91 23 0 -42 84 24 3 47 - -29 98 43 45 30 -86 50 15 60 11 -18 34 8 67 24 -36 97 69 27 79 -35 87 52 55 61 - -40 50 30 75 72 - 1 62 85 21 11 -80 10 91 7 2 -27 31 73 25 29 -63 65 55 87 23 - -12 68 47 77 76 -98 30 6 51 80 -22 85 88 99 24 -35 90 82 18 37 -17 27 34 54 43 - -85 46 35 16 45 - 4 6 96 9 61 -44 90 64 29 50 -76 38 69 80 28 -27 23 51 8 7 - -72 8 62 61 83 - 0 30 92 29 7 -86 28 54 52 5 -32 97 82 68 31 -76 69 22 12 13 - -66 67 1 36 94 -80 99 49 47 38 -76 95 30 13 19 -83 21 45 44 43 -29 91 14 20 98 - - 8 80 3 82 99 -62 41 47 6 27 -12 72 76 81 36 -30 7 67 90 5 -85 31 83 49 19 - -25 91 86 47 27 -69 74 20 17 97 -59 45 87 28 75 -49 94 63 33 9 - 8 66 2 30 32 - -69 58 41 84 5 -27 2 22 65 88 -63 96 90 17 85 -26 52 86 20 8 - 3 9 59 50 57 - -80 85 90 5 56 -66 57 76 65 62 -81 74 15 38 32 - 0 75 61 16 79 -96 50 8 86 1 - -52 21 98 54 94 -73 90 87 58 50 -38 39 30 69 82 -55 12 81 48 29 -93 23 91 47 28 - -92 14 3 1 19 -18 27 91 62 86 -61 80 49 53 97 -77 98 52 0 8 -17 54 85 59 51 - -49 45 38 70 33 -96 18 63 5 99 -65 58 29 91 19 -78 7 98 39 17 -31 15 13 35 75 - -55 50 58 96 94 -67 72 4 40 90 -59 31 15 78 81 - 1 80 56 34 20 -27 52 88 75 53 - - 0 5 91 65 72 -53 42 4 50 25 -13 52 81 79 92 -46 89 55 58 95 -19 77 30 36 18 - -38 97 86 69 44 -70 52 14 19 29 - 9 36 96 24 80 -84 22 32 72 48 -28 3 46 42 87 - -94 93 31 33 38 -21 30 34 69 35 - 1 10 55 79 57 -54 28 44 78 73 - 8 20 45 41 23 - -32 13 49 80 68 -41 95 84 74 57 -15 61 5 77 67 -53 54 29 51 75 -24 66 36 88 90 - -74 49 19 2 66 -94 45 30 84 37 - 7 24 22 87 60 -13 40 57 9 1 -56 42 92 67 27 - -29 7 97 22 36 -80 77 92 3 67 -48 54 73 51 41 -28 8 55 24 4 -13 11 66 5 86 - -76 16 8 71 92 -23 61 53 27 43 -25 6 17 32 64 -40 69 21 84 93 -89 30 55 90 41 - -86 22 81 13 33 -35 87 82 77 71 -96 65 37 62 51 -16 72 36 93 23 -84 44 26 66 27 - - 4 73 52 35 43 -39 9 96 34 70 -19 67 38 10 54 -21 7 36 13 90 -84 28 59 57 75 - -55 7 32 68 97 -10 56 46 28 66 -74 81 18 73 26 -44 76 13 35 61 -90 36 45 64 58 - -96 62 97 87 95 -45 78 38 84 41 -91 19 88 25 22 -12 27 31 92 5 -15 83 7 53 71 - -31 17 96 6 47 - 3 90 27 89 75 -53 39 62 82 13 -52 34 23 83 87 -19 67 50 98 84 - -96 3 70 17 42 -50 74 65 53 31 -52 80 18 26 77 -29 57 95 25 81 -88 92 55 13 28 - -63 34 56 1 4 -40 97 10 5 50 -96 55 15 68 37 -43 33 89 72 3 -11 88 44 86 2 - -65 44 24 34 41 - 1 68 67 6 26 -27 88 73 25 9 -55 56 16 48 29 -33 18 77 3 94 - -91 75 35 33 56 -96 19 69 81 53 -25 14 32 74 22 -24 6 89 42 90 - 9 2 77 67 20 - -19 97 36 78 71 -16 26 99 23 92 -10 68 74 90 88 -30 60 96 11 34 - 8 76 35 53 22 - -84 15 76 31 63 - 1 34 96 70 35 -66 57 71 26 61 -83 41 74 85 60 -16 28 30 23 49 - -72 88 56 92 86 -12 44 71 47 30 -39 53 4 46 45 -38 5 9 35 25 - 8 61 13 50 82 - -62 92 49 21 95 -70 47 73 74 56 -17 89 0 39 60 -42 99 13 63 67 -43 16 11 20 84 - -13 30 59 84 12 -52 88 79 62 29 -99 39 95 55 70 -80 46 31 89 69 -74 71 65 3 38 - -47 86 21 24 22 - 0 62 69 38 59 -27 10 41 81 92 -14 51 35 13 17 -30 15 7 71 70 - -25 26 29 66 32 -68 46 77 45 86 -14 15 90 40 22 - 6 36 17 76 1 -80 55 83 98 79 - -98 76 58 27 39 -45 90 56 46 69 -10 41 54 82 25 -94 86 89 33 79 -16 30 87 24 83 - -66 28 93 91 68 -71 51 22 10 42 -29 20 77 17 8 -55 39 89 72 12 -98 78 65 48 41 - -49 25 80 64 99 -90 9 40 76 63 -60 93 46 4 27 -17 0 42 33 28 -59 26 18 69 75 - -35 0 76 58 31 -87 17 42 13 33 -70 67 61 52 12 -59 85 64 80 1 - 4 73 99 55 48 - -40 73 94 80 90 - 9 93 17 51 62 -96 0 57 82 47 -86 27 64 95 84 -16 99 37 41 44 - - 8 96 31 26 50 -20 69 75 82 89 -94 42 38 78 35 -83 13 45 62 43 -97 14 34 17 47 - -35 88 38 7 97 - 8 79 51 74 26 -60 22 53 5 33 -63 23 69 0 83 -21 44 91 95 18 - -64 77 4 0 15 -80 66 9 16 5 -75 8 18 40 91 -72 1 49 60 97 -14 24 34 65 92 - -84 75 31 56 55 -17 92 48 45 89 -88 52 10 90 47 -91 97 6 39 79 -99 65 11 42 93 - - 7 82 10 88 49 -11 66 54 3 53 - 4 73 71 42 92 -22 75 84 16 48 - 5 94 79 96 45 - -20 87 16 25 9 -15 70 19 72 56 -71 37 69 2 62 -76 97 41 8 92 -40 65 86 0 32 - -81 48 14 75 4 -70 30 6 74 62 -15 28 55 22 63 -36 32 35 86 71 -29 47 59 18 78 - -10 35 27 14 64 -43 19 86 71 36 -32 79 9 51 91 -17 67 26 41 56 -15 1 95 13 65 - -74 79 22 30 46 -80 55 57 14 37 -59 88 40 83 56 -63 10 97 64 7 -77 61 53 91 20 - -53 81 13 72 67 -79 10 71 11 8 - 0 99 60 20 4 - 7 45 89 66 98 -50 36 80 57 5 - - 5 7 35 4 29 -28 65 31 86 33 -66 98 75 13 92 -38 67 80 46 11 - 9 15 57 71 32 - -21 33 22 77 5 - 0 6 59 37 69 -50 45 32 60 96 - 9 39 28 56 57 -34 46 43 52 25 - -67 11 21 53 60 -52 58 54 94 47 -84 46 72 81 16 -31 51 23 36 97 -80 43 75 99 79 diff --git a/inputs/test_input05_1_0 b/inputs/test_input05 similarity index 100% rename from inputs/test_input05_1_0 rename to inputs/test_input05 diff --git a/inputs/test_input05_1_1 b/inputs/test_input05_1_1 deleted file mode 100644 index 69f6044..0000000 --- a/inputs/test_input05_1_1 +++ /dev/null @@ -1,500 +0,0 @@ -365,809 -> 365,271 -899,814 -> 899,921 -967,913 -> 434,913 -971,362 -> 631,362 -597,422 -> 597,575 -722,82 -> 722,365 -98,891 -> 972,17 -361,534 -> 361,52 -958,858 -> 958,612 -261,683 -> 261,477 -859,381 -> 850,372 -773,305 -> 703,305 -527,318 -> 281,72 -29,119 -> 863,953 -428,723 -> 428,971 -582,787 -> 582,326 -795,495 -> 795,525 -920,548 -> 920,718 -421,264 -> 714,557 -635,310 -> 635,983 -751,479 -> 534,696 -121,768 -> 121,129 -679,858 -> 737,858 -499,549 -> 603,653 -398,95 -> 398,537 -459,626 -> 473,626 -611,905 -> 854,662 -139,124 -> 568,124 -230,921 -> 960,191 -550,258 -> 883,258 -866,830 -> 681,645 -501,840 -> 774,840 -383,900 -> 383,536 -635,690 -> 868,690 -37,948 -> 954,31 -785,598 -> 785,955 -844,957 -> 130,243 -395,307 -> 562,307 -463,286 -> 374,286 -798,351 -> 52,351 -549,79 -> 549,300 -153,847 -> 977,23 -499,976 -> 499,576 -687,281 -> 621,215 -765,640 -> 794,640 -776,287 -> 906,157 -879,108 -> 333,108 -340,565 -> 340,521 -706,809 -> 159,262 -725,896 -> 941,896 -673,470 -> 792,470 -446,562 -> 638,754 -315,626 -> 189,500 -816,637 -> 77,637 -171,313 -> 171,82 -941,19 -> 150,810 -885,854 -> 513,854 -864,177 -> 864,213 -156,150 -> 544,538 -810,20 -> 344,486 -651,757 -> 623,729 -567,475 -> 126,475 -436,975 -> 707,975 -948,977 -> 138,167 -498,186 -> 601,289 -532,900 -> 532,515 -12,809 -> 60,761 -561,344 -> 453,452 -241,600 -> 780,61 -600,574 -> 258,232 -53,661 -> 224,490 -735,134 -> 735,707 -850,14 -> 398,14 -472,489 -> 472,22 -949,196 -> 492,196 -220,30 -> 959,769 -354,889 -> 632,889 -779,537 -> 397,919 -136,876 -> 896,116 -12,983 -> 930,65 -716,856 -> 716,516 -595,604 -> 595,97 -863,70 -> 946,70 -13,988 -> 988,13 -595,955 -> 978,955 -138,300 -> 138,452 -801,883 -> 830,854 -189,13 -> 110,13 -315,68 -> 147,68 -594,977 -> 594,707 -424,726 -> 836,314 -596,790 -> 842,790 -135,135 -> 823,823 -257,639 -> 718,178 -462,859 -> 965,859 -935,29 -> 18,946 -308,841 -> 676,473 -372,607 -> 946,607 -518,806 -> 201,489 -620,689 -> 620,480 -376,378 -> 376,900 -86,675 -> 179,768 -509,790 -> 509,501 -778,143 -> 778,474 -965,140 -> 194,911 -621,458 -> 316,153 -83,931 -> 959,55 -533,647 -> 402,778 -957,336 -> 397,336 -929,788 -> 929,587 -642,978 -> 647,978 -429,275 -> 276,275 -662,821 -> 120,279 -137,208 -> 85,260 -815,641 -> 763,589 -222,510 -> 881,510 -892,930 -> 845,930 -288,268 -> 288,509 -900,13 -> 79,13 -438,764 -> 248,764 -391,495 -> 391,771 -868,713 -> 223,68 -680,180 -> 680,553 -911,389 -> 911,578 -107,182 -> 107,555 -944,787 -> 944,25 -405,193 -> 569,193 -341,182 -> 952,182 -497,197 -> 820,197 -204,224 -> 693,224 -342,290 -> 342,479 -881,281 -> 881,899 -971,987 -> 11,27 -389,729 -> 501,729 -638,939 -> 316,617 -923,799 -> 923,84 -17,744 -> 17,47 -305,163 -> 305,506 -703,414 -> 74,414 -572,537 -> 122,987 -385,364 -> 385,403 -667,825 -> 667,607 -466,86 -> 842,86 -591,209 -> 151,649 -329,526 -> 329,772 -756,769 -> 122,135 -638,454 -> 380,454 -316,98 -> 654,98 -273,740 -> 627,386 -88,982 -> 963,107 -913,710 -> 913,157 -530,410 -> 129,410 -660,237 -> 256,641 -865,149 -> 865,934 -769,47 -> 76,740 -520,876 -> 520,630 -101,839 -> 394,546 -422,874 -> 330,874 -987,19 -> 20,986 -398,771 -> 174,771 -574,546 -> 582,546 -896,52 -> 11,937 -927,927 -> 927,923 -111,822 -> 953,822 -633,130 -> 76,130 -193,74 -> 193,400 -887,828 -> 887,160 -284,313 -> 500,97 -813,500 -> 839,500 -312,534 -> 129,534 -202,34 -> 202,196 -740,597 -> 681,597 -37,979 -> 892,124 -494,235 -> 494,426 -334,892 -> 334,788 -679,728 -> 947,728 -635,557 -> 242,950 -301,713 -> 326,738 -261,867 -> 986,867 -959,344 -> 412,891 -605,659 -> 647,701 -806,931 -> 270,395 -546,107 -> 150,107 -836,793 -> 131,88 -231,572 -> 99,572 -257,580 -> 257,459 -254,669 -> 254,52 -105,26 -> 973,894 -101,532 -> 339,770 -854,695 -> 319,160 -599,190 -> 227,562 -783,816 -> 370,816 -505,638 -> 889,638 -742,615 -> 742,399 -984,750 -> 984,662 -295,736 -> 937,94 -762,435 -> 239,958 -876,89 -> 758,89 -178,964 -> 651,964 -385,389 -> 67,71 -514,967 -> 462,915 -819,758 -> 819,978 -541,109 -> 767,109 -137,262 -> 137,815 -720,591 -> 934,805 -56,79 -> 752,775 -493,519 -> 493,278 -202,718 -> 202,344 -665,24 -> 446,24 -426,845 -> 426,193 -116,930 -> 982,64 -625,587 -> 625,908 -13,965 -> 919,59 -124,466 -> 124,194 -793,249 -> 480,562 -20,174 -> 359,174 -982,988 -> 25,31 -71,416 -> 586,416 -157,122 -> 363,122 -31,453 -> 344,453 -435,284 -> 387,284 -389,446 -> 379,446 -913,536 -> 32,536 -505,952 -> 505,495 -489,159 -> 222,426 -267,118 -> 954,805 -15,833 -> 15,323 -77,197 -> 946,197 -955,22 -> 955,798 -620,707 -> 620,915 -740,495 -> 740,334 -770,735 -> 770,184 -420,524 -> 420,108 -382,982 -> 556,982 -111,777 -> 867,21 -280,105 -> 915,740 -235,23 -> 863,651 -679,402 -> 197,884 -72,77 -> 829,834 -858,486 -> 443,486 -403,115 -> 403,342 -489,547 -> 489,53 -404,280 -> 950,826 -680,458 -> 260,458 -10,610 -> 315,915 -386,630 -> 128,888 -293,732 -> 293,861 -204,378 -> 116,378 -90,269 -> 90,173 -893,869 -> 92,68 -741,694 -> 741,136 -620,449 -> 620,62 -866,678 -> 441,253 -885,212 -> 167,930 -868,853 -> 868,852 -392,926 -> 982,336 -252,930 -> 829,930 -758,606 -> 949,606 -79,895 -> 798,176 -394,688 -> 901,688 -355,217 -> 355,732 -43,23 -> 903,883 -426,691 -> 695,422 -970,416 -> 970,950 -317,334 -> 957,974 -198,160 -> 198,195 -610,191 -> 852,191 -388,569 -> 899,58 -490,662 -> 517,689 -691,627 -> 643,627 -404,564 -> 539,564 -946,623 -> 478,155 -686,608 -> 686,213 -573,508 -> 47,508 -610,262 -> 610,905 -782,602 -> 581,602 -987,378 -> 987,391 -443,243 -> 447,243 -710,493 -> 54,493 -564,179 -> 564,966 -828,673 -> 828,691 -761,869 -> 260,869 -810,949 -> 192,331 -674,263 -> 467,263 -481,81 -> 940,540 -779,301 -> 159,301 -763,457 -> 574,646 -794,770 -> 784,780 -19,964 -> 973,10 -809,720 -> 809,142 -822,324 -> 822,112 -120,980 -> 354,980 -238,277 -> 636,675 -747,647 -> 550,450 -419,205 -> 419,494 -34,968 -> 719,283 -306,591 -> 401,496 -648,673 -> 526,795 -486,426 -> 44,426 -441,642 -> 137,338 -396,740 -> 585,740 -741,227 -> 117,851 -620,263 -> 319,263 -421,321 -> 300,321 -732,387 -> 732,784 -445,59 -> 445,273 -151,910 -> 220,841 -836,599 -> 274,599 -598,193 -> 95,193 -718,765 -> 884,931 -403,165 -> 591,165 -241,441 -> 736,441 -902,986 -> 190,274 -190,671 -> 190,342 -887,301 -> 887,216 -878,747 -> 244,113 -93,747 -> 814,26 -764,604 -> 764,444 -510,852 -> 175,852 -50,718 -> 132,718 -791,436 -> 95,436 -751,122 -> 751,146 -953,162 -> 953,168 -113,546 -> 113,828 -752,407 -> 482,407 -398,412 -> 305,412 -912,630 -> 830,630 -699,155 -> 354,155 -842,874 -> 451,483 -18,83 -> 580,645 -63,594 -> 945,594 -557,286 -> 557,773 -21,448 -> 21,11 -955,724 -> 955,353 -857,411 -> 857,41 -605,932 -> 605,159 -985,64 -> 216,833 -34,673 -> 610,97 -888,764 -> 888,415 -574,801 -> 646,801 -290,593 -> 290,694 -151,72 -> 887,808 -632,53 -> 632,98 -346,686 -> 963,69 -258,129 -> 582,453 -189,205 -> 646,662 -272,821 -> 946,147 -409,531 -> 462,478 -725,575 -> 894,575 -885,888 -> 885,878 -475,210 -> 763,210 -42,963 -> 920,85 -985,213 -> 271,213 -538,842 -> 482,842 -175,529 -> 662,529 -853,670 -> 259,76 -656,364 -> 373,647 -114,134 -> 827,134 -58,878 -> 58,569 -45,340 -> 684,979 -35,829 -> 611,829 -625,166 -> 625,898 -849,980 -> 143,980 -720,92 -> 330,92 -689,255 -> 689,389 -842,526 -> 867,526 -834,399 -> 395,838 -325,212 -> 786,673 -934,941 -> 31,38 -211,640 -> 812,39 -449,896 -> 82,896 -795,757 -> 630,592 -894,691 -> 894,11 -639,839 -> 639,360 -941,862 -> 676,862 -480,757 -> 480,123 -425,734 -> 425,332 -391,704 -> 350,745 -173,352 -> 131,352 -814,703 -> 814,150 -347,156 -> 609,156 -427,520 -> 862,520 -787,724 -> 206,724 -313,587 -> 312,587 -743,491 -> 743,580 -277,964 -> 845,396 -132,65 -> 864,797 -227,619 -> 227,365 -360,484 -> 299,484 -717,790 -> 875,790 -798,480 -> 413,95 -643,518 -> 643,407 -939,530 -> 440,31 -241,44 -> 241,82 -362,49 -> 316,49 -160,98 -> 382,98 -67,593 -> 508,593 -363,456 -> 470,456 -644,63 -> 273,63 -341,696 -> 72,696 -270,303 -> 270,60 -716,391 -> 716,983 -678,904 -> 756,826 -480,487 -> 290,487 -762,316 -> 762,969 -380,735 -> 380,652 -223,922 -> 436,709 -690,733 -> 815,733 -185,130 -> 555,130 -10,931 -> 924,17 -678,940 -> 891,940 -702,112 -> 702,673 -554,559 -> 812,301 -406,758 -> 377,758 -361,119 -> 96,384 -787,356 -> 787,963 -957,54 -> 23,988 -636,650 -> 34,48 -170,21 -> 170,541 -955,103 -> 85,973 -144,698 -> 381,698 -85,55 -> 925,895 -12,15 -> 978,981 -32,954 -> 32,301 -438,234 -> 195,477 -121,438 -> 121,542 -353,607 -> 919,607 -978,646 -> 978,643 -925,112 -> 925,646 -447,120 -> 447,104 -332,398 -> 568,162 -399,841 -> 276,841 -923,853 -> 923,820 -890,202 -> 964,202 -306,782 -> 871,217 -547,558 -> 21,32 -893,164 -> 508,549 -485,76 -> 361,76 -713,768 -> 570,768 -314,18 -> 461,18 -618,281 -> 715,281 -374,787 -> 374,209 -324,97 -> 405,97 -890,729 -> 566,729 -762,438 -> 762,978 -274,49 -> 274,525 -905,34 -> 905,741 -799,384 -> 799,742 -378,358 -> 378,17 -805,131 -> 31,905 -640,453 -> 640,800 -563,305 -> 563,945 -898,590 -> 57,590 -513,187 -> 513,76 -706,407 -> 500,407 -235,69 -> 861,695 -408,259 -> 624,43 -327,308 -> 722,308 -109,247 -> 183,247 -487,493 -> 619,625 -769,452 -> 899,452 -727,765 -> 524,968 -887,472 -> 801,472 -157,100 -> 936,879 -584,658 -> 584,582 -557,488 -> 557,510 -790,35 -> 28,797 -458,920 -> 350,812 -54,797 -> 790,61 -59,387 -> 59,334 -565,368 -> 268,368 -70,146 -> 70,525 -681,451 -> 242,890 -869,831 -> 869,272 -276,184 -> 276,517 -984,922 -> 984,426 -616,572 -> 307,881 -323,806 -> 700,806 -595,547 -> 595,651 -731,638 -> 731,582 -760,836 -> 31,107 -768,377 -> 347,798 -847,765 -> 431,765 -777,95 -> 777,837 -832,330 -> 460,330 -423,213 -> 423,110 -937,549 -> 937,882 -529,735 -> 570,735 -436,343 -> 771,343 -965,833 -> 965,143 -518,484 -> 65,31 -940,989 -> 940,293 -983,63 -> 63,983 -237,733 -> 237,735 -624,281 -> 624,330 -473,719 -> 633,719 -312,489 -> 872,489 -369,520 -> 539,520 -80,705 -> 133,652 -659,289 -> 163,785 diff --git a/inputs/test_input05_2_0 b/inputs/test_input05_2_0 deleted file mode 100644 index b258f68..0000000 --- a/inputs/test_input05_2_0 +++ /dev/null @@ -1,10 +0,0 @@ -0,9 -> 5,9 -8,0 -> 0,8 -9,4 -> 3,4 -2,2 -> 2,1 -7,0 -> 7,4 -6,4 -> 2,0 -0,9 -> 2,9 -3,4 -> 1,4 -0,0 -> 8,8 -5,5 -> 8,2 diff --git a/inputs/test_input05_2_1 b/inputs/test_input05_2_1 deleted file mode 100644 index 69f6044..0000000 --- a/inputs/test_input05_2_1 +++ /dev/null @@ -1,500 +0,0 @@ -365,809 -> 365,271 -899,814 -> 899,921 -967,913 -> 434,913 -971,362 -> 631,362 -597,422 -> 597,575 -722,82 -> 722,365 -98,891 -> 972,17 -361,534 -> 361,52 -958,858 -> 958,612 -261,683 -> 261,477 -859,381 -> 850,372 -773,305 -> 703,305 -527,318 -> 281,72 -29,119 -> 863,953 -428,723 -> 428,971 -582,787 -> 582,326 -795,495 -> 795,525 -920,548 -> 920,718 -421,264 -> 714,557 -635,310 -> 635,983 -751,479 -> 534,696 -121,768 -> 121,129 -679,858 -> 737,858 -499,549 -> 603,653 -398,95 -> 398,537 -459,626 -> 473,626 -611,905 -> 854,662 -139,124 -> 568,124 -230,921 -> 960,191 -550,258 -> 883,258 -866,830 -> 681,645 -501,840 -> 774,840 -383,900 -> 383,536 -635,690 -> 868,690 -37,948 -> 954,31 -785,598 -> 785,955 -844,957 -> 130,243 -395,307 -> 562,307 -463,286 -> 374,286 -798,351 -> 52,351 -549,79 -> 549,300 -153,847 -> 977,23 -499,976 -> 499,576 -687,281 -> 621,215 -765,640 -> 794,640 -776,287 -> 906,157 -879,108 -> 333,108 -340,565 -> 340,521 -706,809 -> 159,262 -725,896 -> 941,896 -673,470 -> 792,470 -446,562 -> 638,754 -315,626 -> 189,500 -816,637 -> 77,637 -171,313 -> 171,82 -941,19 -> 150,810 -885,854 -> 513,854 -864,177 -> 864,213 -156,150 -> 544,538 -810,20 -> 344,486 -651,757 -> 623,729 -567,475 -> 126,475 -436,975 -> 707,975 -948,977 -> 138,167 -498,186 -> 601,289 -532,900 -> 532,515 -12,809 -> 60,761 -561,344 -> 453,452 -241,600 -> 780,61 -600,574 -> 258,232 -53,661 -> 224,490 -735,134 -> 735,707 -850,14 -> 398,14 -472,489 -> 472,22 -949,196 -> 492,196 -220,30 -> 959,769 -354,889 -> 632,889 -779,537 -> 397,919 -136,876 -> 896,116 -12,983 -> 930,65 -716,856 -> 716,516 -595,604 -> 595,97 -863,70 -> 946,70 -13,988 -> 988,13 -595,955 -> 978,955 -138,300 -> 138,452 -801,883 -> 830,854 -189,13 -> 110,13 -315,68 -> 147,68 -594,977 -> 594,707 -424,726 -> 836,314 -596,790 -> 842,790 -135,135 -> 823,823 -257,639 -> 718,178 -462,859 -> 965,859 -935,29 -> 18,946 -308,841 -> 676,473 -372,607 -> 946,607 -518,806 -> 201,489 -620,689 -> 620,480 -376,378 -> 376,900 -86,675 -> 179,768 -509,790 -> 509,501 -778,143 -> 778,474 -965,140 -> 194,911 -621,458 -> 316,153 -83,931 -> 959,55 -533,647 -> 402,778 -957,336 -> 397,336 -929,788 -> 929,587 -642,978 -> 647,978 -429,275 -> 276,275 -662,821 -> 120,279 -137,208 -> 85,260 -815,641 -> 763,589 -222,510 -> 881,510 -892,930 -> 845,930 -288,268 -> 288,509 -900,13 -> 79,13 -438,764 -> 248,764 -391,495 -> 391,771 -868,713 -> 223,68 -680,180 -> 680,553 -911,389 -> 911,578 -107,182 -> 107,555 -944,787 -> 944,25 -405,193 -> 569,193 -341,182 -> 952,182 -497,197 -> 820,197 -204,224 -> 693,224 -342,290 -> 342,479 -881,281 -> 881,899 -971,987 -> 11,27 -389,729 -> 501,729 -638,939 -> 316,617 -923,799 -> 923,84 -17,744 -> 17,47 -305,163 -> 305,506 -703,414 -> 74,414 -572,537 -> 122,987 -385,364 -> 385,403 -667,825 -> 667,607 -466,86 -> 842,86 -591,209 -> 151,649 -329,526 -> 329,772 -756,769 -> 122,135 -638,454 -> 380,454 -316,98 -> 654,98 -273,740 -> 627,386 -88,982 -> 963,107 -913,710 -> 913,157 -530,410 -> 129,410 -660,237 -> 256,641 -865,149 -> 865,934 -769,47 -> 76,740 -520,876 -> 520,630 -101,839 -> 394,546 -422,874 -> 330,874 -987,19 -> 20,986 -398,771 -> 174,771 -574,546 -> 582,546 -896,52 -> 11,937 -927,927 -> 927,923 -111,822 -> 953,822 -633,130 -> 76,130 -193,74 -> 193,400 -887,828 -> 887,160 -284,313 -> 500,97 -813,500 -> 839,500 -312,534 -> 129,534 -202,34 -> 202,196 -740,597 -> 681,597 -37,979 -> 892,124 -494,235 -> 494,426 -334,892 -> 334,788 -679,728 -> 947,728 -635,557 -> 242,950 -301,713 -> 326,738 -261,867 -> 986,867 -959,344 -> 412,891 -605,659 -> 647,701 -806,931 -> 270,395 -546,107 -> 150,107 -836,793 -> 131,88 -231,572 -> 99,572 -257,580 -> 257,459 -254,669 -> 254,52 -105,26 -> 973,894 -101,532 -> 339,770 -854,695 -> 319,160 -599,190 -> 227,562 -783,816 -> 370,816 -505,638 -> 889,638 -742,615 -> 742,399 -984,750 -> 984,662 -295,736 -> 937,94 -762,435 -> 239,958 -876,89 -> 758,89 -178,964 -> 651,964 -385,389 -> 67,71 -514,967 -> 462,915 -819,758 -> 819,978 -541,109 -> 767,109 -137,262 -> 137,815 -720,591 -> 934,805 -56,79 -> 752,775 -493,519 -> 493,278 -202,718 -> 202,344 -665,24 -> 446,24 -426,845 -> 426,193 -116,930 -> 982,64 -625,587 -> 625,908 -13,965 -> 919,59 -124,466 -> 124,194 -793,249 -> 480,562 -20,174 -> 359,174 -982,988 -> 25,31 -71,416 -> 586,416 -157,122 -> 363,122 -31,453 -> 344,453 -435,284 -> 387,284 -389,446 -> 379,446 -913,536 -> 32,536 -505,952 -> 505,495 -489,159 -> 222,426 -267,118 -> 954,805 -15,833 -> 15,323 -77,197 -> 946,197 -955,22 -> 955,798 -620,707 -> 620,915 -740,495 -> 740,334 -770,735 -> 770,184 -420,524 -> 420,108 -382,982 -> 556,982 -111,777 -> 867,21 -280,105 -> 915,740 -235,23 -> 863,651 -679,402 -> 197,884 -72,77 -> 829,834 -858,486 -> 443,486 -403,115 -> 403,342 -489,547 -> 489,53 -404,280 -> 950,826 -680,458 -> 260,458 -10,610 -> 315,915 -386,630 -> 128,888 -293,732 -> 293,861 -204,378 -> 116,378 -90,269 -> 90,173 -893,869 -> 92,68 -741,694 -> 741,136 -620,449 -> 620,62 -866,678 -> 441,253 -885,212 -> 167,930 -868,853 -> 868,852 -392,926 -> 982,336 -252,930 -> 829,930 -758,606 -> 949,606 -79,895 -> 798,176 -394,688 -> 901,688 -355,217 -> 355,732 -43,23 -> 903,883 -426,691 -> 695,422 -970,416 -> 970,950 -317,334 -> 957,974 -198,160 -> 198,195 -610,191 -> 852,191 -388,569 -> 899,58 -490,662 -> 517,689 -691,627 -> 643,627 -404,564 -> 539,564 -946,623 -> 478,155 -686,608 -> 686,213 -573,508 -> 47,508 -610,262 -> 610,905 -782,602 -> 581,602 -987,378 -> 987,391 -443,243 -> 447,243 -710,493 -> 54,493 -564,179 -> 564,966 -828,673 -> 828,691 -761,869 -> 260,869 -810,949 -> 192,331 -674,263 -> 467,263 -481,81 -> 940,540 -779,301 -> 159,301 -763,457 -> 574,646 -794,770 -> 784,780 -19,964 -> 973,10 -809,720 -> 809,142 -822,324 -> 822,112 -120,980 -> 354,980 -238,277 -> 636,675 -747,647 -> 550,450 -419,205 -> 419,494 -34,968 -> 719,283 -306,591 -> 401,496 -648,673 -> 526,795 -486,426 -> 44,426 -441,642 -> 137,338 -396,740 -> 585,740 -741,227 -> 117,851 -620,263 -> 319,263 -421,321 -> 300,321 -732,387 -> 732,784 -445,59 -> 445,273 -151,910 -> 220,841 -836,599 -> 274,599 -598,193 -> 95,193 -718,765 -> 884,931 -403,165 -> 591,165 -241,441 -> 736,441 -902,986 -> 190,274 -190,671 -> 190,342 -887,301 -> 887,216 -878,747 -> 244,113 -93,747 -> 814,26 -764,604 -> 764,444 -510,852 -> 175,852 -50,718 -> 132,718 -791,436 -> 95,436 -751,122 -> 751,146 -953,162 -> 953,168 -113,546 -> 113,828 -752,407 -> 482,407 -398,412 -> 305,412 -912,630 -> 830,630 -699,155 -> 354,155 -842,874 -> 451,483 -18,83 -> 580,645 -63,594 -> 945,594 -557,286 -> 557,773 -21,448 -> 21,11 -955,724 -> 955,353 -857,411 -> 857,41 -605,932 -> 605,159 -985,64 -> 216,833 -34,673 -> 610,97 -888,764 -> 888,415 -574,801 -> 646,801 -290,593 -> 290,694 -151,72 -> 887,808 -632,53 -> 632,98 -346,686 -> 963,69 -258,129 -> 582,453 -189,205 -> 646,662 -272,821 -> 946,147 -409,531 -> 462,478 -725,575 -> 894,575 -885,888 -> 885,878 -475,210 -> 763,210 -42,963 -> 920,85 -985,213 -> 271,213 -538,842 -> 482,842 -175,529 -> 662,529 -853,670 -> 259,76 -656,364 -> 373,647 -114,134 -> 827,134 -58,878 -> 58,569 -45,340 -> 684,979 -35,829 -> 611,829 -625,166 -> 625,898 -849,980 -> 143,980 -720,92 -> 330,92 -689,255 -> 689,389 -842,526 -> 867,526 -834,399 -> 395,838 -325,212 -> 786,673 -934,941 -> 31,38 -211,640 -> 812,39 -449,896 -> 82,896 -795,757 -> 630,592 -894,691 -> 894,11 -639,839 -> 639,360 -941,862 -> 676,862 -480,757 -> 480,123 -425,734 -> 425,332 -391,704 -> 350,745 -173,352 -> 131,352 -814,703 -> 814,150 -347,156 -> 609,156 -427,520 -> 862,520 -787,724 -> 206,724 -313,587 -> 312,587 -743,491 -> 743,580 -277,964 -> 845,396 -132,65 -> 864,797 -227,619 -> 227,365 -360,484 -> 299,484 -717,790 -> 875,790 -798,480 -> 413,95 -643,518 -> 643,407 -939,530 -> 440,31 -241,44 -> 241,82 -362,49 -> 316,49 -160,98 -> 382,98 -67,593 -> 508,593 -363,456 -> 470,456 -644,63 -> 273,63 -341,696 -> 72,696 -270,303 -> 270,60 -716,391 -> 716,983 -678,904 -> 756,826 -480,487 -> 290,487 -762,316 -> 762,969 -380,735 -> 380,652 -223,922 -> 436,709 -690,733 -> 815,733 -185,130 -> 555,130 -10,931 -> 924,17 -678,940 -> 891,940 -702,112 -> 702,673 -554,559 -> 812,301 -406,758 -> 377,758 -361,119 -> 96,384 -787,356 -> 787,963 -957,54 -> 23,988 -636,650 -> 34,48 -170,21 -> 170,541 -955,103 -> 85,973 -144,698 -> 381,698 -85,55 -> 925,895 -12,15 -> 978,981 -32,954 -> 32,301 -438,234 -> 195,477 -121,438 -> 121,542 -353,607 -> 919,607 -978,646 -> 978,643 -925,112 -> 925,646 -447,120 -> 447,104 -332,398 -> 568,162 -399,841 -> 276,841 -923,853 -> 923,820 -890,202 -> 964,202 -306,782 -> 871,217 -547,558 -> 21,32 -893,164 -> 508,549 -485,76 -> 361,76 -713,768 -> 570,768 -314,18 -> 461,18 -618,281 -> 715,281 -374,787 -> 374,209 -324,97 -> 405,97 -890,729 -> 566,729 -762,438 -> 762,978 -274,49 -> 274,525 -905,34 -> 905,741 -799,384 -> 799,742 -378,358 -> 378,17 -805,131 -> 31,905 -640,453 -> 640,800 -563,305 -> 563,945 -898,590 -> 57,590 -513,187 -> 513,76 -706,407 -> 500,407 -235,69 -> 861,695 -408,259 -> 624,43 -327,308 -> 722,308 -109,247 -> 183,247 -487,493 -> 619,625 -769,452 -> 899,452 -727,765 -> 524,968 -887,472 -> 801,472 -157,100 -> 936,879 -584,658 -> 584,582 -557,488 -> 557,510 -790,35 -> 28,797 -458,920 -> 350,812 -54,797 -> 790,61 -59,387 -> 59,334 -565,368 -> 268,368 -70,146 -> 70,525 -681,451 -> 242,890 -869,831 -> 869,272 -276,184 -> 276,517 -984,922 -> 984,426 -616,572 -> 307,881 -323,806 -> 700,806 -595,547 -> 595,651 -731,638 -> 731,582 -760,836 -> 31,107 -768,377 -> 347,798 -847,765 -> 431,765 -777,95 -> 777,837 -832,330 -> 460,330 -423,213 -> 423,110 -937,549 -> 937,882 -529,735 -> 570,735 -436,343 -> 771,343 -965,833 -> 965,143 -518,484 -> 65,31 -940,989 -> 940,293 -983,63 -> 63,983 -237,733 -> 237,735 -624,281 -> 624,330 -473,719 -> 633,719 -312,489 -> 872,489 -369,520 -> 539,520 -80,705 -> 133,652 -659,289 -> 163,785 diff --git a/inputs/test_input06_1_0 b/inputs/test_input06 similarity index 100% rename from inputs/test_input06_1_0 rename to inputs/test_input06 diff --git a/inputs/test_input06_1_1 b/inputs/test_input06_1_1 deleted file mode 100644 index b800e1c..0000000 --- a/inputs/test_input06_1_1 +++ /dev/null @@ -1 +0,0 @@ -1,5,5,1,5,1,5,3,1,3,2,4,3,4,1,1,3,5,4,4,2,1,2,1,2,1,2,1,5,2,1,5,1,2,2,1,5,5,5,1,1,1,5,1,3,4,5,1,2,2,5,5,3,4,5,4,4,1,4,5,3,4,4,5,2,4,2,2,1,3,4,3,2,3,4,1,4,4,4,5,1,3,4,2,5,4,5,3,1,4,1,1,1,2,4,2,1,5,1,4,5,3,3,4,1,1,4,3,4,1,1,1,5,4,3,5,2,4,1,1,2,3,2,4,4,3,3,5,3,1,4,5,5,4,3,3,5,1,5,3,5,2,5,1,5,5,2,3,3,1,1,2,2,4,3,1,5,1,1,3,1,4,1,2,3,5,5,1,2,3,4,3,4,1,1,5,5,3,3,4,5,1,1,4,1,4,1,3,5,5,1,4,3,1,3,5,5,5,5,5,2,2,1,2,4,1,5,3,3,5,4,5,4,1,5,1,5,1,2,5,4,5,5,3,2,2,2,5,4,4,3,3,1,4,1,2,3,1,5,4,5,3,4,1,1,2,2,1,2,5,1,1,1,5,4,5,2,1,4,4,1,1,3,3,1,3,2,1,5,2,3,4,5,3,5,4,3,1,3,5,5,5,5,2,1,1,4,2,5,1,5,1,3,4,3,5,5,1,4,3 diff --git a/inputs/test_input06_2_0 b/inputs/test_input06_2_0 deleted file mode 100644 index 55129f1..0000000 --- a/inputs/test_input06_2_0 +++ /dev/null @@ -1 +0,0 @@ -3,4,3,1,2 diff --git a/inputs/test_input06_2_1 b/inputs/test_input06_2_1 deleted file mode 100644 index b800e1c..0000000 --- a/inputs/test_input06_2_1 +++ /dev/null @@ -1 +0,0 @@ -1,5,5,1,5,1,5,3,1,3,2,4,3,4,1,1,3,5,4,4,2,1,2,1,2,1,2,1,5,2,1,5,1,2,2,1,5,5,5,1,1,1,5,1,3,4,5,1,2,2,5,5,3,4,5,4,4,1,4,5,3,4,4,5,2,4,2,2,1,3,4,3,2,3,4,1,4,4,4,5,1,3,4,2,5,4,5,3,1,4,1,1,1,2,4,2,1,5,1,4,5,3,3,4,1,1,4,3,4,1,1,1,5,4,3,5,2,4,1,1,2,3,2,4,4,3,3,5,3,1,4,5,5,4,3,3,5,1,5,3,5,2,5,1,5,5,2,3,3,1,1,2,2,4,3,1,5,1,1,3,1,4,1,2,3,5,5,1,2,3,4,3,4,1,1,5,5,3,3,4,5,1,1,4,1,4,1,3,5,5,1,4,3,1,3,5,5,5,5,5,2,2,1,2,4,1,5,3,3,5,4,5,4,1,5,1,5,1,2,5,4,5,5,3,2,2,2,5,4,4,3,3,1,4,1,2,3,1,5,4,5,3,4,1,1,2,2,1,2,5,1,1,1,5,4,5,2,1,4,4,1,1,3,3,1,3,2,1,5,2,3,4,5,3,5,4,3,1,3,5,5,5,5,2,1,1,4,2,5,1,5,1,3,4,3,5,5,1,4,3 diff --git a/inputs/test_input07_1_0 b/inputs/test_input07 similarity index 100% rename from inputs/test_input07_1_0 rename to inputs/test_input07 diff --git a/inputs/test_input07_1_1 b/inputs/test_input07_1_1 deleted file mode 100644 index 9aa04a5..0000000 --- a/inputs/test_input07_1_1 +++ /dev/null @@ -1 +0,0 @@ -1101,1,29,67,1102,0,1,65,1008,65,35,66,1005,66,28,1,67,65,20,4,0,1001,65,1,65,1106,0,8,99,35,67,101,99,105,32,110,39,101,115,116,32,112,97,115,32,117,110,101,32,105,110,116,99,111,100,101,32,112,114,111,103,114,97,109,10,424,1266,45,208,326,65,221,2,303,309,514,471,608,104,640,236,187,1074,1043,120,1226,7,364,85,863,476,453,13,416,28,304,1,542,401,1089,646,301,263,979,126,178,1046,169,174,1604,9,99,858,1610,470,1003,336,1009,295,312,291,226,317,398,642,532,55,834,459,69,662,22,241,1235,243,413,42,64,100,415,240,149,301,147,454,26,289,129,157,639,337,683,71,285,141,141,63,824,199,16,1601,418,1102,146,1012,1648,2,1445,113,103,570,421,1241,37,1007,544,40,251,57,388,522,417,211,650,186,88,21,848,1150,16,926,332,76,913,436,804,86,80,7,25,464,334,552,30,566,748,174,28,56,747,1697,551,996,864,57,165,1111,113,405,301,273,1458,1724,186,846,272,553,647,6,210,231,920,581,105,846,1158,258,617,231,157,99,240,577,726,5,357,1226,1175,74,926,310,269,199,447,8,180,1010,933,980,5,190,188,96,3,641,124,140,625,901,136,75,225,461,1219,465,166,18,533,393,528,252,841,466,308,235,530,417,155,812,61,712,484,315,443,352,397,619,297,767,1691,377,1197,1738,356,696,450,162,809,42,17,490,265,13,30,650,212,220,1520,231,949,1158,270,568,1038,687,8,15,476,958,565,543,1440,1700,1439,36,69,64,1347,885,78,78,972,184,36,106,106,984,324,968,264,131,655,508,110,1279,1690,105,608,1100,309,708,250,194,163,383,302,64,145,448,465,691,73,489,44,783,443,241,182,519,45,129,556,47,168,646,454,601,990,655,856,445,454,140,314,71,566,595,16,1504,100,306,556,960,42,638,594,761,164,1001,180,1135,124,157,433,326,1078,1234,403,920,559,65,151,307,1348,557,283,233,1196,100,145,84,494,1094,248,964,34,178,294,76,236,294,907,123,135,43,739,67,2,1040,511,470,565,1638,121,46,912,186,1281,1017,891,679,1128,207,347,194,1035,38,195,1080,74,157,1522,471,469,238,1207,965,72,865,687,254,769,876,222,453,29,250,188,182,897,799,213,305,509,109,463,625,11,36,1227,139,709,548,332,1376,334,538,496,112,1081,9,676,309,178,686,64,122,713,1126,864,1613,1913,443,829,258,205,678,255,617,685,347,229,1251,708,654,179,514,256,63,48,872,442,83,797,259,289,865,104,475,503,535,1210,290,55,451,208,460,128,257,306,369,966,1462,206,215,1645,333,16,1122,216,655,818,488,363,951,26,1040,103,351,253,317,942,989,1161,538,995,544,783,56,281,1711,199,71,100,66,1289,218,1854,658,34,630,111,232,763,530,1692,422,1599,288,661,575,286,15,31,801,1776,1068,871,659,269,559,39,1633,488,107,638,40,299,383,989,483,569,61,157,1204,1028,114,140,1560,54,121,77,611,260,695,1370,9,356,469,1126,203,27,79,309,246,467,1199,67,302,28,584,551,1273,373,61,1008,9,590,71,77,2,74,515,796,156,350,860,0,146,1091,97,550,135,119,1636,27,349,1327,182,1466,172,685,481,421,258,210,139,690,424,540,198,1010,687,87,22,85,499,127,74,155,631,1771,145,1025,362,776,137,422,579,100,1919,865,257,7,272,42,489,11,739,800,246,47,23,17,1320,1717,180,879,47,335,97,236,1376,23,1574,97,489,656,459,1215,116,299,312,18,502,11,82,0,309,7,616,56,303,386,1864,387,9,128,324,523,1055,92,1321,747,411,108,168,614,960,1418,1687,493,118,83,9,112,475,392,7,549,377,224,257,473,281,1065,156,578,179,1276,130,62,50,407,226,1096,1060,795,234,677,1127,672,520,501,474,825,118,320,1329,107,260,39,114,390,319,304,49,528,634,77,336,137,289,56,778,262,1440,91,33,83,199,13,1153,54,157,620,183,303,702,474,269,31,391,294,1388,15,104,461,251,132,1145,337,197,95,37,563,87,19,740,58,201,168,175,169,40,46,230,21,58,616,325,566,87,53,909,905,309,302,425,448,1615,641,1327,10,463,293,323,2,189,91,1236,410,808,1182,288,150,544,304,33,26,1214,335,430,1,751,79,145,1397,1727,38,741,977,229,74,273,578,53,233,272,3,98,885,735,678,130,518,298,337,228,270,32,800,51,1901,919,1689,113,556,355,710,6,1221,219,1731,318,1216,164,76,88,149,230,5,1000,1112,49,486,1139,21,850,597,71,1619,655,71,1309,1300,1904,189,344,434,53,1229,1176,17,165,613,66,71,866,208,225,112,1202,558,2,731,665,245,519,250 diff --git a/inputs/test_input07_2_0 b/inputs/test_input07_2_0 deleted file mode 100644 index 18bd32a..0000000 --- a/inputs/test_input07_2_0 +++ /dev/null @@ -1 +0,0 @@ -16,1,2,0,4,2,7,1,2,14 diff --git a/inputs/test_input07_2_1 b/inputs/test_input07_2_1 deleted file mode 100644 index 9aa04a5..0000000 --- a/inputs/test_input07_2_1 +++ /dev/null @@ -1 +0,0 @@ -1101,1,29,67,1102,0,1,65,1008,65,35,66,1005,66,28,1,67,65,20,4,0,1001,65,1,65,1106,0,8,99,35,67,101,99,105,32,110,39,101,115,116,32,112,97,115,32,117,110,101,32,105,110,116,99,111,100,101,32,112,114,111,103,114,97,109,10,424,1266,45,208,326,65,221,2,303,309,514,471,608,104,640,236,187,1074,1043,120,1226,7,364,85,863,476,453,13,416,28,304,1,542,401,1089,646,301,263,979,126,178,1046,169,174,1604,9,99,858,1610,470,1003,336,1009,295,312,291,226,317,398,642,532,55,834,459,69,662,22,241,1235,243,413,42,64,100,415,240,149,301,147,454,26,289,129,157,639,337,683,71,285,141,141,63,824,199,16,1601,418,1102,146,1012,1648,2,1445,113,103,570,421,1241,37,1007,544,40,251,57,388,522,417,211,650,186,88,21,848,1150,16,926,332,76,913,436,804,86,80,7,25,464,334,552,30,566,748,174,28,56,747,1697,551,996,864,57,165,1111,113,405,301,273,1458,1724,186,846,272,553,647,6,210,231,920,581,105,846,1158,258,617,231,157,99,240,577,726,5,357,1226,1175,74,926,310,269,199,447,8,180,1010,933,980,5,190,188,96,3,641,124,140,625,901,136,75,225,461,1219,465,166,18,533,393,528,252,841,466,308,235,530,417,155,812,61,712,484,315,443,352,397,619,297,767,1691,377,1197,1738,356,696,450,162,809,42,17,490,265,13,30,650,212,220,1520,231,949,1158,270,568,1038,687,8,15,476,958,565,543,1440,1700,1439,36,69,64,1347,885,78,78,972,184,36,106,106,984,324,968,264,131,655,508,110,1279,1690,105,608,1100,309,708,250,194,163,383,302,64,145,448,465,691,73,489,44,783,443,241,182,519,45,129,556,47,168,646,454,601,990,655,856,445,454,140,314,71,566,595,16,1504,100,306,556,960,42,638,594,761,164,1001,180,1135,124,157,433,326,1078,1234,403,920,559,65,151,307,1348,557,283,233,1196,100,145,84,494,1094,248,964,34,178,294,76,236,294,907,123,135,43,739,67,2,1040,511,470,565,1638,121,46,912,186,1281,1017,891,679,1128,207,347,194,1035,38,195,1080,74,157,1522,471,469,238,1207,965,72,865,687,254,769,876,222,453,29,250,188,182,897,799,213,305,509,109,463,625,11,36,1227,139,709,548,332,1376,334,538,496,112,1081,9,676,309,178,686,64,122,713,1126,864,1613,1913,443,829,258,205,678,255,617,685,347,229,1251,708,654,179,514,256,63,48,872,442,83,797,259,289,865,104,475,503,535,1210,290,55,451,208,460,128,257,306,369,966,1462,206,215,1645,333,16,1122,216,655,818,488,363,951,26,1040,103,351,253,317,942,989,1161,538,995,544,783,56,281,1711,199,71,100,66,1289,218,1854,658,34,630,111,232,763,530,1692,422,1599,288,661,575,286,15,31,801,1776,1068,871,659,269,559,39,1633,488,107,638,40,299,383,989,483,569,61,157,1204,1028,114,140,1560,54,121,77,611,260,695,1370,9,356,469,1126,203,27,79,309,246,467,1199,67,302,28,584,551,1273,373,61,1008,9,590,71,77,2,74,515,796,156,350,860,0,146,1091,97,550,135,119,1636,27,349,1327,182,1466,172,685,481,421,258,210,139,690,424,540,198,1010,687,87,22,85,499,127,74,155,631,1771,145,1025,362,776,137,422,579,100,1919,865,257,7,272,42,489,11,739,800,246,47,23,17,1320,1717,180,879,47,335,97,236,1376,23,1574,97,489,656,459,1215,116,299,312,18,502,11,82,0,309,7,616,56,303,386,1864,387,9,128,324,523,1055,92,1321,747,411,108,168,614,960,1418,1687,493,118,83,9,112,475,392,7,549,377,224,257,473,281,1065,156,578,179,1276,130,62,50,407,226,1096,1060,795,234,677,1127,672,520,501,474,825,118,320,1329,107,260,39,114,390,319,304,49,528,634,77,336,137,289,56,778,262,1440,91,33,83,199,13,1153,54,157,620,183,303,702,474,269,31,391,294,1388,15,104,461,251,132,1145,337,197,95,37,563,87,19,740,58,201,168,175,169,40,46,230,21,58,616,325,566,87,53,909,905,309,302,425,448,1615,641,1327,10,463,293,323,2,189,91,1236,410,808,1182,288,150,544,304,33,26,1214,335,430,1,751,79,145,1397,1727,38,741,977,229,74,273,578,53,233,272,3,98,885,735,678,130,518,298,337,228,270,32,800,51,1901,919,1689,113,556,355,710,6,1221,219,1731,318,1216,164,76,88,149,230,5,1000,1112,49,486,1139,21,850,597,71,1619,655,71,1309,1300,1904,189,344,434,53,1229,1176,17,165,613,66,71,866,208,225,112,1202,558,2,731,665,245,519,250 diff --git a/inputs/test_input08_1_0 b/inputs/test_input08 similarity index 100% rename from inputs/test_input08_1_0 rename to inputs/test_input08 diff --git a/inputs/test_input08_1_1 b/inputs/test_input08_1_1 deleted file mode 100644 index 4d2de7b..0000000 --- a/inputs/test_input08_1_1 +++ /dev/null @@ -1,200 +0,0 @@ -gabfed acbdfg cd gebcd gdfecb bgfdcae ecdf dcb gdbfe gaceb | dcb dgfceab cbfdeg edcf -cdbeagf df bfcgd bfed cfd fgcbed gcedb cfeadg cegabd fbacg | acbfedg acbfg dfcaeg bfgca -ag agf fbaceg beag acgfe efdcgba afcgbd afced gfecbd bcfge | bcfeg bcdgfae fga egacf -gdfcea edb acefgbd bgcad gabed cdbfea adgef ebgf dabfge be | gdbca be egfacdb adcefbg -dbefg ba edfca fdebga abf ageb fdcagb fbdae cfeagbd dfbcge | ecfda bfa fdgeab fadbcg -cfbage be daecf cedbfag dcafeb eabd ebc dcefb dcgbf gefdca | deafc fbdec gecdfa dfgcb -bdcaeg gde fdeb gadfe ed gfdca febag begadf aedgcbf gcfeba | fbgecad egbcafd fdcag ed -cg gbfad gebc fbdec bdfcg efbgcd efbdca cgfdabe cfg adgfec | befdcag dcbfg bcedf cfg -gefc faedgc adegf fea gcbade fe dgafb fdecab cadeg cfaedgb | dbafg gdebca dbcaeg bdacfe -gdfebc abcefd bcged dgcf efdgb gbfcaed adcgbe bfgae efd df | agfbe cgebd agcedb feagb -fgadec egbf fegdab ef agecdfb baecd fbdae bfadg gdfacb dfe | cebda ebcad dfe efd -acfdge cebgf fbag aegbcf gfc cebgd fg abdcef dcfabeg bcfae | gfba eadbfc efcabg dcgaef -cdfeba bcdage gbcef cdbaf cfadebg dcgbf fgda dg bgfcad dcg | edafgcb gebdca gd cegbdfa -cb cebadf ecbadgf dbgfa cfb cgefd dcfagb dfbcg fdebag acgb | decfg dbgcf fcb adefcb -baedg eafdgb af gfcbd abf bfagd egaf gbecdfa eadcgb dcfbea | gbedfca af gcfbd baf -cg cag gacbe eabgfdc egcbda dgce gdabfe begad agdcfb ceabf | gbfcad bgaced febdag debgca -dabg fdgbc efabc ag afgcbd bcfag fag dbfgaec cfegdb facdge | cfagb fcdbga gaf fag -feabd cgfadbe gdebcf adecb bf fdb abfg dgaefc gefad badefg | bedgacf bfag gdeaf gafb -edfcb becgf eg cbagdfe gfcab egf febcda gfeabd dfebcg cegd | gef ebfdgc gbecf efg -dcgbae fegbac ecg abgcdf bgdca eg gbed cegfdba daecg dfcea | dbge decfa gecad cdfabg -bdg cabdge edagb cgde bgaedcf bdace gbacdf egfab bfdeac dg | acedb gbdeca daebc gdec -gcdab fbacdg fbca edcbag fb cabdgef cfbdg cfedg fgb fabdeg | bafc bacf gfbaedc cgedab -gacedf fcadg agd dgbfea ad gcabf acbfedg fgdec edca cgdefb | adgfc deagcf ecgafd fbcag -defgba cedagb cbgadfe gfcdae faeb fbegd feg geadb dbcgf ef | cbfdg feg ef gef -abgdef fgcbda cafbd gbfc bf bacde bfadegc degafc cgadf fba | bf bcgf ceadfg decba -bfgcad efcag cgdaf dfaegc cgadeb eg egdf gae dfcbgae cabef | fabec feadgcb edcbag ega -bdfea fcab ac eadbcf egdabc bdagfe dcegf dfaec ace gcbafed | egbdaf ca bcaf dafbe -ba gafb adbeg acdfeg dfgae begdc eab dgacfbe eagfbd ebfdac | dgcbe eabcdf eba bcafgde -gfaceb dgfae ca dcfgab dgbcfe fcage bgecf fgacedb cbae fca | bgcfda cafgeb afegc fgace -gfcda egfcda cdabeg gabfe db dfbc dbg bcfadg dfabg bfdagce | abgced db dfbc bd -gdafce bafde cbdfa fea bcgdae bgacfde adbefg bedag efbg ef | ebcgafd gdafbe cegabdf cgfaebd -adfgc bcge acdfbeg bac cb cgfab ebfga adfbeg fcgeba dbcfea | abfgc dgbafe fcdag fcagd -ce gdbfcae bcgadf cegfad facbe bdce bdcfa aec aefgb afecdb | fedbac egdfabc bdaecfg eabdfgc -bfeda fa geafbd bdgef fda cegbdf bgdface gaef cebad cgadfb | adegbcf efag dfeabcg edbgcf -def gcbfd ed ecgbdfa gdefc gbed cadebf cgfae cgdfbe fadcgb | ed fed cbfgda fbceagd -gec agced agef edbca cfdbga dacegf ge baedcgf cafgd cgdefb | fbgcda bcgaedf cgead gce -eabcgd gecbadf bge ge acgbd egad fagcbe fcdbe ebcdg dcgbfa | cebdf geb fedbc geb -gaecfd gaf cfge cbefad fgcdaeb bgefda dbgac dacef cdfga fg | deafcb aedcbgf fg fdcae -acbgef dcbgaf caegfdb be afbcg gafbe bfe ebcfad gbce dfega | bfe decfab fcabde cbegdaf -eafcdg dbgac efgd fcdae eg gadce ecbagf eag efdcba becfagd | gdfe ge acfed aebcfdg -dacegf cbae ac gfbdaec agc gbdfc gbcaed bgead acbgd efdgab | ca ac ac gca -fcd cafe bcade efdcb fc bedfca fgbcdae egbfd cbadfg gadbec | bdgef cf aecf cdf -abgcf bcgafd ge abgdecf edcfa cge cgafe gbae bgcafe ecbfgd | gabe adcbgf gce fcabg -ebfcgd bdeagfc dgbefa fegcd fa ceaf fga dbgca adcfg adecgf | gfceda acgbd af ecgdbf -gabec cgefda efbacd egabfcd bf fba agdfc bfdg bcgfa bdgcaf | afbgc afcdbg acbgf ebcag -begdc gecfd cbgfad cfgda egabcdf fe aefc eadgbf cgefad dfe | afce fe cefa egdbc -efdcag bgcad dbeg dbfgaec ebadc fgabc gd aedbcf dcg cbadge | gd ceabd agbdec gebd -aegb bfcag agcbfe agfcbed bcdfa fagce gcb gb bcfdeg dagcef | bcfedg bgae acefgd cefga -dcfagbe adg ebacgf dfbeag ad fcagd abdc afcgbd cfbag cfedg | dfabgce da cafgbe ad -ead degcb eacgf fbecda adbg febdcag ad bcgdae cgdebf egacd | cefag cdgae fbdgec agcfe -cgbaef bagecfd adbgcf adfeg faedcb fcabe cegfa bgce fcg cg | gacef bgface bdgafc fbaec -acfgd gacbfd bdegfac fcgedb da cadb efgdab agefc fdgcb adg | adg ad aecgf bcgfd -fgdcea fbacdeg cefda dag fedg dg gacbed fbagc gfcad fcedba | gd dcfebag cdafbge gebfdac -bcafeg gaefcd cae gcade ecdf ce dgafc degba gabfdce gbafcd | bafgec gacfdb gdcebaf cdfgab -fcgb afgdec bdecf fg dfbaec cgbfdea dcfgeb dfg ebfgd abdeg | dbega eadcgf febdc cbdgeaf -adcf agdecf dgeac gfcdbe faceg gfceba begdcaf gcd daebg cd | fadc dgcefa ecgdbf acegf -gedfa gbdea bfgade ebcfdg gcedab eabgcdf ef fge bfae cfdag | baef gfe egf degcafb -aedbcf beadg dcgfbea gaecb aedgcf bagefd bed fdgb db degaf | bgfd fegadb bgdea acbfed -fbgca da defbga cebdg bdcga efcbag fgdebca bda fcad bafcdg | ad gcbaf dabgc gbedc -cgeb cfgda eg fcbedga acfebd badegf gea daecbg eabdc caged | ebdac gae bceda dcageb -ge bcdfga cbaedgf gfe gcdfb efgbda febgcd cgfbe gdec afbec | dcge cdge ecdg gbdcf -dcabe ebfgd gda dcfaegb afecdg dageb gbac ag dbcgea acefdb | gda dag gbeacdf ag -gadf fd baedgc gdcba efcab fdb fbdceg gbfcad adbfc daebcfg | dfb fgda bdf cdbgea -bcdfge dbfaec gb bcdef gdeb gcb bfcage fdcgb gafbecd dcgaf | bg bgcdef dbge befgdc -acdb gecbdf cgafb dgbfae dcbafg ab dbgcf adbfegc fab acegf | dcbfg bdca cbgdf dgfcb -acbdfe cabe acdbf badcefg cdbgf ba afb gfcade gedafb fcaed | bfa gbdaecf ba adecf -ae bdafc bceaf gdbafec bfgec eab dabfge fgbdca daecbf eacd | ae becgf cead bfcea -bcged dec bfceg acbd faecgdb daebg dacbge dfaebg gfadce cd | ecd dc gfcbe adbfeg -ecadfg bfdge fe fde bagcfd fcbe bgfdc geabd bfcegd dgbcaef | fcadgb bgade fe fegadc -degabf face fcd cf bfdegc adcefg cdgfa cdagebf afdeg bcgda | fcdebga fc caegdfb feadg -dfage dfec df gabced eacfdg fdg fgbecad cadeg gfcabd aefgb | cdef fegdac fd agfeb -da bfgac adf gefdc cabfgd bgfeac afebgd cgfaebd cgdaf adbc | fda dfgce gfabce faedbg -dgfba gadefc acegdfb bgd bg cgba facdg bgdfca febdgc eadbf | gdb dagecf fbdgac dafgb -ab gecaf ebfadcg bagfc cbgfd dcfgea cab efabcd eagbcf abeg | acb fbdeac abc agfebc -gc eagfb gec aegcbd acfed gdbceaf cgfea dcgf cgefad cdbfea | dfgc gefba cg aedcfb -deafc gbcf bfdeg dcafgeb efdcb acbged fgedcb cbe bc gefbda | cdfea fbgc fedcb ebfcdg -cd dfaeg dgceba gdcebfa gcfde gbdfce dcg fbgce ceabfg bdcf | cd dc fcgbe deafg -fd cfeab bdecf abdgec fdbecg dbfg def faegdc fagcdbe bcged | edcgb fd fegbdac dcebf -gcfbd fa fbadc abgedc cadfbeg fda afbe bcead dcafge ebfdca | fdgace gefadbc acbfd befa -bgcedaf afbegc eg dfbeac ceg fgcdae efcda ecgdf gcfbd daeg | decfa deag gcdfe ge -cgabdf af abfe agedbc ecfdg bgdea fagbecd fadbge dfa dgeaf | fa dbagce af af -egdabfc dgbac gefdca bcef gcfbed cf dbgef dcfgb fdc afbedg | becf gdeabfc dbfgcea efbgd -feb abegfd agfedc cbfge fagec bf gcbde afcb aefgbc gfbecda | bcfa bf fb egfacb -fage cgbfd gcfde gedfca fce fe adcge dafbceg aecdbg cdebfa | fgae gaef cfeabd cfdbg -gdcfe ed eagdfb dcfgbe bagcefd ebcd fdbgc deg gecaf gbdafc | gebdcf efgdba gcfebd de -debfga dcbe bcaeg aecbgf acedg ed dbgcae dgecfba cagdf ade | geacd ecbga de becadg -abegc fe efbdca aecfg adfgce efa bgafcd gdef gfadcbe fdcga | ef dcgbeaf fgcad faceg -adgfeb fbcge fbacgd acb abdcef ca ebcaf faedb caed gcbeadf | afecb acbdfe efadgb cbgfead -cefa daefbc fdecb aefdb gfbceda bgdafc debfga bgedc fc cbf | bfc ecfdba adefb ecaf -debc dfbage caedg cafedgb fbacg gbd agbdc gdafec db deagbc | bd bdg befdag dcfage -gacefb edbac gdef gfbeacd gfecb gacbdf fd dcfeb bgefcd cfd | cgbedaf gdfe gecfb cfd -geacd eb ebg gfbcade egfcdb daeb dfacge eabcg fabcg cdabeg | gdcaef ebg beg daeb -gadbfce gfda abcgfe gd bacgf abdce dgb dacfbg dbagc fbegdc | ecbafg bfgac gcbfa cbgfde -aedgcb cdaef efg egcba fcage fgbeac daefgb bfgc gf gcbeadf | fecga edagbc gf bdefagc -db cgebd efbgdc egfcda ebdf gecfd fdebcag dbc abfdcg gabce | db cedgbf aecfgd debf -ecfadg efbagc feg cgde fbcdag ge gadef bcgadfe cafgd aefbd | fbgcae afcdebg edfab eg -gebfad bgeca fdce bdgceaf cd debgc bcd dbgfe bdfcag bfgdec | abgec cbage facdgb dc -dbfgcea eacg edacf dfgec bgdcfa daefb fedbcg cad ca eacdfg | cad ebgdcaf cage eafdc -decafg abdcg bgdcfae fa daf bedfcg cfdba cfdaeb abef fbecd | dbafgce afd fa caedfg -dfcbgae fgecb abegdc beafdg ecd efdgc cfeagd cdfa eadgf cd | egdaf cdfa decgaf cdaf -gbafed cegfadb cage efcabg cgabf gfebc dacfb bdefcg ag gaf | fgcab fbdgce bgacf agbfcde -badgc bea be adcfbe dgbecaf ecgb cdgbfa dbega gdfae daegcb | cebg adgcbf bcdga agbcd -gbaced fadcb ag dfebgca gac bdgfec acgbd gdceb aegd gcbefa | adge gaed gca ecbdg -bgdce gbdcfe ge badec gacfbd egb fdcbg fgaecbd fcbeag dfge | gfed cefgbda ebdgc gcbdf -aedfc cgde cgfaed bgfad ge bcfaed ecgabf gae egbfacd geadf | fdeag febcda cedg cafdbe -agf fegad fdgcae fcead fg abcfed cfeg agdbe fcbdga degbfac | adebg ecfda afg fg -bdfegc aefg bacged fegdbac fgcad cbfad ag agd fegdca fcedg | feabcdg bdcefg gbfacde edgfac -aec cefbag dabfgce dgcae degacb ae bgced dbea fedcgb fdacg | ecgbda ebcgd daceg cedgb -dcbfgea decba fadegb ebfag cef fagbec fc bcgf ecdgfa febca | bgeadf fgebda gcdafe abcde -bfcgd degfbac afebc def cfdega ebgd ed bfced cedbgf fdcgba | dgbcef fdcbe gafcdb gbfdec -fge abfcdeg dfega fg eabgd fdgc fgaedc ecadf becgaf befcda | edgaf fcdg dbfcea bcefdga -bgcafe bdfecg acedf dcfbe agcdfb be bfcegad fbe ebgd gcdbf | fbe feb bedcgfa fdbce -be cabdfe adgce fbcda cfeb aeb acfbegd abgfed ebdca adgbcf | egadc eb fcadeb bcedaf -gfbea ecbf gcefa ec cdfag fdgeba aec eagbcd bcfgae afdgcbe | gbadcef afcbegd acgef dfgbea -gb dgbf cegfda bfcgae dceba afcgd cagbd afdebgc gcbdfa cbg | bg fbdg cbg bacgfe -efgdcb cgefabd fc abedc bgefd deagfc cbfed cbfg ebafdg fce | febdc fgedcab bcdae fdcbe -cafbdg gdebc beadf dca acebd ac fgdeba ecfabd gdefcab ceaf | efdcgab gabefd dcgbe gdecb -fbd adgbe fegcb afdcbg dcfgbea egfdb fdce fd fdbgec caefbg | edfc afbdcg abfegc fdbeg -cbgdaef eabdg afdb cbdeag ecfgb fd edfgba fcdage efbdg def | dgfcae dgebf bcadge fd -eb dfcge deb cbgdfa abef baefdg abdgf fbdeg fbcgade agbcde | afeb dfgba agebcd dbeagc -gcbde eadfbc gbeda edcbfg ae aedbcg afcgbed afgbd dae agce | cbegd bafdg bdega gbadf -faegc adbcfg bgfaec edgcb geadc dafgebc ad dfae ecfdga cad | acd da fcbgea gdceb -ga daecfb afgbdc dcaef gcfbe gedafbc edafgc cgafe agf gaed | ga fcbadge fdebgac egacf -cdgfab gaedb egfbc ebdfag dgc dc ecad eacgdb dfegcab bcdge | efgbc dc gcd gcebad -edcfg befacd cdgae bcgfed dae gfad agebc bdcfeag da fcgeda | fgad edbcaf fcadeg ceagb -ba afegcd edcfb cba baefcg fgba acdgbe bgafedc ebacf ecfag | gcadfe cfdbe cgaebd beafcg -cegfa edcb be cafeb fagdbec fbecda cdfab dagbcf dgeabf feb | aebdfgc eb bdec cbaef -efdba bacde dce dc beagc dcfb dagbef adgfce afedbc dgafebc | dce deacbf dbaec dcbf -fcdebg ce caef dabef eacbd gaebcfd ecb dbfcae cdgab defgab | dabgc ceb cafe bfdea -ebdcagf gefcb bafe aecgdb be fgeac geadcf cbe dcgfb gbacfe | bce be gdfcb eb -bfgead deacb fae fbcdag fe defgbac baefd bgfda gdef bacgef | aef fdgab fgcabed dabgcfe -bg fgadec debg fbg cadfb dgafebc eagfd dabfg fbegad gfecba | bacfge egcabf gafdb dacgfe -bgdce ecba abcdfg gbe bafged cfdeg eb becfdag bgadce cabdg | egb bace fedgc facdegb -gbade agf efac fgdaecb gcfabd bfecg bcfgea gdbfce fa gfaeb | gdfeabc febagc fa afce -bfcegd fbdeag ga dcabeg egfa dagfb efdgb dbcagef dag fcbad | bcfgaed edcbgf dga dacgeb -bdcfga db gadcfe bgdcf gfceb cadbge adfb cbgdfae bgd dfagc | gefbc dgfaec cgfeb db -degabf gbea ecfbd gdfbac aed fcegda gdbaf ebfda ae edfabcg | bcfed ae dgfecba dgcfae -begaf agdbfc fagcb be edgfbca efcb afgde bae gfbcae agcedb | be efbc afbgdc begdac -afebg ecfab becfd gbaefc cgfa ac edacgb bedgfa febcgda aec | fecbd cbfeag efabg gbdeaf -cfdage ef dceagb feda fce ecadgfb ecgad gcfde gfbdc ecfbga | dbfgc efad fead bgdcaef -agdbef fb bcedfag cgdba bdegcf fgead fbd gfadce befa bfadg | dgabc fb dfb bf -cfebgd cabdf dgcaeb egcbaf ae cea eadbc fedbagc aedg cedgb | gecdb ace aec ae -cbe bgaced cgfba baef fgabcd fgcde fgabce eb efbcgda bgfec | abgfdec bgafc badefcg ebc -ecagb dfce cf fbc dcagbf befca acedfb gdeacfb eadbf dgafeb | fedgba dfcabe cegab ecagb -fa agbdc cgdaf aedf efgcd efdacgb gbcfde afg acdgfe gfabce | fa gaf fead fgecd -egacb cgbdaef ce bec gbafc dgcfab egbda dfebac fceg ebacfg | gbcea acbdef caebgf efdgcab -dafeg cd febadg acefb agcd bfcgdea dcfgae ecdfa ecd dbfegc | becaf dgac becaf egcdfa -badc bc cfaed ceb dbgfeac gadefc fgeab fgbedc acbfde abcfe | afegb efbdca cdfbea bdegcf -bafedg dgbceaf gcdef dfeabc abfdgc gcab cfb cdfgb dgabf cb | bc cb fgdba bcf -dfabg dfgbca cd bagdefc afbce gdacef bdcg dca bafcd efadgb | dca bcadf bdgfca adfecg -acgbd acfgde fbgedc fbgcdae fdcabe fdcge fcb fb fbge cdbfg | cbf gfdec fbc acfdeg -eafbdg eadbgc bde gcdbaef gdceaf ecdag fgecb cgbed bd adbc | aecgdfb bd cgaed dbe -dg fcaebg gbeaf gcdfea fgd fgdab cfabd ebdg fcdgbae gbedaf | fagbce dcegaf afecbg cegbfa -gbd efcagd gb bgeda fbade bfecgd eabdgc daceg gfecbda acbg | egbfcd fegcbd egdba aedgc -bag efbgad ecgdab edabc adbcg agec ag feabdc dgfcb efbgacd | febdcag cgdfb agb gdcab -fegdabc becafd dcefa eagdc bcfae fd fde dafb febcag befcgd | cbdfea fbda edf fed -gdcbf cafbeg bgdface ad eadf eafbdg fdgab gdbcea egbfa dba | gbfeac ebagf bdacge gbecad -ebfcag ecfgadb efbagd egb dbfagc cbfe be agebc bfacg agdce | beg becf gcbaf bafgc -bgedca eacgf dec afebcd dc bedag adgbef ebcgdfa dgbc cdgea | agbdfe ebagd dce bgdc -adecgb bdeaf gdefa gdbfeca fgbe aedcbf egd eg cfdga afdbge | dcfeabg cfgad gefad gfbaed -cafe ce abecdg edc bdcfg afcdgeb beagfd ecdfb bfcdea fdeba | ce face ce ecd -gf efadc gafcde cfagd cgf deafbc dgef bcefag gbacd dagbefc | efacd fgc cedaf agdcf -dgfebc bad ba eadgb agecdb gadfe abcg cgfaedb gbecd ebcdfa | ab cfegbd ebdgac bcfegd -baegf gdafe gedb edafgb gfaecd ceabfd eb abe gedbacf fagcb | fabgc fgdae egfad eb -dbfeac bcegaf cabfdg fbcga abgedcf dbgc aegfd db fbd afbgd | dcbg afgdcb dcbafe dabgf -df dfa fbdae becda agbfe gfabde gcefad gdfb fgcbea abfegdc | daf dgfb fdgb aebcd -adebf ec cfeda aec gefdca gdcaf dgfaecb fgdbac cegf bdcega | ecgf cae faedc edbgcaf -de efcdgab gcdabf deaf gbfad bdecgf dbe bgaec gabed ebdgfa | cfdbgae bcgfda de bfadg -gdefca fedacbg fc abecgd bafgd febdca cbaed acdbf ebfc dfc | fbcad dfbacge baedgfc feagdbc -gfdce fecdgb ac daceg fdac beafcg ebcfdga gbdae agc fgceda | cga efdgc gaecdf bcgfea -agebdfc ebgfad deacb eab edgfca cbfa afced ba cfdeab ebdgc | ab bdcge aecfd aeb -gbaf gadecbf gbcad bdcfa gcfbad bf cfade bfd dagcbe cbgdfe | dbafc bf fbacd bfacd -dbegc dfecbg cfd geadcb cgfe gbdaf fc abefcd aefgdcb fdgcb | cdgbf cf fadbg dfc -gdfea cgbfd bfca cedbga bfadcge fecdbg cgfabd ab bgafd dba | fecdagb agdcbf bgcedf cfebgd -gbacfd de ecgbfad gedabf ecadbg dea dagcb badec edgc efabc | ed ed gdce gdfeba -fgdeb bgc gcdaf daegbf aegfcbd baefcg gcdfbe bc fgbdc cedb | gacfd gcadf gbfdc gcdaf -daefbcg de cgadfb aebfg cfeadg edac efagd afdgc dfe ecfbdg | geafb cdgaf ed fde -ega cbgda dfbea afgbed bedafc febdgca ge cfgbea dgabe fgde | dfge gae egdba agcdb -gfdcb fdbe be aefdgcb ceb abdgec fbgdce ecgaf gcdbfa gecbf | cgeaf cgfae bec gdcaeb -dafeg bead fad cfgea da dgbfe acfbdg fdebga bdgecf fbdgaec | gaefc cdebafg ad gcafe -fbdca ec agebf ecf edac febgcd bgfadce fabcgd debfac cebfa | cadbfg fec fedcagb bacfgd -afbdge bgfadc adgfce fdega cd cbaef decfa dbacgef edcg dac | edabgf gedc cfdega dca -bagecf fecdab aecbg cf efgbdac ebdgac fegda fbgc cfe gceaf | fc cf gcbea cef -fcadbe aedbfg afdbc dfegcb acfe fbgedca bcdag fc edfab bcf | edfcagb cfdab fedcgb acfbd -daecb dgab dbgceaf feacb cgdeab da acd adecfg bedgc efdbgc | fgeabdc eacbd da ad -efd adefcb ed fagced dbagfc bafgcde fedag cegd faebg gcdfa | eadgcbf gfcda fbadec fagdc -edbgc cbagfed cgbdfa ae baged dgfba bfea fegadc ega fgaedb | dgafebc dcgbaf gdebc cebdg -gcd cg fecg bgead bdecg fgcbad fgbdce decbgaf bceadf dbfce | bgeda dgbea bfcdag fecg -bcaged fgcbed ecaf bae cgfebda fbacde ea eafdb bdafg dfecb | acbdgef dcefb dbfaec fadgb -cdb defc abgfc faegbd dbacfge cdbfea gbceda dc bafcd afbde | fadecbg cd cd fbadc -dgfce eafdcgb fcgae gabdcf gde ed cbgfd baecdg efbd cdgebf | ed baegfcd dfgcb dgbcf -fgedba fageb cgeabf cabgf fgc fcae aebfdgc fc badgc decgbf | cfg abgfc cfbga fc -abegd cdg gfbadce debgc cg cdfgeb ecfdba cdbgaf bcedf egcf | gfec egcdb fceg ecfg -gefcb eacfg dcebgf ag fceda cgdfab cga gbea gbecfda fegcab | ga egba gdafbec cafeg -efgdacb gfaed gfeba faegcd deabgc debafg ba fbceg dbfa agb | egfcb begfacd gab cfbaegd -abgcfde dgebf decfb efg fabedc eg gebc cgfebd faegdc fdgab | bdefc cegb fbedg eg -ebacdg dcbge cgab gc dfbgae adcfeg edbcf gcd beadg bfcdgea | acbgde gc gc ecbgd -af acbegd fadc bfdge gedfa gebcaf aef baecfgd cegda cegdfa | dgeac cagbef cdgfeba dfegb -cgdbef dcebf cdgeaf egcfabd bfge ebfcad fdgbc fg dfg adgcb | ecfdb fgeb fg gf -decfb bc gfedc fcagbd bgec ecgdabf degfcb ebafd afcdeg bcd | aefbd fdceg dcb efgcbd diff --git a/inputs/test_input08_2_0 b/inputs/test_input08_2_0 deleted file mode 100644 index c9f629b..0000000 --- a/inputs/test_input08_2_0 +++ /dev/null @@ -1,10 +0,0 @@ -be cfbegad cbdgef fgaecd cgeb fdcge agebfd fecdb fabcd edb | fdgacbe cefdb cefbgd gcbe -edbfga begcd cbg gc gcadebf fbgde acbgfd abcde gfcbed gfec | fcgedb cgb dgebacf gc -fgaebd cg bdaec gdafb agbcfd gdcbef bgcad gfac gcb cdgabef | cg cg fdcagb cbg -fbegcd cbd adcefb dageb afcb bc aefdc ecdab fgdeca fcdbega | efabcd cedba gadfec cb -aecbfdg fbg gf bafeg dbefa fcge gcbea fcaegb dgceab fcbdga | gecf egdcabf bgf bfgea -fgeab ca afcebg bdacfeg cfaedg gcfdb baec bfadeg bafgc acf | gebdcfa ecba ca fadegcb -dbcfg fgd bdegcaf fgec aegbdf ecdfab fbedc dacgb gdcebf gf | cefg dcbef fcge gbcadfe -bdfegc cbegaf gecbf dfcage bdacg ed bedf ced adcbefg gebcd | ed bcgafe cdgba cbgef -egadfb cdbfeg cegd fecab cgb gbdefca cg fgcdab egfdb bfceg | gbdfcae bgc cg cgb -gcafb gcf dcaebfg ecagb gf abcdeg gaef cafbge fdbac fegbdc | fgae cfgab fg bagce diff --git a/inputs/test_input08_2_1 b/inputs/test_input08_2_1 deleted file mode 100644 index 4d2de7b..0000000 --- a/inputs/test_input08_2_1 +++ /dev/null @@ -1,200 +0,0 @@ -gabfed acbdfg cd gebcd gdfecb bgfdcae ecdf dcb gdbfe gaceb | dcb dgfceab cbfdeg edcf -cdbeagf df bfcgd bfed cfd fgcbed gcedb cfeadg cegabd fbacg | acbfedg acbfg dfcaeg bfgca -ag agf fbaceg beag acgfe efdcgba afcgbd afced gfecbd bcfge | bcfeg bcdgfae fga egacf -gdfcea edb acefgbd bgcad gabed cdbfea adgef ebgf dabfge be | gdbca be egfacdb adcefbg -dbefg ba edfca fdebga abf ageb fdcagb fbdae cfeagbd dfbcge | ecfda bfa fdgeab fadbcg -cfbage be daecf cedbfag dcafeb eabd ebc dcefb dcgbf gefdca | deafc fbdec gecdfa dfgcb -bdcaeg gde fdeb gadfe ed gfdca febag begadf aedgcbf gcfeba | fbgecad egbcafd fdcag ed -cg gbfad gebc fbdec bdfcg efbgcd efbdca cgfdabe cfg adgfec | befdcag dcbfg bcedf cfg -gefc faedgc adegf fea gcbade fe dgafb fdecab cadeg cfaedgb | dbafg gdebca dbcaeg bdacfe -gdfebc abcefd bcged dgcf efdgb gbfcaed adcgbe bfgae efd df | agfbe cgebd agcedb feagb -fgadec egbf fegdab ef agecdfb baecd fbdae bfadg gdfacb dfe | cebda ebcad dfe efd -acfdge cebgf fbag aegbcf gfc cebgd fg abdcef dcfabeg bcfae | gfba eadbfc efcabg dcgaef -cdfeba bcdage gbcef cdbaf cfadebg dcgbf fgda dg bgfcad dcg | edafgcb gebdca gd cegbdfa -cb cebadf ecbadgf dbgfa cfb cgefd dcfagb dfbcg fdebag acgb | decfg dbgcf fcb adefcb -baedg eafdgb af gfcbd abf bfagd egaf gbecdfa eadcgb dcfbea | gbedfca af gcfbd baf -cg cag gacbe eabgfdc egcbda dgce gdabfe begad agdcfb ceabf | gbfcad bgaced febdag debgca -dabg fdgbc efabc ag afgcbd bcfag fag dbfgaec cfegdb facdge | cfagb fcdbga gaf fag -feabd cgfadbe gdebcf adecb bf fdb abfg dgaefc gefad badefg | bedgacf bfag gdeaf gafb -edfcb becgf eg cbagdfe gfcab egf febcda gfeabd dfebcg cegd | gef ebfdgc gbecf efg -dcgbae fegbac ecg abgcdf bgdca eg gbed cegfdba daecg dfcea | dbge decfa gecad cdfabg -bdg cabdge edagb cgde bgaedcf bdace gbacdf egfab bfdeac dg | acedb gbdeca daebc gdec -gcdab fbacdg fbca edcbag fb cabdgef cfbdg cfedg fgb fabdeg | bafc bacf gfbaedc cgedab -gacedf fcadg agd dgbfea ad gcabf acbfedg fgdec edca cgdefb | adgfc deagcf ecgafd fbcag -defgba cedagb cbgadfe gfcdae faeb fbegd feg geadb dbcgf ef | cbfdg feg ef gef -abgdef fgcbda cafbd gbfc bf bacde bfadegc degafc cgadf fba | bf bcgf ceadfg decba -bfgcad efcag cgdaf dfaegc cgadeb eg egdf gae dfcbgae cabef | fabec feadgcb edcbag ega -bdfea fcab ac eadbcf egdabc bdagfe dcegf dfaec ace gcbafed | egbdaf ca bcaf dafbe -ba gafb adbeg acdfeg dfgae begdc eab dgacfbe eagfbd ebfdac | dgcbe eabcdf eba bcafgde -gfaceb dgfae ca dcfgab dgbcfe fcage bgecf fgacedb cbae fca | bgcfda cafgeb afegc fgace -gfcda egfcda cdabeg gabfe db dfbc dbg bcfadg dfabg bfdagce | abgced db dfbc bd -gdafce bafde cbdfa fea bcgdae bgacfde adbefg bedag efbg ef | ebcgafd gdafbe cegabdf cgfaebd -adfgc bcge acdfbeg bac cb cgfab ebfga adfbeg fcgeba dbcfea | abfgc dgbafe fcdag fcagd -ce gdbfcae bcgadf cegfad facbe bdce bdcfa aec aefgb afecdb | fedbac egdfabc bdaecfg eabdfgc -bfeda fa geafbd bdgef fda cegbdf bgdface gaef cebad cgadfb | adegbcf efag dfeabcg edbgcf -def gcbfd ed ecgbdfa gdefc gbed cadebf cgfae cgdfbe fadcgb | ed fed cbfgda fbceagd -gec agced agef edbca cfdbga dacegf ge baedcgf cafgd cgdefb | fbgcda bcgaedf cgead gce -eabcgd gecbadf bge ge acgbd egad fagcbe fcdbe ebcdg dcgbfa | cebdf geb fedbc geb -gaecfd gaf cfge cbefad fgcdaeb bgefda dbgac dacef cdfga fg | deafcb aedcbgf fg fdcae -acbgef dcbgaf caegfdb be afbcg gafbe bfe ebcfad gbce dfega | bfe decfab fcabde cbegdaf -eafcdg dbgac efgd fcdae eg gadce ecbagf eag efdcba becfagd | gdfe ge acfed aebcfdg -dacegf cbae ac gfbdaec agc gbdfc gbcaed bgead acbgd efdgab | ca ac ac gca -fcd cafe bcade efdcb fc bedfca fgbcdae egbfd cbadfg gadbec | bdgef cf aecf cdf -abgcf bcgafd ge abgdecf edcfa cge cgafe gbae bgcafe ecbfgd | gabe adcbgf gce fcabg -ebfcgd bdeagfc dgbefa fegcd fa ceaf fga dbgca adcfg adecgf | gfceda acgbd af ecgdbf -gabec cgefda efbacd egabfcd bf fba agdfc bfdg bcgfa bdgcaf | afbgc afcdbg acbgf ebcag -begdc gecfd cbgfad cfgda egabcdf fe aefc eadgbf cgefad dfe | afce fe cefa egdbc -efdcag bgcad dbeg dbfgaec ebadc fgabc gd aedbcf dcg cbadge | gd ceabd agbdec gebd -aegb bfcag agcbfe agfcbed bcdfa fagce gcb gb bcfdeg dagcef | bcfedg bgae acefgd cefga -dcfagbe adg ebacgf dfbeag ad fcagd abdc afcgbd cfbag cfedg | dfabgce da cafgbe ad -ead degcb eacgf fbecda adbg febdcag ad bcgdae cgdebf egacd | cefag cdgae fbdgec agcfe -cgbaef bagecfd adbgcf adfeg faedcb fcabe cegfa bgce fcg cg | gacef bgface bdgafc fbaec -acfgd gacbfd bdegfac fcgedb da cadb efgdab agefc fdgcb adg | adg ad aecgf bcgfd -fgdcea fbacdeg cefda dag fedg dg gacbed fbagc gfcad fcedba | gd dcfebag cdafbge gebfdac -bcafeg gaefcd cae gcade ecdf ce dgafc degba gabfdce gbafcd | bafgec gacfdb gdcebaf cdfgab -fcgb afgdec bdecf fg dfbaec cgbfdea dcfgeb dfg ebfgd abdeg | dbega eadcgf febdc cbdgeaf -adcf agdecf dgeac gfcdbe faceg gfceba begdcaf gcd daebg cd | fadc dgcefa ecgdbf acegf -gedfa gbdea bfgade ebcfdg gcedab eabgcdf ef fge bfae cfdag | baef gfe egf degcafb -aedbcf beadg dcgfbea gaecb aedgcf bagefd bed fdgb db degaf | bgfd fegadb bgdea acbfed -fbgca da defbga cebdg bdcga efcbag fgdebca bda fcad bafcdg | ad gcbaf dabgc gbedc -cgeb cfgda eg fcbedga acfebd badegf gea daecbg eabdc caged | ebdac gae bceda dcageb -ge bcdfga cbaedgf gfe gcdfb efgbda febgcd cgfbe gdec afbec | dcge cdge ecdg gbdcf -dcabe ebfgd gda dcfaegb afecdg dageb gbac ag dbcgea acefdb | gda dag gbeacdf ag -gadf fd baedgc gdcba efcab fdb fbdceg gbfcad adbfc daebcfg | dfb fgda bdf cdbgea -bcdfge dbfaec gb bcdef gdeb gcb bfcage fdcgb gafbecd dcgaf | bg bgcdef dbge befgdc -acdb gecbdf cgafb dgbfae dcbafg ab dbgcf adbfegc fab acegf | dcbfg bdca cbgdf dgfcb -acbdfe cabe acdbf badcefg cdbgf ba afb gfcade gedafb fcaed | bfa gbdaecf ba adecf -ae bdafc bceaf gdbafec bfgec eab dabfge fgbdca daecbf eacd | ae becgf cead bfcea -bcged dec bfceg acbd faecgdb daebg dacbge dfaebg gfadce cd | ecd dc gfcbe adbfeg -ecadfg bfdge fe fde bagcfd fcbe bgfdc geabd bfcegd dgbcaef | fcadgb bgade fe fegadc -degabf face fcd cf bfdegc adcefg cdgfa cdagebf afdeg bcgda | fcdebga fc caegdfb feadg -dfage dfec df gabced eacfdg fdg fgbecad cadeg gfcabd aefgb | cdef fegdac fd agfeb -da bfgac adf gefdc cabfgd bgfeac afebgd cgfaebd cgdaf adbc | fda dfgce gfabce faedbg -dgfba gadefc acegdfb bgd bg cgba facdg bgdfca febdgc eadbf | gdb dagecf fbdgac dafgb -ab gecaf ebfadcg bagfc cbgfd dcfgea cab efabcd eagbcf abeg | acb fbdeac abc agfebc -gc eagfb gec aegcbd acfed gdbceaf cgfea dcgf cgefad cdbfea | dfgc gefba cg aedcfb -deafc gbcf bfdeg dcafgeb efdcb acbged fgedcb cbe bc gefbda | cdfea fbgc fedcb ebfcdg -cd dfaeg dgceba gdcebfa gcfde gbdfce dcg fbgce ceabfg bdcf | cd dc fcgbe deafg -fd cfeab bdecf abdgec fdbecg dbfg def faegdc fagcdbe bcged | edcgb fd fegbdac dcebf -gcfbd fa fbadc abgedc cadfbeg fda afbe bcead dcafge ebfdca | fdgace gefadbc acbfd befa -bgcedaf afbegc eg dfbeac ceg fgcdae efcda ecgdf gcfbd daeg | decfa deag gcdfe ge -cgabdf af abfe agedbc ecfdg bgdea fagbecd fadbge dfa dgeaf | fa dbagce af af -egdabfc dgbac gefdca bcef gcfbed cf dbgef dcfgb fdc afbedg | becf gdeabfc dbfgcea efbgd -feb abegfd agfedc cbfge fagec bf gcbde afcb aefgbc gfbecda | bcfa bf fb egfacb -fage cgbfd gcfde gedfca fce fe adcge dafbceg aecdbg cdebfa | fgae gaef cfeabd cfdbg -gdcfe ed eagdfb dcfgbe bagcefd ebcd fdbgc deg gecaf gbdafc | gebdcf efgdba gcfebd de -debfga dcbe bcaeg aecbgf acedg ed dbgcae dgecfba cagdf ade | geacd ecbga de becadg -abegc fe efbdca aecfg adfgce efa bgafcd gdef gfadcbe fdcga | ef dcgbeaf fgcad faceg -adgfeb fbcge fbacgd acb abdcef ca ebcaf faedb caed gcbeadf | afecb acbdfe efadgb cbgfead -cefa daefbc fdecb aefdb gfbceda bgdafc debfga bgedc fc cbf | bfc ecfdba adefb ecaf -debc dfbage caedg cafedgb fbacg gbd agbdc gdafec db deagbc | bd bdg befdag dcfage -gacefb edbac gdef gfbeacd gfecb gacbdf fd dcfeb bgefcd cfd | cgbedaf gdfe gecfb cfd -geacd eb ebg gfbcade egfcdb daeb dfacge eabcg fabcg cdabeg | gdcaef ebg beg daeb -gadbfce gfda abcgfe gd bacgf abdce dgb dacfbg dbagc fbegdc | ecbafg bfgac gcbfa cbgfde -aedgcb cdaef efg egcba fcage fgbeac daefgb bfgc gf gcbeadf | fecga edagbc gf bdefagc -db cgebd efbgdc egfcda ebdf gecfd fdebcag dbc abfdcg gabce | db cedgbf aecfgd debf -ecfadg efbagc feg cgde fbcdag ge gadef bcgadfe cafgd aefbd | fbgcae afcdebg edfab eg -gebfad bgeca fdce bdgceaf cd debgc bcd dbgfe bdfcag bfgdec | abgec cbage facdgb dc -dbfgcea eacg edacf dfgec bgdcfa daefb fedbcg cad ca eacdfg | cad ebgdcaf cage eafdc -decafg abdcg bgdcfae fa daf bedfcg cfdba cfdaeb abef fbecd | dbafgce afd fa caedfg -dfcbgae fgecb abegdc beafdg ecd efdgc cfeagd cdfa eadgf cd | egdaf cdfa decgaf cdaf -gbafed cegfadb cage efcabg cgabf gfebc dacfb bdefcg ag gaf | fgcab fbdgce bgacf agbfcde -badgc bea be adcfbe dgbecaf ecgb cdgbfa dbega gdfae daegcb | cebg adgcbf bcdga agbcd -gbaced fadcb ag dfebgca gac bdgfec acgbd gdceb aegd gcbefa | adge gaed gca ecbdg -bgdce gbdcfe ge badec gacfbd egb fdcbg fgaecbd fcbeag dfge | gfed cefgbda ebdgc gcbdf -aedfc cgde cgfaed bgfad ge bcfaed ecgabf gae egbfacd geadf | fdeag febcda cedg cafdbe -agf fegad fdgcae fcead fg abcfed cfeg agdbe fcbdga degbfac | adebg ecfda afg fg -bdfegc aefg bacged fegdbac fgcad cbfad ag agd fegdca fcedg | feabcdg bdcefg gbfacde edgfac -aec cefbag dabfgce dgcae degacb ae bgced dbea fedcgb fdacg | ecgbda ebcgd daceg cedgb -dcbfgea decba fadegb ebfag cef fagbec fc bcgf ecdgfa febca | bgeadf fgebda gcdafe abcde -bfcgd degfbac afebc def cfdega ebgd ed bfced cedbgf fdcgba | dgbcef fdcbe gafcdb gbfdec -fge abfcdeg dfega fg eabgd fdgc fgaedc ecadf becgaf befcda | edgaf fcdg dbfcea bcefdga -bgcafe bdfecg acedf dcfbe agcdfb be bfcegad fbe ebgd gcdbf | fbe feb bedcgfa fdbce -be cabdfe adgce fbcda cfeb aeb acfbegd abgfed ebdca adgbcf | egadc eb fcadeb bcedaf -gfbea ecbf gcefa ec cdfag fdgeba aec eagbcd bcfgae afdgcbe | gbadcef afcbegd acgef dfgbea -gb dgbf cegfda bfcgae dceba afcgd cagbd afdebgc gcbdfa cbg | bg fbdg cbg bacgfe -efgdcb cgefabd fc abedc bgefd deagfc cbfed cbfg ebafdg fce | febdc fgedcab bcdae fdcbe -cafbdg gdebc beadf dca acebd ac fgdeba ecfabd gdefcab ceaf | efdcgab gabefd dcgbe gdecb -fbd adgbe fegcb afdcbg dcfgbea egfdb fdce fd fdbgec caefbg | edfc afbdcg abfegc fdbeg -cbgdaef eabdg afdb cbdeag ecfgb fd edfgba fcdage efbdg def | dgfcae dgebf bcadge fd -eb dfcge deb cbgdfa abef baefdg abdgf fbdeg fbcgade agbcde | afeb dfgba agebcd dbeagc -gcbde eadfbc gbeda edcbfg ae aedbcg afcgbed afgbd dae agce | cbegd bafdg bdega gbadf -faegc adbcfg bgfaec edgcb geadc dafgebc ad dfae ecfdga cad | acd da fcbgea gdceb -ga daecfb afgbdc dcaef gcfbe gedafbc edafgc cgafe agf gaed | ga fcbadge fdebgac egacf -cdgfab gaedb egfbc ebdfag dgc dc ecad eacgdb dfegcab bcdge | efgbc dc gcd gcebad -edcfg befacd cdgae bcgfed dae gfad agebc bdcfeag da fcgeda | fgad edbcaf fcadeg ceagb -ba afegcd edcfb cba baefcg fgba acdgbe bgafedc ebacf ecfag | gcadfe cfdbe cgaebd beafcg -cegfa edcb be cafeb fagdbec fbecda cdfab dagbcf dgeabf feb | aebdfgc eb bdec cbaef -efdba bacde dce dc beagc dcfb dagbef adgfce afedbc dgafebc | dce deacbf dbaec dcbf -fcdebg ce caef dabef eacbd gaebcfd ecb dbfcae cdgab defgab | dabgc ceb cafe bfdea -ebdcagf gefcb bafe aecgdb be fgeac geadcf cbe dcgfb gbacfe | bce be gdfcb eb -bfgead deacb fae fbcdag fe defgbac baefd bgfda gdef bacgef | aef fdgab fgcabed dabgcfe -bg fgadec debg fbg cadfb dgafebc eagfd dabfg fbegad gfecba | bacfge egcabf gafdb dacgfe -bgdce ecba abcdfg gbe bafged cfdeg eb becfdag bgadce cabdg | egb bace fedgc facdegb -gbade agf efac fgdaecb gcfabd bfecg bcfgea gdbfce fa gfaeb | gdfeabc febagc fa afce -bfcegd fbdeag ga dcabeg egfa dagfb efdgb dbcagef dag fcbad | bcfgaed edcbgf dga dacgeb -bdcfga db gadcfe bgdcf gfceb cadbge adfb cbgdfae bgd dfagc | gefbc dgfaec cgfeb db -degabf gbea ecfbd gdfbac aed fcegda gdbaf ebfda ae edfabcg | bcfed ae dgfecba dgcfae -begaf agdbfc fagcb be edgfbca efcb afgde bae gfbcae agcedb | be efbc afbgdc begdac -afebg ecfab becfd gbaefc cgfa ac edacgb bedgfa febcgda aec | fecbd cbfeag efabg gbdeaf -cfdage ef dceagb feda fce ecadgfb ecgad gcfde gfbdc ecfbga | dbfgc efad fead bgdcaef -agdbef fb bcedfag cgdba bdegcf fgead fbd gfadce befa bfadg | dgabc fb dfb bf -cfebgd cabdf dgcaeb egcbaf ae cea eadbc fedbagc aedg cedgb | gecdb ace aec ae -cbe bgaced cgfba baef fgabcd fgcde fgabce eb efbcgda bgfec | abgfdec bgafc badefcg ebc -ecagb dfce cf fbc dcagbf befca acedfb gdeacfb eadbf dgafeb | fedgba dfcabe cegab ecagb -fa agbdc cgdaf aedf efgcd efdacgb gbcfde afg acdgfe gfabce | fa gaf fead fgecd -egacb cgbdaef ce bec gbafc dgcfab egbda dfebac fceg ebacfg | gbcea acbdef caebgf efdgcab -dafeg cd febadg acefb agcd bfcgdea dcfgae ecdfa ecd dbfegc | becaf dgac becaf egcdfa -badc bc cfaed ceb dbgfeac gadefc fgeab fgbedc acbfde abcfe | afegb efbdca cdfbea bdegcf -bafedg dgbceaf gcdef dfeabc abfdgc gcab cfb cdfgb dgabf cb | bc cb fgdba bcf -dfabg dfgbca cd bagdefc afbce gdacef bdcg dca bafcd efadgb | dca bcadf bdgfca adfecg -acgbd acfgde fbgedc fbgcdae fdcabe fdcge fcb fb fbge cdbfg | cbf gfdec fbc acfdeg -eafbdg eadbgc bde gcdbaef gdceaf ecdag fgecb cgbed bd adbc | aecgdfb bd cgaed dbe -dg fcaebg gbeaf gcdfea fgd fgdab cfabd ebdg fcdgbae gbedaf | fagbce dcegaf afecbg cegbfa -gbd efcagd gb bgeda fbade bfecgd eabdgc daceg gfecbda acbg | egbfcd fegcbd egdba aedgc -bag efbgad ecgdab edabc adbcg agec ag feabdc dgfcb efbgacd | febdcag cgdfb agb gdcab -fegdabc becafd dcefa eagdc bcfae fd fde dafb febcag befcgd | cbdfea fbda edf fed -gdcbf cafbeg bgdface ad eadf eafbdg fdgab gdbcea egbfa dba | gbfeac ebagf bdacge gbecad -ebfcag ecfgadb efbagd egb dbfagc cbfe be agebc bfacg agdce | beg becf gcbaf bafgc -bgedca eacgf dec afebcd dc bedag adgbef ebcgdfa dgbc cdgea | agbdfe ebagd dce bgdc -adecgb bdeaf gdefa gdbfeca fgbe aedcbf egd eg cfdga afdbge | dcfeabg cfgad gefad gfbaed -cafe ce abecdg edc bdcfg afcdgeb beagfd ecdfb bfcdea fdeba | ce face ce ecd -gf efadc gafcde cfagd cgf deafbc dgef bcefag gbacd dagbefc | efacd fgc cedaf agdcf -dgfebc bad ba eadgb agecdb gadfe abcg cgfaedb gbecd ebcdfa | ab cfegbd ebdgac bcfegd -baegf gdafe gedb edafgb gfaecd ceabfd eb abe gedbacf fagcb | fabgc fgdae egfad eb -dbfeac bcegaf cabfdg fbcga abgedcf dbgc aegfd db fbd afbgd | dcbg afgdcb dcbafe dabgf -df dfa fbdae becda agbfe gfabde gcefad gdfb fgcbea abfegdc | daf dgfb fdgb aebcd -adebf ec cfeda aec gefdca gdcaf dgfaecb fgdbac cegf bdcega | ecgf cae faedc edbgcaf -de efcdgab gcdabf deaf gbfad bdecgf dbe bgaec gabed ebdgfa | cfdbgae bcgfda de bfadg -gdefca fedacbg fc abecgd bafgd febdca cbaed acdbf ebfc dfc | fbcad dfbacge baedgfc feagdbc -gfdce fecdgb ac daceg fdac beafcg ebcfdga gbdae agc fgceda | cga efdgc gaecdf bcgfea -agebdfc ebgfad deacb eab edgfca cbfa afced ba cfdeab ebdgc | ab bdcge aecfd aeb -gbaf gadecbf gbcad bdcfa gcfbad bf cfade bfd dagcbe cbgdfe | dbafc bf fbacd bfacd -dbegc dfecbg cfd geadcb cgfe gbdaf fc abefcd aefgdcb fdgcb | cdgbf cf fadbg dfc -gdfea cgbfd bfca cedbga bfadcge fecdbg cgfabd ab bgafd dba | fecdagb agdcbf bgcedf cfebgd -gbacfd de ecgbfad gedabf ecadbg dea dagcb badec edgc efabc | ed ed gdce gdfeba -fgdeb bgc gcdaf daegbf aegfcbd baefcg gcdfbe bc fgbdc cedb | gacfd gcadf gbfdc gcdaf -daefbcg de cgadfb aebfg cfeadg edac efagd afdgc dfe ecfbdg | geafb cdgaf ed fde -ega cbgda dfbea afgbed bedafc febdgca ge cfgbea dgabe fgde | dfge gae egdba agcdb -gfdcb fdbe be aefdgcb ceb abdgec fbgdce ecgaf gcdbfa gecbf | cgeaf cgfae bec gdcaeb -dafeg bead fad cfgea da dgbfe acfbdg fdebga bdgecf fbdgaec | gaefc cdebafg ad gcafe -fbdca ec agebf ecf edac febgcd bgfadce fabcgd debfac cebfa | cadbfg fec fedcagb bacfgd -afbdge bgfadc adgfce fdega cd cbaef decfa dbacgef edcg dac | edabgf gedc cfdega dca -bagecf fecdab aecbg cf efgbdac ebdgac fegda fbgc cfe gceaf | fc cf gcbea cef -fcadbe aedbfg afdbc dfegcb acfe fbgedca bcdag fc edfab bcf | edfcagb cfdab fedcgb acfbd -daecb dgab dbgceaf feacb cgdeab da acd adecfg bedgc efdbgc | fgeabdc eacbd da ad -efd adefcb ed fagced dbagfc bafgcde fedag cegd faebg gcdfa | eadgcbf gfcda fbadec fagdc -edbgc cbagfed cgbdfa ae baged dgfba bfea fegadc ega fgaedb | dgafebc dcgbaf gdebc cebdg -gcd cg fecg bgead bdecg fgcbad fgbdce decbgaf bceadf dbfce | bgeda dgbea bfcdag fecg -bcaged fgcbed ecaf bae cgfebda fbacde ea eafdb bdafg dfecb | acbdgef dcefb dbfaec fadgb -cdb defc abgfc faegbd dbacfge cdbfea gbceda dc bafcd afbde | fadecbg cd cd fbadc -dgfce eafdcgb fcgae gabdcf gde ed cbgfd baecdg efbd cdgebf | ed baegfcd dfgcb dgbcf -fgedba fageb cgeabf cabgf fgc fcae aebfdgc fc badgc decgbf | cfg abgfc cfbga fc -abegd cdg gfbadce debgc cg cdfgeb ecfdba cdbgaf bcedf egcf | gfec egcdb fceg ecfg -gefcb eacfg dcebgf ag fceda cgdfab cga gbea gbecfda fegcab | ga egba gdafbec cafeg -efgdacb gfaed gfeba faegcd deabgc debafg ba fbceg dbfa agb | egfcb begfacd gab cfbaegd -abgcfde dgebf decfb efg fabedc eg gebc cgfebd faegdc fdgab | bdefc cegb fbedg eg -ebacdg dcbge cgab gc dfbgae adcfeg edbcf gcd beadg bfcdgea | acbgde gc gc ecbgd -af acbegd fadc bfdge gedfa gebcaf aef baecfgd cegda cegdfa | dgeac cagbef cdgfeba dfegb -cgdbef dcebf cdgeaf egcfabd bfge ebfcad fdgbc fg dfg adgcb | ecfdb fgeb fg gf -decfb bc gfedc fcagbd bgec ecgdabf degfcb ebafd afcdeg bcd | aefbd fdceg dcb efgcbd diff --git a/inputs/test_input09_1_0 b/inputs/test_input09 similarity index 100% rename from inputs/test_input09_1_0 rename to inputs/test_input09 diff --git a/inputs/test_input09_1_1 b/inputs/test_input09_1_1 deleted file mode 100644 index c1cb27b..0000000 --- a/inputs/test_input09_1_1 +++ /dev/null @@ -1,100 +0,0 @@ -9865456792345678921298765421012345678934995432127995456789987662134568999876534567895456999123983210 -2994359890156789992989896532929456799219876949246789349999876541023467899988727678976567898939874322 -3989298991238999989878989659898967895403989898999891298878965432123456789543214567897678987899965453 -9878987889347899878767879798767898943212498767988910197869896543264967899954323478998889376789876664 -8766856678956998767456767999656799995689987659877899976756789655456898998768636789879993245678998775 -6545344588967999854345458998545689989799976543456798865445678966597979459876545699765432156789329989 -7432123457898999966212347897634599878999895432345697654324567977998965346988676789896574237895498899 -8943234568999789984324556799547698767898789543486798865534678989999843215699789899989694356789987678 -9654448799987659875485669898956789656798678954587999976645789599798754334789899999878989456789886567 -8786569893498543976876789987967896741234567895698989998767993498679865645689999898769878997898765456 -9887678912987656987989899976899965430456689986789678999878992989569876856790198789653457789999854345 -7998789904599799798992999865678977321234789899894567987989789873456988767899986578942245699998765234 -6549897895678988659990986654569986532345699765903469876595678964597899898998765456990124568999952123 -7432956789789977546789874323467999654476789893212998765454578975989910999429974356889435979899843014 -8510346999898765434598753212346898965587894989329899854312368989878939899912965245678949898798767925 -4321245899999654329999862101234567897678943878999789765434457898768998769899854345789998789679879896 -5434556789898765698897543214345678998789532367987679876576568967956899856798766456799998664567989797 -6545787896789976987798654365769789999898721259876543987678679456346679643899876567899876543456797689 -7656898945899989876549775878878997899987654345987432198788789327234578954988987978943998666567986574 -8788929534789999987433989989989456789898765996954321019899893210145678969877898999995998777699875423 -9899219645678999876522397896594345789799979879895432534976989321235689998766779878989899889987764512 -8989398796789998982101236789989457998678998768779948549875378942476789987655568969876789994986542104 -7678999989990987654212945678979968987567987654567897698986568943567899988543459757654569895987673323 -2456988679891299865329896799567899999678992123456789987798779657798998777632469943212356799998765434 -1369876567789498765456789895466789898999987012357998976549989769979987654321367892101234598999879875 -0198985456667999876569999964345698767889996433767987895421299896567898865432456789233395997899989989 -1987654327456789997778998943236987656469876545678976989210378987678999876546567896546789876789999898 -9898954312347995398989567899197986543212989856789345678931267898789875987657689998658999765678999767 -8759865523456789199795456798989997672101298768990234789542456789898764598798999999899109754599987658 -8649876434568999987671237987878998783213499979321365679663477892949943679899879899978998743489998743 -9432987678678968097532348976567899654324689989452376889764598901239874699923469789467987654568989932 -8631098789789842198643469765456998785465678996543487999875678992398765789015998679323598795678979891 -6542359899897654349799598976567899987589789987976568921989999879459876789239897598909999987899356789 -7853457979998765456988987997678954198799891098998679930998798768969987894398765457898899998910245678 -8964568964329976879877535998789543239899943989649789799787649879998999965987654346797698899432349789 -9875678975439799998764424899899959445998959876439895698685434997987976799998765127896546789654678994 -2996789998598678939893212698999898956987898764321934987565423456896545678999877898987634899878899543 -3987897987696589323976104567898767899876529895210129896432101567997434567895998949999895689989978992 -4998986498989695474985323489987656789767312976821298789543212356789323489954589432978976789597656789 -9899894329878976569876765678998545678954324987942989678954323467891014567895678949869987993498767890 -8789789498967997678987886789298758989765434598969876569975434568932325789976989298757498921019889921 -7645678997656789789898999892129867999876546689878997879876545879545434678989899109843349432923997899 -8756789987545678998769456989234998910988687899989898989998786798756645989998778998732235949895986678 -9869898765434567987654345678945679999999798979998789999959897929767856799896565679641019899799875567 -3978959977756689798963233457899789987859899567989656998845998939878978999765434569852199787678954345 -2989543298987897679892101556998999876545999879876549876734349798989989998986323498963987697567893234 -1097432109598923598783242345987899965436799989995421965621234567992398967895404987654996546456789345 -2976543413459919679654653569876989875429988999986590954210156789101987856789512399869886431345898976 -9898865524567898999965775789965678976598767898997979875663247893219876745999423567989767210124567897 -4769986678978987689896989899876789987987656567899868986754356789498765535898994678998654323234788998 -3456798789989876576789998943989899999876548489989654398869767899599854524657789989129769834545678959 -2135699892598765465678987632399998932985432345678968239979878998987643212345699893298998765696889434 -4396989901459854323456896543989897891096521234567892101989999767896532101237998765987999876787998923 -5989878912398764212348998799876776789987430123979963312399989945987643212456789879876799987898967894 -6975567893987653105479999987654545678995321239899654323998767896798965434767899998765789998969556789 -9864348999876543235567899999643234989876542398788969439865449797899987645898998999654567899654345798 -7943239898997864346778998998767367899998653997677898949654338689910297656999567987743578999543102987 -6521098787698765489899987899976456789459769876566567898784213578954398997894329876542347898683219876 -6432987654569896579978996432987678996569898765433478989832102459768569698989013989421456999795339865 -7843499869678987678967987563598789987878987657321389569943212369877679549678929898732345689896949654 -7654987998789798989655987689989899998989876543210123498954534678998798934569999789654556798989898643 -8765976539895699996544398798879998999694989987321784567896645689899987897678987678966667987876789532 -9876987421934789987431239987668687896593999876534567898998756789789896789789876567898779876545678901 -7989873210125678998763459876544456798989891987545698969999867895698784898999975479989899996434799412 -6599965322334589439654568988632345679878790198657789657899978954987673457899867365678998987645689323 -5439986437645678998965679999741235698765689249878894545989989543499452349999954234567997898876898934 -6598997598786789346896799876432346987654578998989943239879996532598321298987632123459876769987897895 -7987698679897991249997989976545469876553456897699532198767897921987532457996543234567965457998956789 -9876598799989892398789978898656798765432567989578956987656799890197643568919755365778994356789345991 -4965429899876789987679856789987899887543569876456799876545678789987654578909979876799986467991234892 -3989999998785678976598768993099989997678678989567898765432345678999765699698989989893599878910126789 -2199878987654568968459899772134678999989789399878919874321234569329876789597696799931298989321345899 -3298967898123978957345989654545789999799891265989109783210237789539987899986545678920987599865456789 -5987656799357889543213478987679899987688910234594298654341546789998999998765434567939875476996768891 -9876545678968997657302367898998999654567891345896498765656756789897932359654325899898764345987899992 -0987858799878999898212456999897987653687992556789989898789867898776899498763216789799897657898956789 -1298878892989789949323789899656899432456789968999876989893978986565778999865397997679998767939345899 -2459999921094694339875698798645999754867999899998765678932989985434668999986468997544349898921234589 -3456796539123989210976988659534678967989656789999754569321299876323456889987989985431239979310125679 -4577987698999877921989876547623899978996545698789543998954398765412345678998999874310198765432457789 -5699898987987656799999965432105678989998634987678959897899459898937856789239910965621349976653567897 -6988769876576545678999876543212389997898745696599998756978999987656787890129899899435698999768678946 -9876556997432434567989987655424678976789896985489999545658789899867898991998798778945997898979989236 -7654445698521015998979899876435789435689987976567899431345698789878999989899654567899876777899896345 -9943236997732129879767789976545678923567898987689998910123597698989998976778943456798765656789765456 -8895349876545299765656687987676899212345999898789997893234986567999987755667892538569654545678996867 -6699656987856987664335496798787932101398987789899986789359975436899876544459931023498763235678989978 -4578967998967976543213345679898943214567986679998775678998765325798765432368892254797654357799678989 -3456798959878987654101277893999654323678974567987654999469965434697654321236794345698765689897577991 -1346789341989798794212368974698768634569765678996543894349987545698776450125689456799876799998456910 -0256893210395679887533457965899977545678986899987654789498987656789986543234678967987989899329967891 -2347894321234567997646567899934988678789398921098765699997898767893499767455789879976794978919878989 -7658999459495678999857678998923598789891239999239879797896409898931239876566791998765623769901989878 -8768998998989789999969899567899699897990198978999998986789212999540123987679890987654104457892398767 -9979987997678998979878943457968987956789987866789876765678923987321234599989999996543212398943987658 -0989876789567897569989632123459876545698896745998765653589899876595445678997898987985323689956988734 -1998954453456789498996545234678995434987654235987654212456789987986556799656987799876434567899879823 -9876543212345679357987654345789986524499875123598764343457897898997677897649876653987895678989954312 -2998754523456789267999865856892987612398765435679875654667976549098788985434995432198976789679875324 -1239895434579890178923988767921098201239976576799986765679989632129999876545986543249987893498765435 diff --git a/inputs/test_input09_2_0 b/inputs/test_input09_2_0 deleted file mode 100644 index 6dee4a4..0000000 --- a/inputs/test_input09_2_0 +++ /dev/null @@ -1,5 +0,0 @@ -2199943210 -3987894921 -9856789892 -8767896789 -9899965678 diff --git a/inputs/test_input09_2_1 b/inputs/test_input09_2_1 deleted file mode 100644 index c1cb27b..0000000 --- a/inputs/test_input09_2_1 +++ /dev/null @@ -1,100 +0,0 @@ -9865456792345678921298765421012345678934995432127995456789987662134568999876534567895456999123983210 -2994359890156789992989896532929456799219876949246789349999876541023467899988727678976567898939874322 -3989298991238999989878989659898967895403989898999891298878965432123456789543214567897678987899965453 -9878987889347899878767879798767898943212498767988910197869896543264967899954323478998889376789876664 -8766856678956998767456767999656799995689987659877899976756789655456898998768636789879993245678998775 -6545344588967999854345458998545689989799976543456798865445678966597979459876545699765432156789329989 -7432123457898999966212347897634599878999895432345697654324567977998965346988676789896574237895498899 -8943234568999789984324556799547698767898789543486798865534678989999843215699789899989694356789987678 -9654448799987659875485669898956789656798678954587999976645789599798754334789899999878989456789886567 -8786569893498543976876789987967896741234567895698989998767993498679865645689999898769878997898765456 -9887678912987656987989899976899965430456689986789678999878992989569876856790198789653457789999854345 -7998789904599799798992999865678977321234789899894567987989789873456988767899986578942245699998765234 -6549897895678988659990986654569986532345699765903469876595678964597899898998765456990124568999952123 -7432956789789977546789874323467999654476789893212998765454578975989910999429974356889435979899843014 -8510346999898765434598753212346898965587894989329899854312368989878939899912965245678949898798767925 -4321245899999654329999862101234567897678943878999789765434457898768998769899854345789998789679879896 -5434556789898765698897543214345678998789532367987679876576568967956899856798766456799998664567989797 -6545787896789976987798654365769789999898721259876543987678679456346679643899876567899876543456797689 -7656898945899989876549775878878997899987654345987432198788789327234578954988987978943998666567986574 -8788929534789999987433989989989456789898765996954321019899893210145678969877898999995998777699875423 -9899219645678999876522397896594345789799979879895432534976989321235689998766779878989899889987764512 -8989398796789998982101236789989457998678998768779948549875378942476789987655568969876789994986542104 -7678999989990987654212945678979968987567987654567897698986568943567899988543459757654569895987673323 -2456988679891299865329896799567899999678992123456789987798779657798998777632469943212356799998765434 -1369876567789498765456789895466789898999987012357998976549989769979987654321367892101234598999879875 -0198985456667999876569999964345698767889996433767987895421299896567898865432456789233395997899989989 -1987654327456789997778998943236987656469876545678976989210378987678999876546567896546789876789999898 -9898954312347995398989567899197986543212989856789345678931267898789875987657689998658999765678999767 -8759865523456789199795456798989997672101298768990234789542456789898764598798999999899109754599987658 -8649876434568999987671237987878998783213499979321365679663477892949943679899879899978998743489998743 -9432987678678968097532348976567899654324689989452376889764598901239874699923469789467987654568989932 -8631098789789842198643469765456998785465678996543487999875678992398765789015998679323598795678979891 -6542359899897654349799598976567899987589789987976568921989999879459876789239897598909999987899356789 -7853457979998765456988987997678954198799891098998679930998798768969987894398765457898899998910245678 -8964568964329976879877535998789543239899943989649789799787649879998999965987654346797698899432349789 -9875678975439799998764424899899959445998959876439895698685434997987976799998765127896546789654678994 -2996789998598678939893212698999898956987898764321934987565423456896545678999877898987634899878899543 -3987897987696589323976104567898767899876529895210129896432101567997434567895998949999895689989978992 -4998986498989695474985323489987656789767312976821298789543212356789323489954589432978976789597656789 -9899894329878976569876765678998545678954324987942989678954323467891014567895678949869987993498767890 -8789789498967997678987886789298758989765434598969876569975434568932325789976989298757498921019889921 -7645678997656789789898999892129867999876546689878997879876545879545434678989899109843349432923997899 -8756789987545678998769456989234998910988687899989898989998786798756645989998778998732235949895986678 -9869898765434567987654345678945679999999798979998789999959897929767856799896565679641019899799875567 -3978959977756689798963233457899789987859899567989656998845998939878978999765434569852199787678954345 -2989543298987897679892101556998999876545999879876549876734349798989989998986323498963987697567893234 -1097432109598923598783242345987899965436799989995421965621234567992398967895404987654996546456789345 -2976543413459919679654653569876989875429988999986590954210156789101987856789512399869886431345898976 -9898865524567898999965775789965678976598767898997979875663247893219876745999423567989767210124567897 -4769986678978987689896989899876789987987656567899868986754356789498765535898994678998654323234788998 -3456798789989876576789998943989899999876548489989654398869767899599854524657789989129769834545678959 -2135699892598765465678987632399998932985432345678968239979878998987643212345699893298998765696889434 -4396989901459854323456896543989897891096521234567892101989999767896532101237998765987999876787998923 -5989878912398764212348998799876776789987430123979963312399989945987643212456789879876799987898967894 -6975567893987653105479999987654545678995321239899654323998767896798965434767899998765789998969556789 -9864348999876543235567899999643234989876542398788969439865449797899987645898998999654567899654345798 -7943239898997864346778998998767367899998653997677898949654338689910297656999567987743578999543102987 -6521098787698765489899987899976456789459769876566567898784213578954398997894329876542347898683219876 -6432987654569896579978996432987678996569898765433478989832102459768569698989013989421456999795339865 -7843499869678987678967987563598789987878987657321389569943212369877679549678929898732345689896949654 -7654987998789798989655987689989899998989876543210123498954534678998798934569999789654556798989898643 -8765976539895699996544398798879998999694989987321784567896645689899987897678987678966667987876789532 -9876987421934789987431239987668687896593999876534567898998756789789896789789876567898779876545678901 -7989873210125678998763459876544456798989891987545698969999867895698784898999975479989899996434799412 -6599965322334589439654568988632345679878790198657789657899978954987673457899867365678998987645689323 -5439986437645678998965679999741235698765689249878894545989989543499452349999954234567997898876898934 -6598997598786789346896799876432346987654578998989943239879996532598321298987632123459876769987897895 -7987698679897991249997989976545469876553456897699532198767897921987532457996543234567965457998956789 -9876598799989892398789978898656798765432567989578956987656799890197643568919755365778994356789345991 -4965429899876789987679856789987899887543569876456799876545678789987654578909979876799986467991234892 -3989999998785678976598768993099989997678678989567898765432345678999765699698989989893599878910126789 -2199878987654568968459899772134678999989789399878919874321234569329876789597696799931298989321345899 -3298967898123978957345989654545789999799891265989109783210237789539987899986545678920987599865456789 -5987656799357889543213478987679899987688910234594298654341546789998999998765434567939875476996768891 -9876545678968997657302367898998999654567891345896498765656756789897932359654325899898764345987899992 -0987858799878999898212456999897987653687992556789989898789867898776899498763216789799897657898956789 -1298878892989789949323789899656899432456789968999876989893978986565778999865397997679998767939345899 -2459999921094694339875698798645999754867999899998765678932989985434668999986468997544349898921234589 -3456796539123989210976988659534678967989656789999754569321299876323456889987989985431239979310125679 -4577987698999877921989876547623899978996545698789543998954398765412345678998999874310198765432457789 -5699898987987656799999965432105678989998634987678959897899459898937856789239910965621349976653567897 -6988769876576545678999876543212389997898745696599998756978999987656787890129899899435698999768678946 -9876556997432434567989987655424678976789896985489999545658789899867898991998798778945997898979989236 -7654445698521015998979899876435789435689987976567899431345698789878999989899654567899876777899896345 -9943236997732129879767789976545678923567898987689998910123597698989998976778943456798765656789765456 -8895349876545299765656687987676899212345999898789997893234986567999987755667892538569654545678996867 -6699656987856987664335496798787932101398987789899986789359975436899876544459931023498763235678989978 -4578967998967976543213345679898943214567986679998775678998765325798765432368892254797654357799678989 -3456798959878987654101277893999654323678974567987654999469965434697654321236794345698765689897577991 -1346789341989798794212368974698768634569765678996543894349987545698776450125689456799876799998456910 -0256893210395679887533457965899977545678986899987654789498987656789986543234678967987989899329967891 -2347894321234567997646567899934988678789398921098765699997898767893499767455789879976794978919878989 -7658999459495678999857678998923598789891239999239879797896409898931239876566791998765623769901989878 -8768998998989789999969899567899699897990198978999998986789212999540123987679890987654104457892398767 -9979987997678998979878943457968987956789987866789876765678923987321234599989999996543212398943987658 -0989876789567897569989632123459876545698896745998765653589899876595445678997898987985323689956988734 -1998954453456789498996545234678995434987654235987654212456789987986556799656987799876434567899879823 -9876543212345679357987654345789986524499875123598764343457897898997677897649876653987895678989954312 -2998754523456789267999865856892987612398765435679875654667976549098788985434995432198976789679875324 -1239895434579890178923988767921098201239976576799986765679989632129999876545986543249987893498765435 diff --git a/inputs/test_input10_1_0 b/inputs/test_input10 similarity index 100% rename from inputs/test_input10_1_0 rename to inputs/test_input10 diff --git a/inputs/test_input10_1_1 b/inputs/test_input10_1_1 deleted file mode 100644 index f8b31ed..0000000 --- a/inputs/test_input10_1_1 +++ /dev/null @@ -1,94 +0,0 @@ -(<[<[((<[<([<<[]()>{{}()}>({<>[]}<[][]>)])<<[{{}[]}[{}<>]]([()<>][()()])>>>]((<{{([]{})<[]<>>}(<[ -<[{({[[<{[{{{<<><>><{}>}<([]()){()[]}>}({(()()){{}<>}})}{([<()()>[<><>]><<{}[]>({}<>)>)}]{{[((<>()){<>[] -[[{[[(<((<[<<{{}()}<()[]>>(<<>{}>{{}()})>]<<[[{}()](()<>)][<<>{}><[]()>]>{((<>()){{}()))}>>[{[<[<>{} -{{((({({(<[({<<>()>([]<>)}({()[]}(<>{}))}[({{}{}}([]()))<({}[])[[]()]>]](<{([]<>)(<><>)}{[[]] -[[({[{(((<(<{({}[])}((()<>)([]<>))>({{[]<>}{{}[]}}{[<>[]][()()]})){(<{{}[]}{{}[]}><([][])[<>{}]>)}><<{{{()}[ -(<{([{<[([(<({{}{}}{<>()})[<{}<>>{()()}]><((<>}(()<>))>){<[[()[]](()[])]>[{<{}[]>(<>())}]}](<[({( -<{{{<({[{<<[<({}()){[][]}>[<{}{}>[{}<>]]][[(()<>)([][])]]>><{<[(<><>)]>{(<()[]><[]{}>)<<<><>>(<>[] -({{{{<<[{([(({{}{}})<[[]<>]>)])}]>>}[(<[<<<{[{{}()}]<[{}{}]>}>>{(({(<>())<()()>}(<[][]>{()()})))}){[<<([() -<(([{(<{{{{([({}{})(<>[])][[()[]][<>{}]])<[<()[]>]}}{<<{{}<>}><{<>}([][])>>{<{{}{}}<{}<>>><((){}) -<(<<[([<[<({{{<>[]}<()[]>}}[([()<>]([]()))(({}<>){[]{}})])>]{({[([<>()])]})}]{[[<(<{()<>}[{}<>]>{[()[]][<><>] -{[[[((<(<[<(<[()()]>)<<<{}<>><<>[]>>(<(){}>)>>](<([<(){}><[]()>](([])))[<{{}{}}{<><>}>{<<>>{<> -[<{([{<[<<<[({[][]}<{}[]>){(()<>)<{}<>>}]><{{{[]<>}<()<>>}[(()[])[{}<>]]}(({<>[]}<{}()>)(<{}[]>([]{})) -{<[<[<<[<[{[{(()<>)}(<<>{}>[<>()])](([<>[]](<>[]))[[[]<>]([]<>)])}]><{{<{{[]<>}{{}[]]}<[<><> -[((<<{<[{<{(<[[]{}]>)}<<({()[]}[[]])<(()<>)[(){}]>>(<[{}<>]{<>[]}>)>>{[<<{()<>}]<[[]<>]({}{})>>[<[( -<<<<{[<(<[[<<{()[]}({}<>)>{{[]<>}{[]()}}>](([{()}]([(){}][<>[]])))]{[(<(()[])[<>[]]>{([]())}){( -({<[({([{[(<[{<>{}}(<>[])][<()()><()<>>]>)]}({<<<{[]{}}[<><>]>>><{((<><>))<<<>[]>{<>[]}}}([(()<>)<<>{ -<(<({{[<[{<[[{()[]}]((<>()))]<[[()[]](<><>)][[{}{}]<()>]>>}]>]{<(({<((())[<>{}])[<[]<>>{<>{}}]>}<<{[<>[]] -{[([{((<({<{[{[][]}<[]{}>]{{<>{}}<{}[]>}}>[<{(<>[]){[]{}}}<{[][]}{{}}>>]}{((<[[]()]<[]>>)[[<()[]> -(<{(({[(<{{(({<>[]}[{}])[[()()][[]()]])}[{(<()()>{[]<>})(<(){}><[]()})}[(([]{})<<><>>)<(<>())<<> -<(<{<({<((<{(({}{})><(<>[])>}>[<{<<>{}>([]{})}{[<>{}]([]())}>([[()[]]<{}<>>]({[][]}<()[]>))]){<[(<{}<> -([{({([({([[[{[]{}}({}<>)]]((<{}()><<>{}>){({}[])<{}<>>})]>}{[({{(()<>){<>[]}}[<()[]>[()<>]]}<<<< -{(<<[{(<<<(<<{[]<>}<[]()>><(<>)(()[])>><{(()<>){{}<>}}>)({{(<>())[<>[]]}}<[[{}{}](()())]<{{}()}( -<<(<<{[{([{([[<>()][[]()]](<()<>>[[][]])))<(<<[]<>>>)[({<>[]})]>][<<<(<><>)(<>)>[([]{})]>>])[[{(<(<>()){[] -<<<{[(<(<[(([{{}}]((<><>)[{}<>])))<({{<>{}}[{}<>]})>]{<[<(<><>)[{}{}]>[[{}[]]({}{})]]{<[[]<> -<{(({{{[[[<([{{}[]}]({(){}}((){})))>]]<(({[{<>()}({}{})]})(((<(){}>[(){}])[{[]{}}(<><>)])) -<[[{((<{([(<<{()<>}(()[])><<[][]>>>{(<{}[]>({}<>))})<<<<()()>{[]()}>(<<>()>)>>])}>))}[<<{[<{{{{<[]<>> -({(<{<(([[({{{[]{}}[()<>])}{(((){})<()[]>)})[<([[][]][[]()]){{<>()}[[][]]}>(<(<>)<<>[]>>{[<>[]]{[]( -((({(<<({<[[[{<>}[<>()]]<<{}<>>({}[])>]]<({<{}{}>[()[]]}{<{}<>>{<>()}}){[(()())<{}[]>][([]{})[[]<>]]}>>[{[<(( -{[[<[([{{<[<[[<>()][{}[]]]{<<>()>{[]()}}>]{[<[<><>]<<>{}>><{<><>}<<>{}>>)[{<{}<>><<>[]>}{{<><>}}]}>{ -<(<{(({([<[([([][])(()<>)]{[<><>](()<>)})((([]{})[[]()]))]([({[]()}{<>{}}){{{}})])>]{<<({<<>[] -<<{([{<[{{(({{{}()}{[][]}}<{[]()}{<><>}>){{<()[])<<><>>}[<{}[]><{}[]>]}){<<{[]()}<<><>>>{<{}{}>({}( -<[[<<(<({<([((()<>){()[]})[([][])<{}[]>]]({<<>()>((){})}([[]()]({}<>})))>})[<<{({([]())<<>{}>}{{() -<{(<[[<(<<({(<[][]><<>{}>)[<{}{}>[()<>]]}(({()[]}<{}[]>)))>[<[{(<>{}){()<>]}<[{}[]][<><>]>]>]>[<[({< -(<(([{{[<(<[<{()}{[][]}>]>{(((<>())[{}{}])<[[]]<(){}>))})>](<[(<(<[][]><<>()>){<{}[]>([]{})}>{(([]))<([]<>)[( -{((<{(({({<[{<{}<>><<>[]>}((<>{})[[][]]]]{([()[]](()()))([[]<>]{{}()})}>})(<[<<<[]{}><()[]>><<{}<>><< -{<{(<[<{[[{{{[{}()]}({()()})}((([]<>){()<>})(<<><>>))}<[{{()()}{[]()}}]>]<[((<[]()>((){}))([()()][<> -([({((([<({[[[[]()](()<>)][({}())<<><>>]]}<{<[{}<>][{}{}]>(([]<>){[]()})}[<<[]()>[{}()]>]>)<([([() -<<{({<<[{[<{<(<><>)([])>({{}[]}{[][]})}<([()()])(([]{}))>>([(<[][]>{{}<>})[[<>{}]<()<>>}]{[{{}[]}({}<>)]<[[]< -([<{[[[([[<[(((){})[{}()]){{[]<>}(()<>}}][({(){}}{<>[]})]>]])({<[{<(()<>)>({[]{}}<{}()>)}(([()()]<<><>> -([({{[<([[{<[{()[]}[<>]]({<>()})><{({}[])(()<>)}{(<>{}){{}<>}}>}]])>]<([([[{[[<>{}]{[]{}}]{<[][]]{{}[]} -[[{(({[{{[[[<(()[])[[]<>]>]{<{()[]}{()()}>{(<>[])({}[])}}](<((<><>)[<><>])([<><>])))][[[(<( -[{(<<{(((([[<<{}<>>({}())><<<>[]>[{}{}]>][<(<>[])<{}>>[<[][]>{{}[]}]]]<<(<[][]>{[]()})({{}()}<{}<>>)><([< -{<[[<{{<[[(<{{()()}<[]<>>}><<{<>}<{}{}>><<[][]>>>)<{{[()<>]{{}{}}}<({}[])[(){}]>}>]]>}<<(({{(((){} -((<([[<{{<(<([<>()]{(){}}]({[]()}<()()>)>(([{}[]]((){}))))<[{[<>{}]({}<>)}]>>}[[<({(<>())(<><>)}){([<><>][[][ -<[([<(({<(([<({}<>)[()]><<[][]><<>()>>]<{([]{})}<{<>{}}{[]()}>>)){[[{[<>{}][[][]]}]<[[<>()][{}[]]]>][<[[() -((({({[[[[{{<(<><>)((){})>}}]{{[[[<>[]][<>[]]]{{()<>}[[][]]}]{{{{}{}}{<>[]}}([{}][<><>])}}({( -<<<{[<(<({[{[({}[]){()()}]}]}{[(({{}()}[[]<>])[([]<>)(<>)])]{{({()<>}{<><>})<<{}()>>}<[<[]{}>]{([]< -(({[(<<<<{((((<>{}){[]<>})[{[]<>}])(([[][]]<()<>>)<[{}<>]<[]{}>>)){(({()[]}<[][]>)[[<>[]]{()<>}])([[()[]]]< -<([<<[<<[{[[<<[][]>>{((){})[<>[]]}]((<{}{}>[[]<>]){<{}()>(()<>]})]({[(<>{})(<><>)](<(){}>[ -((<{[{[[{<<((<<>{}>{<>()}){{[]()}((){})})((([]<>)<<>[]>)<(()){<>[]}>}><[<(<>[])<{}()>>]{<< -[(<[{([{<{([[(()){(){}>]{{{}<>}<[]()>}][(<()<>>[(){}])<[()](()<>)>])}({([[[]{}]({}())]({()<>}{ -[<[{[<[{[[<[{([]){{}{}}}]>][[<<(<>{})<<>{}]><{{}()}>>(([{}<>]({}))[(<>{})<[][]>])]]]}]<[(({ -(([{{<<{<[[(((<>())<[]{}>)([()()}(()())))[((<>()))<[{}()]({}[])>]](<{{<>}{{}<>}}>)]>[{<{{[ -<<[[{<([<<<<{({}<>]([]())}({{}()}<()<>>)>[<<()()>{()()}>({()<>}[{}()])]>{<(<[][]>)>[<[{}{}]>((<>() -(<{[<[({{[[([<[]{}>[[]()]]{{{}[]}(<><>)})]<[([<>{}]<{}[]>)[<{}<>>{[]()}]]<(<<><>>(()()))<[<><>}{{}{}}>>>]( -[<((<{{[(<(((<[]()>([][]))(<()<>>{{}[]}))((<{}{}><{}[]>)({{}[]}[[]{}])))<{(<[][]>)<{<>()}>}{{[()<>]}{{<>( -{((([{{((<<<<[()()][(){}]>{[[][]](()<>)}>>{{{{<><>}[[]<>]}[{<><>}({}()]]}([[<>]{(){}}][[(){}](()<>)])}>[([([[ -[(({<<{([{(<[<()[]><[]()>]((<>[])[<>()])>([<(){}><<>()>]{[<>()][(){}]}))}[<[{[{}()]{()()}}(<<>>{[]})]{[<<>()> -<[{[<<({<<<[((<>()){()()})[(<>[])([]{})]]><[<([][])([]<>)>(<[]{}>(()()))][{[()[]]{[]<>}}[(<>{})<<> -((<[<[(({[{[[<<>[]]{[]()}]({()<>})]{[<<>()><{}()>]}}(<(([]{}){(){}})>{<{{}()}(()())>})]}([(<{[[][] -{(((((<({[<[{<<><>>{<>[]}}(<(){}><[]()>)]<{<{}()>(<>())}[[[]<>]{{}<>}]>>{[{<()()>[[]()]}[<{}>]]}]{ -(({([{<([<{{<<[]{}>[[]{}]>({{}{}}({}<>))}<[{<>{}}{()<>}][<<>{}>]>}>{({(<(){}>[{}()])[{()<>}[()<>]]}<[{[ -[[{{[<<[<((<{{{}()}<[]>}{[{}<>]<()[]>}>({[[]{}]}[([]())<[]{}>])){(<<()()>>{[{}[]]<{}{}>})})>]>>]<([<[< -{({{{{[[<{<[{[{}<>]}([[]{}][{}<>])][((()()){[]()}){[<>()](<>())}]>}>[{<[{{<>{}}({}())}[<<>{}>(( -({[((<{{<<<({[{}{}][(){}]})((<[]><()()>)<{<>()}[[]<>]>)>(({<{}[]>([][])}(({}{})<<>()>))<{<[ -[<<[<{[[{{(<{[[]<>)({}[])}>)}}(({{((<>[])<<><>>)}{[[[]<>]]{{[][]}<{}{}>}}}){[[((<><>)[{}<>]) -(({<(<([({<(<<()<>>([]<>)>[([]()><()[]>])<[<()[]>[()()]]{[[][]]{{}[]}}>>{{<<[][]><[]{}>>{[{}[]]<<>>}}{{<[]{ -([{{({({{{<([({}[])[()<>]][[[]{}]([]())])>([[[()()][<>()]]([{}[]]{{}()})]<{{[]<>}({}[])}{<()[ -(<{(({(<{{[<[[()<>]{<>()}][<(){}><()<>>]>{<<<>[]>[<><>]><({}<>>>}](<<{<>[]}[[]<>]>[[[]<>](()[])]>{{{[] -[[[<[([([(({{<<><>>([][])}})[([[{}()]<<><>>])<({{}<>})<{{}}({}{})>>])])<([((<[[]<>]{(){}}>{[[]<>]<[]<>>})( -(({(<({[[<{<([{}<>]{<>()})([()()](()<>))>(((()())[{}()])({()[]}{{}<>}))}>([({<(){}>([]<>)}{[<>()]<<>>} -({{[<<{<<[<<{[()()]<<>[]>}({[]}<<>{}>)>[<<{}{}>[<>[]]><({}<>)<[]()>>]>({(<()[]>(<>[]))}[([()()][{}]){{()()}{ -(<({{([{<[{(([()]<<><>>))}<<<[()][{}{}]><([][])(()())>>[[<<>[]><[]>]{[<>{}]<[][]>}]>](<(<<[]>({}()) -(<{<([[[<<((([<>{}]{()[]})([(){}]{{}<>}))[[[{}<>](()[])][[<>[]](<>())]])>>([{([{<><>}<{}[]>] -<{[{[{<{{({<<({}[])><{()()]<[]<>>>><[({}[])[()()]]<[{}<>]{<>{}}>>}((({()[]}{[]<>}){[[]()]([]<>)}))) -[(([[[[<<<[<{{<><>}{[]()}}[({}[])<(){}>]>(([[][]]([]{}))<{{}}(()<>)>)]({<<[]{}>{[]<>}>{[()<>}{{}}}}{{[(){}]} -{(([<{<(<{<{{<()><[]{}>}}({{{}<>}}<{<>[]}<{}<>>>)>[<([{}[]]<()<>>)(<{}{}>{()[]})><<{<>[]}(()[])>>]}( -(<((<{[[{({[([()[]]<()<>>)[<<>{}>({}[])]][<[<>[]]><{(){}}>]}[<(({})({}()))(<[]{}>(<><>))>[[([]{})[{}[ -{({([[[[{<([<{{}<>}[[][]]><<<>[]><<>{}>>]{{<{}<>><[][]>}({[]{}}<{}[]>)})>{{{{[[][]]}}}}}[<[[{[{}[]][()()] -[{(<([{{{<{<({{}[]}<()<>>){<<>())[{}[]]}>{{{[][]}}[[(){}]{<>()}]}}([(<<>()><[]()>)]{({[]<>} -[<[([{<((({<{{<>{}}}<<(){}><()()>>><({()}[[]{}])(([]())[<>[]])>}))){<[{{{(()[])({}())}{{()()}{{}<>}}}[(<{} -<([({({{(({{({<>}(<><>))}{([{}[]]{{}<>})}}[{({[]<>}([]<>))[<[]>([]{})]}({[[]{}]({}())}{<{}<> -[{(({(({<[[{<[(){}](<>[])>}[[[<>()]][([][])<<>()>]]](((<<><>>[(){}])([[][]]<{}{}>))[<(<>()){[]{}}>[[()[ -<<{{<[(([{[{[[<><>][[]()]]<(<>[])[[]<>]>}]<([<()[]>((){})][<{}>(<>())])>}][{(<([()()][<><>])(({ -({(<({([(<[<{[{}()]({}{})}<<{}{}>(()<>)>>]>{([<[<><>]<(){}>><({}[])((){})>]{{<[]()>[{}[]]}(({}{})< -<[{<{((<{((<[([]<>)]<{{}()}{()[]}>>(((())){<[]{}>[{}[]]}))<[<<{}[]>((){})>[<()()>{()()}]]<[[( -{{{((<(([{({(({}{})({}{}))}[<{()<>}[{}()]><([]()){[][]}}])[([[()[]][[]{}]])<{({}())[<>{}]}{(<>[])} -<({[{[[{(({<(<<>>[(){}])({[]{}}<[]()>)>}<{[([]())<<>{})]{(()[])<[]>}}(<[{}{}]>(((){}){{}{}}))>) -<{[[({[{[{[([[<>{}]((){})][[[][]]{()<>}])<[<{}()>(<>{})]<<<><>>[<>()]>>][[[<[]<>>{{}<>}]<{[]{}}<[]{}>>] -(({(<((({({{<<{}()>(()<>)><<<>{}>[{}{}]>}(((()<>)(()()))(<{}<>>))}[<[[[]<>]]({[][]}[<>{}])>]){[(({{}{}}){([][ -[{{<({<<{(<({<{}<>>[[]<>]}<[{}[]](()()]>)>([{{<>[]}}{([][])([][])}]))({(<{[]{}}{()<>}>([<>()]{[]{}})) -[<({[(<{{{[((<[]<>>(<>[]))([[]<>]<()<>>))(<((){})>)]}}}>{{<([<[<()[]>{{}<>}](([]())[[]<>))>]{(({[][]}<<>( -([(({<([{({<(([]<>)(()[])){<()()>{<>()}}><([[][]]<()<>>)[[[][]]<()<>>]>}[{[{()[]}(<>[])]([<>[]]<<>()>)}]) -{{{([<[([{(<[{[]()}<[]{}>]>)}])<<<<({(<>())<{}()>})[{({}[]}{<>[]}}<<[]<>><{}[]>>]><(<[()<> diff --git a/inputs/test_input10_2_0 b/inputs/test_input10_2_0 deleted file mode 100644 index b1518d9..0000000 --- a/inputs/test_input10_2_0 +++ /dev/null @@ -1,10 +0,0 @@ -[({(<(())[]>[[{[]{<()<>> -[(()[<>])]({[<{<<[]>>( -{([(<{}[<>[]}>{[]{[(<()> -(((({<>}<{<{<>}{[]{[]{} -[[<[([]))<([[{}[[()]]] -[{[{({}]{}}([{[{{{}}([] -{<[[]]>}<{[{[{[]{()[[[] -[<(<(<(<{}))><([]([]() -<{([([[(<>()){}]>(<<{{ -<{([{{}}[<[[[<>{}]]]>[]] diff --git a/inputs/test_input10_2_1 b/inputs/test_input10_2_1 deleted file mode 100644 index f8b31ed..0000000 --- a/inputs/test_input10_2_1 +++ /dev/null @@ -1,94 +0,0 @@ -(<[<[((<[<([<<[]()>{{}()}>({<>[]}<[][]>)])<<[{{}[]}[{}<>]]([()<>][()()])>>>]((<{{([]{})<[]<>>}(<[ -<[{({[[<{[{{{<<><>><{}>}<([]()){()[]}>}({(()()){{}<>}})}{([<()()>[<><>]><<{}[]>({}<>)>)}]{{[((<>()){<>[] -[[{[[(<((<[<<{{}()}<()[]>>(<<>{}>{{}()})>]<<[[{}()](()<>)][<<>{}><[]()>]>{((<>()){{}()))}>>[{[<[<>{} -{{((({({(<[({<<>()>([]<>)}({()[]}(<>{}))}[({{}{}}([]()))<({}[])[[]()]>]](<{([]<>)(<><>)}{[[]] -[[({[{(((<(<{({}[])}((()<>)([]<>))>({{[]<>}{{}[]}}{[<>[]][()()]})){(<{{}[]}{{}[]}><([][])[<>{}]>)}><<{{{()}[ -(<{([{<[([(<({{}{}}{<>()})[<{}<>>{()()}]><((<>}(()<>))>){<[[()[]](()[])]>[{<{}[]>(<>())}]}](<[({( -<{{{<({[{<<[<({}()){[][]}>[<{}{}>[{}<>]]][[(()<>)([][])]]>><{<[(<><>)]>{(<()[]><[]{}>)<<<><>>(<>[] -({{{{<<[{([(({{}{}})<[[]<>]>)])}]>>}[(<[<<<{[{{}()}]<[{}{}]>}>>{(({(<>())<()()>}(<[][]>{()()})))}){[<<([() -<(([{(<{{{{([({}{})(<>[])][[()[]][<>{}]])<[<()[]>]}}{<<{{}<>}><{<>}([][])>>{<{{}{}}<{}<>>><((){}) -<(<<[([<[<({{{<>[]}<()[]>}}[([()<>]([]()))(({}<>){[]{}})])>]{({[([<>()])]})}]{[[<(<{()<>}[{}<>]>{[()[]][<><>] -{[[[((<(<[<(<[()()]>)<<<{}<>><<>[]>>(<(){}>)>>](<([<(){}><[]()>](([])))[<{{}{}}{<><>}>{<<>>{<> -[<{([{<[<<<[({[][]}<{}[]>){(()<>)<{}<>>}]><{{{[]<>}<()<>>}[(()[])[{}<>]]}(({<>[]}<{}()>)(<{}[]>([]{})) -{<[<[<<[<[{[{(()<>)}(<<>{}>[<>()])](([<>[]](<>[]))[[[]<>]([]<>)])}]><{{<{{[]<>}{{}[]]}<[<><> -[((<<{<[{<{(<[[]{}]>)}<<({()[]}[[]])<(()<>)[(){}]>>(<[{}<>]{<>[]}>)>>{[<<{()<>}]<[[]<>]({}{})>>[<[( -<<<<{[<(<[[<<{()[]}({}<>)>{{[]<>}{[]()}}>](([{()}]([(){}][<>[]])))]{[(<(()[])[<>[]]>{([]())}){( -({<[({([{[(<[{<>{}}(<>[])][<()()><()<>>]>)]}({<<<{[]{}}[<><>]>>><{((<><>))<<<>[]>{<>[]}}}([(()<>)<<>{ -<(<({{[<[{<[[{()[]}]((<>()))]<[[()[]](<><>)][[{}{}]<()>]>>}]>]{<(({<((())[<>{}])[<[]<>>{<>{}}]>}<<{[<>[]] -{[([{((<({<{[{[][]}<[]{}>]{{<>{}}<{}[]>}}>[<{(<>[]){[]{}}}<{[][]}{{}}>>]}{((<[[]()]<[]>>)[[<()[]> -(<{(({[(<{{(({<>[]}[{}])[[()()][[]()]])}[{(<()()>{[]<>})(<(){}><[]()})}[(([]{})<<><>>)<(<>())<<> -<(<{<({<((<{(({}{})><(<>[])>}>[<{<<>{}>([]{})}{[<>{}]([]())}>([[()[]]<{}<>>]({[][]}<()[]>))]){<[(<{}<> -([{({([({([[[{[]{}}({}<>)]]((<{}()><<>{}>){({}[])<{}<>>})]>}{[({{(()<>){<>[]}}[<()[]>[()<>]]}<<<< -{(<<[{(<<<(<<{[]<>}<[]()>><(<>)(()[])>><{(()<>){{}<>}}>)({{(<>())[<>[]]}}<[[{}{}](()())]<{{}()}( -<<(<<{[{([{([[<>()][[]()]](<()<>>[[][]])))<(<<[]<>>>)[({<>[]})]>][<<<(<><>)(<>)>[([]{})]>>])[[{(<(<>()){[] -<<<{[(<(<[(([{{}}]((<><>)[{}<>])))<({{<>{}}[{}<>]})>]{<[<(<><>)[{}{}]>[[{}[]]({}{})]]{<[[]<> -<{(({{{[[[<([{{}[]}]({(){}}((){})))>]]<(({[{<>()}({}{})]})(((<(){}>[(){}])[{[]{}}(<><>)])) -<[[{((<{([(<<{()<>}(()[])><<[][]>>>{(<{}[]>({}<>))})<<<<()()>{[]()}>(<<>()>)>>])}>))}[<<{[<{{{{<[]<>> -({(<{<(([[({{{[]{}}[()<>])}{(((){})<()[]>)})[<([[][]][[]()]){{<>()}[[][]]}>(<(<>)<<>[]>>{[<>[]]{[]( -((({(<<({<[[[{<>}[<>()]]<<{}<>>({}[])>]]<({<{}{}>[()[]]}{<{}<>>{<>()}}){[(()())<{}[]>][([]{})[[]<>]]}>>[{[<(( -{[[<[([{{<[<[[<>()][{}[]]]{<<>()>{[]()}}>]{[<[<><>]<<>{}>><{<><>}<<>{}>>)[{<{}<>><<>[]>}{{<><>}}]}>{ -<(<{(({([<[([([][])(()<>)]{[<><>](()<>)})((([]{})[[]()]))]([({[]()}{<>{}}){{{}})])>]{<<({<<>[] -<<{([{<[{{(({{{}()}{[][]}}<{[]()}{<><>}>){{<()[])<<><>>}[<{}[]><{}[]>]}){<<{[]()}<<><>>>{<{}{}>({}( -<[[<<(<({<([((()<>){()[]})[([][])<{}[]>]]({<<>()>((){})}([[]()]({}<>})))>})[<<{({([]())<<>{}>}{{() -<{(<[[<(<<({(<[][]><<>{}>)[<{}{}>[()<>]]}(({()[]}<{}[]>)))>[<[{(<>{}){()<>]}<[{}[]][<><>]>]>]>[<[({< -(<(([{{[<(<[<{()}{[][]}>]>{(((<>())[{}{}])<[[]]<(){}>))})>](<[(<(<[][]><<>()>){<{}[]>([]{})}>{(([]))<([]<>)[( -{((<{(({({<[{<{}<>><<>[]>}((<>{})[[][]]]]{([()[]](()()))([[]<>]{{}()})}>})(<[<<<[]{}><()[]>><<{}<>><< -{<{(<[<{[[{{{[{}()]}({()()})}((([]<>){()<>})(<<><>>))}<[{{()()}{[]()}}]>]<[((<[]()>((){}))([()()][<> -([({((([<({[[[[]()](()<>)][({}())<<><>>]]}<{<[{}<>][{}{}]>(([]<>){[]()})}[<<[]()>[{}()]>]>)<([([() -<<{({<<[{[<{<(<><>)([])>({{}[]}{[][]})}<([()()])(([]{}))>>([(<[][]>{{}<>})[[<>{}]<()<>>}]{[{{}[]}({}<>)]<[[]< -([<{[[[([[<[(((){})[{}()]){{[]<>}(()<>}}][({(){}}{<>[]})]>]])({<[{<(()<>)>({[]{}}<{}()>)}(([()()]<<><>> -([({{[<([[{<[{()[]}[<>]]({<>()})><{({}[])(()<>)}{(<>{}){{}<>}}>}]])>]<([([[{[[<>{}]{[]{}}]{<[][]]{{}[]} -[[{(({[{{[[[<(()[])[[]<>]>]{<{()[]}{()()}>{(<>[])({}[])}}](<((<><>)[<><>])([<><>])))][[[(<( -[{(<<{(((([[<<{}<>>({}())><<<>[]>[{}{}]>][<(<>[])<{}>>[<[][]>{{}[]}]]]<<(<[][]>{[]()})({{}()}<{}<>>)><([< -{<[[<{{<[[(<{{()()}<[]<>>}><<{<>}<{}{}>><<[][]>>>)<{{[()<>]{{}{}}}<({}[])[(){}]>}>]]>}<<(({{(((){} -((<([[<{{<(<([<>()]{(){}}]({[]()}<()()>)>(([{}[]]((){}))))<[{[<>{}]({}<>)}]>>}[[<({(<>())(<><>)}){([<><>][[][ -<[([<(({<(([<({}<>)[()]><<[][]><<>()>>]<{([]{})}<{<>{}}{[]()}>>)){[[{[<>{}][[][]]}]<[[<>()][{}[]]]>][<[[() -((({({[[[[{{<(<><>)((){})>}}]{{[[[<>[]][<>[]]]{{()<>}[[][]]}]{{{{}{}}{<>[]}}([{}][<><>])}}({( -<<<{[<(<({[{[({}[]){()()}]}]}{[(({{}()}[[]<>])[([]<>)(<>)])]{{({()<>}{<><>})<<{}()>>}<[<[]{}>]{([]< -(({[(<<<<{((((<>{}){[]<>})[{[]<>}])(([[][]]<()<>>)<[{}<>]<[]{}>>)){(({()[]}<[][]>)[[<>[]]{()<>}])([[()[]]]< -<([<<[<<[{[[<<[][]>>{((){})[<>[]]}]((<{}{}>[[]<>]){<{}()>(()<>]})]({[(<>{})(<><>)](<(){}>[ -((<{[{[[{<<((<<>{}>{<>()}){{[]()}((){})})((([]<>)<<>[]>)<(()){<>[]}>}><[<(<>[])<{}()>>]{<< -[(<[{([{<{([[(()){(){}>]{{{}<>}<[]()>}][(<()<>>[(){}])<[()](()<>)>])}({([[[]{}]({}())]({()<>}{ -[<[{[<[{[[<[{([]){{}{}}}]>][[<<(<>{})<<>{}]><{{}()}>>(([{}<>]({}))[(<>{})<[][]>])]]]}]<[(({ -(([{{<<{<[[(((<>())<[]{}>)([()()}(()())))[((<>()))<[{}()]({}[])>]](<{{<>}{{}<>}}>)]>[{<{{[ -<<[[{<([<<<<{({}<>]([]())}({{}()}<()<>>)>[<<()()>{()()}>({()<>}[{}()])]>{<(<[][]>)>[<[{}{}]>((<>() -(<{[<[({{[[([<[]{}>[[]()]]{{{}[]}(<><>)})]<[([<>{}]<{}[]>)[<{}<>>{[]()}]]<(<<><>>(()()))<[<><>}{{}{}}>>>]( -[<((<{{[(<(((<[]()>([][]))(<()<>>{{}[]}))((<{}{}><{}[]>)({{}[]}[[]{}])))<{(<[][]>)<{<>()}>}{{[()<>]}{{<>( -{((([{{((<<<<[()()][(){}]>{[[][]](()<>)}>>{{{{<><>}[[]<>]}[{<><>}({}()]]}([[<>]{(){}}][[(){}](()<>)])}>[([([[ -[(({<<{([{(<[<()[]><[]()>]((<>[])[<>()])>([<(){}><<>()>]{[<>()][(){}]}))}[<[{[{}()]{()()}}(<<>>{[]})]{[<<>()> -<[{[<<({<<<[((<>()){()()})[(<>[])([]{})]]><[<([][])([]<>)>(<[]{}>(()()))][{[()[]]{[]<>}}[(<>{})<<> -((<[<[(({[{[[<<>[]]{[]()}]({()<>})]{[<<>()><{}()>]}}(<(([]{}){(){}})>{<{{}()}(()())>})]}([(<{[[][] -{(((((<({[<[{<<><>>{<>[]}}(<(){}><[]()>)]<{<{}()>(<>())}[[[]<>]{{}<>}]>>{[{<()()>[[]()]}[<{}>]]}]{ -(({([{<([<{{<<[]{}>[[]{}]>({{}{}}({}<>))}<[{<>{}}{()<>}][<<>{}>]>}>{({(<(){}>[{}()])[{()<>}[()<>]]}<[{[ -[[{{[<<[<((<{{{}()}<[]>}{[{}<>]<()[]>}>({[[]{}]}[([]())<[]{}>])){(<<()()>>{[{}[]]<{}{}>})})>]>>]<([<[< -{({{{{[[<{<[{[{}<>]}([[]{}][{}<>])][((()()){[]()}){[<>()](<>())}]>}>[{<[{{<>{}}({}())}[<<>{}>(( -({[((<{{<<<({[{}{}][(){}]})((<[]><()()>)<{<>()}[[]<>]>)>(({<{}[]>([][])}(({}{})<<>()>))<{<[ -[<<[<{[[{{(<{[[]<>)({}[])}>)}}(({{((<>[])<<><>>)}{[[[]<>]]{{[][]}<{}{}>}}}){[[((<><>)[{}<>]) -(({<(<([({<(<<()<>>([]<>)>[([]()><()[]>])<[<()[]>[()()]]{[[][]]{{}[]}}>>{{<<[][]><[]{}>>{[{}[]]<<>>}}{{<[]{ -([{{({({{{<([({}[])[()<>]][[[]{}]([]())])>([[[()()][<>()]]([{}[]]{{}()})]<{{[]<>}({}[])}{<()[ -(<{(({(<{{[<[[()<>]{<>()}][<(){}><()<>>]>{<<<>[]>[<><>]><({}<>>>}](<<{<>[]}[[]<>]>[[[]<>](()[])]>{{{[] -[[[<[([([(({{<<><>>([][])}})[([[{}()]<<><>>])<({{}<>})<{{}}({}{})>>])])<([((<[[]<>]{(){}}>{[[]<>]<[]<>>})( -(({(<({[[<{<([{}<>]{<>()})([()()](()<>))>(((()())[{}()])({()[]}{{}<>}))}>([({<(){}>([]<>)}{[<>()]<<>>} -({{[<<{<<[<<{[()()]<<>[]>}({[]}<<>{}>)>[<<{}{}>[<>[]]><({}<>)<[]()>>]>({(<()[]>(<>[]))}[([()()][{}]){{()()}{ -(<({{([{<[{(([()]<<><>>))}<<<[()][{}{}]><([][])(()())>>[[<<>[]><[]>]{[<>{}]<[][]>}]>](<(<<[]>({}()) -(<{<([[[<<((([<>{}]{()[]})([(){}]{{}<>}))[[[{}<>](()[])][[<>[]](<>())]])>>([{([{<><>}<{}[]>] -<{[{[{<{{({<<({}[])><{()()]<[]<>>>><[({}[])[()()]]<[{}<>]{<>{}}>>}((({()[]}{[]<>}){[[]()]([]<>)}))) -[(([[[[<<<[<{{<><>}{[]()}}[({}[])<(){}>]>(([[][]]([]{}))<{{}}(()<>)>)]({<<[]{}>{[]<>}>{[()<>}{{}}}}{{[(){}]} -{(([<{<(<{<{{<()><[]{}>}}({{{}<>}}<{<>[]}<{}<>>>)>[<([{}[]]<()<>>)(<{}{}>{()[]})><<{<>[]}(()[])>>]}( -(<((<{[[{({[([()[]]<()<>>)[<<>{}>({}[])]][<[<>[]]><{(){}}>]}[<(({})({}()))(<[]{}>(<><>))>[[([]{})[{}[ -{({([[[[{<([<{{}<>}[[][]]><<<>[]><<>{}>>]{{<{}<>><[][]>}({[]{}}<{}[]>)})>{{{{[[][]]}}}}}[<[[{[{}[]][()()] -[{(<([{{{<{<({{}[]}<()<>>){<<>())[{}[]]}>{{{[][]}}[[(){}]{<>()}]}}([(<<>()><[]()>)]{({[]<>} -[<[([{<((({<{{<>{}}}<<(){}><()()>>><({()}[[]{}])(([]())[<>[]])>}))){<[{{{(()[])({}())}{{()()}{{}<>}}}[(<{} -<([({({{(({{({<>}(<><>))}{([{}[]]{{}<>})}}[{({[]<>}([]<>))[<[]>([]{})]}({[[]{}]({}())}{<{}<> -[{(({(({<[[{<[(){}](<>[])>}[[[<>()]][([][])<<>()>]]](((<<><>>[(){}])([[][]]<{}{}>))[<(<>()){[]{}}>[[()[ -<<{{<[(([{[{[[<><>][[]()]]<(<>[])[[]<>]>}]<([<()[]>((){})][<{}>(<>())])>}][{(<([()()][<><>])(({ -({(<({([(<[<{[{}()]({}{})}<<{}{}>(()<>)>>]>{([<[<><>]<(){}>><({}[])((){})>]{{<[]()>[{}[]]}(({}{})< -<[{<{((<{((<[([]<>)]<{{}()}{()[]}>>(((())){<[]{}>[{}[]]}))<[<<{}[]>((){})>[<()()>{()()}]]<[[( -{{{((<(([{({(({}{})({}{}))}[<{()<>}[{}()]><([]()){[][]}}])[([[()[]][[]{}]])<{({}())[<>{}]}{(<>[])} -<({[{[[{(({<(<<>>[(){}])({[]{}}<[]()>)>}<{[([]())<<>{})]{(()[])<[]>}}(<[{}{}]>(((){}){{}{}}))>) -<{[[({[{[{[([[<>{}]((){})][[[][]]{()<>}])<[<{}()>(<>{})]<<<><>>[<>()]>>][[[<[]<>>{{}<>}]<{[]{}}<[]{}>>] -(({(<((({({{<<{}()>(()<>)><<<>{}>[{}{}]>}(((()<>)(()()))(<{}<>>))}[<[[[]<>]]({[][]}[<>{}])>]){[(({{}{}}){([][ -[{{<({<<{(<({<{}<>>[[]<>]}<[{}[]](()()]>)>([{{<>[]}}{([][])([][])}]))({(<{[]{}}{()<>}>([<>()]{[]{}})) -[<({[(<{{{[((<[]<>>(<>[]))([[]<>]<()<>>))(<((){})>)]}}}>{{<([<[<()[]>{{}<>}](([]())[[]<>))>]{(({[][]}<<>( -([(({<([{({<(([]<>)(()[])){<()()>{<>()}}><([[][]]<()<>>)[[[][]]<()<>>]>}[{[{()[]}(<>[])]([<>[]]<<>()>)}]) -{{{([<[([{(<[{[]()}<[]{}>]>)}])<<<<({(<>())<{}()>})[{({}[]}{<>[]}}<<[]<>><{}[]>>]><(<[()<> diff --git a/inputs/test_input11_1_0 b/inputs/test_input11 similarity index 100% rename from inputs/test_input11_1_0 rename to inputs/test_input11 diff --git a/inputs/test_input11_1_1 b/inputs/test_input11_1_1 deleted file mode 100644 index 03eceda..0000000 --- a/inputs/test_input11_1_1 +++ /dev/null @@ -1,10 +0,0 @@ -8548335644 -6576521782 -1223677762 -1284713113 -6125654778 -6435726842 -5664175556 -1445736556 -2248473568 -6451473526 diff --git a/inputs/test_input11_2_0 b/inputs/test_input11_2_0 deleted file mode 100644 index 03743f6..0000000 --- a/inputs/test_input11_2_0 +++ /dev/null @@ -1,10 +0,0 @@ -5483143223 -2745854711 -5264556173 -6141336146 -6357385478 -4167524645 -2176841721 -6882881134 -4846848554 -5283751526 diff --git a/inputs/test_input11_2_1 b/inputs/test_input11_2_1 deleted file mode 100644 index 03eceda..0000000 --- a/inputs/test_input11_2_1 +++ /dev/null @@ -1,10 +0,0 @@ -8548335644 -6576521782 -1223677762 -1284713113 -6125654778 -6435726842 -5664175556 -1445736556 -2248473568 -6451473526 diff --git a/inputs/test_input12_1_0 b/inputs/test_input12 similarity index 100% rename from inputs/test_input12_1_0 rename to inputs/test_input12 diff --git a/inputs/test_input12_1_3 b/inputs/test_input12_1_3 deleted file mode 100644 index 1296eb6..0000000 --- a/inputs/test_input12_1_3 +++ /dev/null @@ -1,22 +0,0 @@ -end-MY -MY-xc -ho-NF -start-ho -NF-xc -NF-yf -end-yf -xc-TP -MY-qo -yf-TP -dc-NF -dc-xc -start-dc -yf-MY -MY-ho -EM-uh -xc-yf -ho-dc -uh-NF -yf-ho -end-uh -start-NF diff --git a/inputs/test_input12_1_1 b/inputs/test_input12_2 similarity index 100% rename from inputs/test_input12_1_1 rename to inputs/test_input12_2 diff --git a/inputs/test_input12_2_0 b/inputs/test_input12_2_0 deleted file mode 100644 index 6fd8c41..0000000 --- a/inputs/test_input12_2_0 +++ /dev/null @@ -1,7 +0,0 @@ -start-A -start-b -A-c -A-b -b-d -A-end -b-end diff --git a/inputs/test_input12_2_1 b/inputs/test_input12_2_1 deleted file mode 100644 index 62cc714..0000000 --- a/inputs/test_input12_2_1 +++ /dev/null @@ -1,10 +0,0 @@ -dc-end -HN-start -start-kj -dc-start -dc-HN -LN-dc -HN-end -kj-sa -kj-HN -kj-dc diff --git a/inputs/test_input12_2_2 b/inputs/test_input12_2_2 deleted file mode 100644 index 65f3833..0000000 --- a/inputs/test_input12_2_2 +++ /dev/null @@ -1,18 +0,0 @@ -fs-end -he-DX -fs-he -start-DX -pj-DX -end-zg -zg-sl -zg-pj -pj-he -RW-he -fs-DX -pj-RW -zg-RW -start-pj -he-WI -zg-he -pj-fs -start-RW diff --git a/inputs/test_input12_2_3 b/inputs/test_input12_2_3 deleted file mode 100644 index 1296eb6..0000000 --- a/inputs/test_input12_2_3 +++ /dev/null @@ -1,22 +0,0 @@ -end-MY -MY-xc -ho-NF -start-ho -NF-xc -NF-yf -end-yf -xc-TP -MY-qo -yf-TP -dc-NF -dc-xc -start-dc -yf-MY -MY-ho -EM-uh -xc-yf -ho-dc -uh-NF -yf-ho -end-uh -start-NF diff --git a/inputs/test_input12_1_2 b/inputs/test_input12_3 similarity index 100% rename from inputs/test_input12_1_2 rename to inputs/test_input12_3 diff --git a/inputs/test_input13_1_0 b/inputs/test_input13 similarity index 100% rename from inputs/test_input13_1_0 rename to inputs/test_input13 diff --git a/inputs/test_input13_1_1 b/inputs/test_input13_1_1 deleted file mode 100644 index 02c038b..0000000 --- a/inputs/test_input13_1_1 +++ /dev/null @@ -1,853 +0,0 @@ -792,394 -1124,850 -1208,850 -721,173 -1057,252 -1119,182 -1017,402 -485,58 -773,880 -1171,197 -661,546 -218,628 -574,693 -673,316 -393,157 -1071,822 -898,826 -152,574 -1114,791 -107,777 -669,264 -1292,54 -1092,628 -415,31 -387,733 -234,576 -652,742 -599,40 -308,327 -147,640 -219,635 -831,310 -246,604 -725,49 -103,761 -756,0 -562,352 -47,17 -725,364 -70,310 -218,180 -68,453 -1310,100 -1134,175 -738,340 -586,5 -902,610 -1064,540 -900,803 -1002,392 -151,282 -1174,357 -464,406 -560,385 -656,732 -585,754 -805,189 -813,197 -669,581 -816,322 -191,712 -396,495 -643,394 -956,462 -341,182 -591,372 -654,856 -174,571 -955,352 -678,268 -162,754 -92,318 -231,544 -681,425 -683,640 -698,271 -756,217 -69,306 -1054,544 -591,820 -1168,632 -293,868 -70,584 -796,44 -607,60 -639,494 -47,381 -984,431 -248,864 -915,432 -151,476 -84,628 -924,77 -1305,703 -246,156 -1161,252 -1250,686 -177,301 -351,731 -1228,773 -743,290 -928,266 -1258,749 -771,633 -701,218 -386,525 -315,534 -557,176 -1230,610 -846,14 -671,481 -561,546 -97,88 -629,148 -1017,625 -684,749 -1133,700 -244,803 -1241,754 -678,593 -956,432 -749,58 -895,415 -969,805 -156,93 -738,380 -518,537 -989,546 -815,138 -190,425 -354,432 -1213,168 -8,627 -175,870 -792,842 -812,530 -982,431 -1218,679 -852,567 -607,821 -244,106 -15,323 -738,513 -658,742 -711,696 -490,243 -674,105 -1295,123 -1230,121 -812,205 -512,607 -1053,770 -166,124 -18,54 -354,462 -130,852 -1089,260 -949,868 -102,436 -514,850 -969,294 -515,249 -894,166 -321,796 -1228,65 -0,319 -831,472 -567,256 -259,14 -1208,44 -1087,285 -572,737 -494,180 -346,327 -574,816 -739,14 -1054,360 -159,586 -1289,784 -1227,14 -313,294 -830,324 -224,281 -731,722 -1084,252 -1047,225 -1049,280 -1241,724 -833,252 -97,168 -810,674 -0,78 -798,607 -1039,422 -1079,817 -1191,411 -1178,456 -69,276 -955,800 -503,724 -995,534 -1230,773 -641,40 -995,170 -783,397 -52,145 -1120,425 -218,266 -341,406 -989,572 -1046,588 -798,847 -308,565 -468,850 -689,44 -353,298 -1302,575 -1241,276 -184,849 -654,879 -874,189 -242,236 -798,728 -348,38 -314,362 -185,222 -189,329 -639,379 -933,777 -97,768 -1006,828 -1203,777 -756,677 -909,700 -308,329 -75,172 -703,60 -1205,186 -1235,274 -328,185 -1283,248 -0,812 -574,793 -524,791 -190,388 -119,483 -20,856 -771,261 -12,847 -1099,274 -637,871 -661,309 -753,768 -1213,840 -557,54 -55,441 -895,31 -1255,483 -905,868 -100,448 -1001,578 -425,54 -585,364 -492,306 -490,94 -684,145 -567,514 -759,313 -107,35 -982,157 -498,364 -82,592 -775,483 -960,716 -716,830 -1031,610 -591,746 -716,840 -815,756 -1006,77 -874,628 -927,259 -720,408 -820,778 -1213,768 -1241,618 -1231,882 -629,597 -1136,324 -422,161 -835,494 -58,390 -949,381 -656,856 -420,766 -1111,397 -162,530 -579,172 -989,479 -1235,172 -875,323 -736,688 -1247,148 -144,567 -239,72 -341,145 -525,599 -1299,394 -267,385 -68,47 -15,571 -950,7 -304,828 -970,850 -569,868 -1029,852 -889,388 -263,673 -584,103 -479,472 -715,609 -144,327 -502,403 -107,117 -164,116 -49,777 -244,66 -560,161 -668,47 -656,879 -222,436 -244,408 -1120,388 -410,829 -1292,567 -341,600 -92,576 -753,270 -1266,511 -803,133 -846,388 -594,840 -465,329 -1121,565 -1235,620 -606,826 -1154,801 -479,310 -560,509 -219,873 -1252,390 -321,770 -668,831 -913,618 -813,479 -407,432 -888,733 -721,273 -391,221 -436,33 -1283,808 -1302,627 -497,124 -1151,586 -326,463 -1033,777 -0,100 -719,746 -1158,570 -1123,197 -1081,54 -421,388 -184,837 -539,485 -551,133 -72,715 -141,248 -980,70 -1066,408 -1131,761 -894,728 -479,24 -1235,243 -970,44 -271,472 -835,718 -825,164 -731,875 -166,180 -224,165 -1213,880 -142,632 -293,298 -157,645 -263,221 -1047,359 -962,38 -818,588 -950,887 -579,203 -377,117 -833,28 -798,632 -13,761 -721,721 -586,441 -1148,82 -654,364 -955,542 -1160,735 -1037,658 -47,205 -574,649 -1150,124 -1300,768 -504,607 -1042,212 -1039,472 -644,403 -324,852 -848,530 -463,182 -584,758 -1057,194 -1092,413 -375,732 -1068,236 -813,322 -400,491 -13,133 -82,554 -1148,100 -328,431 -410,106 -458,119 -571,880 -45,478 -848,476 -656,127 -585,845 -1133,301 -507,472 -242,864 -239,516 -673,871 -436,180 -813,170 -1178,438 -1171,25 -386,56 -426,38 -436,628 -999,805 -142,680 -549,708 -1052,889 -1168,831 -1297,294 -711,521 -743,828 -42,271 -788,8 -1181,564 -1295,323 -187,697 -982,610 -579,143 -895,863 -264,588 -1134,607 -1285,746 -875,635 -477,28 -833,866 -749,721 -667,276 -750,665 -433,858 -621,492 -1169,646 -999,89 -1266,831 -572,65 -726,794 -43,187 -550,593 -557,768 -0,261 -989,25 -805,705 -321,255 -1168,383 -1279,147 -639,413 -386,838 -1240,346 -960,178 -45,676 -462,530 -812,364 -141,646 -1176,754 -1223,72 -293,65 -753,840 -151,394 -572,380 -383,787 -1159,758 -585,140 -570,628 -673,764 -566,504 -661,863 -792,264 -273,684 -748,679 -1150,322 -1156,743 -102,44 -1043,285 -1146,116 -914,495 -785,599 -726,100 -1284,460 -326,157 -79,208 -1208,14 -465,777 -134,413 -656,767 -1263,513 -127,3 -464,506 -253,194 -413,250 -711,5 -490,564 -689,850 -1238,43 -383,259 -175,724 -335,143 -734,42 -915,686 -157,724 -1223,378 -410,381 -724,889 -808,491 -989,869 -704,68 -676,568 -1006,716 -890,548 -60,830 -170,577 -1159,418 -268,369 -169,282 -877,858 -1077,500 -807,700 -65,721 -847,182 -1245,88 -590,856 -494,770 -1168,680 -855,137 -915,208 -1255,889 -621,596 -1115,523 -1088,514 -360,7 -127,845 -266,830 -1159,164 -218,842 -151,730 -792,182 -1154,241 -82,302 -681,148 -1293,871 -520,140 -877,708 -388,837 -80,793 -1203,117 -590,38 -253,700 -572,554 -1305,31 -1205,708 -647,255 -388,178 -807,724 -1056,403 -10,768 -0,816 -458,775 -1228,605 -1202,413 -1043,161 -1261,777 -406,30 -68,889 -711,373 -361,868 -1071,68 -816,770 -147,400 -574,773 -184,57 -1242,47 -79,882 -654,486 -1057,700 -939,259 -561,58 -1210,448 -293,401 -293,268 -1285,148 -151,500 -1042,682 -1216,217 -1265,478 -923,733 -626,537 -431,733 -1053,796 -599,889 -537,880 -890,766 -505,257 -87,290 -909,642 -333,137 -177,28 -835,133 -435,635 -134,637 -1163,494 -1277,492 -518,52 -654,38 -495,756 -628,14 -1176,413 -75,243 -914,5 -522,886 -28,749 -1044,126 -1263,821 -522,438 -60,208 -1059,722 -989,255 -629,425 -681,597 -75,620 -315,360 -373,404 -398,437 -621,850 -494,124 -924,212 -1146,800 -321,415 -42,623 -927,787 -455,3 -25,746 -1017,401 -555,785 -231,817 -816,180 -2,600 -1088,436 -1285,597 -232,161 -97,880 -753,176 -271,295 -26,460 -0,651 -654,767 -401,252 -55,779 -1049,614 -44,383 -937,490 -1305,863 -498,812 -841,222 -903,432 -684,537 -795,645 -924,525 -562,215 -634,568 -989,757 -105,186 -527,891 -488,572 -835,581 -720,856 -1071,516 -758,880 -93,642 -328,463 -790,413 -1088,458 -875,123 -321,25 -1255,779 -190,889 -830,570 -261,280 -1250,830 -1148,794 -490,116 -1302,267 -920,588 -1163,400 -721,621 -340,44 -1124,551 -1052,271 -1002,567 -561,721 -355,103 -689,420 -664,319 -0,162 -592,329 -80,773 -428,194 -1176,140 -1044,840 -576,42 -927,821 -69,124 -1165,316 -663,255 -1071,72 -1076,410 -1265,218 -1145,514 -93,194 -982,289 -397,618 -326,737 -129,564 -797,248 -433,708 -520,418 -898,266 -350,178 -436,861 -179,761 -977,869 -1217,642 -812,812 -1154,93 -1277,599 -552,880 -790,476 -156,129 -676,326 -186,850 -20,38 -626,145 -261,621 -1225,868 -0,530 -957,298 -222,514 -725,845 -375,162 -682,686 -935,162 -408,380 -85,868 -475,581 -902,514 -435,21 -557,278 -271,422 -803,176 -888,161 -1126,849 -514,467 -139,249 -1124,343 -477,642 -527,845 -551,581 -820,330 -176,175 -1245,806 -256,534 -142,383 -140,663 -539,633 -512,632 -390,588 -232,677 -1039,73 -403,751 -584,584 -567,520 -900,856 -498,530 -996,810 -594,656 -954,649 -1240,310 -763,329 -621,44 -6,129 -1217,252 -738,604 -1263,60 -1290,326 -682,432 -673,130 -25,148 -152,324 -65,544 -1171,249 -17,316 -199,399 -654,548 -393,737 - -fold along x=655 -fold along y=447 -fold along x=327 -fold along y=223 -fold along x=163 -fold along y=111 -fold along x=81 -fold along y=55 -fold along x=40 -fold along y=27 -fold along y=13 -fold along y=6 diff --git a/inputs/test_input14_1_0 b/inputs/test_input14 similarity index 100% rename from inputs/test_input14_1_0 rename to inputs/test_input14 diff --git a/inputs/test_input14_1_1 b/inputs/test_input14_1_1 deleted file mode 100644 index 0400f1a..0000000 --- a/inputs/test_input14_1_1 +++ /dev/null @@ -1,102 +0,0 @@ -NCOPHKVONVPNSKSHBNPF - -ON -> C -CK -> H -HC -> B -NP -> S -NH -> H -CB -> C -BB -> H -BC -> H -NN -> C -OH -> B -SF -> V -PB -> H -CP -> P -BN -> O -NB -> B -KB -> P -PV -> F -SH -> V -KP -> S -OF -> K -BS -> V -PF -> O -BK -> S -FB -> B -SV -> B -BH -> V -VK -> N -CS -> V -FV -> F -HS -> C -KK -> O -SP -> N -FK -> B -CF -> C -HP -> F -BF -> O -KC -> C -VP -> O -BP -> P -FF -> V -NO -> C -HK -> C -HV -> B -PK -> P -OV -> F -VN -> H -PC -> K -SB -> H -VO -> V -BV -> K -NC -> H -OB -> S -SN -> B -HF -> P -VF -> B -HN -> H -KS -> S -SC -> S -CV -> B -NS -> P -KO -> V -FS -> O -PH -> K -BO -> C -FH -> B -CO -> O -FO -> F -VV -> N -CH -> V -NK -> N -PO -> K -OK -> K -PP -> O -OC -> P -FC -> N -VH -> S -PN -> C -VB -> C -VS -> P -HO -> F -OP -> S -HB -> N -CC -> K -KN -> S -SK -> C -OS -> N -KH -> B -FP -> S -NF -> S -CN -> S -KF -> C -SS -> C -SO -> S -NV -> O -FN -> B -PS -> S -HH -> C -VC -> S -OO -> C -KV -> P diff --git a/inputs/test_input14_2_0 b/inputs/test_input14_2_0 deleted file mode 100644 index b5594dd..0000000 --- a/inputs/test_input14_2_0 +++ /dev/null @@ -1,18 +0,0 @@ -NNCB - -CH -> B -HH -> N -CB -> H -NH -> C -HB -> C -HC -> B -HN -> C -NN -> C -BH -> H -NC -> B -NB -> B -BN -> B -BB -> N -BC -> B -CC -> N -CN -> C diff --git a/inputs/test_input14_2_1 b/inputs/test_input14_2_1 deleted file mode 100644 index 0400f1a..0000000 --- a/inputs/test_input14_2_1 +++ /dev/null @@ -1,102 +0,0 @@ -NCOPHKVONVPNSKSHBNPF - -ON -> C -CK -> H -HC -> B -NP -> S -NH -> H -CB -> C -BB -> H -BC -> H -NN -> C -OH -> B -SF -> V -PB -> H -CP -> P -BN -> O -NB -> B -KB -> P -PV -> F -SH -> V -KP -> S -OF -> K -BS -> V -PF -> O -BK -> S -FB -> B -SV -> B -BH -> V -VK -> N -CS -> V -FV -> F -HS -> C -KK -> O -SP -> N -FK -> B -CF -> C -HP -> F -BF -> O -KC -> C -VP -> O -BP -> P -FF -> V -NO -> C -HK -> C -HV -> B -PK -> P -OV -> F -VN -> H -PC -> K -SB -> H -VO -> V -BV -> K -NC -> H -OB -> S -SN -> B -HF -> P -VF -> B -HN -> H -KS -> S -SC -> S -CV -> B -NS -> P -KO -> V -FS -> O -PH -> K -BO -> C -FH -> B -CO -> O -FO -> F -VV -> N -CH -> V -NK -> N -PO -> K -OK -> K -PP -> O -OC -> P -FC -> N -VH -> S -PN -> C -VB -> C -VS -> P -HO -> F -OP -> S -HB -> N -CC -> K -KN -> S -SK -> C -OS -> N -KH -> B -FP -> S -NF -> S -CN -> S -KF -> C -SS -> C -SO -> S -NV -> O -FN -> B -PS -> S -HH -> C -VC -> S -OO -> C -KV -> P diff --git a/inputs/test_input15_1_0 b/inputs/test_input15 similarity index 100% rename from inputs/test_input15_1_0 rename to inputs/test_input15 diff --git a/inputs/test_input15_1_1 b/inputs/test_input15_1_1 deleted file mode 100644 index 26289e2..0000000 --- a/inputs/test_input15_1_1 +++ /dev/null @@ -1,100 +0,0 @@ -2963924119481127152315549141231231178123994331851932272412441692851653891219119354456482964197268714 -2125898928818174266137112211175698633271838994151281976712281111698717796156549261335965222291569163 -8111185636613134811732598421968521115422392923197154966144825217611454445719142229524413998144151911 -3962657499999133116799939121116659728843742371812415949114112811191119631998123361711522626139129171 -6111135446425897553993611911343415171253137374519612644715145982129413191192199133421576676147421524 -1711672712467328162521961114611891129216275453292129417212429121384919912329928499114733518591698113 -9818123947466132628284152218324212939785378646971725918917928244119747535812775619624751855161318981 -1167117151118391264548783563849236287283591453964124132191355313219327921631216122146335183389221113 -4519416121144292832972521591771225196983398212493418121299943189472967713311611419393716191418524821 -8428151118121833231318216491191252126818777326142251911129592186434264163213111772928317934268148824 -3165873554832211849131719721524511318259881915976248976322219137369799967164281286516811242517129121 -2885812131756932666817582491177655654972619112119823253481651239931563118125311134911194239141712113 -1291116939138958141123114115522514155273133336126316131953879219441958934525282324651984231814137524 -3268713319383431269751193953123199316712461891774923811111264211537915123118993921211467341232291328 -1494182213459282199711916513717111332986532263139142817996233779117813262222529217149131145579428468 -2697351273997219318622991361717868167136617226119591728729254459578918512181825139842913972912163292 -4649244299282136159214235411642232639958861769448683538531845519299865524111181139421177419587127323 -3543182111143716348275153911855164846384145338299561311328131821251217621151319111511699119734389151 -1411255412612863712513518224791192112451112527213113392657715893271915912124213141141728382477174219 -1122359691112221519865261462121166815581294962184246211532888923125388424211111231193234163228112195 -4145311618243811248861591879898912931516871146131541116423751167138243961469252993912619943298276422 -5519429121442891167257251264111755556712414151352261193746111467972254111413747978231599118162372126 -1145417418587941219111122661693121921584919867311581225392119698218211721651155429112564168135511612 -9272947191812116588892122924349111264991911921243382199126482683561953362213319365121813155131526123 -1319879121918199619161129114929963711297731884167115243399519143324794317951793699892983118561139599 -5219569819981113221826649462842329152547163921411151796321246417257397174726111213439143122368211929 -7433314232514278111791692212222141991821512493966321182757959252126975721484136154521951579966271383 -6183193371915321413778211632498384352524162353452472391192336211241298999113233394515299724168612632 -2171187924623111338949875111717141996916117194788252183429391811177116196211223887389131993353836119 -2427431145431214912646266117461139266791132812163271871582692132181281333982283121185351311671961732 -7491294482479151766224145236386125216711884297315141695131819197293112171942399123776191157911719242 -2312795118911362931858691259199491268939388187295115137789286422151941147891481552489951411812771875 -8728128518985727114695196739113737192138971877757418196989711136115261531193916179116619555115593174 -2437292141241911215663815132791734799189986346884172122226227542372176911191511212724129943993813258 -5143637349912324371399545879655434124114319477255218854426226265112281437412581879885241819693584912 -2918132961135361433861971115732219541356911118191458773129276291815452246633124741622956471241413411 -3358883915111144822193192371322767731113316212311549441994571291191148155689112458991122915191512216 -3472828377837922171439763612815912836184211899512144991182757124172785288425791974933195292229419473 -9312344493111981221146294231577844264931391591262321229929412191181412451712132494391147715581712231 -5242921113833146422321116237121944441324126151339341962229158496699156121162624151917846199113417154 -9111433331111131511783875372178968411614292753191491238321224117331953599875112965148598421852176214 -7676146111963915194834928161116131217363169742316492947111287331356725317119231391111778171342914621 -1241219521118785326941741341283132219954151623962411139243911141626912274612913134114614271594863391 -1225999831224818222899928212112294846796324438431115785179796893262432881179412821629974381961375987 -2441733648223323632211841997337585739133244143336941181131641161192511143112548993292321719217319121 -8197214411129343882115114341141231831313531251311215141556924994623311426284835715113422274915111255 -8112111411411188918626613121987732491495914714471922861746692891391111932427419461155523924183386676 -9457114128973786341636631365312621532724211532275218921232483157174391119144317973299154629929911378 -8568973311838958182135225318992538413324456893281182152131616516212196258272422812113142351432139829 -1151245356495957534618717791531191142979395331311255323191241511124316191149786311623783151132271233 -2573329419615152133414186194563141193195252214478259131113127749193244612992158761143169378112369384 -1789242241173451911132921261222616192454614331112611233292953119971219366535385631123433225293818345 -1712112516593319843843721133199755947153531389137923421211117718112938545111119683883317134282451252 -1638913431327233991136864919114114637169545572922189945115136541257349192311963769611395656119463131 -9476696421793114612412933381216139311113789476898116335224621717243513531294477171946859546669651684 -8291919992224747618218541242788893119518189867345681191151816917721271241157535119296242221873229149 -8129191712726492624592192969288339192171629764991579128318228622521441171125163556151497172694123642 -2274193372268113971813783846592121861239763317191131222194912227181887352942312234152523246621522223 -4989714935253862379645391833156921163528823111132192997621791388151611311953985114718593811415992969 -4114543412474713854581256239114488136161617211921132397225112919539553181922444211568424937918313233 -4321997791248291511323181718727424264141492527191599451158916211153561435793775723481242131951117878 -3141624621141142829115675442781395199165327128119113111427928134561132191172221192131114373238278894 -1436369141244297392911282951124321291577442289322132342891162116569495117936111631121429297975984693 -1136414688934754511429831499198781149372952259153397889274815321491856291593124232311922212669488113 -1139726679711311941445347273915627817932697262443122282211331981721123191261287193221111458462297716 -5145715783977232812179114758297324822118732461421818716268178365269349993116511996657831213931138716 -8911112529112428235811151619841481971632515758821129986197181257941924177171111579345893883213144319 -1533516979222585826196339685581226411851867235111794919279817518111698495324117982934114644111174913 -2427619429228199127364352251614923498591512172511549283193634118539641151597811113212611531211427372 -4391562917135271183375912347134291921223213322741221714198818941541122679221183112413891338673451686 -5816218837159791472213912118214177276315123771186191828771361946316984681123334926733953334748912312 -4211123378911812691411632131549957118335159131242151943814431172125514614576256319998212691733198994 -4881671259137283493119591411334267139531812257129362391682951512194131112191236941716342113723958434 -3833361112428656261411696233613914131312691141443411698325222161236291332449941461152916148398528969 -8131112411242367163188922181162241478993554981981221935919242523311122653417299113343337831565311258 -5895182118929141396121594511616115435763719711111113894125828191258132211311138468939744843492912247 -7144111134826912511161811217685262814191334219182489398551818219152431226224123183631984931184183372 -4195144292979335248257615561516487811468285119624141238373789528521274262281272123216149211299533113 -1695473611111397223452174852161199198822182353923819191277472291111331191589413263371461154226792559 -2411821831658188921528925292821243197313418212319626468179452815841139215514938176113361992358117979 -2265541891391719417142211171154132191382397142192143718996182412473991312582138122312193171917921373 -3938296731281129116874875235345983132541838512815428139113921133443582161118389154125168113611532565 -9193163331242719294145814558495219281366952353141172262611248557418162443194113895378175219131221551 -9588761535552171917283384268991982211352784122965222733817888215929299311213312111391964154251118713 -6181885511251531911143555976611786936961191774655474241117114811611343896561257258462991255136363916 -3218981915119391113152927292912117416454311341536651811493215531911969426383427419442928431113113881 -9611126171255393759974871579112733881512941411291547161191542445994431191832897184514747372443667912 -8215324734491116217991914215387819134813571479328348611572483551124954737319792868739552222216844889 -9621273332813128573851531389146611214291117214681251126233582538167194812868538144651122111647817261 -2311268637889271984781675958267525174131895351126257124913812499272978912532529191161792651591218799 -1791895438174699617919372768272131214632361111231123842192443111322458381135598421287538118754211113 -5119941142588899458221193224889891711971133936959141932619843951146381188251646116924942941374541319 -8946124462529731516737692687431961611313517721516641349352972464213215959182523429221414181351454112 -1921113112191196288811151721211198122137546721131528131726923331364438661672956415429339368552752258 -1541182251973219762685321771167787229213992239262119115712924929473677281179814422976341948517111145 -3149114383884893421125991511925388342254478482277218125926311321138253285731115981948969419996115998 -2552163226832289218492121329118371413823225491511648691321196294227282112871439293121832612219957896 -3579354332165976422137212582298381255921918919331618842389499267415333331721624611777953113159341971 -1921191727117521919328245116217413116523112387129363375913911283241371194923613231252581732271345529 -8236441711172181739335885718511173168384583225866471231914531215429515772515312136392519922717888144 diff --git a/inputs/test_input15_2_0 b/inputs/test_input15_2_0 deleted file mode 100644 index ab80887..0000000 --- a/inputs/test_input15_2_0 +++ /dev/null @@ -1,10 +0,0 @@ -1163751742 -1381373672 -2136511328 -3694931569 -7463417111 -1319128137 -1359912421 -3125421639 -1293138521 -2311944581 diff --git a/inputs/test_input15_2_1 b/inputs/test_input15_2_1 deleted file mode 100644 index 26289e2..0000000 --- a/inputs/test_input15_2_1 +++ /dev/null @@ -1,100 +0,0 @@ -2963924119481127152315549141231231178123994331851932272412441692851653891219119354456482964197268714 -2125898928818174266137112211175698633271838994151281976712281111698717796156549261335965222291569163 -8111185636613134811732598421968521115422392923197154966144825217611454445719142229524413998144151911 -3962657499999133116799939121116659728843742371812415949114112811191119631998123361711522626139129171 -6111135446425897553993611911343415171253137374519612644715145982129413191192199133421576676147421524 -1711672712467328162521961114611891129216275453292129417212429121384919912329928499114733518591698113 -9818123947466132628284152218324212939785378646971725918917928244119747535812775619624751855161318981 -1167117151118391264548783563849236287283591453964124132191355313219327921631216122146335183389221113 -4519416121144292832972521591771225196983398212493418121299943189472967713311611419393716191418524821 -8428151118121833231318216491191252126818777326142251911129592186434264163213111772928317934268148824 -3165873554832211849131719721524511318259881915976248976322219137369799967164281286516811242517129121 -2885812131756932666817582491177655654972619112119823253481651239931563118125311134911194239141712113 -1291116939138958141123114115522514155273133336126316131953879219441958934525282324651984231814137524 -3268713319383431269751193953123199316712461891774923811111264211537915123118993921211467341232291328 -1494182213459282199711916513717111332986532263139142817996233779117813262222529217149131145579428468 -2697351273997219318622991361717868167136617226119591728729254459578918512181825139842913972912163292 -4649244299282136159214235411642232639958861769448683538531845519299865524111181139421177419587127323 -3543182111143716348275153911855164846384145338299561311328131821251217621151319111511699119734389151 -1411255412612863712513518224791192112451112527213113392657715893271915912124213141141728382477174219 -1122359691112221519865261462121166815581294962184246211532888923125388424211111231193234163228112195 -4145311618243811248861591879898912931516871146131541116423751167138243961469252993912619943298276422 -5519429121442891167257251264111755556712414151352261193746111467972254111413747978231599118162372126 -1145417418587941219111122661693121921584919867311581225392119698218211721651155429112564168135511612 -9272947191812116588892122924349111264991911921243382199126482683561953362213319365121813155131526123 -1319879121918199619161129114929963711297731884167115243399519143324794317951793699892983118561139599 -5219569819981113221826649462842329152547163921411151796321246417257397174726111213439143122368211929 -7433314232514278111791692212222141991821512493966321182757959252126975721484136154521951579966271383 -6183193371915321413778211632498384352524162353452472391192336211241298999113233394515299724168612632 -2171187924623111338949875111717141996916117194788252183429391811177116196211223887389131993353836119 -2427431145431214912646266117461139266791132812163271871582692132181281333982283121185351311671961732 -7491294482479151766224145236386125216711884297315141695131819197293112171942399123776191157911719242 -2312795118911362931858691259199491268939388187295115137789286422151941147891481552489951411812771875 -8728128518985727114695196739113737192138971877757418196989711136115261531193916179116619555115593174 -2437292141241911215663815132791734799189986346884172122226227542372176911191511212724129943993813258 -5143637349912324371399545879655434124114319477255218854426226265112281437412581879885241819693584912 -2918132961135361433861971115732219541356911118191458773129276291815452246633124741622956471241413411 -3358883915111144822193192371322767731113316212311549441994571291191148155689112458991122915191512216 -3472828377837922171439763612815912836184211899512144991182757124172785288425791974933195292229419473 -9312344493111981221146294231577844264931391591262321229929412191181412451712132494391147715581712231 -5242921113833146422321116237121944441324126151339341962229158496699156121162624151917846199113417154 -9111433331111131511783875372178968411614292753191491238321224117331953599875112965148598421852176214 -7676146111963915194834928161116131217363169742316492947111287331356725317119231391111778171342914621 -1241219521118785326941741341283132219954151623962411139243911141626912274612913134114614271594863391 -1225999831224818222899928212112294846796324438431115785179796893262432881179412821629974381961375987 -2441733648223323632211841997337585739133244143336941181131641161192511143112548993292321719217319121 -8197214411129343882115114341141231831313531251311215141556924994623311426284835715113422274915111255 -8112111411411188918626613121987732491495914714471922861746692891391111932427419461155523924183386676 -9457114128973786341636631365312621532724211532275218921232483157174391119144317973299154629929911378 -8568973311838958182135225318992538413324456893281182152131616516212196258272422812113142351432139829 -1151245356495957534618717791531191142979395331311255323191241511124316191149786311623783151132271233 -2573329419615152133414186194563141193195252214478259131113127749193244612992158761143169378112369384 -1789242241173451911132921261222616192454614331112611233292953119971219366535385631123433225293818345 -1712112516593319843843721133199755947153531389137923421211117718112938545111119683883317134282451252 -1638913431327233991136864919114114637169545572922189945115136541257349192311963769611395656119463131 -9476696421793114612412933381216139311113789476898116335224621717243513531294477171946859546669651684 -8291919992224747618218541242788893119518189867345681191151816917721271241157535119296242221873229149 -8129191712726492624592192969288339192171629764991579128318228622521441171125163556151497172694123642 -2274193372268113971813783846592121861239763317191131222194912227181887352942312234152523246621522223 -4989714935253862379645391833156921163528823111132192997621791388151611311953985114718593811415992969 -4114543412474713854581256239114488136161617211921132397225112919539553181922444211568424937918313233 -4321997791248291511323181718727424264141492527191599451158916211153561435793775723481242131951117878 -3141624621141142829115675442781395199165327128119113111427928134561132191172221192131114373238278894 -1436369141244297392911282951124321291577442289322132342891162116569495117936111631121429297975984693 -1136414688934754511429831499198781149372952259153397889274815321491856291593124232311922212669488113 -1139726679711311941445347273915627817932697262443122282211331981721123191261287193221111458462297716 -5145715783977232812179114758297324822118732461421818716268178365269349993116511996657831213931138716 -8911112529112428235811151619841481971632515758821129986197181257941924177171111579345893883213144319 -1533516979222585826196339685581226411851867235111794919279817518111698495324117982934114644111174913 -2427619429228199127364352251614923498591512172511549283193634118539641151597811113212611531211427372 -4391562917135271183375912347134291921223213322741221714198818941541122679221183112413891338673451686 -5816218837159791472213912118214177276315123771186191828771361946316984681123334926733953334748912312 -4211123378911812691411632131549957118335159131242151943814431172125514614576256319998212691733198994 -4881671259137283493119591411334267139531812257129362391682951512194131112191236941716342113723958434 -3833361112428656261411696233613914131312691141443411698325222161236291332449941461152916148398528969 -8131112411242367163188922181162241478993554981981221935919242523311122653417299113343337831565311258 -5895182118929141396121594511616115435763719711111113894125828191258132211311138468939744843492912247 -7144111134826912511161811217685262814191334219182489398551818219152431226224123183631984931184183372 -4195144292979335248257615561516487811468285119624141238373789528521274262281272123216149211299533113 -1695473611111397223452174852161199198822182353923819191277472291111331191589413263371461154226792559 -2411821831658188921528925292821243197313418212319626468179452815841139215514938176113361992358117979 -2265541891391719417142211171154132191382397142192143718996182412473991312582138122312193171917921373 -3938296731281129116874875235345983132541838512815428139113921133443582161118389154125168113611532565 -9193163331242719294145814558495219281366952353141172262611248557418162443194113895378175219131221551 -9588761535552171917283384268991982211352784122965222733817888215929299311213312111391964154251118713 -6181885511251531911143555976611786936961191774655474241117114811611343896561257258462991255136363916 -3218981915119391113152927292912117416454311341536651811493215531911969426383427419442928431113113881 -9611126171255393759974871579112733881512941411291547161191542445994431191832897184514747372443667912 -8215324734491116217991914215387819134813571479328348611572483551124954737319792868739552222216844889 -9621273332813128573851531389146611214291117214681251126233582538167194812868538144651122111647817261 -2311268637889271984781675958267525174131895351126257124913812499272978912532529191161792651591218799 -1791895438174699617919372768272131214632361111231123842192443111322458381135598421287538118754211113 -5119941142588899458221193224889891711971133936959141932619843951146381188251646116924942941374541319 -8946124462529731516737692687431961611313517721516641349352972464213215959182523429221414181351454112 -1921113112191196288811151721211198122137546721131528131726923331364438661672956415429339368552752258 -1541182251973219762685321771167787229213992239262119115712924929473677281179814422976341948517111145 -3149114383884893421125991511925388342254478482277218125926311321138253285731115981948969419996115998 -2552163226832289218492121329118371413823225491511648691321196294227282112871439293121832612219957896 -3579354332165976422137212582298381255921918919331618842389499267415333331721624611777953113159341971 -1921191727117521919328245116217413116523112387129363375913911283241371194923613231252581732271345529 -8236441711172181739335885718511173168384583225866471231914531215429515772515312136392519922717888144 diff --git a/inputs/test_input16_1_4 b/inputs/test_input16_1_4 deleted file mode 100644 index 559ec3b..0000000 --- a/inputs/test_input16_1_4 +++ /dev/null @@ -1 +0,0 @@ -8054F9C95F9C1C973D000D0A79F6635986270B054AE9EE51F8001D395CCFE21042497E4A2F6200E1803B0C20846820043630C1F8A840087C6C8BB1688018395559A30997A8AE60064D17980291734016100622F41F8DC200F4118D3175400E896C068E98016E00790169A600590141EE0062801E8041E800F1A0036C28010402CD3801A60053007928018CA8014400EF2801D359FFA732A000D2623CADE7C907C2C96F5F6992AC440157F002032CE92CE9352AF9F4C0119BDEE93E6F9C55D004E66A8B335445009E1CCCEAFD299AA4C066AB1BD4C5804149C1193EE1967AB7F214CF74752B1E5CEDC02297838C649F6F9138300424B9C34B004A63CCF238A56B71520142A5A7FC672E5E00B080350663B44F1006A2047B8C51CC80286C0055253951F98469F1D86D3C1E600F80021118A124261006E23C7E8260008641A8D51F0C01299EC3F4B6A37CABD80252211221A600BC930D0057B2FAA31CDCEF6B76DADF1666FE2E000FA4905CB7239AFAC0660114B39C9BA492D4EBB180252E472AD6C00BF48C350F9F47D2012B6C014000436284628BE00087C5D8671F27F0C480259C9FE16D1F4B224942B6F39CAF767931CFC36BC800EA4FF9CE0CCE4FCA4600ACCC690DE738D39D006A000087C2A89D0DC401987B136259006AFA00ACA7DBA53EDB31F9F3DBF31900559C00BCCC4936473A639A559BC433EB625404300564D67001F59C8E3172892F498C802B1B0052690A69024F3C95554C0129484C370010196269D071003A079802DE0084E4A53E8CCDC2CA7350ED6549CEC4AC00404D3C30044D1BA78F25EF2CFF28A60084967D9C975003992DF8C240923C45300BE7DAA540E6936194E311802D800D2CB8FC9FA388A84DEFB1CB2CBCBDE9E9C8803A6B00526359F734673F28C367D2DE2F3005256B532D004C40198DF152130803D11211C7550056706E6F3E9D24B0 diff --git a/inputs/test_input16_2_8 b/inputs/test_input16_2_8 deleted file mode 100644 index 559ec3b..0000000 --- a/inputs/test_input16_2_8 +++ /dev/null @@ -1 +0,0 @@ -8054F9C95F9C1C973D000D0A79F6635986270B054AE9EE51F8001D395CCFE21042497E4A2F6200E1803B0C20846820043630C1F8A840087C6C8BB1688018395559A30997A8AE60064D17980291734016100622F41F8DC200F4118D3175400E896C068E98016E00790169A600590141EE0062801E8041E800F1A0036C28010402CD3801A60053007928018CA8014400EF2801D359FFA732A000D2623CADE7C907C2C96F5F6992AC440157F002032CE92CE9352AF9F4C0119BDEE93E6F9C55D004E66A8B335445009E1CCCEAFD299AA4C066AB1BD4C5804149C1193EE1967AB7F214CF74752B1E5CEDC02297838C649F6F9138300424B9C34B004A63CCF238A56B71520142A5A7FC672E5E00B080350663B44F1006A2047B8C51CC80286C0055253951F98469F1D86D3C1E600F80021118A124261006E23C7E8260008641A8D51F0C01299EC3F4B6A37CABD80252211221A600BC930D0057B2FAA31CDCEF6B76DADF1666FE2E000FA4905CB7239AFAC0660114B39C9BA492D4EBB180252E472AD6C00BF48C350F9F47D2012B6C014000436284628BE00087C5D8671F27F0C480259C9FE16D1F4B224942B6F39CAF767931CFC36BC800EA4FF9CE0CCE4FCA4600ACCC690DE738D39D006A000087C2A89D0DC401987B136259006AFA00ACA7DBA53EDB31F9F3DBF31900559C00BCCC4936473A639A559BC433EB625404300564D67001F59C8E3172892F498C802B1B0052690A69024F3C95554C0129484C370010196269D071003A079802DE0084E4A53E8CCDC2CA7350ED6549CEC4AC00404D3C30044D1BA78F25EF2CFF28A60084967D9C975003992DF8C240923C45300BE7DAA540E6936194E311802D800D2CB8FC9FA388A84DEFB1CB2CBCBDE9E9C8803A6B00526359F734673F28C367D2DE2F3005256B532D004C40198DF152130803D11211C7550056706E6F3E9D24B0 diff --git a/inputs/test_input17_1_0 b/inputs/test_input17 similarity index 100% rename from inputs/test_input17_1_0 rename to inputs/test_input17 diff --git a/inputs/test_input17_1_1 b/inputs/test_input17_1_1 deleted file mode 100644 index f1b6f82..0000000 --- a/inputs/test_input17_1_1 +++ /dev/null @@ -1 +0,0 @@ -target area: x=135..155, y=-102..-78 diff --git a/inputs/test_input17_2_0 b/inputs/test_input17_2_0 deleted file mode 100644 index a07e02d..0000000 --- a/inputs/test_input17_2_0 +++ /dev/null @@ -1 +0,0 @@ -target area: x=20..30, y=-10..-5 diff --git a/inputs/test_input17_2_1 b/inputs/test_input17_2_1 deleted file mode 100644 index f1b6f82..0000000 --- a/inputs/test_input17_2_1 +++ /dev/null @@ -1 +0,0 @@ -target area: x=135..155, y=-102..-78 diff --git a/inputs/test_input18_1_0 b/inputs/test_input18 similarity index 100% rename from inputs/test_input18_1_0 rename to inputs/test_input18 diff --git a/inputs/test_input18_1_1 b/inputs/test_input18_1_1 deleted file mode 100644 index 7e0d113..0000000 --- a/inputs/test_input18_1_1 +++ /dev/null @@ -1,100 +0,0 @@ -[[[[2,2],7],[[9,2],[5,2]]],[4,[[8,9],9]]] -[[8,8],[5,[[2,9],1]]] -[0,[3,[[9,2],[3,1]]]] -[9,[[4,5],[5,[3,2]]]] -[[0,[4,3]],[2,[[1,4],[3,0]]]] -[[[9,[0,2]],[[2,6],9]],2] -[1,[[[6,0],[2,6]],[[7,5],[5,6]]]] -[[[1,[6,6]],[6,[5,2]]],[[[5,6],4],9]] -[6,[[7,[1,4]],4]] -[[[[7,6],[0,5]],[[5,4],0]],[[3,[2,3]],[[0,2],[6,4]]]] -[[[3,4],7],[[[8,1],7],[3,[1,8]]]] -[[[[6,5],0],[[5,2],6]],[[1,3],[0,[5,2]]]] -[[[1,2],3],[[0,[3,7]],[4,[5,2]]]] -[[[[4,4],3],2],[2,[6,3]]] -[[[4,5],[[6,4],[8,5]]],[[[5,1],3],[8,3]]] -[[6,[[9,0],6]],[3,[[3,3],3]]] -[[8,[5,[1,7]]],[[4,5],[1,2]]] -[[[[9,1],0],[[1,6],9]],[[8,[7,4]],9]] -[[[3,1],[3,[5,5]]],[[[8,4],[2,9]],[6,[0,1]]]] -[[7,4],[[6,3],[[8,3],[2,3]]]] -[[[2,[5,6]],[[7,9],[8,7]]],[[3,5],[[1,7],[9,8]]]] -[[[[2,8],1],[[1,9],[7,6]]],6] -[[[[1,9],[5,5]],[7,8]],[[3,9],[2,[5,1]]]] -[[4,[[6,7],6]],[1,[6,[6,5]]]] -[[[[0,3],[2,7]],[7,1]],[[4,3],[[1,0],6]]] -[[[[0,8],7],[[5,4],[8,6]]],[[1,[6,5]],5]] -[[6,[[0,3],5]],[[9,[9,8]],0]] -[[0,1],9] -[[[[3,0],4],4],4] -[[[0,8],[[1,7],1]],[[9,1],[4,[2,4]]]] -[[5,[[6,1],2]],[[4,[5,9]],[[8,6],6]]] -[[4,9],[[5,0],[[4,4],3]]] -[[[[7,7],3],[3,[0,0]]],[1,[[0,8],[9,9]]]] -[[[1,6],[9,1]],4] -[[4,4],[[[0,0],9],[[2,0],[8,7]]]] -[[7,[[6,8],9]],[[2,[7,6]],[6,[8,1]]]] -[[[[7,9],[6,9]],[7,[2,5]]],[[[4,8],[3,7]],8]] -[[[8,7],[[9,8],[3,6]]],[[[2,1],[4,7]],[[3,9],5]]] -[[0,[[9,8],[5,3]]],[[9,6],[1,6]]] -[9,[[[7,4],[9,9]],5]] -[[9,[[6,7],[2,6]]],[[[2,8],[1,9]],[[4,1],[6,2]]]] -[[1,[9,5]],[0,[[1,8],0]]] -[[3,[7,6]],[8,[[3,2],[3,0]]]] -[[4,6],[6,3]] -[[[1,5],[[7,8],[6,4]]],[[3,[5,4]],[[9,8],1]]] -[[[[8,5],5],[[7,9],8]],[[5,2],[8,6]]] -[[[[3,4],9],[2,8]],[1,[9,8]]] -[[[6,9],8],[[7,9],[6,[8,5]]]] -[[[[7,4],9],1],7] -[[[[0,5],[3,4]],[9,[9,7]]],[[1,6],5]] -[6,[[[9,9],6],[[5,6],7]]] -[[[1,4],[[4,6],[9,4]]],[[[0,3],2],[[1,9],6]]] -[[8,[1,8]],[1,[5,[2,0]]]] -[[[4,5],[[6,6],1]],[[4,0],[[9,9],[3,6]]]] -[[9,[[0,0],[5,3]]],[[5,1],7]] -[[[9,4],[[5,1],[2,7]]],[6,[6,1]]] -[[8,5],[[[0,2],[2,6]],[3,[5,0]]]] -[[[[4,8],[3,6]],[3,[3,1]]],[0,[6,3]]] -[[[5,[9,6]],[3,[1,7]]],[[1,[9,2]],[6,5]]] -[[[[5,2],[9,4]],[[6,5],7]],[[4,8],[[7,1],2]]] -[[[5,[1,5]],5],[[[5,1],[0,9]],6]] -[[4,[3,[9,9]]],[[[7,1],[6,5]],2]] -[8,[[7,6],[8,7]]] -[[[[4,2],5],[3,2]],[[2,7],[[7,2],[9,2]]]] -[[[8,1],1],[5,[[0,9],[5,9]]]] -[[[[2,2],[4,0]],2],[[9,[5,4]],[[2,9],[8,6]]]] -[[[[6,8],0],[4,[1,5]]],[6,[[8,0],[6,6]]]] -[[[3,0],2],5] -[[[2,6],[5,[9,9]]],2] -[[[[4,8],7],[0,0]],[[8,6],[[9,6],9]]] -[[[1,4],0],[[[8,8],[9,3]],5]] -[[[7,[8,8]],[[0,9],3]],7] -[[[[3,1],[9,9]],[[7,9],7]],[[6,5],[[4,7],5]]] -[[[1,3],2],[8,0]] -[[8,[[5,0],[4,4]]],2] -[[3,4],[[[4,8],4],[[3,4],8]]] -[[4,[5,1]],[[8,[8,2]],[[3,5],[6,4]]]] -[[[[7,6],5],[9,[7,3]]],[[4,[6,4]],[[6,1],9]]] -[[0,[3,1]],[[4,[5,7]],6]] -[[2,[[7,2],[4,5]]],1] -[[[0,2],[3,[2,8]]],[[0,[0,6]],[1,[7,7]]]] -[[1,[0,[7,0]]],[[[1,2],[1,9]],[4,[1,4]]]] -[[[5,[7,4]],[[5,9],[7,0]]],[[[7,9],3],[[5,5],1]]] -[[[[7,9],[3,0]],3],[8,8]] -[[[[6,7],4],[[0,3],3]],[[2,[5,3]],8]] -[[0,5],[3,[[6,6],[5,2]]]] -[9,[[2,[8,7]],[6,[2,6]]]] -[7,[[[1,9],[2,9]],[[1,0],5]]] -[[5,0],[8,[2,2]]] -[[3,[2,[8,0]]],3] -[[[0,2],[6,[4,5]]],[3,[9,[0,4]]]] -[[[6,7],7],[[8,[4,5]],[4,[1,7]]]] -[[[[2,7],[9,6]],[5,0]],3] -[[[[3,2],5],[8,3]],[[4,1],[[8,8],[6,4]]]] -[[[2,[5,3]],[1,4]],[[[3,9],9],[[7,8],[5,7]]]] -[5,[[[8,2],[0,4]],[[5,3],0]]] -[[[3,4],3],[3,[[3,8],[2,1]]]] -[5,[[[3,8],[5,2]],2]] -[[[[3,8],6],[8,9]],[[3,[7,5]],[[4,4],2]]] -[[[2,[3,9]],[[4,5],[7,9]]],5] diff --git a/inputs/test_input18_2_0 b/inputs/test_input18_2_0 deleted file mode 100644 index 1368dc4..0000000 --- a/inputs/test_input18_2_0 +++ /dev/null @@ -1,10 +0,0 @@ -[[[0,[5,8]],[[1,7],[9,6]]],[[4,[1,2]],[[1,4],2]]] -[[[5,[2,8]],4],[5,[[9,9],0]]] -[6,[[[6,2],[5,6]],[[7,6],[4,7]]]] -[[[6,[0,7]],[0,9]],[4,[9,[9,0]]]] -[[[7,[6,4]],[3,[1,3]]],[[[5,5],1],9]] -[[6,[[7,3],[3,2]]],[[[3,8],[5,7]],4]] -[[[[5,4],[7,7]],8],[[8,3],8]] -[[9,3],[[9,9],[6,[4,9]]]] -[[2,[[7,7],7]],[[5,8],[[9,3],[0,2]]]] -[[[[5,2],5],[8,[3,7]]],[[5,[7,5]],[4,4]]] diff --git a/inputs/test_input18_2_1 b/inputs/test_input18_2_1 deleted file mode 100644 index 7e0d113..0000000 --- a/inputs/test_input18_2_1 +++ /dev/null @@ -1,100 +0,0 @@ -[[[[2,2],7],[[9,2],[5,2]]],[4,[[8,9],9]]] -[[8,8],[5,[[2,9],1]]] -[0,[3,[[9,2],[3,1]]]] -[9,[[4,5],[5,[3,2]]]] -[[0,[4,3]],[2,[[1,4],[3,0]]]] -[[[9,[0,2]],[[2,6],9]],2] -[1,[[[6,0],[2,6]],[[7,5],[5,6]]]] -[[[1,[6,6]],[6,[5,2]]],[[[5,6],4],9]] -[6,[[7,[1,4]],4]] -[[[[7,6],[0,5]],[[5,4],0]],[[3,[2,3]],[[0,2],[6,4]]]] -[[[3,4],7],[[[8,1],7],[3,[1,8]]]] -[[[[6,5],0],[[5,2],6]],[[1,3],[0,[5,2]]]] -[[[1,2],3],[[0,[3,7]],[4,[5,2]]]] -[[[[4,4],3],2],[2,[6,3]]] -[[[4,5],[[6,4],[8,5]]],[[[5,1],3],[8,3]]] -[[6,[[9,0],6]],[3,[[3,3],3]]] -[[8,[5,[1,7]]],[[4,5],[1,2]]] -[[[[9,1],0],[[1,6],9]],[[8,[7,4]],9]] -[[[3,1],[3,[5,5]]],[[[8,4],[2,9]],[6,[0,1]]]] -[[7,4],[[6,3],[[8,3],[2,3]]]] -[[[2,[5,6]],[[7,9],[8,7]]],[[3,5],[[1,7],[9,8]]]] -[[[[2,8],1],[[1,9],[7,6]]],6] -[[[[1,9],[5,5]],[7,8]],[[3,9],[2,[5,1]]]] -[[4,[[6,7],6]],[1,[6,[6,5]]]] -[[[[0,3],[2,7]],[7,1]],[[4,3],[[1,0],6]]] -[[[[0,8],7],[[5,4],[8,6]]],[[1,[6,5]],5]] -[[6,[[0,3],5]],[[9,[9,8]],0]] -[[0,1],9] -[[[[3,0],4],4],4] -[[[0,8],[[1,7],1]],[[9,1],[4,[2,4]]]] -[[5,[[6,1],2]],[[4,[5,9]],[[8,6],6]]] -[[4,9],[[5,0],[[4,4],3]]] -[[[[7,7],3],[3,[0,0]]],[1,[[0,8],[9,9]]]] -[[[1,6],[9,1]],4] -[[4,4],[[[0,0],9],[[2,0],[8,7]]]] -[[7,[[6,8],9]],[[2,[7,6]],[6,[8,1]]]] -[[[[7,9],[6,9]],[7,[2,5]]],[[[4,8],[3,7]],8]] -[[[8,7],[[9,8],[3,6]]],[[[2,1],[4,7]],[[3,9],5]]] -[[0,[[9,8],[5,3]]],[[9,6],[1,6]]] -[9,[[[7,4],[9,9]],5]] -[[9,[[6,7],[2,6]]],[[[2,8],[1,9]],[[4,1],[6,2]]]] -[[1,[9,5]],[0,[[1,8],0]]] -[[3,[7,6]],[8,[[3,2],[3,0]]]] -[[4,6],[6,3]] -[[[1,5],[[7,8],[6,4]]],[[3,[5,4]],[[9,8],1]]] -[[[[8,5],5],[[7,9],8]],[[5,2],[8,6]]] -[[[[3,4],9],[2,8]],[1,[9,8]]] -[[[6,9],8],[[7,9],[6,[8,5]]]] -[[[[7,4],9],1],7] -[[[[0,5],[3,4]],[9,[9,7]]],[[1,6],5]] -[6,[[[9,9],6],[[5,6],7]]] -[[[1,4],[[4,6],[9,4]]],[[[0,3],2],[[1,9],6]]] -[[8,[1,8]],[1,[5,[2,0]]]] -[[[4,5],[[6,6],1]],[[4,0],[[9,9],[3,6]]]] -[[9,[[0,0],[5,3]]],[[5,1],7]] -[[[9,4],[[5,1],[2,7]]],[6,[6,1]]] -[[8,5],[[[0,2],[2,6]],[3,[5,0]]]] -[[[[4,8],[3,6]],[3,[3,1]]],[0,[6,3]]] -[[[5,[9,6]],[3,[1,7]]],[[1,[9,2]],[6,5]]] -[[[[5,2],[9,4]],[[6,5],7]],[[4,8],[[7,1],2]]] -[[[5,[1,5]],5],[[[5,1],[0,9]],6]] -[[4,[3,[9,9]]],[[[7,1],[6,5]],2]] -[8,[[7,6],[8,7]]] -[[[[4,2],5],[3,2]],[[2,7],[[7,2],[9,2]]]] -[[[8,1],1],[5,[[0,9],[5,9]]]] -[[[[2,2],[4,0]],2],[[9,[5,4]],[[2,9],[8,6]]]] -[[[[6,8],0],[4,[1,5]]],[6,[[8,0],[6,6]]]] -[[[3,0],2],5] -[[[2,6],[5,[9,9]]],2] -[[[[4,8],7],[0,0]],[[8,6],[[9,6],9]]] -[[[1,4],0],[[[8,8],[9,3]],5]] -[[[7,[8,8]],[[0,9],3]],7] -[[[[3,1],[9,9]],[[7,9],7]],[[6,5],[[4,7],5]]] -[[[1,3],2],[8,0]] -[[8,[[5,0],[4,4]]],2] -[[3,4],[[[4,8],4],[[3,4],8]]] -[[4,[5,1]],[[8,[8,2]],[[3,5],[6,4]]]] -[[[[7,6],5],[9,[7,3]]],[[4,[6,4]],[[6,1],9]]] -[[0,[3,1]],[[4,[5,7]],6]] -[[2,[[7,2],[4,5]]],1] -[[[0,2],[3,[2,8]]],[[0,[0,6]],[1,[7,7]]]] -[[1,[0,[7,0]]],[[[1,2],[1,9]],[4,[1,4]]]] -[[[5,[7,4]],[[5,9],[7,0]]],[[[7,9],3],[[5,5],1]]] -[[[[7,9],[3,0]],3],[8,8]] -[[[[6,7],4],[[0,3],3]],[[2,[5,3]],8]] -[[0,5],[3,[[6,6],[5,2]]]] -[9,[[2,[8,7]],[6,[2,6]]]] -[7,[[[1,9],[2,9]],[[1,0],5]]] -[[5,0],[8,[2,2]]] -[[3,[2,[8,0]]],3] -[[[0,2],[6,[4,5]]],[3,[9,[0,4]]]] -[[[6,7],7],[[8,[4,5]],[4,[1,7]]]] -[[[[2,7],[9,6]],[5,0]],3] -[[[[3,2],5],[8,3]],[[4,1],[[8,8],[6,4]]]] -[[[2,[5,3]],[1,4]],[[[3,9],9],[[7,8],[5,7]]]] -[5,[[[8,2],[0,4]],[[5,3],0]]] -[[[3,4],3],[3,[[3,8],[2,1]]]] -[5,[[[3,8],[5,2]],2]] -[[[[3,8],6],[8,9]],[[3,[7,5]],[[4,4],2]]] -[[[2,[3,9]],[[4,5],[7,9]]],5] diff --git a/inputs/test_input19_1_0 b/inputs/test_input19 similarity index 100% rename from inputs/test_input19_1_0 rename to inputs/test_input19 diff --git a/inputs/test_input19_1_1 b/inputs/test_input19_1_1 deleted file mode 100644 index b2ffc4a..0000000 --- a/inputs/test_input19_1_1 +++ /dev/null @@ -1,1111 +0,0 @@ ---- scanner 0 --- -518,781,-434 -587,-467,-517 --602,676,848 -411,517,775 --6,117,112 -521,910,-382 --579,596,796 --670,-552,413 -329,507,669 --711,621,864 --757,-373,-766 -463,-496,-653 --485,-567,434 -333,-451,767 --688,-551,504 -489,-466,723 -638,-534,-698 --933,412,-628 -619,877,-351 --129,21,-2 -342,541,680 --957,462,-734 --924,543,-748 --959,-404,-724 --932,-350,-707 -348,-491,716 - ---- scanner 1 --- -416,-472,809 --731,-669,-481 -508,490,518 --86,89,144 -501,551,488 -557,-738,-447 -444,724,-450 -498,-583,871 -605,-729,-624 --443,-654,634 --667,-743,-581 --343,475,-367 --595,979,559 --598,956,601 --403,-697,564 --404,-702,689 -385,717,-310 -94,175,27 -567,555,384 --455,472,-446 --689,875,526 --383,458,-391 --673,-704,-577 -445,630,-450 -589,-455,881 -626,-628,-514 - ---- scanner 2 --- --666,-416,-935 --452,-753,396 --600,-412,-831 -344,793,-685 --487,-758,447 --597,722,-448 -601,495,259 -305,841,-630 -499,-817,-718 -675,-415,676 --552,537,379 --607,-351,-801 --515,611,-510 -304,836,-755 --504,482,315 -590,-736,-793 --688,594,-438 -640,-479,786 -489,-422,708 --564,634,250 --461,-836,493 -617,535,319 --150,11,8 --65,83,-161 -496,-840,-760 -739,545,232 - ---- scanner 3 --- --300,354,-552 -864,-675,-477 -176,-8,-142 -455,648,-617 --589,-630,-578 -762,-614,424 --345,468,257 --643,-690,402 -897,-656,-522 -759,-701,376 -676,758,287 --349,537,418 -764,-474,394 --638,-844,370 --681,-786,561 -743,717,433 -790,-721,-442 --461,368,-428 -723,739,373 -511,641,-834 -555,627,-697 --384,437,-508 --594,-416,-504 --328,551,413 --677,-565,-496 -37,-11,29 - ---- scanner 4 --- --463,497,873 --727,828,-603 --358,-623,-409 --677,852,-709 -470,-637,736 --622,-516,800 --229,-626,-357 -195,-29,49 -789,817,-463 -907,694,-426 -842,744,-466 -791,-795,-392 -503,-681,584 -736,333,929 --543,474,821 --632,-434,694 --596,819,-723 -473,-533,593 -770,-746,-524 --518,606,889 -743,324,956 --598,-447,705 -119,81,172 -686,497,895 --262,-724,-326 -712,-823,-439 - ---- scanner 5 --- -824,-682,628 -726,-402,-319 -837,485,848 -436,977,-516 --622,-630,648 --486,670,-602 --452,675,-842 -416,942,-403 -589,976,-482 --488,548,483 --696,-352,-691 --447,688,-793 --474,-545,636 --588,-258,-784 -641,-289,-320 -879,-497,655 --46,38,-28 -705,495,723 -45,186,111 -729,492,779 --496,-510,627 -890,-604,524 --702,-340,-726 --455,530,452 -560,-423,-263 --441,449,595 - ---- scanner 6 --- --315,309,-414 -439,-612,-437 --538,-660,630 -829,555,783 --499,-635,616 -55,46,-63 -299,441,-807 -873,-452,401 --623,-573,-845 --480,-681,752 --646,448,581 --797,447,531 -860,-434,387 -345,358,-846 -506,-632,-490 --708,561,481 --506,-651,-875 --499,-451,-871 -456,-672,-587 -360,339,-854 --401,407,-429 --434,416,-379 -695,-414,369 -807,580,760 --93,-33,11 -686,444,772 - ---- scanner 7 --- -347,355,826 -742,-400,-856 --122,-84,-57 -634,-749,447 -659,723,-628 --705,-466,-772 --510,627,516 --465,589,691 -834,-429,-868 --540,-497,739 --646,656,640 --456,773,-879 -682,736,-614 --439,719,-906 -296,408,674 --708,-409,-574 -683,-647,381 --742,-505,-636 -355,472,731 --397,750,-704 -610,-598,339 -18,28,34 -674,742,-845 --634,-423,616 --625,-468,570 -812,-405,-882 - ---- scanner 8 --- -606,-636,920 -343,-356,-530 -557,-603,786 -667,542,625 -646,-610,768 --579,-623,-790 --515,874,-784 -682,590,688 -405,-514,-535 -396,-478,-607 --492,311,478 --83,-74,132 -32,14,-5 --389,319,576 --701,-639,-754 -451,523,-341 -420,571,-292 --566,861,-808 --908,-471,778 --440,766,-739 -428,740,-309 -552,658,690 --637,-611,-745 --896,-347,751 --470,377,455 --891,-489,628 - ---- scanner 9 --- -686,-478,-712 --832,-720,-351 --684,511,488 -631,391,752 -588,681,-662 -911,-874,524 --780,410,405 -888,-786,433 -593,566,707 --513,-716,558 -774,-458,-617 -548,696,-713 --836,-610,-356 --539,-943,552 --426,-842,624 -816,-970,449 --29,-146,-102 --410,700,-615 --420,618,-721 -141,-64,-47 -771,-496,-798 --444,687,-626 --788,-535,-348 -563,540,-669 --813,508,436 -564,442,571 - ---- scanner 10 --- -718,-564,500 -663,813,-420 --523,-541,309 -541,738,414 --477,-521,503 --357,-705,-680 -481,651,274 -705,-297,-719 -581,-271,-841 -84,152,1 --593,493,-562 --247,893,331 -588,-267,-641 -597,817,-524 --359,896,410 -540,644,414 -614,-479,444 -604,878,-554 -39,33,-141 --582,-489,456 --499,389,-595 --502,412,-637 --287,910,355 --424,-652,-660 --374,-555,-620 -731,-501,573 - ---- scanner 11 --- -897,-579,604 -903,560,336 -466,465,-620 -790,-520,-775 -821,-525,561 -150,-94,2 --323,440,-709 -510,561,-622 -900,-617,478 -887,-528,-807 --334,-617,-539 --570,523,294 --412,-655,-406 --645,458,361 -838,612,489 --698,468,321 --381,346,-760 --469,-594,-571 --308,-475,425 --322,-636,481 -576,408,-690 --366,-593,517 -48,62,-135 -905,-599,-719 -852,625,444 --362,287,-685 - ---- scanner 12 --- -526,613,-486 -754,893,779 -707,546,-537 -845,870,691 --533,-445,-768 --789,887,514 --547,-437,-830 --12,128,37 -842,-831,-603 --586,-414,-880 --294,730,-446 --665,899,487 -829,798,875 -654,-444,747 -873,-798,-505 --526,-655,497 -571,575,-661 --286,847,-351 -149,30,-42 --533,-566,479 -790,-702,-606 --647,882,637 -726,-557,848 --500,-615,345 -720,-531,621 --235,794,-503 - ---- scanner 13 --- -691,-768,453 --484,762,339 -496,346,561 -574,316,444 -595,604,-518 -374,320,437 --816,-765,-822 -555,701,-568 --926,-701,-787 --81,-17,44 -661,-829,460 --587,-422,340 --493,812,372 --848,-758,-636 --633,-344,314 -795,-764,519 --386,777,253 -578,-363,-646 -620,-340,-643 -535,754,-501 --416,337,-422 --536,-427,305 --435,345,-407 --518,384,-361 -3,-112,-115 -653,-444,-737 - ---- scanner 14 --- -243,-555,655 -750,450,795 -10,-110,-8 -347,-522,561 --764,607,-320 -365,-751,-577 --687,349,631 --635,496,572 --798,-620,730 -702,361,-285 -764,395,867 --701,-580,780 -752,467,-309 --540,-480,-681 --817,604,-393 -453,-825,-645 --667,543,677 -621,347,-318 -266,-597,652 --556,-434,-601 --851,-640,797 --488,-456,-717 -494,-664,-588 --882,644,-443 -747,371,907 --90,-34,141 - ---- scanner 15 --- -50,-133,85 -586,615,469 --447,-636,-526 --659,400,-586 --105,22,-10 --754,493,718 --666,541,-611 --685,440,628 -595,569,514 --710,385,-626 -512,-575,455 -680,738,543 -764,-880,-727 -478,-637,551 --851,-705,747 --377,-433,-510 -823,-705,-704 -755,690,-543 -515,-773,512 -781,-907,-673 -574,639,-610 --771,-696,679 -710,515,-581 --356,-618,-525 --727,405,550 --834,-728,495 - ---- scanner 16 --- -407,710,-769 --50,-11,134 --702,-757,515 -619,-668,667 -461,-782,-781 -753,-635,716 -477,585,632 -601,-661,756 --774,-793,506 -584,-924,-786 --697,-915,453 -250,591,658 --851,487,-431 --872,322,-397 --867,415,-582 -611,-800,-798 --921,-632,-591 --189,-142,64 --912,-660,-527 -319,619,-792 --957,-648,-469 --460,621,745 -223,694,-697 --437,798,711 -351,519,545 --439,841,786 - ---- scanner 17 --- --534,753,-842 --960,-235,785 --525,-322,-659 --673,-346,-721 -442,-608,-483 --122,78,-121 -459,471,-673 --972,-404,793 -767,580,773 -8,-5,17 -538,398,-734 --920,-347,784 --596,662,635 --456,617,-838 -625,-456,498 --512,-272,-667 --623,591,619 -431,-576,-444 -637,534,817 -651,-368,387 -439,-521,-588 --607,436,644 -696,556,718 -532,460,-837 --500,756,-724 -638,-345,550 - ---- scanner 18 --- -709,-483,-367 --680,-877,-594 -748,-460,-317 -784,-766,592 -783,420,594 --355,383,859 -697,-637,581 --314,-510,851 --711,-844,-692 -695,-491,-429 -760,433,608 --13,-42,-54 --338,437,886 --409,529,-536 --545,500,-660 --434,-379,860 --364,567,-711 -775,414,825 --328,-429,884 -858,-678,524 -397,748,-694 --628,-748,-591 --296,406,684 -106,95,64 -456,684,-751 -448,801,-846 - ---- scanner 19 --- -548,-925,-540 -766,660,842 -667,528,811 -640,-824,-520 -20,-99,4 --749,-854,-551 --137,2,-90 --871,242,377 -526,535,-322 --922,394,430 --608,729,-576 --535,687,-625 -298,-798,844 -356,-919,763 --579,-856,-433 --492,-596,325 -539,-791,-403 --368,-623,337 --584,621,-727 --598,-851,-651 -803,521,779 -510,564,-330 --510,-746,342 --863,337,494 -308,536,-349 -290,-896,741 - ---- scanner 20 --- --443,-767,-548 --507,576,850 --568,497,777 --802,816,-814 -616,839,712 --813,806,-716 -435,444,-575 --517,-462,492 -449,489,-588 --884,717,-845 --399,-496,495 -832,-741,681 -819,-784,526 --359,-702,-475 -777,-622,-639 --403,-418,631 -821,-620,-735 -104,-111,10 --404,570,788 -384,336,-640 -713,710,724 -711,-690,-792 --449,-793,-540 -767,-712,541 -768,774,772 --69,15,-48 - ---- scanner 21 --- -396,635,755 --441,773,-515 -749,-637,420 -17,53,-71 -800,-357,-810 -744,725,-372 --408,759,-434 -454,539,790 -729,-777,553 -784,749,-389 --763,-823,-648 --786,-771,-568 --432,653,-384 --695,-388,580 --433,732,378 -717,-414,-689 --677,-479,579 -686,-447,-823 -735,-702,373 --608,791,401 -460,535,829 --654,-839,-593 --880,-409,595 --21,-116,33 --406,749,432 -672,670,-386 - ---- scanner 22 --- -877,813,447 --554,665,637 -863,758,519 --522,712,742 --581,-368,418 --512,724,-454 -439,-269,391 --534,595,-571 -125,6,154 -860,837,407 -611,754,-380 -705,754,-381 -560,-326,474 --19,147,77 --741,-333,495 --760,-510,-504 --676,-524,-619 -464,-571,-382 --597,668,-558 --574,859,683 --572,-343,431 -426,-359,505 -618,894,-321 --651,-505,-369 -482,-560,-523 -460,-586,-326 - ---- scanner 23 --- -558,412,431 -78,20,44 -721,-315,-843 --766,-563,-610 -526,614,-815 --315,-604,563 -664,514,430 --383,-472,538 -604,699,-904 --745,-378,-625 -637,-437,406 -706,511,382 --675,-581,-609 --404,518,459 --412,440,-509 -613,591,-808 -802,-376,-726 -732,-415,-810 --456,596,-524 --499,449,483 --463,455,-549 -595,-613,336 --510,436,449 -646,-570,496 --331,-495,618 - ---- scanner 24 --- -458,-867,457 -389,654,-484 -751,748,679 -746,-849,-605 --715,811,897 --644,-698,-562 -523,-881,504 -681,545,663 -772,563,664 --700,-601,-533 --640,556,-442 --773,-622,-585 --37,25,-24 --923,-584,576 --869,-626,632 -383,-861,637 --147,-104,168 -803,-932,-726 -321,522,-509 --726,711,864 --796,750,780 -713,-818,-739 --631,689,-352 --955,-481,593 -337,631,-564 --589,513,-282 - ---- scanner 25 --- -615,532,-575 --720,-384,-668 --379,769,527 -416,905,494 -890,-504,-433 --471,597,-761 -506,804,397 -373,-513,517 --493,-833,392 --554,-745,422 --422,-749,490 -835,-480,-504 -406,-515,531 -504,444,-549 -166,54,1 --253,681,548 -448,867,298 --322,814,552 -5,23,-117 --327,652,-769 -515,-407,510 --556,-395,-741 -667,421,-562 -934,-458,-563 --617,-322,-662 --366,684,-758 - ---- scanner 26 --- --658,498,-926 -548,-363,-518 --466,-409,-409 --646,731,402 --374,-397,-438 --549,-637,714 --662,365,-857 -739,-627,532 -659,527,-852 --526,-651,727 --591,770,354 -651,582,-708 -358,458,660 -271,336,650 --716,771,359 --534,-420,733 --396,-383,-414 -603,-464,-556 -766,-737,531 -730,-729,671 --6,-26,-17 --637,410,-800 -298,474,700 -537,-537,-408 -648,495,-813 - ---- scanner 27 --- --370,576,594 -756,-745,848 -331,573,-440 -521,-759,-580 --641,-479,794 -362,-778,-592 -581,508,540 --753,386,-329 -327,512,-340 -684,-758,727 --746,-438,720 --667,-795,-668 --778,415,-523 -648,576,476 --867,-744,-678 -317,523,-223 -579,507,487 -804,-753,814 --796,528,-357 --3,-47,5 --460,569,490 -420,-652,-617 --501,529,542 --858,-508,754 --690,-695,-617 - ---- scanner 28 --- -545,732,409 -848,671,-609 --531,473,545 --749,-478,-674 -353,-601,-696 --444,466,568 -477,-404,414 -827,656,-424 --10,-37,2 -494,772,394 --742,-463,-770 --554,-576,736 -757,672,-627 -450,-572,502 -538,757,550 -433,-533,-687 --639,438,-361 --650,471,-461 --522,377,653 -370,-349,-719 --555,-446,635 --720,555,-422 --755,-558,-611 --516,-679,627 -519,-482,449 - ---- scanner 29 --- --306,737,554 -668,707,-658 -762,-561,-580 --275,836,686 --780,-298,-597 --338,873,547 -822,576,779 -722,-587,-428 -798,639,-660 --687,-852,420 -783,591,-723 --273,368,-772 -552,-554,685 -767,715,674 -809,700,743 --354,426,-893 -544,-540,747 --740,-801,268 --623,-793,363 -673,-554,-562 --792,-422,-570 --376,360,-870 --775,-440,-720 -102,21,-46 -521,-501,797 - ---- scanner 30 --- --695,269,-473 --165,-59,-27 -700,-453,443 -770,-458,417 --546,-455,-391 --750,-462,725 --784,-558,663 -640,683,685 --498,720,420 -508,-970,-464 -450,315,-737 -792,-482,431 -520,358,-697 --747,-519,527 --523,-654,-343 -575,310,-736 --41,-184,111 -529,-844,-376 -617,670,671 --439,697,595 -504,-901,-331 --595,343,-409 --481,666,393 -632,689,454 --639,-591,-391 --691,308,-467 - ---- scanner 31 --- -822,509,-602 --593,-792,788 --444,772,466 -753,599,-549 -778,-605,620 -839,548,587 --527,713,-678 --687,-555,-826 -829,-505,597 -795,677,-514 --559,-862,676 --633,-821,571 --566,-542,-754 --447,715,664 -778,-648,-490 -919,480,596 -741,-541,-591 -53,-135,-49 --653,-547,-874 --612,684,-847 --410,676,528 -839,-556,797 -753,-522,-432 -902,732,619 --518,758,-724 - ---- scanner 32 --- --639,-722,-652 --332,635,547 -620,-713,690 --835,-591,489 --513,-602,-673 --458,357,-705 -820,393,-452 -688,403,-577 --491,-637,-664 -378,665,460 -692,-749,699 --472,438,-848 -355,842,494 -357,885,419 --683,-617,449 --505,456,-817 --559,629,573 --433,563,660 --701,-624,538 -807,-774,-672 -873,-696,-776 -92,44,-88 -615,-871,752 -712,400,-521 -862,-589,-645 - ---- scanner 33 --- -807,-310,365 -747,802,-660 --343,494,341 -787,845,-590 -459,817,455 -523,891,555 -592,-808,-627 --648,-580,-694 -735,-324,420 --705,-621,-855 -595,-831,-585 --621,490,-757 -10,32,-45 -786,850,-715 --345,-372,331 --637,-709,-781 -847,-327,341 --404,471,-772 --369,-322,437 --545,463,299 --370,440,358 -517,852,551 -501,-727,-552 --635,477,-780 --378,-453,317 - ---- scanner 34 --- -462,-498,474 -452,-352,604 -486,551,654 -398,-507,652 -391,-452,-510 --361,-360,604 -450,691,662 --753,-639,-758 -918,522,-549 -98,73,-86 --578,-304,611 -469,-395,-661 -858,562,-533 -477,690,552 -945,572,-411 --643,451,317 --498,-404,590 --46,163,-12 --691,745,-453 --767,612,331 --617,740,-667 --673,-746,-693 --718,-713,-712 --687,535,400 --699,828,-602 -501,-388,-475 - ---- scanner 35 --- -542,322,-585 -856,657,421 -470,-631,749 -478,-862,755 -410,-873,-387 --592,516,-331 -318,-885,-416 --869,530,770 --795,-655,554 -797,714,485 --604,-919,-496 --786,-553,693 -493,-645,736 -518,430,-736 --733,523,802 --35,-86,69 --374,515,-358 --659,-818,-534 --832,391,833 --593,-745,-386 --822,-545,553 -340,-899,-392 -469,364,-634 --576,487,-339 --84,28,-109 -805,809,368 - ---- scanner 36 --- --558,471,-344 --709,594,415 -723,-703,-309 --655,370,-254 -707,-771,-457 -414,743,-453 --459,408,-286 -401,854,-505 --13,92,44 --730,-535,-625 -552,-368,785 -584,-748,-326 --838,-481,-656 -597,591,528 --447,-287,927 --425,-301,903 -388,831,-342 --713,461,484 -608,623,489 -486,-441,933 --818,-559,-655 --517,-313,932 -600,678,633 --120,1,147 -497,-267,823 --688,506,541 - ---- scanner 37 --- -768,-432,-774 --809,-717,-611 -662,774,-471 --632,790,746 --492,782,710 -65,151,15 -454,-533,727 --513,-283,251 --503,-405,338 -511,-382,805 --436,704,-546 --631,680,719 --804,-718,-736 -447,-347,695 -411,732,744 -621,717,-632 --449,690,-569 --17,40,-126 -849,-523,-699 --430,473,-554 --463,-421,278 -557,602,734 -566,780,798 -872,-526,-741 -750,706,-545 --761,-678,-666 - ---- scanner 38 --- --662,-665,372 -643,910,848 --575,-544,-461 --694,776,-406 --737,621,-419 -341,-582,619 -757,819,-525 -536,-493,-789 -368,-637,747 -408,-647,694 -689,884,770 -740,919,765 --638,-818,411 --828,564,788 -383,-545,-854 -886,807,-622 --573,-640,-417 -821,867,-470 --643,-697,-527 --838,618,553 -491,-480,-803 --713,-759,430 --52,73,-21 --665,636,-471 --852,712,710 - ---- scanner 39 --- --827,583,978 -647,521,-591 --480,-628,-720 -85,-6,165 -364,-715,814 --785,756,-658 -662,469,-663 --763,-377,534 --526,-702,-685 -571,-660,-778 --577,-384,502 -719,-738,-754 -464,575,831 --705,573,891 -373,-798,717 --689,533,951 --728,-441,424 --571,751,-584 -665,-503,-764 -476,672,960 --74,20,-10 -507,456,-620 -416,520,895 -39,156,49 -399,-720,763 --545,-735,-640 --636,839,-666 diff --git a/inputs/test_input19_2_0 b/inputs/test_input19_2_0 deleted file mode 100644 index 4e496e9..0000000 --- a/inputs/test_input19_2_0 +++ /dev/null @@ -1,136 +0,0 @@ ---- scanner 0 --- -404,-588,-901 -528,-643,409 --838,591,734 -390,-675,-793 --537,-823,-458 --485,-357,347 --345,-311,381 --661,-816,-575 --876,649,763 --618,-824,-621 -553,345,-567 -474,580,667 --447,-329,318 --584,868,-557 -544,-627,-890 -564,392,-477 -455,729,728 --892,524,684 --689,845,-530 -423,-701,434 -7,-33,-71 -630,319,-379 -443,580,662 --789,900,-551 -459,-707,401 - ---- scanner 1 --- -686,422,578 -605,423,415 -515,917,-361 --336,658,858 -95,138,22 --476,619,847 --340,-569,-846 -567,-361,727 --460,603,-452 -669,-402,600 -729,430,532 --500,-761,534 --322,571,750 --466,-666,-811 --429,-592,574 --355,545,-477 -703,-491,-529 --328,-685,520 -413,935,-424 --391,539,-444 -586,-435,557 --364,-763,-893 -807,-499,-711 -755,-354,-619 -553,889,-390 - ---- scanner 2 --- -649,640,665 -682,-795,504 --784,533,-524 --644,584,-595 --588,-843,648 --30,6,44 --674,560,763 -500,723,-460 -609,671,-379 --555,-800,653 --675,-892,-343 -697,-426,-610 -578,704,681 -493,664,-388 --671,-858,530 --667,343,800 -571,-461,-707 --138,-166,112 --889,563,-600 -646,-828,498 -640,759,510 --630,509,768 --681,-892,-333 -673,-379,-804 --742,-814,-386 -577,-820,562 - ---- scanner 3 --- --589,542,597 -605,-692,669 --500,565,-823 --660,373,557 --458,-679,-417 --488,449,543 --626,468,-788 -338,-750,-386 -528,-832,-391 -562,-778,733 --938,-730,414 -543,643,-506 --524,371,-870 -407,773,750 --104,29,83 -378,-903,-323 --778,-728,485 -426,699,580 --438,-605,-362 --469,-447,-387 -509,732,623 -647,635,-688 --868,-804,481 -614,-800,639 -595,780,-596 - ---- scanner 4 --- -727,592,562 --293,-554,779 -441,611,-461 --714,465,-776 --743,427,-804 --660,-479,-426 -832,-632,460 -927,-485,-438 -408,393,-506 -466,436,-512 -110,16,151 --258,-428,682 --393,719,612 --211,-452,876 -808,-476,-593 --575,615,604 --485,667,467 --680,325,-822 --627,-443,-432 -872,-547,-609 -833,512,582 -807,604,487 -839,-516,451 -891,-625,532 --652,-548,-490 -30,-46,-14 diff --git a/inputs/test_input19_2_1 b/inputs/test_input19_2_1 deleted file mode 100644 index b2ffc4a..0000000 --- a/inputs/test_input19_2_1 +++ /dev/null @@ -1,1111 +0,0 @@ ---- scanner 0 --- -518,781,-434 -587,-467,-517 --602,676,848 -411,517,775 --6,117,112 -521,910,-382 --579,596,796 --670,-552,413 -329,507,669 --711,621,864 --757,-373,-766 -463,-496,-653 --485,-567,434 -333,-451,767 --688,-551,504 -489,-466,723 -638,-534,-698 --933,412,-628 -619,877,-351 --129,21,-2 -342,541,680 --957,462,-734 --924,543,-748 --959,-404,-724 --932,-350,-707 -348,-491,716 - ---- scanner 1 --- -416,-472,809 --731,-669,-481 -508,490,518 --86,89,144 -501,551,488 -557,-738,-447 -444,724,-450 -498,-583,871 -605,-729,-624 --443,-654,634 --667,-743,-581 --343,475,-367 --595,979,559 --598,956,601 --403,-697,564 --404,-702,689 -385,717,-310 -94,175,27 -567,555,384 --455,472,-446 --689,875,526 --383,458,-391 --673,-704,-577 -445,630,-450 -589,-455,881 -626,-628,-514 - ---- scanner 2 --- --666,-416,-935 --452,-753,396 --600,-412,-831 -344,793,-685 --487,-758,447 --597,722,-448 -601,495,259 -305,841,-630 -499,-817,-718 -675,-415,676 --552,537,379 --607,-351,-801 --515,611,-510 -304,836,-755 --504,482,315 -590,-736,-793 --688,594,-438 -640,-479,786 -489,-422,708 --564,634,250 --461,-836,493 -617,535,319 --150,11,8 --65,83,-161 -496,-840,-760 -739,545,232 - ---- scanner 3 --- --300,354,-552 -864,-675,-477 -176,-8,-142 -455,648,-617 --589,-630,-578 -762,-614,424 --345,468,257 --643,-690,402 -897,-656,-522 -759,-701,376 -676,758,287 --349,537,418 -764,-474,394 --638,-844,370 --681,-786,561 -743,717,433 -790,-721,-442 --461,368,-428 -723,739,373 -511,641,-834 -555,627,-697 --384,437,-508 --594,-416,-504 --328,551,413 --677,-565,-496 -37,-11,29 - ---- scanner 4 --- --463,497,873 --727,828,-603 --358,-623,-409 --677,852,-709 -470,-637,736 --622,-516,800 --229,-626,-357 -195,-29,49 -789,817,-463 -907,694,-426 -842,744,-466 -791,-795,-392 -503,-681,584 -736,333,929 --543,474,821 --632,-434,694 --596,819,-723 -473,-533,593 -770,-746,-524 --518,606,889 -743,324,956 --598,-447,705 -119,81,172 -686,497,895 --262,-724,-326 -712,-823,-439 - ---- scanner 5 --- -824,-682,628 -726,-402,-319 -837,485,848 -436,977,-516 --622,-630,648 --486,670,-602 --452,675,-842 -416,942,-403 -589,976,-482 --488,548,483 --696,-352,-691 --447,688,-793 --474,-545,636 --588,-258,-784 -641,-289,-320 -879,-497,655 --46,38,-28 -705,495,723 -45,186,111 -729,492,779 --496,-510,627 -890,-604,524 --702,-340,-726 --455,530,452 -560,-423,-263 --441,449,595 - ---- scanner 6 --- --315,309,-414 -439,-612,-437 --538,-660,630 -829,555,783 --499,-635,616 -55,46,-63 -299,441,-807 -873,-452,401 --623,-573,-845 --480,-681,752 --646,448,581 --797,447,531 -860,-434,387 -345,358,-846 -506,-632,-490 --708,561,481 --506,-651,-875 --499,-451,-871 -456,-672,-587 -360,339,-854 --401,407,-429 --434,416,-379 -695,-414,369 -807,580,760 --93,-33,11 -686,444,772 - ---- scanner 7 --- -347,355,826 -742,-400,-856 --122,-84,-57 -634,-749,447 -659,723,-628 --705,-466,-772 --510,627,516 --465,589,691 -834,-429,-868 --540,-497,739 --646,656,640 --456,773,-879 -682,736,-614 --439,719,-906 -296,408,674 --708,-409,-574 -683,-647,381 --742,-505,-636 -355,472,731 --397,750,-704 -610,-598,339 -18,28,34 -674,742,-845 --634,-423,616 --625,-468,570 -812,-405,-882 - ---- scanner 8 --- -606,-636,920 -343,-356,-530 -557,-603,786 -667,542,625 -646,-610,768 --579,-623,-790 --515,874,-784 -682,590,688 -405,-514,-535 -396,-478,-607 --492,311,478 --83,-74,132 -32,14,-5 --389,319,576 --701,-639,-754 -451,523,-341 -420,571,-292 --566,861,-808 --908,-471,778 --440,766,-739 -428,740,-309 -552,658,690 --637,-611,-745 --896,-347,751 --470,377,455 --891,-489,628 - ---- scanner 9 --- -686,-478,-712 --832,-720,-351 --684,511,488 -631,391,752 -588,681,-662 -911,-874,524 --780,410,405 -888,-786,433 -593,566,707 --513,-716,558 -774,-458,-617 -548,696,-713 --836,-610,-356 --539,-943,552 --426,-842,624 -816,-970,449 --29,-146,-102 --410,700,-615 --420,618,-721 -141,-64,-47 -771,-496,-798 --444,687,-626 --788,-535,-348 -563,540,-669 --813,508,436 -564,442,571 - ---- scanner 10 --- -718,-564,500 -663,813,-420 --523,-541,309 -541,738,414 --477,-521,503 --357,-705,-680 -481,651,274 -705,-297,-719 -581,-271,-841 -84,152,1 --593,493,-562 --247,893,331 -588,-267,-641 -597,817,-524 --359,896,410 -540,644,414 -614,-479,444 -604,878,-554 -39,33,-141 --582,-489,456 --499,389,-595 --502,412,-637 --287,910,355 --424,-652,-660 --374,-555,-620 -731,-501,573 - ---- scanner 11 --- -897,-579,604 -903,560,336 -466,465,-620 -790,-520,-775 -821,-525,561 -150,-94,2 --323,440,-709 -510,561,-622 -900,-617,478 -887,-528,-807 --334,-617,-539 --570,523,294 --412,-655,-406 --645,458,361 -838,612,489 --698,468,321 --381,346,-760 --469,-594,-571 --308,-475,425 --322,-636,481 -576,408,-690 --366,-593,517 -48,62,-135 -905,-599,-719 -852,625,444 --362,287,-685 - ---- scanner 12 --- -526,613,-486 -754,893,779 -707,546,-537 -845,870,691 --533,-445,-768 --789,887,514 --547,-437,-830 --12,128,37 -842,-831,-603 --586,-414,-880 --294,730,-446 --665,899,487 -829,798,875 -654,-444,747 -873,-798,-505 --526,-655,497 -571,575,-661 --286,847,-351 -149,30,-42 --533,-566,479 -790,-702,-606 --647,882,637 -726,-557,848 --500,-615,345 -720,-531,621 --235,794,-503 - ---- scanner 13 --- -691,-768,453 --484,762,339 -496,346,561 -574,316,444 -595,604,-518 -374,320,437 --816,-765,-822 -555,701,-568 --926,-701,-787 --81,-17,44 -661,-829,460 --587,-422,340 --493,812,372 --848,-758,-636 --633,-344,314 -795,-764,519 --386,777,253 -578,-363,-646 -620,-340,-643 -535,754,-501 --416,337,-422 --536,-427,305 --435,345,-407 --518,384,-361 -3,-112,-115 -653,-444,-737 - ---- scanner 14 --- -243,-555,655 -750,450,795 -10,-110,-8 -347,-522,561 --764,607,-320 -365,-751,-577 --687,349,631 --635,496,572 --798,-620,730 -702,361,-285 -764,395,867 --701,-580,780 -752,467,-309 --540,-480,-681 --817,604,-393 -453,-825,-645 --667,543,677 -621,347,-318 -266,-597,652 --556,-434,-601 --851,-640,797 --488,-456,-717 -494,-664,-588 --882,644,-443 -747,371,907 --90,-34,141 - ---- scanner 15 --- -50,-133,85 -586,615,469 --447,-636,-526 --659,400,-586 --105,22,-10 --754,493,718 --666,541,-611 --685,440,628 -595,569,514 --710,385,-626 -512,-575,455 -680,738,543 -764,-880,-727 -478,-637,551 --851,-705,747 --377,-433,-510 -823,-705,-704 -755,690,-543 -515,-773,512 -781,-907,-673 -574,639,-610 --771,-696,679 -710,515,-581 --356,-618,-525 --727,405,550 --834,-728,495 - ---- scanner 16 --- -407,710,-769 --50,-11,134 --702,-757,515 -619,-668,667 -461,-782,-781 -753,-635,716 -477,585,632 -601,-661,756 --774,-793,506 -584,-924,-786 --697,-915,453 -250,591,658 --851,487,-431 --872,322,-397 --867,415,-582 -611,-800,-798 --921,-632,-591 --189,-142,64 --912,-660,-527 -319,619,-792 --957,-648,-469 --460,621,745 -223,694,-697 --437,798,711 -351,519,545 --439,841,786 - ---- scanner 17 --- --534,753,-842 --960,-235,785 --525,-322,-659 --673,-346,-721 -442,-608,-483 --122,78,-121 -459,471,-673 --972,-404,793 -767,580,773 -8,-5,17 -538,398,-734 --920,-347,784 --596,662,635 --456,617,-838 -625,-456,498 --512,-272,-667 --623,591,619 -431,-576,-444 -637,534,817 -651,-368,387 -439,-521,-588 --607,436,644 -696,556,718 -532,460,-837 --500,756,-724 -638,-345,550 - ---- scanner 18 --- -709,-483,-367 --680,-877,-594 -748,-460,-317 -784,-766,592 -783,420,594 --355,383,859 -697,-637,581 --314,-510,851 --711,-844,-692 -695,-491,-429 -760,433,608 --13,-42,-54 --338,437,886 --409,529,-536 --545,500,-660 --434,-379,860 --364,567,-711 -775,414,825 --328,-429,884 -858,-678,524 -397,748,-694 --628,-748,-591 --296,406,684 -106,95,64 -456,684,-751 -448,801,-846 - ---- scanner 19 --- -548,-925,-540 -766,660,842 -667,528,811 -640,-824,-520 -20,-99,4 --749,-854,-551 --137,2,-90 --871,242,377 -526,535,-322 --922,394,430 --608,729,-576 --535,687,-625 -298,-798,844 -356,-919,763 --579,-856,-433 --492,-596,325 -539,-791,-403 --368,-623,337 --584,621,-727 --598,-851,-651 -803,521,779 -510,564,-330 --510,-746,342 --863,337,494 -308,536,-349 -290,-896,741 - ---- scanner 20 --- --443,-767,-548 --507,576,850 --568,497,777 --802,816,-814 -616,839,712 --813,806,-716 -435,444,-575 --517,-462,492 -449,489,-588 --884,717,-845 --399,-496,495 -832,-741,681 -819,-784,526 --359,-702,-475 -777,-622,-639 --403,-418,631 -821,-620,-735 -104,-111,10 --404,570,788 -384,336,-640 -713,710,724 -711,-690,-792 --449,-793,-540 -767,-712,541 -768,774,772 --69,15,-48 - ---- scanner 21 --- -396,635,755 --441,773,-515 -749,-637,420 -17,53,-71 -800,-357,-810 -744,725,-372 --408,759,-434 -454,539,790 -729,-777,553 -784,749,-389 --763,-823,-648 --786,-771,-568 --432,653,-384 --695,-388,580 --433,732,378 -717,-414,-689 --677,-479,579 -686,-447,-823 -735,-702,373 --608,791,401 -460,535,829 --654,-839,-593 --880,-409,595 --21,-116,33 --406,749,432 -672,670,-386 - ---- scanner 22 --- -877,813,447 --554,665,637 -863,758,519 --522,712,742 --581,-368,418 --512,724,-454 -439,-269,391 --534,595,-571 -125,6,154 -860,837,407 -611,754,-380 -705,754,-381 -560,-326,474 --19,147,77 --741,-333,495 --760,-510,-504 --676,-524,-619 -464,-571,-382 --597,668,-558 --574,859,683 --572,-343,431 -426,-359,505 -618,894,-321 --651,-505,-369 -482,-560,-523 -460,-586,-326 - ---- scanner 23 --- -558,412,431 -78,20,44 -721,-315,-843 --766,-563,-610 -526,614,-815 --315,-604,563 -664,514,430 --383,-472,538 -604,699,-904 --745,-378,-625 -637,-437,406 -706,511,382 --675,-581,-609 --404,518,459 --412,440,-509 -613,591,-808 -802,-376,-726 -732,-415,-810 --456,596,-524 --499,449,483 --463,455,-549 -595,-613,336 --510,436,449 -646,-570,496 --331,-495,618 - ---- scanner 24 --- -458,-867,457 -389,654,-484 -751,748,679 -746,-849,-605 --715,811,897 --644,-698,-562 -523,-881,504 -681,545,663 -772,563,664 --700,-601,-533 --640,556,-442 --773,-622,-585 --37,25,-24 --923,-584,576 --869,-626,632 -383,-861,637 --147,-104,168 -803,-932,-726 -321,522,-509 --726,711,864 --796,750,780 -713,-818,-739 --631,689,-352 --955,-481,593 -337,631,-564 --589,513,-282 - ---- scanner 25 --- -615,532,-575 --720,-384,-668 --379,769,527 -416,905,494 -890,-504,-433 --471,597,-761 -506,804,397 -373,-513,517 --493,-833,392 --554,-745,422 --422,-749,490 -835,-480,-504 -406,-515,531 -504,444,-549 -166,54,1 --253,681,548 -448,867,298 --322,814,552 -5,23,-117 --327,652,-769 -515,-407,510 --556,-395,-741 -667,421,-562 -934,-458,-563 --617,-322,-662 --366,684,-758 - ---- scanner 26 --- --658,498,-926 -548,-363,-518 --466,-409,-409 --646,731,402 --374,-397,-438 --549,-637,714 --662,365,-857 -739,-627,532 -659,527,-852 --526,-651,727 --591,770,354 -651,582,-708 -358,458,660 -271,336,650 --716,771,359 --534,-420,733 --396,-383,-414 -603,-464,-556 -766,-737,531 -730,-729,671 --6,-26,-17 --637,410,-800 -298,474,700 -537,-537,-408 -648,495,-813 - ---- scanner 27 --- --370,576,594 -756,-745,848 -331,573,-440 -521,-759,-580 --641,-479,794 -362,-778,-592 -581,508,540 --753,386,-329 -327,512,-340 -684,-758,727 --746,-438,720 --667,-795,-668 --778,415,-523 -648,576,476 --867,-744,-678 -317,523,-223 -579,507,487 -804,-753,814 --796,528,-357 --3,-47,5 --460,569,490 -420,-652,-617 --501,529,542 --858,-508,754 --690,-695,-617 - ---- scanner 28 --- -545,732,409 -848,671,-609 --531,473,545 --749,-478,-674 -353,-601,-696 --444,466,568 -477,-404,414 -827,656,-424 --10,-37,2 -494,772,394 --742,-463,-770 --554,-576,736 -757,672,-627 -450,-572,502 -538,757,550 -433,-533,-687 --639,438,-361 --650,471,-461 --522,377,653 -370,-349,-719 --555,-446,635 --720,555,-422 --755,-558,-611 --516,-679,627 -519,-482,449 - ---- scanner 29 --- --306,737,554 -668,707,-658 -762,-561,-580 --275,836,686 --780,-298,-597 --338,873,547 -822,576,779 -722,-587,-428 -798,639,-660 --687,-852,420 -783,591,-723 --273,368,-772 -552,-554,685 -767,715,674 -809,700,743 --354,426,-893 -544,-540,747 --740,-801,268 --623,-793,363 -673,-554,-562 --792,-422,-570 --376,360,-870 --775,-440,-720 -102,21,-46 -521,-501,797 - ---- scanner 30 --- --695,269,-473 --165,-59,-27 -700,-453,443 -770,-458,417 --546,-455,-391 --750,-462,725 --784,-558,663 -640,683,685 --498,720,420 -508,-970,-464 -450,315,-737 -792,-482,431 -520,358,-697 --747,-519,527 --523,-654,-343 -575,310,-736 --41,-184,111 -529,-844,-376 -617,670,671 --439,697,595 -504,-901,-331 --595,343,-409 --481,666,393 -632,689,454 --639,-591,-391 --691,308,-467 - ---- scanner 31 --- -822,509,-602 --593,-792,788 --444,772,466 -753,599,-549 -778,-605,620 -839,548,587 --527,713,-678 --687,-555,-826 -829,-505,597 -795,677,-514 --559,-862,676 --633,-821,571 --566,-542,-754 --447,715,664 -778,-648,-490 -919,480,596 -741,-541,-591 -53,-135,-49 --653,-547,-874 --612,684,-847 --410,676,528 -839,-556,797 -753,-522,-432 -902,732,619 --518,758,-724 - ---- scanner 32 --- --639,-722,-652 --332,635,547 -620,-713,690 --835,-591,489 --513,-602,-673 --458,357,-705 -820,393,-452 -688,403,-577 --491,-637,-664 -378,665,460 -692,-749,699 --472,438,-848 -355,842,494 -357,885,419 --683,-617,449 --505,456,-817 --559,629,573 --433,563,660 --701,-624,538 -807,-774,-672 -873,-696,-776 -92,44,-88 -615,-871,752 -712,400,-521 -862,-589,-645 - ---- scanner 33 --- -807,-310,365 -747,802,-660 --343,494,341 -787,845,-590 -459,817,455 -523,891,555 -592,-808,-627 --648,-580,-694 -735,-324,420 --705,-621,-855 -595,-831,-585 --621,490,-757 -10,32,-45 -786,850,-715 --345,-372,331 --637,-709,-781 -847,-327,341 --404,471,-772 --369,-322,437 --545,463,299 --370,440,358 -517,852,551 -501,-727,-552 --635,477,-780 --378,-453,317 - ---- scanner 34 --- -462,-498,474 -452,-352,604 -486,551,654 -398,-507,652 -391,-452,-510 --361,-360,604 -450,691,662 --753,-639,-758 -918,522,-549 -98,73,-86 --578,-304,611 -469,-395,-661 -858,562,-533 -477,690,552 -945,572,-411 --643,451,317 --498,-404,590 --46,163,-12 --691,745,-453 --767,612,331 --617,740,-667 --673,-746,-693 --718,-713,-712 --687,535,400 --699,828,-602 -501,-388,-475 - ---- scanner 35 --- -542,322,-585 -856,657,421 -470,-631,749 -478,-862,755 -410,-873,-387 --592,516,-331 -318,-885,-416 --869,530,770 --795,-655,554 -797,714,485 --604,-919,-496 --786,-553,693 -493,-645,736 -518,430,-736 --733,523,802 --35,-86,69 --374,515,-358 --659,-818,-534 --832,391,833 --593,-745,-386 --822,-545,553 -340,-899,-392 -469,364,-634 --576,487,-339 --84,28,-109 -805,809,368 - ---- scanner 36 --- --558,471,-344 --709,594,415 -723,-703,-309 --655,370,-254 -707,-771,-457 -414,743,-453 --459,408,-286 -401,854,-505 --13,92,44 --730,-535,-625 -552,-368,785 -584,-748,-326 --838,-481,-656 -597,591,528 --447,-287,927 --425,-301,903 -388,831,-342 --713,461,484 -608,623,489 -486,-441,933 --818,-559,-655 --517,-313,932 -600,678,633 --120,1,147 -497,-267,823 --688,506,541 - ---- scanner 37 --- -768,-432,-774 --809,-717,-611 -662,774,-471 --632,790,746 --492,782,710 -65,151,15 -454,-533,727 --513,-283,251 --503,-405,338 -511,-382,805 --436,704,-546 --631,680,719 --804,-718,-736 -447,-347,695 -411,732,744 -621,717,-632 --449,690,-569 --17,40,-126 -849,-523,-699 --430,473,-554 --463,-421,278 -557,602,734 -566,780,798 -872,-526,-741 -750,706,-545 --761,-678,-666 - ---- scanner 38 --- --662,-665,372 -643,910,848 --575,-544,-461 --694,776,-406 --737,621,-419 -341,-582,619 -757,819,-525 -536,-493,-789 -368,-637,747 -408,-647,694 -689,884,770 -740,919,765 --638,-818,411 --828,564,788 -383,-545,-854 -886,807,-622 --573,-640,-417 -821,867,-470 --643,-697,-527 --838,618,553 -491,-480,-803 --713,-759,430 --52,73,-21 --665,636,-471 --852,712,710 - ---- scanner 39 --- --827,583,978 -647,521,-591 --480,-628,-720 -85,-6,165 -364,-715,814 --785,756,-658 -662,469,-663 --763,-377,534 --526,-702,-685 -571,-660,-778 --577,-384,502 -719,-738,-754 -464,575,831 --705,573,891 -373,-798,717 --689,533,951 --728,-441,424 --571,751,-584 -665,-503,-764 -476,672,960 --74,20,-10 -507,456,-620 -416,520,895 -39,156,49 -399,-720,763 --545,-735,-640 --636,839,-666 diff --git a/inputs/test_input20_1_0 b/inputs/test_input20 similarity index 100% rename from inputs/test_input20_1_0 rename to inputs/test_input20 diff --git a/inputs/test_input20_1_1 b/inputs/test_input20_1_1 deleted file mode 100644 index 23527b3..0000000 --- a/inputs/test_input20_1_1 +++ /dev/null @@ -1,102 +0,0 @@ -###.#.##.##....##...##.#..##...#..##.#.#.#.##.##...#.##.#...#.#.#.#.#...##.#...#####..#...#.#.#...##.#.####.##.##.###......###.#.###...#..##.#..#..##.##.#..###.###.#.#...#.##.######..####..##..#.#.#####.##.###..###.#.#.#....##.#.####.....#..#..#.##.#.##...##.#...###......###.#....#..#......#.##.#..##.#.###.###.####.##..###.#...#.##.####.#.##..#.#..#.#.......#.####..#..##..###.####..##.#.##.###....#.###..####..##......###.##.#.#...#..####.##.#...#..###..##..####.###...#.#..##.#.###.#.....##..#...###..####... - -##..###.#.###..##.##..####.#..#.#.###..#.#.#....#.#.###...#.....#.##.##..#.####.##.#.####.#.#.....## -...#.#.###...###..##...#####..##..#..#.#..#.#...#.#..###...#..##.##....#.....#...########.######.##. -#...#.#.####....#....###..#.#.###.#.....####....###.#.###.#..###.###....##.##..#.##...##....##.##... -###..###.#..#######.....#..##.###..#####...##.###..#....##.##....####...#..###..###.#...##...###.### -#######.#........#####.##..##..#...#######..#.##...#.###...###...######...#####..#.#.#..#..#.#.#.#.. -..##.#.##.##.#...#.#.#........##.##.###..###.##.#.#.#.#..##.#.###..######..#.....#..#.###..#....#.#. -.#.....##.#...#.###...#.##..#.##.##.#.#.#####...###.#.##.###..#.#.#..#..##########.#.#####.##.#..##. -.#.#.##..#.#.####..#...#.#..##.########.#.###.#.#......##..########.####.##...###....###......#.#.## -##.#.#.#######..#....###...##.#.#.#..#.#.###.###..#....#..###....#.....##.####.##..##..##..#.###.... -.##..#######.######....#.#..#.......#.#.####.#.####.....#.####..##.#..##..##..#......#...###...#..#. -###.#..###..##..#.##...###.####...##........#..##.#.#.#.##...####...##..#..#.####......##..#..##.##. -#.#.##...#.##......#.......###.......##...#...#####.#.#..##..#..#####.###.######..###.###......##.## -#.#####.#.#..#...#.#..###.###.....###.##...#.##.##.###..#...##..##...#####...#.....##.#..####.#.###. -..######..###.#.#...#.#.##......###......#.#######..#.#....#.##....#..#.#.##....###.##.#.#...#...##. -##.##..#.##.##.#.#####.#####.##.#.##.#...##..##....##....###....##.###..##.###.#.#...##....##.#.##.# -.#.##.#.#.#.##...#.#.###.#...#.#....####.##.#..#####.#.#..######.##..#.#.#####....###..##..#.#...... -..###.....#.###.......#...#...##.#...##.##..##.##..##...###.#..#...##..#.#.#.##...#.#..#####.##..#.# -.##..#...#.##.##.#.###....##...#..####...##......###..##...#####.##..#..#.#..#####......#....#.##..# -.#.#.###.#...#.##.##.####...###.#.#..#...###.....##..#.#..###.##.#.#...#.##...###....##.#.##..#..### -.#..###.##.####.##..#..#.#.######..#.#..#...#####...##..#..##.#.#.##.##.#...###..##..##...#.##..#... -###.####...###.....#.#####.....#...###.##..#....#.####......#.#..##.#.#.####..#..#...#.#####.#.###.# -#....####...#..#..###...##...##.##....#.#.#....####.#..#.##.#.##.###.#..###.##..###..#.....####....# -.##..#....#..#..#....#...#...##.##..#..###.###...#######.##.##..##.#..#.#..#.#.#.#..####..#####...#. -#.###......#####.###..##.##.#...##.#.###..##..##.....#...########.#..#####......#..###..#.##...#.... -#....##...#.###..##...#..###.####..#.###...##.#.##..####..##.#.#####..#...######....#.##.#..#.....## -.##.#.#.###.#####...#....#......####.##..####..#.#.#.#.#..#.......###.#.....##..##...##..##...###.#. -.#...#.##..#.####.###.###....####..#.##.#....####..#..#...#.####.##.####.#.##.#.####..###......####. -..#.#...#.#.###.##...#...#.......#....#....###.#.......#.#..####.#.###.#.#....#.#.#..#.#..#...#..### -#...###.###.#...#........###...#.##..###.##.#.##..##.....##.#.##...####..#..#.#.##.####.....#.###### -.#.##..#.#.###.#.#.......##.#.##########.#.#.....#..#####.#.....#.#####..###.##......#.#.....####... -.#.#########....###..#.#######.#.....#.#..##...##...#.#####.##....#.#.#..##.....#.#.#.##.#.#..##..## -###.##.#.####.#...###.#.##..####.###...#######..###.#...#.#...##.####..#....####.####..####.#.###... -..##..#...#.#.##...#.###.#########.#..####..###.##..##.##..##...###.#..###...#..#.#..#.#####.###..## -.#.##...#..##.###.....####.#.....#.#.####.#....##..#....##.##.##..#.###.###.####..##..##..##...##### -.##.#.#..####.#.#...#..###.#.##..#.#.###.#..#...###.....#....###..#.#.#.##.###.###..##.#.#.###.##.#. -#..#####.####.....#.#.#...##.#..#.#....#.#####.#.#####...#.#.#.####..#.#####..##.#..#.###..####.#### -#.###...#...#####.###.#.##..##.#.#..##..#..#.##.##.#.....##....#####..##.#.##..#.#......#####.#..#.# -###......#........####.#####..###....#.#.##..#.#.##.##.##.###......###.####...##...##.##.##.#.#.#### -##.#.#.......###..#.##.##....#.####...#..#....#...#.#..#..#..###..#.####.###.##.#..#######..#.#...## -..#....##...#..#...#..#.##.##.###.#.##.####....#..#.#.#.#####.#..#.#.....###.#...###.##.#...#..#.### -#..#..#.....#..###..##.#.##..##.#.#.###.##..##..#######.#..#.#..#.#..##.#...#.#.#.###.##..#.#..####. -..#...##..#.#.##..#.#..#..##..#.###..#########....##...#####.###..#...#.#..##.##......#.##.#..#..... -..##.##....#..#.#..#..####..####..#...##...#..##.##..##..##.#.##.###.............###...###..#####.## -...#####...#..#.#.#..#.##...####.####..###.######..#..###..#...##.###...##.##.#.#######.....#..###.# -####......#.#.#...#####.#.##.#...##.....##..#..#......##.###.###..###.####.##.##..#...###.####..###. -#####....##..##.......#..#...###....#..##.#..#.#.#...#..#..#.#.##.#####...###.....###..#..##....##.# -#.####.##...#.###.#.#.#..###.#..#..###..#.##...#...##..##.#....###......#...#..######.#.#....#..###. -####....##...#.#..###.##.#.....#..#...####.....#...##....####..##.##..#####..##.#.#....###....#.#..# -##..##.##....#####....#..#..####.#####.#.##.###.#...###..#....#..##.#.....#.#..#.###..##.#.#..##.#.. -.##...#.##..#.#.####.##...#...##.#.######..#####.#...#..##.....####...#..########..#.##.....#.#....# -#.#..##..#.#...#...#.#.##..#.#.#.#..#.###..##.#..#.###.....#####.##.#######.###..#..##..#...#.####.# -.#..####.###....##.#..#.#.#.###.##..###..#....##.##.#.######.##...#...#.#.###..#######.###.###.#..#. -.#....##.##..##.#......####.##...####.####.###.###.##.###....#..#.#...##.####.###.###...#..#...##.## -#.##..##.##...#.#####..###....##.####.###.#.#.###..#....##.#.#.#..#.##.###.########.##.#..##..##.##. -.#...#.##.###......#.#####...##..#.#...##.##.....#.##.##.#.#...#..###....####....##....#.#####.#..#. -###..###.####.##..##...#...#.#..###..##..#..#.#####...####..###.#..##..#.###..##....#..#..#.#.#.#... -##.#####..#..#....#.#.##.#.####...####.#..#.....#..##.####......#.#######.##..##..###..#.#.##....### -#.####..#...#..#.##..#.#.....#..#.##.#.#..#...#....##.......#.#.#.#########.######.####....#....#..# -...##...#.#.##...#..##.#.#.#.#..#.#.....#....##.##.###.####.####....#.#.###.##...#.##.....###...##.# -....#.#.#..##....##.#..#.##..#..#.#.###.#..#.#####.#.##.##.##..#..####..###.#.##..#....#.##..###.### -.##.....#.#.......#.###.####.....#.###..##..###..####.##.######........####.##.#.##...##.###..#.###. -.###..#..#.#.#.########..#..#....#.#.#.#...#..#.#...#.###..##.###.####...#....#.#.#####.#...####.### -.##......##.###.###....#.##.#####.#....##..#####.##.##.#.....###...##.....##.##.#..###.....###.#.#.. -....#.##.#.....###.#..#.####...#####...######.##.##..#.#..#.#.#...#.#.##...##....####...##.#.#.#.##. -.#....##.#.#...##.#.........##..#.#......#.#..#.......###.#.###....##.#...#..#.#.#.#.###...##..##### -#..#.#.....#..###.###.#...##..##.#...####..###.#.#..###.###..#..#.#.#.########.#....#.####....####.# -.#..#####.######.#..#..#.##.######.#.###.###.###..###.....#...#.###.###....#.#.##.#..#..#.#...#.##.# -#.#..#..#.#.#.#....#......###...#..##.##...##.####.#.#....#...#.#.##....##.##..#.#.#....####..#.#.#. -..#...##.###......###.#..#.#...##.#.###.###.#.####......#..#...#..######.#.##.########..#..#.#...... -....##.#.##.##..#..###.....###...#.#.##...#.######....###...##.##..##..##.##....#.#.##..###...##.#.# -####.#.###.###.###.#.####..#.......######..##....####.#.####......#...#.#####..#.###..######.#.#.#.# -#.........##...#.#.#####...#.##..#.#..#.##.##..#.###..##.#..###.##..###.#..######..#.####...#.####.# -..#.#.####....#.#####.###....###..#...#...#.#..###.##.##..#.....##......##.#...#.###...##.#########. -##..####.....##.#......#..#....##.##.#..##.#..##.##...#.#...#.#..##.....######.#.##..#...#....##.#.# -.#.##..#.##.#...##...##..##.#.#..####......#...######.###.###.##..#.#.........###..#.#.#......#....# -##.###.###..#....#....#...#.##.#.####..#...#.#.##.#.##.#.#...#.#.#...##..#....######....####...#.#.# -.####.#.....#####..#....#.#.##..##..#...#.####.##.#..###..###.#...###.####...##.##..#....#.#.#..##.. -####.#....##..####...#.#.#..###..#####.#.#.#..##.####.##.#......###.#...#.##.#......#..##.#...#.##.# -#....##.....#.##.#####..#.#.###....#.#...#.####.#.#...###..##...#.###.###......#.#...#..##..##.##### -##.#..#.##..###.#.######...#.#.#...#......###......#..#..##....###.####..##.###...##.#...#..#.##.... -.##...#.#.####.#.##..#.#.....##....#.##.###.#.#...##.####...#.#..#.###...##.######.##.###.....#...#. -##...##.#...#.#......##.#..#...##.######.####.#.##.##.###.##..#........##.#.#...#.#.##.#..##.#.#.#.# -#..##.#..##.#.##..##.#...###...#####.##...######...#.##.##..#.##.#.#..#########.#......###.#.##...## -..#.#.#..###......##.##.###.##.##.##.##.......##....#####..####.##..##.##..#....##....#......#..#..# -...###..##....##..#.#######..######..#............#.....#..#.#.#....####.#.##.#.#.....###...#.#...#. -###.#....#...##....#.#..##....###..##..###..#.#..##.##......#....#...#...####.....#..##....##..#..## -#.##.#...###.##..#..#.######....###.#...#....#.###......#.###.#...#.#..##..##..#....#.....#...##.### -...##...##....##.....#....#.#####.##..##.###.###.#.....#..#...#.####.#.#..#..#.###.##....##..#..#..# -##.##.###..#.#.....#.....##...#....#..#........#..#.##.###..#.........#...#.##.##.###..#...#####..## -..###.#.#.####.....####...#.#..#....##.###..###.##...#.#...#.####..####.#.#..#.#####.#......#.###... -.####....###.#...###...#.##.####.....#.#....#..#.##..#.#.#....##.#..#.###..##..#..#.#.####.#....#### -###.#....#..##..##.####.##.#.#....##.......#..#......##..#.##.#####..###..#....###.#.........#..#.#. -..#....##...#...###.##.#..#..#....##.#####..##..#.####...#.#..##..##....##...##..###.#.###.##.#..### -......##.#######...#...#..##...##.#..#.......#..##...#.#.###.###..##.#...###..##.##.#.##.#..######.. -##..#...#.###..####.####..###.#.##..#.#.##.#..#.##.....##..###...#.##..#....###..##...###.....#.#... -.##.#.#...#.#..#.#######.##.#.#..#..###..#.##.#..#####.#.###.###..####....#.####.....###...###..##.# -#...#...##.###.#..##..#..##...#.###.....#..####..#..#.#.#.##.#.#.##..#.##.#...##..###.#..#.#..#.#... -#.#..##....#.#.##.##..##..#.##.#####.##..####.#.#.#......#.######.......##...#...#.##.#..####..#.### -...#..#.....##.#.#.###.....######..#.##.....##....##..###.####..##.##.###.#.....###.###.#.#..##..#.. -##.#...##.#..###.#.#.##..#...###..##.###.###...#...#.#.##.#.##.#...####.####..###..#.##.#.##..##.##. diff --git a/inputs/test_input20_2_0 b/inputs/test_input20_2_0 deleted file mode 100644 index 8fa4bd4..0000000 --- a/inputs/test_input20_2_0 +++ /dev/null @@ -1,7 +0,0 @@ -..#.#..#####.#.#.#.###.##.....###.##.#..###.####..#####..#....#..#..##..###..######.###...####..#..#####..##..#.#####...##.#.#..#.##..#.#......#.###.######.###.####...#.##.##..#..#..#####.....#.#....###..#.##......#.....#..#..#..##..#...##.######.####.####.#.#...#.......#..#.#.#...####.##.#......#..#...##.#.##..#...##.#.##..###.#......#.#.......#.#.#.####.###.##...#.....####.#..#..#.##.#....##..#.####....##...##..#...#......#.#.......#.......##..####..#...#.#.#...##..#.#..###..#####........#..####......#..# - -#..#. -#.... -##..# -..#.. -..### diff --git a/inputs/test_input20_2_1 b/inputs/test_input20_2_1 deleted file mode 100644 index 23527b3..0000000 --- a/inputs/test_input20_2_1 +++ /dev/null @@ -1,102 +0,0 @@ -###.#.##.##....##...##.#..##...#..##.#.#.#.##.##...#.##.#...#.#.#.#.#...##.#...#####..#...#.#.#...##.#.####.##.##.###......###.#.###...#..##.#..#..##.##.#..###.###.#.#...#.##.######..####..##..#.#.#####.##.###..###.#.#.#....##.#.####.....#..#..#.##.#.##...##.#...###......###.#....#..#......#.##.#..##.#.###.###.####.##..###.#...#.##.####.#.##..#.#..#.#.......#.####..#..##..###.####..##.#.##.###....#.###..####..##......###.##.#.#...#..####.##.#...#..###..##..####.###...#.#..##.#.###.#.....##..#...###..####... - -##..###.#.###..##.##..####.#..#.#.###..#.#.#....#.#.###...#.....#.##.##..#.####.##.#.####.#.#.....## -...#.#.###...###..##...#####..##..#..#.#..#.#...#.#..###...#..##.##....#.....#...########.######.##. -#...#.#.####....#....###..#.#.###.#.....####....###.#.###.#..###.###....##.##..#.##...##....##.##... -###..###.#..#######.....#..##.###..#####...##.###..#....##.##....####...#..###..###.#...##...###.### -#######.#........#####.##..##..#...#######..#.##...#.###...###...######...#####..#.#.#..#..#.#.#.#.. -..##.#.##.##.#...#.#.#........##.##.###..###.##.#.#.#.#..##.#.###..######..#.....#..#.###..#....#.#. -.#.....##.#...#.###...#.##..#.##.##.#.#.#####...###.#.##.###..#.#.#..#..##########.#.#####.##.#..##. -.#.#.##..#.#.####..#...#.#..##.########.#.###.#.#......##..########.####.##...###....###......#.#.## -##.#.#.#######..#....###...##.#.#.#..#.#.###.###..#....#..###....#.....##.####.##..##..##..#.###.... -.##..#######.######....#.#..#.......#.#.####.#.####.....#.####..##.#..##..##..#......#...###...#..#. -###.#..###..##..#.##...###.####...##........#..##.#.#.#.##...####...##..#..#.####......##..#..##.##. -#.#.##...#.##......#.......###.......##...#...#####.#.#..##..#..#####.###.######..###.###......##.## -#.#####.#.#..#...#.#..###.###.....###.##...#.##.##.###..#...##..##...#####...#.....##.#..####.#.###. -..######..###.#.#...#.#.##......###......#.#######..#.#....#.##....#..#.#.##....###.##.#.#...#...##. -##.##..#.##.##.#.#####.#####.##.#.##.#...##..##....##....###....##.###..##.###.#.#...##....##.#.##.# -.#.##.#.#.#.##...#.#.###.#...#.#....####.##.#..#####.#.#..######.##..#.#.#####....###..##..#.#...... -..###.....#.###.......#...#...##.#...##.##..##.##..##...###.#..#...##..#.#.#.##...#.#..#####.##..#.# -.##..#...#.##.##.#.###....##...#..####...##......###..##...#####.##..#..#.#..#####......#....#.##..# -.#.#.###.#...#.##.##.####...###.#.#..#...###.....##..#.#..###.##.#.#...#.##...###....##.#.##..#..### -.#..###.##.####.##..#..#.#.######..#.#..#...#####...##..#..##.#.#.##.##.#...###..##..##...#.##..#... -###.####...###.....#.#####.....#...###.##..#....#.####......#.#..##.#.#.####..#..#...#.#####.#.###.# -#....####...#..#..###...##...##.##....#.#.#....####.#..#.##.#.##.###.#..###.##..###..#.....####....# -.##..#....#..#..#....#...#...##.##..#..###.###...#######.##.##..##.#..#.#..#.#.#.#..####..#####...#. -#.###......#####.###..##.##.#...##.#.###..##..##.....#...########.#..#####......#..###..#.##...#.... -#....##...#.###..##...#..###.####..#.###...##.#.##..####..##.#.#####..#...######....#.##.#..#.....## -.##.#.#.###.#####...#....#......####.##..####..#.#.#.#.#..#.......###.#.....##..##...##..##...###.#. -.#...#.##..#.####.###.###....####..#.##.#....####..#..#...#.####.##.####.#.##.#.####..###......####. -..#.#...#.#.###.##...#...#.......#....#....###.#.......#.#..####.#.###.#.#....#.#.#..#.#..#...#..### -#...###.###.#...#........###...#.##..###.##.#.##..##.....##.#.##...####..#..#.#.##.####.....#.###### -.#.##..#.#.###.#.#.......##.#.##########.#.#.....#..#####.#.....#.#####..###.##......#.#.....####... -.#.#########....###..#.#######.#.....#.#..##...##...#.#####.##....#.#.#..##.....#.#.#.##.#.#..##..## -###.##.#.####.#...###.#.##..####.###...#######..###.#...#.#...##.####..#....####.####..####.#.###... -..##..#...#.#.##...#.###.#########.#..####..###.##..##.##..##...###.#..###...#..#.#..#.#####.###..## -.#.##...#..##.###.....####.#.....#.#.####.#....##..#....##.##.##..#.###.###.####..##..##..##...##### -.##.#.#..####.#.#...#..###.#.##..#.#.###.#..#...###.....#....###..#.#.#.##.###.###..##.#.#.###.##.#. -#..#####.####.....#.#.#...##.#..#.#....#.#####.#.#####...#.#.#.####..#.#####..##.#..#.###..####.#### -#.###...#...#####.###.#.##..##.#.#..##..#..#.##.##.#.....##....#####..##.#.##..#.#......#####.#..#.# -###......#........####.#####..###....#.#.##..#.#.##.##.##.###......###.####...##...##.##.##.#.#.#### -##.#.#.......###..#.##.##....#.####...#..#....#...#.#..#..#..###..#.####.###.##.#..#######..#.#...## -..#....##...#..#...#..#.##.##.###.#.##.####....#..#.#.#.#####.#..#.#.....###.#...###.##.#...#..#.### -#..#..#.....#..###..##.#.##..##.#.#.###.##..##..#######.#..#.#..#.#..##.#...#.#.#.###.##..#.#..####. -..#...##..#.#.##..#.#..#..##..#.###..#########....##...#####.###..#...#.#..##.##......#.##.#..#..... -..##.##....#..#.#..#..####..####..#...##...#..##.##..##..##.#.##.###.............###...###..#####.## -...#####...#..#.#.#..#.##...####.####..###.######..#..###..#...##.###...##.##.#.#######.....#..###.# -####......#.#.#...#####.#.##.#...##.....##..#..#......##.###.###..###.####.##.##..#...###.####..###. -#####....##..##.......#..#...###....#..##.#..#.#.#...#..#..#.#.##.#####...###.....###..#..##....##.# -#.####.##...#.###.#.#.#..###.#..#..###..#.##...#...##..##.#....###......#...#..######.#.#....#..###. -####....##...#.#..###.##.#.....#..#...####.....#...##....####..##.##..#####..##.#.#....###....#.#..# -##..##.##....#####....#..#..####.#####.#.##.###.#...###..#....#..##.#.....#.#..#.###..##.#.#..##.#.. -.##...#.##..#.#.####.##...#...##.#.######..#####.#...#..##.....####...#..########..#.##.....#.#....# -#.#..##..#.#...#...#.#.##..#.#.#.#..#.###..##.#..#.###.....#####.##.#######.###..#..##..#...#.####.# -.#..####.###....##.#..#.#.#.###.##..###..#....##.##.#.######.##...#...#.#.###..#######.###.###.#..#. -.#....##.##..##.#......####.##...####.####.###.###.##.###....#..#.#...##.####.###.###...#..#...##.## -#.##..##.##...#.#####..###....##.####.###.#.#.###..#....##.#.#.#..#.##.###.########.##.#..##..##.##. -.#...#.##.###......#.#####...##..#.#...##.##.....#.##.##.#.#...#..###....####....##....#.#####.#..#. -###..###.####.##..##...#...#.#..###..##..#..#.#####...####..###.#..##..#.###..##....#..#..#.#.#.#... -##.#####..#..#....#.#.##.#.####...####.#..#.....#..##.####......#.#######.##..##..###..#.#.##....### -#.####..#...#..#.##..#.#.....#..#.##.#.#..#...#....##.......#.#.#.#########.######.####....#....#..# -...##...#.#.##...#..##.#.#.#.#..#.#.....#....##.##.###.####.####....#.#.###.##...#.##.....###...##.# -....#.#.#..##....##.#..#.##..#..#.#.###.#..#.#####.#.##.##.##..#..####..###.#.##..#....#.##..###.### -.##.....#.#.......#.###.####.....#.###..##..###..####.##.######........####.##.#.##...##.###..#.###. -.###..#..#.#.#.########..#..#....#.#.#.#...#..#.#...#.###..##.###.####...#....#.#.#####.#...####.### -.##......##.###.###....#.##.#####.#....##..#####.##.##.#.....###...##.....##.##.#..###.....###.#.#.. -....#.##.#.....###.#..#.####...#####...######.##.##..#.#..#.#.#...#.#.##...##....####...##.#.#.#.##. -.#....##.#.#...##.#.........##..#.#......#.#..#.......###.#.###....##.#...#..#.#.#.#.###...##..##### -#..#.#.....#..###.###.#...##..##.#...####..###.#.#..###.###..#..#.#.#.########.#....#.####....####.# -.#..#####.######.#..#..#.##.######.#.###.###.###..###.....#...#.###.###....#.#.##.#..#..#.#...#.##.# -#.#..#..#.#.#.#....#......###...#..##.##...##.####.#.#....#...#.#.##....##.##..#.#.#....####..#.#.#. -..#...##.###......###.#..#.#...##.#.###.###.#.####......#..#...#..######.#.##.########..#..#.#...... -....##.#.##.##..#..###.....###...#.#.##...#.######....###...##.##..##..##.##....#.#.##..###...##.#.# -####.#.###.###.###.#.####..#.......######..##....####.#.####......#...#.#####..#.###..######.#.#.#.# -#.........##...#.#.#####...#.##..#.#..#.##.##..#.###..##.#..###.##..###.#..######..#.####...#.####.# -..#.#.####....#.#####.###....###..#...#...#.#..###.##.##..#.....##......##.#...#.###...##.#########. -##..####.....##.#......#..#....##.##.#..##.#..##.##...#.#...#.#..##.....######.#.##..#...#....##.#.# -.#.##..#.##.#...##...##..##.#.#..####......#...######.###.###.##..#.#.........###..#.#.#......#....# -##.###.###..#....#....#...#.##.#.####..#...#.#.##.#.##.#.#...#.#.#...##..#....######....####...#.#.# -.####.#.....#####..#....#.#.##..##..#...#.####.##.#..###..###.#...###.####...##.##..#....#.#.#..##.. -####.#....##..####...#.#.#..###..#####.#.#.#..##.####.##.#......###.#...#.##.#......#..##.#...#.##.# -#....##.....#.##.#####..#.#.###....#.#...#.####.#.#...###..##...#.###.###......#.#...#..##..##.##### -##.#..#.##..###.#.######...#.#.#...#......###......#..#..##....###.####..##.###...##.#...#..#.##.... -.##...#.#.####.#.##..#.#.....##....#.##.###.#.#...##.####...#.#..#.###...##.######.##.###.....#...#. -##...##.#...#.#......##.#..#...##.######.####.#.##.##.###.##..#........##.#.#...#.#.##.#..##.#.#.#.# -#..##.#..##.#.##..##.#...###...#####.##...######...#.##.##..#.##.#.#..#########.#......###.#.##...## -..#.#.#..###......##.##.###.##.##.##.##.......##....#####..####.##..##.##..#....##....#......#..#..# -...###..##....##..#.#######..######..#............#.....#..#.#.#....####.#.##.#.#.....###...#.#...#. -###.#....#...##....#.#..##....###..##..###..#.#..##.##......#....#...#...####.....#..##....##..#..## -#.##.#...###.##..#..#.######....###.#...#....#.###......#.###.#...#.#..##..##..#....#.....#...##.### -...##...##....##.....#....#.#####.##..##.###.###.#.....#..#...#.####.#.#..#..#.###.##....##..#..#..# -##.##.###..#.#.....#.....##...#....#..#........#..#.##.###..#.........#...#.##.##.###..#...#####..## -..###.#.#.####.....####...#.#..#....##.###..###.##...#.#...#.####..####.#.#..#.#####.#......#.###... -.####....###.#...###...#.##.####.....#.#....#..#.##..#.#.#....##.#..#.###..##..#..#.#.####.#....#### -###.#....#..##..##.####.##.#.#....##.......#..#......##..#.##.#####..###..#....###.#.........#..#.#. -..#....##...#...###.##.#..#..#....##.#####..##..#.####...#.#..##..##....##...##..###.#.###.##.#..### -......##.#######...#...#..##...##.#..#.......#..##...#.#.###.###..##.#...###..##.##.#.##.#..######.. -##..#...#.###..####.####..###.#.##..#.#.##.#..#.##.....##..###...#.##..#....###..##...###.....#.#... -.##.#.#...#.#..#.#######.##.#.#..#..###..#.##.#..#####.#.###.###..####....#.####.....###...###..##.# -#...#...##.###.#..##..#..##...#.###.....#..####..#..#.#.#.##.#.#.##..#.##.#...##..###.#..#.#..#.#... -#.#..##....#.#.##.##..##..#.##.#####.##..####.#.#.#......#.######.......##...#...#.##.#..####..#.### -...#..#.....##.#.#.###.....######..#.##.....##....##..###.####..##.##.###.#.....###.###.#.#..##..#.. -##.#...##.#..###.#.#.##..#...###..##.###.###...#...#.#.##.#.##.#...####.####..###..#.##.#.##..##.##. diff --git a/inputs/test_input21_1_0 b/inputs/test_input21 similarity index 100% rename from inputs/test_input21_1_0 rename to inputs/test_input21 diff --git a/inputs/test_input21_1_1 b/inputs/test_input21_1_1 deleted file mode 100644 index 5ad5c4a..0000000 --- a/inputs/test_input21_1_1 +++ /dev/null @@ -1,2 +0,0 @@ -Player 1 starting position: 7 -Player 2 starting position: 3 diff --git a/inputs/test_input21_2_0 b/inputs/test_input21_2_0 deleted file mode 100644 index 3f69194..0000000 --- a/inputs/test_input21_2_0 +++ /dev/null @@ -1,2 +0,0 @@ -Player 1 starting position: 4 -Player 2 starting position: 8 diff --git a/inputs/test_input21_2_1 b/inputs/test_input21_2_1 deleted file mode 100644 index 5ad5c4a..0000000 --- a/inputs/test_input21_2_1 +++ /dev/null @@ -1,2 +0,0 @@ -Player 1 starting position: 7 -Player 2 starting position: 3 diff --git a/inputs/test_input22_1_2 b/inputs/test_input22_1_2 deleted file mode 100644 index 47eebd0..0000000 --- a/inputs/test_input22_1_2 +++ /dev/null @@ -1,420 +0,0 @@ -on x=-20..29,y=-31..16,z=-20..27 -on x=-43..1,y=-20..33,z=-45..2 -on x=-36..17,y=-6..38,z=-39..14 -on x=-30..15,y=-36..15,z=-28..23 -on x=-18..29,y=-19..28,z=-7..46 -on x=-30..19,y=-13..36,z=0..46 -on x=-26..24,y=-38..11,z=-43..11 -on x=-38..10,y=-48..3,z=-14..31 -on x=-8..41,y=-9..45,z=-43..9 -on x=-10..39,y=-10..35,z=-19..32 -off x=5..21,y=28..42,z=33..48 -on x=-15..38,y=-14..40,z=-19..35 -off x=-31..-20,y=5..22,z=-7..10 -on x=-19..27,y=-38..14,z=-2..44 -off x=-39..-29,y=-25..-6,z=-5..13 -on x=-15..33,y=-41..7,z=-19..29 -off x=-46..-35,y=23..39,z=39..48 -on x=-34..13,y=-4..41,z=-20..30 -off x=-26..-12,y=-24..-5,z=27..39 -on x=-38..16,y=-43..10,z=-10..44 -on x=39030..44441,y=-57340..-34903,z=-51001..-45918 -on x=-16916..-4407,y=66566..94089,z=15828..36189 -on x=40389..50968,y=27757..50078,z=45520..59567 -on x=52..17188,y=30746..49029,z=69338..83167 -on x=8979..24827,y=-49316..-32553,z=-69008..-49926 -on x=-52775..-23858,y=52208..67627,z=-1264..18587 -on x=-33325..-5132,y=45958..70760,z=46267..56578 -on x=-42535..-21394,y=-55593..-32080,z=-65133..-51935 -on x=1749..16247,y=23252..35648,z=72579..75405 -on x=3243..26696,y=-6805..9966,z=62726..89126 -on x=34445..60971,y=28535..54294,z=41201..66461 -on x=-60390..-40467,y=-9145..2334,z=-79017..-65419 -on x=19536..44698,y=-78529..-58639,z=-26591..-2743 -on x=-64983..-59435,y=37204..45832,z=-21323..-8109 -on x=-18254..13006,y=-85804..-67448,z=-5043..13222 -on x=24464..32132,y=48558..68460,z=37217..62520 -on x=-17139..-10612,y=-19845..-3378,z=-77537..-57882 -on x=63128..71168,y=638..22628,z=-57064..-32579 -on x=-58884..-26787,y=27216..32401,z=-66811..-59472 -on x=36497..46350,y=-33880..-21305,z=-67604..-45789 -on x=42798..71814,y=36207..61646,z=-12151..19686 -on x=-55625..-29373,y=-82609..-49685,z=-16861..2524 -on x=-70425..-44308,y=20211..33460,z=47801..72055 -on x=26463..42176,y=64489..76471,z=-18426..11307 -on x=-78556..-58072,y=-16997..4971,z=-34641..-18128 -on x=-58623..-40141,y=-55835..-42509,z=-46653..-22925 -on x=23300..41375,y=-75579..-50755,z=18777..52822 -on x=-82799..-60920,y=18318..41772,z=-24353..-5518 -on x=10106..26240,y=75368..78834,z=304..7531 -on x=46079..73686,y=49894..71872,z=7057..19259 -on x=-81301..-63868,y=-25735..-2511,z=1130..19046 -on x=27141..55106,y=20320..49740,z=-74571..-44379 -on x=38469..55562,y=-70078..-44434,z=-31742..1553 -on x=1417..27204,y=-90515..-53178,z=-41560..-22873 -on x=-18898..-6680,y=63448..97500,z=-11360..9193 -on x=-4654..19272,y=-84171..-70178,z=7893..12893 -on x=-41788..-26904,y=57763..62948,z=27359..39845 -on x=56892..76482,y=-29393..225,z=-57865..-40940 -on x=-1653..17579,y=78559..81298,z=2133..24653 -on x=31665..60531,y=-64402..-26646,z=47007..57640 -on x=14454..37042,y=-77500..-52117,z=32205..48279 -on x=-57102..-19683,y=-973..12460,z=-78522..-69140 -on x=33500..64982,y=45233..71019,z=-24872..10888 -on x=-24545..-2431,y=12207..36685,z=56701..84825 -on x=-73898..-40823,y=30235..40637,z=37337..48053 -on x=16711..35862,y=-75053..-53757,z=-45205..-39330 -on x=40041..62094,y=35279..55557,z=3924..28119 -on x=2591..27844,y=-77111..-61171,z=-42150..-24689 -on x=63851..87586,y=717..22608,z=-17708..14683 -on x=59776..65768,y=-38309..-516,z=30512..61778 -on x=27764..52076,y=48282..73996,z=34786..42408 -on x=-6770..29847,y=-69740..-50465,z=38985..60900 -on x=31444..39135,y=-32209..-8484,z=-72646..-56369 -on x=-71756..-38220,y=-60571..-46749,z=-40149..-37116 -on x=-44580..-14826,y=55547..79253,z=-43870..-13364 -on x=-72389..-55149,y=-27768..-3839,z=-70486..-37702 -on x=-52435..-20439,y=66678..77085,z=10575..29461 -on x=36706..63235,y=31858..52461,z=-40879..-24849 -on x=-74831..-52959,y=37404..69189,z=6622..22185 -on x=-6413..1462,y=-48386..-19347,z=-83322..-70763 -on x=-81857..-58552,y=-27629..-26033,z=-45105..-28564 -on x=-58671..-44911,y=-78607..-52567,z=-30993..-11513 -on x=-62873..-36200,y=49607..83092,z=-29998..-10433 -on x=-23969..-5107,y=-45673..-24154,z=56204..73025 -on x=-29554..-11201,y=-46583..-24400,z=-83575..-47182 -on x=30702..37050,y=36949..66718,z=-57136..-36552 -on x=-10148..10475,y=-5870..17463,z=-95526..-59913 -on x=-31448..-284,y=-48605..-24327,z=45815..82564 -on x=-84567..-61564,y=-2089..26015,z=4033..7133 -on x=-20326..-3284,y=-46016..-26462,z=54080..72758 -on x=41252..55684,y=-49807..-22386,z=-60941..-42418 -on x=62205..71265,y=-49762..-34225,z=-7877..12079 -on x=-89292..-72013,y=-31405..-14706,z=-20505..-2948 -on x=-41776..-20243,y=62722..70486,z=-30024..-1858 -on x=18228..32393,y=52030..71998,z=25205..59016 -on x=48369..72370,y=37060..54834,z=-38532..-8676 -on x=-55253..-28458,y=34161..57274,z=-72149..-39309 -on x=-72798..-51822,y=-30694..-2186,z=45952..57079 -on x=4729..43529,y=17089..31573,z=-85650..-72780 -on x=42217..74138,y=45655..63639,z=-36741..-10603 -on x=27669..49424,y=46631..69265,z=29715..51656 -on x=20949..27668,y=70167..86001,z=-32923..-14819 -on x=-23923..-8817,y=39080..50191,z=51545..61395 -on x=57073..77486,y=3426..21172,z=-62437..-39863 -on x=-89626..-67976,y=-34501..-16927,z=-15996..-15568 -on x=32922..59175,y=-54409..-33698,z=27932..67481 -on x=6501..33987,y=-83062..-63997,z=34738..39766 -on x=-37545..-29183,y=56421..70544,z=15177..40320 -on x=-24691..-17056,y=23161..33353,z=71111..74660 -on x=54499..86451,y=-38734..-28186,z=-39003..-13356 -on x=-75142..-47934,y=-8956..5914,z=-69975..-39192 -on x=-52665..-35218,y=-43596..-32734,z=41665..50848 -on x=8661..29356,y=-2489..18373,z=67501..85297 -on x=70367..80510,y=-18450..8966,z=-16229..-1404 -on x=-22779..13139,y=67289..82767,z=-47475..-24313 -on x=65450..80932,y=30530..50652,z=-5236..9932 -on x=-75105..-47424,y=6980..19151,z=-59147..-33035 -on x=53516..85797,y=-45107..-16806,z=-6148..6567 -on x=-12172..15284,y=-8232..-651,z=-96433..-60578 -on x=21192..31932,y=4914..19821,z=64567..89357 -on x=-12556..401,y=-41319..-23843,z=56314..83752 -on x=-67754..-38533,y=58429..62877,z=2065..21664 -on x=27156..52486,y=42626..54351,z=53276..73831 -on x=40263..58892,y=-49247..-37913,z=27873..63166 -on x=-37545..-20533,y=-74721..-58538,z=-36678..-6054 -on x=-6634..18285,y=-49486..-27921,z=54817..82046 -on x=-78134..-60334,y=41826..44416,z=-424..9094 -on x=43122..63245,y=-32977..-10981,z=-54994..-41397 -on x=-22854..-292,y=32960..46443,z=53510..76181 -on x=30238..43872,y=-40593..-18910,z=-86078..-61269 -on x=-70060..-41130,y=-39536..-15734,z=32095..55828 -on x=-10129..21231,y=1392..21144,z=71205..80083 -on x=-46859..-20417,y=59982..86006,z=-594..30137 -on x=16908..34847,y=60881..64477,z=25446..39611 -on x=27114..34350,y=-19000..586,z=52975..78044 -on x=-92238..-66545,y=-25917..-14477,z=-10207..15335 -on x=-53332..-34657,y=55475..68792,z=-16193..2956 -on x=26074..55119,y=-64147..-39479,z=46625..60804 -on x=-81792..-72186,y=-27516..-7356,z=-17091..-5153 -on x=21510..48123,y=57655..80143,z=-19988..-5157 -on x=-42070..-34033,y=-71663..-58064,z=10623..30183 -on x=-31069..-22542,y=-20053..-15967,z=61201..75887 -on x=-7921..15811,y=-12282..11801,z=63547..83196 -on x=-35651..-2431,y=-991..11371,z=67904..92772 -on x=68087..82584,y=-30799..-4376,z=-14648..1775 -on x=-33666..-2580,y=-90327..-66216,z=12731..31899 -on x=-73566..-47484,y=-59756..-44345,z=4776..10325 -on x=-76837..-59779,y=-4385..14932,z=-50074..-38480 -on x=33388..61934,y=-43398..-23303,z=38162..63975 -on x=-33550..-2570,y=-33148..-18287,z=67115..84110 -on x=-10092..6623,y=30054..46208,z=69320..86310 -on x=-7255..2960,y=-93969..-76905,z=20851..28009 -on x=-38421..-21411,y=-85820..-61665,z=-4060..25092 -on x=-18176..9627,y=-8802..7892,z=-87302..-62746 -on x=5598..36521,y=-87872..-73080,z=-38163..-13005 -on x=-33275..-7298,y=15352..36017,z=-85579..-56770 -on x=-29516..5542,y=11240..19634,z=76852..97446 -on x=20714..56270,y=7948..33080,z=49079..85136 -on x=-93061..-64854,y=-33327..-3705,z=-5545..16277 -on x=47448..78391,y=-51628..-27895,z=-32794..-25880 -on x=4227..30699,y=39768..45888,z=54839..83597 -on x=70777..84001,y=7439..22803,z=-5976..17310 -on x=-42553..-25757,y=-58473..-50108,z=38467..59251 -on x=-71403..-62999,y=-38228..-12575,z=36781..47496 -on x=50888..79519,y=-54783..-30829,z=4861..38061 -on x=25418..41498,y=-81881..-54971,z=19352..43517 -on x=64258..79955,y=-8788..12997,z=11393..35099 -on x=-67002..-53520,y=27844..57263,z=2143..17726 -on x=-78306..-72249,y=-22931..-6153,z=19549..33991 -on x=-26011..4273,y=18963..28916,z=64435..85991 -on x=10172..23648,y=-25120..-10137,z=-89821..-59863 -on x=-7255..13764,y=-64279..-54195,z=-61984..-34271 -on x=-30268..-1307,y=-79485..-52163,z=26816..44965 -on x=-87805..-59710,y=-2902..27442,z=18293..48553 -on x=46421..69704,y=-30630..-18729,z=-60214..-49371 -on x=-62224..-38282,y=53137..66173,z=-7492..21445 -on x=-34677..-14017,y=71034..83818,z=-2619..11924 -on x=1998..26800,y=-88018..-70661,z=-19529..14435 -on x=-40150..-24948,y=-38817..-2117,z=68511..75948 -on x=-20059..3819,y=53243..77125,z=38176..58432 -on x=-25128..3970,y=36766..71876,z=-65955..-55178 -on x=30721..48676,y=-88372..-59041,z=-10373..20517 -on x=54739..79187,y=-6426..24205,z=38483..52199 -on x=-74123..-60596,y=16087..24029,z=6308..31110 -on x=-41178..-13748,y=34273..53161,z=-68326..-50079 -on x=34321..62132,y=-28029..-5767,z=50910..79802 -on x=-32145..5241,y=-91765..-68647,z=-38102..-15017 -on x=23277..33784,y=31667..51551,z=54327..64740 -on x=-46838..-27022,y=-20629..11486,z=-82153..-67991 -on x=7719..27806,y=-85522..-68654,z=-28269..-18334 -on x=66206..79801,y=4275..23982,z=-26164..-6768 -on x=7060..30306,y=15808..21150,z=-82475..-72034 -on x=-72488..-57915,y=-28681..-13504,z=-55788..-19138 -on x=51600..81029,y=-55022..-27697,z=-4574..-1320 -on x=713..24780,y=-41043..-16227,z=-89590..-57706 -on x=-47902..-19360,y=-71811..-40927,z=-47393..-42422 -on x=-37143..-13206,y=44321..57113,z=39090..74407 -on x=-87887..-62006,y=-2502..27753,z=3934..32303 -on x=-54898..-26966,y=49943..70123,z=-17391..-2216 -on x=45372..65851,y=43448..50408,z=-33840..-13662 -on x=71524..82316,y=-26188..7090,z=-49099..-14638 -on x=22921..44804,y=-27396..-13596,z=58045..85435 -on x=-72660..-48634,y=20103..38489,z=-43346..-11329 -on x=-81912..-70603,y=-10732..7577,z=-24656..3233 -on x=482..21679,y=38765..51538,z=52032..83853 -on x=-60433..-38681,y=-39018..-11874,z=-73031..-47655 -on x=-15216..4879,y=34050..46445,z=-70546..-48265 -on x=7593..31682,y=-50259..-22312,z=-87495..-64016 -on x=25388..30574,y=50026..53821,z=-65865..-34989 -on x=-84657..-71962,y=-5614..6000,z=-24634..-3339 -on x=41390..60020,y=22570..42628,z=30882..64771 -on x=-248..17127,y=-2823..6658,z=-96809..-73415 -on x=-77832..-55465,y=14930..45870,z=-56240..-28636 -on x=65116..82345,y=-6666..23578,z=-680..26739 -on x=34856..54196,y=43745..68375,z=-39638..-19525 -on x=-48140..-27552,y=-70877..-60624,z=27025..49107 -on x=-19790..16502,y=-95842..-64224,z=-10888..485 -on x=-44735..-16836,y=-66086..-45889,z=-59639..-41212 -on x=12184..30539,y=-56463..-46207,z=-68564..-49369 -on x=-8178..14147,y=-94758..-68872,z=12761..40515 -off x=63606..77626,y=-37629..-16487,z=7962..27750 -on x=24113..32572,y=-59984..-39027,z=-65778..-44446 -on x=-57539..-24760,y=28352..48097,z=32995..62025 -off x=40834..49961,y=33338..48265,z=-65491..-33838 -off x=-80149..-51564,y=13027..40490,z=35050..60768 -off x=-80739..-57169,y=33192..57748,z=-16057..6588 -on x=61968..78708,y=-53750..-34745,z=-12261..9164 -on x=-10785..18613,y=28171..58216,z=-66565..-56750 -off x=32041..52937,y=19350..35415,z=55238..77639 -on x=-36952..-18269,y=3126..20237,z=64598..79215 -on x=33467..37921,y=-21420..-11399,z=-73687..-62782 -on x=-26796..-9959,y=-79690..-57727,z=33661..50800 -off x=68974..76734,y=5289..25800,z=-31666..-18116 -on x=-5502..14686,y=-63307..-53369,z=-51364..-48961 -on x=24767..47138,y=52124..81995,z=23428..28917 -off x=-80538..-52659,y=-48183..-35294,z=18181..36286 -off x=-62852..-32258,y=48933..70740,z=-18708..2603 -off x=-5407..3287,y=-83410..-60851,z=-30565..-10567 -on x=-61477..-28724,y=-69802..-48668,z=-8735..5648 -off x=-61834..-43462,y=30006..46770,z=39118..76051 -on x=-40106..-25581,y=-79417..-67135,z=-19775..60 -off x=9232..31266,y=-75135..-53369,z=-52206..-30950 -off x=-84248..-58138,y=7669..29204,z=-51152..-17070 -on x=46938..63693,y=12960..42501,z=-57448..-41489 -on x=-61060..-33678,y=-63777..-31257,z=-35472..-29497 -on x=2080..22935,y=-39244..-32428,z=-81473..-54994 -on x=-41327..-18603,y=-70059..-40898,z=32258..67222 -on x=-44240..-10221,y=15754..50504,z=66733..86101 -off x=19480..46396,y=62939..71133,z=14257..29691 -on x=-31329..-13993,y=69918..80800,z=679..23780 -on x=14808..49735,y=-45728..-33196,z=-78006..-46758 -on x=56049..68927,y=50004..64743,z=-7561..4897 -on x=-14920..815,y=-63199..-36015,z=-85218..-61913 -off x=-63010..-31952,y=-59660..-30453,z=-52839..-47695 -on x=-4708..21970,y=-68219..-58658,z=28244..49101 -on x=64329..72377,y=-56681..-23397,z=10880..38219 -on x=-1573..19388,y=-66068..-49774,z=43031..46117 -off x=3550..36695,y=-41811..-27759,z=60901..85943 -on x=-16254..1097,y=-14722..5544,z=66336..94646 -off x=61689..81211,y=-46459..-35255,z=780..35628 -on x=20599..41795,y=67758..81144,z=-16445..-7609 -off x=-12570..-2057,y=-77401..-41665,z=40726..63560 -off x=-62350..-35207,y=-31298..-15970,z=-66142..-41645 -on x=12223..28447,y=-73960..-45197,z=-55238..-52232 -off x=47567..79680,y=-34518..-17413,z=-48355..-34557 -off x=-18337..9759,y=64991..95028,z=-28658..-26313 -off x=-2752..20613,y=-22642..-1518,z=76028..79119 -on x=-12095..21831,y=40788..52435,z=54694..82773 -on x=62369..79279,y=18603..37517,z=7267..29696 -off x=-12882..21846,y=-67320..-57185,z=33085..56111 -off x=54508..76109,y=-20473..2785,z=-62714..-41813 -on x=67360..71567,y=-48085..-29466,z=10595..37029 -off x=13286..27535,y=-87029..-60347,z=-10601..-4532 -on x=-45650..-19692,y=-77515..-57322,z=-35410..-11383 -on x=-38632..-32709,y=-21531..-809,z=69099..84538 -off x=-17166..5248,y=36202..59116,z=-80622..-55255 -off x=53199..58328,y=-57030..-46928,z=16510..28137 -off x=-12452..-6069,y=59268..97187,z=-1657..26474 -off x=-94415..-66314,y=2951..35335,z=-4256..2177 -off x=68643..76060,y=-1199..3977,z=13968..40355 -off x=-53216..-30345,y=-5088..12709,z=61339..71114 -off x=-47617..-41176,y=-83385..-64333,z=-2232..24576 -on x=50246..56920,y=15557..35920,z=-54113..-43203 -on x=-80487..-65360,y=-44273..-26324,z=17212..25006 -on x=-25354..-9029,y=56319..71473,z=33347..48174 -on x=2077..7445,y=39902..60926,z=-70890..-42934 -on x=-30828..-13645,y=9950..38407,z=65490..91992 -on x=-39862..-30859,y=41184..62167,z=-44498..-32078 -on x=10000..38071,y=38307..77250,z=-55950..-45433 -off x=-25138..-21939,y=59646..80572,z=-29182..-3585 -off x=-69664..-49402,y=-50521..-29250,z=-3375..11367 -on x=21546..32759,y=-3813..9495,z=69311..85452 -on x=67070..79356,y=-11015..7660,z=-48745..-32178 -off x=7316..30214,y=34054..56896,z=-68022..-53097 -on x=-50959..-44594,y=60361..64986,z=9818..23239 -on x=-92152..-60839,y=-39965..-25169,z=-2960..14072 -on x=-8418..-5468,y=-16850..-395,z=-89405..-60345 -on x=61152..81114,y=-55316..-42489,z=5256..27808 -on x=-46242..-11636,y=-88249..-68048,z=-34050..-27919 -on x=-70820..-63333,y=-51978..-25850,z=-13139..9914 -on x=-26879..-10479,y=61913..79717,z=-25966..-97 -off x=12919..29894,y=-76896..-45406,z=25302..55570 -on x=39675..51599,y=53474..75891,z=-29696..-17 -off x=-30540..-14474,y=55369..68032,z=-58542..-28288 -on x=53971..72033,y=-40457..-16771,z=-62948..-31125 -on x=18120..26292,y=-8657..14413,z=75119..81206 -off x=20710..41423,y=-45252..-30751,z=-67175..-46146 -on x=-20194..-378,y=-36413..-21284,z=57487..74834 -off x=9683..40177,y=33189..58521,z=38646..71002 -off x=-69406..-46938,y=-3981..790,z=37822..62759 -off x=62465..92233,y=-42839..-17646,z=-4142..16597 -on x=-51175..-44110,y=-10237..-22,z=62925..80652 -off x=-72655..-65648,y=9326..28287,z=36035..52004 -off x=-42754..-18276,y=7826..28126,z=72152..79144 -on x=57060..77216,y=12453..45688,z=-8107..-3045 -off x=-26698..2268,y=20712..41625,z=63167..76252 -on x=-68201..-48223,y=30213..50082,z=-59554..-34429 -on x=-72641..-34836,y=33312..53354,z=22828..56557 -on x=-70258..-48790,y=-23700..8377,z=30085..47466 -on x=-66538..-39508,y=-11452..11542,z=-65928..-55528 -on x=-87876..-57425,y=21246..38054,z=5107..25443 -off x=-20182..2598,y=-90193..-61072,z=20050..52146 -on x=39307..59985,y=-69031..-44776,z=36698..61408 -off x=-12448..509,y=-70136..-35948,z=-72152..-51817 -on x=-23574..6458,y=-74942..-53212,z=42969..50280 -on x=60679..75403,y=47871..65197,z=-27683..-4167 -off x=-36024..-8293,y=55017..76156,z=30779..55778 -on x=22953..39105,y=-81805..-62302,z=-20432..-38 -off x=27886..44604,y=4065..25615,z=-77407..-66335 -on x=-32071..-30955,y=-69669..-54374,z=19133..44519 -on x=-44247..-33441,y=-4852..25257,z=-83379..-55625 -on x=-6331..23001,y=-2727..22050,z=-82200..-73000 -on x=1792..13243,y=65970..84665,z=20881..40167 -on x=-87142..-62108,y=7662..16909,z=-9182..-3172 -off x=13248..38146,y=-82443..-50008,z=-36386..-12435 -on x=-6365..4219,y=-96240..-64381,z=-11610..17542 -on x=20323..42542,y=-68882..-61242,z=22967..43943 -on x=-41163..-20950,y=2371..22767,z=58149..74631 -off x=-32710..-17810,y=54625..65520,z=37425..52511 -on x=50562..71693,y=-37987..-23564,z=6443..27941 -on x=-75860..-59113,y=-31260..-21146,z=22220..40680 -off x=35387..41987,y=47728..67980,z=39791..64448 -off x=608..10798,y=49806..77961,z=31124..54950 -on x=-60231..-39198,y=53787..68244,z=-12704..5467 -on x=-35484..-21083,y=-73867..-37873,z=39249..51362 -on x=59987..77835,y=-27001..-15879,z=-47787..-19843 -off x=41427..62288,y=51994..70945,z=30784..47390 -off x=-50048..-36834,y=3043..25992,z=-72740..-53308 -on x=42872..58017,y=30943..61513,z=-42821..-33967 -off x=-36245..-9387,y=-58223..-55846,z=-67387..-31057 -off x=-59188..-35629,y=56279..73984,z=28867..43987 -off x=-78759..-64658,y=-20681..5867,z=-31797..-7772 -off x=-4710..8905,y=-2779..3351,z=-86219..-60528 -on x=33155..61007,y=49452..81379,z=876..17781 -off x=-36277..-9971,y=27939..32653,z=-81045..-53964 -off x=-26923..-8074,y=30428..51131,z=59674..76394 -off x=31979..54725,y=56931..85664,z=-9340..9915 -on x=-50144..-15730,y=-34733..-21753,z=-65108..-46338 -off x=60842..75793,y=32957..62320,z=4144..27982 -off x=-19195..-2409,y=-86897..-76380,z=2529..23132 -off x=64018..98006,y=-11605..-3633,z=-29716..-7300 -on x=-30513..-24112,y=54293..87707,z=2287..35438 -off x=-70296..-60350,y=-11905..14801,z=21158..49898 -off x=-70639..-44202,y=9051..33036,z=49129..61552 -on x=41321..60065,y=-27152..-14509,z=-68965..-47234 -on x=70548..91310,y=-5954..5726,z=11278..19700 -on x=-50219..-21418,y=-52582..-42030,z=-54196..-49651 -on x=-89552..-58633,y=-17585..264,z=34927..52503 -on x=-82142..-52178,y=-34545..-11192,z=23522..41514 -off x=1835..27941,y=6244..15478,z=71948..96428 -off x=-23771..-8128,y=4204..25628,z=-87494..-64595 -off x=-70646..-48209,y=-69358..-34636,z=14932..17268 -off x=-49767..-33302,y=17787..36654,z=-67440..-56605 -on x=-69442..-47855,y=14615..37283,z=29421..50848 -on x=16292..29082,y=53434..67571,z=42659..57865 -off x=-80373..-65569,y=-32877..-22702,z=-43105..-17574 -off x=-60547..-40977,y=-63557..-48862,z=32703..37611 -off x=-61581..-50980,y=46572..61296,z=16255..33720 -off x=-15898..9630,y=-81270..-72337,z=-9467..1578 -off x=-1628..17534,y=41763..66183,z=46348..77856 -off x=-7922..9271,y=-69557..-43619,z=-64023..-55015 -on x=26053..28769,y=57719..77890,z=-16189..1384 -on x=54696..78581,y=-45863..-22337,z=-35805..-18071 -on x=2717..35041,y=-87427..-67253,z=-12024..10337 -on x=-25139..-9098,y=21889..49900,z=-81323..-59102 -on x=-61386..-45025,y=-48153..-25439,z=-59187..-28230 -off x=-14053..-8908,y=20868..41043,z=70952..78051 -off x=-20054..-2137,y=-37491..-34326,z=63084..71659 -off x=-55685..-33312,y=12597..34114,z=51147..70265 -off x=67819..99322,y=-16857..5736,z=-13285..826 -off x=41853..51465,y=-47936..-40529,z=-50557..-30324 -on x=-23106..727,y=-72015..-63422,z=33047..44033 -off x=45528..53647,y=-45076..-21772,z=-71396..-44336 -on x=33296..53707,y=54805..77184,z=15225..51416 -on x=16412..36309,y=-77570..-54449,z=24249..53268 -off x=-4728..22491,y=2245..16391,z=58276..80427 -off x=-19857..4699,y=-84155..-56152,z=27354..42474 -on x=3684..19893,y=26310..53591,z=-78511..-54424 -off x=24404..39334,y=-45396..-28653,z=51011..76760 -off x=-84254..-58235,y=-4562..25851,z=-45183..-21546 -off x=-31427..4281,y=-70117..-58893,z=22727..42676 -off x=67060..91125,y=-25501..6756,z=-34282..-15730 -off x=-72571..-51425,y=-65677..-30541,z=-45375..-18097 -off x=-57405..-41319,y=35533..66514,z=21509..43776 -on x=7762..21984,y=67369..75046,z=9686..35909 -off x=30634..52923,y=-35139..-9415,z=43449..78931 -on x=40774..58494,y=37481..66356,z=-44638..-29731 -on x=-35081..-10628,y=-73384..-61822,z=13041..33353 -on x=-47126..-18466,y=-24819..-10783,z=51995..88235 -on x=-20404..-11974,y=-86858..-59689,z=24047..39734 -on x=33931..50101,y=53920..69400,z=-44311..-24788 -on x=13893..22430,y=-69617..-59694,z=33243..53851 -on x=13266..24042,y=75584..82687,z=13448..23080 -off x=42429..61382,y=-33657..-13422,z=-65211..-53531 -off x=-60874..-43704,y=-61576..-56371,z=-11832..8958 -on x=-63974..-31260,y=41209..71413,z=23902..52385 -on x=25038..29790,y=-89283..-66014,z=19523..23400 -on x=32430..64221,y=40166..56779,z=-47739..-23712 -on x=63435..71299,y=26630..51276,z=-28657..-7613 -off x=-16513..7916,y=-95480..-69851,z=8739..32555 diff --git a/inputs/test_input22_2_1 b/inputs/test_input22_2_1 deleted file mode 100644 index 47eebd0..0000000 --- a/inputs/test_input22_2_1 +++ /dev/null @@ -1,420 +0,0 @@ -on x=-20..29,y=-31..16,z=-20..27 -on x=-43..1,y=-20..33,z=-45..2 -on x=-36..17,y=-6..38,z=-39..14 -on x=-30..15,y=-36..15,z=-28..23 -on x=-18..29,y=-19..28,z=-7..46 -on x=-30..19,y=-13..36,z=0..46 -on x=-26..24,y=-38..11,z=-43..11 -on x=-38..10,y=-48..3,z=-14..31 -on x=-8..41,y=-9..45,z=-43..9 -on x=-10..39,y=-10..35,z=-19..32 -off x=5..21,y=28..42,z=33..48 -on x=-15..38,y=-14..40,z=-19..35 -off x=-31..-20,y=5..22,z=-7..10 -on x=-19..27,y=-38..14,z=-2..44 -off x=-39..-29,y=-25..-6,z=-5..13 -on x=-15..33,y=-41..7,z=-19..29 -off x=-46..-35,y=23..39,z=39..48 -on x=-34..13,y=-4..41,z=-20..30 -off x=-26..-12,y=-24..-5,z=27..39 -on x=-38..16,y=-43..10,z=-10..44 -on x=39030..44441,y=-57340..-34903,z=-51001..-45918 -on x=-16916..-4407,y=66566..94089,z=15828..36189 -on x=40389..50968,y=27757..50078,z=45520..59567 -on x=52..17188,y=30746..49029,z=69338..83167 -on x=8979..24827,y=-49316..-32553,z=-69008..-49926 -on x=-52775..-23858,y=52208..67627,z=-1264..18587 -on x=-33325..-5132,y=45958..70760,z=46267..56578 -on x=-42535..-21394,y=-55593..-32080,z=-65133..-51935 -on x=1749..16247,y=23252..35648,z=72579..75405 -on x=3243..26696,y=-6805..9966,z=62726..89126 -on x=34445..60971,y=28535..54294,z=41201..66461 -on x=-60390..-40467,y=-9145..2334,z=-79017..-65419 -on x=19536..44698,y=-78529..-58639,z=-26591..-2743 -on x=-64983..-59435,y=37204..45832,z=-21323..-8109 -on x=-18254..13006,y=-85804..-67448,z=-5043..13222 -on x=24464..32132,y=48558..68460,z=37217..62520 -on x=-17139..-10612,y=-19845..-3378,z=-77537..-57882 -on x=63128..71168,y=638..22628,z=-57064..-32579 -on x=-58884..-26787,y=27216..32401,z=-66811..-59472 -on x=36497..46350,y=-33880..-21305,z=-67604..-45789 -on x=42798..71814,y=36207..61646,z=-12151..19686 -on x=-55625..-29373,y=-82609..-49685,z=-16861..2524 -on x=-70425..-44308,y=20211..33460,z=47801..72055 -on x=26463..42176,y=64489..76471,z=-18426..11307 -on x=-78556..-58072,y=-16997..4971,z=-34641..-18128 -on x=-58623..-40141,y=-55835..-42509,z=-46653..-22925 -on x=23300..41375,y=-75579..-50755,z=18777..52822 -on x=-82799..-60920,y=18318..41772,z=-24353..-5518 -on x=10106..26240,y=75368..78834,z=304..7531 -on x=46079..73686,y=49894..71872,z=7057..19259 -on x=-81301..-63868,y=-25735..-2511,z=1130..19046 -on x=27141..55106,y=20320..49740,z=-74571..-44379 -on x=38469..55562,y=-70078..-44434,z=-31742..1553 -on x=1417..27204,y=-90515..-53178,z=-41560..-22873 -on x=-18898..-6680,y=63448..97500,z=-11360..9193 -on x=-4654..19272,y=-84171..-70178,z=7893..12893 -on x=-41788..-26904,y=57763..62948,z=27359..39845 -on x=56892..76482,y=-29393..225,z=-57865..-40940 -on x=-1653..17579,y=78559..81298,z=2133..24653 -on x=31665..60531,y=-64402..-26646,z=47007..57640 -on x=14454..37042,y=-77500..-52117,z=32205..48279 -on x=-57102..-19683,y=-973..12460,z=-78522..-69140 -on x=33500..64982,y=45233..71019,z=-24872..10888 -on x=-24545..-2431,y=12207..36685,z=56701..84825 -on x=-73898..-40823,y=30235..40637,z=37337..48053 -on x=16711..35862,y=-75053..-53757,z=-45205..-39330 -on x=40041..62094,y=35279..55557,z=3924..28119 -on x=2591..27844,y=-77111..-61171,z=-42150..-24689 -on x=63851..87586,y=717..22608,z=-17708..14683 -on x=59776..65768,y=-38309..-516,z=30512..61778 -on x=27764..52076,y=48282..73996,z=34786..42408 -on x=-6770..29847,y=-69740..-50465,z=38985..60900 -on x=31444..39135,y=-32209..-8484,z=-72646..-56369 -on x=-71756..-38220,y=-60571..-46749,z=-40149..-37116 -on x=-44580..-14826,y=55547..79253,z=-43870..-13364 -on x=-72389..-55149,y=-27768..-3839,z=-70486..-37702 -on x=-52435..-20439,y=66678..77085,z=10575..29461 -on x=36706..63235,y=31858..52461,z=-40879..-24849 -on x=-74831..-52959,y=37404..69189,z=6622..22185 -on x=-6413..1462,y=-48386..-19347,z=-83322..-70763 -on x=-81857..-58552,y=-27629..-26033,z=-45105..-28564 -on x=-58671..-44911,y=-78607..-52567,z=-30993..-11513 -on x=-62873..-36200,y=49607..83092,z=-29998..-10433 -on x=-23969..-5107,y=-45673..-24154,z=56204..73025 -on x=-29554..-11201,y=-46583..-24400,z=-83575..-47182 -on x=30702..37050,y=36949..66718,z=-57136..-36552 -on x=-10148..10475,y=-5870..17463,z=-95526..-59913 -on x=-31448..-284,y=-48605..-24327,z=45815..82564 -on x=-84567..-61564,y=-2089..26015,z=4033..7133 -on x=-20326..-3284,y=-46016..-26462,z=54080..72758 -on x=41252..55684,y=-49807..-22386,z=-60941..-42418 -on x=62205..71265,y=-49762..-34225,z=-7877..12079 -on x=-89292..-72013,y=-31405..-14706,z=-20505..-2948 -on x=-41776..-20243,y=62722..70486,z=-30024..-1858 -on x=18228..32393,y=52030..71998,z=25205..59016 -on x=48369..72370,y=37060..54834,z=-38532..-8676 -on x=-55253..-28458,y=34161..57274,z=-72149..-39309 -on x=-72798..-51822,y=-30694..-2186,z=45952..57079 -on x=4729..43529,y=17089..31573,z=-85650..-72780 -on x=42217..74138,y=45655..63639,z=-36741..-10603 -on x=27669..49424,y=46631..69265,z=29715..51656 -on x=20949..27668,y=70167..86001,z=-32923..-14819 -on x=-23923..-8817,y=39080..50191,z=51545..61395 -on x=57073..77486,y=3426..21172,z=-62437..-39863 -on x=-89626..-67976,y=-34501..-16927,z=-15996..-15568 -on x=32922..59175,y=-54409..-33698,z=27932..67481 -on x=6501..33987,y=-83062..-63997,z=34738..39766 -on x=-37545..-29183,y=56421..70544,z=15177..40320 -on x=-24691..-17056,y=23161..33353,z=71111..74660 -on x=54499..86451,y=-38734..-28186,z=-39003..-13356 -on x=-75142..-47934,y=-8956..5914,z=-69975..-39192 -on x=-52665..-35218,y=-43596..-32734,z=41665..50848 -on x=8661..29356,y=-2489..18373,z=67501..85297 -on x=70367..80510,y=-18450..8966,z=-16229..-1404 -on x=-22779..13139,y=67289..82767,z=-47475..-24313 -on x=65450..80932,y=30530..50652,z=-5236..9932 -on x=-75105..-47424,y=6980..19151,z=-59147..-33035 -on x=53516..85797,y=-45107..-16806,z=-6148..6567 -on x=-12172..15284,y=-8232..-651,z=-96433..-60578 -on x=21192..31932,y=4914..19821,z=64567..89357 -on x=-12556..401,y=-41319..-23843,z=56314..83752 -on x=-67754..-38533,y=58429..62877,z=2065..21664 -on x=27156..52486,y=42626..54351,z=53276..73831 -on x=40263..58892,y=-49247..-37913,z=27873..63166 -on x=-37545..-20533,y=-74721..-58538,z=-36678..-6054 -on x=-6634..18285,y=-49486..-27921,z=54817..82046 -on x=-78134..-60334,y=41826..44416,z=-424..9094 -on x=43122..63245,y=-32977..-10981,z=-54994..-41397 -on x=-22854..-292,y=32960..46443,z=53510..76181 -on x=30238..43872,y=-40593..-18910,z=-86078..-61269 -on x=-70060..-41130,y=-39536..-15734,z=32095..55828 -on x=-10129..21231,y=1392..21144,z=71205..80083 -on x=-46859..-20417,y=59982..86006,z=-594..30137 -on x=16908..34847,y=60881..64477,z=25446..39611 -on x=27114..34350,y=-19000..586,z=52975..78044 -on x=-92238..-66545,y=-25917..-14477,z=-10207..15335 -on x=-53332..-34657,y=55475..68792,z=-16193..2956 -on x=26074..55119,y=-64147..-39479,z=46625..60804 -on x=-81792..-72186,y=-27516..-7356,z=-17091..-5153 -on x=21510..48123,y=57655..80143,z=-19988..-5157 -on x=-42070..-34033,y=-71663..-58064,z=10623..30183 -on x=-31069..-22542,y=-20053..-15967,z=61201..75887 -on x=-7921..15811,y=-12282..11801,z=63547..83196 -on x=-35651..-2431,y=-991..11371,z=67904..92772 -on x=68087..82584,y=-30799..-4376,z=-14648..1775 -on x=-33666..-2580,y=-90327..-66216,z=12731..31899 -on x=-73566..-47484,y=-59756..-44345,z=4776..10325 -on x=-76837..-59779,y=-4385..14932,z=-50074..-38480 -on x=33388..61934,y=-43398..-23303,z=38162..63975 -on x=-33550..-2570,y=-33148..-18287,z=67115..84110 -on x=-10092..6623,y=30054..46208,z=69320..86310 -on x=-7255..2960,y=-93969..-76905,z=20851..28009 -on x=-38421..-21411,y=-85820..-61665,z=-4060..25092 -on x=-18176..9627,y=-8802..7892,z=-87302..-62746 -on x=5598..36521,y=-87872..-73080,z=-38163..-13005 -on x=-33275..-7298,y=15352..36017,z=-85579..-56770 -on x=-29516..5542,y=11240..19634,z=76852..97446 -on x=20714..56270,y=7948..33080,z=49079..85136 -on x=-93061..-64854,y=-33327..-3705,z=-5545..16277 -on x=47448..78391,y=-51628..-27895,z=-32794..-25880 -on x=4227..30699,y=39768..45888,z=54839..83597 -on x=70777..84001,y=7439..22803,z=-5976..17310 -on x=-42553..-25757,y=-58473..-50108,z=38467..59251 -on x=-71403..-62999,y=-38228..-12575,z=36781..47496 -on x=50888..79519,y=-54783..-30829,z=4861..38061 -on x=25418..41498,y=-81881..-54971,z=19352..43517 -on x=64258..79955,y=-8788..12997,z=11393..35099 -on x=-67002..-53520,y=27844..57263,z=2143..17726 -on x=-78306..-72249,y=-22931..-6153,z=19549..33991 -on x=-26011..4273,y=18963..28916,z=64435..85991 -on x=10172..23648,y=-25120..-10137,z=-89821..-59863 -on x=-7255..13764,y=-64279..-54195,z=-61984..-34271 -on x=-30268..-1307,y=-79485..-52163,z=26816..44965 -on x=-87805..-59710,y=-2902..27442,z=18293..48553 -on x=46421..69704,y=-30630..-18729,z=-60214..-49371 -on x=-62224..-38282,y=53137..66173,z=-7492..21445 -on x=-34677..-14017,y=71034..83818,z=-2619..11924 -on x=1998..26800,y=-88018..-70661,z=-19529..14435 -on x=-40150..-24948,y=-38817..-2117,z=68511..75948 -on x=-20059..3819,y=53243..77125,z=38176..58432 -on x=-25128..3970,y=36766..71876,z=-65955..-55178 -on x=30721..48676,y=-88372..-59041,z=-10373..20517 -on x=54739..79187,y=-6426..24205,z=38483..52199 -on x=-74123..-60596,y=16087..24029,z=6308..31110 -on x=-41178..-13748,y=34273..53161,z=-68326..-50079 -on x=34321..62132,y=-28029..-5767,z=50910..79802 -on x=-32145..5241,y=-91765..-68647,z=-38102..-15017 -on x=23277..33784,y=31667..51551,z=54327..64740 -on x=-46838..-27022,y=-20629..11486,z=-82153..-67991 -on x=7719..27806,y=-85522..-68654,z=-28269..-18334 -on x=66206..79801,y=4275..23982,z=-26164..-6768 -on x=7060..30306,y=15808..21150,z=-82475..-72034 -on x=-72488..-57915,y=-28681..-13504,z=-55788..-19138 -on x=51600..81029,y=-55022..-27697,z=-4574..-1320 -on x=713..24780,y=-41043..-16227,z=-89590..-57706 -on x=-47902..-19360,y=-71811..-40927,z=-47393..-42422 -on x=-37143..-13206,y=44321..57113,z=39090..74407 -on x=-87887..-62006,y=-2502..27753,z=3934..32303 -on x=-54898..-26966,y=49943..70123,z=-17391..-2216 -on x=45372..65851,y=43448..50408,z=-33840..-13662 -on x=71524..82316,y=-26188..7090,z=-49099..-14638 -on x=22921..44804,y=-27396..-13596,z=58045..85435 -on x=-72660..-48634,y=20103..38489,z=-43346..-11329 -on x=-81912..-70603,y=-10732..7577,z=-24656..3233 -on x=482..21679,y=38765..51538,z=52032..83853 -on x=-60433..-38681,y=-39018..-11874,z=-73031..-47655 -on x=-15216..4879,y=34050..46445,z=-70546..-48265 -on x=7593..31682,y=-50259..-22312,z=-87495..-64016 -on x=25388..30574,y=50026..53821,z=-65865..-34989 -on x=-84657..-71962,y=-5614..6000,z=-24634..-3339 -on x=41390..60020,y=22570..42628,z=30882..64771 -on x=-248..17127,y=-2823..6658,z=-96809..-73415 -on x=-77832..-55465,y=14930..45870,z=-56240..-28636 -on x=65116..82345,y=-6666..23578,z=-680..26739 -on x=34856..54196,y=43745..68375,z=-39638..-19525 -on x=-48140..-27552,y=-70877..-60624,z=27025..49107 -on x=-19790..16502,y=-95842..-64224,z=-10888..485 -on x=-44735..-16836,y=-66086..-45889,z=-59639..-41212 -on x=12184..30539,y=-56463..-46207,z=-68564..-49369 -on x=-8178..14147,y=-94758..-68872,z=12761..40515 -off x=63606..77626,y=-37629..-16487,z=7962..27750 -on x=24113..32572,y=-59984..-39027,z=-65778..-44446 -on x=-57539..-24760,y=28352..48097,z=32995..62025 -off x=40834..49961,y=33338..48265,z=-65491..-33838 -off x=-80149..-51564,y=13027..40490,z=35050..60768 -off x=-80739..-57169,y=33192..57748,z=-16057..6588 -on x=61968..78708,y=-53750..-34745,z=-12261..9164 -on x=-10785..18613,y=28171..58216,z=-66565..-56750 -off x=32041..52937,y=19350..35415,z=55238..77639 -on x=-36952..-18269,y=3126..20237,z=64598..79215 -on x=33467..37921,y=-21420..-11399,z=-73687..-62782 -on x=-26796..-9959,y=-79690..-57727,z=33661..50800 -off x=68974..76734,y=5289..25800,z=-31666..-18116 -on x=-5502..14686,y=-63307..-53369,z=-51364..-48961 -on x=24767..47138,y=52124..81995,z=23428..28917 -off x=-80538..-52659,y=-48183..-35294,z=18181..36286 -off x=-62852..-32258,y=48933..70740,z=-18708..2603 -off x=-5407..3287,y=-83410..-60851,z=-30565..-10567 -on x=-61477..-28724,y=-69802..-48668,z=-8735..5648 -off x=-61834..-43462,y=30006..46770,z=39118..76051 -on x=-40106..-25581,y=-79417..-67135,z=-19775..60 -off x=9232..31266,y=-75135..-53369,z=-52206..-30950 -off x=-84248..-58138,y=7669..29204,z=-51152..-17070 -on x=46938..63693,y=12960..42501,z=-57448..-41489 -on x=-61060..-33678,y=-63777..-31257,z=-35472..-29497 -on x=2080..22935,y=-39244..-32428,z=-81473..-54994 -on x=-41327..-18603,y=-70059..-40898,z=32258..67222 -on x=-44240..-10221,y=15754..50504,z=66733..86101 -off x=19480..46396,y=62939..71133,z=14257..29691 -on x=-31329..-13993,y=69918..80800,z=679..23780 -on x=14808..49735,y=-45728..-33196,z=-78006..-46758 -on x=56049..68927,y=50004..64743,z=-7561..4897 -on x=-14920..815,y=-63199..-36015,z=-85218..-61913 -off x=-63010..-31952,y=-59660..-30453,z=-52839..-47695 -on x=-4708..21970,y=-68219..-58658,z=28244..49101 -on x=64329..72377,y=-56681..-23397,z=10880..38219 -on x=-1573..19388,y=-66068..-49774,z=43031..46117 -off x=3550..36695,y=-41811..-27759,z=60901..85943 -on x=-16254..1097,y=-14722..5544,z=66336..94646 -off x=61689..81211,y=-46459..-35255,z=780..35628 -on x=20599..41795,y=67758..81144,z=-16445..-7609 -off x=-12570..-2057,y=-77401..-41665,z=40726..63560 -off x=-62350..-35207,y=-31298..-15970,z=-66142..-41645 -on x=12223..28447,y=-73960..-45197,z=-55238..-52232 -off x=47567..79680,y=-34518..-17413,z=-48355..-34557 -off x=-18337..9759,y=64991..95028,z=-28658..-26313 -off x=-2752..20613,y=-22642..-1518,z=76028..79119 -on x=-12095..21831,y=40788..52435,z=54694..82773 -on x=62369..79279,y=18603..37517,z=7267..29696 -off x=-12882..21846,y=-67320..-57185,z=33085..56111 -off x=54508..76109,y=-20473..2785,z=-62714..-41813 -on x=67360..71567,y=-48085..-29466,z=10595..37029 -off x=13286..27535,y=-87029..-60347,z=-10601..-4532 -on x=-45650..-19692,y=-77515..-57322,z=-35410..-11383 -on x=-38632..-32709,y=-21531..-809,z=69099..84538 -off x=-17166..5248,y=36202..59116,z=-80622..-55255 -off x=53199..58328,y=-57030..-46928,z=16510..28137 -off x=-12452..-6069,y=59268..97187,z=-1657..26474 -off x=-94415..-66314,y=2951..35335,z=-4256..2177 -off x=68643..76060,y=-1199..3977,z=13968..40355 -off x=-53216..-30345,y=-5088..12709,z=61339..71114 -off x=-47617..-41176,y=-83385..-64333,z=-2232..24576 -on x=50246..56920,y=15557..35920,z=-54113..-43203 -on x=-80487..-65360,y=-44273..-26324,z=17212..25006 -on x=-25354..-9029,y=56319..71473,z=33347..48174 -on x=2077..7445,y=39902..60926,z=-70890..-42934 -on x=-30828..-13645,y=9950..38407,z=65490..91992 -on x=-39862..-30859,y=41184..62167,z=-44498..-32078 -on x=10000..38071,y=38307..77250,z=-55950..-45433 -off x=-25138..-21939,y=59646..80572,z=-29182..-3585 -off x=-69664..-49402,y=-50521..-29250,z=-3375..11367 -on x=21546..32759,y=-3813..9495,z=69311..85452 -on x=67070..79356,y=-11015..7660,z=-48745..-32178 -off x=7316..30214,y=34054..56896,z=-68022..-53097 -on x=-50959..-44594,y=60361..64986,z=9818..23239 -on x=-92152..-60839,y=-39965..-25169,z=-2960..14072 -on x=-8418..-5468,y=-16850..-395,z=-89405..-60345 -on x=61152..81114,y=-55316..-42489,z=5256..27808 -on x=-46242..-11636,y=-88249..-68048,z=-34050..-27919 -on x=-70820..-63333,y=-51978..-25850,z=-13139..9914 -on x=-26879..-10479,y=61913..79717,z=-25966..-97 -off x=12919..29894,y=-76896..-45406,z=25302..55570 -on x=39675..51599,y=53474..75891,z=-29696..-17 -off x=-30540..-14474,y=55369..68032,z=-58542..-28288 -on x=53971..72033,y=-40457..-16771,z=-62948..-31125 -on x=18120..26292,y=-8657..14413,z=75119..81206 -off x=20710..41423,y=-45252..-30751,z=-67175..-46146 -on x=-20194..-378,y=-36413..-21284,z=57487..74834 -off x=9683..40177,y=33189..58521,z=38646..71002 -off x=-69406..-46938,y=-3981..790,z=37822..62759 -off x=62465..92233,y=-42839..-17646,z=-4142..16597 -on x=-51175..-44110,y=-10237..-22,z=62925..80652 -off x=-72655..-65648,y=9326..28287,z=36035..52004 -off x=-42754..-18276,y=7826..28126,z=72152..79144 -on x=57060..77216,y=12453..45688,z=-8107..-3045 -off x=-26698..2268,y=20712..41625,z=63167..76252 -on x=-68201..-48223,y=30213..50082,z=-59554..-34429 -on x=-72641..-34836,y=33312..53354,z=22828..56557 -on x=-70258..-48790,y=-23700..8377,z=30085..47466 -on x=-66538..-39508,y=-11452..11542,z=-65928..-55528 -on x=-87876..-57425,y=21246..38054,z=5107..25443 -off x=-20182..2598,y=-90193..-61072,z=20050..52146 -on x=39307..59985,y=-69031..-44776,z=36698..61408 -off x=-12448..509,y=-70136..-35948,z=-72152..-51817 -on x=-23574..6458,y=-74942..-53212,z=42969..50280 -on x=60679..75403,y=47871..65197,z=-27683..-4167 -off x=-36024..-8293,y=55017..76156,z=30779..55778 -on x=22953..39105,y=-81805..-62302,z=-20432..-38 -off x=27886..44604,y=4065..25615,z=-77407..-66335 -on x=-32071..-30955,y=-69669..-54374,z=19133..44519 -on x=-44247..-33441,y=-4852..25257,z=-83379..-55625 -on x=-6331..23001,y=-2727..22050,z=-82200..-73000 -on x=1792..13243,y=65970..84665,z=20881..40167 -on x=-87142..-62108,y=7662..16909,z=-9182..-3172 -off x=13248..38146,y=-82443..-50008,z=-36386..-12435 -on x=-6365..4219,y=-96240..-64381,z=-11610..17542 -on x=20323..42542,y=-68882..-61242,z=22967..43943 -on x=-41163..-20950,y=2371..22767,z=58149..74631 -off x=-32710..-17810,y=54625..65520,z=37425..52511 -on x=50562..71693,y=-37987..-23564,z=6443..27941 -on x=-75860..-59113,y=-31260..-21146,z=22220..40680 -off x=35387..41987,y=47728..67980,z=39791..64448 -off x=608..10798,y=49806..77961,z=31124..54950 -on x=-60231..-39198,y=53787..68244,z=-12704..5467 -on x=-35484..-21083,y=-73867..-37873,z=39249..51362 -on x=59987..77835,y=-27001..-15879,z=-47787..-19843 -off x=41427..62288,y=51994..70945,z=30784..47390 -off x=-50048..-36834,y=3043..25992,z=-72740..-53308 -on x=42872..58017,y=30943..61513,z=-42821..-33967 -off x=-36245..-9387,y=-58223..-55846,z=-67387..-31057 -off x=-59188..-35629,y=56279..73984,z=28867..43987 -off x=-78759..-64658,y=-20681..5867,z=-31797..-7772 -off x=-4710..8905,y=-2779..3351,z=-86219..-60528 -on x=33155..61007,y=49452..81379,z=876..17781 -off x=-36277..-9971,y=27939..32653,z=-81045..-53964 -off x=-26923..-8074,y=30428..51131,z=59674..76394 -off x=31979..54725,y=56931..85664,z=-9340..9915 -on x=-50144..-15730,y=-34733..-21753,z=-65108..-46338 -off x=60842..75793,y=32957..62320,z=4144..27982 -off x=-19195..-2409,y=-86897..-76380,z=2529..23132 -off x=64018..98006,y=-11605..-3633,z=-29716..-7300 -on x=-30513..-24112,y=54293..87707,z=2287..35438 -off x=-70296..-60350,y=-11905..14801,z=21158..49898 -off x=-70639..-44202,y=9051..33036,z=49129..61552 -on x=41321..60065,y=-27152..-14509,z=-68965..-47234 -on x=70548..91310,y=-5954..5726,z=11278..19700 -on x=-50219..-21418,y=-52582..-42030,z=-54196..-49651 -on x=-89552..-58633,y=-17585..264,z=34927..52503 -on x=-82142..-52178,y=-34545..-11192,z=23522..41514 -off x=1835..27941,y=6244..15478,z=71948..96428 -off x=-23771..-8128,y=4204..25628,z=-87494..-64595 -off x=-70646..-48209,y=-69358..-34636,z=14932..17268 -off x=-49767..-33302,y=17787..36654,z=-67440..-56605 -on x=-69442..-47855,y=14615..37283,z=29421..50848 -on x=16292..29082,y=53434..67571,z=42659..57865 -off x=-80373..-65569,y=-32877..-22702,z=-43105..-17574 -off x=-60547..-40977,y=-63557..-48862,z=32703..37611 -off x=-61581..-50980,y=46572..61296,z=16255..33720 -off x=-15898..9630,y=-81270..-72337,z=-9467..1578 -off x=-1628..17534,y=41763..66183,z=46348..77856 -off x=-7922..9271,y=-69557..-43619,z=-64023..-55015 -on x=26053..28769,y=57719..77890,z=-16189..1384 -on x=54696..78581,y=-45863..-22337,z=-35805..-18071 -on x=2717..35041,y=-87427..-67253,z=-12024..10337 -on x=-25139..-9098,y=21889..49900,z=-81323..-59102 -on x=-61386..-45025,y=-48153..-25439,z=-59187..-28230 -off x=-14053..-8908,y=20868..41043,z=70952..78051 -off x=-20054..-2137,y=-37491..-34326,z=63084..71659 -off x=-55685..-33312,y=12597..34114,z=51147..70265 -off x=67819..99322,y=-16857..5736,z=-13285..826 -off x=41853..51465,y=-47936..-40529,z=-50557..-30324 -on x=-23106..727,y=-72015..-63422,z=33047..44033 -off x=45528..53647,y=-45076..-21772,z=-71396..-44336 -on x=33296..53707,y=54805..77184,z=15225..51416 -on x=16412..36309,y=-77570..-54449,z=24249..53268 -off x=-4728..22491,y=2245..16391,z=58276..80427 -off x=-19857..4699,y=-84155..-56152,z=27354..42474 -on x=3684..19893,y=26310..53591,z=-78511..-54424 -off x=24404..39334,y=-45396..-28653,z=51011..76760 -off x=-84254..-58235,y=-4562..25851,z=-45183..-21546 -off x=-31427..4281,y=-70117..-58893,z=22727..42676 -off x=67060..91125,y=-25501..6756,z=-34282..-15730 -off x=-72571..-51425,y=-65677..-30541,z=-45375..-18097 -off x=-57405..-41319,y=35533..66514,z=21509..43776 -on x=7762..21984,y=67369..75046,z=9686..35909 -off x=30634..52923,y=-35139..-9415,z=43449..78931 -on x=40774..58494,y=37481..66356,z=-44638..-29731 -on x=-35081..-10628,y=-73384..-61822,z=13041..33353 -on x=-47126..-18466,y=-24819..-10783,z=51995..88235 -on x=-20404..-11974,y=-86858..-59689,z=24047..39734 -on x=33931..50101,y=53920..69400,z=-44311..-24788 -on x=13893..22430,y=-69617..-59694,z=33243..53851 -on x=13266..24042,y=75584..82687,z=13448..23080 -off x=42429..61382,y=-33657..-13422,z=-65211..-53531 -off x=-60874..-43704,y=-61576..-56371,z=-11832..8958 -on x=-63974..-31260,y=41209..71413,z=23902..52385 -on x=25038..29790,y=-89283..-66014,z=19523..23400 -on x=32430..64221,y=40166..56779,z=-47739..-23712 -on x=63435..71299,y=26630..51276,z=-28657..-7613 -off x=-16513..7916,y=-95480..-69851,z=8739..32555 diff --git a/inputs/test_input23_1_0 b/inputs/test_input23 similarity index 100% rename from inputs/test_input23_1_0 rename to inputs/test_input23 diff --git a/inputs/test_input23_1_1 b/inputs/test_input23_1_1 deleted file mode 100644 index da06a79..0000000 --- a/inputs/test_input23_1_1 +++ /dev/null @@ -1,5 +0,0 @@ -############# -#...........# -###C#D#D#A### - #B#A#B#C# - ######### diff --git a/inputs/test_input23_2_0 b/inputs/test_input23_2_0 deleted file mode 100644 index 6a7120d..0000000 --- a/inputs/test_input23_2_0 +++ /dev/null @@ -1,5 +0,0 @@ -############# -#...........# -###B#C#B#D### - #A#D#C#A# - ######### diff --git a/inputs/test_input23_2_1 b/inputs/test_input23_2_1 deleted file mode 100644 index da06a79..0000000 --- a/inputs/test_input23_2_1 +++ /dev/null @@ -1,5 +0,0 @@ -############# -#...........# -###C#D#D#A### - #B#A#B#C# - ######### diff --git a/inputs/test_input24_1_0 b/inputs/test_input24_1_0 deleted file mode 100644 index 0009d81..0000000 --- a/inputs/test_input24_1_0 +++ /dev/null @@ -1,252 +0,0 @@ -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 11 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 8 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 12 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 8 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 10 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 12 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -8 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 10 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 15 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 2 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 15 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 8 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -11 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 4 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 10 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 9 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -3 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 10 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 15 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 3 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -3 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 7 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -1 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 7 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -10 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 2 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -16 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 2 -mul y x -add z y diff --git a/inputs/test_input24_2_0 b/inputs/test_input24_2_0 deleted file mode 100644 index 0009d81..0000000 --- a/inputs/test_input24_2_0 +++ /dev/null @@ -1,252 +0,0 @@ -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 11 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 8 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 12 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 8 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 10 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 12 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -8 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 10 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 15 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 2 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 15 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 8 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -11 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 4 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 10 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 9 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -3 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 10 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 1 -add x 15 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 3 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -3 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 7 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -1 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 7 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -10 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 2 -mul y x -add z y -inp w -mul x 0 -add x z -mod x 26 -div z 26 -add x -16 -eql x w -eql x 0 -mul y 0 -add y 25 -mul y x -add y 1 -mul z y -mul y 0 -add y w -add y 2 -mul y x -add z y diff --git a/main.py b/main.py index 845b3e4..bf52838 100755 --- a/main.py +++ b/main.py @@ -4,14 +4,11 @@ import tools.aoc import argparse import importlib import os -import sys -import timeit TIMEIT_NUMBER = 50 argument_parser = argparse.ArgumentParser() argument_parser.add_argument("-d", "--day", help="specify day to process; leave empty for ALL days", type=int) -argument_parser.add_argument("-t", "--test", help="run test cases", action="store_true", default=False) argument_parser.add_argument("-p", "--part", help="run only part x", choices=[1, 2], type=int) argument_parser.add_argument("--timeit", help="measure execution time", action="store_true", default=False) argument_parser.add_argument( @@ -20,6 +17,7 @@ argument_parser.add_argument( type=int, default=TIMEIT_NUMBER ) +argument_parser.add_argument("-v", "--verbose", help="show test case outputs", action="store_true", default=False) flags = argument_parser.parse_args() import_day = "" @@ -39,41 +37,4 @@ for _, _, files in os.walk(tools.aoc.BASE_PATH): for lib in sorted(imported): day = int(lib[-2:]) day_class = getattr(globals()[lib], "Day")(day) - if not flags.test: - if not flags.part or flags.part == 1: - if not day_class.test_part1(silent=True): - print("TEST FAILED! Aborting.") - sys.exit(1) - - if not flags.part or flags.part == 2: - if not day_class.test_part2(silent=True): - print("TEST FAILED! Aborting.") - sys.exit(1) - - if not flags.part or flags.part == 1: - if not flags.timeit: - if flags.test: - day_class.test_part1() - else: - tools.aoc.printSolution(day, 1, day_class.part1()) - else: - exec_time = timeit.timeit( - 'day_class.part1()', - globals=globals(), - number=flags.timeit_number - ) / flags.timeit_number - tools.aoc.printSolution(day, 1, day_class.part1(), exec_time=exec_time) - - if not flags.part or flags.part == 2: - if not flags.timeit: - if flags.test: - day_class.test_part2() - else: - tools.aoc.printSolution(day, 2, day_class.part2()) - else: - exec_time = timeit.timeit( - 'day_class.part2()', - globals=globals(), - number=flags.timeit_number - ) / flags.timeit_number - tools.aoc.printSolution(day, 2, day_class.part2(), exec_time=exec_time) + day_class.run(flags.part if flags.part else 3, flags.verbose, flags.timeit, flags.timeit_number) diff --git a/skel_day.py b/skel_day.py index 2744f2a..9e1c653 100644 --- a/skel_day.py +++ b/skel_day.py @@ -3,11 +3,22 @@ from typing import Any class Day(AOCDay): - test_solutions_p1 = [] - test_solutions_p2 = [] + inputs = [ + [ + (None, "input%DAY%") + ], + [ + (None, "input%DAY%") + ] + ] def part1(self) -> Any: return "" def part2(self) -> Any: return "" + + +if __name__ == '__main__': + day = Day(%DAY%) + day.run(verbose=True)