From eca7cde10ad6a8658d5bd36298785e648247cedd Mon Sep 17 00:00:00 2001 From: Luna Lailatova Date: Mon, 19 Dec 2022 22:27:06 +0100 Subject: [PATCH] finished day 14 --- day14-1.py | 96 ++++++++++++++++++++++++++++++ day14-2.py | 116 ++++++++++++++++++++++++++++++++++++ in.txt | 25 +------- input14.txt | 167 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 381 insertions(+), 23 deletions(-) create mode 100644 day14-1.py create mode 100644 day14-2.py create mode 100644 input14.txt diff --git a/day14-1.py b/day14-1.py new file mode 100644 index 0000000..b3b98b1 --- /dev/null +++ b/day14-1.py @@ -0,0 +1,96 @@ +class Grid(): + def __init__(self): + self.sandCount = 0 + self._grid = [] + for _ in range(maxY): + self._grid.append([]) + for line in self._grid: + for _ in range(maxX): + line.append('.') + + def drawRocks(self, start, end): + if start[0] == end[0]: + _min = min(start[1], end[1]) + _max = max(start[1], end[1]) + for i in range(_max - _min + 1): + self._grid[_min + i][start[0]-modifier] = '#' + if start[1] == end[1]: + _min = min(start[0], end[0]) - modifier + _max = max(start[0], end[0]) - modifier + for i in range(_max - _min + 1): + self._grid[start[1]][_min + i] = '#' + + def printGrid(self): + for line in self._grid: + tempA = '' + for coord in line: + tempA += coord + print(tempA) + + def sand(self): + while True: + posX = 500 - modifier + posY = 0 + while posY < (maxY - 1): + if self._grid[posY + 1][posX] == '.': + posY += 1 + elif self._grid[posY +1][posX - 1] == '.': + posY += 1 + posX -= 1 + elif self._grid[posY +1][posX + 1] == '.': + posY += 1 + posX += 1 + else: + self._grid[posY][posX] = 'o' + self.sandCount += 1 + break + if posY == maxY - 1: + return + + def evaluate(self): + return self.sandCount + +with open('input14.txt','r') as f: + inp = f.read().splitlines(keepends=False) + +lines = [] + +for line in inp: + lines.append(line.split(' -> ')) +for i in range(len(lines)): + for j in range(len(lines[i])): + lines[i][j] = tuple(map(int, lines[i][j].split(','))) + +maxY = None +modifier = None +maxX = None +for line in lines: + for point in line: + if modifier is None or modifier > point[0]: + modifier = point[0] + if maxX is None or maxX < point[0]: + maxX = point[0] + if maxY is None or maxY < point[1]: + maxY = point[1] +maxX = maxX - (modifier - 3) +modifier -= 1 +maxY += 2 + +cave = Grid() +cave.printGrid() + +for line in lines: + for j in range(len(line)-1): + cave.drawRocks(line[j], line[j+1]) + + + +print('---------------') +cave.printGrid() + +print('---------------') +cave.sand() +cave.printGrid() + +print('---------------') +print(cave.evaluate()) \ No newline at end of file diff --git a/day14-2.py b/day14-2.py new file mode 100644 index 0000000..bddba27 --- /dev/null +++ b/day14-2.py @@ -0,0 +1,116 @@ +class Grid(): + def __init__(self): + self.sandCount = 0 + self._grid = [] + for _ in range(maxY): + self._grid.append([]) + for line in self._grid: + for _ in range(maxX): + line.append('.') + for i in range(len(self._grid[-1])): + self._grid[-1][i] = '#' + + def drawRocks(self, start, end): + if start[0] == end[0]: + _min = min(start[1], end[1]) + _max = max(start[1], end[1]) + for i in range(_max - _min + 1): + self._grid[_min + i][start[0]-modifier] = '#' + if start[1] == end[1]: + _min = min(start[0], end[0]) - modifier + _max = max(start[0], end[0]) - modifier + for i in range(_max - _min + 1): + self._grid[start[1]][_min + i] = '#' + + def printGrid(self): + for line in self._grid: + tempA = '' + for coord in line: + tempA += coord + print(tempA) + + def sand(self): + while True: + posX = 500 - modifier + posY = 0 + while True: + if posX == 0: + self.expand('left') + posX += 1 + if posX == len(self._grid[0]) - 1: + self.expand('rigth') + if self._grid[posY + 1][posX] == '.': + posY += 1 + elif self._grid[posY +1][posX - 1] == '.': + posY += 1 + posX -= 1 + elif self._grid[posY +1][posX + 1] == '.': + posY += 1 + posX += 1 + else: + self._grid[posY][posX] = 'o' + self.sandCount += 1 + if posY == 0 and posX == 500 - modifier: + return + break + + def expand(self, direction): + global modifier + if direction == 'left': + for i in (range(len(self._grid)-1)): + self._grid[i].insert(0, '.') + self._grid[-1].insert(0, '#') + modifier -= 1 + if direction == 'rigth': + for i in (range(len(self._grid)-1)): + self._grid[i].append('.') + self._grid[-1].append('#') + + + def evaluate(self): + return self.sandCount + +with open('input14.txt','r') as f: + inp = f.read().splitlines(keepends=False) + +lines = [] + +for line in inp: + lines.append(line.split(' -> ')) +for i in range(len(lines)): + for j in range(len(lines[i])): + lines[i][j] = tuple(map(int, lines[i][j].split(','))) + +maxY = None +modifier = None +maxX = None +for line in lines: + for point in line: + if modifier is None or modifier > point[0]: + modifier = point[0] + if maxX is None or maxX < point[0]: + maxX = point[0] + if maxY is None or maxY < point[1]: + maxY = point[1] +maxX = maxX - (modifier - 3) +modifier -= 1 +maxY += 3 + +cave = Grid() +cave.printGrid() + +for line in lines: + for j in range(len(line)-1): + cave.drawRocks(line[j], line[j+1]) + + + +print('---------------') +cave.printGrid() + +print('---------------') +cave.sand() +cave.printGrid() + +print('---------------') +print(cave.evaluate()) \ No newline at end of file diff --git a/in.txt b/in.txt index 27c8912..1926028 100644 --- a/in.txt +++ b/in.txt @@ -1,23 +1,2 @@ -[1,1,3,1,1] -[1,1,5,1,1] - -[[1],[2,3,4]] -[[1],4] - -[9] -[[8,7,6]] - -[[4,4],4,4] -[[4,4],4,4,4] - -[7,7,7,7] -[7,7,7] - -[] -[3] - -[[[]]] -[[]] - -[1,[2,[3,[4,[5,6,7]]]],8,9] -[1,[2,[3,[4,[5,6,0]]]],8,9] \ No newline at end of file +498,4 -> 498,6 -> 496,6 +503,4 -> 502,4 -> 502,9 -> 494,9 \ No newline at end of file diff --git a/input14.txt b/input14.txt new file mode 100644 index 0000000..1bf44c3 --- /dev/null +++ b/input14.txt @@ -0,0 +1,167 @@ +512,137 -> 522,137 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +514,162 -> 514,165 -> 513,165 -> 513,171 -> 526,171 -> 526,165 -> 519,165 -> 519,162 +507,50 -> 507,53 -> 501,53 -> 501,59 -> 516,59 -> 516,53 -> 511,53 -> 511,50 +530,159 -> 534,159 +472,109 -> 472,110 -> 488,110 -> 488,109 +481,88 -> 485,88 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +514,162 -> 514,165 -> 513,165 -> 513,171 -> 526,171 -> 526,165 -> 519,165 -> 519,162 +519,150 -> 519,140 -> 519,150 -> 521,150 -> 521,140 -> 521,150 -> 523,150 -> 523,141 -> 523,150 -> 525,150 -> 525,142 -> 525,150 +519,150 -> 519,140 -> 519,150 -> 521,150 -> 521,140 -> 521,150 -> 523,150 -> 523,141 -> 523,150 -> 525,150 -> 525,142 -> 525,150 +478,85 -> 482,85 +494,32 -> 498,32 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +488,32 -> 492,32 +494,28 -> 498,28 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +485,34 -> 489,34 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +491,26 -> 495,26 +484,85 -> 488,85 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +472,109 -> 472,110 -> 488,110 -> 488,109 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +507,50 -> 507,53 -> 501,53 -> 501,59 -> 516,59 -> 516,53 -> 511,53 -> 511,50 +491,34 -> 495,34 +498,121 -> 498,122 -> 509,122 -> 509,121 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +519,150 -> 519,140 -> 519,150 -> 521,150 -> 521,140 -> 521,150 -> 523,150 -> 523,141 -> 523,150 -> 525,150 -> 525,142 -> 525,150 +507,50 -> 507,53 -> 501,53 -> 501,59 -> 516,59 -> 516,53 -> 511,53 -> 511,50 +484,79 -> 488,79 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +507,125 -> 507,127 -> 505,127 -> 505,134 -> 514,134 -> 514,127 -> 513,127 -> 513,125 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +475,88 -> 479,88 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +507,125 -> 507,127 -> 505,127 -> 505,134 -> 514,134 -> 514,127 -> 513,127 -> 513,125 +514,162 -> 514,165 -> 513,165 -> 513,171 -> 526,171 -> 526,165 -> 519,165 -> 519,162 +514,162 -> 514,165 -> 513,165 -> 513,171 -> 526,171 -> 526,165 -> 519,165 -> 519,162 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +507,50 -> 507,53 -> 501,53 -> 501,59 -> 516,59 -> 516,53 -> 511,53 -> 511,50 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +519,150 -> 519,140 -> 519,150 -> 521,150 -> 521,140 -> 521,150 -> 523,150 -> 523,141 -> 523,150 -> 525,150 -> 525,142 -> 525,150 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +482,32 -> 486,32 +519,150 -> 519,140 -> 519,150 -> 521,150 -> 521,140 -> 521,150 -> 523,150 -> 523,141 -> 523,150 -> 525,150 -> 525,142 -> 525,150 +499,62 -> 499,66 -> 495,66 -> 495,70 -> 510,70 -> 510,66 -> 503,66 -> 503,62 +519,150 -> 519,140 -> 519,150 -> 521,150 -> 521,140 -> 521,150 -> 523,150 -> 523,141 -> 523,150 -> 525,150 -> 525,142 -> 525,150 +472,91 -> 476,91 +488,28 -> 492,28 +507,125 -> 507,127 -> 505,127 -> 505,134 -> 514,134 -> 514,127 -> 513,127 -> 513,125 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +477,119 -> 482,119 +524,159 -> 528,159 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +497,34 -> 501,34 +481,82 -> 485,82 +498,121 -> 498,122 -> 509,122 -> 509,121 +490,115 -> 495,115 +487,82 -> 491,82 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +518,159 -> 522,159 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +499,62 -> 499,66 -> 495,66 -> 495,70 -> 510,70 -> 510,66 -> 503,66 -> 503,62 +503,34 -> 507,34 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +493,88 -> 497,88 +499,62 -> 499,66 -> 495,66 -> 495,70 -> 510,70 -> 510,66 -> 503,66 -> 503,62 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +514,162 -> 514,165 -> 513,165 -> 513,171 -> 526,171 -> 526,165 -> 519,165 -> 519,162 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +507,50 -> 507,53 -> 501,53 -> 501,59 -> 516,59 -> 516,53 -> 511,53 -> 511,50 +527,156 -> 531,156 +498,119 -> 503,119 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +500,32 -> 504,32 +487,88 -> 491,88 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +491,119 -> 496,119 +479,34 -> 483,34 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +519,150 -> 519,140 -> 519,150 -> 521,150 -> 521,140 -> 521,150 -> 523,150 -> 523,141 -> 523,150 -> 525,150 -> 525,142 -> 525,150 +499,62 -> 499,66 -> 495,66 -> 495,70 -> 510,70 -> 510,66 -> 503,66 -> 503,62 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +499,62 -> 499,66 -> 495,66 -> 495,70 -> 510,70 -> 510,66 -> 503,66 -> 503,62 +487,117 -> 492,117 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +496,91 -> 500,91 +519,150 -> 519,140 -> 519,150 -> 521,150 -> 521,140 -> 521,150 -> 523,150 -> 523,141 -> 523,150 -> 525,150 -> 525,142 -> 525,150 +487,75 -> 487,76 -> 499,76 -> 499,75 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +484,91 -> 488,91 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +490,91 -> 494,91 +490,85 -> 494,85 +485,30 -> 489,30 +514,162 -> 514,165 -> 513,165 -> 513,171 -> 526,171 -> 526,165 -> 519,165 -> 519,162 +483,115 -> 488,115 +507,125 -> 507,127 -> 505,127 -> 505,134 -> 514,134 -> 514,127 -> 513,127 -> 513,125 +507,125 -> 507,127 -> 505,127 -> 505,134 -> 514,134 -> 514,127 -> 513,127 -> 513,125 +484,119 -> 489,119 +524,153 -> 528,153 +519,150 -> 519,140 -> 519,150 -> 521,150 -> 521,140 -> 521,150 -> 523,150 -> 523,141 -> 523,150 -> 525,150 -> 525,142 -> 525,150 +491,30 -> 495,30 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +521,156 -> 525,156 +499,62 -> 499,66 -> 495,66 -> 495,70 -> 510,70 -> 510,66 -> 503,66 -> 503,62 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +486,113 -> 491,113 +497,30 -> 501,30 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +507,125 -> 507,127 -> 505,127 -> 505,134 -> 514,134 -> 514,127 -> 513,127 -> 513,125 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +519,150 -> 519,140 -> 519,150 -> 521,150 -> 521,140 -> 521,150 -> 523,150 -> 523,141 -> 523,150 -> 525,150 -> 525,142 -> 525,150 +514,162 -> 514,165 -> 513,165 -> 513,171 -> 526,171 -> 526,165 -> 519,165 -> 519,162 +519,150 -> 519,140 -> 519,150 -> 521,150 -> 521,140 -> 521,150 -> 523,150 -> 523,141 -> 523,150 -> 525,150 -> 525,142 -> 525,150 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +507,125 -> 507,127 -> 505,127 -> 505,134 -> 514,134 -> 514,127 -> 513,127 -> 513,125 +494,117 -> 499,117 +478,91 -> 482,91 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +472,109 -> 472,110 -> 488,110 -> 488,109 +499,62 -> 499,66 -> 495,66 -> 495,70 -> 510,70 -> 510,66 -> 503,66 -> 503,62 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +487,75 -> 487,76 -> 499,76 -> 499,75 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +507,50 -> 507,53 -> 501,53 -> 501,59 -> 516,59 -> 516,53 -> 511,53 -> 511,50 +468,47 -> 468,37 -> 468,47 -> 470,47 -> 470,37 -> 470,47 -> 472,47 -> 472,41 -> 472,47 -> 474,47 -> 474,39 -> 474,47 -> 476,47 -> 476,44 -> 476,47 -> 478,47 -> 478,45 -> 478,47 -> 480,47 -> 480,37 -> 480,47 -> 482,47 -> 482,40 -> 482,47 -> 484,47 -> 484,42 -> 484,47 -> 486,47 -> 486,38 -> 486,47 +480,117 -> 485,117 +494,23 -> 494,22 -> 494,23 -> 496,23 -> 496,17 -> 496,23 -> 498,23 -> 498,20 -> 498,23 -> 500,23 -> 500,14 -> 500,23 -> 502,23 -> 502,13 -> 502,23 -> 504,23 -> 504,15 -> 504,23 +498,121 -> 498,122 -> 509,122 -> 509,121 +487,75 -> 487,76 -> 499,76 -> 499,75 +507,50 -> 507,53 -> 501,53 -> 501,59 -> 516,59 -> 516,53 -> 511,53 -> 511,50 +462,104 -> 462,99 -> 462,104 -> 464,104 -> 464,98 -> 464,104 -> 466,104 -> 466,102 -> 466,104 -> 468,104 -> 468,97 -> 468,104 -> 470,104 -> 470,96 -> 470,104 -> 472,104 -> 472,99 -> 472,104 -> 474,104 -> 474,100 -> 474,104 -> 476,104 -> 476,96 -> 476,104 -> 478,104 -> 478,97 -> 478,104 \ No newline at end of file