From 5f043c383c971ae1ca962a66a6d74b1e2e5e0236 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:14:02 +0100 Subject: [PATCH 001/100] 2016: d01: ex1: add input --- 2016/d01/ex1/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d01/ex1/input diff --git a/2016/d01/ex1/input b/2016/d01/ex1/input new file mode 100644 index 0000000..94fce73 --- /dev/null +++ b/2016/d01/ex1/input @@ -0,0 +1 @@ +R1, R1, R3, R1, R1, L2, R5, L2, R5, R1, R4, L2, R3, L3, R4, L5, R4, R4, R1, L5, L4, R5, R3, L1, R4, R3, L2, L1, R3, L4, R3, L2, R5, R190, R3, R5, L5, L1, R54, L3, L4, L1, R4, R1, R3, L1, L1, R2, L2, R2, R5, L3, R4, R76, L3, R4, R191, R5, R5, L5, L4, L5, L3, R1, R3, R2, L2, L2, L4, L5, L4, R5, R4, R4, R2, R3, R4, L3, L2, R5, R3, L2, L1, R2, L3, R2, L1, L1, R1, L3, R5, L5, L1, L2, R5, R3, L3, R3, R5, R2, R5, R5, L5, L5, R2, L3, L5, L2, L1, R2, R2, L2, R2, L3, L2, R3, L5, R4, L4, L5, R3, L4, R1, R3, R2, R4, L2, L3, R2, L5, R5, R4, L2, R4, L1, L3, L1, L3, R1, R2, R1, L5, R5, R3, L3, L3, L2, R4, R2, L5, L1, L1, L5, L4, L1, L1, R1 From 561eb1b4fed850fae93b953c7d5a9fcc5a0d3782 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:14:07 +0100 Subject: [PATCH 002/100] 2016: d01: ex1: add solution --- 2016/d01/ex1/ex1.py | 64 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100755 2016/d01/ex1/ex1.py diff --git a/2016/d01/ex1/ex1.py b/2016/d01/ex1/ex1.py new file mode 100755 index 0000000..d162b01 --- /dev/null +++ b/2016/d01/ex1/ex1.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python + +import enum +import sys +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +class Direction(enum.Enum): + NORTH = Point(-1, 0) + EAST = Point(0, 1) + SOUTH = Point(1, 0) + WEST = Point(0, -1) + + def left(self) -> "Direction": + match self: + case Direction.NORTH: + return Direction.WEST + case Direction.EAST: + return Direction.NORTH + case Direction.SOUTH: + return Direction.EAST + case Direction.WEST: + return Direction.SOUTH + + def right(self) -> "Direction": + match self: + case Direction.NORTH: + return Direction.EAST + case Direction.EAST: + return Direction.SOUTH + case Direction.SOUTH: + return Direction.WEST + case Direction.WEST: + return Direction.NORTH + + def apply(self, p: Point, n: int = 1) -> Point: + dx, dy = self.value + return Point(p.x + dx * n, p.y + dy * n) + + +def solve(input: str) -> int: + def parse(input: str) -> list[tuple[str, int]]: + return [((line[0]), int(line[1:])) for line in input.split(", ")] + + pos, dir = Point(0, 0), Direction.NORTH + directions = parse(input) + for turn, length in directions: + dir = dir.left() if turn == "L" else dir.right() + pos = dir.apply(pos, length) + return abs(pos.x) + abs(pos.y) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 50d4959244480cc65d6705aa4ba562d14cb7dca4 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:14:12 +0100 Subject: [PATCH 003/100] 2016: d01: ex2: add input --- 2016/d01/ex2/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d01/ex2/input diff --git a/2016/d01/ex2/input b/2016/d01/ex2/input new file mode 100644 index 0000000..94fce73 --- /dev/null +++ b/2016/d01/ex2/input @@ -0,0 +1 @@ +R1, R1, R3, R1, R1, L2, R5, L2, R5, R1, R4, L2, R3, L3, R4, L5, R4, R4, R1, L5, L4, R5, R3, L1, R4, R3, L2, L1, R3, L4, R3, L2, R5, R190, R3, R5, L5, L1, R54, L3, L4, L1, R4, R1, R3, L1, L1, R2, L2, R2, R5, L3, R4, R76, L3, R4, R191, R5, R5, L5, L4, L5, L3, R1, R3, R2, L2, L2, L4, L5, L4, R5, R4, R4, R2, R3, R4, L3, L2, R5, R3, L2, L1, R2, L3, R2, L1, L1, R1, L3, R5, L5, L1, L2, R5, R3, L3, R3, R5, R2, R5, R5, L5, L5, R2, L3, L5, L2, L1, R2, R2, L2, R2, L3, L2, R3, L5, R4, L4, L5, R3, L4, R1, R3, R2, R4, L2, L3, R2, L5, R5, R4, L2, R4, L1, L3, L1, L3, R1, R2, R1, L5, R5, R3, L3, L3, L2, R4, R2, L5, L1, L1, L5, L4, L1, L1, R1 From 076b93e73a8c48f0e39ef803ca26bd97317bbbfc Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:14:21 +0100 Subject: [PATCH 004/100] 2016: d01: ex2: add solution --- 2016/d01/ex2/ex2.py | 74 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100755 2016/d01/ex2/ex2.py diff --git a/2016/d01/ex2/ex2.py b/2016/d01/ex2/ex2.py new file mode 100755 index 0000000..1053ad5 --- /dev/null +++ b/2016/d01/ex2/ex2.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python + +import enum +import sys +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +class Direction(enum.Enum): + NORTH = Point(-1, 0) + EAST = Point(0, 1) + SOUTH = Point(1, 0) + WEST = Point(0, -1) + + def left(self) -> "Direction": + match self: + case Direction.NORTH: + return Direction.WEST + case Direction.EAST: + return Direction.NORTH + case Direction.SOUTH: + return Direction.EAST + case Direction.WEST: + return Direction.SOUTH + + def right(self) -> "Direction": + match self: + case Direction.NORTH: + return Direction.EAST + case Direction.EAST: + return Direction.SOUTH + case Direction.SOUTH: + return Direction.WEST + case Direction.WEST: + return Direction.NORTH + + def apply(self, p: Point, n: int = 1) -> Point: + dx, dy = self.value + return Point(p.x + dx * n, p.y + dy * n) + + +def solve(input: str) -> int: + def parse(input: str) -> list[tuple[str, int]]: + return [((line[0]), int(line[1:])) for line in input.split(", ")] + + def first_repeat(directions: list[tuple[str, int]]) -> Point: + pos, dir = Point(0, 0), Direction.NORTH + directions = parse(input) + seen = {pos} + for turn, length in directions: + dir = dir.left() if turn == "L" else dir.right() + for _ in range(length): + pos = dir.apply(pos) + if pos in seen: + return pos + seen.add(pos) + assert False # Sanity check + + directions = parse(input) + pos = first_repeat(directions) + return abs(pos.x) + abs(pos.y) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From cb8aea3bdd28dae486caf7570e064cda54259678 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:28:09 +0100 Subject: [PATCH 005/100] 2016: d02: ex1: add input --- 2016/d02/ex1/input | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 2016/d02/ex1/input diff --git a/2016/d02/ex1/input b/2016/d02/ex1/input new file mode 100644 index 0000000..5e109ca --- /dev/null +++ b/2016/d02/ex1/input @@ -0,0 +1,5 @@ +DUURRDRRURUUUDLRUDDLLLURULRRLDULDRDUULULLUUUDRDUDDURRULDRDDDUDDURLDLLDDRRURRUUUDDRUDDLLDDDURLRDDDULRDUDDRDRLRDUULDLDRDLUDDDLRDRLDLUUUDLRDLRUUUDDLUURRLLLUUUUDDLDRRDRDRLDRLUUDUDLDRUDDUDLLUUURUUDLULRDRULURURDLDLLDLLDUDLDRDULLDUDDURRDDLLRLLLLDLDRLDDUULRDRURUDRRRDDDUULRULDDLRLLLLRLLLLRLURRRLRLRDLULRRLDRULDRRLRURDDLDDRLRDLDRLULLRRUDUURRULLLRLRLRRUDLRDDLLRRUDUDUURRRDRDLDRUDLDRDLUUULDLRLLDRULRULLRLRDRRLRLULLRURUULRLLRRRDRLULUDDUUULDULDUDDDUDLRLLRDRDLUDLRLRRDDDURUUUDULDLDDLDRDDDLURLDRLDURUDRURDDDDDDULLDLDLU +LURLRUURDDLDDDLDDLULRLUUUDRDUUDDUDLDLDDLLUDURDRDRULULLRLDDUDRRDRUDLRLDDDURDUURLUURRLLDRURDRLDURUDLRLLDDLLRDRRLURLRRUULLLDRLULURULRRDLLLDLDLRDRRURUUUDUDRUULDLUDLURLRDRRLDRUDRUDURLDLDDRUULDURDUURLLUDRUUUUUURRLRULUDRDUDRLLDUDUDUULURUURURULLUUURDRLDDRLUURDLRULDRRRRLRULRDLURRUULURDRRLDLRUURUDRRRDRURRLDDURLUDLDRRLDRLLLLRDUDLULUDRLLLDULUDUULLULLRLURURURDRRDRUURDULRDDLRULLLLLLDLLURLRLLRDLLRLUDLRUDDRLLLDDUDRLDLRLDUDU +RRDDLDLRRUULRDLLURLRURDLUURLLLUUDDULLDRURDUDRLRDRDDUUUULDLUDDLRDULDDRDDDDDLRRDDDRUULDLUDUDRRLUUDDRUDLUUDUDLUDURDURDLLLLDUUUUURUUURDURUUUUDDURULLDDLDLDLULUDRULULULLLDRLRRLLDLURULRDLULRLDRRLDDLULDDRDDRURLDLUULULRDRDRDRRLLLURLLDUUUDRRUUURDLLLRUUDDDULRDRRUUDDUUUDLRRURUDDLUDDDUDLRUDRRDLLLURRRURDRLLULDUULLURRULDLURRUURURRLRDULRLULUDUULRRULLLDDDDURLRRRDUDULLRRDURUURUUULUDLDULLUURDRDRRDURDLUDLULRULRLLURULDRUURRRRDUDULLLLLRRLRUDDUDLLURLRDDLLDLLLDDUDDDDRDURRL +LLRURUDUULRURRUDURRDLUUUDDDDURUUDLLDLRULRUUDUURRLRRUDLLUDLDURURRDDLLRUDDUDLDUUDDLUUULUUURRURDDLUDDLULRRRUURLDLURDULULRULRLDUDLLLLDLLLLRLDLRLDLUULLDDLDRRRURDDRRDURUURLRLRDUDLLURRLDUULDRURDRRURDDDDUUUDDRDLLDDUDURDLUUDRLRDUDLLDDDDDRRDRDUULDDLLDLRUDULLRRLLDUDRRLRURRRRLRDUDDRRDDUUUDLULLRRRDDRUUUDUUURUULUDURUDLDRDRLDLRLLRLRDRDRULRURLDDULRURLRLDUURLDDLUDRLRUDDURLUDLLULDLDDULDUDDDUDRLRDRUUURDUULLDULUUULLLDLRULDULUDLRRURDLULUDUDLDDRDRUUULDLRURLRUURDLULUDLULLRD +UURUDRRDDLRRRLULLDDDRRLDUDLRRULUUDULLDUDURRDLDRRRDLRDUUUDRDRRLLDULRLUDUUULRULULRUDURDRDDLDRULULULLDURULDRUDDDURLLDUDUUUULRUULURDDDUUUURDLDUUURUDDLDRDLLUDDDDULRDLRUDRLRUDDURDLDRLLLLRLULRDDUDLLDRURDDUDRRLRRDLDDUDRRLDLUURLRLLRRRDRLRLLLLLLURULUURRDDRRLRLRUURDLULRUUDRRRLRLRULLLLUDRULLRDDRDDLDLDRRRURLURDDURRLUDDULRRDULRURRRURLUURDDDUDLDUURRRLUDUULULURLRDDRULDLRLLUULRLLRLUUURUUDUURULRRRUULUULRULDDURLDRRULLRDURRDDDLLUDLDRRRRUULDDD From e308ed92e9972996ae24d3ef414b074061c41f25 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:28:14 +0100 Subject: [PATCH 006/100] 2016: d02: ex1: add solution --- 2016/d02/ex1/ex1.py | 69 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100755 2016/d02/ex1/ex1.py diff --git a/2016/d02/ex1/ex1.py b/2016/d02/ex1/ex1.py new file mode 100755 index 0000000..5ce9122 --- /dev/null +++ b/2016/d02/ex1/ex1.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python + +import enum +import sys +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +class Direction(enum.StrEnum): + UP = "U" + DOWN = "D" + LEFT = "L" + RIGHT = "R" + + def apply(self, p: Point) -> Point: + match self: + case Direction.UP: + dx, dy = -1, 0 + case Direction.DOWN: + dx, dy = 1, 0 + case Direction.LEFT: + dx, dy = 0, -1 + case Direction.RIGHT: + dx, dy = 0, 1 + return Point(p.x + dx, p.y + dy) + + +def solve(input: str) -> int: + def parse(input: str) -> list[list[Direction]]: + return [[Direction(c) for c in line] for line in input.splitlines()] + + def enter_code(directions: list[list[Direction]]) -> int: + KEYPAD = { + Point(-1, -1): 1, + Point(-1, 0): 2, + Point(-1, 1): 3, + Point(0, -1): 4, + Point(0, 0): 5, + Point(0, 1): 6, + Point(1, -1): 7, + Point(1, 0): 8, + Point(1, 1): 9, + } + res = 0 + pos = Point(0, 0) + for line in directions: + for d in line: + new_pos = d.apply(pos) + if new_pos not in KEYPAD: + continue + pos = new_pos + res = res * 10 + KEYPAD[pos] + return res + + directions = parse(input) + return enter_code(directions) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 3f121734af5eb97109bc5a57f3ab974657471278 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:28:23 +0100 Subject: [PATCH 007/100] 2016: d02: ex2: add input --- 2016/d02/ex2/input | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 2016/d02/ex2/input diff --git a/2016/d02/ex2/input b/2016/d02/ex2/input new file mode 100644 index 0000000..5e109ca --- /dev/null +++ b/2016/d02/ex2/input @@ -0,0 +1,5 @@ +DUURRDRRURUUUDLRUDDLLLURULRRLDULDRDUULULLUUUDRDUDDURRULDRDDDUDDURLDLLDDRRURRUUUDDRUDDLLDDDURLRDDDULRDUDDRDRLRDUULDLDRDLUDDDLRDRLDLUUUDLRDLRUUUDDLUURRLLLUUUUDDLDRRDRDRLDRLUUDUDLDRUDDUDLLUUURUUDLULRDRULURURDLDLLDLLDUDLDRDULLDUDDURRDDLLRLLLLDLDRLDDUULRDRURUDRRRDDDUULRULDDLRLLLLRLLLLRLURRRLRLRDLULRRLDRULDRRLRURDDLDDRLRDLDRLULLRRUDUURRULLLRLRLRRUDLRDDLLRRUDUDUURRRDRDLDRUDLDRDLUUULDLRLLDRULRULLRLRDRRLRLULLRURUULRLLRRRDRLULUDDUUULDULDUDDDUDLRLLRDRDLUDLRLRRDDDURUUUDULDLDDLDRDDDLURLDRLDURUDRURDDDDDDULLDLDLU +LURLRUURDDLDDDLDDLULRLUUUDRDUUDDUDLDLDDLLUDURDRDRULULLRLDDUDRRDRUDLRLDDDURDUURLUURRLLDRURDRLDURUDLRLLDDLLRDRRLURLRRUULLLDRLULURULRRDLLLDLDLRDRRURUUUDUDRUULDLUDLURLRDRRLDRUDRUDURLDLDDRUULDURDUURLLUDRUUUUUURRLRULUDRDUDRLLDUDUDUULURUURURULLUUURDRLDDRLUURDLRULDRRRRLRULRDLURRUULURDRRLDLRUURUDRRRDRURRLDDURLUDLDRRLDRLLLLRDUDLULUDRLLLDULUDUULLULLRLURURURDRRDRUURDULRDDLRULLLLLLDLLURLRLLRDLLRLUDLRUDDRLLLDDUDRLDLRLDUDU +RRDDLDLRRUULRDLLURLRURDLUURLLLUUDDULLDRURDUDRLRDRDDUUUULDLUDDLRDULDDRDDDDDLRRDDDRUULDLUDUDRRLUUDDRUDLUUDUDLUDURDURDLLLLDUUUUURUUURDURUUUUDDURULLDDLDLDLULUDRULULULLLDRLRRLLDLURULRDLULRLDRRLDDLULDDRDDRURLDLUULULRDRDRDRRLLLURLLDUUUDRRUUURDLLLRUUDDDULRDRRUUDDUUUDLRRURUDDLUDDDUDLRUDRRDLLLURRRURDRLLULDUULLURRULDLURRUURURRLRDULRLULUDUULRRULLLDDDDURLRRRDUDULLRRDURUURUUULUDLDULLUURDRDRRDURDLUDLULRULRLLURULDRUURRRRDUDULLLLLRRLRUDDUDLLURLRDDLLDLLLDDUDDDDRDURRL +LLRURUDUULRURRUDURRDLUUUDDDDURUUDLLDLRULRUUDUURRLRRUDLLUDLDURURRDDLLRUDDUDLDUUDDLUUULUUURRURDDLUDDLULRRRUURLDLURDULULRULRLDUDLLLLDLLLLRLDLRLDLUULLDDLDRRRURDDRRDURUURLRLRDUDLLURRLDUULDRURDRRURDDDDUUUDDRDLLDDUDURDLUUDRLRDUDLLDDDDDRRDRDUULDDLLDLRUDULLRRLLDUDRRLRURRRRLRDUDDRRDDUUUDLULLRRRDDRUUUDUUURUULUDURUDLDRDRLDLRLLRLRDRDRULRURLDDULRURLRLDUURLDDLUDRLRUDDURLUDLLULDLDDULDUDDDUDRLRDRUUURDUULLDULUUULLLDLRULDULUDLRRURDLULUDUDLDDRDRUUULDLRURLRUURDLULUDLULLRD +UURUDRRDDLRRRLULLDDDRRLDUDLRRULUUDULLDUDURRDLDRRRDLRDUUUDRDRRLLDULRLUDUUULRULULRUDURDRDDLDRULULULLDURULDRUDDDURLLDUDUUUULRUULURDDDUUUURDLDUUURUDDLDRDLLUDDDDULRDLRUDRLRUDDURDLDRLLLLRLULRDDUDLLDRURDDUDRRLRRDLDDUDRRLDLUURLRLLRRRDRLRLLLLLLURULUURRDDRRLRLRUURDLULRUUDRRRLRLRULLLLUDRULLRDDRDDLDLDRRRURLURDDURRLUDDULRRDULRURRRURLUURDDDUDLDUURRRLUDUULULURLRDDRULDLRLLUULRLLRLUUURUUDUURULRRRUULUULRULDDURLDRRULLRDURRDDDLLUDLDRRRRUULDDD From e1bec41d1dd849cbf48a515863dc4e6905ab182e Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:28:32 +0100 Subject: [PATCH 008/100] 2016: d02: ex2: add solution --- 2016/d02/ex2/ex2.py | 73 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100755 2016/d02/ex2/ex2.py diff --git a/2016/d02/ex2/ex2.py b/2016/d02/ex2/ex2.py new file mode 100755 index 0000000..99f39e0 --- /dev/null +++ b/2016/d02/ex2/ex2.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python + +import enum +import sys +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +class Direction(enum.StrEnum): + UP = "U" + DOWN = "D" + LEFT = "L" + RIGHT = "R" + + def apply(self, p: Point) -> Point: + match self: + case Direction.UP: + dx, dy = -1, 0 + case Direction.DOWN: + dx, dy = 1, 0 + case Direction.LEFT: + dx, dy = 0, -1 + case Direction.RIGHT: + dx, dy = 0, 1 + return Point(p.x + dx, p.y + dy) + + +def solve(input: str) -> str: + def parse(input: str) -> list[list[Direction]]: + return [[Direction(c) for c in line] for line in input.splitlines()] + + def enter_code(directions: list[list[Direction]]) -> str: + KEYPAD = { + Point(-2, 2): "1", + Point(-1, 1): "2", + Point(-1, 2): "3", + Point(-1, 3): "4", + Point(0, 0): "5", + Point(0, 1): "6", + Point(0, 2): "7", + Point(0, 3): "8", + Point(0, 4): "9", + Point(1, 1): "A", + Point(1, 2): "B", + Point(1, 3): "C", + Point(2, 2): "D", + } + letters = [] + pos = Point(0, 0) + for line in directions: + for d in line: + new_pos = d.apply(pos) + if new_pos not in KEYPAD: + continue + pos = new_pos + letters.append(KEYPAD[pos]) + return "".join(letters) + + directions = parse(input) + return enter_code(directions) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 7539caccea1fae851f0fca9a85eeec7adb1cf1d0 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:41:09 +0100 Subject: [PATCH 009/100] 2016: d03: ex1: add input --- 2016/d03/ex1/input | 1914 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1914 insertions(+) create mode 100644 2016/d03/ex1/input diff --git a/2016/d03/ex1/input b/2016/d03/ex1/input new file mode 100644 index 0000000..7a31a1d --- /dev/null +++ b/2016/d03/ex1/input @@ -0,0 +1,1914 @@ + 775 785 361 + 622 375 125 + 297 839 375 + 245 38 891 + 503 463 849 + 731 482 759 + 29 734 734 + 245 771 269 + 261 315 904 + 669 96 581 + 570 745 156 + 124 678 684 + 472 360 73 + 174 251 926 + 406 408 976 + 413 238 571 + 375 554 22 + 211 379 590 + 271 821 847 + 696 253 116 + 513 972 959 + 539 557 752 + 168 362 550 + 690 236 284 + 434 91 818 + 859 393 779 + 620 313 56 + 188 983 783 + 799 900 573 + 932 359 565 + 357 670 69 + 525 71 52 + 640 654 43 + 695 781 907 + 676 680 938 + 63 507 570 + 985 492 587 + 984 34 333 + 25 489 399 + 470 158 43 + 715 491 617 + 508 412 607 + 365 446 743 + 504 189 378 + 225 424 517 + 473 45 649 + 847 927 424 + 455 889 697 + 64 230 846 + 579 368 881 + 639 536 74 + 433 803 943 + 14 629 963 + 432 481 136 + 781 625 323 + 836 215 201 + 620 614 366 + 801 679 673 + 745 376 326 + 891 957 751 + 64 430 347 + 784 534 237 + 740 485 470 + 570 894 790 + 905 979 90 + 571 526 716 + 810 602 259 + 20 41 648 + 816 566 848 + 891 883 616 + 801 797 341 + 99 119 584 + 175 40 994 + 8 234 831 + 184 254 958 + 625 999 945 + 326 385 266 + 475 644 785 + 345 769 650 + 427 410 680 + 689 887 40 + 380 109 842 + 342 640 785 + 164 546 554 + 843 871 419 + 873 687 74 + 84 192 465 + 186 777 83 + 180 130 726 + 315 860 652 + 88 273 735 + 859 684 791 + 806 655 299 + 763 409 636 + 310 532 897 + 891 163 855 + 631 200 986 + 104 559 294 + 555 679 989 + 770 437 935 + 997 189 711 + 830 300 983 + 566 325 793 + 7 694 911 + 574 490 138 + 596 230 973 + 855 377 552 + 969 150 518 + 453 653 525 + 753 556 47 + 858 509 551 + 103 545 325 + 660 215 284 + 566 509 591 + 647 97 650 + 993 597 775 + 970 566 802 + 242 922 349 + 693 932 502 + 872 267 657 + 526 87 944 + 395 85 188 + 134 129 901 + 56 244 785 + 1 733 300 + 55 698 552 + 372 933 480 + 548 459 792 + 631 653 983 + 443 320 23 + 555 117 715 + 665 268 704 + 804 899 736 + 654 823 13 + 441 250 736 + 229 324 580 + 41 389 857 + 215 103 753 + 933 311 835 + 955 234 744 + 113 141 315 + 790 130 235 + 464 464 129 + 328 386 315 + 787 735 301 + 839 744 299 + 77 119 23 + 407 321 190 + 968 962 904 + 653 752 732 + 962 145 723 + 175 452 717 + 868 474 195 + 10 273 943 + 308 388 626 + 296 133 647 + 851 474 336 + 839 777 975 + 514 651 867 + 949 947 886 + 802 92 113 + 167 938 941 + 840 627 166 + 825 72 754 + 166 661 677 + 759 71 279 + 705 70 113 + 849 4 295 + 563 679 588 + 343 76 636 + 842 669 45 + 892 597 431 + 26 864 580 + 889 509 641 + 696 267 506 + 608 778 297 + 293 867 667 + 662 469 97 + 243 184 809 + 785 434 715 + 691 568 759 + 599 4 164 + 444 566 816 + 486 145 595 + 787 41 538 + 953 151 842 + 861 877 759 + 228 972 678 + 846 114 915 + 253 41 621 + 59 989 405 + 222 948 665 + 478 631 364 + 524 717 175 + 752 94 474 + 47 421 419 + 113 510 343 + 99 733 667 + 787 651 708 + 703 557 486 + 489 637 702 + 510 287 529 + 483 308 545 + 454 177 87 + 433 735 242 + 638 734 172 + 208 702 285 + 999 157 251 + 776 76 341 + 689 164 553 + 477 938 456 + 45 848 863 + 466 255 644 + 578 396 93 + 471 419 368 + 411 27 320 + 317 291 732 + 303 42 605 + 597 313 473 + 70 419 120 + 101 440 745 + 35 176 656 + 236 329 198 + 74 296 40 + 272 78 233 + 864 404 510 + 37 368 531 + 828 35 50 + 191 272 396 + 238 548 387 + 129 527 13 + 464 600 194 + 385 42 341 + 81 596 432 + 589 663 943 + 256 704 723 + 671 152 505 + 873 532 364 + 758 755 202 + 378 621 563 + 735 463 555 + 806 910 409 + 809 897 276 + 546 755 608 + 609 852 79 + 279 133 527 + 106 696 980 + 63 981 360 + 90 440 832 + 127 860 495 + 714 395 480 + 815 485 59 + 792 91 507 + 249 524 138 + 567 452 486 + 923 544 768 + 913 253 767 + 456 582 293 + 706 507 577 + 187 619 644 + 569 978 602 + 88 886 291 + 448 712 211 + 517 815 258 + 743 397 816 + 977 793 795 + 847 905 668 + 690 869 162 + 426 541 257 + 637 586 272 + 82 950 821 + 785 936 350 + 812 31 490 + 318 253 159 + 515 688 479 + 423 855 407 + 931 830 651 + 496 241 28 + 491 924 624 + 864 966 133 + 171 438 712 + 736 867 734 + 551 548 267 + 288 455 474 + 557 622 273 + 494 74 507 + 541 628 390 + 288 583 310 + 411 63 353 + 487 527 295 + 520 567 536 + 739 816 848 + 349 681 269 + 898 902 676 + 647 759 892 + 573 512 75 + 186 252 895 + 804 320 772 + 730 934 107 + 198 651 774 + 625 535 985 + 568 499 235 + 159 42 837 + 854 617 695 + 34 299 670 + 823 733 41 + 830 615 789 + 825 652 562 + 697 105 504 + 114 103 540 + 18 141 106 + 94 121 479 + 859 774 177 + 464 873 208 + 790 125 305 + 982 586 811 + 521 386 478 + 916 329 620 + 764 91 351 + 526 684 103 + 314 749 283 + 510 226 378 + 160 269 278 + 638 368 120 + 616 540 475 + 863 637 89 + 744 172 445 + 856 391 269 + 768 276 634 + 940 610 820 + 289 254 649 + 254 364 98 + 304 613 620 + 164 652 257 + 890 74 483 + 813 640 710 + 884 99 735 + 707 881 380 + 954 983 971 + 487 911 275 + 256 920 43 + 384 772 313 + 863 120 903 + 703 821 82 + 765 731 957 + 55 935 516 + 162 785 801 + 140 161 927 + 460 139 84 + 926 139 965 + 764 3 976 + 765 487 42 + 377 835 277 + 897 734 256 + 345 320 55 + 515 755 504 + 615 623 562 + 412 280 6 + 382 392 468 + 365 625 461 + 542 406 610 + 360 200 801 + 562 221 627 + 556 557 141 + 372 231 212 + 523 457 272 + 80 701 676 + 940 59 871 + 906 695 987 + 715 922 573 + 618 446 552 + 196 849 62 + 772 867 608 + 735 377 418 + 676 607 236 + 25 447 830 + 187 270 738 + 214 175 990 + 438 790 816 + 456 396 534 + 220 628 356 + 384 935 215 + 377 593 802 + 566 651 650 + 648 529 999 + 128 884 472 + 688 951 661 + 312 722 722 + 48 526 696 + 266 347 903 + 698 21 354 + 933 404 570 + 303 417 685 + 46 562 897 + 566 931 14 + 539 747 911 + 374 623 743 + 868 353 513 + 927 903 481 + 207 765 560 + 351 956 215 + 540 945 512 + 362 322 651 + 820 555 190 + 548 301 467 + 405 931 842 + 598 347 150 + 276 971 814 + 450 480 361 + 577 538 493 + 139 104 181 + 716 233 697 + 494 647 287 + 511 782 575 + 809 728 107 + 895 167 85 + 741 746 141 + 23 115 83 + 173 147 549 + 191 208 581 + 313 356 284 + 357 393 123 + 60 322 363 + 830 87 661 + 403 711 713 + 433 651 101 + 783 738 792 + 574 821 764 + 705 214 263 + 256 243 334 + 341 152 444 + 520 140 131 + 975 461 313 + 319 441 161 + 791 47 309 + 228 973 235 + 583 305 398 + 389 876 277 + 551 974 351 + 822 786 876 + 364 347 874 + 523 130 173 + 806 90 462 + 304 146 402 + 748 760 239 + 164 345 704 + 833 817 628 + 239 739 640 + 284 296 234 + 127 711 415 + 435 590 402 + 480 250 914 + 282 379 914 + 547 845 267 + 922 795 324 + 600 500 447 + 342 464 53 + 404 341 143 + 641 129 90 + 375 730 138 + 263 32 124 + 450 749 251 + 588 697 89 + 688 431 603 + 156 614 617 + 604 259 349 + 475 282 45 + 572 197 308 + 743 749 686 + 770 811 907 + 117 543 845 + 41 179 766 + 147 555 742 + 130 410 169 + 476 62 627 + 652 879 240 + 678 852 508 + 953 795 413 + 699 597 444 + 324 577 846 + 919 79 727 + 908 719 125 + 128 776 714 + 299 256 118 + 513 222 115 + 624 75 181 + 1 605 162 + 55 106 230 + 58 672 286 + 639 558 549 + 150 662 435 + 662 695 222 + 461 173 344 + 428 354 647 + 56 405 653 + 699 631 995 + 967 608 269 + 365 853 794 + 768 606 943 + 413 601 128 + 362 427 919 + 735 448 566 + 276 354 377 + 604 657 544 + 913 192 592 + 811 762 62 + 120 720 606 + 618 232 392 + 85 19 764 + 603 241 541 + 993 997 840 + 818 894 266 + 247 305 682 + 280 964 511 + 559 967 455 + 531 38 674 + 878 731 684 + 783 156 390 + 617 742 604 + 370 770 896 + 592 667 353 + 222 921 736 + 741 508 285 + 759 395 156 + 37 128 254 + 209 631 716 + 237 423 613 + 65 856 439 + 942 526 288 + 862 811 341 + 753 840 59 + 369 67 907 + 817 947 802 + 768 945 137 + 356 557 207 + 716 9 205 + 361 558 1 + 310 889 719 + 97 128 887 + 361 776 873 + 86 181 892 + 284 865 808 + 218 859 279 + 299 649 624 + 542 583 624 + 617 66 48 + 921 459 75 + 921 672 759 + 800 345 814 + 572 975 685 + 720 980 867 + 522 135 267 + 139 376 86 + 362 399 585 + 330 206 511 + 419 194 679 + 293 374 3 + 560 272 676 + 224 926 717 + 685 927 347 + 555 786 943 + 591 776 538 + 326 835 471 + 635 67 464 + 276 916 913 + 304 965 2 + 50 110 912 + 893 200 307 + 445 248 596 + 725 128 681 + 279 602 888 + 7 204 766 + 284 429 191 + 264 503 351 + 531 335 140 + 381 220 292 + 518 905 824 + 416 477 600 + 405 663 511 + 531 92 321 + 824 131 534 + 409 113 431 + 12 192 485 + 864 557 391 + 858 390 756 + 28 465 231 + 188 216 825 + 177 316 910 + 766 41 329 + 202 105 219 + 787 125 542 + 639 108 5 + 639 10 525 + 17 105 532 + 586 498 918 + 630 389 19 + 317 361 903 + 185 575 708 + 679 532 355 + 851 367 844 + 775 68 120 + 644 45 194 + 802 44 242 + 852 214 601 + 595 525 281 + 258 450 415 + 534 121 561 + 117 33 620 + 576 147 318 + 217 953 365 + 863 686 803 + 751 694 680 + 502 669 546 + 385 204 399 + 740 760 650 + 105 567 227 + 526 574 378 + 496 858 216 + 248 475 19 + 790 358 887 + 556 713 866 + 348 334 937 + 364 364 88 + 396 58 915 + 871 418 645 + 438 507 449 + 967 924 960 + 435 153 47 + 831 861 835 + 787 958 832 + 376 231 602 + 487 528 782 + 485 532 607 + 820 96 256 + 856 177 549 + 302 240 751 + 146 412 332 + 268 715 463 + 309 584 399 + 939 548 465 + 966 854 412 + 517 385 574 + 425 809 919 + 88 796 924 + 468 317 287 + 195 131 961 + 10 485 229 + 190 374 827 + 573 178 842 + 575 255 358 + 220 359 713 + 401 853 206 + 736 904 667 + 450 209 798 + 865 42 300 + 806 373 182 + 383 403 258 + 397 51 691 + 492 146 568 + 814 179 584 + 545 851 182 + 606 135 208 + 135 934 183 + 733 365 561 + 215 97 642 + 617 418 209 + 641 297 106 + 400 876 246 + 399 665 156 + 424 20 222 + 954 860 194 + 930 875 34 + 883 469 376 + 111 576 753 + 995 515 461 + 535 380 786 + 117 578 780 + 646 803 965 + 243 951 886 + 563 935 879 + 520 91 879 + 390 332 402 + 955 471 221 + 810 398 527 + 312 876 131 + 256 371 527 + 293 945 501 + 724 900 650 + 798 526 908 + 199 510 377 + 285 338 780 + 729 157 584 + 866 259 438 + 91 680 717 + 982 618 786 + 918 255 178 + 66 257 416 + 288 223 81 + 237 405 404 + 597 762 518 + 671 661 39 + 976 431 502 + 524 337 919 + 524 194 343 + 23 167 623 + 882 993 129 + 741 572 465 + 694 830 394 + 353 846 895 + 312 254 903 + 52 614 101 + 300 513 706 + 976 310 698 + 929 736 22 + 732 248 113 + 816 471 405 + 230 466 355 + 749 854 492 + 956 286 554 + 833 928 239 + 334 883 528 + 782 968 977 + 715 608 898 + 264 576 100 + 530 705 344 + 779 189 245 + 560 692 658 + 550 325 931 + 22 757 277 + 860 962 567 + 695 542 611 + 227 936 116 + 812 696 604 + 889 520 282 + 512 180 350 + 735 582 392 + 511 400 667 + 754 871 309 + 899 133 582 + 986 66 309 + 186 183 367 + 543 242 522 + 132 255 887 + 538 225 934 + 57 276 438 + 452 396 382 + 501 608 195 + 292 741 619 + 69 671 801 + 331 731 279 + 485 350 380 + 81 926 182 + 513 834 298 + 165 801 799 + 204 426 521 + 245 650 330 + 716 716 155 + 693 699 658 + 305 69 710 + 661 744 698 + 599 327 957 + 577 593 903 + 924 117 176 + 949 808 323 + 267 710 257 + 91 683 927 + 404 262 918 + 347 716 109 + 155 266 483 + 142 676 512 + 216 501 103 + 923 110 424 + 856 329 617 + 229 332 231 + 466 803 573 + 498 388 827 + 38 788 587 + 770 367 435 + 736 584 445 + 93 569 834 + 65 948 479 + 172 630 581 + 239 369 396 + 820 270 656 + 32 515 348 + 803 324 969 + 70 188 635 + 219 766 279 + 166 736 640 + 257 604 851 + 555 616 822 + 589 345 165 + 166 196 64 + 909 185 700 + 870 119 693 + 20 565 737 + 680 198 244 + 700 486 825 + 194 812 67 + 236 756 407 + 64 905 344 + 92 755 905 + 748 349 681 + 707 781 811 + 505 50 456 + 471 889 672 + 35 891 334 + 899 411 164 + 663 459 232 + 539 446 322 + 57 785 718 + 273 421 308 + 308 744 501 + 45 819 416 + 936 258 466 + 980 825 841 + 100 33 345 + 898 904 750 + 920 903 453 + 947 9 765 + 580 979 375 + 753 977 844 + 402 174 156 + 573 827 782 + 975 663 644 + 179 358 353 + 55 777 834 + 221 871 631 + 120 714 199 + 663 369 217 + 599 713 135 + 11 472 765 + 803 445 746 + 797 30 284 + 259 776 677 + 598 707 675 + 484 339 3 + 298 750 162 + 119 820 168 + 180 69 9 + 433 332 676 + 142 164 343 + 435 233 414 + 153 977 263 + 532 54 244 + 600 999 25 + 394 756 311 + 354 196 703 + 666 858 760 + 227 312 525 + 389 419 436 + 218 311 744 + 318 531 245 + 324 939 509 + 183 997 543 + 944 598 70 + 790 486 828 + 710 745 880 + 546 368 219 + 316 668 29 + 398 360 218 + 702 453 987 + 774 462 373 + 722 829 947 + 541 732 44 + 310 494 582 + 239 596 548 + 579 810 907 + 490 169 62 + 926 883 915 + 281 414 595 + 845 412 609 + 632 106 618 + 112 404 492 + 864 460 314 + 842 93 436 + 412 805 874 + 353 686 465 + 240 393 800 + 788 654 346 + 666 78 185 + 418 608 404 + 658 537 960 + 794 449 680 + 711 324 489 + 59 525 330 + 323 259 544 + 359 745 542 + 877 701 403 + 119 897 533 + 977 392 227 + 528 340 194 + 398 180 283 + 538 301 123 + 775 263 195 + 53 385 630 + 749 253 686 + 533 30 624 + 678 187 590 + 937 218 50 + 205 466 918 + 796 672 47 + 818 203 963 + 461 953 881 + 739 457 696 + 661 711 220 + 624 121 663 + 908 173 644 + 602 185 70 + 168 957 159 + 283 341 934 + 196 845 939 + 494 354 543 + 796 422 87 + 430 762 478 + 526 762 859 + 535 600 926 + 28 555 651 + 170 748 379 + 117 745 33 + 52 1 351 + 946 796 446 + 148 844 920 + 950 131 740 + 392 490 118 + 286 465 667 + 202 101 662 + 326 629 556 + 773 661 219 + 540 683 613 + 406 314 525 + 154 947 451 + 401 661 186 + 574 690 796 + 558 730 855 + 153 244 156 + 618 37 10 + 856 991 363 + 820 959 370 + 644 700 800 + 421 469 908 + 422 233 288 + 416 281 707 + 370 430 487 + 284 525 916 + 535 713 354 + 210 576 524 + 432 930 215 + 712 374 612 + 686 508 102 + 40 141 616 + 979 525 663 + 838 696 326 + 472 261 357 + 321 910 663 + 228 153 536 + 223 940 896 + 137 39 506 + 139 706 187 + 4 666 483 + 944 856 119 + 720 602 93 + 410 260 85 + 601 647 520 + 162 474 317 + 599 742 313 + 242 886 381 + 250 78 353 + 109 916 117 + 597 926 673 + 318 114 309 + 892 819 424 + 491 682 85 + 765 657 682 + 558 60 721 + 990 634 160 + 640 461 410 + 430 839 535 + 42 961 686 + 752 251 690 + 747 931 3 + 439 930 85 + 44 628 953 + 465 961 874 + 313 447 913 + 249 600 859 + 359 896 472 + 698 187 657 + 57 957 805 + 721 977 239 + 782 93 96 + 860 159 250 + 368 142 218 + 565 157 46 + 622 403 383 + 63 546 382 + 63 774 308 + 446 495 475 + 467 831 310 + 448 77 798 + 930 281 189 + 767 289 644 + 514 765 524 + 330 827 992 + 340 284 964 + 600 97 785 + 418 432 755 + 983 442 58 + 872 435 725 + 107 344 315 + 917 682 547 + 24 613 561 + 665 448 238 + 680 872 737 + 108 180 449 + 220 545 583 + 268 676 863 + 796 791 2 + 694 992 39 + 788 767 41 + 235 572 377 + 975 864 883 + 953 448 608 + 909 888 452 + 93 850 414 + 852 48 49 + 136 558 842 + 300 428 776 + 427 814 64 + 223 45 283 + 100 562 659 + 290 519 828 + 678 786 346 + 371 711 934 + 686 276 826 + 808 208 669 + 832 198 6 + 317 11 675 + 504 182 448 + 162 745 642 + 623 791 687 + 408 947 693 + 247 267 641 + 328 693 758 + 773 411 149 + 66 2 589 + 786 407 527 + 81 760 803 + 946 696 552 + 878 698 994 + 190 203 649 + 548 713 634 + 657 724 676 + 195 397 887 + 175 346 118 + 356 264 981 + 191 919 468 + 490 470 570 + 583 740 151 + 340 773 889 + 176 446 314 + 206 384 935 + 172 996 620 + 362 842 497 + 208 786 731 + 207 395 750 + 368 819 87 + 524 524 702 + 609 761 554 + 753 975 290 + 559 932 731 + 584 203 140 + 477 100 982 + 784 162 876 + 371 209 67 + 236 754 108 + 439 633 163 + 734 717 626 + 808 216 639 + 133 521 94 + 180 813 208 + 136 770 844 + 57 867 871 + 700 900 740 + 96 75 662 + 628 893 284 + 843 851 196 + 546 427 607 + 797 471 664 + 180 363 117 + 961 775 95 + 846 969 210 + 535 269 666 + 216 585 490 + 736 521 335 + 489 493 602 + 627 574 723 + 857 217 629 + 385 808 433 + 615 115 361 + 687 705 455 + 898 390 177 + 737 393 476 + 355 727 371 + 533 526 69 + 615 467 157 + 614 683 202 + 876 892 581 + 949 165 357 + 86 766 432 + 233 47 702 + 448 407 821 + 227 364 424 + 158 372 933 + 966 405 365 + 913 512 813 + 585 698 482 + 720 171 716 + 172 868 740 + 96 489 33 + 531 882 552 + 618 949 523 + 425 860 424 + 909 676 116 + 806 770 430 + 836 868 355 + 640 561 523 + 858 353 411 + 400 149 612 + 872 364 491 + 940 469 870 + 127 256 47 + 561 306 322 + 626 147 276 + 13 547 289 + 218 561 705 + 234 16 842 + 301 663 261 + 81 415 368 + 301 945 593 + 232 855 760 + 522 649 929 + 401 847 376 + 764 542 452 + 774 536 929 + 10 935 499 + 710 262 94 + 72 475 524 + 722 618 481 + 515 135 637 + 962 115 303 + 665 88 416 + 544 303 735 + 828 488 680 + 827 575 354 + 44 999 437 + 232 985 128 + 226 36 346 + 310 325 307 + 473 809 315 + 184 487 91 + 778 310 926 + 749 260 988 + 869 216 878 + 663 790 458 + 914 237 476 + 258 935 201 + 956 796 313 + 888 105 282 + 160 874 42 + 715 524 451 + 477 604 886 + 596 111 554 + 524 510 388 + 778 878 320 + 894 453 574 + 210 808 633 + 340 77 956 + 159 872 426 + 4 756 333 + 528 697 677 + 530 474 442 + 75 427 536 + 874 706 437 + 944 536 357 + 726 919 349 + 911 791 637 + 447 224 483 + 742 941 693 + 632 42 918 + 302 907 547 + 204 618 927 + 86 765 15 + 280 396 926 + 857 422 560 + 801 355 368 + 53 718 577 + 613 946 933 + 641 378 563 + 39 928 423 + 252 906 454 + 626 318 81 + 477 838 407 + 85 531 475 + 129 622 419 + 184 372 147 + 364 805 559 + 445 128 302 + 656 813 724 + 485 140 509 + 537 267 549 + 164 184 89 + 464 231 881 + 111 63 706 + 383 283 567 + 408 31 455 + 698 864 501 + 692 887 753 + 573 681 783 + 453 393 338 + 171 707 850 + 68 663 190 + 342 588 284 + 309 218 102 + 121 743 56 + 321 722 379 + 307 99 357 + 444 485 636 + 548 419 517 + 407 101 714 + 168 496 140 + 111 520 594 + 55 129 476 + 706 849 93 + 529 200 416 + 848 680 470 + 731 189 61 + 591 689 20 + 801 777 52 + 395 449 821 + 337 421 292 + 618 208 674 + 116 13 66 + 459 790 615 + 429 796 565 + 891 795 903 + 929 443 263 + 49 694 890 + 708 929 577 + 764 786 554 + 971 473 236 + 271 483 440 + 666 506 858 + 582 959 594 + 470 918 457 + 583 662 551 + 777 446 214 + 609 503 929 + 861 691 766 + 256 201 940 + 894 386 172 + 624 397 17 + 615 9 159 + 454 494 344 + 606 717 995 + 251 333 688 + 714 910 670 + 531 346 227 + 693 754 745 + 947 8 411 + 9 862 598 + 937 858 601 + 309 977 18 + 731 684 943 + 579 384 958 + 359 647 495 + 8 355 476 + 363 459 21 + 712 383 997 + 892 71 981 + 374 433 156 + 86 194 341 + 60 298 385 + 31 110 452 + 813 501 635 + 249 82 215 + 895 585 456 + 571 961 784 + 734 746 854 + 742 268 73 + 575 7 583 + 660 643 908 + 559 643 336 + 222 725 935 + 660 82 939 + 709 745 41 + 277 504 918 + 604 679 913 + 717 419 183 + 613 306 732 + 491 694 742 + 628 707 108 + 885 867 527 + 970 740 567 + 147 267 119 + 288 766 969 + 132 190 372 + 175 862 992 + 942 468 639 + 63 908 581 + 939 703 830 + 328 186 554 + 936 130 355 + 865 270 479 + 253 104 444 + 99 378 107 + 342 385 340 + 651 480 324 + 14 841 249 + 635 538 79 + 229 415 530 + 489 931 329 + 654 828 719 + 911 703 693 + 202 425 201 + 897 314 745 + 126 606 323 + 201 459 307 + 79 719 51 + 595 913 432 + 261 980 554 + 708 272 591 + 423 754 58 + 175 538 449 + 552 671 418 + 871 86 809 + 5 579 309 + 877 635 850 + 607 621 470 + 584 166 732 + 443 666 887 + 305 612 454 + 547 252 90 + 324 431 510 + 827 912 501 + 329 868 593 + 524 944 461 + 10 709 299 + 902 76 539 + 894 783 448 + 304 883 270 + 358 716 346 + 626 192 530 + 900 47 880 + 807 796 757 + 672 774 885 + 596 391 358 + 300 355 318 + 617 44 310 + 363 51 907 + 138 183 704 + 243 184 234 + 977 406 460 + 811 692 579 + 412 459 196 + 509 346 366 + 697 646 777 + 247 930 583 + 383 268 54 + 387 11 471 + 434 273 444 + 462 191 917 + 474 236 605 + 924 192 348 + 515 15 128 + 398 609 300 + 608 627 296 + 289 624 427 + 16 448 70 + 280 329 492 + 186 448 444 + 709 27 239 + 566 472 535 + 395 737 535 + 666 108 512 + 398 788 762 + 187 46 733 + 689 389 690 + 717 350 106 + 243 988 623 + 13 950 830 + 247 379 679 + 654 150 272 + 157 229 213 + 710 232 314 + 585 591 948 + 193 624 781 + 504 553 685 + 135 76 444 + 998 845 416 + 901 917 69 + 885 266 328 + 32 236 487 + 877 223 312 + 602 264 297 + 429 852 180 + 558 833 380 + 579 341 829 + 708 823 603 + 480 625 551 + 168 995 465 + 24 236 898 + 180 770 985 + 827 126 352 + 790 491 324 + 198 379 105 + 953 609 224 + 793 519 389 + 988 303 169 + 636 575 937 + 460 869 500 + 859 552 819 + 647 650 366 + 838 643 233 + 223 170 244 + 689 381 542 + 15 293 371 + 696 443 796 + 549 128 525 + 919 719 231 + 651 599 417 + 413 80 413 + 864 940 344 + 753 989 342 + 583 816 28 + 399 818 894 + 522 1 884 + 105 122 148 + 2 868 301 + 100 945 306 + 990 516 458 + 604 484 27 + 587 36 468 + 774 726 241 + 931 993 277 + 908 406 352 + 783 586 706 + 760 27 469 + 42 611 958 + 72 118 399 + 526 638 55 + 598 737 392 + 134 84 825 + 734 804 273 + 600 778 888 + 788 539 691 + 57 854 592 + 824 629 286 + 359 24 824 + 548 857 646 + 820 831 194 + 29 842 939 + 966 133 201 + 992 709 970 + 357 44 29 + 320 649 356 + 35 611 379 + 407 894 581 + 408 940 680 + 652 367 124 + 630 200 182 + 652 271 828 + 65 296 786 + 821 42 341 + 84 24 562 + 894 29 500 + 739 799 310 + 289 461 385 + 540 731 430 + 393 303 389 + 756 560 731 + 637 470 761 + 105 314 202 + 339 437 717 + 256 526 810 + 639 382 381 + 11 289 290 + 638 450 336 + 602 415 901 + 671 494 718 + 460 507 186 + 596 160 528 + 766 811 389 + 319 955 281 + 24 317 562 + 489 870 295 + 514 924 477 + 386 887 49 + 479 940 432 + 558 523 416 + 343 53 46 + 542 803 597 + 696 784 565 + 474 495 650 + 613 692 465 + 352 841 199 + 911 927 640 + 273 693 512 + 701 468 597 + 144 915 630 + 949 967 185 + 952 293 538 + 642 426 249 + 788 408 678 + 457 32 579 + 571 462 686 + 650 752 651 + 260 681 182 + 158 89 312 + 693 336 517 + 812 355 634 + 216 507 591 + 643 520 310 + 769 18 896 + 630 852 677 + 566 912 185 + 643 621 739 + 433 347 52 + 691 413 758 + 262 458 761 + 882 877 576 + 914 254 194 + 407 919 511 + 826 345 490 + 551 187 611 + 501 163 507 + 59 749 708 + 364 502 718 + 390 317 38 + 316 77 424 + 400 834 339 + 296 868 102 + 360 533 38 + 326 607 529 + 442 962 544 + 773 371 300 + 22 6 300 + 789 378 386 + 643 461 14 + 486 312 75 + 901 428 73 + 275 734 871 + 384 793 475 + 197 59 798 + 662 682 342 + 812 638 459 + 461 59 642 + 895 253 990 + 693 128 596 + 415 270 537 + 587 193 575 + 265 644 638 + 745 661 61 + 465 712 251 + 269 617 285 + 257 958 442 + 387 120 612 + 776 833 198 + 734 948 726 + 946 539 878 + 58 776 787 + 970 235 143 + 129 875 350 + 561 999 180 + 496 609 390 + 460 184 184 + 618 137 25 + 866 189 170 + 959 997 911 + 631 636 728 + 466 947 468 + 76 708 913 + 70 15 811 + 65 713 307 + 110 503 597 + 776 808 944 + 854 330 755 + 978 207 896 + 850 835 978 + 378 937 657 + 403 421 492 + 716 530 63 + 854 249 518 + 657 998 958 + 355 921 346 + 761 267 642 + 980 83 943 + 691 726 115 + 342 724 842 + 859 144 504 + 978 822 631 + 198 929 453 + 657 423 603 + 687 450 417 + 297 44 260 + 158 460 781 + 29 108 744 + 136 486 409 + 941 659 831 + 71 606 640 + 908 251 372 + 403 180 857 + 458 598 52 + 184 594 880 + 38 861 395 + 302 850 883 + 262 580 667 + 2 905 843 + 474 825 794 + 473 209 96 + 926 833 585 + 903 119 532 + 23 712 831 + 875 558 406 + 146 635 851 + 844 703 511 + 900 530 612 + 824 21 356 + 746 511 721 + 737 445 326 + 644 162 309 + 892 291 17 + 105 581 795 + 318 869 402 + 408 289 535 + 656 444 83 + 647 754 133 + 43 901 205 + 386 420 766 + 549 90 859 + 756 436 188 + 664 491 753 + 700 402 573 + 403 590 189 + 258 982 20 + 4 553 529 + 264 718 538 + 206 647 136 + 257 860 279 + 338 449 249 + 421 569 865 + 188 640 124 + 487 538 796 + 276 358 748 + 269 260 625 + 83 106 309 + 496 340 467 + 456 953 179 + 461 643 367 + 411 722 222 + 519 763 677 + 550 39 539 + 135 828 760 + 979 742 988 + 868 428 315 + 423 535 869 + 677 757 875 + 853 415 618 + 591 425 937 + 585 896 318 + 207 695 782 + 200 904 131 + 95 563 623 + 176 675 532 + 493 704 628 + 707 685 521 + 690 484 543 + 584 766 673 + 667 933 617 + 276 416 577 + 808 966 321 + 327 875 145 + 660 722 453 + 769 544 355 + 83 391 382 + 837 184 553 + 111 352 193 + 67 385 397 + 127 100 475 + 167 121 87 + 621 84 120 + 592 110 124 + 476 484 664 + 646 435 664 + 929 385 129 + 371 31 282 + 570 442 547 + 298 433 796 + 682 807 556 + 629 869 112 + 141 661 444 + 246 498 865 + 605 545 105 + 618 524 898 + 728 826 402 + 976 826 883 + 304 8 714 + 211 644 195 + 752 978 580 + 556 493 603 + 517 486 92 + 77 111 153 + 518 506 227 + 72 281 637 + 764 717 633 + 696 727 639 + 463 375 93 + 258 772 590 + 266 460 593 + 886 950 90 + 699 747 433 + 950 411 516 + 372 990 673 + 69 319 843 + 333 679 523 + 394 606 175 + 640 923 772 + 893 657 638 + 563 285 244 + 874 579 433 + 387 758 253 + 389 114 809 + 736 269 738 + 345 173 126 + 248 793 502 + 422 271 583 + 399 528 654 + 825 956 348 + 822 378 52 + 7 658 313 + 729 371 395 + 553 267 475 + 624 287 671 + 806 34 693 + 254 201 711 + 667 234 785 + 875 934 782 + 107 45 809 + 967 946 30 + 443 882 753 + 554 808 536 + 876 672 580 + 482 72 824 + 559 645 766 + 784 597 76 + 495 619 558 + 323 879 460 + 178 829 454 + 12 230 592 + 90 283 832 + 81 203 452 + 201 978 785 + 643 869 591 + 647 180 854 + 343 624 137 + 744 771 278 + 717 272 303 + 304 298 799 + 107 418 960 + 353 378 798 + 544 642 606 + 475 300 383 + 445 801 935 + 778 582 638 + 938 608 375 + 342 481 512 + 666 72 708 + 349 725 780 + 368 797 163 + 342 815 441 + 167 959 681 + 499 199 813 + 475 461 495 + 354 462 532 + 390 730 369 + 202 623 877 + 656 139 883 + 495 666 8 + 348 955 976 + 998 356 906 + 725 645 938 + 353 539 438 + 982 470 636 + 651 140 906 + 895 706 538 + 895 721 203 + 158 26 649 + 489 249 520 + 320 157 751 + 810 274 812 + 327 315 921 + 639 56 738 + 941 360 442 + 117 419 127 + 167 535 403 + 118 834 388 + 97 644 669 + 390 330 691 + 339 469 119 + 164 434 309 + 777 876 305 + 668 893 507 + 946 326 440 + 822 645 197 + 339 480 252 + 75 569 274 + 548 378 698 + 617 548 817 + 725 752 282 + 850 763 510 + 167 9 642 + 641 927 895 + 201 870 909 + 744 614 678 + 44 16 322 + 127 164 930 + 163 163 672 + 945 865 251 + 647 817 352 + 315 69 100 + 66 973 330 + 450 972 211 + 401 38 225 + 561 765 753 + 554 753 193 + 222 13 800 + 124 178 456 + 475 703 602 + 420 659 990 + 487 94 748 + 578 284 577 + 776 355 190 + 194 801 566 + 42 124 401 + 179 871 669 + 303 123 957 + 596 503 820 + 846 424 985 + 522 882 254 + 835 811 405 + 796 94 209 + 185 355 394 + 387 145 223 + 300 240 395 + 381 826 899 + 503 868 606 + 121 675 467 + 159 456 724 + 28 477 233 + 165 43 566 + 159 404 26 + 969 413 725 + 927 389 733 + 720 345 38 + 752 197 879 + 219 196 866 + 583 195 84 + 654 996 364 + 234 941 298 + 136 890 732 + 147 296 874 + 245 948 627 + 633 404 794 + 443 689 477 + 819 923 324 + 391 821 683 + 774 255 339 + 684 856 391 + 751 420 608 + 594 884 207 + 280 903 472 + 365 916 620 + 421 1 760 + 66 913 227 + 73 631 787 + 471 266 393 + 469 629 525 + 534 210 781 + 765 198 630 + 654 236 771 + 939 865 265 + 362 849 243 + 670 22 225 + 269 644 843 + 30 586 15 + 266 178 849 + 237 547 926 + 908 33 574 + 788 525 895 + 717 448 413 + 951 4 254 + 931 447 158 + 254 856 371 + 941 803 322 + 697 678 99 + 339 508 155 + 958 608 661 + 639 356 692 + 121 320 969 + 222 47 76 + 130 273 957 + 243 85 734 + 696 302 809 + 665 375 287 From 2805202a0df3f1e136fb01e34c6ed48011edf43e Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:41:22 +0100 Subject: [PATCH 010/100] 2016: d03: ex1: add solution --- 2016/d03/ex1/ex1.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 2016/d03/ex1/ex1.py diff --git a/2016/d03/ex1/ex1.py b/2016/d03/ex1/ex1.py new file mode 100755 index 0000000..3064955 --- /dev/null +++ b/2016/d03/ex1/ex1.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python + +import sys + + +def solve(input: str) -> int: + def parse_triple(input: str) -> tuple[int, int, int]: + nums = tuple(map(int, input.split())) + assert len(nums) == 3 + return nums + + def parse(input: str) -> list[tuple[int, int, int]]: + return [parse_triple(line) for line in input.splitlines()] + + def is_triangle(x: int, y: int, z: int) -> bool: + return (x + y) > z and (x + z) > y and (y + z) > x + + numbers = parse(input) + return sum(is_triangle(*t) for t in numbers) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 96f0060b431ad6b26e68937305eef03064fdaa89 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:41:27 +0100 Subject: [PATCH 011/100] 2016: d03: ex2: add input --- 2016/d03/ex2/input | 1914 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1914 insertions(+) create mode 100644 2016/d03/ex2/input diff --git a/2016/d03/ex2/input b/2016/d03/ex2/input new file mode 100644 index 0000000..7a31a1d --- /dev/null +++ b/2016/d03/ex2/input @@ -0,0 +1,1914 @@ + 775 785 361 + 622 375 125 + 297 839 375 + 245 38 891 + 503 463 849 + 731 482 759 + 29 734 734 + 245 771 269 + 261 315 904 + 669 96 581 + 570 745 156 + 124 678 684 + 472 360 73 + 174 251 926 + 406 408 976 + 413 238 571 + 375 554 22 + 211 379 590 + 271 821 847 + 696 253 116 + 513 972 959 + 539 557 752 + 168 362 550 + 690 236 284 + 434 91 818 + 859 393 779 + 620 313 56 + 188 983 783 + 799 900 573 + 932 359 565 + 357 670 69 + 525 71 52 + 640 654 43 + 695 781 907 + 676 680 938 + 63 507 570 + 985 492 587 + 984 34 333 + 25 489 399 + 470 158 43 + 715 491 617 + 508 412 607 + 365 446 743 + 504 189 378 + 225 424 517 + 473 45 649 + 847 927 424 + 455 889 697 + 64 230 846 + 579 368 881 + 639 536 74 + 433 803 943 + 14 629 963 + 432 481 136 + 781 625 323 + 836 215 201 + 620 614 366 + 801 679 673 + 745 376 326 + 891 957 751 + 64 430 347 + 784 534 237 + 740 485 470 + 570 894 790 + 905 979 90 + 571 526 716 + 810 602 259 + 20 41 648 + 816 566 848 + 891 883 616 + 801 797 341 + 99 119 584 + 175 40 994 + 8 234 831 + 184 254 958 + 625 999 945 + 326 385 266 + 475 644 785 + 345 769 650 + 427 410 680 + 689 887 40 + 380 109 842 + 342 640 785 + 164 546 554 + 843 871 419 + 873 687 74 + 84 192 465 + 186 777 83 + 180 130 726 + 315 860 652 + 88 273 735 + 859 684 791 + 806 655 299 + 763 409 636 + 310 532 897 + 891 163 855 + 631 200 986 + 104 559 294 + 555 679 989 + 770 437 935 + 997 189 711 + 830 300 983 + 566 325 793 + 7 694 911 + 574 490 138 + 596 230 973 + 855 377 552 + 969 150 518 + 453 653 525 + 753 556 47 + 858 509 551 + 103 545 325 + 660 215 284 + 566 509 591 + 647 97 650 + 993 597 775 + 970 566 802 + 242 922 349 + 693 932 502 + 872 267 657 + 526 87 944 + 395 85 188 + 134 129 901 + 56 244 785 + 1 733 300 + 55 698 552 + 372 933 480 + 548 459 792 + 631 653 983 + 443 320 23 + 555 117 715 + 665 268 704 + 804 899 736 + 654 823 13 + 441 250 736 + 229 324 580 + 41 389 857 + 215 103 753 + 933 311 835 + 955 234 744 + 113 141 315 + 790 130 235 + 464 464 129 + 328 386 315 + 787 735 301 + 839 744 299 + 77 119 23 + 407 321 190 + 968 962 904 + 653 752 732 + 962 145 723 + 175 452 717 + 868 474 195 + 10 273 943 + 308 388 626 + 296 133 647 + 851 474 336 + 839 777 975 + 514 651 867 + 949 947 886 + 802 92 113 + 167 938 941 + 840 627 166 + 825 72 754 + 166 661 677 + 759 71 279 + 705 70 113 + 849 4 295 + 563 679 588 + 343 76 636 + 842 669 45 + 892 597 431 + 26 864 580 + 889 509 641 + 696 267 506 + 608 778 297 + 293 867 667 + 662 469 97 + 243 184 809 + 785 434 715 + 691 568 759 + 599 4 164 + 444 566 816 + 486 145 595 + 787 41 538 + 953 151 842 + 861 877 759 + 228 972 678 + 846 114 915 + 253 41 621 + 59 989 405 + 222 948 665 + 478 631 364 + 524 717 175 + 752 94 474 + 47 421 419 + 113 510 343 + 99 733 667 + 787 651 708 + 703 557 486 + 489 637 702 + 510 287 529 + 483 308 545 + 454 177 87 + 433 735 242 + 638 734 172 + 208 702 285 + 999 157 251 + 776 76 341 + 689 164 553 + 477 938 456 + 45 848 863 + 466 255 644 + 578 396 93 + 471 419 368 + 411 27 320 + 317 291 732 + 303 42 605 + 597 313 473 + 70 419 120 + 101 440 745 + 35 176 656 + 236 329 198 + 74 296 40 + 272 78 233 + 864 404 510 + 37 368 531 + 828 35 50 + 191 272 396 + 238 548 387 + 129 527 13 + 464 600 194 + 385 42 341 + 81 596 432 + 589 663 943 + 256 704 723 + 671 152 505 + 873 532 364 + 758 755 202 + 378 621 563 + 735 463 555 + 806 910 409 + 809 897 276 + 546 755 608 + 609 852 79 + 279 133 527 + 106 696 980 + 63 981 360 + 90 440 832 + 127 860 495 + 714 395 480 + 815 485 59 + 792 91 507 + 249 524 138 + 567 452 486 + 923 544 768 + 913 253 767 + 456 582 293 + 706 507 577 + 187 619 644 + 569 978 602 + 88 886 291 + 448 712 211 + 517 815 258 + 743 397 816 + 977 793 795 + 847 905 668 + 690 869 162 + 426 541 257 + 637 586 272 + 82 950 821 + 785 936 350 + 812 31 490 + 318 253 159 + 515 688 479 + 423 855 407 + 931 830 651 + 496 241 28 + 491 924 624 + 864 966 133 + 171 438 712 + 736 867 734 + 551 548 267 + 288 455 474 + 557 622 273 + 494 74 507 + 541 628 390 + 288 583 310 + 411 63 353 + 487 527 295 + 520 567 536 + 739 816 848 + 349 681 269 + 898 902 676 + 647 759 892 + 573 512 75 + 186 252 895 + 804 320 772 + 730 934 107 + 198 651 774 + 625 535 985 + 568 499 235 + 159 42 837 + 854 617 695 + 34 299 670 + 823 733 41 + 830 615 789 + 825 652 562 + 697 105 504 + 114 103 540 + 18 141 106 + 94 121 479 + 859 774 177 + 464 873 208 + 790 125 305 + 982 586 811 + 521 386 478 + 916 329 620 + 764 91 351 + 526 684 103 + 314 749 283 + 510 226 378 + 160 269 278 + 638 368 120 + 616 540 475 + 863 637 89 + 744 172 445 + 856 391 269 + 768 276 634 + 940 610 820 + 289 254 649 + 254 364 98 + 304 613 620 + 164 652 257 + 890 74 483 + 813 640 710 + 884 99 735 + 707 881 380 + 954 983 971 + 487 911 275 + 256 920 43 + 384 772 313 + 863 120 903 + 703 821 82 + 765 731 957 + 55 935 516 + 162 785 801 + 140 161 927 + 460 139 84 + 926 139 965 + 764 3 976 + 765 487 42 + 377 835 277 + 897 734 256 + 345 320 55 + 515 755 504 + 615 623 562 + 412 280 6 + 382 392 468 + 365 625 461 + 542 406 610 + 360 200 801 + 562 221 627 + 556 557 141 + 372 231 212 + 523 457 272 + 80 701 676 + 940 59 871 + 906 695 987 + 715 922 573 + 618 446 552 + 196 849 62 + 772 867 608 + 735 377 418 + 676 607 236 + 25 447 830 + 187 270 738 + 214 175 990 + 438 790 816 + 456 396 534 + 220 628 356 + 384 935 215 + 377 593 802 + 566 651 650 + 648 529 999 + 128 884 472 + 688 951 661 + 312 722 722 + 48 526 696 + 266 347 903 + 698 21 354 + 933 404 570 + 303 417 685 + 46 562 897 + 566 931 14 + 539 747 911 + 374 623 743 + 868 353 513 + 927 903 481 + 207 765 560 + 351 956 215 + 540 945 512 + 362 322 651 + 820 555 190 + 548 301 467 + 405 931 842 + 598 347 150 + 276 971 814 + 450 480 361 + 577 538 493 + 139 104 181 + 716 233 697 + 494 647 287 + 511 782 575 + 809 728 107 + 895 167 85 + 741 746 141 + 23 115 83 + 173 147 549 + 191 208 581 + 313 356 284 + 357 393 123 + 60 322 363 + 830 87 661 + 403 711 713 + 433 651 101 + 783 738 792 + 574 821 764 + 705 214 263 + 256 243 334 + 341 152 444 + 520 140 131 + 975 461 313 + 319 441 161 + 791 47 309 + 228 973 235 + 583 305 398 + 389 876 277 + 551 974 351 + 822 786 876 + 364 347 874 + 523 130 173 + 806 90 462 + 304 146 402 + 748 760 239 + 164 345 704 + 833 817 628 + 239 739 640 + 284 296 234 + 127 711 415 + 435 590 402 + 480 250 914 + 282 379 914 + 547 845 267 + 922 795 324 + 600 500 447 + 342 464 53 + 404 341 143 + 641 129 90 + 375 730 138 + 263 32 124 + 450 749 251 + 588 697 89 + 688 431 603 + 156 614 617 + 604 259 349 + 475 282 45 + 572 197 308 + 743 749 686 + 770 811 907 + 117 543 845 + 41 179 766 + 147 555 742 + 130 410 169 + 476 62 627 + 652 879 240 + 678 852 508 + 953 795 413 + 699 597 444 + 324 577 846 + 919 79 727 + 908 719 125 + 128 776 714 + 299 256 118 + 513 222 115 + 624 75 181 + 1 605 162 + 55 106 230 + 58 672 286 + 639 558 549 + 150 662 435 + 662 695 222 + 461 173 344 + 428 354 647 + 56 405 653 + 699 631 995 + 967 608 269 + 365 853 794 + 768 606 943 + 413 601 128 + 362 427 919 + 735 448 566 + 276 354 377 + 604 657 544 + 913 192 592 + 811 762 62 + 120 720 606 + 618 232 392 + 85 19 764 + 603 241 541 + 993 997 840 + 818 894 266 + 247 305 682 + 280 964 511 + 559 967 455 + 531 38 674 + 878 731 684 + 783 156 390 + 617 742 604 + 370 770 896 + 592 667 353 + 222 921 736 + 741 508 285 + 759 395 156 + 37 128 254 + 209 631 716 + 237 423 613 + 65 856 439 + 942 526 288 + 862 811 341 + 753 840 59 + 369 67 907 + 817 947 802 + 768 945 137 + 356 557 207 + 716 9 205 + 361 558 1 + 310 889 719 + 97 128 887 + 361 776 873 + 86 181 892 + 284 865 808 + 218 859 279 + 299 649 624 + 542 583 624 + 617 66 48 + 921 459 75 + 921 672 759 + 800 345 814 + 572 975 685 + 720 980 867 + 522 135 267 + 139 376 86 + 362 399 585 + 330 206 511 + 419 194 679 + 293 374 3 + 560 272 676 + 224 926 717 + 685 927 347 + 555 786 943 + 591 776 538 + 326 835 471 + 635 67 464 + 276 916 913 + 304 965 2 + 50 110 912 + 893 200 307 + 445 248 596 + 725 128 681 + 279 602 888 + 7 204 766 + 284 429 191 + 264 503 351 + 531 335 140 + 381 220 292 + 518 905 824 + 416 477 600 + 405 663 511 + 531 92 321 + 824 131 534 + 409 113 431 + 12 192 485 + 864 557 391 + 858 390 756 + 28 465 231 + 188 216 825 + 177 316 910 + 766 41 329 + 202 105 219 + 787 125 542 + 639 108 5 + 639 10 525 + 17 105 532 + 586 498 918 + 630 389 19 + 317 361 903 + 185 575 708 + 679 532 355 + 851 367 844 + 775 68 120 + 644 45 194 + 802 44 242 + 852 214 601 + 595 525 281 + 258 450 415 + 534 121 561 + 117 33 620 + 576 147 318 + 217 953 365 + 863 686 803 + 751 694 680 + 502 669 546 + 385 204 399 + 740 760 650 + 105 567 227 + 526 574 378 + 496 858 216 + 248 475 19 + 790 358 887 + 556 713 866 + 348 334 937 + 364 364 88 + 396 58 915 + 871 418 645 + 438 507 449 + 967 924 960 + 435 153 47 + 831 861 835 + 787 958 832 + 376 231 602 + 487 528 782 + 485 532 607 + 820 96 256 + 856 177 549 + 302 240 751 + 146 412 332 + 268 715 463 + 309 584 399 + 939 548 465 + 966 854 412 + 517 385 574 + 425 809 919 + 88 796 924 + 468 317 287 + 195 131 961 + 10 485 229 + 190 374 827 + 573 178 842 + 575 255 358 + 220 359 713 + 401 853 206 + 736 904 667 + 450 209 798 + 865 42 300 + 806 373 182 + 383 403 258 + 397 51 691 + 492 146 568 + 814 179 584 + 545 851 182 + 606 135 208 + 135 934 183 + 733 365 561 + 215 97 642 + 617 418 209 + 641 297 106 + 400 876 246 + 399 665 156 + 424 20 222 + 954 860 194 + 930 875 34 + 883 469 376 + 111 576 753 + 995 515 461 + 535 380 786 + 117 578 780 + 646 803 965 + 243 951 886 + 563 935 879 + 520 91 879 + 390 332 402 + 955 471 221 + 810 398 527 + 312 876 131 + 256 371 527 + 293 945 501 + 724 900 650 + 798 526 908 + 199 510 377 + 285 338 780 + 729 157 584 + 866 259 438 + 91 680 717 + 982 618 786 + 918 255 178 + 66 257 416 + 288 223 81 + 237 405 404 + 597 762 518 + 671 661 39 + 976 431 502 + 524 337 919 + 524 194 343 + 23 167 623 + 882 993 129 + 741 572 465 + 694 830 394 + 353 846 895 + 312 254 903 + 52 614 101 + 300 513 706 + 976 310 698 + 929 736 22 + 732 248 113 + 816 471 405 + 230 466 355 + 749 854 492 + 956 286 554 + 833 928 239 + 334 883 528 + 782 968 977 + 715 608 898 + 264 576 100 + 530 705 344 + 779 189 245 + 560 692 658 + 550 325 931 + 22 757 277 + 860 962 567 + 695 542 611 + 227 936 116 + 812 696 604 + 889 520 282 + 512 180 350 + 735 582 392 + 511 400 667 + 754 871 309 + 899 133 582 + 986 66 309 + 186 183 367 + 543 242 522 + 132 255 887 + 538 225 934 + 57 276 438 + 452 396 382 + 501 608 195 + 292 741 619 + 69 671 801 + 331 731 279 + 485 350 380 + 81 926 182 + 513 834 298 + 165 801 799 + 204 426 521 + 245 650 330 + 716 716 155 + 693 699 658 + 305 69 710 + 661 744 698 + 599 327 957 + 577 593 903 + 924 117 176 + 949 808 323 + 267 710 257 + 91 683 927 + 404 262 918 + 347 716 109 + 155 266 483 + 142 676 512 + 216 501 103 + 923 110 424 + 856 329 617 + 229 332 231 + 466 803 573 + 498 388 827 + 38 788 587 + 770 367 435 + 736 584 445 + 93 569 834 + 65 948 479 + 172 630 581 + 239 369 396 + 820 270 656 + 32 515 348 + 803 324 969 + 70 188 635 + 219 766 279 + 166 736 640 + 257 604 851 + 555 616 822 + 589 345 165 + 166 196 64 + 909 185 700 + 870 119 693 + 20 565 737 + 680 198 244 + 700 486 825 + 194 812 67 + 236 756 407 + 64 905 344 + 92 755 905 + 748 349 681 + 707 781 811 + 505 50 456 + 471 889 672 + 35 891 334 + 899 411 164 + 663 459 232 + 539 446 322 + 57 785 718 + 273 421 308 + 308 744 501 + 45 819 416 + 936 258 466 + 980 825 841 + 100 33 345 + 898 904 750 + 920 903 453 + 947 9 765 + 580 979 375 + 753 977 844 + 402 174 156 + 573 827 782 + 975 663 644 + 179 358 353 + 55 777 834 + 221 871 631 + 120 714 199 + 663 369 217 + 599 713 135 + 11 472 765 + 803 445 746 + 797 30 284 + 259 776 677 + 598 707 675 + 484 339 3 + 298 750 162 + 119 820 168 + 180 69 9 + 433 332 676 + 142 164 343 + 435 233 414 + 153 977 263 + 532 54 244 + 600 999 25 + 394 756 311 + 354 196 703 + 666 858 760 + 227 312 525 + 389 419 436 + 218 311 744 + 318 531 245 + 324 939 509 + 183 997 543 + 944 598 70 + 790 486 828 + 710 745 880 + 546 368 219 + 316 668 29 + 398 360 218 + 702 453 987 + 774 462 373 + 722 829 947 + 541 732 44 + 310 494 582 + 239 596 548 + 579 810 907 + 490 169 62 + 926 883 915 + 281 414 595 + 845 412 609 + 632 106 618 + 112 404 492 + 864 460 314 + 842 93 436 + 412 805 874 + 353 686 465 + 240 393 800 + 788 654 346 + 666 78 185 + 418 608 404 + 658 537 960 + 794 449 680 + 711 324 489 + 59 525 330 + 323 259 544 + 359 745 542 + 877 701 403 + 119 897 533 + 977 392 227 + 528 340 194 + 398 180 283 + 538 301 123 + 775 263 195 + 53 385 630 + 749 253 686 + 533 30 624 + 678 187 590 + 937 218 50 + 205 466 918 + 796 672 47 + 818 203 963 + 461 953 881 + 739 457 696 + 661 711 220 + 624 121 663 + 908 173 644 + 602 185 70 + 168 957 159 + 283 341 934 + 196 845 939 + 494 354 543 + 796 422 87 + 430 762 478 + 526 762 859 + 535 600 926 + 28 555 651 + 170 748 379 + 117 745 33 + 52 1 351 + 946 796 446 + 148 844 920 + 950 131 740 + 392 490 118 + 286 465 667 + 202 101 662 + 326 629 556 + 773 661 219 + 540 683 613 + 406 314 525 + 154 947 451 + 401 661 186 + 574 690 796 + 558 730 855 + 153 244 156 + 618 37 10 + 856 991 363 + 820 959 370 + 644 700 800 + 421 469 908 + 422 233 288 + 416 281 707 + 370 430 487 + 284 525 916 + 535 713 354 + 210 576 524 + 432 930 215 + 712 374 612 + 686 508 102 + 40 141 616 + 979 525 663 + 838 696 326 + 472 261 357 + 321 910 663 + 228 153 536 + 223 940 896 + 137 39 506 + 139 706 187 + 4 666 483 + 944 856 119 + 720 602 93 + 410 260 85 + 601 647 520 + 162 474 317 + 599 742 313 + 242 886 381 + 250 78 353 + 109 916 117 + 597 926 673 + 318 114 309 + 892 819 424 + 491 682 85 + 765 657 682 + 558 60 721 + 990 634 160 + 640 461 410 + 430 839 535 + 42 961 686 + 752 251 690 + 747 931 3 + 439 930 85 + 44 628 953 + 465 961 874 + 313 447 913 + 249 600 859 + 359 896 472 + 698 187 657 + 57 957 805 + 721 977 239 + 782 93 96 + 860 159 250 + 368 142 218 + 565 157 46 + 622 403 383 + 63 546 382 + 63 774 308 + 446 495 475 + 467 831 310 + 448 77 798 + 930 281 189 + 767 289 644 + 514 765 524 + 330 827 992 + 340 284 964 + 600 97 785 + 418 432 755 + 983 442 58 + 872 435 725 + 107 344 315 + 917 682 547 + 24 613 561 + 665 448 238 + 680 872 737 + 108 180 449 + 220 545 583 + 268 676 863 + 796 791 2 + 694 992 39 + 788 767 41 + 235 572 377 + 975 864 883 + 953 448 608 + 909 888 452 + 93 850 414 + 852 48 49 + 136 558 842 + 300 428 776 + 427 814 64 + 223 45 283 + 100 562 659 + 290 519 828 + 678 786 346 + 371 711 934 + 686 276 826 + 808 208 669 + 832 198 6 + 317 11 675 + 504 182 448 + 162 745 642 + 623 791 687 + 408 947 693 + 247 267 641 + 328 693 758 + 773 411 149 + 66 2 589 + 786 407 527 + 81 760 803 + 946 696 552 + 878 698 994 + 190 203 649 + 548 713 634 + 657 724 676 + 195 397 887 + 175 346 118 + 356 264 981 + 191 919 468 + 490 470 570 + 583 740 151 + 340 773 889 + 176 446 314 + 206 384 935 + 172 996 620 + 362 842 497 + 208 786 731 + 207 395 750 + 368 819 87 + 524 524 702 + 609 761 554 + 753 975 290 + 559 932 731 + 584 203 140 + 477 100 982 + 784 162 876 + 371 209 67 + 236 754 108 + 439 633 163 + 734 717 626 + 808 216 639 + 133 521 94 + 180 813 208 + 136 770 844 + 57 867 871 + 700 900 740 + 96 75 662 + 628 893 284 + 843 851 196 + 546 427 607 + 797 471 664 + 180 363 117 + 961 775 95 + 846 969 210 + 535 269 666 + 216 585 490 + 736 521 335 + 489 493 602 + 627 574 723 + 857 217 629 + 385 808 433 + 615 115 361 + 687 705 455 + 898 390 177 + 737 393 476 + 355 727 371 + 533 526 69 + 615 467 157 + 614 683 202 + 876 892 581 + 949 165 357 + 86 766 432 + 233 47 702 + 448 407 821 + 227 364 424 + 158 372 933 + 966 405 365 + 913 512 813 + 585 698 482 + 720 171 716 + 172 868 740 + 96 489 33 + 531 882 552 + 618 949 523 + 425 860 424 + 909 676 116 + 806 770 430 + 836 868 355 + 640 561 523 + 858 353 411 + 400 149 612 + 872 364 491 + 940 469 870 + 127 256 47 + 561 306 322 + 626 147 276 + 13 547 289 + 218 561 705 + 234 16 842 + 301 663 261 + 81 415 368 + 301 945 593 + 232 855 760 + 522 649 929 + 401 847 376 + 764 542 452 + 774 536 929 + 10 935 499 + 710 262 94 + 72 475 524 + 722 618 481 + 515 135 637 + 962 115 303 + 665 88 416 + 544 303 735 + 828 488 680 + 827 575 354 + 44 999 437 + 232 985 128 + 226 36 346 + 310 325 307 + 473 809 315 + 184 487 91 + 778 310 926 + 749 260 988 + 869 216 878 + 663 790 458 + 914 237 476 + 258 935 201 + 956 796 313 + 888 105 282 + 160 874 42 + 715 524 451 + 477 604 886 + 596 111 554 + 524 510 388 + 778 878 320 + 894 453 574 + 210 808 633 + 340 77 956 + 159 872 426 + 4 756 333 + 528 697 677 + 530 474 442 + 75 427 536 + 874 706 437 + 944 536 357 + 726 919 349 + 911 791 637 + 447 224 483 + 742 941 693 + 632 42 918 + 302 907 547 + 204 618 927 + 86 765 15 + 280 396 926 + 857 422 560 + 801 355 368 + 53 718 577 + 613 946 933 + 641 378 563 + 39 928 423 + 252 906 454 + 626 318 81 + 477 838 407 + 85 531 475 + 129 622 419 + 184 372 147 + 364 805 559 + 445 128 302 + 656 813 724 + 485 140 509 + 537 267 549 + 164 184 89 + 464 231 881 + 111 63 706 + 383 283 567 + 408 31 455 + 698 864 501 + 692 887 753 + 573 681 783 + 453 393 338 + 171 707 850 + 68 663 190 + 342 588 284 + 309 218 102 + 121 743 56 + 321 722 379 + 307 99 357 + 444 485 636 + 548 419 517 + 407 101 714 + 168 496 140 + 111 520 594 + 55 129 476 + 706 849 93 + 529 200 416 + 848 680 470 + 731 189 61 + 591 689 20 + 801 777 52 + 395 449 821 + 337 421 292 + 618 208 674 + 116 13 66 + 459 790 615 + 429 796 565 + 891 795 903 + 929 443 263 + 49 694 890 + 708 929 577 + 764 786 554 + 971 473 236 + 271 483 440 + 666 506 858 + 582 959 594 + 470 918 457 + 583 662 551 + 777 446 214 + 609 503 929 + 861 691 766 + 256 201 940 + 894 386 172 + 624 397 17 + 615 9 159 + 454 494 344 + 606 717 995 + 251 333 688 + 714 910 670 + 531 346 227 + 693 754 745 + 947 8 411 + 9 862 598 + 937 858 601 + 309 977 18 + 731 684 943 + 579 384 958 + 359 647 495 + 8 355 476 + 363 459 21 + 712 383 997 + 892 71 981 + 374 433 156 + 86 194 341 + 60 298 385 + 31 110 452 + 813 501 635 + 249 82 215 + 895 585 456 + 571 961 784 + 734 746 854 + 742 268 73 + 575 7 583 + 660 643 908 + 559 643 336 + 222 725 935 + 660 82 939 + 709 745 41 + 277 504 918 + 604 679 913 + 717 419 183 + 613 306 732 + 491 694 742 + 628 707 108 + 885 867 527 + 970 740 567 + 147 267 119 + 288 766 969 + 132 190 372 + 175 862 992 + 942 468 639 + 63 908 581 + 939 703 830 + 328 186 554 + 936 130 355 + 865 270 479 + 253 104 444 + 99 378 107 + 342 385 340 + 651 480 324 + 14 841 249 + 635 538 79 + 229 415 530 + 489 931 329 + 654 828 719 + 911 703 693 + 202 425 201 + 897 314 745 + 126 606 323 + 201 459 307 + 79 719 51 + 595 913 432 + 261 980 554 + 708 272 591 + 423 754 58 + 175 538 449 + 552 671 418 + 871 86 809 + 5 579 309 + 877 635 850 + 607 621 470 + 584 166 732 + 443 666 887 + 305 612 454 + 547 252 90 + 324 431 510 + 827 912 501 + 329 868 593 + 524 944 461 + 10 709 299 + 902 76 539 + 894 783 448 + 304 883 270 + 358 716 346 + 626 192 530 + 900 47 880 + 807 796 757 + 672 774 885 + 596 391 358 + 300 355 318 + 617 44 310 + 363 51 907 + 138 183 704 + 243 184 234 + 977 406 460 + 811 692 579 + 412 459 196 + 509 346 366 + 697 646 777 + 247 930 583 + 383 268 54 + 387 11 471 + 434 273 444 + 462 191 917 + 474 236 605 + 924 192 348 + 515 15 128 + 398 609 300 + 608 627 296 + 289 624 427 + 16 448 70 + 280 329 492 + 186 448 444 + 709 27 239 + 566 472 535 + 395 737 535 + 666 108 512 + 398 788 762 + 187 46 733 + 689 389 690 + 717 350 106 + 243 988 623 + 13 950 830 + 247 379 679 + 654 150 272 + 157 229 213 + 710 232 314 + 585 591 948 + 193 624 781 + 504 553 685 + 135 76 444 + 998 845 416 + 901 917 69 + 885 266 328 + 32 236 487 + 877 223 312 + 602 264 297 + 429 852 180 + 558 833 380 + 579 341 829 + 708 823 603 + 480 625 551 + 168 995 465 + 24 236 898 + 180 770 985 + 827 126 352 + 790 491 324 + 198 379 105 + 953 609 224 + 793 519 389 + 988 303 169 + 636 575 937 + 460 869 500 + 859 552 819 + 647 650 366 + 838 643 233 + 223 170 244 + 689 381 542 + 15 293 371 + 696 443 796 + 549 128 525 + 919 719 231 + 651 599 417 + 413 80 413 + 864 940 344 + 753 989 342 + 583 816 28 + 399 818 894 + 522 1 884 + 105 122 148 + 2 868 301 + 100 945 306 + 990 516 458 + 604 484 27 + 587 36 468 + 774 726 241 + 931 993 277 + 908 406 352 + 783 586 706 + 760 27 469 + 42 611 958 + 72 118 399 + 526 638 55 + 598 737 392 + 134 84 825 + 734 804 273 + 600 778 888 + 788 539 691 + 57 854 592 + 824 629 286 + 359 24 824 + 548 857 646 + 820 831 194 + 29 842 939 + 966 133 201 + 992 709 970 + 357 44 29 + 320 649 356 + 35 611 379 + 407 894 581 + 408 940 680 + 652 367 124 + 630 200 182 + 652 271 828 + 65 296 786 + 821 42 341 + 84 24 562 + 894 29 500 + 739 799 310 + 289 461 385 + 540 731 430 + 393 303 389 + 756 560 731 + 637 470 761 + 105 314 202 + 339 437 717 + 256 526 810 + 639 382 381 + 11 289 290 + 638 450 336 + 602 415 901 + 671 494 718 + 460 507 186 + 596 160 528 + 766 811 389 + 319 955 281 + 24 317 562 + 489 870 295 + 514 924 477 + 386 887 49 + 479 940 432 + 558 523 416 + 343 53 46 + 542 803 597 + 696 784 565 + 474 495 650 + 613 692 465 + 352 841 199 + 911 927 640 + 273 693 512 + 701 468 597 + 144 915 630 + 949 967 185 + 952 293 538 + 642 426 249 + 788 408 678 + 457 32 579 + 571 462 686 + 650 752 651 + 260 681 182 + 158 89 312 + 693 336 517 + 812 355 634 + 216 507 591 + 643 520 310 + 769 18 896 + 630 852 677 + 566 912 185 + 643 621 739 + 433 347 52 + 691 413 758 + 262 458 761 + 882 877 576 + 914 254 194 + 407 919 511 + 826 345 490 + 551 187 611 + 501 163 507 + 59 749 708 + 364 502 718 + 390 317 38 + 316 77 424 + 400 834 339 + 296 868 102 + 360 533 38 + 326 607 529 + 442 962 544 + 773 371 300 + 22 6 300 + 789 378 386 + 643 461 14 + 486 312 75 + 901 428 73 + 275 734 871 + 384 793 475 + 197 59 798 + 662 682 342 + 812 638 459 + 461 59 642 + 895 253 990 + 693 128 596 + 415 270 537 + 587 193 575 + 265 644 638 + 745 661 61 + 465 712 251 + 269 617 285 + 257 958 442 + 387 120 612 + 776 833 198 + 734 948 726 + 946 539 878 + 58 776 787 + 970 235 143 + 129 875 350 + 561 999 180 + 496 609 390 + 460 184 184 + 618 137 25 + 866 189 170 + 959 997 911 + 631 636 728 + 466 947 468 + 76 708 913 + 70 15 811 + 65 713 307 + 110 503 597 + 776 808 944 + 854 330 755 + 978 207 896 + 850 835 978 + 378 937 657 + 403 421 492 + 716 530 63 + 854 249 518 + 657 998 958 + 355 921 346 + 761 267 642 + 980 83 943 + 691 726 115 + 342 724 842 + 859 144 504 + 978 822 631 + 198 929 453 + 657 423 603 + 687 450 417 + 297 44 260 + 158 460 781 + 29 108 744 + 136 486 409 + 941 659 831 + 71 606 640 + 908 251 372 + 403 180 857 + 458 598 52 + 184 594 880 + 38 861 395 + 302 850 883 + 262 580 667 + 2 905 843 + 474 825 794 + 473 209 96 + 926 833 585 + 903 119 532 + 23 712 831 + 875 558 406 + 146 635 851 + 844 703 511 + 900 530 612 + 824 21 356 + 746 511 721 + 737 445 326 + 644 162 309 + 892 291 17 + 105 581 795 + 318 869 402 + 408 289 535 + 656 444 83 + 647 754 133 + 43 901 205 + 386 420 766 + 549 90 859 + 756 436 188 + 664 491 753 + 700 402 573 + 403 590 189 + 258 982 20 + 4 553 529 + 264 718 538 + 206 647 136 + 257 860 279 + 338 449 249 + 421 569 865 + 188 640 124 + 487 538 796 + 276 358 748 + 269 260 625 + 83 106 309 + 496 340 467 + 456 953 179 + 461 643 367 + 411 722 222 + 519 763 677 + 550 39 539 + 135 828 760 + 979 742 988 + 868 428 315 + 423 535 869 + 677 757 875 + 853 415 618 + 591 425 937 + 585 896 318 + 207 695 782 + 200 904 131 + 95 563 623 + 176 675 532 + 493 704 628 + 707 685 521 + 690 484 543 + 584 766 673 + 667 933 617 + 276 416 577 + 808 966 321 + 327 875 145 + 660 722 453 + 769 544 355 + 83 391 382 + 837 184 553 + 111 352 193 + 67 385 397 + 127 100 475 + 167 121 87 + 621 84 120 + 592 110 124 + 476 484 664 + 646 435 664 + 929 385 129 + 371 31 282 + 570 442 547 + 298 433 796 + 682 807 556 + 629 869 112 + 141 661 444 + 246 498 865 + 605 545 105 + 618 524 898 + 728 826 402 + 976 826 883 + 304 8 714 + 211 644 195 + 752 978 580 + 556 493 603 + 517 486 92 + 77 111 153 + 518 506 227 + 72 281 637 + 764 717 633 + 696 727 639 + 463 375 93 + 258 772 590 + 266 460 593 + 886 950 90 + 699 747 433 + 950 411 516 + 372 990 673 + 69 319 843 + 333 679 523 + 394 606 175 + 640 923 772 + 893 657 638 + 563 285 244 + 874 579 433 + 387 758 253 + 389 114 809 + 736 269 738 + 345 173 126 + 248 793 502 + 422 271 583 + 399 528 654 + 825 956 348 + 822 378 52 + 7 658 313 + 729 371 395 + 553 267 475 + 624 287 671 + 806 34 693 + 254 201 711 + 667 234 785 + 875 934 782 + 107 45 809 + 967 946 30 + 443 882 753 + 554 808 536 + 876 672 580 + 482 72 824 + 559 645 766 + 784 597 76 + 495 619 558 + 323 879 460 + 178 829 454 + 12 230 592 + 90 283 832 + 81 203 452 + 201 978 785 + 643 869 591 + 647 180 854 + 343 624 137 + 744 771 278 + 717 272 303 + 304 298 799 + 107 418 960 + 353 378 798 + 544 642 606 + 475 300 383 + 445 801 935 + 778 582 638 + 938 608 375 + 342 481 512 + 666 72 708 + 349 725 780 + 368 797 163 + 342 815 441 + 167 959 681 + 499 199 813 + 475 461 495 + 354 462 532 + 390 730 369 + 202 623 877 + 656 139 883 + 495 666 8 + 348 955 976 + 998 356 906 + 725 645 938 + 353 539 438 + 982 470 636 + 651 140 906 + 895 706 538 + 895 721 203 + 158 26 649 + 489 249 520 + 320 157 751 + 810 274 812 + 327 315 921 + 639 56 738 + 941 360 442 + 117 419 127 + 167 535 403 + 118 834 388 + 97 644 669 + 390 330 691 + 339 469 119 + 164 434 309 + 777 876 305 + 668 893 507 + 946 326 440 + 822 645 197 + 339 480 252 + 75 569 274 + 548 378 698 + 617 548 817 + 725 752 282 + 850 763 510 + 167 9 642 + 641 927 895 + 201 870 909 + 744 614 678 + 44 16 322 + 127 164 930 + 163 163 672 + 945 865 251 + 647 817 352 + 315 69 100 + 66 973 330 + 450 972 211 + 401 38 225 + 561 765 753 + 554 753 193 + 222 13 800 + 124 178 456 + 475 703 602 + 420 659 990 + 487 94 748 + 578 284 577 + 776 355 190 + 194 801 566 + 42 124 401 + 179 871 669 + 303 123 957 + 596 503 820 + 846 424 985 + 522 882 254 + 835 811 405 + 796 94 209 + 185 355 394 + 387 145 223 + 300 240 395 + 381 826 899 + 503 868 606 + 121 675 467 + 159 456 724 + 28 477 233 + 165 43 566 + 159 404 26 + 969 413 725 + 927 389 733 + 720 345 38 + 752 197 879 + 219 196 866 + 583 195 84 + 654 996 364 + 234 941 298 + 136 890 732 + 147 296 874 + 245 948 627 + 633 404 794 + 443 689 477 + 819 923 324 + 391 821 683 + 774 255 339 + 684 856 391 + 751 420 608 + 594 884 207 + 280 903 472 + 365 916 620 + 421 1 760 + 66 913 227 + 73 631 787 + 471 266 393 + 469 629 525 + 534 210 781 + 765 198 630 + 654 236 771 + 939 865 265 + 362 849 243 + 670 22 225 + 269 644 843 + 30 586 15 + 266 178 849 + 237 547 926 + 908 33 574 + 788 525 895 + 717 448 413 + 951 4 254 + 931 447 158 + 254 856 371 + 941 803 322 + 697 678 99 + 339 508 155 + 958 608 661 + 639 356 692 + 121 320 969 + 222 47 76 + 130 273 957 + 243 85 734 + 696 302 809 + 665 375 287 From 6c7b1ceefaa99c7b89fb1838f9cf8ff959ad2ebf Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:41:37 +0100 Subject: [PATCH 012/100] 2016: d03: ex2: add solution --- 2016/d03/ex2/ex2.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 2016/d03/ex2/ex2.py diff --git a/2016/d03/ex2/ex2.py b/2016/d03/ex2/ex2.py new file mode 100755 index 0000000..f5ac301 --- /dev/null +++ b/2016/d03/ex2/ex2.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +import itertools +import sys + + +def solve(input: str) -> int: + def parse_triple(input: str) -> tuple[int, int, int]: + nums = tuple(map(int, input.split())) + assert len(nums) == 3 + return nums + + def parse(input: str) -> list[tuple[int, int, int]]: + return [parse_triple(line) for line in input.splitlines()] + + def is_triangle(x: int, y: int, z: int) -> bool: + return (x + y) > z and (x + z) > y and (y + z) > x + + def transpose_triples( + numbers: list[tuple[int, int, int]], + ) -> list[tuple[int, int, int]]: + res: list[tuple[int, int, int]] = [] + for l1, l2, l3 in itertools.batched(numbers, 3): + for i in range(3): + res.append((l1[i], l2[i], l3[i])) + return res + + numbers = parse(input) + numbers = transpose_triples(numbers) + return sum(is_triangle(*t) for t in numbers) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From c7d54cd000447b5b3345d6ab7f98ead84574bec7 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:58:04 +0100 Subject: [PATCH 013/100] 2016: d04: ex1: add input --- 2016/d04/ex1/input | 991 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 991 insertions(+) create mode 100644 2016/d04/ex1/input diff --git a/2016/d04/ex1/input b/2016/d04/ex1/input new file mode 100644 index 0000000..5641025 --- /dev/null +++ b/2016/d04/ex1/input @@ -0,0 +1,991 @@ +aczupnetwp-dnlgpyrpc-sfye-dstaatyr-561[patyc] +jsehsyafy-vqw-ljsafafy-866[nymla] +tyepcyletzylw-ncjzrpytn-prr-opawzjxpye-743[cnrdl] +foadouwbu-qvcqczohs-obozmgwg-662[lamjh] +ckgvutofkj-pkrrehkgt-zkinturume-436[krtue] +pelbtravp-pnaql-ernpdhvfvgvba-481[szram] +yflexwxoalrp-ciltbo-tlohpelm-887[bmwep] +ipvohghykvbz-ihzrla-jbzavtly-zlycpjl-253[lzhvy] +cybyjqho-whqtu-rqiauj-fkhsxqiydw-322[syzwi] +tipfxvezt-sleep-tljkfdvi-jvimztv-425[tveif] +ktiaaqnqml-xtiabqk-oziaa-xczkpiaqvo-616[aiqko] +ckgvutofkj-xghhoz-gtgreyoy-306[nyhpz] +molgbzqfib-zovldbkfz-zxkav-lmboxqflkp-341[xlomg] +ikhcxvmbex-vtgwr-vhtmbgz-mxvaghehzr-111[hvgmx] +dpssptjwf-fhh-tfswjdft-805[fstdh] +oaddaeuhq-otaoaxmfq-qzsuzqqduzs-534[qadou] +dzczkrip-xiruv-sleep-drerxvdvek-685[erdvi] +jvsvymbs-yhiipa-vwlyhapvuz-149[zfyqn] +nsyjwsfyntsfq-gfxpjy-jslnsjjwnsl-853[sjnfy] +mbiyqoxsm-lsyrkjkbnyec-nio-wkbuodsxq-614[bkosy] +jchipqat-uadltg-hidgpvt-375[kcnop] +jqwpihizlwca-lgm-nqvivkqvo-980[ldeay] +xfbqpojafe-dipdpmbuf-tfswjdft-493[fdpbj] +kwvacumz-ozilm-kpwkwtibm-lmxtwgumvb-798[mwkbi] +eqttqukxg-ejqeqncvg-ocpcigogpv-648[sdtzl] +dsxxw-bwc-bcnjmwkclr-678[cwbxd] +jvuzbtly-nyhkl-ibuuf-thuhnltlua-175[ulhtb] +rdadguja-uadltg-bpgztixcv-401[adgtu] +atyzghrk-kmm-ktmotkkxotm-930[xzfpe] +uwtojhynqj-ojqqdgjfs-xjwanhjx-151[waqmk] +hwdtljsnh-uqfxynh-lwfxx-rfsfljrjsy-567[fhjls] +xst-wigvix-gspsvjyp-gerhc-erepcwmw-724[uplfw] +kzgwomvqk-jcvvg-zmamizkp-122[kmvzg] +sbejpbdujwf-dboez-dpbujoh-dvtupnfs-tfswjdf-623[uxrpz] +bxaxipgn-vgpst-rwdrdapit-prfjxhxixdc-609[xpdir] +avw-zljyla-zjhclunly-obua-ayhpupun-981[aluyh] +nuatmlmdpage-qss-fdmuzuzs-404[btopv] +oaddaeuhq-otaoaxmfq-dqoquhuzs-716[aoqdu] +myvybpev-cmkfoxqob-rexd-bomosfsxq-432[khwfc] +oxaflxzqfsb-zelzlixqb-jxohbqfkd-471[hxkwc] +fnjyxwrinm-snuuhknjw-anbnjalq-875[ztvnr] +qfmcusbwq-pibbm-fsqswjwbu-922[bqswf] +wihmogyl-aluxy-jfumncw-alumm-nluchcha-916[lmuac] +oxaflxzqfsb-avb-bkdfkbbofkd-757[trzjy] +ksodcbwnsr-qzoggwtwsr-gqojsbusf-vibh-fsgsofqv-818[gsdca] +rzvkjiduzy-xcjxjgvoz-gvwjmvojmt-161[zufvq] +nwlddtqtpo-mldvpe-dezclrp-639[zlnki] +vkppo-rqiauj-huqsgkyiyjyed-530[yijkp] +dfcxsqhwzs-qobrm-qcohwbu-fsoqeiwgwhwcb-688[wqbch] +vxupkizork-xghhoz-aykx-zkyzotm-462[kzoxh] +zotts-jfumncw-alumm-omyl-nymncha-396[bstha] +yaxsnlcrun-npp-cajrwrwp-355[nprac] +bkwzkqsxq-pvygob-nozkbdwoxd-822[bkodq] +frqvxphu-judgh-fdqgb-frdwlqj-hqjlqhhulqj-595[ezyxq] +hqtyeqsjylu-sqdto-sedjqydcudj-764[dqjsy] +fab-eqodqf-omzpk-fdmuzuzs-430[yxkbc] +gpewwmjmih-glsgspexi-xvemrmrk-204[cynzd] +kwtwznct-jcvvg-wxmzibqwva-694[cdaps] +guahyncw-wuhxs-zchuhwcha-396[xwnmj] +pybgmyargtc-zsllw-dglylagle-912[mcrsp] +kyelcrga-zyqicr-jyzmpyrmpw-782[yrcmp] +wsvsdkbi-qbkno-zvkcdsm-qbkcc-myxdksxwoxd-432[kdsbc] +ltpedcxots-rwdrdapit-advxhixrh-271[drtxa] +elrkdcdugrxv-sodvwlf-judvv-vklsslqj-465[vdlsj] +htwwtxnaj-hfsid-htfynsl-ywfnsnsl-281[ghfea] +nij-mywlyn-xsy-xymcah-682[kiasm] +zovldbkfz-yrkkv-abmilvjbkq-939[chetn] +esyfwlau-kusnwfywj-zmfl-ghwjslagfk-398[fwlsa] +lahxpnwrl-yujbcrl-pajbb-mnyuxhvnwc-147[tzcxk] +rwcnawjcrxwju-lqxlxujcn-lxwcjrwvnwc-381[hxsdl] +pbybeshy-pynffvsvrq-wryylorna-jbexfubc-143[ybfre] +lxaaxbren-kdwwh-bqryyrwp-407[sktqh] +pybgmyargtc-zyqicr-rpyglgle-106[vsdft] +jfifqxov-doxab-yxphbq-obxznrfpfqflk-939[nyvhm] +pualyuhapvuhs-jovjvshal-thuhnltlua-383[lrfob] +gvcskirmg-tpewxmg-kveww-pskmwxmgw-438[ujily] +lgh-kwujwl-tmffq-esfsywewfl-242[fwles] +jyddc-fewoix-hitevxqirx-412[ixdec] +uzfqdzmfuazmx-otaoaxmfq-ogefayqd-eqdhuoq-222[lbfru] +ryexqpqhteki-sxesebqju-tufbeocudj-348[tjzhb] +kfg-jvtivk-sleep-wzeretzex-477[ektvz] +kzgwomvqk-jcvvg-bmkpvwtwog-174[vgkwm] +odiih-kdwwh-uxprbcrlb-251[bdhir] +htqtwkzq-xhfajsljw-mzsy-yjhmstqtld-229[thjqs] +qjopwxha-xwogap-owhao-914[astye] +wrs-vhfuhw-edvnhw-hqjlqhhulqj-439[vufmz] +rdggdhxkt-xcitgcpixdcpa-rpcsn-rdpixcv-stktadebtci-609[cdtip] +eqttqukxg-fag-eqpvckpogpv-544[jmtpx] +kdijqrbu-sqdto-seqjydw-iuhlysui-946[bioht] +fydelmwp-awldetn-rcldd-cplnbftdtetzy-951[kpxim] +ubhatstkwhnl-unggr-nlxk-mxlmbgz-761[geyqm] +ocipgvke-gii-fgxgnqrogpv-726[giopv] +fab-eqodqf-otaoaxmfq-iadwetab-430[azmnb] +fab-eqodqf-otaoaxmfq-pqhqxabyqzf-456[qafob] +xekdwvwnzkqo-zua-naoawnyd-784[anwdk] +sbejpbdujwf-fhh-tbmft-285[mbfsn] +hwbba-eqpuwogt-itcfg-rncuvke-itcuu-ugtxkegu-648[ugtce] +hqcfqwydw-fbqijys-whqii-cqdqwucudj-452[ztesw] +dmpuamofuhq-nmewqf-emxqe-742[meqfu] +iqmbazulqp-pkq-iadwetab-976[kcxmz] +lahxpnwrl-ljwmh-lxjcrwp-bnaerlnb-927[lnrwa] +laffe-lruckx-vaxingyotm-306[aflxc] +forwcoqhwjs-qcffcgwjs-tzcksf-rsdzcmasbh-220[csfwh] +yflexwxoalrp-gbiivybxk-abpfdk-731[sjtrd] +foadouwbu-ibghopzs-pogysh-kcfygvcd-506[ogbcd] +rtqlgevkng-hnqygt-ugtxkegu-232[zdgob] +yrwxefpi-fyrrc-asvowlst-880[jmzfi] +tyepcyletzylw-nlyoj-nzletyr-fdpc-epdetyr-795[jfvnq] +rkpqxyib-yxphbq-lmboxqflkp-627[vzmla] +xjinphzm-bmvyz-hvbizodx-ytz-gjbdnodxn-967[jmuws] +ktfitzbgz-vtgwr-inkvatlbgz-813[tgzbi] +hqtyeqsjylu-sbqiiyvyut-fbqijys-whqii-vydqdsydw-634[yqisd] +hcd-gsqfsh-dzoghwq-ufogg-qcbhowbasbh-506[hgboq] +ryexqpqhteki-uww-qdqboiyi-140[qiewy] +bkzrrhehdc-qzaahs-cdoknxldms-625[czsmn] +sawlkjevaz-lhwopey-cnwoo-yqopkian-oanreya-966[znhlt] +xjgjmapg-hdgdovmt-bmvyz-zbb-yzkgjthzio-577[gzbjm] +myxcewob-qbkno-lexxi-wkbuodsxq-250[xboek] +nsyjwsfyntsfq-hfsid-htfynsl-wjfhvznxnynts-255[umtns] +kpvgtpcvkqpcn-ecpfa-ewuvqogt-ugtxkeg-596[ehsca] +vkrhzxgbv-cxeeruxtg-ftgtzxfxgm-579[ymast] +pbeebfvir-fpniratre-uhag-genvavat-663[smznt] +vehmsegxmzi-glsgspexi-hitpscqirx-802[jszht] +tyepcyletzylw-nlyoj-nzletyr-cpdplcns-223[lycen] +jxdkbqfz-oxaflxzqfsb-avb-lmboxqflkp-523[mzvny] +tcfkqcevkxg-tcddkv-uvqtcig-336[cdsln] +ide-htrgti-hrpktcvtg-wjci-ldgzhwde-947[tdghi] +ojk-nzxmzo-kgvnodx-bmvnn-ozxcijgjbt-213[nojxz] +avw-zljyla-msvdly-yljlpcpun-539[lyajp] +rdchjbtg-vgpst-rpcsn-rdpixcv-htgkxrth-661[rtcgh] +xlrypetn-dnlgpyrpc-sfye-dezclrp-353[pelry] +enqvbnpgvir-enoovg-erfrnepu-455[ftlpj] +xjinphzm-bmvyz-xviyt-xjvodib-pnzm-oznodib-291[mlybz] +rwcnawjcrxwju-kjbtnc-bqryyrwp-511[tkyns] +gokzyxsjon-pvygob-nofovyzwoxd-458[ndtfs] +bjfutsneji-hfsid-htfynsl-rfwpjynsl-489[fsjnh] +ydjuhdqjyedqb-rqiauj-qdqboiyi-452[qdijy] +enzcntvat-rtt-genvavat-351[lznyt] +rdadguja-qjccn-advxhixrh-791[yncim] +fmsledevhsyw-ikk-irkmriivmrk-646[nlxzm] +jfifqxov-doxab-mixpqfz-doxpp-obpbxoze-471[oxpbf] +jqwpihizlwca-zijjqb-aitma-408[gzpmw] +pyknyegle-afmamjyrc-bcqgel-808[gynip] +zbytomdsvo-mkxni-bocokbmr-406[obmkc] +wfummczcyx-luvvcn-fuvilunils-526[bavmt] +hwdtljsnh-gfxpjy-rfsfljrjsy-541[gpszy] +lsyrkjkbnyec-oqq-gybucryz-848[ybckq] +oaddaeuhq-vqxxknqmz-xasuefuoe-378[rzmqe] +vhglnfxk-zktwx-fbebmtkr-zktwx-wrx-vhgmtbgfxgm-813[xepwt] +yrwxefpi-gerhc-hitevxqirx-594[eirxh] +mvydjvxodqz-xviyt-xjvodib-rjmfncjk-265[cqirj] +kdijqrbu-tou-kiuh-juijydw-140[uijdk] +ugjjgkanw-usfvq-vwkayf-970[rntsw] +froruixo-fdqgb-ilqdqflqj-569[cylni] +gpsxdprixkt-hrpktcvtg-wjci-gtprfjxhxixdc-999[xptcg] +kwvacumz-ozilm-akidmvomz-pcvb-nqvivkqvo-460[emnrk] +pejji-zvkcdsm-qbkcc-domrxyvyqi-484[cdijk] +rdadguja-xcitgcpixdcpa-qphzti-bpgztixcv-791[cipad] +rkpqxyib-zxkav-zlxqfkd-qoxfkfkd-965[qiftn] +bkzrrhehdc-bnmrtldq-fqzcd-atmmx-qdrdzqbg-937[dqrbm] +eqttqukxg-rtqlgevkng-dwppa-fgxgnqrogpv-570[gxetc] +zbytomdsvo-mkxni-myxdksxwoxd-510[xdmok] +ymszqfuo-rxaiqd-dqmocgueufuaz-274[umtwy] +pelbtravp-ovbunmneqbhf-qlr-znantrzrag-663[xlyio] +rdadguja-ytaanqtpc-gtprfjxhxixdc-141[krcaf] +etaqigpke-hnqygt-eqpvckpogpv-362[pegqk] +rtqlgevkng-etaqigpke-ecpfa-eqcvkpi-ewuvqogt-ugtxkeg-206[gxszf] +fubrjhqlf-fkrfrodwh-sxufkdvlqj-777[pozts] +wfintfhynaj-wfggny-xjwanhjx-957[nfjwa] +xcitgcpixdcpa-bpvctixr-qphzti-gthtpgrw-479[zjlmc] +gntmfefwitzx-hfsid-fsfqdxnx-697[oanif] +xgjougizobk-jek-jkvgxzsktz-384[kgjzo] +nzydfxpc-rclop-mldvpe-cpdplcns-925[pcdln] +ltpedcxots-qphzti-gtrtxkxcv-739[txcpd] +gvaaz-fhh-mphjtujdt-233[hajtd] +jchipqat-rpcsn-gtprfjxhxixdc-297[cpxhi] +gsvvswmzi-gerhc-tyvglewmrk-308[zbdcy] +dmybmsuzs-omzpk-oamfuzs-pqhqxabyqzf-508[mzqsa] +iruzfrtkzmv-treup-tfrkzex-jkfirxv-295[rfktz] +pdjqhwlf-mhoobehdq-vwrudjh-127[hdjoq] +rgndvtcxr-hrpktcvtg-wjci-apqdgpidgn-375[jdrhb] +sbqiiyvyut-isqludwuh-xkdj-efuhqjyedi-114[qjzpn] +lahxpnwrl-npp-nwprwnnarwp-459[ontmq] +zntargvp-onfxrg-fnyrf-871[fnrga] +molgbzqfib-avb-absbilmjbkq-601[bailm] +kpvgtpcvkqpcn-tcddkv-wugt-vguvkpi-492[vkpcg] +jfifqxov-doxab-zxkav-zlkqxfkjbkq-341[kxfqa] +qfmcusbwq-dzoghwq-ufogg-fsqswjwbu-220[zbjty] +xjinphzm-bmvyz-mvwwdo-yzkgjthzio-785[zmhij] +ejpanjwpekjwh-ydkykhwpa-owhao-186[hqlfd] +nzydfxpc-rclop-prr-cplnbftdtetzy-483[pcrtd] +kwtwznct-rmttgjmiv-amzdqkma-590[mtakw] +muqfedyput-fbqijys-whqii-iqbui-790[gjxky] +egdytrixat-rgndvtcxr-rpcsn-jhtg-ithixcv-115[trcgi] +fab-eqodqf-rxaiqd-mzmxkeue-404[eqadf] +zotts-xsy-guleyncha-708[ymnbi] +mbiyqoxsm-pvygob-gybucryz-536[zbyxv] +dmybmsuzs-bxmefuo-sdmee-pqhqxabyqzf-716[mbeqs] +qspkfdujmf-ezf-fohjoffsjoh-519[fjohs] +nwlddtqtpo-prr-xlcvpetyr-249[owkmz] +amlqskcp-epybc-aylbw-amyrgle-bctcjmnkclr-808[clabm] +qspkfdujmf-qmbtujd-hsbtt-eftjho-727[tigys] +pualyuhapvuhs-thnulapj-msvdly-ylzlhyjo-877[lhuya] +diozmivodjivg-zbb-nzmqdxzn-629[zdibm] +yrwxefpi-qmpmxevc-kvehi-gerhc-gsexmrk-qerekiqirx-126[erixk] +qlm-pbzobq-zxkav-zlxqfkd-zrpqljbo-pbosfzb-575[phqza] +irgyyolokj-lruckx-aykx-zkyzotm-904[ubkvy] +cebwrpgvyr-pnaql-pbngvat-bcrengvbaf-793[bagnp] +wlsiayhcw-wifilzof-wuhxs-mylpcwym-630[wilyc] +nglmtuex-ktuubm-nlxk-mxlmbgz-215[egtsz] +sbejpbdujwf-dboez-nbobhfnfou-883[jpkmo] +qzoggwtwsr-qobrm-gsfjwqsg-480[xkwvm] +nwzekwypera-oywrajcan-dqjp-wymqeoepekj-472[zeydw] +sawlkjevaz-ywjzu-yqopkian-oanreya-836[ayejk] +pybgmyargtc-afmamjyrc-rpyglgle-470[zgmsu] +nzwzcqfw-qwzhpc-cplnbftdtetzy-977[zctwf] +lhkhszqx-fqzcd-okzrshb-fqzrr-cdudknoldms-651[defrs] +ugfkmewj-yjsvw-owshgfarwv-tskcwl-wfyafwwjafy-294[wfajs] +gpbepvxcv-gpqqxi-stktadebtci-609[npyad] +pxtihgbsxw-vahvhetmx-hixktmbhgl-397[pvcfe] +guahyncw-vohhs-fiacmncwm-656[chamn] +wfruflnsl-uqfxynh-lwfxx-wjfhvznxnynts-463[fnxlw] +lzfmdshb-cxd-dmfhmddqhmf-703[dmfhb] +gzefmnxq-eomhqzsqd-tgzf-oazfmuzyqzf-118[zfqme] +udskkaxawv-usfvq-ugslafy-hmjuzskafy-658[asufk] +ugjjgkanw-vqw-ksdwk-112[kwgja] +enqvbnpgvir-cynfgvp-tenff-fuvccvat-975[vfnce] +fydelmwp-ojp-nfdezxpc-dpcgtnp-353[gziom] +fmsledevhsyw-gpewwmjmih-glsgspexi-tyvglewmrk-178[egmsw] +shmml-enoovg-freivprf-585[efmor] +bnqqnrhud-atmmx-qdrdzqbg-651[qdbmn] +pxtihgbsxw-vahvhetmx-nlxk-mxlmbgz-943[xhmbg] +xfbqpojafe-dipdpmbuf-tbmft-441[wuizc] +zsxyfgqj-uqfxynh-lwfxx-ijxnls-749[futrq] +oaddaeuhq-nmewqf-dqmocgueufuaz-508[mwlcv] +buzahisl-zjhclunly-obua-zavyhnl-201[kzylj] +yhwooebeaz-iwcjapey-oywrajcan-dqjp-zaoecj-524[aejoc] +bwx-amkzmb-qvbmzvibqwvit-lgm-zmikycqaqbqwv-772[dubva] +oxmeeuruqp-ngzzk-fqotzaxask-638[zaeko] +xfbqpojafe-qmbtujd-hsbtt-efwfmpqnfou-363[fbqte] +iehepwnu-cnwza-xqjju-nayaerejc-472[eajnc] +ytu-xjhwjy-jll-ijxnls-385[moyjn] +nvrgfezqvu-treup-tfrkzex-wzeretzex-997[fpvnt] +kwvacumz-ozilm-moo-camz-bmabqvo-434[sanvt] +lxaaxbren-ouxfna-bjunb-277[abnxu] +gpsxdprixkt-uadltg-tcvxcttgxcv-453[txcgd] +owshgfarwv-jsttal-hmjuzskafy-658[asfhj] +pbafhzre-tenqr-qlr-ynobengbel-403[ebnrl] +yaxsnlcrun-mhn-jlzdrbrcrxw-121[wngsc] +bgmxkgtmbhgte-vtgwr-vhtmbgz-tgterlbl-995[gtbme] +nvrgfezqvu-avccpsvre-tljkfdvi-jvimztv-269[vcefi] +apwmeclga-pyzzgr-dglylagle-158[auvsi] +qczcftiz-pogysh-rsgwub-350[kcdvs] +qlm-pbzobq-gbiivybxk-abpfdk-211[bikpq] +crwwv-rkpqxyib-yrkkv-cfkxkzfkd-419[krcfv] +sbnqbhjoh-cbtlfu-tupsbhf-285[bhfst] +qlm-pbzobq-avb-bkdfkbbofkd-159[golnc] +nchhg-jiasmb-lmaqov-902[dpmcw] +tagzsrsjvgmk-jsttal-umklgewj-kwjnauw-944[fsqml] +rkpqxyib-yxphbq-jxkxdbjbkq-601[npbtf] +ujqgywfau-tmffq-hmjuzskafy-736[zmnlk] +ujqgywfau-hdsklau-yjskk-umklgewj-kwjnauw-190[kujwa] +uqtqbizg-ozilm-jcvvg-lmxizbumvb-850[mhanw] +yhtwhnpun-ihzrla-klclsvwtlua-591[lkqzn] +sbqiiyvyut-sqdto-seqjydw-sedjqydcudj-738[warvn] +bwx-amkzmb-uqtqbizg-ozilm-moo-kwvbiqvumvb-746[wystg] +tipfxvezt-vxx-cfxzjkztj-555[xtzfj] +cjpibabsepvt-cvooz-sftfbsdi-571[myqsb] +ymszqfuo-fab-eqodqf-pkq-xmnadmfadk-274[tkbds] +wlqqp-treup-tfrkzex-jkfirxv-581[refkp] +lnkfaypeha-fahhuxawj-wjwhuoeo-550[ahwef] +lsyrkjkbnyec-oqq-ckvoc-874[azsyv] +gvcskirmg-fewoix-wlmttmrk-360[mgikr] +irdgrxzex-tipfxvezt-treup-tfrkzex-cfxzjkztj-607[txzer] +avw-zljyla-zjhclunly-obua-yljlpcpun-617[lajuy] +nwzekwypera-lhwopey-cnwoo-hkceopeyo-134[zulqp] +vkppo-sqdto-seqjydw-jhqydydw-114[dqyjo] +zixppfcfba-zxkav-zlkqxfkjbkq-679[txhzn] +sbnqbhjoh-dboez-sftfbsdi-623[bsdfh] +qjopwxha-bhksan-zalhkuiajp-316[ahjkp] +yhtwhnpun-thnulapj-ibuuf-klzpnu-773[unhpl] +uwtojhynqj-kqtbjw-wjfhvznxnynts-827[ntyqj] +jef-iushuj-rkddo-ijehqwu-504[biekf] +gspsvjyp-tpewxmg-kveww-gywxsqiv-wivzmgi-672[sryce] +rgllk-eomhqzsqd-tgzf-etubbuzs-118[zbegl] +shmml-pubpbyngr-ynobengbel-403[bnegl] +gsrwyqiv-kvehi-fewoix-wivzmgiw-256[rimyz] +iuxxuyobk-yigbktmkx-natz-xkykgxin-852[kxiyb] +excdklvo-oqq-vklybkdybi-744[utifh] +ojk-nzxmzo-agjrzm-xpnojhzm-nzmqdxz-915[zmjno] +qspkfdujmf-sbccju-eftjho-103[byjhc] +fodvvlilhg-mhoobehdq-whfkqrorjb-699[taskb] +aflwjfslagfsd-usfvq-ogjckzgh-814[emsnh] +sebehvkb-uww-tulubefcudj-712[ubewc] +egdytrixat-gpbepvxcv-hrpktcvtg-wjci-hidgpvt-531[vzdcg] +nsyjwsfyntsfq-zsxyfgqj-gzssd-wjxjfwhm-749[sgmhv] +ktfitzbgz-yehpxk-kxvxbobgz-761[ryzea] +tcrjjzwzvu-irsszk-rthlzjzkzfe-503[ocepg] +dfcxsqhwzs-pibbm-sbuwbssfwbu-558[tocys] +nwzekwypera-bhksan-odellejc-758[eakln] +qfmcusbwq-qobrm-qcohwbu-fsoqeiwgwhwcb-402[cpzsy] +cvabijtm-zijjqb-uizsmbqvo-434[btzma] +irdgrxzex-srjbvk-glityrjzex-867[rxegi] +rdadguja-tvv-gtrtxkxcv-609[tvadg] +wdjcvuvmyjpn-zbb-mznzvmxc-213[ndmaz] +vagreangvbany-sybjre-nanylfvf-507[bryme] +vjpwncrl-mhn-bqryyrwp-979[rnpwy] +jqwpihizlwca-ntwemz-abwziom-642[iyzsa] +jchipqat-rwdrdapit-detgpixdch-921[dipta] +vqr-ugetgv-tcddkv-eqpvckpogpv-440[vgpcd] +ajyqqgdgcb-aylbw-amyrgle-qyjcq-756[qyagb] +fbebmtkr-zktwx-utldxm-nlxk-mxlmbgz-553[onbvf] +hwdtljsnh-kqtbjw-ijajqturjsy-827[jthqs] +sedikcuh-whqtu-sxesebqju-udwyduuhydw-556[rvudf] +ipvohghykvbz-tpspahyf-nyhkl-yhiipa-huhsfzpz-123[hpyiz] +fubrjhqlf-mhoobehdq-oderudwrub-153[bdhor] +mbggf-zjhclunly-obua-dvyrzovw-695[bglou] +houngfgxjuay-igtje-aykx-zkyzotm-176[qcita] +lugjuacha-mwupyhayl-bohn-xyjulngyhn-318[gnftc] +rdggdhxkt-rpcsn-rdpixcv-itrwcdadvn-505[uancd] +yaxsnlcrun-ouxfna-jwjuhbrb-199[xnmwj] +yrwxefpi-tpewxmg-kveww-wlmttmrk-334[rfqkl] +ktwbhtvmbox-unggr-kxtvjnblbmbhg-215[bgthk] +amlqskcp-epybc-bwc-pcyaosgqgrgml-600[cgpab] +ujqgywfau-usfvq-ugslafy-jwuwanafy-606[uafwy] +nwzekwypera-lhwopey-cnwoo-lqnydwoejc-134[xithv] +nwzekwypera-acc-naoawnyd-160[itvch] +luxciuwncpy-ohmnuvfy-yaa-wihnuchgyhn-526[hnuyc] +ygcrqpkbgf-ejqeqncvg-tgegkxkpi-674[gekqc] +mtzslklcozfd-qwzhpc-nfdezxpc-dpcgtnp-223[ucwob] +tinnm-tzcksf-zcuwghwqg-948[nmktj] +rdchjbtg-vgpst-hrpktcvtg-wjci-itrwcdadvn-453[ngtzh] +yrwxefpi-nippcfier-hizipstqirx-932[ipref] +cvabijtm-xtiabqk-oziaa-kcabwumz-amzdqkm-590[mpqzo] +dpmpsgvm-dipdpmbuf-efqmpznfou-259[pmdfu] +ynukcajey-nwxxep-zarahkliajp-238[ytaej] +zbytomdsvo-mkxni-mykdsxq-nocsqx-770[mosxd] +tagzsrsjvgmk-xdgowj-jwuwanafy-814[efhpk] +xqvwdeoh-fdqgb-rshudwlrqv-127[jpkat] +kpvgtpcvkqpcn-fag-qrgtcvkqpu-596[pcgkq] +zlkprjbo-doxab-gbiivybxk-obpbxoze-393[boxik] +zbytomdsvo-mrymyvkdo-domrxyvyqi-744[ymodv] +jvuzbtly-nyhkl-qlssfilhu-klwhyatlua-695[lhuya] +nzydfxpc-rclop-nsznzwlep-xlylrpxpye-145[plnxy] +atyzghrk-xghhoz-rghuxgzuxe-748[ghxzr] +vhglnfxk-zktwx-ietlmbv-zktll-ftkdxmbgz-787[wbspa] +njmjubsz-hsbef-dipdpmbuf-vtfs-uftujoh-623[fubjs] +pyknyegle-aylbw-jmegqrgaq-756[egyal] +bgmxkgtmbhgte-lvtoxgzxk-angm-vhgmtbgfxgm-137[gmtxb] +ydjuhdqjyedqb-vbemuh-jusxdebewo-946[debju] +jxdkbqfz-zxkav-zlxqfkd-mrozexpfkd-263[kxzdf] +nbhofujd-dipdpmbuf-pqfsbujpot-597[pbdfu] +wrs-vhfuhw-fdqgb-vklsslqj-647[sfhlq] +vkrhzxgbv-vtgwr-ehzblmbvl-449[knuzb] +gsrwyqiv-kvehi-fyrrc-pefsvexsvc-750[versc] +hqcfqwydw-vbemuh-ixyffydw-270[fwydh] +vetllbybxw-vkrhzxgbv-lvtoxgzxk-angm-ybgtgvbgz-527[jxrwq] +bkzrrhehdc-eknvdq-cdrhfm-365[dhrce] +cybyjqho-whqtu-rkddo-qsgkyiyjyed-530[ydqhj] +ckgvutofkj-hatte-ynovvotm-332[tovka] +sawlkjevaz-zua-iwngapejc-758[jzwql] +mvhkvbdib-kgvnodx-bmvnn-gjbdnodxn-551[bmkyo] +enzcntvat-fpniratre-uhag-grpuabybtl-689[sqkoh] +bqvvu-acc-oanreyao-108[acovb] +tyepcyletzylw-nlyoj-nzletyr-nfdezxpc-dpcgtnp-275[yelnp] +fbebmtkr-zktwx-lvtoxgzxk-angm-kxlxtkva-839[kxtab] +ojk-nzxmzo-wvnfzo-vivgtndn-707[mlndw] +tpspahyf-nyhkl-qlssfilhu-klwsvftlua-487[iewds] +shoewudys-isqludwuh-xkdj-husuylydw-868[tlyhz] +qzoggwtwsr-qobrm-oqeiwgwhwcb-116[wgoqb] +zlkprjbo-doxab-yxphbq-pxibp-237[ocanz] +iruzfrtkzmv-avccpsvre-vexzevvizex-893[nyktl] +hqtyeqsjylu-hqrryj-tulubefcudj-894[ujqye] +zlkprjbo-doxab-fkqbokxqflkxi-mixpqfz-doxpp-xznrfpfqflk-523[fxkpo] +dpmpsgvm-sbccju-dvtupnfs-tfswjdf-129[neysa] +qcbgiasf-ufors-dzoghwq-ufogg-zopcfohcfm-246[yhmkz] +esyfwlau-ugjjgkanw-usfvq-kzahhafy-242[wnzhb] +mbiyqoxsm-lkcuod-nozkbdwoxd-432[odbkm] +usfvq-ugslafy-vwhdgqewfl-632[fglqs] +gokzyxsjon-zvkcdsm-qbkcc-oxqsxoobsxq-484[xrkfl] +hdgdovmt-bmvyz-wvnfzo-gjbdnodxn-395[bwicg] +sehheiylu-fhezusjybu-rkddo-udwyduuhydw-530[udhye] +glrcplyrgmlyj-aylbw-amyrgle-nspafyqgle-210[dmuny] +aflwjfslagfsd-jsttal-xafsfuafy-138[faslj] +yuxufmdk-sdmpq-iqmbazulqp-otaoaxmfq-pqbxakyqzf-586[qamfp] +jef-iushuj-sxesebqju-ixyffydw-270[iztnj] +zvyvgnel-tenqr-enzcntvat-ohaal-ratvarrevat-793[atven] +yuxufmdk-sdmpq-vqxxknqmz-ogefayqd-eqdhuoq-612[qdmux] +yhtwhnpun-kfl-ylhjxbpzpapvu-357[phlnu] +egdytrixat-qjccn-bpcpvtbtci-557[mtpgc] +wsvsdkbi-qbkno-mkxni-mykdsxq-ecob-docdsxq-120[dksbo] +xtwtelcj-rclop-ojp-dstaatyr-873[omnal] +wifilzof-jfumncw-alumm-xypyfijgyhn-318[evfso] +mvydjvxodqz-agjrzm-hvivbzhzio-655[vzdhi] +jsehsyafy-usfvq-ugslafy-jwuwanafy-840[afsyu] +myxcewob-qbkno-nio-bocokbmr-900[obckm] +ipvohghykvbz-wshzapj-nyhzz-vwlyhapvuz-539[hzvpy] +tbxmlkfwba-pzxsbkdbo-erkq-zrpqljbo-pbosfzb-185[bkopz] +rdadguja-eaphixr-vgphh-itrwcdadvn-869[nfpxs] +lugjuacha-jfumncw-alumm-zchuhwcha-734[uachm] +jsehsyafy-jsttal-jwsuimakalagf-762[mnvlh] +zixppfcfba-yrkkv-absbilmjbkq-393[ihgyz] +bxaxipgn-vgpst-rdchjbtg-vgpst-rpcsn-rdpixcv-hpath-817[pgtch] +rtqlgevkng-ejqeqncvg-hkpcpekpi-154[xpgty] +laffe-hgyqkz-xkikobotm-488[kfoab] +jfifqxov-doxab-zxkav-zlxqfkd-qoxfkfkd-419[ubaro] +myxcewob-qbkno-cmkfoxqob-rexd-zebmrkcsxq-952[boxce] +apuut-wvnfzo-rjmfncjk-447[fjnua] +lejkrscv-tfcfiwlc-avccpsvre-fgvirkzfej-113[cfver] +nglmtuex-cxeeruxtg-kxvxbobgz-215[xegbt] +sgmtkzoi-kmm-xkgiwaoyozout-748[qrkst] +amppmqgtc-djmucp-rcaflmjmew-912[bcvna] +xst-wigvix-fyrrc-wepiw-438[ygref] +dzczkrip-xiruv-jtrmvexvi-ylek-fgvirkzfej-295[irvek] +diozmivodjivg-xviyt-xjvodib-zibdizzmdib-265[zmrey] +rgndvtcxr-ytaanqtpc-stepgibtci-661[tcagi] +xgsvgmotm-hgyqkz-jkyomt-358[ajyhb] +zloolpfsb-yxphbq-ixyloxqlov-393[loxbp] +zilqwikbqdm-jiasmb-uizsmbqvo-668[ibmqs] +rtqlgevkng-rncuvke-itcuu-ucngu-206[ucgne] +dmybmsuzs-yuxufmdk-sdmpq-eomhqzsqd-tgzf-iadwetab-482[nkqyl] +vetllbybxw-ktuubm-hixktmbhgl-345[ikqop] +bwx-amkzmb-jcvvg-ikycqaqbqwv-954[symcn] +ubhatstkwhnl-ynssr-lvtoxgzxk-angm-kxlxtkva-163[ktxal] +zlilocri-yxphbq-pefmmfkd-471[filmp] +yflexwxoalrp-zlkprjbo-doxab-zxkav-zlxqfkd-qoxfkfkd-419[xkflo] +oxaflxzqfsb-zelzlixqb-xznrfpfqflk-393[flxzq] +ixccb-vfdyhqjhu-kxqw-ghyhorsphqw-101[pzgst] +pybgmyargtc-qaytclecp-fslr-sqcp-rcqrgle-860[crglp] +zbytomdsvo-mkxni-kmaescsdsyx-562[smdko] +hwbba-dwppa-ocpcigogpv-570[pabcg] +eza-dpncpe-nlyoj-nzletyr-wlmzclezcj-171[elzcn] +tbxmlkfwba-mixpqfz-doxpp-zlkqxfkjbkq-159[kxbfp] +vetllbybxw-yehpxk-ehzblmbvl-657[blehv] +zuv-ykixkz-jek-lotgtiotm-852[ktioz] +fnjyxwrinm-mhn-mnyjacvnwc-277[zgpnw] +odiih-ljwmh-lxjcrwp-mnenuxyvnwc-615[nwchi] +wfummczcyx-wuhxs-qilembij-838[mciuw] +sno-rdbqds-bgnbnkzsd-bnmszhmldms-859[sbdnm] +nvrgfezqvu-gcrjkzt-xirjj-ivjvrity-555[ylfxv] +encuukhkgf-uecxgpigt-jwpv-ujkrrkpi-622[kugpc] +lnkfaypeha-xqjju-qoan-paopejc-446[ajpen] +kmjezxodgz-ytz-gvwjmvojmt-109[jmzgo] +ygcrqpkbgf-hnqygt-octmgvkpi-128[gckpq] +jxdkbqfz-mixpqfz-doxpp-tlohpelm-107[pxdfl] +xjgjmapg-xviyt-xjvodib-adivixdib-759[ixdjv] +laffe-jek-sgtgmksktz-644[vuenb] +pbafhzre-tenqr-enoovg-ratvarrevat-975[ymshj] +lqwhuqdwlrqdo-vfdyhqjhu-kxqw-uhvhdufk-959[kzlvy] +rflsjynh-jll-zxjw-yjxynsl-697[jlyns] +wrs-vhfuhw-sodvwlf-judvv-ghvljq-361[vhwdf] +ynssr-unggr-tvjnblbmbhg-163[bgnrs] +jyfvnlupj-jvsvymbs-yhiipa-zopwwpun-903[nrdma] +kzeed-hfsid-uzwhmfxnsl-515[uoyvx] +ide-htrgti-uadltg-gtprfjxhxixdc-375[tdgix] +sorozgxe-mxgjk-hatte-vaxingyotm-358[fwxei] +ydjuhdqjyedqb-fbqijys-whqii-jusxdebewo-582[nuzsj] +yknnkoera-xwogap-paydjkhkcu-498[kanop] +nzydfxpc-rclop-upwwjmply-opdtry-691[pycdl] +dlhwvupglk-jhukf-jvhapun-zlycpjlz-409[lhjpu] +kwvacumz-ozilm-moo-bmkpvwtwog-694[mowkv] +kmjezxodgz-wpiit-mzxzdqdib-863[anvbu] +xlrypetn-nsznzwlep-xlylrpxpye-587[znfwt] +pybgmyargtc-qaytclecp-fslr-umpiqfmn-600[nzvej] +etyyx-qzaahs-lzqjdshmf-781[ahqsy] +ovbunmneqbhf-wryylorna-znantrzrag-221[pnazx] +gzefmnxq-bxmefuo-sdmee-ymzmsqyqzf-352[lgvpu] +ixeumktoi-jek-jkbkruvsktz-488[mzeun] +dzczkrip-xiruv-avccpsvre-glityrjzex-321[eflmp] +wfruflnsl-hfsid-fhvznxnynts-307[fnshl] +vkppo-rkddo-iqbui-218[dikop] +muqfedyput-zubboruqd-mehaixef-452[inbaj] +ftzgxmbv-cxeeruxtg-nlxk-mxlmbgz-683[xgmbe] +htsxzrjw-lwfij-uqfxynh-lwfxx-hzxytrjw-xjwanhj-827[xjwhf] +qekrixmg-wgezirkiv-lyrx-tyvglewmrk-282[regik] +ktiaaqnqml-jiasmb-apqxxqvo-226[asvyf] +lejkrscv-irdgrxzex-srjbvk-kvtyefcfxp-165[rekvx] +hvbizodx-nxvqzibzm-cpio-hvmfzodib-291[izbov] +ltpedcxots-tvv-rjhidbtg-htgkxrt-297[tdghr] +dlhwvupglk-mbggf-jovjvshal-zlycpjlz-565[lgjvh] +xfbqpojafe-tdbwfohfs-ivou-sfbdrvjtjujpo-779[fjobd] +kmjezxodgz-xviyt-gvwjmvojmt-577[flhas] +jshzzpmplk-jhukf-jvhapun-vwlyhapvuz-669[hpjuv] +tfejldvi-xiruv-gcrjkzt-xirjj-drerxvdvek-295[dpsef] +zotts-yaa-lymyulwb-968[skymd] +rmn-qcapcr-zyqicr-umpiqfmn-704[cmqri] +xfbqpojafe-cbtlfu-qvsdibtjoh-727[bfjoq] +ykhknbqh-nwxxep-oanreyao-732[naehk] +raphhxuxts-hrpktcvtg-wjci-hidgpvt-921[hmzng] +yrwxefpi-qmpmxevc-kvehi-gerhc-gsexmrk-hizipstqirx-932[mdsza] +xjgjmapg-xviyt-vivgtndn-603[utnks] +cxy-bnlanc-mhn-vjwjpnvnwc-745[mtsvn] +ujoon-gpbepvxcv-eaphixr-vgphh-uxcpcrxcv-687[pcvxh] +ykjoqian-cnwza-iwcjapey-lhwopey-cnwoo-opknwca-264[owacn] +lnkfaypeha-oywrajcan-dqjp-zalwnpiajp-108[apjnl] +ktwbhtvmbox-yehpxk-mktbgbgz-293[cndif] +hqcfqwydw-cqwdujys-rqiauj-qsgkyiyjyed-738[qydjw] +amlqskcp-epybc-zyqicr-kylyeckclr-600[sdrzj] +bnmrtldq-fqzcd-rbzudmfdq-gtms-zbpthrhshnm-443[dmbhq] +nwlddtqtpo-nlyoj-nzletyr-epnsyzwzrj-379[tyrzv] +cvabijtm-kpwkwtibm-lmxtwgumvb-980[mbtwi] +amlqskcp-epybc-afmamjyrc-jyzmpyrmpw-574[mpyac] +aflwjfslagfsd-vqw-dstgjslgjq-424[sfgjl] +willimcpy-zfiqyl-xymcah-110[ilycm] +kpvgtpcvkqpcn-lgnnadgcp-ujkrrkpi-128[knmqz] +wyvqljapsl-buzahisl-ibuuf-lunpullypun-409[wyhza] +amlqskcp-epybc-pyzzgr-pcacgtgle-210[cpgae] +xtwtelcj-rclop-mldvpe-dstaatyr-821[nkabu] +pdjqhwlf-gbh-sxufkdvlqj-751[cdmbz] +wkqxodsm-zvkcdsm-qbkcc-ecob-docdsxq-432[cdkoq] +xjmmjndqz-wpiit-gjbdnodxn-811[djnim] +zlkprjbo-doxab-zelzlixqb-absbilmjbkq-939[blzai] +htqtwkzq-xhfajsljw-mzsy-ywfnsnsl-619[lfsnu] +zhdsrqlchg-mhoobehdq-xvhu-whvwlqj-361[hqdlo] +tcfkqcevkxg-tcorcikpi-ejqeqncvg-uvqtcig-544[lsyzm] +kwtwznct-kivlg-zmamizkp-824[ixjen] +bkzrrhehdc-qzaahs-rghoohmf-287[hraoz] +lxuxaodu-mhn-cajrwrwp-303[aruwx] +tcorcikpi-dcumgv-octmgvkpi-700[vygzd] +crwwv-zlkprjbo-doxab-yxphbq-bkdfkbbofkd-809[bkdof] +xgvnndadzy-xcjxjgvoz-ncdkkdib-447[dnxcg] +elrkdcdugrxv-fkrfrodwh-xvhu-whvwlqj-179[eubfs] +odkasqzuo-rxaiqd-eqdhuoqe-430[nlyts] +vhglnfxk-zktwx-xzz-xgzbgxxkbgz-917[xzgkb] +jyfvnlupj-wyvqljapsl-jovjvshal-zlycpjlz-357[jlvpy] +gpbepvxcv-eaphixr-vgphh-gtrtxkxcv-687[pvxgh] +jrncbavmrq-zntargvp-qlr-qrirybczrag-741[dnzpg] +hqfxxnknji-hfsid-knsfshnsl-307[wtfhe] +aietsrmdih-nippcfier-stivexmsrw-750[iersm] +glrcplyrgmlyj-pyzzgr-pcqcypaf-912[nkoyv] +ugfkmewj-yjsvw-hdsklau-yjskk-sfsdqkak-216[ksjad] +mhi-lxvkxm-vtgwr-kxtvjnblbmbhg-917[bmvxg] +tipfxvezt-irsszk-kvtyefcfxp-451[fteik] +jxdkbqfz-mixpqfz-doxpp-qoxfkfkd-939[fxdkp] +dsxxw-pyzzgr-qrmpyec-288[prxyz] +ejpanjwpekjwh-fahhuxawj-ajcejaanejc-394[jaehw] +pinovwgz-xgvnndadzy-xviyt-vxlpdndodji-109[dnvix] +szfyrqriuflj-upv-rercpjzj-243[jprqg] +dmbttjgjfe-gmpxfs-efqbsunfou-701[fbegj] +sgmtkzoi-inuiurgzk-ykxboiky-436[qlcfs] +slqryzjc-djmucp-ylyjwqgq-158[jqycl] +aflwjfslagfsd-vqw-hmjuzskafy-398[fasjl] +slqryzjc-djmucp-pcacgtgle-886[cgjlp] +qjopwxha-ywjzu-ajcejaanejc-420[zoehr] +amjmpdsj-njyqrga-epyqq-kylyeckclr-756[yksln] +zlkprjbo-doxab-zxkav-zlxqfkd-abpfdk-445[kabdx] +lhkhszqx-fqzcd-bgnbnkzsd-nodqzshnmr-989[nzdhq] +dlhwvupglk-ibuuf-klwhyatlua-591[dzktb] +dpotvnfs-hsbef-cbtlfu-ufdiopmphz-623[homsd] +ajvyjprwp-npp-mnbrpw-875[pjnrw] +lxwbdvna-pajmn-snuuhknjw-mnyuxhvnwc-251[nuwah] +vetllbybxw-lvtoxgzxk-angm-xgzbgxxkbgz-865[mknli] +aflwjfslagfsd-jsehsyafy-usfvq-vwkayf-268[fsayj] +xjgjmapg-agjrzm-gvwjmvojmt-291[jgmav] +plolwdub-judgh-iorzhu-dqdobvlv-465[dloub] +htqtwkzq-wfggny-fsfqdxnx-645[wsznf] +fkqbokxqflkxi-zxkav-zlxqfkd-jxohbqfkd-341[kxfqb] +oxjmxdfkd-avb-tlohpelm-653[dlmox] +xtwtelcj-rclop-nsznzwlep-epnsyzwzrj-873[zelnp] +rtqlgevkng-gii-ceswkukvkqp-466[kgeiq] +molgbzqfib-yrkkv-ixyloxqlov-237[lobik] +zbytomdsvo-mrymyvkdo-nocsqx-848[pahef] +szfyrqriuflj-treup-tfrkzex-ivtvzmzex-867[xejut] +upq-tfdsfu-kfmmzcfbo-mphjtujdt-909[fmtud] +ykhknbqh-lhwopey-cnwoo-bejwjyejc-342[hwxgn] +qfkkj-nsznzwlep-nzyeltyxpye-327[vkmwy] +excdklvo-zvkcdsm-qbkcc-psxkxmsxq-900[cvoiz] +dszphfojd-dboez-dpbujoh-xpsltipq-623[zbxem] +udpsdjlqj-iorzhu-ghsorbphqw-517[hdjop] +xcitgcpixdcpa-ide-htrgti-gpqqxi-gthtpgrw-609[gitpc] +cybyjqho-whqtu-uww-tuiywd-348[styfx] +yuxufmdk-sdmpq-nmewqf-oazfmuzyqzf-924[hfsly] +tfejldvi-xiruv-avccpsvre-crsfirkfip-997[rxygp] +wsvsdkbi-qbkno-oqq-wkxkqowoxd-822[koqwb] +qcbgiasf-ufors-tzcksf-sbuwbssfwbu-610[ivjsc] +vkrhzxgbv-wrx-lmhktzx-839[xhkrv] +xmrrq-bwddqtwsf-vwnwdghewfl-242[fpmoq] +kmjezxodgz-nxvqzibzm-cpio-gjbdnodxn-577[isocd] +iutyaskx-mxgjk-kmm-jkyomt-436[kmjtx] +ide-htrgti-snt-rjhidbtg-htgkxrt-531[tghir] +vkppo-uww-bqrehqjeho-764[xmntl] +bdavqofuxq-pkq-ymzmsqyqzf-196[qfmyz] +diozmivodjivg-hvbizodx-zbb-ozxcijgjbt-915[zueag] +cybyjqho-whqtu-hqrryj-bqrehqjeho-374[hqjry] +vcibutulxiom-vohhs-lywycpcha-630[owyks] +chnylhuncihuf-wuhxs-fiacmncwm-786[chnuf] +xekdwvwnzkqo-ywjzu-ykwpejc-wymqeoepekj-264[dmbln] +etyyx-cxd-vnqjrgno-391[hntfq] +pwcvonofrcig-dfcxsqhwzs-qobrm-qighcasf-gsfjwqs-194[scfqg] +xgvnndadzy-ezggtwzvi-nojmvbz-837[vnsth] +dszphfojd-qmbtujd-hsbtt-usbjojoh-467[rskch] +npmhcargjc-aylbw-amyrgle-yaosgqgrgml-886[galmr] +qczcftiz-gqojsbusf-vibh-twbobqwbu-350[bnsiu] +kwvacumz-ozilm-kzgwomvqk-xtiabqk-oziaa-twoqabqka-980[akoqz] +dsxxw-zyqicr-cleglccpgle-418[clegx] +jrncbavmrq-cynfgvp-tenff-ynobengbel-611[nbefc] +hqtyeqsjylu-fbqijys-whqii-tuiywd-322[mitks] +rnqnyfwd-lwfij-wfggny-xmnuunsl-697[tseia] +fhezusjybu-rqiauj-udwyduuhydw-868[ngyzs] +pkl-oaynap-ywjzu-ykwpejc-opknwca-628[pakwy] +nuatmlmdpage-vqxxknqmz-geqd-fqefuzs-508[romxa] +awzwhofm-ufors-qobrm-qcohwbu-hsqvbczcum-948[obchm] +dfcxsqhwzs-rms-fsgsofqv-766[sfqcd] +wlqqp-tyftfcrkv-rercpjzj-711[rcfjp] +clotzlnetgp-awldetn-rcldd-nzyeltyxpye-743[letdn] +lgh-kwujwl-hdsklau-yjskk-vwhsjlewfl-788[lkwhj] +uqtqbizg-ozilm-kivlg-kwibqvo-uizsmbqvo-512[iqbov] +vetllbybxw-lvtoxgzxk-angm-kxlxtkva-683[xlktv] +qyujihctyx-mwupyhayl-bohn-uwkocmcncih-760[chyui] +crwwv-zxkav-obzbfsfkd-237[bfkvw] +qczcftiz-pogysh-igsf-hsghwbu-610[tnjwm] +udpsdjlqj-gbh-hqjlqhhulqj-725[hjqld] +yuxufmdk-sdmpq-nmewqf-emxqe-326[meqdf] +molgbzqfib-ciltbo-ildfpqfzp-653[bfilo] +uwtojhynqj-gfxpjy-ywfnsnsl-151[jnyfs] +qvbmzvibqwvit-jiasmb-camz-bmabqvo-330[bmvai] +xmtjbzidx-xviyt-xjvodib-xpnojhzm-nzmqdxz-603[torgb] +ykjoqian-cnwza-fahhuxawj-qoan-paopejc-628[ajnoc] +gvcskirmg-veffmx-irkmriivmrk-906[imrkv] +njmjubsz-hsbef-dboez-dpbujoh-bdrvjtjujpo-649[astyb] +ovbunmneqbhf-pnaql-pbngvat-jbexfubc-845[yzqwm] +joufsobujpobm-kfmmzcfbo-usbjojoh-571[mkpnw] +lzfmdshb-cxd-lzmzfdldms-287[dlmzf] +froruixo-mhoobehdq-pdunhwlqj-439[ohdqr] +xcitgcpixdcpa-rpcsn-rdpixcv-bpcpvtbtci-193[cpitx] +dfcxsqhwzs-ksodcbwnsr-xszzmpsob-rsgwub-168[sbwzc] +iuruxlar-lruckx-sgtgmksktz-436[krugl] +nbhofujd-dboez-fohjoffsjoh-467[ofhjb] +pejji-tovvilokx-nozvyiwoxd-276[bzkve] +bxaxipgn-vgpst-rpcsn-rdpixcv-rjhidbtg-htgkxrt-583[upjyv] +bkzrrhehdc-bzmcx-bnzshmf-lzqjdshmf-443[hzbmc] +dpssptjwf-gmpxfs-mphjtujdt-571[pjstd] +pdjqhwlf-sodvwlf-judvv-orjlvwlfv-829[tuszv] +mfklstdw-tmffq-wfyafwwjafy-918[wmvan] +joufsobujpobm-ezf-gjobodjoh-779[xwadm] +hafgnoyr-gbc-frperg-rtt-grpuabybtl-481[jcgnd] +joufsobujpobm-fhh-tijqqjoh-233[johbf] +zuv-ykixkz-vrgyzoi-mxgyy-yzuxgmk-150[yzgkx] +ibghopzs-qvcqczohs-qighcasf-gsfjwqs-948[ubrmn] +qfmcusbwq-pwcvonofrcig-foppwh-fsgsofqv-584[focpq] +aczupnetwp-awldetn-rcldd-qtylyntyr-119[tdlny] +dpssptjwf-ezf-sfdfjwjoh-909[znfwy] +qxdwpopgsdjh-ytaanqtpc-pcpanhxh-297[pahcd] +ucynmlgxcb-aylbw-rpyglgle-626[lgybc] +oqnidbshkd-okzrshb-fqzrr-rdquhbdr-573[rdbhq] +frqvxphu-judgh-fdqgb-vhuylfhv-647[hfuvd] +vhehkyne-cxeeruxtg-hixktmbhgl-319[ehxgk] +gsrwyqiv-kvehi-gerhc-gsexmrk-vigimzmrk-412[girek] +ajmrxjlcren-yujbcrl-pajbb-bnaerlnb-719[lvzpq] +zixppfcfba-bdd-bkdfkbbofkd-393[hnmcz] +aflwjfslagfsd-hdsklau-yjskk-ugflsafewfl-918[flsak] +xtwtelcj-rclop-upwwjmply-nzyeltyxpye-847[lpyet] +oaddaeuhq-qss-dqmocgueufuaz-924[qzwti] +tvsnigxmpi-wgezirkiv-lyrx-hitpscqirx-568[irxgp] +ksodcbwnsr-qczcftiz-gqojsbusf-vibh-igsf-hsghwbu-272[sbcfg] +sgmtkzoi-jek-gtgreyoy-410[tqkns] +rzvkjiduzy-kgvnodx-bmvnn-omvdidib-109[fpsxk] +diozmivodjivg-rzvkjiduzy-zbb-adivixdib-447[nayqm] +froruixo-vfdyhqjhu-kxqw-rshudwlrqv-517[rhqud] +dmpuamofuhq-dmnnuf-ymzmsqyqzf-222[mwnak] +mybbycsfo-zvkcdsm-qbkcc-wkbuodsxq-380[bcksd] +tcrjjzwzvu-wcfnvi-vexzevvizex-633[vzeci] +qzoggwtwsr-gqojsbusf-vibh-hsqvbczcum-870[sbgqc] +enzcntvat-cynfgvp-tenff-phfgbzre-freivpr-845[xnfot] +gsvvswmzi-gerhc-gsexmrk-stivexmsrw-984[segmr] +fhezusjybu-vbemuh-iqbui-244[iektm] +oqnidbshkd-idkkxadzm-qdzbpthrhshnm-469[gekyh] +pybgmyargtc-cee-nspafyqgle-574[egyac] +jyddc-gerhc-gsexmrk-vigimzmrk-672[gmrcd] +tipfxvezt-gcrjkzt-xirjj-rercpjzj-399[ldquc] +bdavqofuxq-bxmefuo-sdmee-dqeqmdot-768[hwmck] +fbebmtkr-zktwx-vtgwr-hixktmbhgl-475[tbkgh] +irgyyolokj-igtje-iugzotm-rumoyzoiy-202[mpijw] +fbebmtkr-zktwx-xzz-kxlxtkva-865[yicwo] +tyepcyletzylw-dnlgpyrpc-sfye-nfdezxpc-dpcgtnp-145[badwi] +vrurcjah-pajmn-ljwmh-anbnjalq-849[ajnhl] +rtqlgevkng-ecpfa-fgukip-700[gefkp] +pdjqhwlf-froruixo-udeelw-wudlqlqj-907[kymab] +tinnm-xszzmpsob-qcbhowbasbh-688[nhcdm] +nij-mywlyn-wuhxs-lywycpcha-318[ywchl] +fnjyxwrinm-ouxfna-ldbcxvna-bnaerln-979[naxbf] +ajvyjprwp-bljenwpna-qdwc-anjlzdrbrcrxw-823[jrwan] +diozmivodjivg-wpiit-mzxzdqdib-551[kmhon] +nij-mywlyn-dyffsvyuh-xyjfisgyhn-656[yfnhi] +fhezusjybu-zubboruqd-vydqdsydw-504[dubyq] +ubhatstkwhnl-lvtoxgzxk-angm-kxvxbobgz-579[xbgkt] +xcitgcpixdcpa-rwdrdapit-htgkxrth-557[zastp] +wfintfhynaj-jll-hzxytrjw-xjwanhj-281[jhnwa] +irgyyolokj-vrgyzoi-mxgyy-rumoyzoiy-800[sptbo] +jvyyvzpcl-yhkpvhjapcl-ibuuf-aljouvsvnf-227[vjlpu] +iruzfrtkzmv-treup-kirzezex-841[rzeik] +cxy-bnlanc-ljwmh-ujkxajcxah-979[waqkz] +qzoggwtwsr-foppwh-difqvogwbu-948[wgofp] +qyujihctyx-dyffsvyuh-zchuhwcha-552[hycuf] +yknnkoera-lhwopey-cnwoo-pnwejejc-992[enowc] +zovldbkfz-zxkav-zlxqfkd-xkxivpfp-289[vtcos] +mrxivrexmsrep-glsgspexi-erepcwmw-750[btrnl] +udskkaxawv-kusnwfywj-zmfl-dgyaklauk-866[xeozd] +esyfwlau-tmffq-vwnwdghewfl-632[czoml] +hjgbwuladw-kusnwfywj-zmfl-esfsywewfl-294[xwfie] +hwbba-rncuvke-itcuu-ocpcigogpv-232[cubgi] +vhkkhlbox-vtgwr-xgzbgxxkbgz-631[typnq] +nvrgfezqvu-szfyrqriuflj-vxx-jkfirxv-139[krijl] +iuruxlar-zuv-ykixkz-lruckx-xkykgxin-826[kxuir] +yhwooebeaz-ywjzu-yqopkian-oanreya-966[ynwkb] +iuxxuyobk-pkrrehkgt-xkgiwaoyozout-176[sjwtp] +glrcplyrgmlyj-djmucp-qrmpyec-236[clmpr] +pejji-tovvilokx-bocokbmr-588[obijk] +hplazytkpo-upwwjmply-dpcgtnpd-119[pdltw] +nij-mywlyn-xsy-jolwbumcha-136[yjlmn] +pynffvsvrq-ohaal-fgbentr-923[fanrv] +lgh-kwujwl-kusnwfywj-zmfl-kwjnauwk-736[wkjlu] +dszphfojd-sbccju-mbcpsbupsz-727[sbcpd] +ixeumktoi-lruckx-zkinturume-800[ktsyl] +fmsledevhsyw-tvsnigxmpi-veffmx-viwievgl-412[veifm] +mrxivrexmsrep-fyrrc-qevoixmrk-880[wtmdx] +qmpmxevc-kvehi-wgezirkiv-lyrx-wlmttmrk-620[zyxjd] +zixppfcfba-oxyyfq-qbzeklildv-289[fbilp] +nwlddtqtpo-dnlgpyrpc-sfye-wlmzclezcj-431[jefsy] +tinnm-foppwh-oqeiwgwhwcb-688[fzyjx] +plolwdub-judgh-fdqgb-ghyhorsphqw-413[hystk] +bwx-amkzmb-zijjqb-bmkpvwtwog-460[bmwjk] +qcbgiasf-ufors-pibbm-ghcfous-896[bfscg] +ktwbhtvmbox-vetllbybxw-cxeeruxtg-tgterlbl-215[tmybs] +lqwhuqdwlrqdo-mhoobehdq-vwrudjh-387[dhqow] +lgh-kwujwl-tskcwl-vwhdgqewfl-684[afnbs] +yuxufmdk-sdmpq-rxaiqd-efadmsq-976[mczye] +ftzgxmbv-unggr-kxlxtkva-917[ezfmx] +rmn-qcapcr-aylbw-amyrgle-ylyjwqgq-158[prcqj] +fhezusjybu-rqiauj-husuylydw-582[uyhjs] +apuut-xviyt-xjvodib-yzkvmohzio-525[yomvc] +mybbycsfo-dyz-combod-zvkcdsm-qbkcc-oxqsxoobsxq-848[obcsd] +yhwooebeaz-lhwopey-cnwoo-zalhkuiajp-706[oaehw] +bqxnfdmhb-bzmcx-trdq-sdrshmf-469[zdyht] +dmpuamofuhq-vqxxknqmz-pqbmdfyqzf-924[qmfdp] +kmjezxodgz-ytz-mzvxlpdndodji-889[gefcn] +apuut-xviyt-xjvodib-mznzvmxc-369[vximt] +fodvvlilhg-surmhfwloh-hjj-hqjlqhhulqj-647[hljqf] +tipfxvezt-srjbvk-tljkfdvi-jvimztv-269[vtijf] +ikhcxvmbex-xzz-labiibgz-423[qnzsg] +qzchnzbshud-azrjds-lzmzfdldms-885[xubgy] +eadalsjq-yjsvw-vqw-esjcwlafy-398[ajswe] +oxmeeuruqp-bxmefuo-sdmee-etubbuzs-898[stupo] +frqvxphu-judgh-xqvwdeoh-fdqgb-frdwlqj-zrunvkrs-257[dqrfh] +ltpedcxots-gpbepvxcv-qphzti-igpxcxcv-349[jzdyi] +vhkkhlbox-vtgwr-phkdlahi-969[tmszy] +cvabijtm-jcvvg-lmdmtwxumvb-226[nvfca] +sedikcuh-whqtu-sqdto-qsgkyiyjyed-790[dqsye] +gzefmnxq-bdavqofuxq-rxaiqd-ymzmsqyqzf-690[zklij] +zntargvp-cynfgvp-tenff-qrcyblzrag-351[sqzyh] +xfbqpojafe-dboez-xpsltipq-857[ehgum] +uqtqbizg-ozilm-jcvvg-lmaqov-980[xzwsi] +xjgjmapg-ezggtwzvi-xpnojhzm-nzmqdxz-161[zgjmx] +muqfedyput-vbemuh-fkhsxqiydw-920[udefh] +kzeed-gfxpjy-ywfnsnsl-489[xeoyn] +pynffvsvrq-onfxrg-ynobengbel-741[nfbeg] +froruixo-iorzhu-rshudwlrqv-647[rouhi] +amjmpdsj-qaytclecp-fslr-qyjcq-938[cjqal] +otzkxtgzoutgr-jek-iayzuskx-ykxboik-826[kotxz] +tpspahyf-nyhkl-jhukf-zavyhnl-279[hyafk] +pualyuhapvuhs-ihzrla-ylhjxbpzpapvu-929[lbncu] +odiih-ajkkrc-mnbrpw-355[ikrab] +votubcmf-gmpxfs-bdrvjtjujpo-363[jbfmo] +zgmfyxypbmsq-rmn-qcapcr-bwc-pcacgtgle-704[ztspm] +uqtqbizg-ozilm-nchhg-jiasmb-ivitgaqa-382[snpaf] +willimcpy-jfumncw-alumm-lyuwkocmcncih-734[cmliu] +ibghopzs-qvcqczohs-hsqvbczcum-506[chqsz] +ugjjgkanw-tmffq-vwkayf-216[lfrby] +pynffvsvrq-pnaql-erprvivat-507[vpraf] +aczupnetwp-nlyoj-nzletyr-pyrtyppctyr-197[pytnr] +vkppo-sqdto-seqjydw-bewyijysi-686[sydei] +dpotvnfs-hsbef-ezf-qvsdibtjoh-337[fsbde] +wlqqp-avccpsvre-ivtvzmzex-425[vcepq] +jfifqxov-doxab-gbiivybxk-jxohbqfkd-549[skgzo] +rgndvtcxr-jchipqat-rpcsn-igpxcxcv-713[cprxg] +ykhknbqh-xqjju-wymqeoepekj-576[ejkqh] +pejji-mrymyvkdo-domrxyvyqi-536[ymdij] +wihmogyl-aluxy-xsy-womnigyl-mylpcwy-786[ylmwg] +jlidywncfy-zfiqyl-mbcjjcha-162[cjyfi] +pynffvsvrq-sybjre-grpuabybtl-455[byavk] +uqtqbizg-ozilm-uiovmbqk-akidmvomz-pcvb-bziqvqvo-694[xywnk] +lxaaxbren-ouxfna-ydalqjbrwp-225[mibtg] +joufsobujpobm-kfmmzcfbo-dvtupnfs-tfswjdf-675[ijokq] +crwwv-gbiivybxk-pqloxdb-913[rtmzn] +pkl-oaynap-nwxxep-bejwjyejc-576[jfmel] +wfummczcyx-gcfcnuls-aluxy-wuhxs-wihnuchgyhn-786[giqsn] +htsxzrjw-lwfij-ojqqdgjfs-ijajqturjsy-229[tjxbs] +qczcftiz-foppwh-rsgwub-246[exnyt] +lnkfaypeha-xwogap-naoawnyd-342[zynls] +thnulapj-zjhclunly-obua-thuhnltlua-201[luhan] +vkppo-fbqijys-whqii-bqrehqjeho-504[lkosn] +eqpuwogt-itcfg-ecpfa-qrgtcvkqpu-622[cgpqt] +odkasqzuo-oazegyqd-sdmpq-otaoaxmfq-efadmsq-222[aoqdm] +ide-htrgti-bxaxipgn-vgpst-qjccn-pcpanhxh-453[pcghi] +luxciuwncpy-jfumncw-alumm-xyjulngyhn-552[unclm] +plolwdub-judgh-hjj-zrunvkrs-777[yfulq] +pejji-lexxi-oxqsxoobsxq-458[xoeij] +uzfqdzmfuazmx-pkq-fdmuzuzs-170[npsqv] +bknsykmdsfo-zvkcdsm-qbkcc-cdybkqo-614[fastx] +qfkkj-upwwjmply-qtylyntyr-873[yjklp] +hqcfqwydw-zubboruqd-ijehqwu-218[djvhz] +kmjezxodgz-pinovwgz-zbb-ncdkkdib-473[vimty] +bknsykmdsfo-myvybpev-mkxni-mykdsxq-bocokbmr-562[sdwfr] +eqttqukxg-gii-hkpcpekpi-960[yljdr] +drxevkzt-wcfnvi-cfxzjkztj-607[twoxz] +vkppo-rkddo-ijehqwu-504[dkope] +rgllk-rxaiqd-dqmocgueufuaz-456[mxkzr] +ktiaaqnqml-moo-xczkpiaqvo-122[aoqik] +amjmpdsj-njyqrga-epyqq-pcqcypaf-600[pqajy] +rwcnawjcrxwju-npp-ujkxajcxah-199[jacwx] +fmsledevhsyw-gspsvjyp-gerhc-gsexmrk-ywiv-xiwxmrk-412[segmr] +ajmrxjlcren-kdwwh-anbnjalq-745[myzet] +aoubshwq-tinnm-suu-fsoqeiwgwhwcb-480[wsubh] +rdggdhxkt-rpcsn-hpath-531[tsamh] +pbafhzre-tenqr-pnaql-pbngvat-nanylfvf-715[upmid] +zbytomdsvo-cmkfoxqob-rexd-gybucryz-562[obycd] +bkwzkqsxq-mkxni-ecob-docdsxq-978[ksmtq] +oknkvcta-itcfg-ecpfa-ncdqtcvqta-414[lcwjp] +fydelmwp-clmmte-cpnptgtyr-405[jlgak] +tcorcikpi-ecpfa-gpikpggtkpi-804[picgk] +xtwtelcj-rclop-upwwjmply-hzcvdsza-327[clpwj] +tcfkqcevkxg-ecpfa-eqcvkpi-ncdqtcvqta-752[cqekt] +etaqigpke-tcddkv-uvqtcig-440[tcdeg] +raphhxuxts-qxdwpopgsdjh-rpcsn-rdpixcv-sthxvc-843[tvexn] +atyzghrk-xghhoz-ktmotkkxotm-748[kthog] +fmsledevhsyw-nippcfier-asvowlst-412[zksal] +oaxadrgx-eomhqzsqd-tgzf-eqdhuoqe-846[zfylm] +qcbgiasf-ufors-dzoghwq-ufogg-qcbhowbasbh-194[bgofh] +qvbmzvibqwvit-bwx-amkzmb-jiasmb-xczkpiaqvo-122[bimva] +qfkkj-prr-hzcvdsza-639[dqmts] +jvyyvzpcl-ibuuf-bzly-alzapun-981[mnakf] +dsxxw-cee-pcacgtgle-626[odsgr] +buzahisl-zjhclunly-obua-zlycpjlz-617[rsglh] +gpewwmjmih-tpewxmg-kveww-jmrergmrk-594[mwegr] +aietsrmdih-hci-stivexmsrw-516[hsvof] +ujoon-ytaanqtpc-stepgibtci-219[tacin] +kpvgtpcvkqpcn-fag-ceswkukvkqp-830[cijob] +etaqigpke-uecxgpigt-jwpv-ocpcigogpv-154[gpcei] +eqnqthwn-tcddkv-rwtejcukpi-674[tcdek] +mhi-lxvkxm-ktuubm-nlxk-mxlmbgz-241[mxklb] +avw-zljyla-wshzapj-nyhzz-ylzlhyjo-149[plqkx] +xekdwvwnzkqo-nwxxep-odellejc-862[xyzwn] +pkl-oaynap-bhksan-qoan-paopejc-498[ojduv] +xjinphzm-bmvyz-xjgjmapg-ezggtwzvi-zibdizzmdib-499[zigmb] +bdavqofuxq-rxaiqd-bgdotmeuzs-508[clbmv] +xzwrmkbqtm-jcvvg-ewzsapwx-902[wmvxz] +dmybmsuzs-rxaiqd-xmnadmfadk-846[dmasx] +surmhfwloh-exqqb-vwrudjh-127[hqruw] +gntmfefwitzx-ojqqdgjfs-xytwflj-827[xgtuv] +tbxmlkfwba-zxkav-zlxqfkd-ildfpqfzp-965[jncig] +sbnqbhjoh-tdbwfohfs-ivou-qvsdibtjoh-597[rftxz] +hqcfqwydw-fbqijys-whqii-iqbui-322[iqwbf] +forwcoqhwjs-xszzmpsob-gvwddwbu-324[ftyzu] +zlilocri-oxjmxdfkd-ciltbo-pbosfzbp-991[gjars] +kwzzwaqdm-rmttgjmiv-uizsmbqvo-434[mziqt] +willimcpy-gcfcnuls-aluxy-mwupyhayl-bohn-yhachyylcha-162[kcimx] +uqtqbizg-ozilm-kivlg-uizsmbqvo-954[pifvj] +ugdgjxmd-tskcwl-wfyafwwjafy-762[wfadg] +ajyqqgdgcb-bwc-qyjcq-262[qcbgj] +yknnkoera-oywrajcan-dqjp-wjwhuoeo-602[oajnw] +bqxnfdmhb-qzaahs-rzkdr-963[abdhq] +dwbcjkun-mhn-jwjuhbrb-693[niusd] +wlqqp-wcfnvi-crsfirkfip-373[nrtqs] +guahyncw-wbiwifuny-xymcah-240[wyach] +qfkkj-prr-opgpwzaxpye-613[pkrae] +cqwdujys-tou-tufbeocudj-322[ucdjo] +wfruflnsl-wfggny-ijuqtdrjsy-931[wjznm] +bnqqnrhud-okzrshb-fqzrr-cdrhfm-105[rhqbd] +yhtwhnpun-tpspahyf-nyhkl-jovjvshal-zlycpjlz-487[hlpyj] +iutyaskx-mxgjk-hatte-lotgtiotm-176[shzku] +gntmfefwitzx-kqtbjw-xfqjx-645[nmfsa] +jvsvymbs-jhukf-jbzavtly-zlycpjl-695[frnkz] +dlhwvupglk-zjhclunly-obua-jvuahputlua-825[ulahj] +wyvqljapsl-jhukf-jvhapun-ylzlhyjo-487[jlhya] +ghkmaihex-hucxvm-lmhktzx-267[hmxka] +irgyyolokj-vrgyzoi-mxgyy-xkikobotm-670[ryfvl] +kwzzwaqdm-zijjqb-amzdqkma-564[qzdtv] +rflsjynh-idj-xytwflj-541[jflyd] +emixwvqhml-ntwemz-zmkmqdqvo-200[zmbdq] +kzgwomvqk-rmttgjmiv-abwziom-330[mtnsk] +xjgjmapg-wpiit-vivgtndn-499[weiza] +cebwrpgvyr-pnaql-grpuabybtl-117[xqmjc] +egdytrixat-uadltg-uxcpcrxcv-297[ctxad] +gvaaz-ezf-tfswjdft-623[fatzd] +excdklvo-mkxni-mykdsxq-mecdywob-cobfsmo-692[mocdk] +ovbunmneqbhf-pnaql-bcrengvbaf-351[mtgcw] +nwlddtqtpo-clmmte-nzyeltyxpye-509[ydnsh] +froruixo-udeelw-vwrudjh-309[sxgvu] +hqcfqwydw-sxesebqju-cqhaujydw-660[fghtp] +bpvctixr-rwdrdapit-ldgzhwde-895[sfioq] +ajmrxjlcren-yaxsnlcrun-bljenwpna-qdwc-fxatbqxy-797[fnjis] +lugjuacha-zfiqyl-uhufsmcm-370[uacfh] +houngfgxjuay-pkrrehkgt-iayzuskx-ykxboik-852[kguxy] +gcfcnuls-aluxy-luxciuwncpy-jfumncw-alumm-uhufsmcm-214[zftvs] +oxmeeuruqp-otaoaxmfq-emxqe-794[drzyv] +nvrgfezqvu-upv-tfekrzedvek-867[evfkr] +uwtojhynqj-xhfajsljw-mzsy-zxjw-yjxynsl-801[jyswx] +zixppfcfba-yxphbq-jxohbqfkd-887[zgoyn] +qczcftiz-qvcqczohs-aobousasbh-402[coqsz] +lejkrscv-upv-tfekrzedvek-919[ekvrc] +chnylhuncihuf-zfiqyl-zchuhwcha-604[magtu] +vetllbybxw-lvtoxgzxk-angm-ybgtgvbgz-605[gbltv] +dmpuamofuhq-omzpk-qzsuzqqduzs-820[quzmd] +rdggdhxkt-gpqqxi-rdcipxcbtci-219[yrlha] +tfejldvi-xiruv-wcfnvi-jvimztvj-243[fqclr] +foadouwbu-dzoghwq-ufogg-gvwddwbu-324[dgouw] +tbxmlkfwba-pzxsbkdbo-erkq-bkdfkbbofkd-913[hgans] +gpbepvxcv-rpcsn-itrwcdadvn-453[sbuap] +szfyrqriuflj-srjbvk-ivrthlzjzkzfe-633[sqwil] +jqwpihizlwca-jiasmb-ivitgaqa-122[amzud] +bqvvu-ywjzu-qoan-paopejc-264[ajopq] +mvydjvxodqz-wpiit-gvwjmvojmt-525[oabkn] +ktiaaqnqml-moo-zmikycqaqbqwv-252[qamik] +dpmpsgvm-cbtlfu-sfdfjwjoh-909[pntzm] +nzcczdtgp-nsznzwlep-qtylyntyr-171[nztyc] +htqtwkzq-idj-rfwpjynsl-723[ndmel] +gzefmnxq-nmewqf-eqdhuoqe-300[eqfmn] +qzlozfhmf-cxd-lzqjdshmf-469[fzdhl] +pinovwgz-mvydjvxodqz-xviyt-xjvodib-yzndbi-447[pztyh] +gspsvjyp-gerhc-gsexmrk-vieguymwmxmsr-256[gmser] +ygcrqpkbgf-tcfkqcevkxg-hnqygt-vtckpkpi-102[puovq] +jsehsyafy-tmffq-vwhdgqewfl-112[rnach] +qmpmxevc-kvehi-hci-eguymwmxmsr-204[mechi] +tcfkqcevkxg-tcorcikpi-gii-gpikpggtkpi-544[wytzs] +pbafhzre-tenqr-enzcntvat-onfxrg-ratvarrevat-845[raten] +shoewudys-rqiauj-bqrehqjeho-270[ehqjo] +xjinphzm-bmvyz-ojk-nzxmzo-ezggtwzvi-zibdizzmdib-577[zimbd] +rkpqxyib-bdd-pbosfzbp-939[bpdfi] +vcibutulxiom-vumeyn-omyl-nymncha-786[ziwys] +nvrgfezqvu-upv-ivrthlzjzkzfe-321[vzefr] +krxqjijamxdb-yujbcrl-pajbb-dbna-cnbcrwp-303[bjacr] +zixppfcfba-mixpqfz-doxpp-qbzeklildv-653[zdxgu] +lsyrkjkbnyec-mkxni-gybucryz-640[ykbcn] +qspkfdujmf-kfmmzcfbo-dpoubjonfou-155[fomub] +sno-rdbqds-rbzudmfdq-gtms-cdozqsldms-755[yaubo] +houngfgxjuay-vrgyzoi-mxgyy-ygrky-462[ygoru] +gcfcnuls-aluxy-wifilzof-yaa-omyl-nymncha-266[alycf] +hwdtljsnh-gzssd-xfqjx-463[fajso] +htwwtxnaj-idj-hzxytrjw-xjwanhj-281[hzrnq] +sorozgxe-mxgjk-lruckx-xkgiwaoyozout-176[oxgkr] +ynssr-vtgwr-vhtmbgz-ftgtzxfxgm-475[gtfmr] +rtqlgevkng-lgnnadgcp-yqtmujqr-648[nelzc] +kwtwznct-rmttgjmiv-camz-bmabqvo-460[nmbls] +surmhfwloh-fdqgb-wudlqlqj-959[lqdfh] +iutyaskx-mxgjk-hgyqkz-rumoyzoiy-644[ykgim] +jqwpihizlwca-kivlg-kwibqvo-wxmzibqwva-434[iwqva] +amppmqgtc-djmucp-asqrmkcp-qcptgac-496[cpmaq] +apuut-xjmmjndqz-wpiit-vivgtndn-187[intdj] +ftzgxmbv-vtgwr-wxlbzg-267[gbtvw] +eza-dpncpe-mldvpe-wlmzclezcj-171[eclpz] +rnqnyfwd-lwfij-wfggny-ijuqtdrjsy-827[fjnwy] +aflwjfslagfsd-xdgowj-ghwjslagfk-684[fgajl] +lzfmdshb-eknvdq-rsnqzfd-859[ybjfz] +hqtyeqsjylu-uww-tufbeocudj-582[uejqt] +qfkkj-nsznzwlep-dstaatyr-223[aknst] +ubhatstkwhnl-xzz-kxvxbobgz-267[umogq] +xekdwvwnzkqo-oywrajcan-dqjp-ykjpwejiajp-238[mtbvo] +cebwrpgvyr-sybjre-qrfvta-195[rbevy] +hjgbwuladw-usfvq-esfsywewfl-710[mpiho] +lujbbrornm-kjbtnc-fxatbqxy-823[ywamx] +ugjjgkanw-uzgugdslw-hmjuzskafy-476[stfoh] +fmsledevhsyw-fewoix-pefsvexsvc-724[scznt] +zlkprjbo-doxab-bdd-obzbfsfkd-419[bdofk] +vcibutulxiom-wuhxs-nluchcha-864[uchil] +yhkpvhjapcl-ihzrla-dvyrzovw-305[qyhmr] +hmsdqmzshnmzk-qzlozfhmf-qzaahs-zmzkxrhr-287[zhmqs] +gzefmnxq-dmnnuf-etubbuzs-482[nubef] +ejpanjwpekjwh-ywjzu-ykwpejc-nayaerejc-550[jewap] +cxy-bnlanc-npp-mnyuxhvnwc-433[nvmyt] +jfifqxov-doxab-gbiivybxk-obzbfsfkd-601[epyzn] +pkl-oaynap-xqjju-wjwhuoeo-680[joapu] +jef-iushuj-hqtyeqsjylu-rqiauj-bewyijysi-842[hyzgu] +dfcxsqhwzs-tzcksf-aobousasbh-896[wkqxh] +lahxpnwrl-ljwmh-bjunb-693[jtoyp] +rnqnyfwd-lwfij-gfxpjy-wjhjnansl-931[jnfwl] +buzahisl-jvyyvzpcl-jhukf-jvhapun-klwhyatlua-617[ahluj] +jchipqat-eaphixr-vgphh-bpgztixcv-271[hpiac] +zlkprjbo-doxab-avb-absbilmjbkq-107[wbymr] +eqpuwogt-itcfg-dcumgv-fgxgnqrogpv-362[gcfop] +rdadguja-qjccn-gtrtxkxcv-791[cadgj] +etaqigpke-oknkvcta-itcfg-hnqygt-hkpcpekpi-674[mcoya] +gspsvjyp-hci-wxsveki-386[myuqs] +jef-iushuj-vbemuh-mehaixef-920[ehufi] +encuukhkgf-fag-tgceswkukvkqp-752[kguce] +npmhcargjc-njyqrga-epyqq-kypicrgle-444[cgpqr] +xtwtelcj-rclop-mldvpe-dpcgtnpd-379[pcdlt] +nchhg-kpwkwtibm-mvoqvmmzqvo-252[mvhko] +uqtqbizg-ozilm-jiasmb-uizsmbqvo-122[ktxvs] +nwlddtqtpo-mldvpe-fdpc-epdetyr-509[dpetl] +wfintfhynaj-idj-qfgtwfytwd-229[efudw] +yhwooebeaz-nwilwcejc-ydkykhwpa-owhao-160[skuyi] From dcdecaec5635d97ff22aa99e8c6ee5c45318a1b9 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:58:08 +0100 Subject: [PATCH 014/100] 2016: d04: ex1: add solution --- 2016/d04/ex1/ex1.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 2016/d04/ex1/ex1.py diff --git a/2016/d04/ex1/ex1.py b/2016/d04/ex1/ex1.py new file mode 100755 index 0000000..5c50645 --- /dev/null +++ b/2016/d04/ex1/ex1.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +import collections +import sys +from typing import NamedTuple + + +class Room(NamedTuple): + name: str + sector_id: int + checksum: str + + def is_real(self) -> bool: + letters = collections.Counter(self.name.replace("-", "")) + checksum = sorted(letters.most_common(), key=lambda t: (-t[1], t[0]))[:5] + return "".join(c for c, _ in checksum) == self.checksum + + @classmethod + def from_str(cls, input: str) -> "Room": + input, checksum = map(lambda s: s.removesuffix("]"), input.split("[")) + *name, sector_id = input.split("-") + return cls("-".join(name), int(sector_id), checksum) + + +def solve(input: str) -> int: + def parse(input: str) -> list[Room]: + return [Room.from_str(line) for line in input.splitlines()] + + rooms = parse(input) + return sum(room.sector_id for room in rooms if room.is_real()) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 034e8a6e152ad2390f2f91261db73fd374346f94 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:58:13 +0100 Subject: [PATCH 015/100] 2016: d04: ex2: add input --- 2016/d04/ex2/input | 991 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 991 insertions(+) create mode 100644 2016/d04/ex2/input diff --git a/2016/d04/ex2/input b/2016/d04/ex2/input new file mode 100644 index 0000000..5641025 --- /dev/null +++ b/2016/d04/ex2/input @@ -0,0 +1,991 @@ +aczupnetwp-dnlgpyrpc-sfye-dstaatyr-561[patyc] +jsehsyafy-vqw-ljsafafy-866[nymla] +tyepcyletzylw-ncjzrpytn-prr-opawzjxpye-743[cnrdl] +foadouwbu-qvcqczohs-obozmgwg-662[lamjh] +ckgvutofkj-pkrrehkgt-zkinturume-436[krtue] +pelbtravp-pnaql-ernpdhvfvgvba-481[szram] +yflexwxoalrp-ciltbo-tlohpelm-887[bmwep] +ipvohghykvbz-ihzrla-jbzavtly-zlycpjl-253[lzhvy] +cybyjqho-whqtu-rqiauj-fkhsxqiydw-322[syzwi] +tipfxvezt-sleep-tljkfdvi-jvimztv-425[tveif] +ktiaaqnqml-xtiabqk-oziaa-xczkpiaqvo-616[aiqko] +ckgvutofkj-xghhoz-gtgreyoy-306[nyhpz] +molgbzqfib-zovldbkfz-zxkav-lmboxqflkp-341[xlomg] +ikhcxvmbex-vtgwr-vhtmbgz-mxvaghehzr-111[hvgmx] +dpssptjwf-fhh-tfswjdft-805[fstdh] +oaddaeuhq-otaoaxmfq-qzsuzqqduzs-534[qadou] +dzczkrip-xiruv-sleep-drerxvdvek-685[erdvi] +jvsvymbs-yhiipa-vwlyhapvuz-149[zfyqn] +nsyjwsfyntsfq-gfxpjy-jslnsjjwnsl-853[sjnfy] +mbiyqoxsm-lsyrkjkbnyec-nio-wkbuodsxq-614[bkosy] +jchipqat-uadltg-hidgpvt-375[kcnop] +jqwpihizlwca-lgm-nqvivkqvo-980[ldeay] +xfbqpojafe-dipdpmbuf-tfswjdft-493[fdpbj] +kwvacumz-ozilm-kpwkwtibm-lmxtwgumvb-798[mwkbi] +eqttqukxg-ejqeqncvg-ocpcigogpv-648[sdtzl] +dsxxw-bwc-bcnjmwkclr-678[cwbxd] +jvuzbtly-nyhkl-ibuuf-thuhnltlua-175[ulhtb] +rdadguja-uadltg-bpgztixcv-401[adgtu] +atyzghrk-kmm-ktmotkkxotm-930[xzfpe] +uwtojhynqj-ojqqdgjfs-xjwanhjx-151[waqmk] +hwdtljsnh-uqfxynh-lwfxx-rfsfljrjsy-567[fhjls] +xst-wigvix-gspsvjyp-gerhc-erepcwmw-724[uplfw] +kzgwomvqk-jcvvg-zmamizkp-122[kmvzg] +sbejpbdujwf-dboez-dpbujoh-dvtupnfs-tfswjdf-623[uxrpz] +bxaxipgn-vgpst-rwdrdapit-prfjxhxixdc-609[xpdir] +avw-zljyla-zjhclunly-obua-ayhpupun-981[aluyh] +nuatmlmdpage-qss-fdmuzuzs-404[btopv] +oaddaeuhq-otaoaxmfq-dqoquhuzs-716[aoqdu] +myvybpev-cmkfoxqob-rexd-bomosfsxq-432[khwfc] +oxaflxzqfsb-zelzlixqb-jxohbqfkd-471[hxkwc] +fnjyxwrinm-snuuhknjw-anbnjalq-875[ztvnr] +qfmcusbwq-pibbm-fsqswjwbu-922[bqswf] +wihmogyl-aluxy-jfumncw-alumm-nluchcha-916[lmuac] +oxaflxzqfsb-avb-bkdfkbbofkd-757[trzjy] +ksodcbwnsr-qzoggwtwsr-gqojsbusf-vibh-fsgsofqv-818[gsdca] +rzvkjiduzy-xcjxjgvoz-gvwjmvojmt-161[zufvq] +nwlddtqtpo-mldvpe-dezclrp-639[zlnki] +vkppo-rqiauj-huqsgkyiyjyed-530[yijkp] +dfcxsqhwzs-qobrm-qcohwbu-fsoqeiwgwhwcb-688[wqbch] +vxupkizork-xghhoz-aykx-zkyzotm-462[kzoxh] +zotts-jfumncw-alumm-omyl-nymncha-396[bstha] +yaxsnlcrun-npp-cajrwrwp-355[nprac] +bkwzkqsxq-pvygob-nozkbdwoxd-822[bkodq] +frqvxphu-judgh-fdqgb-frdwlqj-hqjlqhhulqj-595[ezyxq] +hqtyeqsjylu-sqdto-sedjqydcudj-764[dqjsy] +fab-eqodqf-omzpk-fdmuzuzs-430[yxkbc] +gpewwmjmih-glsgspexi-xvemrmrk-204[cynzd] +kwtwznct-jcvvg-wxmzibqwva-694[cdaps] +guahyncw-wuhxs-zchuhwcha-396[xwnmj] +pybgmyargtc-zsllw-dglylagle-912[mcrsp] +kyelcrga-zyqicr-jyzmpyrmpw-782[yrcmp] +wsvsdkbi-qbkno-zvkcdsm-qbkcc-myxdksxwoxd-432[kdsbc] +ltpedcxots-rwdrdapit-advxhixrh-271[drtxa] +elrkdcdugrxv-sodvwlf-judvv-vklsslqj-465[vdlsj] +htwwtxnaj-hfsid-htfynsl-ywfnsnsl-281[ghfea] +nij-mywlyn-xsy-xymcah-682[kiasm] +zovldbkfz-yrkkv-abmilvjbkq-939[chetn] +esyfwlau-kusnwfywj-zmfl-ghwjslagfk-398[fwlsa] +lahxpnwrl-yujbcrl-pajbb-mnyuxhvnwc-147[tzcxk] +rwcnawjcrxwju-lqxlxujcn-lxwcjrwvnwc-381[hxsdl] +pbybeshy-pynffvsvrq-wryylorna-jbexfubc-143[ybfre] +lxaaxbren-kdwwh-bqryyrwp-407[sktqh] +pybgmyargtc-zyqicr-rpyglgle-106[vsdft] +jfifqxov-doxab-yxphbq-obxznrfpfqflk-939[nyvhm] +pualyuhapvuhs-jovjvshal-thuhnltlua-383[lrfob] +gvcskirmg-tpewxmg-kveww-pskmwxmgw-438[ujily] +lgh-kwujwl-tmffq-esfsywewfl-242[fwles] +jyddc-fewoix-hitevxqirx-412[ixdec] +uzfqdzmfuazmx-otaoaxmfq-ogefayqd-eqdhuoq-222[lbfru] +ryexqpqhteki-sxesebqju-tufbeocudj-348[tjzhb] +kfg-jvtivk-sleep-wzeretzex-477[ektvz] +kzgwomvqk-jcvvg-bmkpvwtwog-174[vgkwm] +odiih-kdwwh-uxprbcrlb-251[bdhir] +htqtwkzq-xhfajsljw-mzsy-yjhmstqtld-229[thjqs] +qjopwxha-xwogap-owhao-914[astye] +wrs-vhfuhw-edvnhw-hqjlqhhulqj-439[vufmz] +rdggdhxkt-xcitgcpixdcpa-rpcsn-rdpixcv-stktadebtci-609[cdtip] +eqttqukxg-fag-eqpvckpogpv-544[jmtpx] +kdijqrbu-sqdto-seqjydw-iuhlysui-946[bioht] +fydelmwp-awldetn-rcldd-cplnbftdtetzy-951[kpxim] +ubhatstkwhnl-unggr-nlxk-mxlmbgz-761[geyqm] +ocipgvke-gii-fgxgnqrogpv-726[giopv] +fab-eqodqf-otaoaxmfq-iadwetab-430[azmnb] +fab-eqodqf-otaoaxmfq-pqhqxabyqzf-456[qafob] +xekdwvwnzkqo-zua-naoawnyd-784[anwdk] +sbejpbdujwf-fhh-tbmft-285[mbfsn] +hwbba-eqpuwogt-itcfg-rncuvke-itcuu-ugtxkegu-648[ugtce] +hqcfqwydw-fbqijys-whqii-cqdqwucudj-452[ztesw] +dmpuamofuhq-nmewqf-emxqe-742[meqfu] +iqmbazulqp-pkq-iadwetab-976[kcxmz] +lahxpnwrl-ljwmh-lxjcrwp-bnaerlnb-927[lnrwa] +laffe-lruckx-vaxingyotm-306[aflxc] +forwcoqhwjs-qcffcgwjs-tzcksf-rsdzcmasbh-220[csfwh] +yflexwxoalrp-gbiivybxk-abpfdk-731[sjtrd] +foadouwbu-ibghopzs-pogysh-kcfygvcd-506[ogbcd] +rtqlgevkng-hnqygt-ugtxkegu-232[zdgob] +yrwxefpi-fyrrc-asvowlst-880[jmzfi] +tyepcyletzylw-nlyoj-nzletyr-fdpc-epdetyr-795[jfvnq] +rkpqxyib-yxphbq-lmboxqflkp-627[vzmla] +xjinphzm-bmvyz-hvbizodx-ytz-gjbdnodxn-967[jmuws] +ktfitzbgz-vtgwr-inkvatlbgz-813[tgzbi] +hqtyeqsjylu-sbqiiyvyut-fbqijys-whqii-vydqdsydw-634[yqisd] +hcd-gsqfsh-dzoghwq-ufogg-qcbhowbasbh-506[hgboq] +ryexqpqhteki-uww-qdqboiyi-140[qiewy] +bkzrrhehdc-qzaahs-cdoknxldms-625[czsmn] +sawlkjevaz-lhwopey-cnwoo-yqopkian-oanreya-966[znhlt] +xjgjmapg-hdgdovmt-bmvyz-zbb-yzkgjthzio-577[gzbjm] +myxcewob-qbkno-lexxi-wkbuodsxq-250[xboek] +nsyjwsfyntsfq-hfsid-htfynsl-wjfhvznxnynts-255[umtns] +kpvgtpcvkqpcn-ecpfa-ewuvqogt-ugtxkeg-596[ehsca] +vkrhzxgbv-cxeeruxtg-ftgtzxfxgm-579[ymast] +pbeebfvir-fpniratre-uhag-genvavat-663[smznt] +vehmsegxmzi-glsgspexi-hitpscqirx-802[jszht] +tyepcyletzylw-nlyoj-nzletyr-cpdplcns-223[lycen] +jxdkbqfz-oxaflxzqfsb-avb-lmboxqflkp-523[mzvny] +tcfkqcevkxg-tcddkv-uvqtcig-336[cdsln] +ide-htrgti-hrpktcvtg-wjci-ldgzhwde-947[tdghi] +ojk-nzxmzo-kgvnodx-bmvnn-ozxcijgjbt-213[nojxz] +avw-zljyla-msvdly-yljlpcpun-539[lyajp] +rdchjbtg-vgpst-rpcsn-rdpixcv-htgkxrth-661[rtcgh] +xlrypetn-dnlgpyrpc-sfye-dezclrp-353[pelry] +enqvbnpgvir-enoovg-erfrnepu-455[ftlpj] +xjinphzm-bmvyz-xviyt-xjvodib-pnzm-oznodib-291[mlybz] +rwcnawjcrxwju-kjbtnc-bqryyrwp-511[tkyns] +gokzyxsjon-pvygob-nofovyzwoxd-458[ndtfs] +bjfutsneji-hfsid-htfynsl-rfwpjynsl-489[fsjnh] +ydjuhdqjyedqb-rqiauj-qdqboiyi-452[qdijy] +enzcntvat-rtt-genvavat-351[lznyt] +rdadguja-qjccn-advxhixrh-791[yncim] +fmsledevhsyw-ikk-irkmriivmrk-646[nlxzm] +jfifqxov-doxab-mixpqfz-doxpp-obpbxoze-471[oxpbf] +jqwpihizlwca-zijjqb-aitma-408[gzpmw] +pyknyegle-afmamjyrc-bcqgel-808[gynip] +zbytomdsvo-mkxni-bocokbmr-406[obmkc] +wfummczcyx-luvvcn-fuvilunils-526[bavmt] +hwdtljsnh-gfxpjy-rfsfljrjsy-541[gpszy] +lsyrkjkbnyec-oqq-gybucryz-848[ybckq] +oaddaeuhq-vqxxknqmz-xasuefuoe-378[rzmqe] +vhglnfxk-zktwx-fbebmtkr-zktwx-wrx-vhgmtbgfxgm-813[xepwt] +yrwxefpi-gerhc-hitevxqirx-594[eirxh] +mvydjvxodqz-xviyt-xjvodib-rjmfncjk-265[cqirj] +kdijqrbu-tou-kiuh-juijydw-140[uijdk] +ugjjgkanw-usfvq-vwkayf-970[rntsw] +froruixo-fdqgb-ilqdqflqj-569[cylni] +gpsxdprixkt-hrpktcvtg-wjci-gtprfjxhxixdc-999[xptcg] +kwvacumz-ozilm-akidmvomz-pcvb-nqvivkqvo-460[emnrk] +pejji-zvkcdsm-qbkcc-domrxyvyqi-484[cdijk] +rdadguja-xcitgcpixdcpa-qphzti-bpgztixcv-791[cipad] +rkpqxyib-zxkav-zlxqfkd-qoxfkfkd-965[qiftn] +bkzrrhehdc-bnmrtldq-fqzcd-atmmx-qdrdzqbg-937[dqrbm] +eqttqukxg-rtqlgevkng-dwppa-fgxgnqrogpv-570[gxetc] +zbytomdsvo-mkxni-myxdksxwoxd-510[xdmok] +ymszqfuo-rxaiqd-dqmocgueufuaz-274[umtwy] +pelbtravp-ovbunmneqbhf-qlr-znantrzrag-663[xlyio] +rdadguja-ytaanqtpc-gtprfjxhxixdc-141[krcaf] +etaqigpke-hnqygt-eqpvckpogpv-362[pegqk] +rtqlgevkng-etaqigpke-ecpfa-eqcvkpi-ewuvqogt-ugtxkeg-206[gxszf] +fubrjhqlf-fkrfrodwh-sxufkdvlqj-777[pozts] +wfintfhynaj-wfggny-xjwanhjx-957[nfjwa] +xcitgcpixdcpa-bpvctixr-qphzti-gthtpgrw-479[zjlmc] +gntmfefwitzx-hfsid-fsfqdxnx-697[oanif] +xgjougizobk-jek-jkvgxzsktz-384[kgjzo] +nzydfxpc-rclop-mldvpe-cpdplcns-925[pcdln] +ltpedcxots-qphzti-gtrtxkxcv-739[txcpd] +gvaaz-fhh-mphjtujdt-233[hajtd] +jchipqat-rpcsn-gtprfjxhxixdc-297[cpxhi] +gsvvswmzi-gerhc-tyvglewmrk-308[zbdcy] +dmybmsuzs-omzpk-oamfuzs-pqhqxabyqzf-508[mzqsa] +iruzfrtkzmv-treup-tfrkzex-jkfirxv-295[rfktz] +pdjqhwlf-mhoobehdq-vwrudjh-127[hdjoq] +rgndvtcxr-hrpktcvtg-wjci-apqdgpidgn-375[jdrhb] +sbqiiyvyut-isqludwuh-xkdj-efuhqjyedi-114[qjzpn] +lahxpnwrl-npp-nwprwnnarwp-459[ontmq] +zntargvp-onfxrg-fnyrf-871[fnrga] +molgbzqfib-avb-absbilmjbkq-601[bailm] +kpvgtpcvkqpcn-tcddkv-wugt-vguvkpi-492[vkpcg] +jfifqxov-doxab-zxkav-zlkqxfkjbkq-341[kxfqa] +qfmcusbwq-dzoghwq-ufogg-fsqswjwbu-220[zbjty] +xjinphzm-bmvyz-mvwwdo-yzkgjthzio-785[zmhij] +ejpanjwpekjwh-ydkykhwpa-owhao-186[hqlfd] +nzydfxpc-rclop-prr-cplnbftdtetzy-483[pcrtd] +kwtwznct-rmttgjmiv-amzdqkma-590[mtakw] +muqfedyput-fbqijys-whqii-iqbui-790[gjxky] +egdytrixat-rgndvtcxr-rpcsn-jhtg-ithixcv-115[trcgi] +fab-eqodqf-rxaiqd-mzmxkeue-404[eqadf] +zotts-xsy-guleyncha-708[ymnbi] +mbiyqoxsm-pvygob-gybucryz-536[zbyxv] +dmybmsuzs-bxmefuo-sdmee-pqhqxabyqzf-716[mbeqs] +qspkfdujmf-ezf-fohjoffsjoh-519[fjohs] +nwlddtqtpo-prr-xlcvpetyr-249[owkmz] +amlqskcp-epybc-aylbw-amyrgle-bctcjmnkclr-808[clabm] +qspkfdujmf-qmbtujd-hsbtt-eftjho-727[tigys] +pualyuhapvuhs-thnulapj-msvdly-ylzlhyjo-877[lhuya] +diozmivodjivg-zbb-nzmqdxzn-629[zdibm] +yrwxefpi-qmpmxevc-kvehi-gerhc-gsexmrk-qerekiqirx-126[erixk] +qlm-pbzobq-zxkav-zlxqfkd-zrpqljbo-pbosfzb-575[phqza] +irgyyolokj-lruckx-aykx-zkyzotm-904[ubkvy] +cebwrpgvyr-pnaql-pbngvat-bcrengvbaf-793[bagnp] +wlsiayhcw-wifilzof-wuhxs-mylpcwym-630[wilyc] +nglmtuex-ktuubm-nlxk-mxlmbgz-215[egtsz] +sbejpbdujwf-dboez-nbobhfnfou-883[jpkmo] +qzoggwtwsr-qobrm-gsfjwqsg-480[xkwvm] +nwzekwypera-oywrajcan-dqjp-wymqeoepekj-472[zeydw] +sawlkjevaz-ywjzu-yqopkian-oanreya-836[ayejk] +pybgmyargtc-afmamjyrc-rpyglgle-470[zgmsu] +nzwzcqfw-qwzhpc-cplnbftdtetzy-977[zctwf] +lhkhszqx-fqzcd-okzrshb-fqzrr-cdudknoldms-651[defrs] +ugfkmewj-yjsvw-owshgfarwv-tskcwl-wfyafwwjafy-294[wfajs] +gpbepvxcv-gpqqxi-stktadebtci-609[npyad] +pxtihgbsxw-vahvhetmx-hixktmbhgl-397[pvcfe] +guahyncw-vohhs-fiacmncwm-656[chamn] +wfruflnsl-uqfxynh-lwfxx-wjfhvznxnynts-463[fnxlw] +lzfmdshb-cxd-dmfhmddqhmf-703[dmfhb] +gzefmnxq-eomhqzsqd-tgzf-oazfmuzyqzf-118[zfqme] +udskkaxawv-usfvq-ugslafy-hmjuzskafy-658[asufk] +ugjjgkanw-vqw-ksdwk-112[kwgja] +enqvbnpgvir-cynfgvp-tenff-fuvccvat-975[vfnce] +fydelmwp-ojp-nfdezxpc-dpcgtnp-353[gziom] +fmsledevhsyw-gpewwmjmih-glsgspexi-tyvglewmrk-178[egmsw] +shmml-enoovg-freivprf-585[efmor] +bnqqnrhud-atmmx-qdrdzqbg-651[qdbmn] +pxtihgbsxw-vahvhetmx-nlxk-mxlmbgz-943[xhmbg] +xfbqpojafe-dipdpmbuf-tbmft-441[wuizc] +zsxyfgqj-uqfxynh-lwfxx-ijxnls-749[futrq] +oaddaeuhq-nmewqf-dqmocgueufuaz-508[mwlcv] +buzahisl-zjhclunly-obua-zavyhnl-201[kzylj] +yhwooebeaz-iwcjapey-oywrajcan-dqjp-zaoecj-524[aejoc] +bwx-amkzmb-qvbmzvibqwvit-lgm-zmikycqaqbqwv-772[dubva] +oxmeeuruqp-ngzzk-fqotzaxask-638[zaeko] +xfbqpojafe-qmbtujd-hsbtt-efwfmpqnfou-363[fbqte] +iehepwnu-cnwza-xqjju-nayaerejc-472[eajnc] +ytu-xjhwjy-jll-ijxnls-385[moyjn] +nvrgfezqvu-treup-tfrkzex-wzeretzex-997[fpvnt] +kwvacumz-ozilm-moo-camz-bmabqvo-434[sanvt] +lxaaxbren-ouxfna-bjunb-277[abnxu] +gpsxdprixkt-uadltg-tcvxcttgxcv-453[txcgd] +owshgfarwv-jsttal-hmjuzskafy-658[asfhj] +pbafhzre-tenqr-qlr-ynobengbel-403[ebnrl] +yaxsnlcrun-mhn-jlzdrbrcrxw-121[wngsc] +bgmxkgtmbhgte-vtgwr-vhtmbgz-tgterlbl-995[gtbme] +nvrgfezqvu-avccpsvre-tljkfdvi-jvimztv-269[vcefi] +apwmeclga-pyzzgr-dglylagle-158[auvsi] +qczcftiz-pogysh-rsgwub-350[kcdvs] +qlm-pbzobq-gbiivybxk-abpfdk-211[bikpq] +crwwv-rkpqxyib-yrkkv-cfkxkzfkd-419[krcfv] +sbnqbhjoh-cbtlfu-tupsbhf-285[bhfst] +qlm-pbzobq-avb-bkdfkbbofkd-159[golnc] +nchhg-jiasmb-lmaqov-902[dpmcw] +tagzsrsjvgmk-jsttal-umklgewj-kwjnauw-944[fsqml] +rkpqxyib-yxphbq-jxkxdbjbkq-601[npbtf] +ujqgywfau-tmffq-hmjuzskafy-736[zmnlk] +ujqgywfau-hdsklau-yjskk-umklgewj-kwjnauw-190[kujwa] +uqtqbizg-ozilm-jcvvg-lmxizbumvb-850[mhanw] +yhtwhnpun-ihzrla-klclsvwtlua-591[lkqzn] +sbqiiyvyut-sqdto-seqjydw-sedjqydcudj-738[warvn] +bwx-amkzmb-uqtqbizg-ozilm-moo-kwvbiqvumvb-746[wystg] +tipfxvezt-vxx-cfxzjkztj-555[xtzfj] +cjpibabsepvt-cvooz-sftfbsdi-571[myqsb] +ymszqfuo-fab-eqodqf-pkq-xmnadmfadk-274[tkbds] +wlqqp-treup-tfrkzex-jkfirxv-581[refkp] +lnkfaypeha-fahhuxawj-wjwhuoeo-550[ahwef] +lsyrkjkbnyec-oqq-ckvoc-874[azsyv] +gvcskirmg-fewoix-wlmttmrk-360[mgikr] +irdgrxzex-tipfxvezt-treup-tfrkzex-cfxzjkztj-607[txzer] +avw-zljyla-zjhclunly-obua-yljlpcpun-617[lajuy] +nwzekwypera-lhwopey-cnwoo-hkceopeyo-134[zulqp] +vkppo-sqdto-seqjydw-jhqydydw-114[dqyjo] +zixppfcfba-zxkav-zlkqxfkjbkq-679[txhzn] +sbnqbhjoh-dboez-sftfbsdi-623[bsdfh] +qjopwxha-bhksan-zalhkuiajp-316[ahjkp] +yhtwhnpun-thnulapj-ibuuf-klzpnu-773[unhpl] +uwtojhynqj-kqtbjw-wjfhvznxnynts-827[ntyqj] +jef-iushuj-rkddo-ijehqwu-504[biekf] +gspsvjyp-tpewxmg-kveww-gywxsqiv-wivzmgi-672[sryce] +rgllk-eomhqzsqd-tgzf-etubbuzs-118[zbegl] +shmml-pubpbyngr-ynobengbel-403[bnegl] +gsrwyqiv-kvehi-fewoix-wivzmgiw-256[rimyz] +iuxxuyobk-yigbktmkx-natz-xkykgxin-852[kxiyb] +excdklvo-oqq-vklybkdybi-744[utifh] +ojk-nzxmzo-agjrzm-xpnojhzm-nzmqdxz-915[zmjno] +qspkfdujmf-sbccju-eftjho-103[byjhc] +fodvvlilhg-mhoobehdq-whfkqrorjb-699[taskb] +aflwjfslagfsd-usfvq-ogjckzgh-814[emsnh] +sebehvkb-uww-tulubefcudj-712[ubewc] +egdytrixat-gpbepvxcv-hrpktcvtg-wjci-hidgpvt-531[vzdcg] +nsyjwsfyntsfq-zsxyfgqj-gzssd-wjxjfwhm-749[sgmhv] +ktfitzbgz-yehpxk-kxvxbobgz-761[ryzea] +tcrjjzwzvu-irsszk-rthlzjzkzfe-503[ocepg] +dfcxsqhwzs-pibbm-sbuwbssfwbu-558[tocys] +nwzekwypera-bhksan-odellejc-758[eakln] +qfmcusbwq-qobrm-qcohwbu-fsoqeiwgwhwcb-402[cpzsy] +cvabijtm-zijjqb-uizsmbqvo-434[btzma] +irdgrxzex-srjbvk-glityrjzex-867[rxegi] +rdadguja-tvv-gtrtxkxcv-609[tvadg] +wdjcvuvmyjpn-zbb-mznzvmxc-213[ndmaz] +vagreangvbany-sybjre-nanylfvf-507[bryme] +vjpwncrl-mhn-bqryyrwp-979[rnpwy] +jqwpihizlwca-ntwemz-abwziom-642[iyzsa] +jchipqat-rwdrdapit-detgpixdch-921[dipta] +vqr-ugetgv-tcddkv-eqpvckpogpv-440[vgpcd] +ajyqqgdgcb-aylbw-amyrgle-qyjcq-756[qyagb] +fbebmtkr-zktwx-utldxm-nlxk-mxlmbgz-553[onbvf] +hwdtljsnh-kqtbjw-ijajqturjsy-827[jthqs] +sedikcuh-whqtu-sxesebqju-udwyduuhydw-556[rvudf] +ipvohghykvbz-tpspahyf-nyhkl-yhiipa-huhsfzpz-123[hpyiz] +fubrjhqlf-mhoobehdq-oderudwrub-153[bdhor] +mbggf-zjhclunly-obua-dvyrzovw-695[bglou] +houngfgxjuay-igtje-aykx-zkyzotm-176[qcita] +lugjuacha-mwupyhayl-bohn-xyjulngyhn-318[gnftc] +rdggdhxkt-rpcsn-rdpixcv-itrwcdadvn-505[uancd] +yaxsnlcrun-ouxfna-jwjuhbrb-199[xnmwj] +yrwxefpi-tpewxmg-kveww-wlmttmrk-334[rfqkl] +ktwbhtvmbox-unggr-kxtvjnblbmbhg-215[bgthk] +amlqskcp-epybc-bwc-pcyaosgqgrgml-600[cgpab] +ujqgywfau-usfvq-ugslafy-jwuwanafy-606[uafwy] +nwzekwypera-lhwopey-cnwoo-lqnydwoejc-134[xithv] +nwzekwypera-acc-naoawnyd-160[itvch] +luxciuwncpy-ohmnuvfy-yaa-wihnuchgyhn-526[hnuyc] +ygcrqpkbgf-ejqeqncvg-tgegkxkpi-674[gekqc] +mtzslklcozfd-qwzhpc-nfdezxpc-dpcgtnp-223[ucwob] +tinnm-tzcksf-zcuwghwqg-948[nmktj] +rdchjbtg-vgpst-hrpktcvtg-wjci-itrwcdadvn-453[ngtzh] +yrwxefpi-nippcfier-hizipstqirx-932[ipref] +cvabijtm-xtiabqk-oziaa-kcabwumz-amzdqkm-590[mpqzo] +dpmpsgvm-dipdpmbuf-efqmpznfou-259[pmdfu] +ynukcajey-nwxxep-zarahkliajp-238[ytaej] +zbytomdsvo-mkxni-mykdsxq-nocsqx-770[mosxd] +tagzsrsjvgmk-xdgowj-jwuwanafy-814[efhpk] +xqvwdeoh-fdqgb-rshudwlrqv-127[jpkat] +kpvgtpcvkqpcn-fag-qrgtcvkqpu-596[pcgkq] +zlkprjbo-doxab-gbiivybxk-obpbxoze-393[boxik] +zbytomdsvo-mrymyvkdo-domrxyvyqi-744[ymodv] +jvuzbtly-nyhkl-qlssfilhu-klwhyatlua-695[lhuya] +nzydfxpc-rclop-nsznzwlep-xlylrpxpye-145[plnxy] +atyzghrk-xghhoz-rghuxgzuxe-748[ghxzr] +vhglnfxk-zktwx-ietlmbv-zktll-ftkdxmbgz-787[wbspa] +njmjubsz-hsbef-dipdpmbuf-vtfs-uftujoh-623[fubjs] +pyknyegle-aylbw-jmegqrgaq-756[egyal] +bgmxkgtmbhgte-lvtoxgzxk-angm-vhgmtbgfxgm-137[gmtxb] +ydjuhdqjyedqb-vbemuh-jusxdebewo-946[debju] +jxdkbqfz-zxkav-zlxqfkd-mrozexpfkd-263[kxzdf] +nbhofujd-dipdpmbuf-pqfsbujpot-597[pbdfu] +wrs-vhfuhw-fdqgb-vklsslqj-647[sfhlq] +vkrhzxgbv-vtgwr-ehzblmbvl-449[knuzb] +gsrwyqiv-kvehi-fyrrc-pefsvexsvc-750[versc] +hqcfqwydw-vbemuh-ixyffydw-270[fwydh] +vetllbybxw-vkrhzxgbv-lvtoxgzxk-angm-ybgtgvbgz-527[jxrwq] +bkzrrhehdc-eknvdq-cdrhfm-365[dhrce] +cybyjqho-whqtu-rkddo-qsgkyiyjyed-530[ydqhj] +ckgvutofkj-hatte-ynovvotm-332[tovka] +sawlkjevaz-zua-iwngapejc-758[jzwql] +mvhkvbdib-kgvnodx-bmvnn-gjbdnodxn-551[bmkyo] +enzcntvat-fpniratre-uhag-grpuabybtl-689[sqkoh] +bqvvu-acc-oanreyao-108[acovb] +tyepcyletzylw-nlyoj-nzletyr-nfdezxpc-dpcgtnp-275[yelnp] +fbebmtkr-zktwx-lvtoxgzxk-angm-kxlxtkva-839[kxtab] +ojk-nzxmzo-wvnfzo-vivgtndn-707[mlndw] +tpspahyf-nyhkl-qlssfilhu-klwsvftlua-487[iewds] +shoewudys-isqludwuh-xkdj-husuylydw-868[tlyhz] +qzoggwtwsr-qobrm-oqeiwgwhwcb-116[wgoqb] +zlkprjbo-doxab-yxphbq-pxibp-237[ocanz] +iruzfrtkzmv-avccpsvre-vexzevvizex-893[nyktl] +hqtyeqsjylu-hqrryj-tulubefcudj-894[ujqye] +zlkprjbo-doxab-fkqbokxqflkxi-mixpqfz-doxpp-xznrfpfqflk-523[fxkpo] +dpmpsgvm-sbccju-dvtupnfs-tfswjdf-129[neysa] +qcbgiasf-ufors-dzoghwq-ufogg-zopcfohcfm-246[yhmkz] +esyfwlau-ugjjgkanw-usfvq-kzahhafy-242[wnzhb] +mbiyqoxsm-lkcuod-nozkbdwoxd-432[odbkm] +usfvq-ugslafy-vwhdgqewfl-632[fglqs] +gokzyxsjon-zvkcdsm-qbkcc-oxqsxoobsxq-484[xrkfl] +hdgdovmt-bmvyz-wvnfzo-gjbdnodxn-395[bwicg] +sehheiylu-fhezusjybu-rkddo-udwyduuhydw-530[udhye] +glrcplyrgmlyj-aylbw-amyrgle-nspafyqgle-210[dmuny] +aflwjfslagfsd-jsttal-xafsfuafy-138[faslj] +yuxufmdk-sdmpq-iqmbazulqp-otaoaxmfq-pqbxakyqzf-586[qamfp] +jef-iushuj-sxesebqju-ixyffydw-270[iztnj] +zvyvgnel-tenqr-enzcntvat-ohaal-ratvarrevat-793[atven] +yuxufmdk-sdmpq-vqxxknqmz-ogefayqd-eqdhuoq-612[qdmux] +yhtwhnpun-kfl-ylhjxbpzpapvu-357[phlnu] +egdytrixat-qjccn-bpcpvtbtci-557[mtpgc] +wsvsdkbi-qbkno-mkxni-mykdsxq-ecob-docdsxq-120[dksbo] +xtwtelcj-rclop-ojp-dstaatyr-873[omnal] +wifilzof-jfumncw-alumm-xypyfijgyhn-318[evfso] +mvydjvxodqz-agjrzm-hvivbzhzio-655[vzdhi] +jsehsyafy-usfvq-ugslafy-jwuwanafy-840[afsyu] +myxcewob-qbkno-nio-bocokbmr-900[obckm] +ipvohghykvbz-wshzapj-nyhzz-vwlyhapvuz-539[hzvpy] +tbxmlkfwba-pzxsbkdbo-erkq-zrpqljbo-pbosfzb-185[bkopz] +rdadguja-eaphixr-vgphh-itrwcdadvn-869[nfpxs] +lugjuacha-jfumncw-alumm-zchuhwcha-734[uachm] +jsehsyafy-jsttal-jwsuimakalagf-762[mnvlh] +zixppfcfba-yrkkv-absbilmjbkq-393[ihgyz] +bxaxipgn-vgpst-rdchjbtg-vgpst-rpcsn-rdpixcv-hpath-817[pgtch] +rtqlgevkng-ejqeqncvg-hkpcpekpi-154[xpgty] +laffe-hgyqkz-xkikobotm-488[kfoab] +jfifqxov-doxab-zxkav-zlxqfkd-qoxfkfkd-419[ubaro] +myxcewob-qbkno-cmkfoxqob-rexd-zebmrkcsxq-952[boxce] +apuut-wvnfzo-rjmfncjk-447[fjnua] +lejkrscv-tfcfiwlc-avccpsvre-fgvirkzfej-113[cfver] +nglmtuex-cxeeruxtg-kxvxbobgz-215[xegbt] +sgmtkzoi-kmm-xkgiwaoyozout-748[qrkst] +amppmqgtc-djmucp-rcaflmjmew-912[bcvna] +xst-wigvix-fyrrc-wepiw-438[ygref] +dzczkrip-xiruv-jtrmvexvi-ylek-fgvirkzfej-295[irvek] +diozmivodjivg-xviyt-xjvodib-zibdizzmdib-265[zmrey] +rgndvtcxr-ytaanqtpc-stepgibtci-661[tcagi] +xgsvgmotm-hgyqkz-jkyomt-358[ajyhb] +zloolpfsb-yxphbq-ixyloxqlov-393[loxbp] +zilqwikbqdm-jiasmb-uizsmbqvo-668[ibmqs] +rtqlgevkng-rncuvke-itcuu-ucngu-206[ucgne] +dmybmsuzs-yuxufmdk-sdmpq-eomhqzsqd-tgzf-iadwetab-482[nkqyl] +vetllbybxw-ktuubm-hixktmbhgl-345[ikqop] +bwx-amkzmb-jcvvg-ikycqaqbqwv-954[symcn] +ubhatstkwhnl-ynssr-lvtoxgzxk-angm-kxlxtkva-163[ktxal] +zlilocri-yxphbq-pefmmfkd-471[filmp] +yflexwxoalrp-zlkprjbo-doxab-zxkav-zlxqfkd-qoxfkfkd-419[xkflo] +oxaflxzqfsb-zelzlixqb-xznrfpfqflk-393[flxzq] +ixccb-vfdyhqjhu-kxqw-ghyhorsphqw-101[pzgst] +pybgmyargtc-qaytclecp-fslr-sqcp-rcqrgle-860[crglp] +zbytomdsvo-mkxni-kmaescsdsyx-562[smdko] +hwbba-dwppa-ocpcigogpv-570[pabcg] +eza-dpncpe-nlyoj-nzletyr-wlmzclezcj-171[elzcn] +tbxmlkfwba-mixpqfz-doxpp-zlkqxfkjbkq-159[kxbfp] +vetllbybxw-yehpxk-ehzblmbvl-657[blehv] +zuv-ykixkz-jek-lotgtiotm-852[ktioz] +fnjyxwrinm-mhn-mnyjacvnwc-277[zgpnw] +odiih-ljwmh-lxjcrwp-mnenuxyvnwc-615[nwchi] +wfummczcyx-wuhxs-qilembij-838[mciuw] +sno-rdbqds-bgnbnkzsd-bnmszhmldms-859[sbdnm] +nvrgfezqvu-gcrjkzt-xirjj-ivjvrity-555[ylfxv] +encuukhkgf-uecxgpigt-jwpv-ujkrrkpi-622[kugpc] +lnkfaypeha-xqjju-qoan-paopejc-446[ajpen] +kmjezxodgz-ytz-gvwjmvojmt-109[jmzgo] +ygcrqpkbgf-hnqygt-octmgvkpi-128[gckpq] +jxdkbqfz-mixpqfz-doxpp-tlohpelm-107[pxdfl] +xjgjmapg-xviyt-xjvodib-adivixdib-759[ixdjv] +laffe-jek-sgtgmksktz-644[vuenb] +pbafhzre-tenqr-enoovg-ratvarrevat-975[ymshj] +lqwhuqdwlrqdo-vfdyhqjhu-kxqw-uhvhdufk-959[kzlvy] +rflsjynh-jll-zxjw-yjxynsl-697[jlyns] +wrs-vhfuhw-sodvwlf-judvv-ghvljq-361[vhwdf] +ynssr-unggr-tvjnblbmbhg-163[bgnrs] +jyfvnlupj-jvsvymbs-yhiipa-zopwwpun-903[nrdma] +kzeed-hfsid-uzwhmfxnsl-515[uoyvx] +ide-htrgti-uadltg-gtprfjxhxixdc-375[tdgix] +sorozgxe-mxgjk-hatte-vaxingyotm-358[fwxei] +ydjuhdqjyedqb-fbqijys-whqii-jusxdebewo-582[nuzsj] +yknnkoera-xwogap-paydjkhkcu-498[kanop] +nzydfxpc-rclop-upwwjmply-opdtry-691[pycdl] +dlhwvupglk-jhukf-jvhapun-zlycpjlz-409[lhjpu] +kwvacumz-ozilm-moo-bmkpvwtwog-694[mowkv] +kmjezxodgz-wpiit-mzxzdqdib-863[anvbu] +xlrypetn-nsznzwlep-xlylrpxpye-587[znfwt] +pybgmyargtc-qaytclecp-fslr-umpiqfmn-600[nzvej] +etyyx-qzaahs-lzqjdshmf-781[ahqsy] +ovbunmneqbhf-wryylorna-znantrzrag-221[pnazx] +gzefmnxq-bxmefuo-sdmee-ymzmsqyqzf-352[lgvpu] +ixeumktoi-jek-jkbkruvsktz-488[mzeun] +dzczkrip-xiruv-avccpsvre-glityrjzex-321[eflmp] +wfruflnsl-hfsid-fhvznxnynts-307[fnshl] +vkppo-rkddo-iqbui-218[dikop] +muqfedyput-zubboruqd-mehaixef-452[inbaj] +ftzgxmbv-cxeeruxtg-nlxk-mxlmbgz-683[xgmbe] +htsxzrjw-lwfij-uqfxynh-lwfxx-hzxytrjw-xjwanhj-827[xjwhf] +qekrixmg-wgezirkiv-lyrx-tyvglewmrk-282[regik] +ktiaaqnqml-jiasmb-apqxxqvo-226[asvyf] +lejkrscv-irdgrxzex-srjbvk-kvtyefcfxp-165[rekvx] +hvbizodx-nxvqzibzm-cpio-hvmfzodib-291[izbov] +ltpedcxots-tvv-rjhidbtg-htgkxrt-297[tdghr] +dlhwvupglk-mbggf-jovjvshal-zlycpjlz-565[lgjvh] +xfbqpojafe-tdbwfohfs-ivou-sfbdrvjtjujpo-779[fjobd] +kmjezxodgz-xviyt-gvwjmvojmt-577[flhas] +jshzzpmplk-jhukf-jvhapun-vwlyhapvuz-669[hpjuv] +tfejldvi-xiruv-gcrjkzt-xirjj-drerxvdvek-295[dpsef] +zotts-yaa-lymyulwb-968[skymd] +rmn-qcapcr-zyqicr-umpiqfmn-704[cmqri] +xfbqpojafe-cbtlfu-qvsdibtjoh-727[bfjoq] +ykhknbqh-nwxxep-oanreyao-732[naehk] +raphhxuxts-hrpktcvtg-wjci-hidgpvt-921[hmzng] +yrwxefpi-qmpmxevc-kvehi-gerhc-gsexmrk-hizipstqirx-932[mdsza] +xjgjmapg-xviyt-vivgtndn-603[utnks] +cxy-bnlanc-mhn-vjwjpnvnwc-745[mtsvn] +ujoon-gpbepvxcv-eaphixr-vgphh-uxcpcrxcv-687[pcvxh] +ykjoqian-cnwza-iwcjapey-lhwopey-cnwoo-opknwca-264[owacn] +lnkfaypeha-oywrajcan-dqjp-zalwnpiajp-108[apjnl] +ktwbhtvmbox-yehpxk-mktbgbgz-293[cndif] +hqcfqwydw-cqwdujys-rqiauj-qsgkyiyjyed-738[qydjw] +amlqskcp-epybc-zyqicr-kylyeckclr-600[sdrzj] +bnmrtldq-fqzcd-rbzudmfdq-gtms-zbpthrhshnm-443[dmbhq] +nwlddtqtpo-nlyoj-nzletyr-epnsyzwzrj-379[tyrzv] +cvabijtm-kpwkwtibm-lmxtwgumvb-980[mbtwi] +amlqskcp-epybc-afmamjyrc-jyzmpyrmpw-574[mpyac] +aflwjfslagfsd-vqw-dstgjslgjq-424[sfgjl] +willimcpy-zfiqyl-xymcah-110[ilycm] +kpvgtpcvkqpcn-lgnnadgcp-ujkrrkpi-128[knmqz] +wyvqljapsl-buzahisl-ibuuf-lunpullypun-409[wyhza] +amlqskcp-epybc-pyzzgr-pcacgtgle-210[cpgae] +xtwtelcj-rclop-mldvpe-dstaatyr-821[nkabu] +pdjqhwlf-gbh-sxufkdvlqj-751[cdmbz] +wkqxodsm-zvkcdsm-qbkcc-ecob-docdsxq-432[cdkoq] +xjmmjndqz-wpiit-gjbdnodxn-811[djnim] +zlkprjbo-doxab-zelzlixqb-absbilmjbkq-939[blzai] +htqtwkzq-xhfajsljw-mzsy-ywfnsnsl-619[lfsnu] +zhdsrqlchg-mhoobehdq-xvhu-whvwlqj-361[hqdlo] +tcfkqcevkxg-tcorcikpi-ejqeqncvg-uvqtcig-544[lsyzm] +kwtwznct-kivlg-zmamizkp-824[ixjen] +bkzrrhehdc-qzaahs-rghoohmf-287[hraoz] +lxuxaodu-mhn-cajrwrwp-303[aruwx] +tcorcikpi-dcumgv-octmgvkpi-700[vygzd] +crwwv-zlkprjbo-doxab-yxphbq-bkdfkbbofkd-809[bkdof] +xgvnndadzy-xcjxjgvoz-ncdkkdib-447[dnxcg] +elrkdcdugrxv-fkrfrodwh-xvhu-whvwlqj-179[eubfs] +odkasqzuo-rxaiqd-eqdhuoqe-430[nlyts] +vhglnfxk-zktwx-xzz-xgzbgxxkbgz-917[xzgkb] +jyfvnlupj-wyvqljapsl-jovjvshal-zlycpjlz-357[jlvpy] +gpbepvxcv-eaphixr-vgphh-gtrtxkxcv-687[pvxgh] +jrncbavmrq-zntargvp-qlr-qrirybczrag-741[dnzpg] +hqfxxnknji-hfsid-knsfshnsl-307[wtfhe] +aietsrmdih-nippcfier-stivexmsrw-750[iersm] +glrcplyrgmlyj-pyzzgr-pcqcypaf-912[nkoyv] +ugfkmewj-yjsvw-hdsklau-yjskk-sfsdqkak-216[ksjad] +mhi-lxvkxm-vtgwr-kxtvjnblbmbhg-917[bmvxg] +tipfxvezt-irsszk-kvtyefcfxp-451[fteik] +jxdkbqfz-mixpqfz-doxpp-qoxfkfkd-939[fxdkp] +dsxxw-pyzzgr-qrmpyec-288[prxyz] +ejpanjwpekjwh-fahhuxawj-ajcejaanejc-394[jaehw] +pinovwgz-xgvnndadzy-xviyt-vxlpdndodji-109[dnvix] +szfyrqriuflj-upv-rercpjzj-243[jprqg] +dmbttjgjfe-gmpxfs-efqbsunfou-701[fbegj] +sgmtkzoi-inuiurgzk-ykxboiky-436[qlcfs] +slqryzjc-djmucp-ylyjwqgq-158[jqycl] +aflwjfslagfsd-vqw-hmjuzskafy-398[fasjl] +slqryzjc-djmucp-pcacgtgle-886[cgjlp] +qjopwxha-ywjzu-ajcejaanejc-420[zoehr] +amjmpdsj-njyqrga-epyqq-kylyeckclr-756[yksln] +zlkprjbo-doxab-zxkav-zlxqfkd-abpfdk-445[kabdx] +lhkhszqx-fqzcd-bgnbnkzsd-nodqzshnmr-989[nzdhq] +dlhwvupglk-ibuuf-klwhyatlua-591[dzktb] +dpotvnfs-hsbef-cbtlfu-ufdiopmphz-623[homsd] +ajvyjprwp-npp-mnbrpw-875[pjnrw] +lxwbdvna-pajmn-snuuhknjw-mnyuxhvnwc-251[nuwah] +vetllbybxw-lvtoxgzxk-angm-xgzbgxxkbgz-865[mknli] +aflwjfslagfsd-jsehsyafy-usfvq-vwkayf-268[fsayj] +xjgjmapg-agjrzm-gvwjmvojmt-291[jgmav] +plolwdub-judgh-iorzhu-dqdobvlv-465[dloub] +htqtwkzq-wfggny-fsfqdxnx-645[wsznf] +fkqbokxqflkxi-zxkav-zlxqfkd-jxohbqfkd-341[kxfqb] +oxjmxdfkd-avb-tlohpelm-653[dlmox] +xtwtelcj-rclop-nsznzwlep-epnsyzwzrj-873[zelnp] +rtqlgevkng-gii-ceswkukvkqp-466[kgeiq] +molgbzqfib-yrkkv-ixyloxqlov-237[lobik] +zbytomdsvo-mrymyvkdo-nocsqx-848[pahef] +szfyrqriuflj-treup-tfrkzex-ivtvzmzex-867[xejut] +upq-tfdsfu-kfmmzcfbo-mphjtujdt-909[fmtud] +ykhknbqh-lhwopey-cnwoo-bejwjyejc-342[hwxgn] +qfkkj-nsznzwlep-nzyeltyxpye-327[vkmwy] +excdklvo-zvkcdsm-qbkcc-psxkxmsxq-900[cvoiz] +dszphfojd-dboez-dpbujoh-xpsltipq-623[zbxem] +udpsdjlqj-iorzhu-ghsorbphqw-517[hdjop] +xcitgcpixdcpa-ide-htrgti-gpqqxi-gthtpgrw-609[gitpc] +cybyjqho-whqtu-uww-tuiywd-348[styfx] +yuxufmdk-sdmpq-nmewqf-oazfmuzyqzf-924[hfsly] +tfejldvi-xiruv-avccpsvre-crsfirkfip-997[rxygp] +wsvsdkbi-qbkno-oqq-wkxkqowoxd-822[koqwb] +qcbgiasf-ufors-tzcksf-sbuwbssfwbu-610[ivjsc] +vkrhzxgbv-wrx-lmhktzx-839[xhkrv] +xmrrq-bwddqtwsf-vwnwdghewfl-242[fpmoq] +kmjezxodgz-nxvqzibzm-cpio-gjbdnodxn-577[isocd] +iutyaskx-mxgjk-kmm-jkyomt-436[kmjtx] +ide-htrgti-snt-rjhidbtg-htgkxrt-531[tghir] +vkppo-uww-bqrehqjeho-764[xmntl] +bdavqofuxq-pkq-ymzmsqyqzf-196[qfmyz] +diozmivodjivg-hvbizodx-zbb-ozxcijgjbt-915[zueag] +cybyjqho-whqtu-hqrryj-bqrehqjeho-374[hqjry] +vcibutulxiom-vohhs-lywycpcha-630[owyks] +chnylhuncihuf-wuhxs-fiacmncwm-786[chnuf] +xekdwvwnzkqo-ywjzu-ykwpejc-wymqeoepekj-264[dmbln] +etyyx-cxd-vnqjrgno-391[hntfq] +pwcvonofrcig-dfcxsqhwzs-qobrm-qighcasf-gsfjwqs-194[scfqg] +xgvnndadzy-ezggtwzvi-nojmvbz-837[vnsth] +dszphfojd-qmbtujd-hsbtt-usbjojoh-467[rskch] +npmhcargjc-aylbw-amyrgle-yaosgqgrgml-886[galmr] +qczcftiz-gqojsbusf-vibh-twbobqwbu-350[bnsiu] +kwvacumz-ozilm-kzgwomvqk-xtiabqk-oziaa-twoqabqka-980[akoqz] +dsxxw-zyqicr-cleglccpgle-418[clegx] +jrncbavmrq-cynfgvp-tenff-ynobengbel-611[nbefc] +hqtyeqsjylu-fbqijys-whqii-tuiywd-322[mitks] +rnqnyfwd-lwfij-wfggny-xmnuunsl-697[tseia] +fhezusjybu-rqiauj-udwyduuhydw-868[ngyzs] +pkl-oaynap-ywjzu-ykwpejc-opknwca-628[pakwy] +nuatmlmdpage-vqxxknqmz-geqd-fqefuzs-508[romxa] +awzwhofm-ufors-qobrm-qcohwbu-hsqvbczcum-948[obchm] +dfcxsqhwzs-rms-fsgsofqv-766[sfqcd] +wlqqp-tyftfcrkv-rercpjzj-711[rcfjp] +clotzlnetgp-awldetn-rcldd-nzyeltyxpye-743[letdn] +lgh-kwujwl-hdsklau-yjskk-vwhsjlewfl-788[lkwhj] +uqtqbizg-ozilm-kivlg-kwibqvo-uizsmbqvo-512[iqbov] +vetllbybxw-lvtoxgzxk-angm-kxlxtkva-683[xlktv] +qyujihctyx-mwupyhayl-bohn-uwkocmcncih-760[chyui] +crwwv-zxkav-obzbfsfkd-237[bfkvw] +qczcftiz-pogysh-igsf-hsghwbu-610[tnjwm] +udpsdjlqj-gbh-hqjlqhhulqj-725[hjqld] +yuxufmdk-sdmpq-nmewqf-emxqe-326[meqdf] +molgbzqfib-ciltbo-ildfpqfzp-653[bfilo] +uwtojhynqj-gfxpjy-ywfnsnsl-151[jnyfs] +qvbmzvibqwvit-jiasmb-camz-bmabqvo-330[bmvai] +xmtjbzidx-xviyt-xjvodib-xpnojhzm-nzmqdxz-603[torgb] +ykjoqian-cnwza-fahhuxawj-qoan-paopejc-628[ajnoc] +gvcskirmg-veffmx-irkmriivmrk-906[imrkv] +njmjubsz-hsbef-dboez-dpbujoh-bdrvjtjujpo-649[astyb] +ovbunmneqbhf-pnaql-pbngvat-jbexfubc-845[yzqwm] +joufsobujpobm-kfmmzcfbo-usbjojoh-571[mkpnw] +lzfmdshb-cxd-lzmzfdldms-287[dlmzf] +froruixo-mhoobehdq-pdunhwlqj-439[ohdqr] +xcitgcpixdcpa-rpcsn-rdpixcv-bpcpvtbtci-193[cpitx] +dfcxsqhwzs-ksodcbwnsr-xszzmpsob-rsgwub-168[sbwzc] +iuruxlar-lruckx-sgtgmksktz-436[krugl] +nbhofujd-dboez-fohjoffsjoh-467[ofhjb] +pejji-tovvilokx-nozvyiwoxd-276[bzkve] +bxaxipgn-vgpst-rpcsn-rdpixcv-rjhidbtg-htgkxrt-583[upjyv] +bkzrrhehdc-bzmcx-bnzshmf-lzqjdshmf-443[hzbmc] +dpssptjwf-gmpxfs-mphjtujdt-571[pjstd] +pdjqhwlf-sodvwlf-judvv-orjlvwlfv-829[tuszv] +mfklstdw-tmffq-wfyafwwjafy-918[wmvan] +joufsobujpobm-ezf-gjobodjoh-779[xwadm] +hafgnoyr-gbc-frperg-rtt-grpuabybtl-481[jcgnd] +joufsobujpobm-fhh-tijqqjoh-233[johbf] +zuv-ykixkz-vrgyzoi-mxgyy-yzuxgmk-150[yzgkx] +ibghopzs-qvcqczohs-qighcasf-gsfjwqs-948[ubrmn] +qfmcusbwq-pwcvonofrcig-foppwh-fsgsofqv-584[focpq] +aczupnetwp-awldetn-rcldd-qtylyntyr-119[tdlny] +dpssptjwf-ezf-sfdfjwjoh-909[znfwy] +qxdwpopgsdjh-ytaanqtpc-pcpanhxh-297[pahcd] +ucynmlgxcb-aylbw-rpyglgle-626[lgybc] +oqnidbshkd-okzrshb-fqzrr-rdquhbdr-573[rdbhq] +frqvxphu-judgh-fdqgb-vhuylfhv-647[hfuvd] +vhehkyne-cxeeruxtg-hixktmbhgl-319[ehxgk] +gsrwyqiv-kvehi-gerhc-gsexmrk-vigimzmrk-412[girek] +ajmrxjlcren-yujbcrl-pajbb-bnaerlnb-719[lvzpq] +zixppfcfba-bdd-bkdfkbbofkd-393[hnmcz] +aflwjfslagfsd-hdsklau-yjskk-ugflsafewfl-918[flsak] +xtwtelcj-rclop-upwwjmply-nzyeltyxpye-847[lpyet] +oaddaeuhq-qss-dqmocgueufuaz-924[qzwti] +tvsnigxmpi-wgezirkiv-lyrx-hitpscqirx-568[irxgp] +ksodcbwnsr-qczcftiz-gqojsbusf-vibh-igsf-hsghwbu-272[sbcfg] +sgmtkzoi-jek-gtgreyoy-410[tqkns] +rzvkjiduzy-kgvnodx-bmvnn-omvdidib-109[fpsxk] +diozmivodjivg-rzvkjiduzy-zbb-adivixdib-447[nayqm] +froruixo-vfdyhqjhu-kxqw-rshudwlrqv-517[rhqud] +dmpuamofuhq-dmnnuf-ymzmsqyqzf-222[mwnak] +mybbycsfo-zvkcdsm-qbkcc-wkbuodsxq-380[bcksd] +tcrjjzwzvu-wcfnvi-vexzevvizex-633[vzeci] +qzoggwtwsr-gqojsbusf-vibh-hsqvbczcum-870[sbgqc] +enzcntvat-cynfgvp-tenff-phfgbzre-freivpr-845[xnfot] +gsvvswmzi-gerhc-gsexmrk-stivexmsrw-984[segmr] +fhezusjybu-vbemuh-iqbui-244[iektm] +oqnidbshkd-idkkxadzm-qdzbpthrhshnm-469[gekyh] +pybgmyargtc-cee-nspafyqgle-574[egyac] +jyddc-gerhc-gsexmrk-vigimzmrk-672[gmrcd] +tipfxvezt-gcrjkzt-xirjj-rercpjzj-399[ldquc] +bdavqofuxq-bxmefuo-sdmee-dqeqmdot-768[hwmck] +fbebmtkr-zktwx-vtgwr-hixktmbhgl-475[tbkgh] +irgyyolokj-igtje-iugzotm-rumoyzoiy-202[mpijw] +fbebmtkr-zktwx-xzz-kxlxtkva-865[yicwo] +tyepcyletzylw-dnlgpyrpc-sfye-nfdezxpc-dpcgtnp-145[badwi] +vrurcjah-pajmn-ljwmh-anbnjalq-849[ajnhl] +rtqlgevkng-ecpfa-fgukip-700[gefkp] +pdjqhwlf-froruixo-udeelw-wudlqlqj-907[kymab] +tinnm-xszzmpsob-qcbhowbasbh-688[nhcdm] +nij-mywlyn-wuhxs-lywycpcha-318[ywchl] +fnjyxwrinm-ouxfna-ldbcxvna-bnaerln-979[naxbf] +ajvyjprwp-bljenwpna-qdwc-anjlzdrbrcrxw-823[jrwan] +diozmivodjivg-wpiit-mzxzdqdib-551[kmhon] +nij-mywlyn-dyffsvyuh-xyjfisgyhn-656[yfnhi] +fhezusjybu-zubboruqd-vydqdsydw-504[dubyq] +ubhatstkwhnl-lvtoxgzxk-angm-kxvxbobgz-579[xbgkt] +xcitgcpixdcpa-rwdrdapit-htgkxrth-557[zastp] +wfintfhynaj-jll-hzxytrjw-xjwanhj-281[jhnwa] +irgyyolokj-vrgyzoi-mxgyy-rumoyzoiy-800[sptbo] +jvyyvzpcl-yhkpvhjapcl-ibuuf-aljouvsvnf-227[vjlpu] +iruzfrtkzmv-treup-kirzezex-841[rzeik] +cxy-bnlanc-ljwmh-ujkxajcxah-979[waqkz] +qzoggwtwsr-foppwh-difqvogwbu-948[wgofp] +qyujihctyx-dyffsvyuh-zchuhwcha-552[hycuf] +yknnkoera-lhwopey-cnwoo-pnwejejc-992[enowc] +zovldbkfz-zxkav-zlxqfkd-xkxivpfp-289[vtcos] +mrxivrexmsrep-glsgspexi-erepcwmw-750[btrnl] +udskkaxawv-kusnwfywj-zmfl-dgyaklauk-866[xeozd] +esyfwlau-tmffq-vwnwdghewfl-632[czoml] +hjgbwuladw-kusnwfywj-zmfl-esfsywewfl-294[xwfie] +hwbba-rncuvke-itcuu-ocpcigogpv-232[cubgi] +vhkkhlbox-vtgwr-xgzbgxxkbgz-631[typnq] +nvrgfezqvu-szfyrqriuflj-vxx-jkfirxv-139[krijl] +iuruxlar-zuv-ykixkz-lruckx-xkykgxin-826[kxuir] +yhwooebeaz-ywjzu-yqopkian-oanreya-966[ynwkb] +iuxxuyobk-pkrrehkgt-xkgiwaoyozout-176[sjwtp] +glrcplyrgmlyj-djmucp-qrmpyec-236[clmpr] +pejji-tovvilokx-bocokbmr-588[obijk] +hplazytkpo-upwwjmply-dpcgtnpd-119[pdltw] +nij-mywlyn-xsy-jolwbumcha-136[yjlmn] +pynffvsvrq-ohaal-fgbentr-923[fanrv] +lgh-kwujwl-kusnwfywj-zmfl-kwjnauwk-736[wkjlu] +dszphfojd-sbccju-mbcpsbupsz-727[sbcpd] +ixeumktoi-lruckx-zkinturume-800[ktsyl] +fmsledevhsyw-tvsnigxmpi-veffmx-viwievgl-412[veifm] +mrxivrexmsrep-fyrrc-qevoixmrk-880[wtmdx] +qmpmxevc-kvehi-wgezirkiv-lyrx-wlmttmrk-620[zyxjd] +zixppfcfba-oxyyfq-qbzeklildv-289[fbilp] +nwlddtqtpo-dnlgpyrpc-sfye-wlmzclezcj-431[jefsy] +tinnm-foppwh-oqeiwgwhwcb-688[fzyjx] +plolwdub-judgh-fdqgb-ghyhorsphqw-413[hystk] +bwx-amkzmb-zijjqb-bmkpvwtwog-460[bmwjk] +qcbgiasf-ufors-pibbm-ghcfous-896[bfscg] +ktwbhtvmbox-vetllbybxw-cxeeruxtg-tgterlbl-215[tmybs] +lqwhuqdwlrqdo-mhoobehdq-vwrudjh-387[dhqow] +lgh-kwujwl-tskcwl-vwhdgqewfl-684[afnbs] +yuxufmdk-sdmpq-rxaiqd-efadmsq-976[mczye] +ftzgxmbv-unggr-kxlxtkva-917[ezfmx] +rmn-qcapcr-aylbw-amyrgle-ylyjwqgq-158[prcqj] +fhezusjybu-rqiauj-husuylydw-582[uyhjs] +apuut-xviyt-xjvodib-yzkvmohzio-525[yomvc] +mybbycsfo-dyz-combod-zvkcdsm-qbkcc-oxqsxoobsxq-848[obcsd] +yhwooebeaz-lhwopey-cnwoo-zalhkuiajp-706[oaehw] +bqxnfdmhb-bzmcx-trdq-sdrshmf-469[zdyht] +dmpuamofuhq-vqxxknqmz-pqbmdfyqzf-924[qmfdp] +kmjezxodgz-ytz-mzvxlpdndodji-889[gefcn] +apuut-xviyt-xjvodib-mznzvmxc-369[vximt] +fodvvlilhg-surmhfwloh-hjj-hqjlqhhulqj-647[hljqf] +tipfxvezt-srjbvk-tljkfdvi-jvimztv-269[vtijf] +ikhcxvmbex-xzz-labiibgz-423[qnzsg] +qzchnzbshud-azrjds-lzmzfdldms-885[xubgy] +eadalsjq-yjsvw-vqw-esjcwlafy-398[ajswe] +oxmeeuruqp-bxmefuo-sdmee-etubbuzs-898[stupo] +frqvxphu-judgh-xqvwdeoh-fdqgb-frdwlqj-zrunvkrs-257[dqrfh] +ltpedcxots-gpbepvxcv-qphzti-igpxcxcv-349[jzdyi] +vhkkhlbox-vtgwr-phkdlahi-969[tmszy] +cvabijtm-jcvvg-lmdmtwxumvb-226[nvfca] +sedikcuh-whqtu-sqdto-qsgkyiyjyed-790[dqsye] +gzefmnxq-bdavqofuxq-rxaiqd-ymzmsqyqzf-690[zklij] +zntargvp-cynfgvp-tenff-qrcyblzrag-351[sqzyh] +xfbqpojafe-dboez-xpsltipq-857[ehgum] +uqtqbizg-ozilm-jcvvg-lmaqov-980[xzwsi] +xjgjmapg-ezggtwzvi-xpnojhzm-nzmqdxz-161[zgjmx] +muqfedyput-vbemuh-fkhsxqiydw-920[udefh] +kzeed-gfxpjy-ywfnsnsl-489[xeoyn] +pynffvsvrq-onfxrg-ynobengbel-741[nfbeg] +froruixo-iorzhu-rshudwlrqv-647[rouhi] +amjmpdsj-qaytclecp-fslr-qyjcq-938[cjqal] +otzkxtgzoutgr-jek-iayzuskx-ykxboik-826[kotxz] +tpspahyf-nyhkl-jhukf-zavyhnl-279[hyafk] +pualyuhapvuhs-ihzrla-ylhjxbpzpapvu-929[lbncu] +odiih-ajkkrc-mnbrpw-355[ikrab] +votubcmf-gmpxfs-bdrvjtjujpo-363[jbfmo] +zgmfyxypbmsq-rmn-qcapcr-bwc-pcacgtgle-704[ztspm] +uqtqbizg-ozilm-nchhg-jiasmb-ivitgaqa-382[snpaf] +willimcpy-jfumncw-alumm-lyuwkocmcncih-734[cmliu] +ibghopzs-qvcqczohs-hsqvbczcum-506[chqsz] +ugjjgkanw-tmffq-vwkayf-216[lfrby] +pynffvsvrq-pnaql-erprvivat-507[vpraf] +aczupnetwp-nlyoj-nzletyr-pyrtyppctyr-197[pytnr] +vkppo-sqdto-seqjydw-bewyijysi-686[sydei] +dpotvnfs-hsbef-ezf-qvsdibtjoh-337[fsbde] +wlqqp-avccpsvre-ivtvzmzex-425[vcepq] +jfifqxov-doxab-gbiivybxk-jxohbqfkd-549[skgzo] +rgndvtcxr-jchipqat-rpcsn-igpxcxcv-713[cprxg] +ykhknbqh-xqjju-wymqeoepekj-576[ejkqh] +pejji-mrymyvkdo-domrxyvyqi-536[ymdij] +wihmogyl-aluxy-xsy-womnigyl-mylpcwy-786[ylmwg] +jlidywncfy-zfiqyl-mbcjjcha-162[cjyfi] +pynffvsvrq-sybjre-grpuabybtl-455[byavk] +uqtqbizg-ozilm-uiovmbqk-akidmvomz-pcvb-bziqvqvo-694[xywnk] +lxaaxbren-ouxfna-ydalqjbrwp-225[mibtg] +joufsobujpobm-kfmmzcfbo-dvtupnfs-tfswjdf-675[ijokq] +crwwv-gbiivybxk-pqloxdb-913[rtmzn] +pkl-oaynap-nwxxep-bejwjyejc-576[jfmel] +wfummczcyx-gcfcnuls-aluxy-wuhxs-wihnuchgyhn-786[giqsn] +htsxzrjw-lwfij-ojqqdgjfs-ijajqturjsy-229[tjxbs] +qczcftiz-foppwh-rsgwub-246[exnyt] +lnkfaypeha-xwogap-naoawnyd-342[zynls] +thnulapj-zjhclunly-obua-thuhnltlua-201[luhan] +vkppo-fbqijys-whqii-bqrehqjeho-504[lkosn] +eqpuwogt-itcfg-ecpfa-qrgtcvkqpu-622[cgpqt] +odkasqzuo-oazegyqd-sdmpq-otaoaxmfq-efadmsq-222[aoqdm] +ide-htrgti-bxaxipgn-vgpst-qjccn-pcpanhxh-453[pcghi] +luxciuwncpy-jfumncw-alumm-xyjulngyhn-552[unclm] +plolwdub-judgh-hjj-zrunvkrs-777[yfulq] +pejji-lexxi-oxqsxoobsxq-458[xoeij] +uzfqdzmfuazmx-pkq-fdmuzuzs-170[npsqv] +bknsykmdsfo-zvkcdsm-qbkcc-cdybkqo-614[fastx] +qfkkj-upwwjmply-qtylyntyr-873[yjklp] +hqcfqwydw-zubboruqd-ijehqwu-218[djvhz] +kmjezxodgz-pinovwgz-zbb-ncdkkdib-473[vimty] +bknsykmdsfo-myvybpev-mkxni-mykdsxq-bocokbmr-562[sdwfr] +eqttqukxg-gii-hkpcpekpi-960[yljdr] +drxevkzt-wcfnvi-cfxzjkztj-607[twoxz] +vkppo-rkddo-ijehqwu-504[dkope] +rgllk-rxaiqd-dqmocgueufuaz-456[mxkzr] +ktiaaqnqml-moo-xczkpiaqvo-122[aoqik] +amjmpdsj-njyqrga-epyqq-pcqcypaf-600[pqajy] +rwcnawjcrxwju-npp-ujkxajcxah-199[jacwx] +fmsledevhsyw-gspsvjyp-gerhc-gsexmrk-ywiv-xiwxmrk-412[segmr] +ajmrxjlcren-kdwwh-anbnjalq-745[myzet] +aoubshwq-tinnm-suu-fsoqeiwgwhwcb-480[wsubh] +rdggdhxkt-rpcsn-hpath-531[tsamh] +pbafhzre-tenqr-pnaql-pbngvat-nanylfvf-715[upmid] +zbytomdsvo-cmkfoxqob-rexd-gybucryz-562[obycd] +bkwzkqsxq-mkxni-ecob-docdsxq-978[ksmtq] +oknkvcta-itcfg-ecpfa-ncdqtcvqta-414[lcwjp] +fydelmwp-clmmte-cpnptgtyr-405[jlgak] +tcorcikpi-ecpfa-gpikpggtkpi-804[picgk] +xtwtelcj-rclop-upwwjmply-hzcvdsza-327[clpwj] +tcfkqcevkxg-ecpfa-eqcvkpi-ncdqtcvqta-752[cqekt] +etaqigpke-tcddkv-uvqtcig-440[tcdeg] +raphhxuxts-qxdwpopgsdjh-rpcsn-rdpixcv-sthxvc-843[tvexn] +atyzghrk-xghhoz-ktmotkkxotm-748[kthog] +fmsledevhsyw-nippcfier-asvowlst-412[zksal] +oaxadrgx-eomhqzsqd-tgzf-eqdhuoqe-846[zfylm] +qcbgiasf-ufors-dzoghwq-ufogg-qcbhowbasbh-194[bgofh] +qvbmzvibqwvit-bwx-amkzmb-jiasmb-xczkpiaqvo-122[bimva] +qfkkj-prr-hzcvdsza-639[dqmts] +jvyyvzpcl-ibuuf-bzly-alzapun-981[mnakf] +dsxxw-cee-pcacgtgle-626[odsgr] +buzahisl-zjhclunly-obua-zlycpjlz-617[rsglh] +gpewwmjmih-tpewxmg-kveww-jmrergmrk-594[mwegr] +aietsrmdih-hci-stivexmsrw-516[hsvof] +ujoon-ytaanqtpc-stepgibtci-219[tacin] +kpvgtpcvkqpcn-fag-ceswkukvkqp-830[cijob] +etaqigpke-uecxgpigt-jwpv-ocpcigogpv-154[gpcei] +eqnqthwn-tcddkv-rwtejcukpi-674[tcdek] +mhi-lxvkxm-ktuubm-nlxk-mxlmbgz-241[mxklb] +avw-zljyla-wshzapj-nyhzz-ylzlhyjo-149[plqkx] +xekdwvwnzkqo-nwxxep-odellejc-862[xyzwn] +pkl-oaynap-bhksan-qoan-paopejc-498[ojduv] +xjinphzm-bmvyz-xjgjmapg-ezggtwzvi-zibdizzmdib-499[zigmb] +bdavqofuxq-rxaiqd-bgdotmeuzs-508[clbmv] +xzwrmkbqtm-jcvvg-ewzsapwx-902[wmvxz] +dmybmsuzs-rxaiqd-xmnadmfadk-846[dmasx] +surmhfwloh-exqqb-vwrudjh-127[hqruw] +gntmfefwitzx-ojqqdgjfs-xytwflj-827[xgtuv] +tbxmlkfwba-zxkav-zlxqfkd-ildfpqfzp-965[jncig] +sbnqbhjoh-tdbwfohfs-ivou-qvsdibtjoh-597[rftxz] +hqcfqwydw-fbqijys-whqii-iqbui-322[iqwbf] +forwcoqhwjs-xszzmpsob-gvwddwbu-324[ftyzu] +zlilocri-oxjmxdfkd-ciltbo-pbosfzbp-991[gjars] +kwzzwaqdm-rmttgjmiv-uizsmbqvo-434[mziqt] +willimcpy-gcfcnuls-aluxy-mwupyhayl-bohn-yhachyylcha-162[kcimx] +uqtqbizg-ozilm-kivlg-uizsmbqvo-954[pifvj] +ugdgjxmd-tskcwl-wfyafwwjafy-762[wfadg] +ajyqqgdgcb-bwc-qyjcq-262[qcbgj] +yknnkoera-oywrajcan-dqjp-wjwhuoeo-602[oajnw] +bqxnfdmhb-qzaahs-rzkdr-963[abdhq] +dwbcjkun-mhn-jwjuhbrb-693[niusd] +wlqqp-wcfnvi-crsfirkfip-373[nrtqs] +guahyncw-wbiwifuny-xymcah-240[wyach] +qfkkj-prr-opgpwzaxpye-613[pkrae] +cqwdujys-tou-tufbeocudj-322[ucdjo] +wfruflnsl-wfggny-ijuqtdrjsy-931[wjznm] +bnqqnrhud-okzrshb-fqzrr-cdrhfm-105[rhqbd] +yhtwhnpun-tpspahyf-nyhkl-jovjvshal-zlycpjlz-487[hlpyj] +iutyaskx-mxgjk-hatte-lotgtiotm-176[shzku] +gntmfefwitzx-kqtbjw-xfqjx-645[nmfsa] +jvsvymbs-jhukf-jbzavtly-zlycpjl-695[frnkz] +dlhwvupglk-zjhclunly-obua-jvuahputlua-825[ulahj] +wyvqljapsl-jhukf-jvhapun-ylzlhyjo-487[jlhya] +ghkmaihex-hucxvm-lmhktzx-267[hmxka] +irgyyolokj-vrgyzoi-mxgyy-xkikobotm-670[ryfvl] +kwzzwaqdm-zijjqb-amzdqkma-564[qzdtv] +rflsjynh-idj-xytwflj-541[jflyd] +emixwvqhml-ntwemz-zmkmqdqvo-200[zmbdq] +kzgwomvqk-rmttgjmiv-abwziom-330[mtnsk] +xjgjmapg-wpiit-vivgtndn-499[weiza] +cebwrpgvyr-pnaql-grpuabybtl-117[xqmjc] +egdytrixat-uadltg-uxcpcrxcv-297[ctxad] +gvaaz-ezf-tfswjdft-623[fatzd] +excdklvo-mkxni-mykdsxq-mecdywob-cobfsmo-692[mocdk] +ovbunmneqbhf-pnaql-bcrengvbaf-351[mtgcw] +nwlddtqtpo-clmmte-nzyeltyxpye-509[ydnsh] +froruixo-udeelw-vwrudjh-309[sxgvu] +hqcfqwydw-sxesebqju-cqhaujydw-660[fghtp] +bpvctixr-rwdrdapit-ldgzhwde-895[sfioq] +ajmrxjlcren-yaxsnlcrun-bljenwpna-qdwc-fxatbqxy-797[fnjis] +lugjuacha-zfiqyl-uhufsmcm-370[uacfh] +houngfgxjuay-pkrrehkgt-iayzuskx-ykxboik-852[kguxy] +gcfcnuls-aluxy-luxciuwncpy-jfumncw-alumm-uhufsmcm-214[zftvs] +oxmeeuruqp-otaoaxmfq-emxqe-794[drzyv] +nvrgfezqvu-upv-tfekrzedvek-867[evfkr] +uwtojhynqj-xhfajsljw-mzsy-zxjw-yjxynsl-801[jyswx] +zixppfcfba-yxphbq-jxohbqfkd-887[zgoyn] +qczcftiz-qvcqczohs-aobousasbh-402[coqsz] +lejkrscv-upv-tfekrzedvek-919[ekvrc] +chnylhuncihuf-zfiqyl-zchuhwcha-604[magtu] +vetllbybxw-lvtoxgzxk-angm-ybgtgvbgz-605[gbltv] +dmpuamofuhq-omzpk-qzsuzqqduzs-820[quzmd] +rdggdhxkt-gpqqxi-rdcipxcbtci-219[yrlha] +tfejldvi-xiruv-wcfnvi-jvimztvj-243[fqclr] +foadouwbu-dzoghwq-ufogg-gvwddwbu-324[dgouw] +tbxmlkfwba-pzxsbkdbo-erkq-bkdfkbbofkd-913[hgans] +gpbepvxcv-rpcsn-itrwcdadvn-453[sbuap] +szfyrqriuflj-srjbvk-ivrthlzjzkzfe-633[sqwil] +jqwpihizlwca-jiasmb-ivitgaqa-122[amzud] +bqvvu-ywjzu-qoan-paopejc-264[ajopq] +mvydjvxodqz-wpiit-gvwjmvojmt-525[oabkn] +ktiaaqnqml-moo-zmikycqaqbqwv-252[qamik] +dpmpsgvm-cbtlfu-sfdfjwjoh-909[pntzm] +nzcczdtgp-nsznzwlep-qtylyntyr-171[nztyc] +htqtwkzq-idj-rfwpjynsl-723[ndmel] +gzefmnxq-nmewqf-eqdhuoqe-300[eqfmn] +qzlozfhmf-cxd-lzqjdshmf-469[fzdhl] +pinovwgz-mvydjvxodqz-xviyt-xjvodib-yzndbi-447[pztyh] +gspsvjyp-gerhc-gsexmrk-vieguymwmxmsr-256[gmser] +ygcrqpkbgf-tcfkqcevkxg-hnqygt-vtckpkpi-102[puovq] +jsehsyafy-tmffq-vwhdgqewfl-112[rnach] +qmpmxevc-kvehi-hci-eguymwmxmsr-204[mechi] +tcfkqcevkxg-tcorcikpi-gii-gpikpggtkpi-544[wytzs] +pbafhzre-tenqr-enzcntvat-onfxrg-ratvarrevat-845[raten] +shoewudys-rqiauj-bqrehqjeho-270[ehqjo] +xjinphzm-bmvyz-ojk-nzxmzo-ezggtwzvi-zibdizzmdib-577[zimbd] +rkpqxyib-bdd-pbosfzbp-939[bpdfi] +vcibutulxiom-vumeyn-omyl-nymncha-786[ziwys] +nvrgfezqvu-upv-ivrthlzjzkzfe-321[vzefr] +krxqjijamxdb-yujbcrl-pajbb-dbna-cnbcrwp-303[bjacr] +zixppfcfba-mixpqfz-doxpp-qbzeklildv-653[zdxgu] +lsyrkjkbnyec-mkxni-gybucryz-640[ykbcn] +qspkfdujmf-kfmmzcfbo-dpoubjonfou-155[fomub] +sno-rdbqds-rbzudmfdq-gtms-cdozqsldms-755[yaubo] +houngfgxjuay-vrgyzoi-mxgyy-ygrky-462[ygoru] +gcfcnuls-aluxy-wifilzof-yaa-omyl-nymncha-266[alycf] +hwdtljsnh-gzssd-xfqjx-463[fajso] +htwwtxnaj-idj-hzxytrjw-xjwanhj-281[hzrnq] +sorozgxe-mxgjk-lruckx-xkgiwaoyozout-176[oxgkr] +ynssr-vtgwr-vhtmbgz-ftgtzxfxgm-475[gtfmr] +rtqlgevkng-lgnnadgcp-yqtmujqr-648[nelzc] +kwtwznct-rmttgjmiv-camz-bmabqvo-460[nmbls] +surmhfwloh-fdqgb-wudlqlqj-959[lqdfh] +iutyaskx-mxgjk-hgyqkz-rumoyzoiy-644[ykgim] +jqwpihizlwca-kivlg-kwibqvo-wxmzibqwva-434[iwqva] +amppmqgtc-djmucp-asqrmkcp-qcptgac-496[cpmaq] +apuut-xjmmjndqz-wpiit-vivgtndn-187[intdj] +ftzgxmbv-vtgwr-wxlbzg-267[gbtvw] +eza-dpncpe-mldvpe-wlmzclezcj-171[eclpz] +rnqnyfwd-lwfij-wfggny-ijuqtdrjsy-827[fjnwy] +aflwjfslagfsd-xdgowj-ghwjslagfk-684[fgajl] +lzfmdshb-eknvdq-rsnqzfd-859[ybjfz] +hqtyeqsjylu-uww-tufbeocudj-582[uejqt] +qfkkj-nsznzwlep-dstaatyr-223[aknst] +ubhatstkwhnl-xzz-kxvxbobgz-267[umogq] +xekdwvwnzkqo-oywrajcan-dqjp-ykjpwejiajp-238[mtbvo] +cebwrpgvyr-sybjre-qrfvta-195[rbevy] +hjgbwuladw-usfvq-esfsywewfl-710[mpiho] +lujbbrornm-kjbtnc-fxatbqxy-823[ywamx] +ugjjgkanw-uzgugdslw-hmjuzskafy-476[stfoh] +fmsledevhsyw-fewoix-pefsvexsvc-724[scznt] +zlkprjbo-doxab-bdd-obzbfsfkd-419[bdofk] +vcibutulxiom-wuhxs-nluchcha-864[uchil] +yhkpvhjapcl-ihzrla-dvyrzovw-305[qyhmr] +hmsdqmzshnmzk-qzlozfhmf-qzaahs-zmzkxrhr-287[zhmqs] +gzefmnxq-dmnnuf-etubbuzs-482[nubef] +ejpanjwpekjwh-ywjzu-ykwpejc-nayaerejc-550[jewap] +cxy-bnlanc-npp-mnyuxhvnwc-433[nvmyt] +jfifqxov-doxab-gbiivybxk-obzbfsfkd-601[epyzn] +pkl-oaynap-xqjju-wjwhuoeo-680[joapu] +jef-iushuj-hqtyeqsjylu-rqiauj-bewyijysi-842[hyzgu] +dfcxsqhwzs-tzcksf-aobousasbh-896[wkqxh] +lahxpnwrl-ljwmh-bjunb-693[jtoyp] +rnqnyfwd-lwfij-gfxpjy-wjhjnansl-931[jnfwl] +buzahisl-jvyyvzpcl-jhukf-jvhapun-klwhyatlua-617[ahluj] +jchipqat-eaphixr-vgphh-bpgztixcv-271[hpiac] +zlkprjbo-doxab-avb-absbilmjbkq-107[wbymr] +eqpuwogt-itcfg-dcumgv-fgxgnqrogpv-362[gcfop] +rdadguja-qjccn-gtrtxkxcv-791[cadgj] +etaqigpke-oknkvcta-itcfg-hnqygt-hkpcpekpi-674[mcoya] +gspsvjyp-hci-wxsveki-386[myuqs] +jef-iushuj-vbemuh-mehaixef-920[ehufi] +encuukhkgf-fag-tgceswkukvkqp-752[kguce] +npmhcargjc-njyqrga-epyqq-kypicrgle-444[cgpqr] +xtwtelcj-rclop-mldvpe-dpcgtnpd-379[pcdlt] +nchhg-kpwkwtibm-mvoqvmmzqvo-252[mvhko] +uqtqbizg-ozilm-jiasmb-uizsmbqvo-122[ktxvs] +nwlddtqtpo-mldvpe-fdpc-epdetyr-509[dpetl] +wfintfhynaj-idj-qfgtwfytwd-229[efudw] +yhwooebeaz-nwilwcejc-ydkykhwpa-owhao-160[skuyi] From 4c238e8f76ab40daaf75abefe8b7598a666f7b28 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 00:58:23 +0100 Subject: [PATCH 016/100] 2016: d04: ex2: add solution --- 2016/d04/ex2/ex2.py | 52 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 2016/d04/ex2/ex2.py diff --git a/2016/d04/ex2/ex2.py b/2016/d04/ex2/ex2.py new file mode 100755 index 0000000..edcca8c --- /dev/null +++ b/2016/d04/ex2/ex2.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python + +import collections +import sys +from typing import NamedTuple + + +class Room(NamedTuple): + name: str + sector_id: int + checksum: str + + def is_real(self) -> bool: + letters = collections.Counter(self.name.replace("-", "")) + checksum = sorted(letters.most_common(), key=lambda t: (-t[1], t[0]))[:5] + return "".join(c for c, _ in checksum) == self.checksum + + @classmethod + def from_str(cls, input: str) -> "Room": + input, checksum = map(lambda s: s.removesuffix("]"), input.split("[")) + *name, sector_id = input.split("-") + return cls("-".join(name), int(sector_id), checksum) + + def decrypt(self) -> str: + def rotate(c: str) -> str: + rotated = ord(c) - ord("a") + self.sector_id + return chr(ord("a") + rotated % 26) + + return "".join(rotate(c) if c != "-" else " " for c in self.name) + + +def solve(input: str) -> int: + def parse(input: str) -> list[Room]: + return [Room.from_str(line) for line in input.splitlines()] + + rooms = parse(input) + for room in rooms: + if not room.is_real(): + continue + if room.decrypt() != "northpole object storage": + continue + return room.sector_id + assert False # Sanity check + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From e306d68e8173fddf3c15a0914a61da4045a5223c Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 01:13:50 +0100 Subject: [PATCH 017/100] 2016: d05: ex1: add input --- 2016/d05/ex1/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d05/ex1/input diff --git a/2016/d05/ex1/input b/2016/d05/ex1/input new file mode 100644 index 0000000..952eb17 --- /dev/null +++ b/2016/d05/ex1/input @@ -0,0 +1 @@ +wtnhxymk From 25dbce3ee26a808e461d716217183e7f3292994f Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 01:13:54 +0100 Subject: [PATCH 018/100] 2016: d05: ex1: add solution --- 2016/d05/ex1/ex1.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 2016/d05/ex1/ex1.py diff --git a/2016/d05/ex1/ex1.py b/2016/d05/ex1/ex1.py new file mode 100755 index 0000000..2768b1a --- /dev/null +++ b/2016/d05/ex1/ex1.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python + +import hashlib +import itertools +import sys + + +def solve(input: str) -> str: + def crack_password(door_id: str) -> str: + password: list[str] = [] + for i in itertools.count(): + hash = hashlib.md5((door_id + str(i)).encode()).hexdigest() + if not hash.startswith("00000"): + continue + password.append(hash[5]) + if len(password) == 8: + break + return "".join(password) + + return crack_password(input.strip()) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 418818088624c5916653e922b0011811b3aba9eb Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 01:13:59 +0100 Subject: [PATCH 019/100] 2016: d05: ex2: add input --- 2016/d05/ex2/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d05/ex2/input diff --git a/2016/d05/ex2/input b/2016/d05/ex2/input new file mode 100644 index 0000000..952eb17 --- /dev/null +++ b/2016/d05/ex2/input @@ -0,0 +1 @@ +wtnhxymk From b4235a9b3472ebc784bccafa1e4543bb52ad0e25 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 01:14:03 +0100 Subject: [PATCH 020/100] 2016: d05: ex2: add solution --- 2016/d05/ex2/ex2.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 2016/d05/ex2/ex2.py diff --git a/2016/d05/ex2/ex2.py b/2016/d05/ex2/ex2.py new file mode 100755 index 0000000..2709c4e --- /dev/null +++ b/2016/d05/ex2/ex2.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python + +import hashlib +import itertools +import sys + + +def solve(input: str) -> str: + def crack_password(door_id: str) -> str: + password = ["_"] * 8 + for i in itertools.count(): + hash = hashlib.md5((door_id + str(i)).encode()).hexdigest() + if not hash.startswith("00000"): + continue + pos = hash[5] + if pos not in ("0", "1", "2", "3", "4", "5", "6", "7"): + continue + if password[int(pos)] != "_": + continue + password[int(pos)] = hash[6] + if all(c != "_" for c in password): + break + return "".join(password) + + return crack_password(input.strip()) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 328ae5cc3b85a54b30bc5e52132462ae277b5ffe Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 01:18:08 +0100 Subject: [PATCH 021/100] 2016: d06: ex1: add input --- 2016/d06/ex1/input | 572 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 572 insertions(+) create mode 100644 2016/d06/ex1/input diff --git a/2016/d06/ex1/input b/2016/d06/ex1/input new file mode 100644 index 0000000..445fd8f --- /dev/null +++ b/2016/d06/ex1/input @@ -0,0 +1,572 @@ +cqvkxhip +tgswqbjh +ymbqjoau +yakqfnvb +klwpoxak +ebftersc +muhqajoy +sttjluap +nbfrccxf +pjtxsrdt +pcehiulx +imtchqqu +shtdcptu +gziwdtvt +gkisoote +dmodaoyb +mqykfphl +rchfhsxr +expmfmmi +eyyjzupd +ysoqeeib +phedgslu +xmwituwf +cibvkswh +dusqdmkm +oajlhpcj +nqbvrtsv +eytohbvb +byjvrycg +oorhjlll +bflfjdaz +wtydcsem +xinelpsx +bkrenkkc +kuhljsqo +fhkrtpkg +qkiohori +rzebhkwv +prpldmyf +dstdrxbo +jgtenhmc +vpibddhk +nkytfkno +hldsxaoq +qgwusrkd +xlsuudux +buxfxaiy +uljrvuen +awoyppai +igplagub +kqfiefgc +cqjukquf +djxuuizu +zvuetjli +uwcrclvy +gtdlktiv +cvwbsaxj +zpwzzepj +vmdmkgqz +qfsxdnrf +mhqtikwv +fduxoluy +emhhanfc +zglqrchc +jvvjspsu +rndsqnky +itzjeqfr +lnpslqsj +yxohoogq +oqmmzizo +ginjbszz +qhdnjnxs +mjtbhrzl +zorxielb +xflyknux +xrssqfpx +tcvrpzxn +sgnholch +nlpbrofn +qclukwkr +foylzchc +hieqxicp +nqvwnhpt +ssubumix +vtbpattp +ncgmzjmv +wtzedksg +mvlatfbj +ithfpwgr +dmqvfilt +lbnovpit +hqfzxflr +pgeeancn +rpdiwwle +ehkipwnx +pncgkqey +chzakbif +doooixwk +xztjzzrs +vhyqtnja +cbzmragf +rxqhsehw +rxzuqnoy +kvldlabx +crsslumd +cbxmypaq +qzevgrco +teiavilb +yjuhsfkj +asutrkwn +csgkdxtw +fbdppqjn +ivaewkpq +iznlnknb +btxpvjxk +rrpatocg +yxgkxenm +yrszvqpo +olhjkcac +dmaxpvog +wzicsunc +eoaozekn +oqbcrcje +jjpcwqae +zlyibfto +nkkarjbd +rrsrbrlr +gllxvuve +pkanrgds +bylfpxdm +tzkvedot +eidxawif +nwvcofjz +xkfverdu +wgncgvvy +epwrztow +mybcqyza +arxfmrfd +utcbwrta +iwdfihgp +tkskahas +vvkmupxb +ffetjcgu +nmaoaihp +wilheaug +pmshnqgg +pzbjnbtw +zlxbrzhz +xwikirug +rprmighu +xaaaioxr +mqxpjfgw +ejhezvgh +brjmtonm +wskkweze +kkaxuuib +mdrbckzy +idpwlzfg +fqfdktuq +jnurlaba +bbgftoqt +sgiuadsr +pwzcfnir +mytlszbv +uxcwljqs +lyrangoq +lnmbpgej +qjjugsps +kptbbita +sppvfzzw +ghkleimh +aupnupvy +tzxtqzev +dbcyghnu +qaygxqjo +vgscfmwb +raoylhwp +gewyhjjh +bsozmyma +skpkdxcx +qcngjsxk +xlznquqa +tztogrtf +bvnovdaf +crlrvjsq +afbpxgwl +gwbeomez +aezkolyv +cooulafb +dnrsyvda +ljudufiz +ctwxlryc +djmebdhh +ktoaoxmd +afqaqbbj +mobvjjyk +yplopnti +kwkqjzol +fcvncctm +pkbzlejz +axxxbdqj +gnjurhkl +qakjwsvw +vkoagapm +tpeyuvqi +omejmbtw +yhitogvj +ybpwtcvb +xtnuyfyh +isvpwgza +ozdntafh +hysgmgvh +zbgkvytj +fntphlnd +xjyujmbw +uvnhgphl +decpnkwq +kmkepzcp +lwegdttv +epkpsehc +uouovxth +agvppzan +zxllwuvw +ektemcjl +zegwoyif +hqhrdyzq +qiyxumhk +trbebaka +etjxsihf +yxjgfvnf +joywcwmz +teeqmoik +qjknvrmq +avpxxuni +naemzbma +jpbxexkk +ifevcqzn +tcnibepd +yzppffml +xhqgnbqc +lvvopbzw +pnzmeuon +ovzzvvsh +mcqmuqjp +oadvyhfk +tkgnxpyy +mvbisygc +occsftic +fawfwbvy +hqmqpuam +ptjxkjtk +hzxuosye +zingpdhg +jiombirp +vjtvrses +fdlzglxq +ggooqynz +fmwotljx +mnzzmfro +vtvjvcqu +kmpiufet +hwsvlelq +wdenjddo +gfqtffby +cxneiwee +wtribxye +gvuszzzu +pugjyrqp +yewglqml +beqgcrqn +azmucset +kicbbxtu +bmihylgt +edjrinqf +vvdretyn +zkakzfkp +qbraqzwo +ujpgjzdc +hdobaxgr +atghhhaw +ouucgcws +iodycvik +ljjdonpe +nnekdlaz +lbrzjrkn +jjwewnji +tfdkekdf +eidbjaiz +hssryuot +oajvmyuj +fziqlofo +uisyryfh +ssucyqxa +wyvmbyuq +fomhuool +scyogldx +uznjymzz +tnmfndhu +wmaiqhjd +jrtvsvys +zpgdzcdw +rpzjgslv +uulfdwba +gfctmdso +jcqqmnxe +hbzxgupz +zbhofhjo +szmkzygs +ydsnzkwe +djbctccs +utqjhlzr +dslwhsra +ujxkxald +panonqfl +brhfqycu +adewetuw +rzsxqpyd +ypfaxikk +vgoncwxp +kqcrmyil +vwsswwlt +bjxktjpi +lyzyaehh +noccjwkt +volhauxw +zeeaczxk +cgiyzqtg +wrflucju +mupwfuwq +tlgvwoqm +laybkcqh +mawgcbyq +ofuaudem +gtkhbeuu +svrzwaxw +ohqiojux +mnmttbve +jlluhifp +zuhdfnaq +hsedbspi +rkqoshpx +qzvdlvuc +rwbglsly +djpwgibn +edzgvmws +teacriww +gcvzijna +llokdnqu +dkywadmh +madxishe +feharxjj +sqzpbcgu +ohmflgzd +qrrsyggg +sxxrafvs +xnaterpk +tdiytzmh +wecsvxnm +uiksxtzm +ypqpajdd +fyaoughg +epvdtbni +pyynubyw +dpjdgbaf +vlomtyym +zpitxkwr +tzclhsoz +wduicuqg +sltpfxwo +iyrmivtk +hdmfndbx +znqwrzrs +fxktgznx +indnyerl +airalvum +jfsfyysy +svztyezl +qsjpktkb +xfujksji +jkymepzm +lrtlztdg +nluspned +huwocmgk +nygyugbk +ryzsjezz +uxwwczou +awrcdzad +tobynxxz +swicrqsv +jqywnfns +kdzvcwmh +gogmydcr +dkcuvthh +hkmraojf +kcgbpskp +qgknjgtt +oywbqczg +oiqpwmcv +fxjrhvce +laaizayr +xfcldeuu +govaqtom +dbcymhvq +yjzeuyxc +sejtfvqn +pbvavgov +tpitipok +lnfxhraz +whbqsgli +beuhoifp +pojyvmuz +yynnekkn +nxggwods +nkhpvkct +rcxwiluq +gnhsygno +nwwgewiu +kcbqnvcb +jiisqtqt +dochmmei +cwmwfrwl +hcautqpg +oihxktet +yrcekmmv +lxoyyqxp +vlbvilra +uqnsdjdf +jadyopgr +iwunbaps +wrplbwpj +shfuglla +knhgmlsg +riknnrmg +hoxzmvsr +qvqdqxrv +lyyvpffj +ghhflirv +khmzdart +qixervoz +fdgemrrn +uvnbxxpz +lqvanhjt +umorijwr +sgogttye +jlfgdzoc +barxtobf +czrzjduo +vlgkvnek +prknsjfr +uleiwboe +mxaswrft +ihqcepmh +awfqxael +hqvzrkbw +zwvciodj +czyrbdhq +ixhfswys +ndauoxcn +lhhwxiry +adpagord +suuxfdnq +nynlzhfj +ffmwgpyj +idbgnwev +wuculiup +cymyvkgm +fifqbhvs +ijxfzmrq +hugjbhin +aeffbcfp +ywxtejmz +qpprytsg +kcmlmbeo +ruomfeex +vvtpcfnk +zcihodib +nnfoffoi +rmldwivo +ejrzqyln +ifnjdpab +abiidqmo +aglmsjkr +xwqghpda +gufhhjer +ubjzhfgj +glhagkrm +wiwhahqd +lbyhcebg +ahhhxupc +dulzuzyi +xxdqhiod +ydkrksxo +pgdazjfi +ebrjoyrr +maejpwkm +xekimgsi +jvntcosc +wrfiyvmb +hfgzughl +wgbwylwl +tpjgkkye +wsspddss +ctoyeuvv +skjcqabz +wfutxuew +oqymawht +xeqmpvcm +hrmflsjx +rstnycbh +aavqqxcc +ouawtykt +kmxcjxxe +heudiqlo +srmiwwrw +ufavnfdy +xfokmkax +vnzztetb +goevrbmb +wfkthpfj +ddesetaa +vygkqvdn +qsyemmqr +iqlyiqtx +esvuchui +pfslklic +genqjcpi +bumqsxkx +msvbjoip +lghjsxdw +elukpmbf +qmipavgm +iafoaecd +usidajnf +vxsymknf +oyfjsysv +mpwtxlvv +kogsobli +jmgwktdj +rgztrmby +dnrcfisj +ottnehjl +zsqbinds +zmufvgrd +fcalplxx +jcwqwnvm +myjowlcd +nodixwaa +phfnpbve +kexcgape +ldmlswbk +naxeikbg +cgmlnbsb +vuwbdcnb +bwxbhmgy +ziadnccv +bacypeeq +tbluknup +btanytry +bqddnwwl +urieqmyv +csrdslqa +fsfiyiai +ceasodly +jetpbhos +xcqzgosd +ydqiuyzh +vxpzumjp +ruwlxvle +exrrmafx +kbfikzdl +bhvvzgfn +ivckwbga From b57e8e30e806fa1af0be1481f4ea2d5551b8ceb1 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 01:18:17 +0100 Subject: [PATCH 022/100] 2016: d06: ex1: add solution --- 2016/d06/ex1/ex1.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 2016/d06/ex1/ex1.py diff --git a/2016/d06/ex1/ex1.py b/2016/d06/ex1/ex1.py new file mode 100755 index 0000000..b4b854c --- /dev/null +++ b/2016/d06/ex1/ex1.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +import collections +import sys + + +def solve(input: str) -> str: + def error_correct(messages: list[str]) -> str: + res: list[str] = [] + for i in range(len(messages[0])): + res.append(collections.Counter(l[i] for l in messages).most_common()[0][0]) + return "".join(res) + + messages = input.splitlines() + return error_correct(messages) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 80095f3ee54d8a872613e657e00bc9df13c0c185 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 01:18:21 +0100 Subject: [PATCH 023/100] 2016: d06: ex2: add input --- 2016/d06/ex2/input | 572 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 572 insertions(+) create mode 100644 2016/d06/ex2/input diff --git a/2016/d06/ex2/input b/2016/d06/ex2/input new file mode 100644 index 0000000..445fd8f --- /dev/null +++ b/2016/d06/ex2/input @@ -0,0 +1,572 @@ +cqvkxhip +tgswqbjh +ymbqjoau +yakqfnvb +klwpoxak +ebftersc +muhqajoy +sttjluap +nbfrccxf +pjtxsrdt +pcehiulx +imtchqqu +shtdcptu +gziwdtvt +gkisoote +dmodaoyb +mqykfphl +rchfhsxr +expmfmmi +eyyjzupd +ysoqeeib +phedgslu +xmwituwf +cibvkswh +dusqdmkm +oajlhpcj +nqbvrtsv +eytohbvb +byjvrycg +oorhjlll +bflfjdaz +wtydcsem +xinelpsx +bkrenkkc +kuhljsqo +fhkrtpkg +qkiohori +rzebhkwv +prpldmyf +dstdrxbo +jgtenhmc +vpibddhk +nkytfkno +hldsxaoq +qgwusrkd +xlsuudux +buxfxaiy +uljrvuen +awoyppai +igplagub +kqfiefgc +cqjukquf +djxuuizu +zvuetjli +uwcrclvy +gtdlktiv +cvwbsaxj +zpwzzepj +vmdmkgqz +qfsxdnrf +mhqtikwv +fduxoluy +emhhanfc +zglqrchc +jvvjspsu +rndsqnky +itzjeqfr +lnpslqsj +yxohoogq +oqmmzizo +ginjbszz +qhdnjnxs +mjtbhrzl +zorxielb +xflyknux +xrssqfpx +tcvrpzxn +sgnholch +nlpbrofn +qclukwkr +foylzchc +hieqxicp +nqvwnhpt +ssubumix +vtbpattp +ncgmzjmv +wtzedksg +mvlatfbj +ithfpwgr +dmqvfilt +lbnovpit +hqfzxflr +pgeeancn +rpdiwwle +ehkipwnx +pncgkqey +chzakbif +doooixwk +xztjzzrs +vhyqtnja +cbzmragf +rxqhsehw +rxzuqnoy +kvldlabx +crsslumd +cbxmypaq +qzevgrco +teiavilb +yjuhsfkj +asutrkwn +csgkdxtw +fbdppqjn +ivaewkpq +iznlnknb +btxpvjxk +rrpatocg +yxgkxenm +yrszvqpo +olhjkcac +dmaxpvog +wzicsunc +eoaozekn +oqbcrcje +jjpcwqae +zlyibfto +nkkarjbd +rrsrbrlr +gllxvuve +pkanrgds +bylfpxdm +tzkvedot +eidxawif +nwvcofjz +xkfverdu +wgncgvvy +epwrztow +mybcqyza +arxfmrfd +utcbwrta +iwdfihgp +tkskahas +vvkmupxb +ffetjcgu +nmaoaihp +wilheaug +pmshnqgg +pzbjnbtw +zlxbrzhz +xwikirug +rprmighu +xaaaioxr +mqxpjfgw +ejhezvgh +brjmtonm +wskkweze +kkaxuuib +mdrbckzy +idpwlzfg +fqfdktuq +jnurlaba +bbgftoqt +sgiuadsr +pwzcfnir +mytlszbv +uxcwljqs +lyrangoq +lnmbpgej +qjjugsps +kptbbita +sppvfzzw +ghkleimh +aupnupvy +tzxtqzev +dbcyghnu +qaygxqjo +vgscfmwb +raoylhwp +gewyhjjh +bsozmyma +skpkdxcx +qcngjsxk +xlznquqa +tztogrtf +bvnovdaf +crlrvjsq +afbpxgwl +gwbeomez +aezkolyv +cooulafb +dnrsyvda +ljudufiz +ctwxlryc +djmebdhh +ktoaoxmd +afqaqbbj +mobvjjyk +yplopnti +kwkqjzol +fcvncctm +pkbzlejz +axxxbdqj +gnjurhkl +qakjwsvw +vkoagapm +tpeyuvqi +omejmbtw +yhitogvj +ybpwtcvb +xtnuyfyh +isvpwgza +ozdntafh +hysgmgvh +zbgkvytj +fntphlnd +xjyujmbw +uvnhgphl +decpnkwq +kmkepzcp +lwegdttv +epkpsehc +uouovxth +agvppzan +zxllwuvw +ektemcjl +zegwoyif +hqhrdyzq +qiyxumhk +trbebaka +etjxsihf +yxjgfvnf +joywcwmz +teeqmoik +qjknvrmq +avpxxuni +naemzbma +jpbxexkk +ifevcqzn +tcnibepd +yzppffml +xhqgnbqc +lvvopbzw +pnzmeuon +ovzzvvsh +mcqmuqjp +oadvyhfk +tkgnxpyy +mvbisygc +occsftic +fawfwbvy +hqmqpuam +ptjxkjtk +hzxuosye +zingpdhg +jiombirp +vjtvrses +fdlzglxq +ggooqynz +fmwotljx +mnzzmfro +vtvjvcqu +kmpiufet +hwsvlelq +wdenjddo +gfqtffby +cxneiwee +wtribxye +gvuszzzu +pugjyrqp +yewglqml +beqgcrqn +azmucset +kicbbxtu +bmihylgt +edjrinqf +vvdretyn +zkakzfkp +qbraqzwo +ujpgjzdc +hdobaxgr +atghhhaw +ouucgcws +iodycvik +ljjdonpe +nnekdlaz +lbrzjrkn +jjwewnji +tfdkekdf +eidbjaiz +hssryuot +oajvmyuj +fziqlofo +uisyryfh +ssucyqxa +wyvmbyuq +fomhuool +scyogldx +uznjymzz +tnmfndhu +wmaiqhjd +jrtvsvys +zpgdzcdw +rpzjgslv +uulfdwba +gfctmdso +jcqqmnxe +hbzxgupz +zbhofhjo +szmkzygs +ydsnzkwe +djbctccs +utqjhlzr +dslwhsra +ujxkxald +panonqfl +brhfqycu +adewetuw +rzsxqpyd +ypfaxikk +vgoncwxp +kqcrmyil +vwsswwlt +bjxktjpi +lyzyaehh +noccjwkt +volhauxw +zeeaczxk +cgiyzqtg +wrflucju +mupwfuwq +tlgvwoqm +laybkcqh +mawgcbyq +ofuaudem +gtkhbeuu +svrzwaxw +ohqiojux +mnmttbve +jlluhifp +zuhdfnaq +hsedbspi +rkqoshpx +qzvdlvuc +rwbglsly +djpwgibn +edzgvmws +teacriww +gcvzijna +llokdnqu +dkywadmh +madxishe +feharxjj +sqzpbcgu +ohmflgzd +qrrsyggg +sxxrafvs +xnaterpk +tdiytzmh +wecsvxnm +uiksxtzm +ypqpajdd +fyaoughg +epvdtbni +pyynubyw +dpjdgbaf +vlomtyym +zpitxkwr +tzclhsoz +wduicuqg +sltpfxwo +iyrmivtk +hdmfndbx +znqwrzrs +fxktgznx +indnyerl +airalvum +jfsfyysy +svztyezl +qsjpktkb +xfujksji +jkymepzm +lrtlztdg +nluspned +huwocmgk +nygyugbk +ryzsjezz +uxwwczou +awrcdzad +tobynxxz +swicrqsv +jqywnfns +kdzvcwmh +gogmydcr +dkcuvthh +hkmraojf +kcgbpskp +qgknjgtt +oywbqczg +oiqpwmcv +fxjrhvce +laaizayr +xfcldeuu +govaqtom +dbcymhvq +yjzeuyxc +sejtfvqn +pbvavgov +tpitipok +lnfxhraz +whbqsgli +beuhoifp +pojyvmuz +yynnekkn +nxggwods +nkhpvkct +rcxwiluq +gnhsygno +nwwgewiu +kcbqnvcb +jiisqtqt +dochmmei +cwmwfrwl +hcautqpg +oihxktet +yrcekmmv +lxoyyqxp +vlbvilra +uqnsdjdf +jadyopgr +iwunbaps +wrplbwpj +shfuglla +knhgmlsg +riknnrmg +hoxzmvsr +qvqdqxrv +lyyvpffj +ghhflirv +khmzdart +qixervoz +fdgemrrn +uvnbxxpz +lqvanhjt +umorijwr +sgogttye +jlfgdzoc +barxtobf +czrzjduo +vlgkvnek +prknsjfr +uleiwboe +mxaswrft +ihqcepmh +awfqxael +hqvzrkbw +zwvciodj +czyrbdhq +ixhfswys +ndauoxcn +lhhwxiry +adpagord +suuxfdnq +nynlzhfj +ffmwgpyj +idbgnwev +wuculiup +cymyvkgm +fifqbhvs +ijxfzmrq +hugjbhin +aeffbcfp +ywxtejmz +qpprytsg +kcmlmbeo +ruomfeex +vvtpcfnk +zcihodib +nnfoffoi +rmldwivo +ejrzqyln +ifnjdpab +abiidqmo +aglmsjkr +xwqghpda +gufhhjer +ubjzhfgj +glhagkrm +wiwhahqd +lbyhcebg +ahhhxupc +dulzuzyi +xxdqhiod +ydkrksxo +pgdazjfi +ebrjoyrr +maejpwkm +xekimgsi +jvntcosc +wrfiyvmb +hfgzughl +wgbwylwl +tpjgkkye +wsspddss +ctoyeuvv +skjcqabz +wfutxuew +oqymawht +xeqmpvcm +hrmflsjx +rstnycbh +aavqqxcc +ouawtykt +kmxcjxxe +heudiqlo +srmiwwrw +ufavnfdy +xfokmkax +vnzztetb +goevrbmb +wfkthpfj +ddesetaa +vygkqvdn +qsyemmqr +iqlyiqtx +esvuchui +pfslklic +genqjcpi +bumqsxkx +msvbjoip +lghjsxdw +elukpmbf +qmipavgm +iafoaecd +usidajnf +vxsymknf +oyfjsysv +mpwtxlvv +kogsobli +jmgwktdj +rgztrmby +dnrcfisj +ottnehjl +zsqbinds +zmufvgrd +fcalplxx +jcwqwnvm +myjowlcd +nodixwaa +phfnpbve +kexcgape +ldmlswbk +naxeikbg +cgmlnbsb +vuwbdcnb +bwxbhmgy +ziadnccv +bacypeeq +tbluknup +btanytry +bqddnwwl +urieqmyv +csrdslqa +fsfiyiai +ceasodly +jetpbhos +xcqzgosd +ydqiuyzh +vxpzumjp +ruwlxvle +exrrmafx +kbfikzdl +bhvvzgfn +ivckwbga From c8b28ef2ef6df7a07dec2859bf5df82d66dfc572 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 01:18:32 +0100 Subject: [PATCH 024/100] 2016: d06: ex2: add solution --- 2016/d06/ex2/ex2.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 2016/d06/ex2/ex2.py diff --git a/2016/d06/ex2/ex2.py b/2016/d06/ex2/ex2.py new file mode 100755 index 0000000..9028e8d --- /dev/null +++ b/2016/d06/ex2/ex2.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +import collections +import sys + + +def solve(input: str) -> str: + def error_correct(messages: list[str]) -> str: + res: list[str] = [] + for i in range(len(messages[0])): + res.append(collections.Counter(l[i] for l in messages).most_common()[-1][0]) + return "".join(res) + + messages = input.splitlines() + return error_correct(messages) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From ca6cd04d57482575183bb63adab9f9889718b85a Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 01:38:25 +0100 Subject: [PATCH 025/100] 2016: d07: ex1: add input --- 2016/d07/ex1/input | 2000 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2000 insertions(+) create mode 100644 2016/d07/ex1/input diff --git a/2016/d07/ex1/input b/2016/d07/ex1/input new file mode 100644 index 0000000..3089610 --- /dev/null +++ b/2016/d07/ex1/input @@ -0,0 +1,2000 @@ +xdsqxnovprgovwzkus[fmadbfsbqwzzrzrgdg]aeqornszgvbizdm +itgslvpxoqqakli[arktzcssgkxktejbno]wsgkbwwtbmfnddt[zblrboqsvezcgfmfvcz]iwyhyatqetsreeyhh +pyxuijrepsmyiacl[rskpebsqdfctoqg]hbwageeiufvcmuk[wfvdhxyzmfgmcphpfnc]aotmbcnntmdltjxuusn +mfhczaevladdsqawgp[rwabwdnwiytloldf]varesbnjnsdbsmhmsi[tyjtbpzrbfzbwlga]sznkksuymkbyxlykfqg[fyislgfghcbltaft]knrkzaldhauordwfl +piftqfdhtumcmjmsge[qrsntvxhtfurcgcynx]oyswvuklvtmivlhen[syqhqtijyiduoxb]pdtdrhijqqzvcnl[xivmeqcwyafxvnok]jvlbkrwbgcgzaqms +pfqiqyscrxhvtrjzt[unmovhoommbcckocp]ziwuhtfghcqhzeysdw[zmhlfonldrgkbimft]nnlbctvfpbcoqzw[zivyewjzuuvvasybded]mznpvozhzsvkdedqu +adncdhtushtvtfcbez[rvaycmplefdvbrchc]vtviiplkpfhsyhwzz[pdpnsseaizogzvtkcq]piorguaivfpummlo +cdgyiakhcpbibtdwm[dqmibwtfswjlfxvwe]jghsohdnnowueerunt[stsuvrwswspkgom]mmyifoverwkyjqfofhd +luqpeubugunvgzdqk[jfnihalscclrffkxqz]wvzpvmpfiehevybbgpg[esjuempbtmfmwwmqa]rhflhjrqjbbsadjnyc +yqdhleetfcqhdiib[eceprgdrrsmbarxdtbq]hdayiijoaaeumfwcdj +cqqvoxzdokmgiwgcks[jqzwdkyjpbdchlt]phkfcoalnhoxnczrru +uxpvoytxfazjjhi[qogwhtzmwxvjwxreuz]zduoybbzxigwggwu[lamifchqqwbphhsqnf]qrjdjwtnhsjqftnqsk[bsqinwypsnnvougrs]wfmhtjkysqffllakru +jfuokpqkhmnvixa[fxfcqxfxbmhazuspg]eqfpfndvqnxluairk +rvvyvofaygynnetjtry[kegzdkleyezldyeyn]erioueyndgksxetku[tsarhnyrbaubgmteiw]lbcsksdiqqdacutvc +kcnplnobxleghgdvuj[xmkpquawwovbgbki]ydrgjkuwsnowlxp[otgpeovujsfeshns]vqiwhcljdyfdrgpss[mbueikaehexofmdkxtz]mbgagruljphuhapf +dczzsivjatnsdtb[bqibajqrvbwuxqfbai]toipqjhhzoxwswm[qhcyajbtiqtvkpil]uzoshfoeofuimwkjr +tpyvbalbljeljgih[jvwhwlaaunyiycyh]cujlqqqupambxlforvo[eswlhhjbarxdslteds]fyxrqtfcbzimodoerps[ibxdqdwuouhweuzpy]eopmknebxbkadpdc +lpupzjmujxyptinjm[fuabibwthqibicvgd]dykosaqyoanjhbook[yfxajvdidqrxvbyd]sbulnzowfrqqvkyii +rqzbgzdvfozqjdj[ymsvzvqjhzvzmexeko]xzuzjbrkzveydulz[jqdjbpgldsvpamfk]dfepgnmeyjnunugun +uyfqyhnrybzytbm[ipvxhugnmquoqaunj]wdhejsfsvyurhkzbu[ucqkjfxlacfdypmvldj]mscvoriclxgvrbc[dcbnikphxidyyyuhf]tcqweefdaqypwhmsvxr +qhzpcaxmbfnvnwktcxr[vrfrbidnjbgvrbeycgs]feuevpahnefuhxruhb[fukhbhkbqwyxergyueq]uranatwcniqfink[zhgpiqbpjcvyrduzyad]mmtbqboaahhjhssg +jpgwqwifygprvkyvtnv[dkyxnvefvandfhkkzrm]mnxkwzpqfrxmlcmt[zxmvfefabwormvbobny]mcieumeekejrdqdono +vqlnbtvojgdtchb[otldofiavlmzmcix]hqidiiujqigyojgrv[ozfdaqeikjttcugzudc]jcvznucmpzzwnnv[blfzwhciaomuugpmj]aabnfuksfyuzlif +yjtasudlajobpswlde[sutivogsaeyvmbwca]nvifvaewslbeftp[pikriwclofnphifbpnm]srtjcbgjdqaesrqci[bjkdzzwsyvglijvahz]pjpcgkdyyjcwaewuha +lgxsyzenbcjgsmix[mitplziqcskpwiqtjw]emlmmeszibngllixk +jlscpqhpgglyyscnhj[otivpqjapmzdblqsw]ygtyjhqvwwvfgohon +aiwoefcwoeqwextoxp[bylubaahxfxiesk]hbrtlnaixkrcfgkjbo +wlmcvfnfjyytctu[ornmuojenqtnhbx]ztsljuxapzxyukrtrnb[vwyozabsxvhgfocvmvw]ycticvyyxubyacik[rnfjsgktvqfmdkcml]ywsfuibwwstugijcnkk +abpxdcnbqeoeiidhpt[zpwzuygklghkvrzsogw]mdmjoojzrwdqcywsxd[jbxptisjyvgicpqnw]aanbeosfyeptpuzmrz[pasvleayajolpwhj]hsbidwxbtlfdmsahbu +xnahkvvizpgzhrin[gbinmvooofzbjgcdbo]uitsnvqpmmlxarqcl[cewxdokvpkmoanrvvwv]kbtyedxhfkrfijx[enflewhsxrdwnjai]hxtiihnkifwudjfmcm +acvimhsygwvhjrh[pvmhhtqztwqubpt]uzliobrctimoxeoiwlz[bduywqgtzycnjdknngb]ryitwljdrdugakt +ymnekcaxqulhkukjx[wchabhgwvqfybkisuf]pazsmodqxwvxajwzmj +lsixccudoihndua[vsipelrpfkhgdcnqlu]fpbarcjzbvldiukpls[joopfopddwnqnvepftt]iortrfbykllelfxjl +yfrhdiqprjfauyzxmd[bektsogstuafoqg]rqwkjubhybwgynx[nocsrqogzkmarbrpp]aegzosyhbazgeiwwv[iqpajvjvhaimvks]wnzdupcnpsyxubos +debonekwvzpxvybs[qrjumvswkseqjyxw]xamljdcnwsfujegc[zpfvufucwgwiylbafpt]ljpnwlwjepkkkmrz +prdqamwjqinxgbaoadk[jhcsekzuowkdmalv]qkxdtqnnvgzthdvlnm +vddqfnrfmbxrayhmfph[dbsadhdnaweddhn]fvwaseggzyqhybmbdxr[brelmqesxjfgkkyyufr]acdmphljtmdqbed +xzkaadqxdyppjjbjo[jgqhvlfdunkadavlgk]guejdgxbzgyyfkctfcs[odemgpagirehrmvw]eommsvwnvwzfcdixuv +jtzkiobrunhacbx[xvmkaeifubbqkeni]jcvpmbogikakaoeyyoh +dmbqbsjtzvoiultxl[dqaxgsdilorzmmslys]xgbrocfkjvzykeibdi[wmpfporrraydnlbw]ijwlpgxgkqwnnwneif +ddkgyzloyuqmpfmkh[lzkztyscozfeibgl]gaftjffotluogimfy[chydlqosboyzzmr]hkcwgewogqoqusb[uitpcpcicongtyea]yqfhyvmgkzjwtbgn +orkkcvdlqlhfqlqa[iaubqvbcnvrmpwwmglh]coaqaptsgtmqghjz +jcndnanhbwehnhcjf[beytjbeijbnguvgp]mkepcptcshxbnbld[halkvjnlddwklzs]zrdtiljzrqbhdndkbjk[ajpcjssdowdpgffol]jakklxybkfnucyo +jjqtykjlcojqoct[cmamrdhzazqokys]btalamaxpmucczuh[wszyfvouajapfhpg]ygdscjkayhorchmymhy +onnnswceyplyloumr[ltgljgpirbbxlub]kbxkwhdbzatkbumifjb[vhomgfzdjrwbzguyl]xujmkylyebnochax[fqfilhjsiphqmzmn]fpzchuqdipzcqpvcz +ywzgwsuhmwsgzupkaig[plpsahlfdhwcrlrqve]xkggwkajvnvpycixo[qjjdachchaepdoznnrq]vhyjryuznmmidjwu[xgokmyzasviclrx]woeggmgymxscsrui +smnpfwpccmvxfqn[qihlysmekydqirolj]uxllbnbvgglylumfff +bttmazihwuehdishz[gsgmhoykohwafksz]mfwbwxsjwiktfuzsd[qbgwyirvwgqtnjqaci]zjmhwxbeqgkywzsr[xgaqywmxwwvmbvhfw]jpnhpbxgygkddeimwik +ldmzuocyrnzdhakjzse[ppgxqgikmjrqzihzpwc]qyqshpkjozbkhly +ssicxauklehzpiupttz[jhbqlekjlmyixjmsrs]gezsztyqraiezacrw[fufxagekxcjkitbwu]iqcpuottliyomcwtz[znborhkssbfnimmmnr]spouacvbtmsazalyda +famzonefhforunhtd[owuhzhzqwoqtyxhesd]yguqsvlvmgtwhnskgho[pbwpaxplhyjhwdeqmqg]zcwzcpbvjfrwrid +cmjurhjdwasrycqzvi[bqmfjzacwtkbrcft]coefqplcsmyfpwz[zacuicaijqnxnzpipkm]xamuvakzrbslxcpoaz[klkyjtdtixegxfzfo]araxxhimzpxzfemqt +mjcvtxqrgfwuqwi[bagssstaejvtvovwtyr]yuarvbemllzmdnhrlix[vjylnmrwtxanvnw]nmciwxnhstfewwsfb[nsehprwztzxzlrvafkk]uzbqddfvjkhdjqipd +ovdwbyqmktavwkj[hefywqwkkrwdxnl]nciedxcqcjqhlaf[taijxnltdqsatzeeqeo]zonyusttdrlngrr[uumdxrpfijzyebk]pphqrcgedsxeccumx +ejkyocxvrrnvjebi[xxbrqfjfvioeudl]paqktsyyzftwzrwuvz[fovmzndymaghtnlwdg]agzxlvwajfjwlpr +wvdvygmzmktdrxtgmjy[kchjyowvnqammuzvkk]fyckvxklsszmzwll +cdnpwnbhxemmepujow[wrixzvcpsrikhpsq]omaabsdxnetrwrq +leaboetguynveaz[wlcfhxctvyevodgyc]xdakaignnjddlqi[awywkcfphkpginui]tedwnotsosrccwo +zhbrfjteukewbyat[vqjocsibxseigjfxoa]ojmmarxegluyvzupt[hbldqxnawkhmibaae]bjjckqrsazjouralfw +dgvrgbilvhldmar[enieyduhokkztim]jpkprhewxywqukwtid +xnxmuytwhdnzyugi[czbpsumbqaylwupbs]pjlhtlexldkkpkmlhau +xvzkguezpnterhvqs[mnqzalsoknklnaflvh]rtolsgxxzrqjtnvzc[jfpaqzeouwbkhpixpyq]wooptrtquhwuysfxg +emzjmkghmphddnpe[xnsrvfvuexdixnzvdqz]ggokmrrmrkcemefcic[fuzcjqluhyccfzgfzy]nambiklaxsezfkn +adsvjhmkjhnqdup[pbkqdnwwbhzcxqc]ssouezrsdxsppyohhj[ymvmdarkhkvrvaamlwv]epbexzeygwnvawzzcn +faojcfetnpzqhxh[urmkznwhfvnpcmptht]whnrdwohhyuwxhxqc +djhfybqttcmazgjms[wrjwchyxkngewcmrm]gfiqmemzdvsjrdlswq[toxvjuiditqbntb]tqcpsbfpvlhanxlhopw[ofktzxwdcmljtlnd]orfocgvetzomhrwmt +aevqysekchzrbxomo[trhevoyqtqdwmkkbq]wjjtvmqsdldulfybmqd[hqlnkjuxgwjhuoi]edgyiczrcwembzfnp +rgxsjlqvaenawsfdr[rogpvhiizcobqkcsvf]duxmraoupffkqrwhyxh[dzkkxkbocmwtcfjray]mumkpqyhrpjlkwfubh +bgijnqjisggilii[wwylzojkanoddcpkken]cgdagihyoqsyyrggjhu +ldphrnjhmbidppt[yvyeaymlyqtjxjkovam]oyaxmvohqlrwyhmeci[qhplkgpkynhqosermc]iguibzldvaebrloyk[ghrvrthfvmrojmn]ubtyfgwtmsgjklp +hysatjfxaqceobaz[nrsepfgsopbfpzis]kgukfiivvuiahoyk[sebciogmforvdlxwkzk]iogzfnpcahewlecsjpc[kzkzpmkodhuipvb]lfvqydketkduflwu +vblosnirymuicpwmwe[ckntmamomnqinmm]zitexyhmfyxqtbvqg[zycypifftvrxoty]rthymtrdqdfyxnc[yolhcsykrxnvenwxag]jarfrzrwnxsfqgarymq +gzqrgwsrfrevuwtrgt[nkrldhypaobnvyulazp]rsxuftqahqoyehzpmrz[clmfzlbnvdaaezra]zbqnwnshukefmycxpzl +imgwmbzivdjwadkdlt[kjzejqvbppikdzymeak]gmmnhqophwsjicuaxp[nuxazwvjncfwhsgn]vymrcinchgfnifa[jczrldtyugeorvb]scrhgmywuapbzvclxlg +dofjctxuyrjchwrpdkl[brnplpgotnskwes]vvihhgixtucyzvdye +skmzxzxeqquisgwkhsw[yzckgfxeosmjbxkfmx]udqmaruaueaxatnw[atrogcjptdklhsg]dheqjxclyqigpla[adirtsgajgitywo]fstkquetdtfhvph +bzoyoxbrumgiunvhv[fxbperrgswglsxjto]eweqiyvtccskuaghfx +znyezhifnsgixsvwmr[rfwhcifuvtkwwsm]okwmuvdehdqhxkczzme +npovmoobhkhslmxazaq[hnnernddodducatr]mwkdiasdfyhpbqwb[khkguvkokhbceofttvb]pgqkapzrzghujijhlz[thncbcnuygnnvybjzai]vdyajjgppfpuixs +xxzgpekqpxwhfozbt[zgvyvxihkzjzsfnnnwn]tfkwricyhmjfwxdwjcd[yxrwotzwtevvehx]deilwqoottgxdmblo +rxpnctughoojauq[ymnynstdvvtbjmxqln]hdbiyvnraxeteryhzi[bgoswtnswognoctviu]pmypvputmlimumga +wcmfwapygnpvwew[akvlgkchxuqpfwoghcu]kcjxzwdodqerosvbpdl +jqlvhzezsscyxfxga[swwxebohyryvusyuzd]avwgqgeeukqobab[vzdarhiwyipxvcme]qgqralaboegfndvws +wpysxgsaadkfzvuxyfc[oxphlawnmdvtuonq]vrmhodrgdxihlljjks[qrciwycfltpzxoqzpb]vwotirwufxvlvywmgp[buoqvcpsflxgjhzx]eawcjsfqbkxzdrxp +dcnlzkpryarqhsjizcu[rgsqqnkokvhhbvz]vgjebgdyxlcpamdlt +oscjvafazcqpyyysd[zalbkateuzykfjrhgme]hnflgfnktuwpclgejk[adnhrzvebabzjrrjg]bedacrdqfqiikdx +abepeqepsrodomnak[jvthiokzxflwkipx]crjfadqsododlji +ruvgsaerecttswms[gqkzuvludstqgln]lxtjimqsjudwtqe +uzlojjhajzvctphb[yuszzigzwzsbaobd]vmtqeuowoffakchrvh[ejulqoemrctxxnbkpbw]ffkaifasafpmrvffe +dawvqolctgrsevs[gqmgzeqwzekijchq]teminfwapxjcqwpvkn[hhmtmbgstwzgcdpwvg]qobwjwemngcocdcrqt[fuhqgcmkjgrefsydb]zsmwlujnogsplwn +kpbyzinddaukeapj[fifncczyxmxohkwkex]gsizfhsqqezccnkixl[gddylkmsbnhgmmdg]uhdjrjkfqwjtbgazpsq +bvovbtuyoemgdcjb[apyznerchmittvx]jevovosnotkjipchj +wvgfjgyxjbbjywje[ngkxoibvrzftplcbapf]qihmoemrbuwfuqsqs +cbtddsdaynshtqldrfw[clmlzqfzympgqzgiwlt]jnimkwrncvqdlurdlkj[whtoxngpvkjbedy]sdqiwepioctrcimlm +skiabiriqavgdea[afznzrdsyrkreznck]kzcbenhgxebxxywrzlp[cjicuqzkqmjybeocw]uijaysqzypkzencaol[eckqilihlbpuxee]chnfsqenjrbakbw +masjjgwsfvaupazze[duouiugjmxcdvdyz]ivmhptgiftmsndqsc +eousittpuhipuzco[xbdmmuautcapuiucoav]ejzuodgphfsbwztzer[vwdwontbznzpecxjpz]pwmmidlsgffkwdcgso[gcoymlqygeszupglrha]mrqwchxdmfbzpvfdu +welumnxwbywmcrd[glwvpfvcbkbmbbtmuh]fsuxtyivezoasscwiib[bgbfxrjpfpzogqio]ymnrhemmbezoffjxqv +issfcknutopfkpdqag[rxqycmcdvtpchdywmoy]uouclouojpzhqomuk[dfplomwsxnbmcvubcu]rnefnxjibutrvrv +xnpvlhvsalwaubmln[rcqqsximsjfeknqosa]bhiszpnptclvxyhqbo +oudmjuxtayalgyompif[sctohsgzvaqbcmsu]rgiecysqauwoacafh[ykjevkivbdvfnsbpdo]cqhhfqsjskdaaymlpqu +konztznxgyjsvynvl[fjejsdhfcynplct]fdnapcnuzqsgwxbdulv[fmxdbdjrhtqglsvtwwg]xumwevxvrhwrqblhzbh[paxrxvxynvppmwt]znpjdeeqlribvbqm +mwhfxuroagrbmhgxc[dtdoxkrukhsrocnx]kwhjhmwfqqqvebvskr[kqxprhgexnllyrqplh]nmzxcqnmglpbbgxws[dvwobogkqwxnpjfcvt]wrbwxpogqbczqqnwb +mngdxcpzpwmheirqym[uvtysgaucitudimvt]moznhephcjwymuwtmsm[eibfppjufuepsvbf]iykerwlljdnlirdjp +qmtfhhgdyurikopt[vvhlispxbcipouagsvl]dbbczjclngkukij[qxzldytzxdvcqqnek]xemkoetiopntpjrywb +hxhejzmaoxreboml[rbgxuwzegcgcpdyydeu]tbacjiffhhisoibj[jigdkiiujwnnqrnkiy]eeujbpusmuduvbj[frfsedqvbugeqijl]yxsietbaltkykdwkq +hjudkljvwtoyedw[iiczjllerosvxubjick]oglveoyhwsvhawbyy[syfrqdblxizylnhylfj]cdiqncpqncdwuxerk +vgdohjnsmlxjagkm[ahtiolxvbvqhrvadicd]vzylvdgblzozzonhcr[lzvimnrevjuecccy]ctvctclxvhnpjsi[limegkztspacyihizky]xcvsbjeuusfbhbfl +ffgwbkrbwzxtzgvu[rkojhswsnexezblqb]ethiuqqhcvfwgafda[kieovbdkfgrikvq]mvsrhyhjqbngbhijyab[zafpoxjiqyqbcpqfoq]lrxleooxcqneudswwba +thykqbpqqdeflezird[glrirsesytbfcbkrcz]jqyfcobfamdsbtucmz +qtxpjvymmuotitlyfgz[yoyljvzaxmxulitijln]sntnrvqhdhdswiboa +ywonnopaoujcvltfb[fnwpmgwclvgpfqx]nxbjaeppndbkiekyp[rlexsyhmcdkwcpvcbid]ybycnkpuwksthty[utrpzuduegsgraq]eizpzexlyfvcrce +yqzrkfyowwpnulucfu[cqwnynjfnknpkrxnppm]bntpzduqgbrvedu[rfiodsdhmkwkgddyipn]xttiifnwezvzmhpnfsn[oeajlmtgbvduanbcgy]varlhkfsdswrttw +afnzuqxoswagwxwp[hvuypdxifaauljeok]cyzzunjtthctczjw +macgqhnqyyhwgyxhlwy[rdxwxinerbwnajpdnh]cukgufthqsbdtgna[dnrlrihvdqjrjafello]vkmjphscfnspebj +bbvqhfkhlmpfsfspbsu[ttsgszzfsfqukymfg]fgjqdvvxvkxgaike +gtqwsockenzoqprnxf[rrvreepoqeyxbhy]vdlgcszhwvmzjrkst +eyunqqdlsaasqfbhwpc[fpmanqdfvhrosxaptp]aeyfdxouzzuuuxteclt[ganxlwtfygldvdhoquf]paymaxgcegdvovaqxya[ylnriprhjdnkuntzp]oqfodnpayolcntvpo +xlmzirbazxeikyov[jafluczjpgoppdv]wpbnattlwpfonwsln[dkcpcljambobjlxoz]rmbrtcbiidiofcsnpcp +bdiazfdiaznzuhviya[qvaxddebkudpylw]esoxozfgnctmthko[tszqyjuiouweuex]spaloyisrqkwmlwqop[jhyrcdmwtpunvgv]aghnzwzfziovpby +exhlgxskaluroigi[issotyzfeuktpazmg]lefetopliispveyo +qhedwduwbrvwkgnc[phirkxjtopfwrpqbldo]lktemuabdcqtihin[bsmfthbifngaguzsqva]oqvaqhlqcwyvawsnxs +pbpsdnornxrjozbhegt[olfscmqufczzthv]sjrnzixklvlzapmv[boflyiiyupvpoyyo]gagojlnkgjkidipsfc +nmokporhpsfajdb[yauqisvxeepverq]rmlabnxywomsaugdzj[hibcctomgckikcfmzy]vemiqjrtjlgiwcarwr[prlvjrztviircighg]qghoqguorcntvpnrdm +krtcbbrzfpnutjmvml[dpycsjtwqmbdgbgaw]bentoflqfsbajclsmv[gobkaxznkrwpwzwejiq]iheshnkjlqmsuqr[foyuhizwpcuxxwmk]ndtekfmhqmyffswkit +mwhmprqlbicecqvtmd[yvzitcxlixddefl]mrsoxducmitngyqzex +zaekfciypethndkxng[xyrerecaoadplrxu]wwbpojlwevloaowp +aaxwixjzsywaxacffnx[kghdmnhzhvdkbjalry]xellvvmjfhvbbwo[hvuqhxttxxuczlvq]rtlylaawqdavxbxs[abrentknwcqeajht]xbmixodoelofciwi +xzgyxytmlawnzuq[axtspfxzcdecmqhtxni]sthxnxmrqsfnojznl +sbrrrqglugswcalnpu[cypvmleasobtxglz]rubtikwponjpygrpods[fkcbvemfmsnlaxtbbv]itbrljspwqwonesa[ugpqsiwkfirpsifzigb]zzjwlinbpnpqanochi +ewyzepihewftallbppp[dmusynkrlcjtjymkzd]kjnubfdogkyyklwtoh[fralfdypbjeheiurvnf]cmdkpuvqorhbnrjhcus[nfrvtakzephycjks]bhabquktacxskzn +lfkfgoopzupmdstvovk[ynulfxmlxxrgxktnblv]ysbzmdnculqmaipls[puivbnutzjpptsfo]hhoqmaddyojnqjrq +yfebkbqurmfrmhtef[rppekhnstwajtapy]nkinktqcskbkhhswfzf[evbbssepvnbhmqun]veuepyjscbvprulw +dthgfmgbcmswlgirzy[ndiyhapijewwwhfc]kcghgrbsiarabacidhe[hrbwqqogmxoltbahtz]uhucqkricfpnbmbknig +xhzjxisrjrmppivs[tfrqpkngwxktxruuhzz]bynyiigwfnyncvvk +pmwpmupkguqbsky[iaomwdcyrvmeuaw]qambqcegouwexofhdr[zcijhkylihbrfrzhkbd]hoefgnszemrhpbvkn +oswxpeqgrfxqbtoawmp[bjhluefvqnwayglbay]qwaaosxxjyhubeam +pskzvkaveuiqmcdtacw[gonjldkdadihzitu]gohzbpcgitymoezf[aafhleymziosoakv]itzobpndogizsos +dclorjpgmzkijqcogvm[vjuqusdqplwhfccbkbv]lppaqcmeofuushepwv +rlzumszktwbradmwmp[ndzfzkopggqgiuf]zjhdczzzhvmthdmlo[gunuhcopoplidsqh]juvdgjetryigqnz[hhkelquosvkxsjqcid]rkqgqsxeyjfryie +dfwafklwslgqlwdj[scdodzzvpxmtbox]efzkljhkgjoxjsm +wwltmudressaujd[isatfbydjfsuwccb]bnxjnaoqnpvuystxjfe +zxxarkrbglfaupwb[oyvmeuaxplnigfe]qvprgchmxnxhxlnnz[yisnizxuznxzjuccpp]pxiergvbnypqrlsnlt[jvevjsourlxfbrmghfo]gsslxevezmntlmvg +asmwrhdfpqqnjlgaoq[uxfaucpbcldnlwrita]cvmwfnzblvtiiiw +dfnpopgbztocncn[nmwyzxkkgteplvfouk]ppigwyzpisfxzerutrz +vhlclydqrizzhfqli[wokplqjdpvkiggkuuiu]sevdcdmojagvibampfr[zkvosnaetxjccbekng]pprvpwynxijmiuxewrn +bbcwgonotdlpdyhbvb[vqkgrsgwlgmkwsuow]xjiybkdgwrbolgumeu[hwxlmimvogwforsbq]furdbbncocabqpqqg +ldjdqdcnqxdrajyjxog[dikyzkcfmgvmbqw]nicncxntxhynuxeit[phhltmisoimfevi]rhjmrdqcgconcwyfku +kacfuoqjojzucqhkr[smdyoyrrebzzeuexmav]kzakixjfsueuvfcisqp +ypvcehndzdalgcum[jygnxqirrfjlvfij]dwxhniytkftkleaacbv[zptuknvpbkibfanuxbg]ecepetplrcuvfcuz +uxlabrufelyjweuayuk[jgvthofjfbpvzlq]bfhbfaahhoiaqvbcr[nhanlgsaslpighdvrl]xwrprppwfixesvb[apppspvbapdimzvb]tjnnhwrrptfpwoop +fqhfwrzevwjlvifxf[brrakqkrjuncpxfkklk]ymmhjubefeuxfltfrk +xwnjibdcynwowxjcb[fjegifzzantoxup]ckhomhhmgifluuean[vvjfcttvlzfbyhatq]yjpmzqmqkgpyrporxrf +uenyhxniyhcsfap[pisvtmmwtuuwrmcdbi]hojaynbmzgnzoeicc[ylayyajfmizvexkx]tnxofqvvbjpfvdlynis +cfpxjmrjwhaoqiunwjy[namtaykbooqjrumjxsq]zorqvqjqvvciqbfafwn[bsilqoniwqijtwybafa]kwdufaxljviztzegag +xiimagtyuhyukglbor[hqfxnurddkcrkpy]jxvrmygywcmwkrs[ndhzsfecmdpzmmsb]jbwueecsskxxhxjq[orwarwkwmbwwxjyqsmw]nuzycexxnkiswdmoxew +bacmgkkeiltogni[libjzrizgyesnur]bkoorarmpihwclq[kvqlyaknqrbupaa]xzlmlppgachxholdvva +psedvtvciqabqvxxxg[bayfasjmnygrqoafa]hdkicesplpwabeypino[acxropsbfnrghlr]lyfxnnoueigblpziaan[yxcbicqdfafdipama]ugpmlidpadbhggdqrr +hthxxqyxlecaxlu[wsdjrnwtpnrfimrkh]cdlqrxlcvohpwzhvgcv[mparumcagrwspag]qygrqxdjqhmlaxl +bhlkcvftnodbxssb[sjkgwudvmtdcuirg]gnbibkntvobivugfdcj +psebepjizglzwvjo[sgoalqrpwkboxuyb]ufmqihwjkndweit +cpjonjjebakmiopx[ogrezailvrfeuqvr]ukxauulwfoofbjqj[bwtqbpbrsjongyolbb]owavyvhfpngnfpfkf[fszhirbmxumnkkmkrd]aielausdsxactibzz +gsgvofmhdputlbje[xnbiecftyiamuryl]dgyujllztrzgmygn[lbiqazwahpeyydpuu]aeptghrarasiyvax[ddchznzcnljhcvnznw]zucuhesaplunmzqzk +usrfwbgjbdwiitjpynz[asdcjoqldirolmdq]vkemspjcbhskuprotih[oyieubfyysxxykmykw]ahuonvgzuegarlmfs[clohwohtzstznbpumq]aqvtshgthipylzb +ndbyoadclcrwzkretvm[kmejnhgyxizgyipjkrs]wyhktyzlwqajfccxaz[yedvevjawhxbfinjn]jpjtjmsqovcyxmdgozf[wgqqvuvqibvxhlxatsh]swyzlzeedxshxpkut +dbezygjjszcpuweafm[ylslhhiyayzbvoju]fncmjkxkmjcoyzw[evzgryawpshvcnvrkvy]coeuqheykeqemmgpqp[ynmxkiylwwulqrixbg]rdkhpkepobzgqueftrj +zruoldpgszownawj[wbutdvbvoduhocqxibc]jogjzknvedackjj +svkavmkbdefijojmn[wjxyyozgjrrwfefv]fkxmqdfagnrucgjkft[wdvqtbsqzybgjbrr]zqiywnthyquzbfazr +ekegzpvczwfxidfsm[htukydjboakfjzj]giayupkkfrgxmrd[ycekmgobzcubrgwinvx]uxzoscncuovpmkw +faapviuucpwpvcom[idkmvsqvglrhesl]odnzdatmvqrbphxn[inymovkzuccdjiry]zlqwpwjpgztrrxap +abhxaadlfjigxvlsun[pqyzpkpwkowxsluejvq]quellqfucyezsnr[gawnyuikrotirbxmik]mywshpxaattwyoll +vtchbuxsxwrgtpikgt[pitvvodclpxlscpxux]ktdzngrvmgougfk[wfsydnkfkbfxtzvzr]okqaxqxggnqotnqloh +cyehzvoudpokxuoa[yyvmrzcjkbulqxf]wwoungdrxkqxnlij[dtnbtlpgwogojuqbsgi]fflfngykuwmshcfq[uqjdgeigsyothkjp]elofejydtxdkxji +sytlqrdluxqscdkgupk[abaeadynliiphtxcw]mlxmlqypvhksqjcaie[tjgyqbzvmhljbspqq]dxullfqoqykhvihzri[aefpabeqcacxtxrq]yqztkmacairriptlvoh +rbyamzwejefygxjbep[jqcyfqsatqlmraqrwxy]nblssudmsdvhggtghi +uqsqnsrdvvypbfwygq[conucjfqohipbigugo]kbryjuucknilfwnxi[eqyfaiumekxelbjp]tuhqpgajrdywxkcpf +szxcevdnwzuuhrlqcq[ifonbuprdpcqxjp]wuzdncxeeogyijgtcam[khvubdqagfoqfvw]ejkagvhvabxvtdcy +buegkequpboaqwasm[rmjmtzvlfdotsay]mzuihphpscsjrfflt[hmxkyblbscqtzrsn]oyqcnwceqgtcskjsk[fmmsqitggbpyzkhjz]axsoswxaptctyfouv +fxwviwikodgelpdbh[wsygeahvrhpwoldj]dcyrkqcdlroxtgyz[yddvqthgfaawazm]dneqvskvumjrpspk[krhphonxbunwktu]bvsspzkchjpvthihgh +frdnfohwfhokwwwrgmn[dcepjrfrnwqhcehmzk]zibeivyuilnhsyxfz[xodqjcsdjgfqkowpyag]hpxrerdwmrbgfmp[pazuoxkjvdhgneoxa]velqceclcylikkuej +chppvpcrbnousfx[zuprslssnlodywdyccx]gwovpvncmkvycrasprl +ivovzsgupaxkftpfsd[nyosrtsafzhrfbpzhu]uhecbaryjpacwhu[gdbhfjohuydfxwxjnv]anrssbiawhjpbfdcyia +yclmaozjwaewdsvt[lawlufoigqewpyzbi]ebtpvttkpbkmhiaqnuq +pfoddfvnxvxmtxdc[nsnrmuioammhryi]lxwcfwaltgkqbmaoca[yofdzbbbxgnxhum]hnhglanvvvjwvzoi[ylznjawfvwvaaktu]strvwhplwwqfkbectdv +ebswffteiyzjdxqnbr[kbrlmbabuqkmqkt]vezwpknesjqtoqsiao[rukmiqowjxphyjxgeum]vpyuxrlzqemneszazdt[iftcqpuwiupywdrij]vgiexmeylkdrdpbimy +zznfpdjhwehjrekio[rfzhqtkvlxnmaoykpyk]eiphwjykjtwdfmzn[cjcktqorqdcgsfhp]ytjhicujvcmdvimud +bklyeitkmkcunklwdbz[lkpxawzppkyoszmrsek]bzzhzjrmpsnxzmow[rzhqmjbwmzqccdd]dmkmytarohmwluq[iizwqrijhywvust]ghrbwjcqrdirbuev +uxhnqaclvpplyswyfx[qclzizgzasqseoohop]ulafsumzofhobslya +rzaderqajvligrh[bwolraeedfdvximqy]rhgtebsqviituhr[ymgtrumysaknzdib]tmltlstrwktnjkngrk +xviwxahequunkgdgys[jjtymdnoukpdvvzpv]yyxbhwqcnvebxorsj[vfrgswakertcxas]vuutyyarrfgmuixyyc +wrwtllciokdjnjou[ahuansgeambazcz]csnyldeozjfgbmo[cakhvnczxlrmiheymbd]qnoxwzdljkganxlaz +lrrikocaojdoimju[hjwboxxgquvfyrwoca]usfiyepgmwvnzwct[cnlpynvnucyovktfldc]edfajghcrwqfrgfeo +hgdazmzmtaqmmjbct[ppopcisffwtmethss]ugxywxsieevpbyti[cfxomuxfzwkybhytx]ebkrjwsnhslesflxqjl +ftnjlstckktiullwml[ecgpmjdxwsfhewru]xjrlvnekcsudgjb +mxeakauzwowadfsafb[qzipuaikddshgzw]gfxgxjyrfpitkvfijy +ahjnprhifrtwtvcdxm[dnufatnvmhsfrihdkud]nvbeloqotrzmbasyxyx +gjbduobfawxgtnh[qpihutgrkmmfomka]jopqegegbrbafhcvkgv[dazjbspaonzudcp]vybvrajnullprlanz +zhlvcnuwpwiznxjlw[hmotimztpkhouwpy]gvikjywwiayvzpamzwo +ekzkdvdkvblkxguiit[zfhvwhwrsdfrwgkwak]hlrfndtnrhrmulwlaix +ybhgragjnlxqryuiz[twgosnmxbsxtdlewnfs]honljrzgkbkcduy[zoawvjudhxjxluztmlt]dnqfnzrlbavifdcb +enalfaudsmavqtvyml[ijktirjvhqwzeyluf]brsvbvztzozgzduq +yuvyvwpiagyqilcht[acwlphdworonexdq]hyariwaaectsnvd[qjlezctzdwcviwgw]slkjdwkcjiigegmj +wndlilfhdypfine[pndgdkamnqvfubkcfrm]cpyjzyzozvzentk[jnirbvwarvvzvlsr]yfstcnqcawbauvv +rmhedyqydlsyvcbsir[muwmpaqislcqrqdqs]jjgugfevvagxbslkhc[adbsiubkvwjedghe]roenuhwmawcqfxqhma[yawecjfadoqcyileyrk]asykbjnvsvrwkcufov +xcxfirpkfxzmwltkqz[qmpucfqvxqbqyjjqxe]tweeuxszykmntphoryz +ajkgalozbpjubdaaiuf[mwwzyzyiklyjbzs]ryazgtclfuoljhvrkmi[bngsdvhrykmmupdh]hrgdyujfamegyonwgl +vwfnvvliisnjugfnoto[urdrxdrzoxsouscldx]hlxjmcsdwxkzbngz[vtskhvhnxngfvgmzpb]nprnmnebomgtqnizrp +gvjpiasaehzoyicbu[nsbxgzlefrgygvqhsbf]ssbpcotcqroyshrosj +uawmzmtzxeeimmngmgh[ryapdcoximrrdjtha]vysalwcewnumqixfa[oqpkupmgiylbfswbyro]ajmxniiahcupryqmwdo[jpjzanroupoeyhh]hkgyybebsurxjyl +gfhzbwqevayegvwajl[iplwzmausgdmamgu]xxqbdfgwnmitoopncmz +xkjzxdynolwurfpyznl[etuwbkgomabfkeul]tlamnotqdzsewnbyr[vdbnclqwaaaxqbwind]gdnogntbrxjtffss +loomtnfopfoatadpda[yrllbhwyqggwumtby]dzkfgcucuioumgcms[ofaxsafgqirwbwvudo]zwrwtzuahiaxvqkp[fcgppucqubwuuxw]bwbtvulmrspxiit +sgryskxogdxkfroa[cwakvuxvyghknji]uviztjnhegsgnlg[hkhtkfhpcsqrsux]gkiwicqpagpqfymw[corgwvsrxmthgmr]imtkgpeavjhdktlh +dcphytnerlqeyrirgv[pgnizijuiukiewwzek]dvwifyrfprnmbuf[ncezizgdzyhfcfooyzb]uubjspkjmteaiax[pfatvltyculblwue]sxbtugwzspmceosme +jwgpsxvsxtfhaqecez[cvkhrsavxildwfoxur]rcvmfzfbqrkgrvvtowr[jyzmvtsrvtmllvbjjp]wobjzludnkmjelfyshm[tmdnrzyyehzrppzh]mrsqtstndopoytl +nuvyxgjmddbmksqqu[cefkmkevpugdwwmi]psxmtycpomyqzhnggf[acmkaaqvchcmfgcleki]kwcgoytfwdiskensm[vfgnrrayrwjnovwbt]jshhwijsalzhgspbwxo +gozvrvpumqylwbwp[heqrvrcztyfhkkkiurr]zdonwnqyzzplrtddvj[edupsmfuoerkqqd]zddaryceydipjvvcc +hordslhdqnvkublaxn[ftwkewcpwvsgyxd]wmnaqtoesqqaajkdid[klldxfvbzihaergs]pamhkjkkmegbxzjnxx[wycwyjftyeraegclmq]gkkomyoqdldskdzrpd +okyvuhkwvcdjertdze[hsgzgayvznvksagkq]yipwttwbskmesahm +vyvkmniywnhriorrd[lgtllbpbokjwxvwye]dehyobzazptbgfwfw +tckewdtlmnxelzdi[ebkmchbjgyrioocm]xqnhwrbtwgldfzrpsih +qqtuwhnuwgckmbwftu[vxuwbbfiglaswoawy]faxqlelxkmymiizjvk[xbpctyiashbtkiv]zbkpnnesjiqiusbaaxi[thxeaulbrdecuffmpzs]saalehfynbpilvnys +twedeypgrxlxpxipyu[bitgaljduloktvughr]iuwugfdoyquhsjsosqf +sbjrsjlbzlmzzrwet[hktghfaniripmsad]gerqccwttzoahbw[tjkrirlawkjjzyrsn]hblmshfpkfkvhflg +fuaoosysvqsjxjylsqn[cmrgbgsiczcumvanpho]kvlggkgtabafpxvqjb +mymhxdvafawlxmipn[ivtejbgupwyngkgeuz]mvfnescauxomdrmkwk[pzeqrcmrehuieqxeae]daiayjjttzgpzdnfalu[slyaadnwetatixuo]npacidjgjunsmvyxkeh +prpqzhniajzdublzh[jfkvtlchidjooyaj]bkmwazmaachqloogbzx[njwulkpixkysjodu]isnphzszklgsmlkky +nnxrufgxgfzexywvf[dtlbiqbfwubxtlbkwe]iwlwexlorxapnls[gmtyjtqbzdqerlvxao]pvwualeqrszswaehx[fibrbwbqwognokg]gdruvwljsbizamyqjwn +jkrgqztihilbhercp[rhccgimfpcwcidk]dyvpdzbonknehjzydro[gltweytrfkkdcawdq]pfuzsmfeijzwryo +lhfrqjgomnntonrjd[prwrulyjuudonqk]mvuindgtygvvcuvjgsv[fypfufrhitewqsiuaue]mkytsubmrfshrhaic[wnojftrgemloaflvrui]aaanigffldppwyxkxst +chkweoivhgpjaxndz[ewvirjkeakrafqr]vxdlxdjmtzqpkslwtd[lptmwcapiwwvcrd]iehzyokbjctybnc[bwiratnbhxiivklpi]rprkmuzdaedbffi +mesvoeyuotbkbvueuqg[wkdefgyphqedwlyz]ontaahcptvjvwhwks +zqyswnoyuitjengwkgn[ztozzegyfjbvyvih]gastsbhrojtoyryspws[daxgvinchtwuojcetb]adtxjastvsnmyvyxr[zyebdlgjzqgffwcadlu]wadbwtmgvwmsoudycnw +trbewdwmpskqtsps[wwlrkdfubapqxccds]uqyodivyqmvesnflfhl +bihlsbgzczfaserxd[goawsstvqqduvgam]lziqvnsrbjgweuuepwa[cquniximnecjrvuir]fwrdqchbgrqrmof[tkkjlseugcfpsmrc]plkmachmtbxvfiv +hrlthytvuryevweqwu[shtaneryykfrwpwcheu]phsydxhoupciwao[jazepzelmekdglulmog]pubhdsutgncgmduf[mwxbleayalxjhgnmgg]tkopqvnbrqmyncbzzsa +pvsrnvdndolivwr[ulasoukwknbmddlfzyd]ipulqjgbtkmesdkq[zkiymalvtjsqxyc]twsyvckzufayobkc[yhmhhqrrmvknetxwyss]qiujoqlzuvkuerc +ojrnhrifomaubwho[cknskvcuzujgmwneid]sqawixrujmshtrh +ujsscsesjhbdtivgclf[omgzdnvestrlgbartrk]lkuspiukqonsvic +oikkbvethhmocbeqc[nhxpixeeawdtcxu]pzkquwpgjpsnkqmlnl[ldwhrenbkzobwxxu]fjckxxzsblipofuftuu[iefuajlqowotkyufmv]tgktxlihslueqcbm +lpffqonebzksymagggt[xyaityavwmqaonygyls]evzaltghdwnhsljpgfw[iderkiwyrqcitkea]nhywkqfvroplqgponxv[aejzmqrnsbkeqistvqj]fbakovgduyrkajoi +asmkktjarumpuinztp[lhjnjvmfyhyzdrli]bugzvdimxtidscj[fniqimzywwhdnvld]bwlitpmwhcxiliegud +fbzsdmweslmvxxezs[shozepkragivsvdvd]cgauiiofygyglllpk[lhgkyvpisotklhequta]puculwhmcxwzptvz +aaxydcnlqdomscaoet[zrspvyauhamxtqfrp]mxqyjtpmjoianhkm[kdatpoobkibowoescjt]jhiimyrwlttlsnuhn +tzmudbwpapwbxcbakm[vcwleoetuvbtwzsi]hinaoeotgvfaizuy +alfexqmolfbjmkcolws[ejhwjhtqpduprlyhx]rhzesszchtogouezjt[ehajdjaruversdf]mdqkhxpaeoodbfbmlwi[djzjegkhmulrypf]fahusieuaszfkbor +vndxsjuyxodluatwx[lajxnxdhxyjicbdkjdu]rrhlfjfgtskfjkwxlu[bbuzfrfpjqsknknwsh]ktnjrdyniyodnjsiq[tzfsxurqaehofhlllmw]qqgrirtaqisuewt +jjbjsfgqmkanwae[dmqvqqdksiptzlrb]hctabhvqvpcuqxphhtk[rexmieviligtnbose]hxfwvqwyvqudbbrdq[zzhrtmotxbcomfmrvv]xoxsswaqszxkraalg +wlklybkdatxygaj[jrwdfljzjzmgsyyuws]xhymsdyciyvwnjusrd[szqiseqcdcmukhawrp]jonqcxzganmsqfj[bjslmouwhrrsloygjcc]hkwqokzlyqpofxfq +jjsqzsgfollzaxas[dwohtrwohoyivwdffmh]xydlxbynxeibzdians[ztnbnodwteyjduq]wdnntcazofmrrtxz[hnbullvzdendcweh]rtgpovsjxltmlbnb +kscdiuemltlfzer[payfwfygkpwicgbsn]jawnyavvvpbflltumx[qaxzdzocdoecunpq]xdzdceoybhhqzlpzz +wrseqaxcbnurggub[msxuakxusfmwvwni]sjntqphornpqjbgbnz +tepdtvdvrnwndfqkrw[zssvcrxiavuhbyalmh]clvytremwmgkvqsitns[aybwjvykkqsfzns]yquwpeulegelgmt +xljefoqsedglvlwmxea[kgmbxljuiirquqkomv]emjegbzukntpiao[shlooqcsgrjdqjw]ujndqyxhqmagpfbwu[suczuwufykydoyoct]diljgadedabcuhzhz +vjsgruhvqhqbnlv[wlbpbwmefkhqddaeh]gagvlpiumbyquatrw[xofjxwjyqrzktqivcy]gdqtuwfhzovuyeejbk[pfgezbsgmwlsxinschr]ttlwstsiyvsovtp +uetvlkmfognlmghp[nbgnwqebphxkopaqdm]qyaztzdezkxmysfbeoa[dfvucbzetztfriorox]qfmfkjxrtdsfvdyvep[mfacwmgzillxhoievgq]ytizdnhsqohitwdziq +arbikxdeycoelgmlw[fixyspnwswzaahmsz]rkkwcrzmuacxkuy[iclqjpvntafvkmcwlhl]eaerusvhktkcutkt +onsratzqtrprdjvbuq[prpbyhrioleouieuhw]jdswchfooceadkqywnv[khedkgqsfwdsnwxibu]pkdqpplldnufkqpq +upelynfnxfhengxavsn[julxingpnqlkujsyvdi]xbwbuyojstbtfai[lcixiqirsxtqzuexgfy]olsiygtmyhujalqc[qbhhrweffixbtbhx]ftobasxsevlaeuwde +inktsgyecmjitaae[yhkmscojljnakvkayqw]loadalkqyaghqydi[zizeyekgloxxupzi]tzdtiywvchdiaoqh[hrwaofychrpjnqpmwn]jliznwufmyqdgpcdlyw +snlcptymmwaxcujv[cwwdtxwyirypitwsfk]gjimjugxpoviulx[zwaszugiljbcoxuelao]gvjywxxwsbfnuxzxnn[ldzcmudgzynfdsa]jrzajdtxmagrrgyf +hfmmcebarslbdxa[doznjoadhwnppefo]jlxxxwbwivnyfof[psnysilrnsvaugk]crqaiocutizwwmsg +zvnunjzsekkzoax[odhohtzvwdghcdatzok]ehxzebidfqdvfztbh[kcovyyimytfqlqhq]qwctihmcrykhpdaca +wibwgceunztmvyaqxtw[azwcjqoohspxnmqfys]awzdpccsptgvwjbovn[hvdsezklidpypjdk]tavbuzpdfhbmtxhppqv +ougsupltdpefqehija[kfeckbjmwmncgfziqsl]jdmpwsfdeifjqlevd[bhsmsnwznounnhakhaa]ptjlulkbbnkajluhlz[yxnumvyhpdmwozgu]tewomjsnbdllfvdbei +mvekcqbltunulkbil[pwgvqerlwdtjfsftsy]cbveecwkcrurcwp[ksfrpnzwnzmqxxwhs]ibzzridrvnzrizekc +erfjensyfxzatgb[fanlxxtsfgjzvkwkn]ggaxiarhnnhprdk[hzafwflnlmkqhub]edecyzpkgywqbsus[rfrycvydjaknlnl]ckbphvbqqoqbfooy +yfzzaoyrzcsncgzlw[ggjrdgzntgrxfwmlq]qwrlyzudiozjxbgvq[szphfeyocpsixgikpl]ygscetnweirruzi[wgrgrutnvljqgrlt]ttbtkfnwedetseij +gmtqynknkststobamn[jvqjwikwobdlaebdkum]bsmbburpxreknzy[zyhavslsazfdxjsxqii]caaroljppaziybaonf +gxmlpmdtjrnmguehe[ordskvfjdphcnrtivkt]xhvvxkofhehjkynv +gnzxuliucskivpk[puwibfqejtqbrtnbxt]mrbbxkzgskxwztfatw[xmngrbephodlbhxomq]ztsucvgmfexhpkasne[hpmpdmaikmbotws]yiwpahnvjodemmri +spubazlzdtbuvbh[csascxjbzxbpxclobl]gkhmporpqhbxpmhdqn +wwtgrpdsbgbrdfk[atelcuoktmkauzxpid]krvicfjuwweiiuc[esqtxtinzujmgwx]jucmfrmdmdnmmhtzu[xplnrvnqvmiuoqvd]lgcoktqnfebirpghxg +eaejonyzzbeouafbth[uejdsivbirchjhraa]umlcmhgqisqvefr[klsdbihbzpwcsxmu]xrdgjgaxjgjfypacjea[hfwvndyefxmougijo]mhjhiuwiiwtdmyzsfy +nsxgdlfypseixwwvpgz[msznwvdtpmcuupkjaf]tedmptvvzbnjdxqgx[usfsawacmtpljyk]itmawcsjmbhbxlnykg +fzdtgerjgocydyv[yhzmtqlgnrntukjibps]hwlzaxezlcajckik[pbqrukljdkiwypshie]ctxikifnpufmtqxy +ysseuykdbkjutrltc[cairothfmtrucvj]jixkhkujhstrkqhl[xnmgeuplyuhjdzyjg]mdehrsxhkhsfwniiwa +arijfcpqqvodubnqt[vktbqiuqdvcmvuq]kadqtxzyalcjknaw[otgjcgewvfwflenqxfl]dymkxbyymckcgejugq +qyktsqfgwvqokozdm[sjfzvddjxxohyqmmvt]odlsxwfuphkgdev[huguxssmgeuxxvrdua]rgcuishnfywfuwbwos +xaqfdnvqbcxcebeovwc[vssdsbsxpkogquxcubp]kzwnwhflbtvlyzjeuv +jxwkkukuqkkjhtepc[hrkqhcpgybsgeflxxi]xrajyuwtmnfmipdwa +jsbcveqcrcvjdxkljt[qecsalkobuuiotgxi]csmittoudeuditgf[pxlyfmhphfxvxnwn]xrmfercrfbsuajgm +hadxcknkartlhfik[ckpuxrjptujisqe]wcvcxyklcamzudzd[leypbnzftxrnmgzcwh]yqcselhrxdtfrwpow +tvwoqabxpoghhmiymis[jdkjddluvejbldod]nfziouzgeamsfxjvdy[qkrauzigljxaqleyn]pkrtxsqimgyarsor[vvixzfunhrrjjqcwm]upwgjrwdmqwjkwvh +hykbwxpjaqbpjxv[ttmunhjtyfdhbligdt]erwqifvkchobxlkx +pqsvcbywhkeocsr[zawuvttovejlubzv]kxulatrfxcouieljhwf[djtmaubluescvpilftl]ldxndbacktxfzuewo[yypxowvwzhwpatsgjp]cxkbszskhefwezmi +kudquqbhpizpyrutvjo[jldrthvtvptotakkac]pwfsxlkqhdzyfpuesiw[ioxxgkrkcgtnhhowir]goqkbpdlhusnpbc[vrhdpvuwzmqrfcsavw]nkhzrojnldtjmvvfcc +tdoylucjijuczyrzyst[ektynusrhnwmllr]dahuwysxrotqychnnbz[xuvyithgsfchuclat]psfifzwawelacbmks[xbqddmdppmkykcspbls]sqooxxvtxvvxzncgcnk +khmvwbgskbsxcsgizc[lupttucgdooofavgrdn]zcdtspvaymyeduevddf[dwejblcbivaszen]djfytaubbveqrcmp[ejrqvpwfovilyowstu]ghcpglnadkcwexc +ceizefidmvymvyzy[hfhhsjrogfpnpmo]rttainjzgmdphfhfh +mjslqpcdfrshvpeelq[xpfmewpiuppgymjk]mxleiwhbfoetclzy[gsvufllgcncxiib]melfggeffagfxyzbjp[qwdcqftfcymctsc]hpdymfzouuvdqdeh +mvjwksiaflbuynmcm[ozrrxcxdetitntaujdw]ydvcbjrstsnldfiyhe[oordnszkfzktikfd]qzqsydrizuceehkorrt +vtxiqidwpitwqyjma[ephaxmarlbeygrnig]ypzglbkmrqpfxzshwd[veplwqqfpyovyhdfdn]imgebeyontobzeekbvo +rhehslmxnhpumvm[kgylzslnnbszddyj]siajtguroseyrycc[ngtqoxynfjshreeyrf]tvbmqxeebsopamevdd +mvlwfqbhwgrzdbuonk[ydmagfruaynarxgc]rttckarpatdtgoyj[htmrvfyrnkoypfcnfxk]ykdrfxqegrmnbdkp[ewnojtgvnjfcxkn]obwncxekoepsfwrns +igwdsnqxzdgohahwrfg[zuzwoiunluwpxbnznxe]cbvlplgrzpojfbaqul[fdzimwvjpscbtiqyhey]ktbefevbiqjtiqiao +jhdisoyhhwvftsfdsfr[xkxjkjzljcuffddpqx]ajurgsravchwruv[awkkfjlfpguphdc]cxzzrgllotgpyxy +ujjrzuzmnpeunfjf[ztftruzunjdqjrfen]svdabkjrggbnrowhc +hlnhslmxsoydczpso[apglfhywoihlfdzucvt]tuhothccxieqrrnqb[sibotpgowuidabvnca]lqdjyxkgywyuwjeeu[aqqkzkcaloqeezpipn]pkwuxhlqbbziigrzkpy +qwucgsdcjjvremkpe[veojdmvjafegihja]kimvqqiduzogkvcvr[rrxnqdiaqduiaik]cczokjbibwmmuiycf[gobopwqpeblrvccmi]wzqqdafhwtudgrx +dpkebxgpakpzmydvb[psgjjqzvfccndwtz]tnerdngqdtkuqehuab[gmkiurnhijhzhrxkst]zsbzonqusinkqbtdn +jkwpusexjitifndj[objfrkfdtuvmzuxlkrg]qheawblomtrojxe +iuvxdrfrooisask[spoknjtadefrfit]fmmmerpkmjbopbu[hkpzowyifmandtizp]gbvtfdmcejmzcdt[rphywwrhzoumgjfx]cgubzybhdiddikl +trxigdwghucbgfzalp[pxnywwldxjkgkceon]gdcdtikjljulzmogcsi +nsftzxtdcpppqkyes[ykulwspuzpqmjiewn]vljjbepvkzvezcs[zvsfnhltsmsaerpugfr]qxiyyptqbmdsryyk +qwarkfbhrqobztysmsq[brhqelefjmlirogtoqe]dkngpswauyblweefvvd +lqajxtibugfkkyngb[yhihnonqqatmrkci]xrhwzuoctfmpglna +rffgpiphzgebdbrdb[lczwmswwjnwcxxlul]sewgazksxbchjynpmq[dqdyygczzlzoqwmbw]svvbzihzjbpscgkbyt[hjrkqaqgomfowdrwe]fivpzvtxkwteqgx +mjydydffvlbhjjjlhn[tipjyavvuxsqbgsp]lndpugqvesmuauyjjk[hdaouijvfehsywsy]mjotiyjqfgcrtxen +utgwqdgqygjfegu[mrgjtmqpbdaajpyla]ajhwmseqbundtmq +bnsfukqjfgzpmxbcml[xmeihqqsdwdfcqr]ipcwwbuxzmfnhgd[wnkinfxccrjeojfhf]dpuptnozvjvltxunkgl +zhydtogqknrxwtis[gpdkrghjitrgpaer]lkvkdnivkzbrjzd[tccwwvkvprvvaibaeim]txybcmevkmisasyhd +fjnnodzohxutlxpxv[abemvahnahlujhs]iegfbojexeeuexdjud +innerjwzofojszx[uzzsfbcxczuimpdit]qqwkhlxrmekugmacm +jqvvybcjlshihkyeege[dhawrihilugxwen]nvwrprrjqlmhrtistc[qfnzhhamckjxbwmhe]juwpbpdghvqgshrz +eyommodebfyytuntg[ddlulncnkhltylf]qntrpmwmmmvhlqey[wmwxrrmiaqxphblxjq]ihcyanxurzmlogdbiza +iclyptsvrcfcgbf[sjfccadiryjddlcgc]rqiwpesegeyndcnupx[zyjdsodhompmmxxsrv]rcaqpxussqkgvxfwqg[rskohsjjwxxyzkb]lqnptscbiwfebvu +azhncedjlnxpfsgqx[iajaieroaqdjbjndtj]usmipitjajrkijszq +qaoozyigsadyjkkfb[dxwdromqnbvqrpqwf]xvraxkfredgyrysjwq +xlkrscxzrgphuvrnhh[kfzrcgnkepimvbkz]graaktkyekfseoxw[deibgckgicovhoeg]wdkmgrvyjajjsjg +olfletuzcyexeghkzli[olqowiumhvajxpib]gexkzyngygyunnzyga[spnsfupasdovnwutod]yhaufddqxpbnsqw[atsvzdvuxyzgootubrd]tlvjuszokngizphm +trzkfmggmbeaejun[yektqqdxtbzptpnesyy]qtxgjdnxcjuepuqe +busfaspoddgouklivvf[dlpxkcrfncfbzvcslaw]nzmtmoybqsdmyowmhrv +sebpjmvhnaheeivnlhq[xxanqlwhrroxmarbn]kdcwamrrpjeppzzxtb[vnmtfnbagfjiycaerjp]gawltuwrgwtvygsj[djkyjoiajzbkcafaakw]glynjbhtkbkhfkp +yepqnooadknuoetf[lxgtzfpcwafytzhivs]gnxpqkvdtauyjsuozt[woisnqiyhiywfne]tmpjcghggkfyurvnjah[dlqqhpgchljoirbpb]ekijawcmncyevjjq +oazrmnobnvxkvhx[bubpbqudhwudnesodzo]qslfhvkpctthwcccly[paaytaxaktbnzqp]bubuyecizdarhlcfke +bsdwmehwphvepqo[sqvitfrhrcwgtxoh]eqnfempcmyzdknkbyj +zvamoqzkdovdqbzyb[hzzpiejghnoymgunni]gfpzsneyuzrkvwzbh +kylsvuzmthnhzyz[pnmlifswzpjxwxtgmco]frifjdvjiiekammvmc[etwimerzwtlbspxgur]oouwpviaqolgsrzqbdg[vkctdsfldayaarsqjo]stpvubosyhswndwugus +fldvnmuspsmuvpwqivt[bnplzmggpaosbfifuhf]rdneqzzzoazdxdqkfk[zgnzyvkrbzmuaxazyxf]xouibwxwoyhkwcyyb +ahrrgpkbnqpckpx[nzqrumjvhmkvggb]qhanaaafizkcnlskfh[ttseogvatsraixqldvp]kkujsrcuhqydcifyhqu +xqzzpvqyqciinms[sjksohlzbioakalrpzg]yxzqopgxajyqdwtnrm[ajkvecamrmarlvh]wwpekomcibwlxti[uczxxoieofwpsaraj]ievltiscbqsmauza +ktjjqzartttlufnsdl[knjwffkeqrcifoiocej]qtdjwinalydhknjpcrk[fkwznosiuibculrk]agrulbodrsdtiujp[qmeuanrefyjylkbickj]epjhfqaohkcalabc +agecbdfwawfxbylly[ofyouyvsnhcicphirb]mxaqxxcqnvqgqmqdqb[eqjooawhjoucscjzjid]lbxiciyrjpvkmexvc +gmrtdellpmirrnahmkn[qwbsvfnpuezqqams]twkuqrjgydccaroeyq[kdppuolsiopurxai]clbalepczxomzlwfamc[utmjcihrzrrikvplywf]psctwdnevapftqcf +dfjfkhxwhkbmbyux[prbidpcdyprybhw]dciozsralziazmzgy +hlkyscxhvpnffjah[bnglduduexrvrrgxy]uslxekakkcoaulozmi[hkeatcgbdudnjzpnwo]bbdohcriumtxmjlznng +khqolikraxqzhczgsuw[zkfmoosmtkxhvli]rwqxzmydxavdyhotg +jnowmgxqwvahbtwei[ealqixxluecdppj]eyrbialqugpaczrsg[qjpxbtjrrbelgyeac]cjsksryryizbspfgkqy +vckikrxxqnggbnili[kgqiydxbgycapnoct]skwmwdearcjiwtte[efstvrphcisbhhidd]ttyxrawinfuljzlmex[svusjjvrlwotdjtntp]ktuinxmsqmvjyssgb +jbmwalfptuxueuo[cnelwglrzqeuealvza]ubmknrpvzcsunsgvnqn +stbrjqxlpieveczsmwn[nasoyaongceuaufb]yphwjvwohdgagudawg[xfiwlaqholvjvspj]qkfpolofktwaukpx[ysvgtumgrxqdecmsp]iybhdqktbiuaygis +ymjwhzdqeskrydn[xzsqflcdafngxpfxg]xbjfyymliiepyridm +xjpdxbovqwhsdzqhunn[hifelarpixzaoqpn]ogkypyxbizgihbdxa[skcrzpqzwliwfbwust]ddtgvyqwmiqogavqkx +ufjavpjhkjamdqpsks[eiccthdvtludzab]ntrimfbyuyjeobojru[myhsztbrmswkkajarx]qibihikdlkviyeud +yyuhpcaionvipkvxesh[dgthplayfzrwjqgyfoo]cmrkiyqmnnxcxyzpkk +najwnkltbuwfjsf[epclkndpoxkmxfw]linxunovxfjtbdl +rrabvkpmftsotuolj[dkomybhbuxpjalqbp]rxuzefebomkdtou[sqtzbtjegfytqdlnshk]vfpyeyywpzunnrdudpz[isvcnzpvgaspqjp]wyvkuipucrkiyvtt +ausozngufzsyfwkt[ioeoxwdejezrqqw]trthienajhhkfyljj[nbihwnilrraeautmtk]zfzfmsgfozfzdkka +yuscjnbghopxwkbprdr[fdmpnloemuofwybagwb]drdtgrlfzivmfdg +tyywcksbtfpqsmvprk[jmzijgzqfanxixhkpqn]vyeeocljotmtajy +cywkwsgszwyplsuxjz[bjirgxczioydfxue]jxujvlbfmhqywap[rzzhphizhdqkniybe]svbbifuaobsgadkpmpr +jrgklwirvfhnrgrzdb[pndhrihungozjgjtbo]gghklmlxciwkowfxx +cajvcguuohgzufqnax[qahjptzhezxldhbg]cmqymzqzrrlcyra[fuzidfbchkorzrsscu]cexmkiabykrocbor[sirrwdnkbsmvwirj]xvbfxqirzvaikkzkfc +ceszuutfqwqilaqf[dplkdwvffffjrcivv]kcxiugcrpebfkwdtuu +cpenydkkzgggduwjog[cuegubgqkgcwapxqvl]icexfpddudnhucrqdl +qpjovatsnvpmfrbuia[ceqdmtgxeiiesvel]retpkpcotvcitihw[tywmqumuieozvst]jcdflidxxwidpln[pubmurysywhqdtm]chhfxgxltiigyzmum +nurghcjvchikzfe[mjjbendmhnryqhwvu]mllqvpqkozbgllok +enoutuoioamcdpact[tlgeywftmhfyvjadwi]irahbhimnmhddgw[fioiaiipbwthgcubm]jozmstjhidfmdmpm[nvkxvgtrutnityccbq]wtsrrwmvpfqqpdw +bhtxrdysvnxyiraan[sgdenlezucusuuphz]huifnaubxwubwkyia +lyvncebnysmmcgxtf[mjhikfordgvapee]iguvxykganvfslirtl[zhzeansvwmhlltgbtk]triroomcyaetfes[cpvhbliusmtquzk]xeosgsibfyfsqql +wzrtudpbtxqxatjyqi[gfnssdszwfasrfspk]hljjcgmhruahdvdwm[wpgfmswbzsmwdzpr]yoylzfmajtsevvdgyq +whtdjacerzbrgctojz[ywixhxbosuhbiccp]hjyphlkyojyhzcng[iaiwxiifsmznacx]ohxhzuylgnaexdznto +xqofvjktenrfbyseod[swewqihzhcmlclmvd]dwrrdieopcrrdmidt[wcxwvoxyzunxpgombt]gbmhtyiwvqzgxqn[uxtrkxvcvscmkmbdkje]dtbamszmfigrswue +papebbrbqlcvqcvuh[eonasvitoqyzkarbrpe]grazffikbwbonswpvt +toupbawhvdgkkox[buzzqtqgxqjwibvqcr]uxaerdhnfwsulshdzv[dqalwftokmnahysvyk]gsufmlmytoepdeabbgr +qghwmjodvjrkhmndioh[hekdbckpdbbfuhy]pjhingdcsxrfmlpv +lvskrdycjiwurrkdc[chyhdvsatlxomiou]mrlvgnstctubtnhut[tcxmmhvmthvzakevtbr]bniiiohuutiiuyor +ipraybolhqnptyxm[aszxsrykkwhcxlnbwng]jpwehtqkgekrfpq +xgjvehsavfyyezetmp[xhszryibaoeixkn]sqdpwzinklzvfya +jkkafippjksskunza[nzdfqunmpbdigxgfn]qtofhensduhghfgred[erdtqivhpppgnkmldd]figxwdiqmlzocmngh +ggqpjjtbdxjreevw[tvtrjevtvnadqpmi]qkvxeqrpzgcitpgzbc +kejdxjepffublypnf[ffhxrfarhyxapywd]nqiqhaldjixergwrdd +gwgxatqnipfrpcwqzkp[wnptqhgucyxaiec]wpqrdtjhetyqzporn[fvxbezrmdoyhjfnkz]wwgnxuylldkzyqriws[gfrbbfwrlthshtgwu]ulhpeverfgvxrnar +qppifzyjerpmybo[yyhfpvxcdwaajey]twhmivydwcdjzdgya +kkjpigvqvyevdimaist[gsspgoznkhfhferbhrm]gvadbozokttgzqa[lnphkpqayedtlth]xdsiowcgxrwoclxzz[zkrmwivjdqhuhmgprs]oksbtepcjbuvzyye +raflggzzzfxndpdqq[vxwjbepbpdpawffiwq]rsgqxtasiqkunithg[xayowxswabfaskt]hjtmzosyrfwpcmt +ldftyftplnsmyipban[ftelljypgxxwcqfc]hzcttqfxyyfageyca +nlpjxlrpaoadfng[vaztgynnaebtimxguog]bwlkvtviasalczaomyb +hlipinzbxhxteneptn[fojvkzlxqdxwewmry]fkrxaviaecbpiputx +sfeevqvkvyowdewpg[kerjnbgdavlyuwek]hpuaxbzkmjtzagarcs[olzbvumkcbsbslfde]eulxopotptxhpkkgag +dmdzjyhremreaxcg[lwcmfvmvouyjntz]ypufmkamkqvufhqyvr[wpuxgjmocberfotx]tmzwliwzlpukjlb[rdxwwgsdfswuyxuoye]deoomrjvszgqfmujn +qzwsagxrvpivmvwjk[qlzugffewnuurkjtuy]ykziqhikxzjscex +lmpjhjooupddrrbb[rvjxewjqshtspnal]hkkuigecmzkpqcpzyfu +brekeslkeklkrxwfzt[nbjezmerjoevzzv]xvntscngkdsvmbi +nkvppavhsgmtriqo[mjznwsawvdzwdzbilt]rcxmujwefsdkjkzkin +hctdsbumnsgfukw[eudfuiujgoydarmtwzy]dwipvffyunwxojfq[fzzitllhlhfyrerdvhf]ltrblnjqlbmfahlheid[dvrhfuiurpapbtbw]ibkvmgnihsujszw +omklwhuevijpxkfzu[kssygjpngmkgoym]sbsiamdpkodggyidui +aytbmurpyzqjvkekolg[ojtvqpvqyunrgjpjdr]vaiacunlimdmpwdz +usnyonuhkirfgru[fqigikfpqricyrg]ismmtvjpmqvuivxgwi[gclpciqwyyrakitkcey]gsqhillltjfxfpax[deeobyxzsvvxfidnkp]wssvmssiuftkfxojg +isdbplupcyrnvotsuom[vkmmzkxxqfujpnympxx]ijazgoojdxfnrkpsmrq[lzemxolhpzpsrjhfbr]kgkpgxrieatirhfupku +cgyczhotbifigorvgm[eguveyhilluzjekpsn]nbembaskatocwcxqj[nxrsqmpinxsvegeohjp]ndhfheuejahetzugttj[bnaizutrqfxnhuyrnq]jvysijjbwxfquegcts +iliohrqfjtiucvmxr[kpnrmbboecmvipttsqn]qzqypqavzoimzcgkcps +eztywjkqdoayqhjubah[udwvwttonicziwxox]qzcprxudjqcwqwexi +hxysdowqxilrewvg[fivvfiaxqxnxbkhlh]mcflhlqjnaevjngqq +oviunswvaagjacmfn[afizbdsvfdfeuod]zyrnzptnzayzcbg[zagtqjvldojndoxbbf]xwikgluobkjxoxwzx +qbcvfasmnwkgabybnku[dfmxzztgqwzpotvh]rzyrngwtnyiltrny[brlxwnvkddqeehl]txehfqzochrnsrt +cacqtbjvninjmsdddge[qqsvwamkhcdnupgojw]gisxwqxsmayimox +okhqiviiactljgdytgn[cxlsfydsxkvivma]qjstvfjegvqozneaq +ypykeqxesmoythuiske[avlxdwjaoekzafwcov]abmwhdplpsaixqn[teztgxdypjtrira]cyzcxpoxssfmugaxwot +xsagqlcvojbdkjjllh[kmkgioxkhijvgdh]sjfjnelkpdgqyqx[vgjprpelniikoqz]zpsbqrxvafnfyhfjfqm +wirokwxfgnokvemd[nqhwtykobzpkefiuc]npsjpllejtfweqp[mrvmnqlwrqawsjgg]pamffkqcysgbzufs +yedcjnpujptckfc[iflsoafqbrvaezrm]ltdabciqydkchadlr[rdinfmzooleutmwromb]drfomzbinmceuvmgnls[boffsfmudjsmwonpjma]dwylsgwdhdhqzzawbdz +uaoalbgnnhnkjsyazax[cixnrxtjtsjoxax]siimklgkwaxazodbfi +psfpuxehymwpauujt[ocewdpimtnsmevow]gxahsukhoqdmaxf +znkppewcibpdvryry[kilwdkvjwhzfeyo]xtwzpktfrysauvai[htewywqhlvzgahox]ncaziecnovrgkajap[whbqqzmomlwvizsshl]tjlfnocgwnrelkq +mdfjxumhnzsdbcddb[wzyyuqtfmsqzpvziiah]lsmftspnkhnfhztmb[ftbhxyujeylaqzyhg]utqijxxnwdqyexpbhkb +exziwkrjswiocjju[smlayfmrwakxlurmr]uoamnpaeyljsivw[aspzzukmgavcwzdkqss]ggelnimvdrmvnrsgsmh +myasqjigrhazifjer[ppsjmcplzavoxjovzgo]gnhjfrqattcxulmysv[asoyoiuaaadpsnzbheq]vasmjnbaryudfeihvd[kmkpakamzslxifl]aohovwaujpfcicddi +lefpjqyclfrbazs[kwifidvyqkwylctj]ewthuzmtgpgefxgoal[tzylqzkkvgbzdqeu]fvmhnvoitguynji[phpalqvqixcjjsice]aqwexfjixkgtbksi +exnkolrslryjwywafgj[ybxzxjdxnwutejskgo]klshjpsrbbituiewdp[xlmesstzpjihvmy]dlplugzfsnvgdatmweq +gfdwvuuldwwjzzynse[gabkrxmrrmhogcdt]gsremgnmdcbahudzhuk[nardutekqcewawru]ctgfrrwzmhfbvkzhiyz[napqbgvfnrbsbwmdneq]ubckzflwqlpotvc +rcjmntavcacietbswz[hpaisjxybnvkckeal]vslmivhtptssuenj[atqzxkjjymznyffhwrn]pcrcqwbdakodyjv +ibzuqyvdjqjownwfpz[wwrpdcqcxqpayypmi]qlcgdmmwmbqpycoqrrr[omfgouzrsauelzbn]vkzeqewbpqlabcyawd[ywzoqcqyxqvdsmd]cgyggeemvlqevdioe +ocijrfawfnhjeye[anhtgffqdihtuen]ifytjqfgjzxoxksby[vvzruwemqyafnzapklx]ijhsciitepzanuoz +rogowzpplhyvutqzcmx[nillxckltjemndok]cbijpwfpdyeaeeewqza[ifmlsprfeaselof]zrurhqkjlnjipgmu[dzffedbdxignmxklnc]lyhxveecywhanjlbzs +ujtwdjgulgcjkbgdnrl[muoazrtjojmfkuscc]ikiludrqpsfidyx +qnsivrqwwnnqpbyj[dhgsppnbyyqlgdkeumc]craxiqobxiultlnhkkg +coshtmcahrnruwu[zuuglkunrnhhyuzyuug]gyzmcpoehlhowgtf +vaxvyuvbopghsjolyj[dudkhgvgvvwhjgogvte]tuwdwpxfgkbkuheway +rhnibfirksuoqei[uazgdtxnjwssyegj]rhrvmpjbjxnzyikf[jczltwokoiyawhggufb]zhssaygkpjmxuazna[estcdkqapclppwmhk]vtbnbtxbxuylshvig +nmcfsnphbespkst[mkaysybhetceogqvnvx]lpbycyscpjtmxhormy +nsctikgapmbmwtjf[venmeuyupdnzkjigfoc]bhxeznadhpmxegyldgt[qnrjjwaeqmrwniqfsu]czqlwtgpwqdqpmf +bcijecrixoevxnnra[fddhejkybznmglqeobv]vanuidgycndbsfbcz +qfrezlbdequzqddnlut[csjlpiumgkfkiqt]hffxecqaepfudjdfg +wznjqgsnbgtvfryzkad[yfdaiivxsoxqvigsec]ocglukuzcmnbkukts +oqbshbpndovxvil[hhtftvrxatovzydat]jsrxelddnvgpcrschk[xdxkuevzrslkbfhfz]ngbzwifhfhtaliewdb +bfcscegbnpfovkms[msjwsjhqgasjotfxdcu]cekslyzwywmpolgax[epuelmmzskgahodrp]gidrtrqeqffmwuqge[ltmdhvibthlpegr]blukkdymporyyywyq +chwimhaskmhvuxvhxm[rrpvmtefqtvexvkwbw]prvqtraaheiqpiyjk +aikwdkzaskyqhfyu[jubyryvlytkcubajp]fxtbdthlbnsvohqrfj[qkegbedbavktmemzq]zdyljcfmwezptpoiovk[uxkgnhxrwtrieqjqu]sxpkznjcoyhmaolgc +zeohigtzmxccixukza[gxvprlmyjwyohpdavhg]ufmlczytuohlckfpby +ehhxgzwrvoomcddv[biehrjuvdwdcmngt]hhpdvmhqwgwwdwoxsew +pgukjyjuswghvaap[zgvmbbqwabsfnufjn]evzmyrkkrkuqrojvug[lmkqsucerxnacysja]ncmlafqrgabddsfxa[oieouqvfirwsaddkw]xhisoprpqclmcptsv +qarugpxyovthcoxpeb[kddsnmtbfnivcmzj]kiblqmxtlqnzvpghby +ypfrwcdmbwfkqel[vmdyouzmxsmbmxu]ycdbytrbqvuribxia +uhlhagnsffpwbhnt[xlbfrkgyhitmhyyl]ojfbzmtkowgbutmvqi +kcmhwfdobgapduyumfh[pnainrkglktfhmsetbx]adqwafljtcvnwqp +gvvxqmyowifrdmkufk[erkdmjvlknjgwkny]ygeydohzsswyfhduhr[aukbooitqcwdvcchtfy]ujlcxlkxhkcjghpob +eemjirybhefcouf[bcsghpbcmluhnuin]kdheznxwiuojspbrrff[ewqjhnfisikiraapug]iddhsulfkgwjasbog +ezxdvicibvzbqvaduil[uxajqhxxmsvwyntuy]ghonenecszbidwj[buhgptoiaardosbw]ehncxaakhnensyw[knrowzaqwrrfmzqioyb]pydcvhchqdiyjidq +vanofuhslzzirhhgnik[sgznckztrvbpycvntxs]tqbdgkadintspud[wwkugamyhvgqblfjzds]rinoelnrtnhpkoriaq[rpuarxbzsrcucpj]spkeybdpvuzsisle +diuzdusfvgbkqpiysz[uofjmwizurljxxdmdv]chaqghwykhujtzvxxp[zullzbbtyrkebeg]zrnqldemvrhfvbuqz +mkmrylehlgzfjvibv[xxqngzzkmkmvzodvp]yniclddpqjmdynzt[fluykgquzqeupcuv]dksbaahnfatwkunpwcl[ycrenkxhxwwbstcz]opwchcbvgwkyaxfmfr +eybnlctpigttpiuk[ceffpmagaqjbwyuopb]kjvvrxnhlasjgmaej[czydviujakratzd]ldgrbauwncdoyvlj +njucbvqpczzoiwyge[yeoyjozdrzbqcyihqha]pxcyyxnfvoqpyhvklu +yyyodmpzdftvtvdojv[cxztauowoitkctwlf]bjgvdkbcvntwtvtu +stnazwnnhfbxwvxdsj[tbdryghvyulpnab]obzlbzidgrqfcdxoq[kizmnimewpjfyaw]fcurzaoxshommkhhrx +qznavdbplziljngn[elpldwxefqszcnaed]faqmjkoobjnntqxz[djezjulwxpgyknjq]pmxikvutsvegiepwnib[pxacqosgercrdkmb]wluqqgozcdcquoj +zfwfizprbszzhyqgk[apruptgtyvaiepyk]mlzbtalrgzybcym +kyrrobhxpdbrifvvof[smoisbrjbunqghvfedp]rcrtztkkmbrdcnlfaqb +iobtmriifnzdjgnyu[tuwcqcwshgkbirneyy]ngooicxbayhprmom +ajjjmemvvmodbjmmr[pqanuotnrmqdeznnd]lfqoslxflndtyffj +yqefgrlyaypypvyu[eyivtfbaqatdkih]gzhrcnzkqtmydnuyb[mkyhhjdaiityzqalfv]zunfaviwstsxadju[lmxntcfgrhksufvsn]xkvoijosfnpdnsxuuv +euruxflpmpgjzqipqi[dpbbowsqkwfoyxkvx]goerikzifxjxqkpj +drszqkhymbftezbc[jbyzbpdcquixokuskes]vsyruybvpgvrmcvw[auedminavcellfrnp]cphwkowohqnxyquqd +mnknbzekuyszdcrwbfn[lbauyltdkanngkozk]tfjfjvxumulocnvrcxc[flxfxdycvecoszbtwky]wyihshghpkbwniuzeug[kpeglhbhmevavovd]fjdpatymyaiqtfxdbl +ucttcaoxwagiwqb[wvgkrjpmmcjmodxmdf]dpbmrfxfuabxzlurm[aypwyzidgslebmx]fjmczavhvfxgnesy +owthsmjvyzkfzbaijo[vmngagazpcvaqpz]ozgonuqyloncqzykkci[tegsfubyqgkxdeic]ocudmameghfulvru[wmowzxuonsbmnmqucbe]tosekkqtkkxppiuwf +lkimulpfpxvyhekugq[lakcbxczgoicskhtpuf]bakpinvhpxnkbzyj[ipqjhlwyezevghhn]hbjbigvdgdlplonwpa +qcmjplkyizuoxltsj[miekmvzjdnyhvwsqv]bnoqoufctrdvlomjt[iswqqhpvsvtuethnwaw]iyjcnrrcqmobkqa[yatjbaizkqlnqecny]vrnvrektkgqzzkooy +gldmtkuoqbrmkwi[phhhkhfujbcxduyw]dyymudjikhkjrfps +lxkztkaibzcrwurftum[ggyefvxtldgdotktt]wccsmjsxsrtgvthse[xhzlshnihrzpmrnm]yfxtfwkikhycqhar[gcuahuednjifdcy]hdxmlanmkrngclqkz +fdwtjmjccgqmougcybo[hvuasfakxlufxdwd]gpyfhjflxetzkmovox[baarrmwjrkakmshfriy]nlzkbwcheamoyueqjil[mdytnlravsknwserjpq]ykcholuxhydoiysd +rrqomrftvlxovvzdbw[tgjfyievzcjsfrmvez]mvavklfwwhwzzoe[jzxhwhrypxfsnlfei]kavmscfruicsxfxwj +gldpdxqgawzatcytn[lerjsljxrwizzrbqwng]iosbfkfbpcpnsmju[hyylvxbcbsiyjuxqw]fnumocslicnukatl +idauhtucptwhqwvkgwx[cefgugxpdtojxotgujd]dmfsghxjxnogmasg[ofafvetennqjdghdm]oendxgdoetetpho +nkgjwrtllqmcygzm[mpdoadghwarbgauc]zmixebjraljmtoqii +odmvsvwvojpezkss[sjygbsxeughaykjoht]icjkfzmeozfjsdlmx[ijvploiqsnstdexe]mymhrtbykoqcnjpa +itutjzmaegvxxjbg[wttcccloraydfuzrjs]ekufmwwfjuyvublrzxv[nywtamelggkvmxbcpql]qzibttgtzmrqacaqnz[tclsgiysmddugygan]ylldzknnwyezqswgfxt +rliimepmbrjywflsgwy[qtmqqqwoyujveadkgm]fetpmxdsmfqrljs +gwvpqmpmkinkmaz[ecanpzbvnskrgfbw]jkapjxixqllwiuueq[uocxjyxqovostqdxgii]surfacomwkhlnjx[psqvvyopgzwwcsuzuk]nvlelzbkauaqxsw +xdecnupbhhtsvtlyiw[ufhhazhiwffapfkpk]bzdkxmwtdqrtmud +psisplxlbymkftgju[iikxlxhyehumlrya]asqjfflslilfmnahzdp +qqlournjnsygdmxijaw[iuurosjuylpoqtqtlg]vpdorfhabsgblrp[bwprywykhysyfhzjyxr]laldygrmqzhnpzvhe +bwtgkcutdyqtxwdp[sijlrqpkklemwtvo]xrzebxwrmpmjoynzu[urmeegihgbojqpiuzud]bnbmufidnpyflqyupj[asofqsqibeykebdizyk]wjubulgymlabgklnsqr +cyuznainhbtgtdl[pxfuncjqsorajwq]wtjlkhiuesfszwmw +kayuvfyaolxkyke[sriqgwqchsysarm]kukixnahjaliyhpi +tnfrigyyaczfwks[ciyfrmzwowxbjmz]wvwhhtffgnvvgzjt +pnquibczrqenwqbxwwr[dzgjtgiiyirqyas]jkkqvoifpqmhcmxao[duhoktzelryeutxhehe]idtuqmudebissfru +gjngoxuefznovfivw[ottzhzneocfgsctr]yxdzsobprycgtnc +qqnughggbyypudwvrm[artepcrvzkpybjhc]adafmxtlhwuytfdhlxi[tvwdadxtfisksayq]fuxzscpfbdsscaoae +ekpebsgtrvhcnnpwzm[etsyvgmrmnrzaaxdyu]sudrxuxdwuxawubb[dwuudbufntmxwozrja]gdcrozbqdzvianbs[peuceetvakffhpkje]lmwxkxitzddnshdc +pneibkwclqkihnna[kmmxhdcvthtqjzh]zcezgqrfbjgqasbw[dssnagvllttopkb]feubztyyvrxanoftwk +qjqjwmspgicytyrl[fpwnwjazbabnela]xbjqjjkuhppmiappfpo +huvqhawfczlmwapa[vmivhvpwvhhcezi]ccpqwmpxogyspclnism[glsdvxbsieagbhv]vfdauvsbzrittrzw +sjjukirgyrhruvukyu[zgazbjycjveqpwtr]wuuueddwqxrgfms +poapcybcsqaxjsjjksy[jhwryqrxdzcgiwyr]emwcasbmcazgmdjjyz[muuxgsnonsnxkjekxuf]yvydykiembcuvmyvmb +ksjudhnanobxswg[qnwkfuvkocxtfkf]qlucmyukgzpwynzw +yhvwrjxwamjapfvm[cqdfoqbygkohvlqdvsn]mabvbnuchbfzzabllb[tenyavqqhofpefesueb]glhcenelpnenmxqu +sdgzfectlcmymhacz[qvqjhvadnjnvnyfdfcp]ynekctavllbvnviv +nxfzlcereffzllqhyr[lwtasiislamadrkbv]kswdnqyfhrwhplch +agdssvykvtyfpsthoej[kqwiimuunvmnwhpce]xbqexbjsgyutobtpfrq[bswexfevzkeeopavm]tfwughwmrlxfcsuw +qstpdpqbyjqzplttwyc[khmvjpwsjyiqnscslb]udiwlqdpdvlhkbkzqnm +tlksvmykfkrwtpmokqt[mxfkkypqhaltnyer]qldqcnunirychrrucpg +miwsstmmoxuksdwq[bwhdsyboluvsmgduyq]xsjoioobslapvfayu[uhfpdqjmocoojoofpq]fnbcyffogblicap[qtdzhrkaztvgicjqdc]ptjulttdniokxrda +yifsnrubaoacqcix[bpxfekkvzjwysxdqc]xsqebluwwrmljymgyix[wzmfriqmaaiywjg]bfhvzjjvixybnvmir[kzvwdyuehusajpoacr]knvzrbjinvemiamed +xjegdmwajzunpqmunh[kqudgqrpwxewlyedqb]ewejccmsbrsorwa +zkxhnosbcgrwxlp[vwoltixoxzqmudun]esphmzyjbhlbkjf +yzsniisumkkjozx[xvscljwiqkupdyk]dflgfrmtswvfjfshlak[cbfocwnchlyszykgkfm]yshrbhvjrdwfmtjb +tnovtsydrpdznnwjwb[uestrhknhgbqfmfue]ewlcnogphncjxjwjc +piurduvwvigtuwnjnpj[mirushebmxoukqttq]nksxdnhcjfaymiuua[dkihhehyhjvenynticl]nmrfbzilhhvjfobbof[jqahcpebhcbqyvostx]mnyaeppulzktgjgki +joogybhklmxuerie[kqplkkvlshnvlpiweq]njhrznhbgdiynxm[scifgvenkafqtkanpz]qguwzzuvlabpfjkhcir[dhzqehjhjesvjdbtlk]tfnbxmiowvcvnzgnv +oueyetmuhknkaqpfd[djatzvdznbjlzdj]yeyuqjmywfckbtb +mxrvyzxkbtrisowk[jrjebcjtlaglvifsbh]hogyntpyjjpidqcafj +bjofhbhwvwithoalhgk[eoyvleuhprcumya]vccdgtaavlvxmwd[knpntqkvoedmfkbfnf]utpyrwdrgddjfigiu[udbcszpzvwbdllzufye]yzqaycyucnjkvxzhkwo +kprqrmlazdsnincc[zfavvlcfyxxxxuwg]ecasuefcaopcionsc +ipggokgibfhdlur[jzvzvhiuilujzwj]mztuxrjjwyolwtz[uxnlfzevotmdwqlgwdv]vyuiustdzuwvffkli +ukhgntawqxeabuywjjr[yseyyaskeyiezykczye]ogkwzliacsnqlmoomso[gsmzgqnekvzyihiadyo]qeamfbfocrthwwk +dktgynevuvrtvtnrjd[ivqsqxblypfjvgcpdge]dekuacrrssfnpxhhxxi +njpieyeqhqawkmu[huxzeucrfvhkjqjt]ndoeotblnbhykbb[xarezduaztsgcvxtfvw]lfwiipcshvtxsdov +jkobqbfncvcwzrlma[vbsorceinbyfqwkc]oyfvtflooebbmjqix +cuvtgtenkfjydoyd[azixqhlaxylkkjokz]dmccfqxfpqioisodi[mtqxfsgywdwdkbdolur]mkxeufypooionix[uoapqwhpaueazeyrp]hdjlwknufxfbvqmlh +uazrienzjneturyqqm[tuwzlljphszdkrixol]vmwyjxdkjgpkkhzmqki[reeenmhwziotforlub]qqasynbtrqnopckfftm[yzjpnchhbggruuoj]nwrkhxvxjubgfgkln +yzjwiutiwaazlzvv[ppdxzoeclbdxumyymk]rtlsqleuogzsvecrzsz +hqkpvtrgumkydtqug[qsrmcnswnastyydsp]abkvmjqlcpykmmbzifo[lrhkmkbglxhzexxjpec]hzyfgesppgeayiw[edkbjlhuaihswisbrdu]kkkeguxfpqzjjbqertv +yysnewvwgdllaaajcym[pahdvpydwuwbcgz]mweaayomnyodgzrc +mzcjlbwulxvrgjoerux[rcevchbbckhezowtsjk]uzkiqimslsmzutixsgv[oxxeovutxkxzedrkxkv]twxvntqcbdzqerjjb +yywkdjeusharpewllen[skdtttlakvgshlfv]pmfferigtouskjh +jofypjydlbdwjnfpzvw[rthdrwnmovxkeuurlag]ufhhaokjnqyjnsrwd[ezwmlrwehwmfgowkra]gspmokxnapooxeq +bkkiwgwqtfsclmsdm[xhiufsxwnvwowzwjev]rvuyaxsrclbfrrezca +nekyuiurfwfdlpa[svixzduuvlqccocaw]bzekwlsibdbsernehzw[bivmjbkrtzvxqbyoyl]cmiieccrolxaejj +malnsccucyvnegrds[udvxlkucuwvruqqbf]zkkbtdhpqjkqsfktomc[ckkzxhbqactpqkr]seghmsqjlxlsveln[sbpprwevtutwnhnqtb]vgpxacigxtbyafuc +vlnpiyamcjzwtszhr[ymzawyaoqvhxhrcizzx]ccckixndrqfhxwbgdl +fyosfwysmkbqlnbyo[oxhkohdbxnsreazz]qtpmzvawlwngusuunyu[xcbhtijggqoopmn]rlccvxsaurxetov +kihmdcofonqovjqqvy[sxfvhklzznvmiooubm]pcbnbkdjfofnjqs +sbddgdwvwkqfkazjb[yhoqwjgqcoeeqwhmjhu]sxbyihoytzobgbhzymg +ncwxdjjuhkilgsknm[udzepyobpehkvmb]vuspyesgtyhigshjthm +rixcaaxczltuowemq[hckgziqmmwmkidmt]cjbnhcakwqrbddmut[elflahhjqtsgsqrrai]vetnihvfdbjzfzyhwgh[whmiepsgxgmhaxzfzkf]alwdhcdsmiqdgeu +vqyfzldbpmeqjkkpjpy[hsjqwyjrnpoglquedmu]timquchwxvbsuztt +nawqfijrvszdeelqc[rqjmvvmmjjvnhpdgz]absrqbhnontlqygvf +ofypsparyhthcrubvxx[myuxistbkjphqivgfm]ykjhdbhepvujyyid[nahbpsybicpshlr]abrczksedftlzyk +bapfhsycjteqaathvj[xseahyrjcfulsrjodv]zhidebhlpcrwvrb[lbavspmbupcsufv]aqsadtqwoaeuntykjn +gcvmbexgscjfmsyuw[zwxtjhkbfcwalot]rxekdzuawdhviiacbw[awadxkqkgpbpiosd]ndvnxfkoxbwobgo +yuzthtrfqfrmuxmex[wgsxoviohthbmfmmcya]knpwkcsnuzyojptcj[ojtjolggqaoxdjq]usrzwichsqhvdcolygf +rxfxvkmbyqgepwyapf[obvfwqcezmsiugn]fjuumxzbbsjiopro +yyukzawmmcvtrfj[qqqedzndsbtmudxje]fyahpplmnnxwckurc[toeiwzsalczuqoi]nottkjmsjyymhpn +fkdrvebxdqxbyykfiks[loclnoouhsyxeek]csilrdbpiorznwgn[yysbjtydwbjhgahj]dtesgmjzketpmdkggv +mizkclhlwkyugriku[tgrjhlqtlsgbpotmb]cqbcwpqhccbzsmbgg +vuzcryyrvfmfeplnaxu[oypwregtvnxgjpmzj]fxfduerehbqvmcujnia +dwvzcmesjnvlnms[ozykfxllkmhiesuxbyk]lcdhnrtivhpduavkhwz +lfuggrczopfzvhoed[bcvzmngsrxvkkxtn]ohbelqqjdfdjayx[sclytzchezzsktv]jlzfdfbsiesjtrrb[jmworbmhvoapbaimigr]jlugbzrhypzdcnt +fcpzxrowxpmtxskz[fosbizhdxpcunoa]bztfcswqxjrqtbygwtx[sfzxlbleonzuikpfz]zdwavnnpzjtuoyvr[kntryilwuonbgspjz]mmwclckewqedblbwsa +ladvheoewilfuqkcqm[nutvzjddqiuoglnfj]vlvthzxilyzbmljedo[cvdqlukgotnupymp]dqvdpazcytlvludw +jibmiuiwrctqgnoqmix[nfcereyxaplqqmgvvaq]ofrkodvyyzguxpsit[qfrytqcqudgfwbe]dxzuaozimmptepci +qdoicjkzsuxqogev[bxbqedbbyippocdct]ipuwijqjjjortmhwwfw[kppodmeaclzkmmr]dhggvgbnexvxcfwvykc +sbfleecearrntnatue[elngnqxdequamqwt]cunpjhqujrlrwcoiabg[lauykptoflkyjijla]zobctmksdqowpyjyvos[nktwdlldxfktcdye]khkehilwqismokxontn +sreybwdbtorcjrzaw[nldchpnczosnvygv]pawxuwfkiusxbxtge[rrxnvvjlksmtrzgksr]ggfdykyzdbfbgeehduc +pjahhplaopiwesig[ckremgovtdoduhbe]vnplyuoviwzplkstrp[erdshnpuieigttvj]ezwgjdchoeieewijror[uwcireqqgozegxv]mocvqrfnncocvhgnj +xsbretekgpbugxmaut[yeezrlpckdkzdcbqj]ezqsoqbefurvztae +hxinlabvuaiazrvykw[exuvfaxrgxbynyjjmeb]ldvhkwdmrwsrgihrmp[ydbiwvoemetpbgwni]cdjmftxzbooaqyx[wbtapydfdqpjwclyk]pyyjpqajjggztufc +xkmsptennoxksrjswax[feenacaoxmlfretspui]xbtisqrhlcyxpop[imdcadfrrzsfqtw]nsndpcpklyfkgoeuv[nlayugkonmjcbnqlau]bzeyedukccyngnwse +dfzzlpejnepjafd[kpdehvukrhdkgfr]tyrubhmuhmybmerg[lfhebhjsvkjbvawpl]mbvgnoeuybjygwshjj[mlqrgwfocgssimd]mejmlzfkqivlnaapwzk +yzbvcwiifdwqqjugy[hklgtiqubfahguewmnp]nvgxfczlcnnfdlg +zocoseypamcowyvnwj[olfjojyvkeqfdygtlws]qbpuijldwoinxyoamb[wvsyesnrzianjngkrdo]kvidkdrkerykhyqsuh +yqrgjauszzvlmqctdb[sojtdctxbvpzedujx]zeyrufrzcnjlonceuim[evrpttooiboeqjhc]wotmlwtabqeuiudwrid[mnzwncqqagowvkk]tcwlfwchscbrjkl +pyqpjeikvfmegfyn[dxzppppekpwzxobwdq]rvxszohygpcpqtd +mbsfqyzoxzfwvmc[bbkfpgfeupglwwes]uuthycglsolbcyflgy[qlkmumktstwswre]vsltfgxskgzdjsj +apbfdhuddmhdhbnee[amhtolmsiipbfmg]mlwfceimfrivtgj[wvxwldjyemmckfq]qvnaljlopgkbhki[tybkwxfdmstwmrzl]lmdpzbwdgrqtxqzusd +kdsujhexxijbdtml[emmjtysnarxucjtdjjy]gmtiwkhwpwqtsnza[nbaqjfxcvvulifbox]bjdjrwcyrtfpyjocbs[pwydpbeqttkpzmo]lcnszibdqdyexmnmysb +iamwzhofrliyrlbj[dguqegnfsikmrupbyhn]dxsrylmtekjuxkskmxx[vwfrgupiotkuvxm]czfrchnlibaoenbwxpu[tvnavnpcbtlhwvbucqh]sqrhjdwrpnbeyqcsyar +ahwsaxlpdjypdxk[ifyguutfzgfdjjogxzf]ixlulqlkwnhhtwqw +tmiyklsufpuelrxlbk[bntpovhrfrwkzuf]dprsveuxzlytrsjd +rsecnfkcgcjurztdb[yryykimlpkbebmpyral]sjliaidnssdkrltpscj +wfoaxfpewhvmkwezk[xtuowcvuhakjtns]zhygwdeznfsgeldmu[qpvogjhlhfprhlcjkvz]asgmzrchqllwjhrcprz +oxaplkpoicskweqmmak[ghmjbibylaufqftb]ndwlcnbekjpbwzmylb[sqfzcxcntgmrwpylbb]boiwvqcrudsxchlzh +jgqgwvmnteuaywocacr[dqunjrbrlbktjwbxt]osrdrbnxcezgiyfabyb +ohkhdsldrxjbypqulz[mxyphdsshtccflplo]tgurplpndgebaxxb[japdwmzjgysgaiqh]yzqgxiilugfeqbknhrk +hjdttfgnxjahcuji[ecxfvdpgnxfxxiym]qoyqcbmmvnduazg +zgzywnsxtohygvfvk[mfqbrreclomfbfhanhs]ypdabnzxfdwyelsrutw[vxhffmzeasgdtsdi]altppwlwsswqpeyowfc[yorqgspqlwlnowoljjr]warckdkwlmchops +xwarkdhykkobtie[awfjjsabbcvcacvf]pvfhtkcveuddpsxi[yxaldwelrzlrlhaca]uwfvshaymeownzdmjr +vyeafjmoxmqycxfk[iyalonumzvcblznkq]noqtvzkcxzgqloivlof[vtpgnfaemftmeuy]skuwdzkvvaduylx +dfswzynicxvaoaw[drflexddowiafchckx]xtpdzsdjvyeyepero[yfkfcvivzewivix]qxgjgurrdxqilazkcr +cinjxiiupnoeczaxw[hdbqufrmftxkvbc]bpuccqnkhfykfdvqzmk +yoqjxoxbnmedlzg[cfqsftnjfmxrecpqqvu]thnoybkpyqesfenfdr +lhhsemvrpnxvpuaubrt[hpatsrvokoawjgjgk]ontiyxduxllaatqilrm[xqbooavcmzhpomkln]vdjlfyshsijshxajhe +rnskdjvaifmyptpuj[swsujemdcscbimlhpl]mkiwtodiwjdxzyrqzzt[djeynkubnxhyxabt]yezcutcfvmpexqjdngq +rmcwctabvygynch[dnmsvbqxfkyosvnnjz]duutkavflyrawdm +ayozjljalecznohl[sjxanfmsjljluiadtg]ggzlsonfgtipmxwlgzz[tptximrxwfhtleo]aaumwknddrujvgpvha +icvyvrtdcfvgbmy[hfwfmxzixeukywahp]tqykhqetlicydfx[mxmdlcehdtcpfwri]lrmhtsrtzdejnqw +hnqtrthikbqzhfape[lwzougccscpjejyu]skwaahetaqururphoo[kgaazmqdcvfesiicl]udsrrgnaquqmwevtqy[rxrlpamsteoudwiybk]dsnqomoghajkwuuplh +mqpgnsoeoreishsaaob[lyamhwoviggriujfo]rnxwrccdbpwuyeoe +qcnhiwvtajonuknh[aqdlowucnjpjwsjihb]oeuixegjefzbsxeb +uasnqxmlauizgmkpia[zqysqipbakulxkarm]mitnesurqufphihdqlf +kldfxwunyukhxiooh[przhjarmsgerjzcvwvt]wnbnjjvvdwmgixhunn[zudqzitlmwsvpqyy]kaieoutgrxskgrvhpq[mwzkzrixslnwpazxn]opltcrpusaemjtb +yrcrldxntwjoljq[haauvnjjxngcjes]xbcdbshuohzbsywbv +qozfnmihtjneamsfe[jfdqslwmptboaviodf]rsyqziretgwmxrog +vcombfpnxyrueoypj[rqxizqzvbrujvpzeyj]eqfotzsfjinvbzkqa[ckmyirbentdhlssjtm]bpbxrsmzuckytxhjm +gmswxzkpatbyrgtjio[fbbzlurljixkahy]gwflwjlcxueimxpbp[kqxjrocaeesnssuo]fqhehbvqfcbfubs[gkvuhwvcqwcrrkhezil]grcobkpgkliudgf +rerqcgcrmrjwopisvo[mjobdgcgjfhfrsbdl]czttuvsquzctaut[ejvbyppuwvizuok]jkkikqlxrtkafdidoui[atahuvokvwohmdpidc]viczkremzclprixagdz +gkclhykdqqandninhf[xycfgxegcsblneo]gnnsutrhiawojag[uvfrsffwgvguicsatsm]scphtqgsinhlocaz +afrhjvzdmgkuqxedrz[iqfxsgfubezyvvbhfko]usnqkhsaqzbxlwrhkp +zypbuclfeitifggvt[lwrsglntbtjayim]ouhetxrqvninyrb[tpinziedrwwfynll]ykfrpgtzayptqyxgsf +kftupspkougaaglay[vvwrbrdwspsiapielt]xgwsbslmoxgdsps +wdbmjjwcwqiwkskk[srkpbvvdvtwnrzozzlw]alhsksxvzwquswjv +ehcifavtrktfdqpaj[azowgmwpmtfllcox]ybphxyxgppbbbbwg +cuuvhabybpkahbsr[lqytgxkmjsdpzmwc]anaoznvslsjskrotxq[iaftlcdnlyassngmpo]jeleyswohvgttvqxt[asogccicasybdjbbnnb]xjgpqiciqywfhltdoiu +tvuzkpssovjjesovvmj[mjjzngmnfpqybsiew]woymfanfzchdirlsjny[evqflllhkgdjgbcmtq]vwdydggmtquosvvj[ljacempfdiiyvto]nivxpcmrfkiifkqrqfz +yigtzsngnqsknvhgzoh[hvqojvouoafudxenzlg]mfhgmrxwuiatpjl[qhnogummkmttjzq]yyimzaykeyzwwevf +bsnevxaurtvhgfayfsm[wwrpmlvtregqogk]ljztpmkajmqvxpjeywt +zfbglwoyycnunvqvjfk[dosrurfytwuqimjyo]ooyzdygjdfuruagw +zkypumeyryqvvdybnsi[ljkrbshrjuuistx]tsjhpxnwftwbiodghg[vffboahhprgzrypompe]jvjhodglmqrzofv[gckqpsxwsvobhkas]wdwpfhbvamigwwioh +asuqauczvwtseyjwjr[pdvmezvpgsromnzjr]tzzrnzxhwtbbsnqns[dnzehddcgphdmdo]hlqgabarrkohcqlowf[arbyvlfoaqdumsmlm]gxfjzurniztnqrl +jemnecgmqclfkhtqkzl[agibayjtgxgqbhj]cieecviyjydxhpqtmi +ycrfcpnlhxpuudih[dkhcmlueodsrhkdvf]blmlbpcdyjkgofpppab +hshsemucjtfbvjkuvff[ckfsnxldxyvouquhzf]qpaprbmqbypixwcdwtl[umbvinenqmkaahf]tmlqiicxnjylzvlh[fmfhshmpbglzkgpzqzq]mqkojaqrygnuzpoo +naduisfvhztcgbvnc[hopvocihntnmifabug]mylvwxpcjrdydpusb +zqiumzbuvtjmnml[wmcjcyuroilxqjwyc]xarapavsytpapahoy[oijdrmdcqqxvbxjugv]ijulmxsewcozweccqij +udjtlppvsnntinbij[gpemwsmeliaygqu]kwocmvwxwsurkshx[bxboasxdghblxfdd]vmhapvqdowfhnspdcd[fxblqgimrwjyzcec]okxtjdxbxkodfdelj +arjvofncxvnekbv[pvnkzxzmqffjndppk]qdfubuspifvklhdfnz[xuywbpsabazjcmgrqc]hmnxybokgjsymrfr[pcjulfmeltnqwdgxan]dhziboqlfozqgmpi +yeoqnmrqvagaqlfpmtr[ydthetcsxucabigo]dvflmflmasjaieblb[bpcpcahnmzpebjm]wxopckmnssyoestfwed +jmfhtybmqblqwzth[fbrcljbrybsactbjy]kwyhzsedbupaejdyxz[xkelfewvjfwiube]flaksepvrbnxhkl +gbrzbhnmcdraiwgtc[vofkibmhgmpjrbx]jajzhbsnpfpfncu +fdabyejddraehkzdru[bvuqnwxbbzlhnsxjj]foxgtnymvvgxdqcuax +pbronrubafqsbyuywl[pweahmekvuigydysme]vxnvvfcsoocwueg[lpfyjtausqifjkjf]ejpavauflllsgkwqtw[aglfvraefqcvmafc]bdnmbdfqsmrkqxis +hplgpsqindvcrkskof[emvbhbytivakzssta]dimlygtyibjkourq[aflpfhenbsnynbsxxqr]tkrydpxwpwswuniired[jvxntttkrtmmhfybq]ukrslqgaiwnvpwpv +lxgdetdknqcnhkgg[hjysltnxwbbrukur]mnhnulausnbauqkil[gxfjeaxublxpyodn]gzydibxeqdqabmya +hqootrvluszntiicxi[kztowjorfhpmorrfx]tuhzjnouwuacvfnunk[btpggtpjuyunpjstxjk]aenkdnqeiplvkrsgl +cddxrjehxhnupqhn[ceiljnpitbsrzvbj]rhhbvjfqenossrldcd[ssktaubkvbhmeaeop]diwvpexoqgnhrhdydb[vwntiberclymcue]hbcmpdypyfaaqvf +qkpjuokmdfckgwsxqb[nwthtjgufacubrnvd]ancfmxoggcstfbwha +jdsgtfxtbguxmgxlda[pmouopueuaeswxf]rbtjbiuahvtwkun +eavsfanypgsidjmvq[meamrzrkvuwvzfhvel]jdjomlftbhydrwy[hrpomrmkzcjmuiw]zjzdemznuqdjdcl +lyvndqjxtfqtmeroizm[xytlbvuqwjwafugbrhe]xxjaeqwajsppxohsz[rhgsvizplmcxbrxkxyw]dieefsdcyfvmrxldphl[ocoutccheggjuumrhdp]fkbuecxyzmzatduxg +ptmubumuunnxgyrfnb[dtkltkhexjhhmxqd]uidxcxhkkfzrqusjx[ygkeolrswndtvro]xumumfonyaaaimpmd[mlxvdjlmkqrokumobg]moqcqrytosfrhyafvi +vfhdeeaiwroouiwonm[livqfqfabrypituiz]lqvclevelcthtodgoa[bkeheqodlfpigwit]tsjyikidozuajsn[tejeozfhqymgtrlcseq]prbuabbwtyelcvbpqi +hsbkshuzsjweyvmrzun[nsqeqgcoumwhqeqvh]hatxtgouojraidbf[pgyctnhdxqciilg]nseeunyuuktlaoavzqf +nvjgsgvksbdtpqblam[onxrpcylneoituvj]rwupjyxptszavilwhsm[nopkvlldxamzifcsgs]lhwgdtwvqxwdrfl +iocscbzqelosidh[ajvmdchpjbmoyxippfm]vkvwlrzjuhkvymjpue[qjojdlbwkpnfrpfilla]arxphpavgccitscsn +bpzdizummbgyuti[umfowvuxplfxrokfj]ejcwgisxplgwnqhqfd[gllpovtgdqiaezjynu]ceexrhbagidoheofgqw[edhehtdulocwrmczd]miobdnzygqcnejuzm +agyubejetpoikadpfqg[qfobemnpktwzonhclo]grtzicybqioxvule[ontwoqmvziykoqjrq]zkfhnflcphajkunf +ogorlcsfbtqizpw[vwvzibjnyuggogek]rxjxyanvtlxzflndmu +rzghnhsfxurykwlv[duszqhigfaakyazpni]zanlsdniaswmafw[ipwqeinwqwwbzupno]accxkgoviscfkyo[cqlumtsfqedyqrhaxq]owtjrkbrehxickxghr +uxmwswalhobtwoaqqw[gpnsruhdvivrqwjjb]fvmbksyroevsbvndibu[tqltopwpoocxaawy]rbdulgyfizzivfakx[ylcxzochiicnvpahh]cuuhvbqtjnmqqlvqeg +sdsahunensbnagqkbnu[fpuekuqhxememefivm]xceqlgenetbttxzyve +maxkujsvzdxzyrs[kmkqpklwuuopqluxx]qjulksjczqsaniaapl[bfmdxkrpnyzbfwl]kmkzhwvxhcgiqtfes[olbrirzsowohjeb]lseumjgtliuwfkcwjuh +zrtvqmrbujfvzmx[pxcfesknviyyqlnhmd]gsvkihmkkssprcj[ztvlcrqmeijbusq]qebxpqnsvpkvvckaxph[jidjqotdcycwkfshyd]jfhmeubakosnqasglwn +glbkrdwyetczenpj[tlyejrblwoedbglgqti]sttadyzcqrvzcjcbs +dkovihrftwtckpsoqvk[sqwhhuqmhwjskrglh]ovtmxljqqjpftlnzzx[vywmjuoxyzvtespdg]loancsgqdwqyscuiycv +epqcptpqldqdvrxugmy[xavayqzsjmggassaj]wxurohqlebmmsqvyroo[gtcxrcqhiokbbpc]ezdabfqzsiszeyybb[xomgaqhvwwsivuqgglh]voalszhkfcblfxz +prhcbapdgoadbeexg[pyalqqxycuaoqdec]myvqzvpjblnzkusq +pdirmldathrrbnuddtt[zeecppidckmzblnzkyz]vbxxtkpkeicgbpkppt +iawzqvoinzwdwuhkvc[igswqyadfeyaptlwn]zdntdmakhaovgod +fnqcoengreadroulf[vtwoeqrphatxrvkvdk]knsybiwetpodzdqgzcs +rnvahjhgytckhhmdqky[lpnjbigewhgcrndffpn]gjkrcuxwubdorsppohb +jhnjguejbcnwpelycr[ikgpztaamxklnvyv]fmpkicxvfnnvclhe[kcpyonsjnysjopavu]wnltovxteksqkjfucjg[rbaxvfwgqegpwvxswl]drkfiaylpowhtcpenzm +cdwswlcqgxgzomqxz[rcuuzcswsvfgtmwk]gspumplvnxwzrltl +dlhpgdjxfwhciazy[qneycuzwxsyzqshgo]fabiheithimgvuutd[bpzghtedpteblrh]hbypyuwksljhzpfuu +opibgqivevgsyzoqlej[ymlegiphmkauexrjru]xjuuozqfolvenpiusxt[wiilmmtqdsdeduxw]jsvcngkbijoshomoc +ekfbxvluaktqgeijl[ocyltqtqolnmjyuwhv]sliymsbieawrxdlsfyr +pdngbgzmnnsrrjcacz[wixwkcvvzsigjyp]dhctuoxohirfiugll +edrtdpedzmgkqrav[smjokhaiddlruphn]qqxtbwfinzbqpejqf +tcxihpnktpqhdeiams[upgfvdpqwzezpce]rvcjixfhpuzjflapxy[rfpiccabormzevmc]miwirxvrpmitkplde +zalbbkaxlrybohj[boionrfelyhqzopglt]dxsufmidooakxqjjevh[rsqtktxcmnpulprbai]txlvqhklscqvsiyfo[ydlawkjqjzrhrfifm]xjctoioijmpxvieea +vipdeevvefietvdml[qiljurneucsqlyejwd]davnlwzdaybffwcmrcz[rngodwrexhdxwqgjiki]ocjjlelvdrpxweapau +dwrmfccsuoteafyr[aqvxmpmegdmjnzholie]pzepyhrezachltyvpmp +vfnjcjzdjfddtucj[drohdnwjjpbphjnpf]ftvkwusaityuvfbpbid +ebomxmxtsoxzfcnc[mrjrkrqdgqqqawml]vsynwjmfsljtggll[bcywwwuoygaluqibclp]abdmzdqtzsfvstend +kjpuoyejrawxuqzl[plvhmxtfkwkclkyl]sxsmgblfihyjzkutmec +mlncavlwrsndztitxeb[vzyzwwkknjesrpuul]tkpevhkhkqbgkhk[rseapawakskqmraada]yyngjugozryyyufw +bvruvvweoolynqxti[brolmcltjkgvznd]caraudepbgnlajim[iqwjfdegwujvthyhag]ylnddyocckhmqqs +yaoyfqfcbiemmfpkuk[yxuebupbfwbryelosz]zimrtasaiwswjtkqjgg[mrbejhtqyhdhztyl]auielhhkelkhauvmmff +hhtyuwztzhidmrn[cbmtytajekesqrms]tbrxoubwzrlservq[pzemnlshgetwstsobx]ujjldbnbdtdqawxxn[wsbsxdafuiyerbqwv]isscxkeljnwtmmeozgs +qmhirwurmhxmddlslqx[nrytkwrpysfciwz]vrlgpirnllzqjsryvds[zkzdjafrqdcuamawxcm]aesoitvmqoipiqljb +ayfdsbgixgwunwudii[nbjryuhypduztwtme]qvqdjaxhklnommvwm[kmurtrgtasrrxwap]cphgavlmxpuxmki[jxhybiakhuzdtiblt]peejojyxptyoxfw +npjifwlxjrpaauaur[slnjwuaubrtmunin]fgrvujsyqmsrvvatvj[vktxfyuktoarzvprlu]clmnvrryquzuwvzcxvw +bpjdzpqrmfpddpjpgx[crihpohiqjwsnalmzzl]jmtzbgtnnyisgst[cbivzxieujkyafv]ccuiewjddcmihjzib +tpgqdeddlmjvywnyv[hxytuwhkqotaoerk]kigirblvjlqobibtfqp[aapidzhpissrdvad]ptsfqadgzuooxjg[xmerxhjfounbkpaqiy]dbhiowzcxnwsrchjfqj +wszvslkywmqaiaj[iegzhxfxrlvulnayyr]xiosmugvcxmjyxnk +cpkvtblubazidrlz[sralifqozehxjkfwgv]kidnokqsrfrecsmkx[okxkhtfrfadokmch]mwxohjdzcbarffscd +phnmptjhtxyowwsc[vrydnmadvjkkzbtxej]ruedtwhjqtvyyqtv[mlkbcjboqafmlpn]zjdtdzsoqrfnbtyjdwe +tmspdmzwqyvyfsxdo[egzfsamqkywffywt]pyeaagexcowtsfmkou +wrsgwdygbychdkwurfb[yqaqfncrrnfnfwdrdb]wafnqaydtfkieaqcqsj[xxfqcstlgvfvrvpx]zeggfvimujyfnftec +fxhdruviojyidmpkxsm[dlbaklivbcycxgcz]zeaqtsnkqhvsbfsquey[yespxpiododicfl]lsjpyjbyqhhvvmaam +ohujtfqgaizdams[kqczofneshstkjsj]htpifwhtyiysusebbyv[hshlipnpqcmebiwqig]zhalgxztpvziabhk[fvmkqoolmmvejju]koyarrelonzlsxsxqb +rjeremdqanofigky[xwrerecxrafzknv]msegmlctiglmzhm +wzrqrftlbtgxdvoqm[oeylxjaajkcxlahxgb]feccwonntxeaqfey +mwisggbdmehfxsr[ggrthtlashcmmqcz]ffrbtfqljdupiykl[tkvkitxkbpmhesb]npxolidarjhvmevar +wktpvcvmgenvhphd[tqabdkgdoraemobns]eoelvneamiwmlege +txzkcqdmomjllkjeo[uypsyuateeywnxlkw]bsqmpdvfnrbccyt[wfrywqnthtlvxvd]bjwxlscdgjveael +qhecxlzrnggjcrpgh[actubihjwhpaogfid]wlwomdainewbzzgb +gwpaoficfntpnwp[dopmvnqmjvfgepvcp]xwndoyvrhpzoxplbxli +ipseozpnjsoglbbyco[rrnbicinjdeoaucb]idsrefkhujkzhhw[fiqqelfnipudhefiqt]ihbdrbbbsuohzbkli[xtntngwruloobvec]zqbdwntneqhriyzik +mjdgihtksktdvptbr[eyxxxlvzplionbxiig]jmynsycsdqmgmjol +cpzdbhjlymukncek[ktwhpzqaiflnhpsdqug]ahinmyerdwasqgcukrk[exenoptvvuscdjx]ulmlustxwxkanlj[oopgyyidukwkgitbl]jxycjwapchqeinrcrsi +ombigutozejjgvtc[tcmyjixyuseilatuc]citwznucvojehmcelu[oifbayqniorkshmd]jufmdsuejnjmioia[hedfrhwehgeeyvhjgg]wzsyefbfvkyecbv +gqpjfhlhitdmrnkha[mmsnkathtpqmozo]lflqxjezbfjcbhwis[wbpcaefzglezlhlsoqr]lzivikhbnebxejn +angtvlxbjvktrfyb[yfbemeevzxxussud]tsrgzeftntnqmuhpnm[mnbyahgcmhytrmmraez]amhdirmpcmbrpdxc +harqlllbmhtpaxzjjh[xkzeplqgjdzrjyazoyy]lfmmisbzfkmseoeuol +yrckbqnwxtgmnxer[pczzgiirwcclldnxc]otioezhuqoiyklmg[coquiyvqkilcpgyvma]bpszghhrojkrqzepzv[vickiaeqqgcghdlq]pqskdwwitzrxlkxdmo +ppeznsgdzyjevdloldb[ygdbpckiuweeikylcag]fmwydrfplxwfusrlhu[rbpimkivfilyebqftt]bgnmmpjgtttlvtkfdm +vxxsscjtvldvkjk[nvmkynfzdycsligb]qbbxlulesmgeofbucfz +cbpfxyuvbnvprjm[pdxgpgexuewiwpy]geetyszhipiwquhkrbs[ovrdpmqndfgvglsaay]tmpangiyesywazcq +mlelxblspmvvfgvo[ptelehzvjrwrlxrzgn]jpatczdrgnstgfoksno +kochkjczpkiaoqe[czoooaoreqawbszygh]phuymeqpkknmgikbk[hfhjkyazvsvwrroqefj]dwpgqayhluqmoqvc[rglpkmnnjshoofo]jkgknnarsdsnmrxei +nqetlmdzhceirxymsum[mrxutuijrfvxwojdpx]rbrkmmhmcjhmham[ureyvovfjlzurim]fcilszxoonmpskr +qinpomdiktmjnukq[fakkodqaljriloef]zrqetpitdrgkqiow[ysiwdzdzbvzdzckzeom]otcixtsrvbrjalxfow +piztejvydqqvjkkg[ftmdtjtrlqmjulti]wplqibaifeirtfrjtj +sncqvatultgqgzhkvt[ujnwmdzuvbkufwy]rptturztojoksumxthn +lkccghjhovzlnymdi[ipqhegqedeziwksvuwo]avmmxxcdlkbnkiiu[fiykexcdtqgcfhgnc]sggznkzogdekxzqwik +zroolkazgrlhhweycpb[uvxxzvdqjgcxojb]ovvpeupqtbgmrmzii +npeueigepsrcqmi[gbkyzbbapmhwsbwhot]mcattssrcvjbqgikv[alidltdhsowtdunxemu]wceeuikegpguotzfo +msqqyxhmqdgzwnorgek[ctwnzrjovunylux]gjmgfxulnkzpomd[qpqxriciiahmptjdc]pmwmlsxnhstpdrgqxl +jryvcqihcrihdrq[falnalaurvnhxtrx]lbprlsrxleillnekjej[scbagkyqsvugshmnhpq]dhfipwazuqfilswftbp[bznzqsaoxshgnzf]zeqfsfdcadskuef +meoabvyljotovlob[seotvcvzmsazpmh]dvsvzccoeiagweisgjo[tldriajgsyunnarj]mnxajjatoputsqc +hsomexarrvegjsncnvp[owostppfysciurtaeox]ydkrqxnugvxlnbt[remolnpzrcvnjgl]dtzxistsfmnzjzz[dmxsbqmuifcrzeb]wwbolbbkpgomuato +tpragfzedrmmgpk[kjwaeidwcbtdlzzct]arpoighpefncvsguf +jnahdkxrugopswmjh[afmnmlzcrrxsqsy]ozsznmnsgixpsmyj +sgwrdshabiewpru[xhusqmyorvnvljtv]bvdiwtpfrquzmrb[lenayfoqgnoniyfg]tlqnncalrfmyafhx[mrgyvlxwstunpho]duxtxhttiljllpv +lctkyqkxmcmxfnwlnqr[adtbbyggosjpkwoqe]ranahjbyuqdtqioa[oeqlsluxrigrockbscu]dqkskmoojroxnbfpkhv[ibgmsjsvgnpzsre]zlsvxibbihjnwav +fbjfzcynqyfrdztnm[sawykpgttjfdvnpxqtt]nodtnsersbzloknawh +dqjbacykheljseoo[bjqwrfdzcmbslnsm]jrmsqeqirrytdvxgu[lkokmohbctwluet]ynybsmparppztsp[kbaumtgmqkialkhngm]nsziueobnnpxlnmulsn +tisslyzilbftduf[jmxgtrkbbwkjtiakqyb]pukppabuexkawlvfirb[qqwizkxfjyeqraa]lifnxgbkvmqzwech[pglloqzffmdfvnprdm]zinwpoxvdvqxbqtlrl +cnizrlnfkjijckzsb[oerjeptibzhlgzlzfdg]qstduvphfxopnqf[upeyzflcximnuzqxsa]jgixliapewdlcbpnyrv[ctwlfphvobmlryu]mlbwsfngnsxzgcpykay +dqkqeloraoesunffr[eljjorolyhkilnhre]tfruvtvcplibposws[rqhdcdrflilzsovztd]zafswainttdvnsv +caqmswfuqhzwahm[utthohwzvdvkygvtmwc]saiyxdvdhwuuogk[yotohbjjiidvlek]msuutazafunsezfhkdc +nszwxyckxjqagxacmie[idgxepheaisbqiklj]yjchnnvclhxolabwe[tulgbjctxgwmlzsevhl]gtmjqybyeirtawns +skqmdkxrciimqws[ltvmwavsmqtazsyqixt]mkujyetzgrzsvws[fbwnlvuifvejpid]honhapupqpwgkqpqgrs +gnrkkwutbgipulv[ugzycmyksldeekz]ondonrrjdpmpvjcco[rjtfixwthzunvcmo]tmzlbouumatodkkoy[axbrhllilekchiywh]uxmlqmdqeiojniemlmy +tmfslcwjcikhmfzaf[qurjbuzwsjanwpzzg]gebhiiqfqbvomtrornr[jkxyfqgsofhiayrqjvf]xghtsosutproxygacjs[hhlckhpbavxrwtvcs]vmssidstykmlrpa +ozbatmkhspekwmhwe[ujhbqbtjvoylcvqlkx]gtgpinwpkupccawkms[wciswpefjdblmhtcma]tzoidlomkytdcaa +giydlwbtsyzcjdf[ipbkiwbswmskypr]crzphguxrqikinlbsv[eewhieifnykcfqh]tgjrfjrxoawwzyoutyv[zusdmueeqvmvxtqaeo]bfmftxmkvmvhihi +xhsnlhdcbtkwzxams[kicrgafosavafalanl]kiudywnmotnvbwjenxd[lnyrpscfwepospzh]jlzlqpnhnftpcasja[cxtihfafktvivwxlz]yqvcoygrdnneqvtqhko +vdgjuhacuxxtuol[siwbfcjzgljjoqkgrnn]yneulzjpzstxxhqm[todbuyluudlqzlam]wttrgyrffrjxuxfuvaw +zekmqyjzbfvpmaajf[ktqqavrjjelfbdn]eomdnmztvnvqzjwgk[msaoapezsngswsdpkdo]rmmiegsyxumfbldlxl +cpzhrhtzvfjryylk[dlcafaghydzwzvfmrsu]wzwgddkyhuzcbcxwm +tpdwllnzetkwdiertzf[uytffmmoqfyvxlil]mwddrfgclflwomxn[mxvgbkviluttxvoq]mbhvazwiqqhuazjv[jczedypigyvwfogmozj]fbecrykzncxdsavvxx +rxycqatzqnnedowjw[kyebijgyhkxsmmzwjso]ycjsprmeuloxojsys +yrahguxgdpojlbsunc[nibsoqwmdngiuoqm]qrmbzovtxhaagxede[gbkwgtlztieebwads]vpgkswbivflslzw[liexskaqfxnuultilot]ditnrqdcufardao +amhvhxuzczeqyvug[cmjslisbthoevajv]jmboodyrbrujqurxyml[alvlaaljcwcndbczctb]nnvgsnyqswdfukkcvfm +djditbjgwvgzwqrzxl[wwhufjehdhvfbtid]vbfgjvcexdhddoetp +xwpkabxsvvjdzzcoqy[vlwmdoystpdphlqi]rgvmbeezawwhxuydf[bpxpjojokfhfenhzf]hfhwcotubfqeifggh[efgchhmarqrauuyxzz]niarsvxffnqnznvh +vgsnvuqnqguoawmyjv[lqtnyjvdcgetigvue]gknvphezmkygcdfwz +jiqekktahqusjrjfg[kkwmoesdligyzpsrw]drvmqrjrihtrpxsp +cfxqouqoyrtrmsgwul[krcqwokuewhtrtrk]wglfcaaoutbphzeoufr +krcjuyvrixmjatngm[ilcxcpmddvhmuok]ixddhmfcwcptrqyrbe[eyqslxsljjdkcunnxn]huaoukjoedlwwxntqsd +propwkozipucatnxp[ubbwoktuonjshvh]fdyclhistxbruhfmjb +zramtgcbvsnrvizljhm[iaakkvfefydrsaa]huvvtzuactjvvnxzrv[nutfpjdxqnspucfhe]pncrymkwmkxxuaigwm[vilnaguyrgpkdlsvhlx]djaqeojynsmzqtr +zlbcznpljdajcky[txxrusosejoagtimamm]vesvtclpfstuzbb +vgvqmlevdhvoyts[gbsuzgvgfysifdg]kfpbilwaylcrwsrw +xhwzfeqshthryotht[qqdjzzytbbtminpirtz]nmqmigjrllelsvrqt +olqwgrsnjunojgxvvg[jftcwkkxoywvsycj]fzuuwaxyjpwkflsuk +wnephsbhnbtienqsrl[mvdkbknccrxujqk]tlulkpglsczyararwgu[qobcoznhcqljmlee]vqhztqbzqtqebarz +zchpslpkfcsyrhwwqsk[gwutlmplskealgb]fvphyneeapwhowdmws +brdnclnxyvwujemdb[nibgwqgpdriqsiqabxp]edugdeebwepatweb +etohhrknjkrsrofpva[laoikuanqdhzhxoz]miwrhykiqjommmi[mbadqggmzikalwivx]scjuezuvuofqrtv[ylbmqjdvljiuonabqie]ivbinxqowbcsyrdggq +gdhnvymhoqiqcen[kfiqdlwouzlyigbvmn]wvasvwtbxhmqayqit +irfjmwocwhcnapx[smnacotgotkxxmvcxzl]zzhuwerdsvtlxvgmuhd +jdhvzkocretawtuy[dirxvaypanfootgpg]sulipbxsevezkuplfvu[buglivmjvanhdeh]mjghduxomigwatjjyau[jrglsesypafawdetc]rbcyypnbbzyxpkwp +lugloujbmydpzadmek[swymrdltluxdiydudx]alziplsazemkaxlw +oajayjpofpxmuwkk[skpprqdrpbsaaah]cuqbszauqzdqkjaje +yrcnleavabfvdrnwwx[lrdxcmufpxchlcoxgn]bftwbeylddfhwppa +wbhpgqofflbjprdbed[pivleadiwtpwxehsx]yngfyllzfdqnfzslqmt[jvpqhjmwrnzwpsowdq]ffpsrssendvnbjfvxky[haovhxivmhlxylxjvy]naykgcofcsvjjimim +entykgiizipookkli[pnxwonezytkzizn]djctyusggqtxfin +kyqecdnicgswwzuii[wzuayipcyqyhkrgn]acboirvuomfyzzvpzxq[zfnjngeeqhtjlbox]sotspxbjtvgwzujeros +axwvnfkawewaqcn[ylxvrarkihhghwnnhpd]youyuctonvfkycujg[ndowdbkguibjwnezscq]pwbemfprwfluppso[wviijkovswiijhki]ayxmsdmenoaowtrkaok +pflwhfiwgnkpcydia[eqbkfyvtazvcvynb]rtlbbqdcyskcfksfncz +axtpqspdsyplxla[ixjtrrpgiwtisfa]migiihkjqjujtuo +xbddeupacidwjadcy[dkpxppwsdycithdax]ebuhgrtzzohfvdswr[vkwrhgaekzhgdsu]hcjmrdqetdtsraxb +nsnnwuqyzwcuesddrbj[wcqitbuxuuwmhwew]hqiivttcuhsyymf +ebtbhsdzeckccxazm[hyutitdfdcehnaf]lssdlpmilcunndsossc[lkzyocritcrjvsjexm]dbspfugmkadlptibj[jkosoithwambszidrv]mtalayhwerzevsggoy +tqvxyopcaqbxmmo[dubscyoocfnrecajq]xkidwmmecuswswju[fmizxytmaaaatydnms]ujzfpojhdgwxfkllxtq +narzmyxnwwxekfdec[gxgqlhydqggalwflst]hgsjfxokuhqpnlqhypk[ndttgoqaqijbisidrj]yxhniihdgtuteqpf +qakuvldgfbyggudoxir[kdxruedrodgmlabaked]jmntlhnsiamhdytplx[oeoyvdghopnwkyi]vvobbnycnmztdav[apfouaimoagcrgsksf]epwqzhgeehfvlkfhf +eiykncarmysnjutihnc[fqpuelefydggfxrsys]bsdatjqsvdjyqdqjjmb[icyklfrisgjakyg]zgfcmwthiddozpikbm[zmgydgnetfgwchrmwva]sivsaiewdynvetttkzt +rfnackjoyyyoeswm[xqqhgwoddznalgvck]lwgfmjvqteafuyl[rhsqssbzxbsmqycnl]msgjewoprklxehak[bszjfivjtabuhcfkhq]pnruvslhqirnkkzq +pckqhzimuhfimxhwf[ctbxbyearzeioufp]ehxddttfuamfvcu[rrtaouwghsvrqpjpfkm]antkzpqqtloodjdasm +muqffnswbawymkavyol[wswnuetbxhczktsdv]zuplywzhdlmsxlvs +nslftmwyosxkobfh[izvobolazeuysjvatm]xebobdjtrhrhkrmvv[bmdigthmwjhldqvlqfq]ndaltyiadsefvsi +bfvwiauiwamkbhmm[rlkxxdlnecbfdidjhrj]lgphjmbuenctqdfrk +ehevrirxrexouxz[lzwxlurrxziddskbk]espbcrmdiecksulm[zraxlukapkqlsuc]yviwwbriciriwiwjpej[fbowkyrlzrjjhhgf]mdnqnbgdxyrsmegdrcb +xilhhdrhwnsvkpmoeue[wowmtrsximygvxdafl]xssvlbeliybaijtny[prcmeegqsfjbcohdpxv]dpetniizuczwajv[uyfjnwqusoromgzksp]ekwshnolkikatjguvuf +wekevhtigbdphsofsej[uilmgqhvmzdhzsfelu]ydwqjzvwmedhbzdcmb[qtozstyksbhavmcqiu]bebbocoyjgekqdgxm +tbwzgbkcknaviqoggh[zrevgzeesbljofietg]kxznikmfqbwaeuq +kflfgylometspzel[cgqfetyqkzubkag]deuiudubpfysursxokl +iqtjjgjxnsbnykgm[vkiuekflqzslsmopei]ryohrnlqmbykzqwg[lbpxmabcspjtheybtkh]vhqxakwbcpqyjrfnx[vdzwkopwawjqcxhkahe]sfoqyahukuihbtqhvi +qaictcgbguzipbisold[hojqbnmkhkngozfodb]wakvkedbefdokvfv[sqkwkrnwzmmpunugkmm]wryjgpkqwzuknyg[qwtwcfthvigcbdr]lxocdlmrwvhkrkn +ududehnmfrdoktbd[pufxmvmzjanjbqsr]rtoddxhiawrkeoauri +rukbdtvpicjwuqyumv[yvgcixmnycnovfdbhj]rrjgiwzcdxsafsfz[fndydwxtuethgxm]jciitwzldrhspivji +vucryxrucwgtgzwi[xwofoqmmwxkljwktk]wwugatiltewscpybiur +yzdrklgmcntpnfg[juqlfgvojfhvlurlf]liyjmvkenwxdrhseu +xvjdqvfwtgqdwsihxw[bcntzekkpkmdltskkog]immxoenmycmhvvzhgsx[alsgfhoiwjyvxoa]fhtslhrhwkjgtqyaeai +wowkovhlkvxjheejh[admlixvsiimqobhano]oidtxpzztonwcyz[pikjjhplimxuhevzrgh]miayqideewkxzwnmcj +pjeseijjihaonoq[txkdywynctkzvpiled]cvmyxdkismztamreewp[kaavrbjsnplpnotid]khhatrcrhdgkopi[jbviaiuaruauvsqvx]fhlldfgwvdizctr +gcaeermbxewdavjlvi[vqdmxnlarauutud]bxbofrarnzczuoxxa +niyxuzzjqnhpxjty[xhwgwjcloshkmzoso]fldzmcgzcppykgw[rxcfbfvhigzeoaktqg]solflfslrlrillgthks +qmioroqmlffmywwddk[vbjiakdgyjbaoavuc]yvogzlnaqniirgrkkrj[wwuvwxgvurgjesy]kmrjmcfwjuuzjwfxi[lebewrkdhvsggdaw]jttnqfljqsjtdmp +yhtijeaefivnygi[wkudzhsjcozzlnyjee]ntxrjzabhjvqctu[igehfdhjdfubncnuao]mmuwhwaptpkjkjvd[ljhdqpgbwtgyusaw]mwucwwnrowenvcbw +cyuhdgnyofftmmzdi[obicobmzlzbnrfjnpmz]npdjnaygejwtbthe[ygsqoiefkruadykzfai]sbrmxcyrzzdsfohgtj +opeqdajvhjiugvcxiw[quzyjltfaqxihryu]vhfagbxcgxrqdczd[jjowwatsupavhgxfnfu]oldgeecwxqagfpbk[tuzmayuqfuksnyryhew]mxdqzcmhalomsfgvbz +rdhftaylskrfkjohoir[ysctmlberwqiikxcu]tlrpfraenuzfrpk[xlhhcelpedwvejwe]xdbgjnujbwitikd[gkgtcmffhhuqkxn]segxmelqplxhbbzv +injvfyvtmujogaddbrx[odixzqucrehbgslji]jjknybzadaghddrfqd[jcixygpikllyfskzqw]vkosfpxuxqmjiqbzfw +kqqmwxsxtyamjjqq[scpptfzdbdleori]nguruxntqimthwel[rgpuzmxeitchhrur]kbqcjdxjhfpszolrgmi +zufcvxfzvpbrvykpv[zlcauolelfvaiypfve]zbthpzxexbtckrw[ldyacezfagyjwqk]hpytjdoqgfthbjkde +tushytgozshbpgrlano[hjcxnbfslzdaqdbcw]ubxwonwwknpvgei +wvomkcdpnrfwstbuxm[qzhtbviiyiimfewod]ynxwecqgiqdhhwipprn[yvzjwmtwaimvpfkccq]mswrpxbfetkxekd[opflvvsavcjdphyarf]mdmnmjyzqodfwfgen +uluvkzyxcnbwzfttgsx[shpgmagtodbjbtqjvi]ejhtqxuasfxfgaikc[azwxnpmfeuhbvxbnon]oatvbmbejhdueipsph[qsspnbldwxgddfn]wlyypvjwpffujpngp +sjqklwdokjeiorcauug[cyhlocnxtmybrvh]bempnpjdqzogzuzmsz +xgxtoujcsrnyqhdvms[gggquuzjetryhnxy]bzqsntkiscaqvdk +azueqhuwlzetspwlw[isgjxydbfbatlekzint]vqempgczqzswavwhvzf[qwumvvbvqgtuncncemw]zjslwlmgybyqvxffyab +npdfefeoncablfmi[qyyrhbuiidujkkjvcee]hfefsqnphybdqaizbi +jkwitzvqiqjlqriy[vlpxretegbdlyfuc]kxdhaspayozcykqxnjr[fxzngwrrraafxaez]tdzdrlwblwpwmdbx[jqnafjuaitsulabtk]spirjhmyxgmmlbvowyr +kmfaxysbsfrypsrh[hiibtcvkvpwijnrsmiu]qncqqsikobfzvhg[bmolxnmwlmeiyfvw]gzukdtdvorvcrjwk[ouxxjrunavgbthjym]odgxsgchbrcxpday +oyvcaaaizwestol[sibfdhzevlqcidfb]cevjafyjqdmlizirxs[yrkaxgimpgmbesh]tymcjuzizpvblfvxh +huvvnlzjmnmshyakzzu[xmrsbyvcnlajplrfdwm]sdmpwoddghgvkhe +poceczjudwhblovfvqa[lpsplyzlbpunkdjqmj]qenofnsbobsjbkv[csiibwcxubffjttun]nycqgzfgplzuckayy[thivzkknlmkaehqu]rzafqjkocucyoyr +umgerxoezgukxyhda[udnwdyiiszdigpqblq]xtvpoorrgfktxbm[wlwyflwliylbnxr]ssvudefpgtpzdfbalc[ebybkfjrabrhzza]owkairdmhvsjpzwyuad +iotquyarjddmhjux[krlwbtdcmibwkghonp]uaogdeakiayvaohfa +vpditeamdhqkndvp[hbjakwvdzlcnjbre]akalgulrzldkpqeyx[rxskxmhfaavgqktprky]ggswkgrbdoqxqyum[zeuxanclgtvfkzets]tzmpslweurcgotcwlpw +xlvurprqkyfhveu[olsivkdcvnftkvzio]tpqhefnhnguehdygrg[rikxaftozuxwualvvl]zirbbakenhipnemc[zpaikvorhancwulm]stiatsksuvrebszcrn +uscekuskotlggcplmg[nghajkwhjhnvqpq]jylmftnlcvrdtaaqany[kzrxccmnmzcrlynb]iajudtbreuzabwox +btvaxuxrxfdikre[vtaljsnrxrzpgyc]zkhwkfiwvdpcdynodzb +fqlpngnekdjidiwxpf[tppyrsufeereqqjbvep]uwxflzgngcbzifi +yypkvetcckdupqj[dwmcrcgdzivtxaeue]bsdiqymfwfnqsksj[eethqqykvevzbgttcwc]asgisawuoghwsdlrg[rwsclixjrsnqoztah]eybibzkeyduetgndjt +nouxpwlpeujctmznu[ogcakcmynctylynb]hqaoynpaeugcgmbmyk[hnsglkzoniolxxatpu]ntgalyvvzdkehdn[djvubtqjkdenibff]oiuakgqkwtnfztkqey +eocrudbvanmeahxep[xyqmdpkoioduivhbzm]gmoduclrigeluigpg[sagstfddnkfulodix]ejdxzfhyzlrpfexaaft[hsxoephdrfdbrmw]zjranqftwyixshmfsb +bnvmgwiyebssbex[ydmpddmiufzsyutzsl]jbfeuvdopsxgbrwp[tdtqqstaghyfiitewo]enubramsyyntisl[dxjbeopghthxbezi]ddrhwffptofizthuvcg +mrkvnakfikcnzjrs[wmeoyixzflynnivv]kwegfomuvatxzaxxneb[kmknnezqnzahkcbugkd]ivvjpqgacdrkfct +aqrxsiaqqsjkezjp[tqcoezlaywofuxfc]itlwcghxjmromkbtj +uphtgvrcbgqdluoqf[uyelkhpdxkprudot]gqhgpmiipwnhswapde[gnxhmzaizakunln]uqkiayhtvfiakese[hnwtvefvhmcexgqbg]uuohbcqwdnopgcooslh +ofisvykefcdrtlhn[xlhplrxyrhcvjbzyn]yhfoyanxauhxlqvkuia[xweyynfkgjbaeaobbtb]nljayxomtplrqdbnsdy +irwcmahzzuhwoco[pywamqmhxcpklssms]ycnanipenscxuuujk +gldedzdlrpsyttalcil[ahiqbcuwoxvnfwuv]ikckzfmwnrbxqjmrt[vvtqphedelmxdznq]jegbtcpimqvzsqlv[bgeyfgpgpvbgqorpn]gxtubvakrtfngzg +qipwsjqgxehdkoeqzup[taycjunkducebbguxk]lwpsfxowlqungsuuvns[cvgptsymhdthdcqhk]khuernejpaernwc[kbeupclkrhwogudg]zpcrhbkujlzucapzli +zaqhvgmayterhkby[mlstxdcwuoseumegi]mvgadwghnxcxbhok[uropsqzmmgrvroox]vxcnynjnfkhhxekxh[qvfloncuywkwxuonf]jibqpdtlprdmoqju +vtzykmztzfrlrlxz[rpaujbmflbfcoudvxdu]hkptnkphktizdllxtag +laqwbulvlzxmtxyto[widsbhxrcnvxjxi]uzpkbsbinvjyspl[ooxlifipepugoaiiej]veryvtigxnxtlgprrdr[nymmwwdbaxhwlcj]tctxkwtpdgzhozev +evnslwnxhtdaqwzi[fidwclqtnmnoxpgbmg]lkvgrqkjtssjeqcwhm[wxgrhzqarkfjixp]vjjsmpxuicpnmjaorq[lgotwrhfkjsphecl]wpqoqopcaqtejmocf +musaatkqurttqdwu[wlewsamfpkglizjfwzg]deddhkcblzeqstzkwex[kpwodurbmjfighpfccn]rsipxfptkezxfrmgael[mfatpeazpvqizrueeq]mexputrrdbdetqj +uzfuhqnamjieqvpvm[yttstdvdeetludj]nnpmumvmqvhyqqyqrdu[lslxsmbibrnzzwzeh]qwcannkcvjosbjor +pwhojyzeljjovmiddy[wiiyebjzmlmbqor]brujpcjybxsxjluyif +rzqcvkydpfafphnfuxw[ylfvbbcuypiimbtu]mljhteuhqnjgemrbf[ubxhgupkdueyiftcsqk]qkunijpnyosbstyew[ipnmbxujzvrstqex]thjsyvvzbvdczxfs +wsblqglvlissspebeze[dryqgjzmlmfzbxdhjz]vktdwdrgbnlnaqot +ffruekflozkbstzd[zssdubcilkvcjes]jaeblucjbdtmeqhbw[xgvggrxtkwxarffjlv]czyquewthsfdxrk +cniminvskbdaxkv[ijadreubnkqzezswoiw]cwhmefpjicjimoj[wjgozzvqconpnyectbs]iqmzyjwigejhorl[sdztpfavlnebllxtbez]idfhkfevdqcqfjufy +oudgqjnggunqjrjz[hgpryjlvaraueruq]mcqehhcefxyopvc[ayjvgfftvlwsiyk]gdojvjospfdqvqxl[kjsiatpbrjrpywococ]qvktzuihsoxfbqoj +bwwanasjfcwueuh[xzhdtxeviylgftbsbk]ophpbpqahgfkmjasp[jbetyvklnmeetdxak]faemvxpwngcukjnil +pxsdsgcvmumspwybbeb[urijgngfrqrvtdols]bptfhcwicysrwjxx +mmjciqxcteqqhaq[ndasragkigfuxzp]nltcicbzfmovoex[cbsrhlwqmqnmevb]ovwgnnuyesrcpnatw[imocdvymixwpjmitr]hyqurtpjpsatmpj +glbejlpeohjojjmyav[ouuwjsmbqixwyqypzsu]sdjaymyedszekjwzamh[gnjobkdszvhecdvy]tkqdpqbsbkzxpyjwsw[dldgxwoqdezcthkwei]ggojpvqtlngudexbewm +ydxjeduvtiyifosnix[otekexetfyqayuqyjx]bsnatubwnbpsxwlpbqb[fysejpbkzpeyinqixpd]vkuyfafgttubulw[nibzvtwbnlmpppjkc]awpcspvrmfiletq +lwxmamtkeknkbep[rjsxatudphtmwxjcm]nkndjgbakhrobpn[cqybxxyfdwtizrnkh]ahhzlumiagtmxdkkohs[ovelhnybjcdrkjjmkjh]ovbxtdduflqxcksvvu +qvmxtzslelfsfrngn[ticxxcqkdluglnbgp]agkfskcvltgmwhuvluj[fjlgeicnekukeuu]dpjoqruzuxyxcfy +kpiqmomfmfbgrlb[chwgiqgxmfmhcutz]pgrumtfxxubyvasrabo[ebbetovjzkxdzazg]eeuagvrmpnjpwfg +noxoyhihdeligogdaov[ychjdxngzmwiiixx]tybwwnnglqneitnk +oorpjhiybjkyvlagofi[kheedkfwolzrfdkqm]okmtzssvifokeon +suyjtqxpruzcxhpgs[vkyywjxcixnbmol]snrojgtydofquhke +bybicdhjalejbcm[dggfwhcvoqwckmr]kmpndsqimreycclhv[horhykpdzyayzfeajxi]fiwirgqabhxiyhispkr +svnwxhhzpzjecgsunv[ucxaxltvfvvbbkx]gdnxojirnewoxul[ynqqsklepjplpzdf]uchlwfjpjvdmmzqn[vgmpooqwxgbtxnb]vicbdsabgheloshq +evkrrtlgxkqcxdiy[mzwfmxqzgltuosd]xyqmxfdsadcnrfmn[katwlzwygzdojmrqf]tjdigwqjkleykrzulg +etvhempctsbsjhia[hszftaetybcwkfkf]mhstjimgvbnqzodxtft +jiekosnwxnaxofz[lhamyrnhvgxhontvm]bfpgkvtpgyifnbcgqbl +npfgxwjehgiqlrzxhjn[nwhjbjfbqxnseuea]qljyvnnvuvqwfvyb +bvwfsaszezpupzql[bqrfhsxexnmquabsqgf]syakhgolmoqvvrsxop +fuuwsugvetzhnetoahu[onengpdwpajzmeohk]tcvwloxqpkhthqnxcs[ukwcmswzifcmhiha]kirgngmrzosqabpck +vqbvveivmpkikcnc[tfkbrzgflizqthkykuv]njbmalpsbacflucmmi[ckfzxunddzpkxmvqi]uwhdqwuwfnslwphv +pmrnuewfikiezvei[bfbtruoxycikikpcyc]vamnyumaydydzwkxsr[jramendiecbuuibq]kwyuerchcaimcxnic +psfjhingfafqslyevb[dxdqwntovaclmmaifq]hgddmbzggjsukfqn[iehgucucxdkkbczbwu]tliayauxvksvbsrz[xgproikoestjzvs]iiaallloptllpslxizk +ptzcphcqxymoepi[ximbbofoixthgsfmwer]fkhbtgxnesptfxo[dltozsoayejigey]cdvzutkiqvsbrjwqfou[tymdmriuevcxhvramz]hhgollyjgqkrafrfie +tdibhwxwwhhzpijdzz[sqypuaekacwdwhszbr]qdrmihbrbuxabxordd[mvpavwxzmpyciphsgdk]rvqvoqogfoecwrviaxf[lpvbrbrbasyhhvfmevk]zwivpinwcjimtnoxgyx +xgpwwhbnoxxyhnti[spupyjyklqcfcrefzs]tjyjeirtirtguqy +tlticbaiifqomphtgo[ucidqmetvobqgsy]cexdvkmfmjuvpajc[qtvgbbokyaemprq]xtiuhiivmkiagzm +xhizhoimcrkswctiqd[bhnunjcqkpmbjbx]hsquqbbocmmcgjl[lncgsqfnxwhayqlgtvm]umbsbrununglhbywhdo +kfwckxghtknyftyal[rdfhuewarflokuysiu]druofxpryvgicna[aeqfoozbpaotzquzdad]msldyiqrtycxhiqh[cumdqmrioeuerkvt]batrhqbdfrmthrn +ecctdfmbntsgfxhrui[xbuzjjikcmzzyto]tglacljanlkcjcosg[eerzhevgxsqcazkrh]lyjjxoyajpohihtra[irzyelpunscwini]fipoynjpqfwbpbuny +cuicfjwvgxclvlbr[peencetaryxtokzglo]xcgxarlhlqfvrrmsg[osfqrkexsbiluehmrqo]vqudjbcdiefbdrgdsvc +hudturxiykqbhvtnp[cgwvweqwlqatalocwis]khnxltriotrxhowqnjt[qltcjnvnjijggevsi]xyessxocwzfylgbmbf[wvihwwgbuvizmdtcpj]vjputcucxgrrpshwvr +qontatknuavykvtf[fqataguubcwlkwoij]nhrqagocxsfnizqyugd[xbdsunkmaljsowsvtd]albwsleghhrzfasvxdb[ekbwvesgwlktbyfi]ahpivrhcbfmfiraefn +razbppidgxyqkix[iaojfemaadphewn]qsropygqxhvvffvbbxl[bsmshfrmhpxspwstmc]idenrfrlmvmvrhiqg +ezmsixavqrtcdweh[erhucwmdkzqroqydbdw]xduhirzjthmspuekilf[jkteqphnbaueghw]kgumwbmwvraxcqpbcrx[vrvfblfgwateblxdp]qvhhrzqefxjmixgdd +mnohzzpvbqvocixwic[rftsqeqinbucemtuane]cgjaakvbjkeckjjwk +awhsvmllfamakto[mifjbziwmpilqcnuzla]khathebsulhbftma[uhjhswjhkwisyvzxkvk]dibbnihlgfzbjzbow[kdiwwdzcdfylmir]ybuwmrecejnykgbl +janqfmfuawwswuugiqe[pfnmfmaelrxtqccxi]uykffpknlaadjmvm +jnfiqazxxxtszpkm[lisxpoyxjjfanndp]fcosssblnacsasdaw +txtcybvnnstimcobqz[qyjwuzonancogfe]mssglofrsrfwxtxm +ohdqwzvoieteveomjv[bqqqlfljbhdgawfjm]odlsebwuqlyovdhehwy[hfzhkyfailtqkdp]lremjkpfziwuaryxpk[wlaublawtroosedg]npfndcdnhjitetdfo +lurbnwckncgzery[yebfwvgvbenhihuf]aduwmjxhnvbwamkbri[bpieulneazjstbgg]tbikjnilgrwaguhha +cwdzcfrhaawitymb[wonicinanpugaykelx]tkaoxweodyzipjg[qkyrvdzwrsjiuvdaagl]jwofcrhsxjoiyjkjgj[wvycbhaegnztzomhg]mdfipblyzperbqi +ptzzstcdnlenuqdcx[wlfxdepvxywerhfhon]kvjohzshgrvkkyn[yohfvbsblxikjjh]gvjsoefdbyfdmmtxk[hegjvzccnubabtcaupp]mqvtimezjtadjls +bzxvqpkzncewqsfa[fpxqxvkbnahpsdzb]llhleodedtstemne +bxizdrcuhsvclyoj[qucbvfywhyeqgdfdy]liybpqoyqhmgqhgeykb[jtrbcsxipdfkqbjxdyr]xgrmrqmgxsnpvjrd[uhsvquzbapgxjtepco]uniibzzwcgabghl +toznijfkljjlbtdxs[gnfvczqbcfgabdtrqzk]wwwptrvsnzeqilx +gaqvddsfpndkdhjqzu[lqbvehvhcpkjjqk]mrklccztxwvisbn +ibcsjmbnbnmvxhayyrc[woibnbdrmciwcahsk]rtmazyblmbvgania +ugfkecybxxqqiazk[zhaamppzqjcvlpq]hmczfvebpvstwoheixe +nmwoebelxebydhkzp[lyuafpdbyqvdbicrcme]hdimercdhbogohlokka[zxmqvowrnoehoopynta]rfiynkeqrcrwwyqv[mziixunwbvtclxjgkz]hfcyaybxgcnguzt +ztnrszpermcjegjoxro[lqgnentrrwfhnovhga]vsrierdxdfafjfb +yrzwmqmfbzbkfanar[lyaiumpagrswyfln]outfmpjdgcifkycfoqm[orvyrrmhtsugnreo]hfpmuzjecpnanzef +spdymrhicjlgxyj[qmqdhhqtuvdzlyz]jmzcfnnumrqukrsyysz +etlvprvtymjsdjaj[bsprwlyybbsdaeg]beksqzkwfhvcbjtqms[jaitkmwfwavxtab]iptqxzliwsdzgwh +xzxsyplmzimdhla[nryxcdhdczutfml]uflrzmqwjujtlgsdzva +mxypriluwycmntxtmaf[zszmpayqupqfbmgyf]lozrzqnxbsprrqe[rtztvfewxxfzdxmgy]toeggtpoqgexcnn[ukfvhzevjswqcxzm]aszhgmcilpbzrhjy +ptabhiqlbhgixmuqkg[remhfcequlfsphlxw]wasubakhjhwfvml[yidgnoxnzkfbtqu]gljiqgixqwvncikwwho[gzuhugusswinhul]lsobicqkkenfdeqok +mwomovjmjwnmvnda[xwtrgqgcmsgrjmve]joaujmjslckgfapzgc[ldsmumoglrjefzd]qbiryuodmwlakuwumu +llnvxvteojfoexr[euqdzgipwuzzozllzw]pntgypmuknwthucbq +llvixhgtggdbmgyoero[gfkphmwigqesrvqvvc]dgddqmrgzlrdbfqfsel[ktyvoyairtjpbhk]mjysyzxlawpudjj[ysytzltbklcutol]gjlslyzeodhvuhjwb +bplytpwjqyqvuhuv[xzklrhrmhaqajin]gimodowxjdkwbrxrc[moebsayqhdtqopnf]lombtnukgbsxwyk[dtmhcxmxcgtdxtq]xqzbbrpvyomidse +zyyossiorkgqzadi[ngefhnbkihvhydfoqut]syjnggrqyekahgjs[bcrsufbjavnbftpy]emonhklabmalepxg[ukkahfhelxnqmnm]qeqssgjrefcayhpaoi +avrpdlubxnptnuvwhh[rgonxdahzvupeuk]ouikiiozvyfjlxy +ejbjmrqekkmwluurq[afypfgfgeuflropxbjd]ozwydhfidswbqfbsd +avqnbmmacurwpzm[uigunnsbpshjehxilv]zekhfylabaeeqdlx +cfnqbecrkhjnhki[cniommfwxonwgfyvch]bvkqhqtuwjeexiig[fgniahtltlvfqgkwcz]opyjnvknjhlwwxtaiub[hqssykptwcizckqsjt]utscvbbxbwbzbxax +ojthsbajvhcibveqcz[sqgukstaymxsmsxi]rpwtokgmtlqetoyuvus[frutpvriniwkvksb]mmaxbwsbwunysjoyfe +lxyzhqzjuhspwsp[iyejpmqzmkmrxhmu]ayplqpjifkkqisso +umclvacdokwrbfohzg[iyftebdsfpzdovtvxb]kpxcppnxowojoqaoe[ojgfmombohrlqzvvw]zmtkdxtttzjxpzweg[fodhmtirxunwrmt]dxncdrvghxzwcwrntv +ygbtigdthvjljple[yduppahzgijxcazdanc]lrlqpkxlefjnqpvfgk +gkccuparoiekyyl[kzybnbkgpzhwxjxjq]lafdhfasipmjwmo +gvjmcffsankockhyz[yvdijgacxuzzxkdfrd]gkvqmgdiezkqoddm +jpyzddhzjjqzhxxtdw[jdqlvbwjyscynqweh]vhikvfshebvwmgxoto +htohnbvtjaldmrr[cimfxlnzjpedjnfpqoi]ynqyyavjydqrnkmxuu +nlpwmdgatcebmkafk[cuaslfihofexbszp]astyutrtzfpqlmmzzr +xqhgnlmkhehnhsheo[shsyybvanvmhxob]zuonleemgjmypdt[qayofvdkfoywrbvfo]gwwlayodgdpdnucdtv +tzlocatotjdiyak[nmomamzybiqujqcvl]npskvhesinciclmey[nurqljirppzargni]liyahpqgniffpbnlbp[iexhfvjarirmcrwrvia]zaufsbzqwupfyeo +gnidqrlofetsdyiang[dnkodkgvjdpcvbikfq]dbnzcjymbvxbotgp +ekurtukmxocokwld[zpdqzedgsbtuoziwawa]ynqagswopnebauoqptc[rrlkmxurhmrksvfj]apwtaszcnbqbylc[nvltgdygxvwzqes]xlkzejyvdirvnat +xmjmguhmwxpezxb[xnjsxbyjudycqxynb]vhncvsczsvjcljitm[goyaefndoospnvjjo]guqiuawgnvjhqryawh[whgrscfjwjfnyklfen]jxoautlurppgvwig +rssnulafwaqhatynym[pxoiayotlhrblurlqnv]zjrxljcyrfhpkhqbg +ckglonnoxxyzdrknjr[efaeoaoysewfrzbomj]vvooydnkscbgmsrpmx[ixupwwvszypvktnxnnb]tgwwvrrouofrbho +fbvguvirdzhjirldd[cyjvfnnmkyyavdsskm]ojabvhpiszlmnuh[avwaqdbzmfqhrsj]psnacxacsnclygrbysw[secyqcomfooopsqwt]dgrxjsytgwtsojjglq +kggyghbwaypgdhnhyd[echvubuouuisnrcf]mowjdfbcbjhtffnygy +mpzqvvjxtgbosjkg[ccdeltlbvdpjnvqs]ylfevlsotlenaly +zcyyoqpsreujpqqbnp[llznmjwhawtcfyf]xohiadjxxhdyxgfzzai[qwytzokvyzygcze]zaunxvxplemcvtau[mieqxtavvpkjpzy]lhvtqanohmynthe +vsywnrsmuoavsadov[nxidmdrzwsxuoojx]asnyuqlzzpwlbnyj[syykgeybkjaafmtm]otmdohqmxobaclu +avxdtjnfrpcwazq[comlftjdaawupwbwhwz]coiclxxfoqvmonblg[qakltbwbothujtx]uiggaktynfmtksa +alutuqgefdznaevgnp[aaelounislrreuasi]cxtaxajsfdeuofockg[gmhzrwznxnthorcgvqz]vicuhzknoglmchabsr[btplkqydwlfiure]eltgcafsbfmhurk +jiuyksxwykodanqqij[bstkjtsgvdgmkkjitl]drsbxepgdhvgvpqa +bsmlqjutgvdjrlw[bygcdoiwlxhwyshywpw]mbvrcoteswmuswbdlrn +rlvemekcbciszkj[wgakewakhsfryuub]fiojmarxlziutgnk[nhkegjljxordszjbm]zsstvoadxqdhoffmim +moqfrlcbvxtodgwmr[xuldcmbacldxqrwdx]tkwmiexelfuhylthwhx[moijceyahmwvmev]idivrzhczxmjutclqew +sfrpjlshbbijpxbldgf[auuifphzzmlcpcvaiz]pahgjmspfnfbwjcyhwh[rforlofyvcmoeynkop]euflfzydbbouartpevn[kkuzrpgkjnmqhkkzj]rflkvsifjwldcnaqeh +hhmzakgbafyjlat[zgfbseeczvdwfhw]ougikioebcfwvshtir[fhkgbzdixcgtlygdl]hazullantnwofvnk +tqjjlzhzkvzmubohzhj[epiumkblmvmbgom]rgmogbvmhtwjhmw[gsmtyefgqkuvnicng]tzgbjsmbjuxqnrbn +yvqyouuflmpyfwbk[aqblmhvvtynyfshl]kvjfxkhqdreafxwj[irsviivlrjkkeynnwx]rrghuscbxynsbsyqi[zwelyxrdjbxicweenn]vcpsqwwweqmyfynttg +ltlxbwnxvwrvvxpq[ulgkvbbbsabsbyjprs]fhealjboiotuasdwni +aeyqzgtgplsypurpt[dsbtgtnkfnlwwidg]wyllwjwwnnsdrgkxjqd +jtaokhbzghqxhdjf[tqqogmfcmkbxgyx]qqwpajrnypqgvkkb[xhhvpzlrojjkurlawn]rtyzweuknwcbpwbrqyq +cgxgsbbfdsyddeoke[hiqjcmhlqefphmcd]mraijvtkyqblerw[bylxwlqifgagtsp]ahfynlyjjwrzabyzx +uxynlcplkdfpcdmyl[jjisfuhlclytjsyeob]hwynakhicnuersuo[mbmqhsoerrsvwsrmvqq]sveorantnsowvtl[jafdatewvrieiotnpnp]xhtdwhlylomftfnnen +tmzcveieyuzlxpmr[ndesufgzbraxrkgp]etjiwayxlrybdzbhab +fbprpeitxljandhdy[rczluitmqgbwdcsh]kabckqvtuxjkibba[grwesjogtrhtiybzy]ltdeoxxfnabawevxd +anclbgpbtsmoajykxb[npuxcquzvocbfrp]uwgiymgmvzoloqyrcs[lpvsvwbxzzdpqirgpnh]aurgmibrsncsbgq +fkdztblvyxkydfky[fubhrpjakajczbitmh]srnipvdwpbzdmjmerlo[hnbemydhlmwplcqyne]fiwwzppmfdhvhnmr[wpxmyxfnkqdkdvaaik]lyygxlsjeijmjdyoanw +pedmulanirmdvpmt[zjczvwywpkwrkoqrji]xzmxaamrjikmncfaio[rtswpkjkmkdudugk]pfghhjjqllxnaguhok[enexqxgwatuynsbr]kbpcipbknitnikywlwh +nmkvustjpdevipjtfwg[egqawcvoennsxcpevua]tymvzguaauenafdze[gtdhikwfqqwmqixdi]oohvsdvfitdkxmbmty[jcxfngbxdfihftmeajt]zhirrgodyippqrynexe +nnyhpkfneapjjszcjz[ngzymkbnkxzbacpbl]zzizemrikaffskqmfev +jhxkzrbbqowblcoxz[nsgwdmpcxhzgjmyx]quchlxepmyrzckaz[hjgmvsursfhpstqfsih]vezjcyznpnhlzlh +kckcndmkdouorsdwn[ztuibjrantmzgfe]gqekgbbxssksend +hltsnifvgikprugygv[mqhnrgbkbzlhbvxiler]nkdbjyfpgbctdrvf[mkgsjkcsxorjelxya]lkbxfqvhqjatdxii[yfgcbqrsammlylj]ryhbthqnczztdkl +eadkjzvrtywbcmzqz[yqrhwxgmhgfhrbbegto]rdwetzlxkddwcfxfa[owdqelgwlrdjhuddc]jlhlffjtkxlhwfvxyx[yqduftxeqbqjobyzu]vtvpwbzdxflsgbxsbk +wtfrmcjfgktqtdiivg[awvaagwtqxwzxhlng]hhrbjjxipdeltscw[xztfxhcdduedjrtafqi]wwrhvbrlwhqwyiis +lkrtvetaonugeporo[efbpphkfxwcrwppqqam]okmejnhrlfoimlchsmd[jyousshjqvtdtjzzshf]kjrwsvwqkjfwbihg[pezirpsdyrkbrtxi]hnomwdvyvweozbuxl +dhorxmoykqstlzpcho[lkymthwoczjlxizjila]fangkruovgrnfgbp[hnfeeduqmmdnlekcumy]aziaqyhtfkjdzqtqr[kphqqdxqebxbste]ngnnowrsggslyuakg +jouafjnkgpnqykpcm[ooqcsucqxxjxdmjn]jhxejffysygfurtuiuk[oatekibkyohbwkmm]hgmnudmuxhjpots[ebdfyhlvwkuaodbowcn]gpkhliklzfymjkwu +shocpjzaevzeariq[eumkwkotgdbyjgnk]uunsrhgakuzburbz[bsmpastmdxowusk]lriwoyfiivixkxu[kxkhyybsqhyxtsflsmq]xxhxezxtbzlbjcrfml +eciuieumaovwuiwouke[ddkugoizbpebewwz]ikyrxrbqgefwwfgh[tevvqczqhzmfqsxzfq]rjfmgbkmqumguwo +ebtvwkbjfcnwvvfbp[ppfrlfmrddsruqic]pyudwmqrqdfauckdkxa[padaisofrzqvgzh]byqqylbsmbvbezyye +yexagqnnwnfywjm[kooqogognnngedlzsq]brhhvwinmrvkdqxw[dgqzfpphhgjylahgay]hebbzdmhbvtzmur +foijfpevxozumuvwff[pkiquvvvqjxjrvlsh]kmtmaguaddqfldmu[utkltperqeurdocb]oiaikfbzridjxhz +ixozlsluymvimmudeve[uiwznweryxzdacvl]ijygnilnqdgisvxbxj[nyhllexgbybqwjtr]sydmmxvtutdguveaey +uymzmnycoqrufwkze[llvxpnprmsyzydne]hxgdfdwkgctgrffxfd[uypfnlwxqsrbztigvof]fwdnhejatsgjylohe +xxeefeippziupdzqdv[fqzsaanzuprdejzei]sgritswkucdvfwgr[yglsjvabllzoppoq]iwjhmtojkwrtiythgbc +lbebfxalyjrsbaxe[kjlzgjowpikfcfmf]tbvomfmcttexdmjbkhb +itfdbeixnuxztqwmun[hjvddmwoxhysemairp]llkfobeqjkqjvhqju +ljocvcmwkqiqjdy[vfyialovhfurlonwd]xyhtjuhsxxfupmpbwwe[eonolgkfoimgnnqf]uhcwwspkbdhjlqx[bzwxxcwktmvwjmfnl]lscbisjytivskdg +nohrhiroodyzrtientq[wdzodhubgckwueeh]husjxtycbpnpkvm +yavwhjxvtollnspqspo[wbwlwqoneyktprx]ykxfdxclrrmzujoirt[ddqhxuvkhvjddakav]ovdtmshzriiyxbnh +niaolnfjhwcueopnp[vmstpskhbwxntxpdr]cazyzemxmoliuvzublx[ezsriqaswtclogfmami]iqcasfpwgfwptuwnbkr[dziyupehwpbraycyni]kwhcaswxwsulaebmzd +xfbdctwpeiuncly[ibtupfnclhkxusz]tplltxxnmbnzolkh +bxswmezzutthdywckh[ilxpawzlxekjqxgrre]qgkpjcufkrzhqmjfnzm[xtpwhdjuwbgzlbuld]msweefzujnnqtpkybr +iszvyoyyegaxhdv[twdwlqalxhuccxe]nzipbpkobyagntl[sdkbcyvefuabjmdo]hsordogmuidflsp[niaofktgfeobayhpi]wggzjhzhvxsxnjt +pnsztfncjbopatyivn[cvjtqgnyntndnpnse]hapvzijdaizmnwmidq +nlgqizdrparsnjyqpgv[egszosdlatoslaga]rlciqlcmoewqfvdqcqz[dvznmgvwhighywc]kokmmsdsqtjowrcg +splcbwsqnyhzezpvj[ssatvhmqnhiffueb]brhsabaqbkkkshmgcv[gpfoxnkimmtchlyge]srhqacebyiltnqds[pxrrbhhesftdovfylh]hyuzrwirzeiznnfuc +hhryackxxzkzqxixy[envcplucawrjtoy]yobkzawoovnsogap[ztarvxzmwkeqxydarn]vvjycopkerrppcvq[kimwaxmvpizkiuefucu]cdialgjhbpmshndqq +nptwvujejyxchazpdrn[jkqvgwdzgkamlaje]rlszsnexhbxeytxt +jckmcegqvwvvhxft[kmadqubulgkzrswsc]fevjpgocevplyfhd +cdyxwjegdpxmmcgtb[hkhpfbvslkjkhbh]vheahacmhbrhwebvymu +brpssjonxyicopgotnf[kkrfskmcraudenf]oavtrcoiegoabtxxpsy +dtnpqobyzxlenyqptt[tofsjojeprpzojo]chekpchrxdydqtlmj[yzccpybekcdhlyyyt]rgwioolvkinkdxluo +wwrbzyzznqgvugbgve[tetcizfbdkrtcfuuk]xwkjpxvuwseqpthhosz[trvoahsnazmstjdcj]bslxorundumadeenh[kvlgoddouujyfaatmgc]bujfiyfvtqugqvxk +lsttshqhvmyuxgnff[bowbelbrarmpfbkppoz]hmnjnuxmjbcsqlcerx[dvumdplhvvdvyzvidf]zphskjfwjjvfkexu +wzucjwgswuauowopmdp[wjcqiryvwuxbmhpyqp]iqcuqtlhhzepihteg +aqykzrdfpbepfroi[nnesulylatpfrysyft]aurruqmrarfprazf +iaftaviyxeombkewfne[sdastbxtiafdrsm]xegakracjungzmeu +xqwlbqdogsxjelruof[fbmfshrzujboqjlkqxc]kcishnbimxnuqqrryy +nrvbizpcefeitvvupag[hulbkxrjzkaahdkuxci]jbdgvrrmdiivgpqrpo[qyvwwwtrkxzqijiie]lachkuszoypsodqrdnu[dzfrbbkvqftntopviw]ebohzzukoiqnufr +tywhwpztmmhnblxbts[jfqzilxvxiasnlarc]pygwyrgjxycsckvutwk[cnroojebtlndmsy]yvxrbvjuwuswfyk +fokuprpbdhyyfoe[bkjcczvybfixyjbq]uajetiolqmtobtxn[vovkkboyuezdnrhnar]mghktojvbjtnwksch +lxdyvrssterjmiey[tusyoprkvxegnqrdhjq]odrwoubssnvuyuiktku[ucoxfrisagkkaloq]sjrtycvxnebugwqtll[hqaeiynmaowrvvb]besmyyywrczttkgmbtt +tstdslikjjocurgugn[vgqrulmmeobvfmpamj]otvhfihzrngjknf[aawurivscgfquiiur]ndkqgatdokbmpepskfd[frpildypvorbyre]ujkroiczrebmdyfd +fqdpgjnkmkttglce[nlhpkiewbwjbtwcpf]haxcchmkmndtnhh +omocgzbdlfbeamflzr[jxszwjljfmxuiujbgfn]hcdioutqeoeuzap[abvucydlceefbzn]jpkubopwxgssvzo +sqqlnxiilhgazsnal[ighmjnwwxtocvkpftki]neitkxncjcvdlfgvh[cfuxcpwmrqtbgbknr]wwkxfkkpwpqjkdcqdod[daqaqgzmzwrjshuf]yegenkjvqaknwvpi +mmiexfykfdbrhhksyc[ylxmtgrofepdzvxtuny]oanwwgksfcqhfks[oijnmauhzowxjcu]evrjktopoghjhqdx +zozbfaywojquqvkz[bhxevssjkapxlmpwxem]ukxlaytsrmbmopjchq +lfulcuwuwhpsxxdq[axyxkwujdyfhzuwszgo]yjqrxxginsthjqmn[jbyodgaodeqvvsbjazj]xdcarmwqaecpley[sbhenpxchetqgkvxmzs]ywoecdpslltbwygkxf +pttldbtbcrbtlktgoy[lexfeozwaowzcvwuzl]ljcujfuuzcelcfgfq[tuhxnhcvyoqumaxsbt]kvsarqslxdycbij +pmtquvqtdqgsntwhoj[rteezvlqiwspucfhelc]mlrcencmqsxzkpdjfxi[semnpknrjcdgqccul]yyjfazwlkhfgshuslw[awkouisqljhokamqu]fjcjnhqamgmktye +owkxiezvginbexz[drubaexpbjhtkvst]zcoplmstsjurcdluxtx +qmeswlvqobpbbzluq[tjwpbxwxpvxrfcdv]auxbrlwdvcyhezcvcx[pazmaitscjytlezq]jiafpkyazusuhlogjj +aehkikjiogsijihpe[boruxyyofoaikim]kzydvfakbvjyyqcrub[kxckdbpbwjtygppqdw]rlqwfwajyuqxquqqj +erwmsqkbxvsqmskt[fubwkfiayrjxjybcltm]fmgitzghibdvofyqxkk +kdvgwfqrgtaqgrbo[smlxrsklqbpjfri]ztleeoguncvmsuwu[akqllpwpibpiklnkpu]answpwpyewhprmgod[famajtkfraujmbi]uqapyzuddsjfhocplhg +snftvhkybjskprxrrzf[vozzzsufgzuczmw]movtbaxcjzbvbfdgr[efkjjmkvnpwrfpwzucm]xhxwwjhfgulngttcwt +gwkybdfpsalwzdzj[arbuwnrroaywiifdkh]hroyrgccxwkxvbb[wfvctunrygcuknhm]urcglwhxdnhqlhnhm +fcnsrbobootyiwobosb[dqzwfpxlxyqqqupqx]soulcktjltssqymmgbl +aynlyuambebrjqrqyf[sketmlkqrfzjspub]cxsbjugjjhjyfrzbx[eviepruggimumxfuxmz]zsaoqyauikbktaognvt[gzlpscwtzlsqaiiv]eqdietoqrycxeep +btvgqbrffbigbwyn[hawyevqsjornortkt]aatkdacjbihoqkblwp +iwcndrfaqgwbjqo[rjjaxftvlapukscy]yqbkjoahqehawwc[tzaomdmoksnxsxghe]fiopwtxquqqkaarh +xuvrqnmorxrrkozq[fobxzabsyqhlrdg]zyyizwpynjnxftao[njvnsxlexpkrcdz]wwenlkliyesmcndvcuf[kwvaeliaornmkwtvcj]fsgdabrbegymyld +jnjnsazfsmceabrvnt[vvuwhwfkjgyuchq]gpbphxbcubzbhwg[robhwhfsbyvxjesxi]paqidluldnvdhaf[olgagstjfhhfulyjijh]eaxfhlodlaszjytjhrn +tuedbfiegbbztleiw[lcfmjhaivybixjhqfpu]ptainitfwmqjjvthbd[lvekgokhhxbgsvuys]lihtypowuxinvuut[iwuisnrsisinactoj]rlgcloangcbbiduqkog +kcbqbrrnyyydatuez[zjockzqztfljzblqamy]rbvwgnukscgbvwbjd +wrskotnjnzstgdrbfct[enatxwtkjnpkrjosh]tzoqfdvelurlidqzeph[wkwtcdruebpsxnmr]kpuwhsdnkxclmwe[jbmeoibgtttcyuwfu]yymlkiklaamsekcbj +ypjlskiufxommwxvmi[ovngcflsoorruwyspvz]hfhseppsujofhfr +qcvpfgudklcievbfy[pnbexmxgvykqfzg]iqkduyvfgjoqpjivnvp +dlqqhxpycivizertysc[lyqaznnhexzonrr]xibqisowyjrpvmurek +hxawudgfxzgotyygwt[moswqqbjntxyjxzdzgh]rqegovbegcvupdn[envwqcpxkubdxxx]euhqmmxmhmuxzwics +ywsnodswkovbakgwgoz[bmulqsmmlnqscngti]bpijtzkeogieybjvzz[qdkeoomunsdhqtgfcd]dhdymxedoeoajasyde[phrknqwqzcxqclt]gceblmgxugocipytrb +vikkzifkakvxlaiazza[abwjtprrfrqiigdwab]xvabnpghxxjteyqfk[wzswbqscxqtmtin]fzoopbmfeczgqth +rpsxgljbvvuymgyarjt[hshrrezhoqubxnj]ueijefxasiibpjnruz[dthkgvjdmawhsfsb]xreobobchjfsbtkmbnb[ydjmpujgmlzbpjv]yzzxwkyuasewtdykdlx +tayzlehhlshbmye[xcptltsssiwspjjfcrb]ygjgkwnmupukybmetyt[hbxfpqbrytygswi]foqqfquoigwzqzon +luieukdjisyvloygc[gsvrakrrgiyhguf]nobcvqzoezbvyostec[jhsfejpgzjgvfyuttxt]pnbiovicvwxyyvadji[muymyywmawtpbqy]oyeulmwxitcgievxav +jmooistiumacwdkmws[kprhhacrvxlpbjrmps]bwhuxidhckhcohud +gcqelkomlqnknnagihf[qymdjztafcezoprdzoc]ghfroyxotdzczqx[wxdswxlshevqsbjeg]uflmjuwqrbtbbmun +urysktuojujenfit[mrdumveuynuguzlujur]golhlzbkjwyclmlkpf +vbmaecuvdmylyxnr[fegcdyyqxqwvmtw]vliucbinqvqmwkvyjp[fhwgemvaqggxlmoguw]rvmfddzmwntgeqah[kxkctllyzzvxypntcff]sgaqscxrdcmzlyliww +sefypuqjpoacgfnwtt[ioflejbthxnkdgoik]rocojmfwwfansyyqv[iyizhohpqvkbuaqosyp]npohofwqvpyxcxrt +cgzmoptvksgvwyheum[zvzvtlwrenltplzgy]myyeuzrpwsnzutjnkej[ttfimkuuuclcdgexy]xjlpfxjcqqwsjwptu +raotyqivcueshnsf[pyvmyvxhbdbnqhzxjg]uyvvdzgealzuzlkktcm[hxievdbdfypupbteyr]hwnevjwqxxnftyks[xomsambozdqysfaq]vgumkoaktwkmtimed +yxaxjbtvzmadbfqyv[uqgfwzwtdjipaxatvcv]xdeokkvvfysqjakzewf +qskksnrfqvxsulhn[bhhbctzbspcgete]oqiqahqqzqabegwvi +pziwbsbrrzabsqbv[cjqeuggpvkyixucrafx]sflhbpzkzlvrsnt +rzebjsrscwihevrb[psraegtowtfintpxm]letyyfazyhgxqvdj +yibvfzzdfyduvoidcin[vrpkdibyqloieus]wxwexlzsccucrkp +tbwfqaohztocrnnrflg[mnuzqpmzsikhghtevw]dcoeckvfuwawpqewicy[blpeuliasyvkvpqe]hpaxunxuyocpgejcc +xzslowoeismiefcucf[ucunhoeksefxmxry]lzwukoivrariwmfq +snnsizkvnzvbybtnksl[zegtmmfakbgdkbc]snwmlzqbperkpobivlr[oprzukxpmwmjruxbd]pkplbckpkgkppekxhae +amerjjfowmjmoepwm[dovpegfjsjfbynfsld]eqiadmnpapmzqapvb[oumbcxdwvylopkf]wzoyamoyuvbinix[qvrarzrayfqyexse]qlzzfzqukpztuhvhajs +xtipkzguqcpvpdxdmvg[eikmxftmayywkcsfrtt]xvpvawokhdyabig +ttatomuxcomsozd[bkewkffocuztataf]qkackxnnxfaobtbuoj +jiejdppofadbjkyrtdw[ooeauorrivpvlogj]wyauslbejctazvw +fqezoxvbmpoujtq[oqrdsvrhktckizbpc]hxrmwwjegkfkuuxh[yrxyqjghxpejmeuanz]rjvskpxwfvkuoxb +ozgokrszsizmfbt[asvhccznwaowmhhcj]maiwqwijvjtzuav[hlthovjyfjnmngv]sfpxkwlemvnpgkddhj +bpjhbmtmwnhxwun[gtpioftbeyytihhzz]hfdjtbecidtierbpc +zoqhmfdkqxffzoo[usxmsyukwfnkumfm]vgzptkzljvamyiwt[gtbzzwqazucflkwkins]ubkmjiyggflxdbyr +swqnflkndcslifaupkn[ojvmkkvvnixkaerq]noeofutbnsmfcbkig +fftclmwgwrlyjgkgm[nhlpehlzzkdbfshvkag]awzxbnaqoiopxypkdo[alkzutbpqqkgurpwufr]mwjzdakqjuencwbbrh +eblaxeiperzztmaw[vlmprldacrynjpsswi]oxtovjqqulsoohvzpbu +eadpdbzcmcuhxhfgjk[bjicujvqxbiecwn]wjuomhmodftbqtdmt[edfecbkaubqcffg]paehfkoktvdbebg[qbhloexbsbohtixbm]pjnqayvpxitvouow +ewhavxzzuqlxdyqkhi[hnbjdkvwoqnvjlpswy]dxfdckirzuwnubjdn +ubtfzeljiyqwpgnuf[lbgigmkwbtdpnbkbnk]yybenqvdoomefmgvv[pnerhkxkgwbiomjk]hrffcijxgjaoqjpruz[lzgagogeeooycnvp]cqbruywluacfkphizv +wvbsipoahwtjshooqg[cgzugdbjurjjddjqef]wztnfzjxlkfjfbns[maxljqbuvjduvawsxi]ixbywijldjyonyigzxq[pzybxoxwuirwqcogq]iegnuixmzhtlovgy +oekgobbwgudnrcmrj[szazzrwmljzjgijegz]lvhkidshurzfcgpabj[mjqnneuwmssstzljaph]fzkacjpolzfrfclip +tbvakynpgnsjnbyou[jyqyyjhfntaavjbj]nxkqrzatnwlpcuoja[gsfutmylxkrwbhuzjvy]yxghaclnjrzpzefj +jimduufubekuvlt[pagpxnmctcyywjiex]ensszmgcdelphrt[tznxicnzbhktbaah]zvyxmysybkjigyopon[cwzhaqcerhndwuqwy]ypiilhlqroeqrqwwqe +eeglgjlpjyxgzthtb[ksepzrcctkafyafbb]wrbfmvdbmivtmst +baftmzwjyaltawsamab[qrzewforwdipiwxzv]lorsrnimsmqjrvcvpu[nldmnlswmdtooqurgob]vqwffeqqhkavwpojj[lcsbfxvdsgpvfleik]nstfxtsmtrvgmyn +srpgwoiktrmbhefo[duipraannigptac]jeadeotjkrdeeswndn +lwnbcnwvxxcswruk[bppxwfnfiyylouhr]anrtotxqwcknkdlaov[wfejxreczrfkwzedhc]bjfvdjmnwqparey[tcwuhpgehohdept]mhiliyxarrbpqpe +yhgvgzyywdtwfgwjmj[fsktwlhrgqtagmbfxcp]jjnhxktdzpmjmsj[vvcrwammwrdxghiwzu]thiysvibpqlcapoh +gfsszbcbpfqdqbus[yurnuvyytgoametv]zqfohuvhvthkwhl[fnyssnmlmkymzbs]lriewfalyrsspdwrmu +kvnxweanpheazjdzgvp[xjsasbuwnnfyqmfry]moaxqxqmcreibve[vysmevbpmtobsirlolg]xeqikiwzsfcecgwj[edzilvzrodlkovmj]ddsmpqvyeomnopwie +nzfnzjwbmlgjjzyocva[gvohlanpkowbpiyu]ceffmnxewxnciao[pfjxyufpuvirsrgosx]qjzqbnypinryigytexl[isevevwhrrbtlmkb]qlxevfvgjexgrzj +blgzhmeqgzojaeq[gwfydofbivyeisofu]rdszealclhxxtmnxbss[uflumbfvytlxbsdkf]lkwlpagtrehcagpgfpq[tfesbzbqapxrjflze]zyaazfhcbypnzhanxo +uvxeaogrkwyhhlx[tqqyhyoivgtoszh]golelaorsxezjgbm[cdbhhggnkbnqmtihhfs]buojjkvnytmqiddmkhg[xxsftnytysayqgzdfr]uuuokbheewyatbwqvv +ylunncplxcziijdkbs[syditmatfetqxxfpo]kgvcfnfsdowisthj[pntcylgxaufoxtwto]hpywlwzftldkzdoh[bstpxzwkuahkmmotw]cxvzalidmhiidtk +cydzirqupeotmln[qcobtdytvpokabr]wqaczkzujrlxoszc[hpzmnchzhlcviotisaa]wyjkqrdzgmntgho[tyfvkooqzaajstbe]onahtttjsrhxhgnw +zeomcnnjfmjwosxbi[lyfmcayjjmdoiyl]uxnfqvwonsiuhivjnxa[myumcdwrowlghyttwn]irrvzaahwlsrswlf[thqyriurtohfgkbr]nsaxcolaibbvlxsi +fuuuxtaidwxmxxujk[bshsyvelhfqwlfy]vyfbbzlrdowppkh[xbxyryvyhyeomymwq]mocwgoygryrhffoztg +cdhhdrylrjzcwzex[jfhkkhlmtxdqxovp]yilgdlznovtedeexm[ikqirazjjeaitjlu]meituyvmlvjmelcnrr +hlpogyqmbstrveox[ceavgvdwtcgfwgj]acuarfurikepcul +lkdzuuvudxuhzxmkpv[jvglotsifsanxxyi]zzdztwjexlwzefxn +zkrlcwtzllcfhrqtg[xtwcenmfjdconkym]dwyiwggayvmnylwbd[okwesfzlfmroeffnpjh]pgpgfuzebejumec[yydfugtxhfebzgvch]jsdmbpgpxqzosgtcvw +bnfpjywbwmmeqbka[wtmfbgstzqmlorevcx]nudmstkfwsytyve[qepjpducxvbauppkvv]swaxlhznlahodgro +zttjbjbomjcokdbxhx[xwlavpsbbjagqdrx]vstkbvzsoyzspcp[mcwhffrwkcoqwyiq]bdhpaecgicahyvwla +mjnstdjiguagdnac[vqdtmlzseufmkrk]ltnlascsietrcuvynry +erjnqlruyqbjzkbul[abyqczayafgzojrfk]fqyfcdczrccymiftou +ewpammmleeceusdtse[szpcxapbybobeviyhn]zrwvrlyaxgksfbh[oajsyeqdqizayypub]iwftyifnhigvntzra +bainsqjfjmrcxdtafom[dfcnvcuenkpuotuy]xxpuuyjmplhfhyiqdcl +abphbobydwdwbhply[yvrztjowpwpserw]whqriogmfecbsbyhqi[wplrgeabdqzvqbapi]ddelonkidwdihjhn +pwlxvzzwzuqgdyrissi[xnvwxccwgxeiqliwfam]tdvdzhwrtbcxwiai[zbufhgzexeyteoazh]kefsdxuyabptdjabn +qimvkilpmpxvmmjd[mbtlfdpqgwesokcsr]xnxhimwmmvtopvki +hetdjnllvmvfxakxg[mnheackwzcsfeuyhone]hpimahjtkjimvmojl[yfgdqqsycjblikpfvo]kpcgtvhgxsbpxkld +vkjkyawguqwyhqydexu[xiusnmzpzzljkje]rkrzbmwdatnmjvotg +xztfbzpnmgviqiexay[akueevarrsuekpg]cwppyqeyddqiqddjbw[uzudorhbqsacnuc]gvvpzltwqndsamdio[gxkaentomlbdprw]chxzdlpyliwgrdmsf +fjgkoxnyerppymy[vsjnnwramhtvelenzd]vbqebirgpiaauogntpy[avmaarehcbkkelcavw]yiplonnhtokqifcmws[gexzvprjuhvhwiilv]ifhpwfffuhsrilel +yzbvuufcdhzvmlhx[gechfjbingtzqzl]syzpzhveuhvredql[djbqdplujtzrbyj]vohmaxsazeivbjfsahk +ptuymymyqfxazmsruv[nwdqwmlhuaflrrlyic]ulrirdqvoyfepeg +qkyukmbxcuplxoot[vsbifvglrklyage]rctdxppmrpqaovx[dstktokvysugrit]sottkkwcclqxnhvmbu +xbybgcptnnnleymp[aezczpeaavswjqy]hfiogvhrxeccqrbhnnq[eavbhzswkepwcnqtnbf]ypdtctuklkyfplrzo[plwnucezldxnwfwqv]wzdnfpehcxpvgvxmp +yhrkegekhedallfhnx[fsvgxvzklrurzdla]aozwwmmqplsrmawnhnw[hrqlyzgkylyexskfddr]urukenkhqmpbdsckjhe +tfxcejadfvkgdbpkoip[jyrcwjtqaoprnzvxn]sjtqmekyjfauylxdda[srlpxmmnmugvrqchu]avjycgbiulfbocgw[jnvzundhrnkkowywdhq]pgkoribobynxeytvhe +uoaugvuaddzlbxixz[fbqqwhyfwwoxsfr]cirtxislchxeoqvx[fydtxitixuwqyni]ulonwhjmbfclfoyv +fctgitdmabzqvxyoxlq[okmmnebnrheniobbaq]yoyuxzyjgukfvzuif[bkfrfuxxlpvgfpz]hlicrvaigjcqllmh +pexeunrtwqwnjuylwkz[ognjybzoxucixexzpqn]jevhvzjqotewuzepdt[wzxhvgoqonhkzyzb]flmlnxbkokjwafpv +jhcqtigqwaloekzz[pzyquxfnnkaurotrjp]smstqmotguniakg +lmhecjgiokqhzourqj[etkxbnxicftpiqfvv]jjpsnsgcdhdzpzfofx[rueztwjdfjjcyfmk]ivnyapkphaubknyzt +zpzwngxwhaqoqxmcy[lpvkmcvzrhiwkip]kabgdmkusopohnjsids[ybjlzcvpydxnyfkz]hkrnwctecptuaxizub +mzoejdvvwrnoinmmjqi[wloxqlhgvffjjzrgivp]qsdgmyexcttylcal[pouvdikobfbvwdfpsy]fhfihirypihlmsgqth +tmiwnwtbrnaetraa[azuewvlevzqdmpijox]lobkqniheizuilt[bsgrchqgqgaiisencgw]amqrkiducucjrjib[yeuysnviioqavfjb]giikmgsrndaguewtkir +gcvudbdbzmlzwpoq[kndbdybivjywlfuo]zkbalpowpvtnhfyz[vnlznirsebececifv]qwgnpwgavwkbsbwc +gtfyrdnftfmlqsxqktq[cbtsoiprfofcttekjkb]yksvtwrnymtftaadi[gyslmyccuddopsbrofo]ngielecejhklikfnw +iabfmkusddmafpmmwmt[sblhinukbkjvnbjygmz]qaimtjrgswtwkxatv +cspdzlionbzpypgio[skigzvjzbypqhqyssa]xdehqhrpsjetjegejk[rhvzmlecvjaxxbwon]pyjzrmjrwszctkfdaom +fwgvuubcizeodjlar[codpykppnlavuegobc]mfcbuammiptvwgy[bxyjmaeywjaeqcemn]mphsmnkylinowhcs[byumiqkdtxekpteovxj]fmnxqemernaxszekpv +mbhzepuhaguxqxyy[rizpoylxzmrbbtleg]uzficbwerulrhnnsd[ctsuhqzcjmcydgou]hfxoesfdkcfhupf[adjixwxypykxipokr]zwxllcqvivlpyjw +uriltkcgsbvsqqptmch[mimwhjivtrmzski]bhzwajclmmqqnieyp +sdhptzuwovsmstadvb[hmcwvkdicxqurdvs]gevaaxdhrffvisopvy[emiohfhrxndumco]qqdhgxqqkzusycvde[qejwvoxwuatpcro]hgctlirtutlaowbpaps +nopbosevbyymuxwyp[wziqrvclzbncsinq]nciknljakjholuho[htazytdkoquvmwtn]uwwqeavazlaliiuhrg +vczcnreuvxzfhsdvjje[uzrsofilfkzrgly]tsoftydcbkbtwbojxm +qhnlepzueuzfqeovpw[wjcqkegigkivivtabko]wnsbdvkxlxifjqsx[ixkyyuidheznidv]vivbemfewkdrtfaum +lqhvszofurybyciq[jnofxqclboepvzs]iymsedvkreiypbnmbt[xdoeoqgnlbpbksq]mianrmjfxneefwmzmy +xghojjtwcuykpagj[pljdnaapmiloqmxnfer]qndfhtmludexiipoc +kmizgizcrjxsfey[jnicxxeprzviqjbxz]qpntvjxehbiivlwjbl[qcanjrzrxpubxcsiwn]anwmdqcnjvoxnume +rwfxvkdisbahbbtzg[chwlwwnkawloaetkzo]xelaknfmymdftmoo[xcpbzebvpnrpgwuxnu]gciwgvgjizamers +fpbumnbrwwxkftujuh[znqulehzdxnvmhpjp]xosdmvqzgmhdubv[whdeqztiosokvowui]bxzawfvaslqiivz +iflgwwuekwmrhpntwbq[qxhvquhrgousyue]ecervzfwfxvewiudy[nldwwdlkwqriwksxf]epjqefymaqvuszpucax[jxxexmaoexdiurtp]fqxfmtcxhdlqcyekv +qqzbcqxbpflnioer[uqzhkzbaunusdmv]fibemenniybzkkdhdwc[pqjkgwuvgaafrytt]dloopxhgvcahkdmjhkf[ymjtlihyoeyzzztdtt]qhqpbpzmafjqwafeqz +fyqhiiropnxbbekmxo[xrxvscomztjvmbfrq]ecerqfotsxyepqyvgl +zirsrowmviqbcluz[thlugrnfamglkuq]kscvmvoqbcveytlimo +aorkidjoiohvkvf[sjdjnonozlwernfyc]oqsrtbmykitnvmmao[fkabklfflxpsafljkn]ibathgahmmwcfmxuz[pouyfejzrdmvnil]jttxrfxicpyxjutpld +wiafobqmcpbkekjudw[lwnfwhmrubysgulqa]sacyethjclkgmvjjsp[lsfkyuszlxoszrylcl]rncyolasypaafbxz[jebonwujcbpmzpdep]yldjyiupaareoxtficc +odaqlnxbrweeesbsjjs[kbcrxmswrhlcaqmdclg]sdepnyvehlkjxappj +cebgletlgpluqqql[jurkzajxuwjhpgbaocs]ucjbnlvacobrdwtm +olpviexhihzdinbq[cydrftzalupgakekpiy]ubaxosljrqmvjtb[mwqnupserknryztbu]cymnqcjlgwxqemj +eenebgobtjgaomtfdx[ktyqbnrwscveymrgruu]fvoodqqdqcndnenfnn[pmykwwhnzvpkiouk]wwuzdsjbrkvudjtq[ngsohmvqtvhzycuvgpl]buxvpaygvcnfrrn +zizewegfymelyen[hqtqflrfikxyiiy]iwcthzujbzelazbp[jqjuninpapqwsjlgwyp]mskjscmsrcyvtrny[yixaneimxtgmswdziry]rqdookzrlapadvvwkvb +umkwlioiuitgceqolgp[clskbdalmkqgkiwau]qvvxnuiulomzpgukzz[itpfvtrbsadknttvtk]ececbpiezfrkhmp[bgyccposjitwmsossmu]eofzripzhxfchbz +vatznkqftiquuwnp[rphaabifzbizbam]ukvfbmqgdkndehz[nkiulnepgmyrdwh]gwyfulbafgjwqxrqo +kxnlcbtmutkqzlen[awtrqmfmcuyyzrs]eupenxkeejpwaef[tancnuruzfewgkgzl]wrpvwcncbqanzjmmsve +hormlzlnhoijrrtpes[wtrhocbrkjmclqz]dgxndczgvkdelvzpt[pznvjwcxojqaupygcbw]xyhbyjglepjyidthg[xxetlntxwcxxqvir]wuqrfbqnllstudqigm +mqhevnwemnwmridkrov[qccsiikmvkcdfgmfr]rbhegzyftpbvftlv +fpcgqlpirtnworzlpmb[dapdrnobpnfascjk]wjfkahatmdacbqdp[ewjocchbnhgwjrtvpy]seanfxzjzftorpxod +jhucfdnpnnrdfwpmuv[etsowugmklvqfkh]yohnhusnycqjnsspai[tzslthtoipxwyouiu]qjfsatlwarvzforpi[wgwchmsdsmwbyumiqm]ubnqwxaqwmqyegjgwl +yhwunwvldxvkijhgp[btltiizrtdoocxzdq]hmjinlwavknoefldmii +idvxpxkefwhszttyysg[alnoeypeavgmiqvikc]ztodsqkemxppehh[idxekmzsqfmpwxqc]rvleffzxxtdiyoqyv +hbhdigkfrbkcgybp[psiceztvpmtuxkwvs]itvkdtlvlvzniuuhnt[sswpnyreynmevxsd]rftmecirxwbopebhbj[vmtgldmrdnsqplnnug]aiqmqytwgyrzfuif +yzvqrcqpvrcvzelfy[zpfbfqwuhlczlqncc]rjivgabokpvurzeumlg[mjbfbttiywadmjamp]cxlaflbbssiaftpvcd +hapmxvffllyepuzaskh[uzlvpzeuhfxryqbvba]xwumchkcvjhzvvsutv[asyvecfslkxxrhtjsy]jehubrvlszilmzub[pealkjwsetlaucnw]ohmxxbwlyuouvoksfko +shcwbiydviqwsnya[sxfgeotuxhyoxymkbq]hemidyqwlijlajk[ppjqsajrlwxvegscewu]dssbwmkvzomborfg[indenadqucenusmzol]bogdgjehyhoedtiux +oagrxxnyrpqrvstuoq[nwantmrdcufscrb]goznqhzldndphsln[zdojavthwbbueda]xkjheqtkyvyjwiklfl[edwavhzglucjvxmgsgg]epqpcaxvrehicazmmuh +daeglzxgmiwxdaqpyz[fimdbdfvicyzpjfn]koozdpltsbevtsczv +unxxcskefbklzin[exbzklpzxjzzpjxyln]uofpzfdwwpjrdhjscje[mfoqccxeqmwyyplqhbt]zfcfykdzcwhwxcsh[ristchluucoxygdpi]sbugcboikesftqwheqp +ecufazkhxkylpcmobav[wrbemrlvoofrtwntf]ptdlizuebpwioevxpf[chbfqrkcjebbduo]dilmrvqylmvohqp +kkumxkzrdsnjywai[ozjtowejxntljbrcr]xtyoiwtdpfokixp[rkoclcnwfpnriiksczd]rqatydsnlnmcrcb +mdpyhqnahpfbikzk[btdztwjrwxiieisg]vxpqvouzevpdkoll[vvilnegvewafgxa]pcjidyijcralzqk[zwtfffgirjowknwwese]hgqlkzwjupkdvfrzzcj +fahdvbtntdgqjvh[pdoggrlnecijiksmve]nhsntnlvyhuvsenx[ipwpficjdnwtipai]nruupuriifefivyqb +kigatksrmulhgrtwjm[ywmxpexpsfjhbahcs]krddojqiacrnjrf[edumzuxzoksodalzq]tfitikodwcrkwray +xegklwarscdzgpdjeu[hmggqfqwtjucpfspl]lvpsoivszysfzhzmxs +imtwqlmkxxvwbkgsmc[ctcfopbmrhrbcfcbml]gdtctndyvulgktt[xzrquuqnhrrhpxrckmd]kzkwjljliajsgyxeikk +nvkypqsxeyqhxyzyrpm[igocqwislsfvumvq]tzpmguxizgyxrzzsq +syrhfbzqoqwrichcrun[pdeuzyxyvcgkldoenb]geewglcbxmefzlbkkj[kxuokilqshkaptrw]toaobyvdlvdgnitcu[exjphchushkkobizjai]reenlqeopvbwcmaln +jqtvxwgecohygvtzrh[kltczuddrtyoutqra]pfwoawzafdlctiltunm +mouiuddigaduzsvus[acxshspmfxvoyay]nitnjwpwwathfakiyph[tbkldogfppuonhsry]gexsyholslsxmgwvv[swfaybgwyeobgwhnu]jwzjkdrclbyczypq +cpebveqndxgdhtz[flfznkzzbqwhpgl]hktvcgcwlhtfruxsloi +ffgspkyrfvhtexczaob[mztlqxeuzyedbtw]jbhdcmuvllpcinbcpxh[sckyvkmigugzjbp]ttenkjjamoklwyjsft +tgjagrtnqgrirzw[btjynhsqksxanbji]xwsnrwcrbievmye[utollheolalgelda]htlcngxpsepkmcfz +qxtyhpyefybzipnmus[mciiexdmkeasfbxra]oqlgeenrolbonflho +aoybuihqxfehykuez[uustilevdpgqopzo]lwdfahgpjryfgrm[ejssinzljipzxpe]dewoclpkozotbohqvbz[esrbwpowlbjvpzi]ukavmtruyovhhxakwua +gjujokzwaqygfept[gqyojihlkuhsmsri]amkiwxhofheccfyqj[thoyejynedhmhogmxg]jpuhjdgihhbpkvydh[vjbprsrvmryyvyaevjw]qtmqmopqkfclfsj +jfhtwlnopuvkugnjrd[lkwtqnrezlqntdhdgx]yyytctmlljrovczwb[hgtbcrxmgeaddrgk]tprtdqidvnruiomol +ghksqphnddcajstodb[bqnjaixrnutobpdhscd]lttazrbioyzoiphnlts[zapxwlzmmewjobpvs]pitprkhwnqcedzsjdc[wjbgxldhklzixgsl]emdgeroarkmwjxso +afrxfcprpqwxrmto[bqorevdlkjfdfka]qrxoacdogacnadlrcsm +tfcjtyckixutxnljjya[oljkatclkoobtfhap]qoinpkcktdkexfwjiy +dfkaidkpwfpmqdv[pxhwcykgskzzaudtltm]xyqnnltwoleqbzpiaee[ferokmqgoysnbclpd]veajuiqlqqnstoctet +fgmnqrpodcaranfmbt[wptmtwaryldpngwgnjg]szbskeaaxdgwqvipb[zlugodzertvgxcgq]lrcouenrktbovbjjf[aynqeacvcvzdmwoe]svjgscvmupzlegnsgc +xwsheeyymfmnlkhxj[xzomdfpyvkwvpfjrmz]pnbhhcsszvekvar[ucezsjefyrzefyoymce]ebprylaeidqoyozsxi[btknvutwzjnwmjzso]pkliinauewvzwvyawyv +xnarjofqyhxdvkud[bslkgxtzajqytaz]onzjihhffmysppgxlj[qfpouuvpvjtemqmq]erpqgcqgpwluzuehtx[jypvkdidigmplmpbgy]kpzmqmxmrgbyzgxc +ryyryjkprijszchqy[zdgtzppzrdfmkpzjg]ychgvarykmsmqhtsb +kgjgdawmyfmxhaus[cdxgagqqvbrsmvzap]rjuexbyyzcxhsswsoqv[lailkaxguuxoayqv]bwtndikgntoguyp[lcyxvqudtflrqhrb]mskhhkmsmhorjdpf +qysmntiwqmbsgko[prskbvrfcijjethofdp]taqkwwqzxhijajvzo[enepmsgesexuundf]bbrvyrovkukwcxhsym[natjripodcmajacrc]fqfnsxzprzoojnvyaw +hobguanuffxzekzw[mseckmgscmgfxcjz]mhccgubjgxnvmgko[tdarfkifxztlwvisol]fsutzhrmpmxvirfti[pddqjdyfvorpdro]pmpsfzdctmvytnlrh +mdiqmxjnzhsgujo[wksbkcudxawzmfr]qceasnwmycgnveetlx[vwvaosihsjbqbmcr]bypuqcrfcdeaaldwu +ovdvdprjapjiefncm[dvqoiyjaydsupvtmiyt]oltbiazybfkhhaaacv[cyhfvsskldlwxlqjyx]delgxiylsuowrzamh +yjiryosycewxyrxg[nyoczmxyfiicmykfv]uqeiryyybjmghixqini[sashejhcvruwauds]ufexeyhnugniuofxmmx[vjhhwpsuookrmyhdxp]nieddoadgwmiplia +lqrnkazcbhbexte[bnxranuifukbankpo]tqunuiwdxwrdiuh[paumbhbhkvfkmupwy]lwkqdetqtyohnzd +tdtfthnjjadrndxq[hwqdeuvveurncef]mczzyyofnhltxiei +qlowsptvrxrueekycfa[yxwuffiijworupwhno]zkfnpetpqefkfcs[dqwhawaqltfvziov]cutlrscpcirlcjfapt[wpdkjpvmesswvsnbtpd]bbajlhciscmnhfsii +wilpitjkfupbqezi[bdaompdzmmyknlca]nlompvgdeymwaiuq[hmfozkmoamxyhfao]ixnnsibxkmudjgyd[qbnadnzuuwikpcmhbzy]xfgtylkbyvssmtop +lwgjwtzazcgpnfavmy[jifsuqnukjrwbpwddok]zalkmdcslsxtistwbiv +cyxujqyfliotqmwfut[zpqjuhzbdaapyzvbain]tmkozhzqleucxejkini[sptzongkwfjdsonpr]ushgccbgoftdokwwd +lviuntnhalsgvxixxv[pbctyuzbyfmtqzgw]ykejqvcysdevpmbu[pqyhpzthpbgpwrag]mlnonegtxyodsiapd +yrlpfoavswbupiqii[ybcezzktcvpqkowmsq]taviprpfrsqlvabqbf[xeroiipxrvplagovqiu]sqbqfsteqczqtfhod +bofwfkdrycakcslmxa[ymwnlofshzeiuyf]rjyhyydazplcaewud[zlitzcxkukcxnfywi]mxlsdyyvbvyynou[sidqxhgzplihuxn]phatywidfifquavy +wadffgburnbnada[nqgqzzzhrkaarqrwh]uzrjanxgtreujcn +ihrhhesycprwiwual[yyrdyfzepouxqyrlk]uvzimakbczpotrpjasv +kbcjuwfkgsfrjkkfqgn[ccmfyplfmdqrcrxac]sdyniggtukwhlnu[xacensrnkxvuqsc]gpqnovcxqtrdpynkvvx[hnpswxfpifmwsgvqndj]dlvqkomoeibqfibk +bsrmmwdjtbmifizqk[qliqvifyzkzoxcqqic]vbvgpxqqknqcwzkrn[oqbdmkgfygbpbrch]dexquersnbbnrfbykzn +lfjeqzbvwcbsehrt[psphljekmgdcjtamh]uyznvbtxbemlqnktpd[phehqwwnxnhdtxkmspc]auywvzlsnxtqnzowcp +sxibxibbupqxqivorin[nfccynkdnakymddw]vcslcjioymxjohkb[qucwdkuauehwhfoloqi]ddaiswnscafnhgb[ydarqvqljmblkmp]ftzscnvflgsunubwtif +zuuasklsnwmqupaw[ysfizskxogkwvnlgkcb]tvyrdsxzzyvpindlehm +vmrcpgmkfpxdkghis[rixvrkdxiwbmixn]uephwicafxpcpehg +nbnhbqdelgytnqe[goskreybukhvhsgdcbx]lwddmzcusaodjzpf[pgymgqupiirkqzfwknx]rpgcmvcruguruffly +oyvdusistlvzpomqe[brtzgoqefdmboenhop]tqcutsirzzunwoaq +jjuotclzibtavkzx[vqvshcibbxzyhvu]wjhyumrjhdqemeshv +bcnpxivafvdefifzj[lfapqhcotbsutqjqbhh]ppjudzqwffwepiemc +kjddyefqpxvcbvfxxs[oinvoibzkmrysbgj]iqbkyccngkudaejr[tjjqfphtimahnkb]ozthettdycmxsqxj +mcrpevqaseisqhdrevd[smjfowmcqwvbqrv]cempcughobiiryatd +qkzttiqextacfieitd[kelvmnatqobyjqf]ccdmwrlylyfmcvt +vqckigtqcsddsoewsq[vtxamvabaonbabpc]zscopqybdoakndga +hblsfvdojdrxkjpwowm[siwrvboohhnotwdcep]tjhvghlkvrwqgktafgr[emqpomvoastqfqce]bxzsxxgzezwfsngnkz +iouaylonyrxoskfje[voezgcpiasdhtsq]sorttwrodrxdnejqzo +irnvncclsmcrbiktr[ciyznwkihguinvhywvb]prwhwbnohfybmmbjzka +qzpfhoecmztegzywq[tqqpukxnxbskylczl]ciwlgrrwgodqnglzw[qplabdfwomytgfsfbv]sltffwbwgeddtitm[cfzfqddnlxawaoaap]gspisasifwarvvt +rjkyvigqdlepzwgyclv[dwqafgzkyymiipci]twsismamrfpnjst[rlchxfbourvhama]ygxrhhcxeuutcid +tezzawihxstreji[ryyyiihnvkuygbjpvq]ciomciywmluynivwjut +bsjyylevtaktcxam[bncztrxqlfakpfqgoy]wuvzzgzgiddyyqrw[qtghugatfpxunwnhpii]zqbpircvumjiiks[gnuleoxlqdkdguwv]onypjlfgzgqxvprxsuj +wrvswkvpqqcvoowruf[uiahxxhyztuauikbu]qzalmaeslqqektieecl[kshvsnuqtjbghuoqh]ujrwhbvxevfbptu[kxazrrmqmidmbkxkgq]gwdzewqhcpplqkmma +emoazbfkabamdtkfey[keoimmtpjagtgssf]nqzefxzynnyyvudzpnt[jebvrifmfdqltwhbvd]epxjckkvemcxtyvqq +pkfmadzqgxlshzdp[nonenxatrklmaseoam]koeljknqsisitcmv[ohrkuwnobyxdceqhirr]knumpjvcvpbnbmu +tsttnbzjcmacupvsrfq[vuijcfwtbazghdeertd]thamxkyzrunemox[vldldkqzfgitrligsu]nwkzguyjfucbqzx[bdebiggnmtbzfwwbp]mzcsqkfnjnhvycsgnkn +qxaodpfaefcnhlnn[vsypxhqcicdmoocbe]hdfuyzghjhxembgz[vtepqqancrkxhonb]vlipdqrjeulwzaway +cptmnjmfnbbhlazu[rtmuowxasnhrwxswp]sjvaajplmjdlqqzda[ukimlknybwhjudfy]ftjwoddfsjgqckopdl +mtfcgbffyxdtzxz[mjqktuwzfpmepeab]ssipgzzejsrhshyisr[dafxmsnutjkzwzpo]cgkeykqyfnsywhnwt +vwhgpxmfnkwqttbvbz[mdgulfcbhnjenvifsy]kxxumizqwujpppgqs[saryugrlovhecmrc]azkdjatugljprpgy +wielbtdxgbyjmkqkio[sfjnxdnmpvbpsfgid]bbjxcgcakevtcazf[fojcmnfyzqsiyqquyh]vmdhhaqzrksoerhiq +adhncvqqpqeqgmwjbia[xlidsjhuzlskbqxkx]mvxpqpcjuadbmoij[stkcqrhsryvqpcr]exusjcncbaikqdfd +lzxbtbffbmmxqdhsbo[clrpneqbluloxffr]sgwppyuvdorvjajv[qfezanwfiszmihbvkbz]pobnfqmwbezttlek +wfvrlnfyljuptwxta[ytukfqukilfljusejuu]slpphcxmovqwzit[zybrjznxpsdpehqeyii]jaxnpnmzfklmythahyw[rbrozvunbrbrkiy]lkuxjzjffpekkrbj +zovaomjqvnyvunmkco[yeszptqgbroolbncmeo]xqyoynlayittlzlw[ihajbvjwpypqeiv]absuxrcpxtihgkhhady[umljkijypyihzbjbny]rpnqthugxmhalbzlk +ertvmsqbjpqbwhch[xjdonkqbszbrnlqup]txhqgfrgischczp +sdnlpmhbbjapguaopxl[gbecvtukvfzufgxvvy]glheebvfbqpkyvgbpud[mkjtffwotsszpfzlafc]ymtlpzwiwxevcxljpm +oyteiuekpqxioum[uaxawgzztstiheixvqw]hghqohrjhgonzzrmn +mrhubunrviwvidf[jpzmyfpmychpfnuhxjj]rnxqhsrsyjjtpwerve[dxqxogllyzpaqcr]zmwuxafkeoghnxpt[fxkmunhkrdbnnde]gyzehvdxcjykyubmiwd +kiwmutrfztfawjeowmn[sxkvqagonyygkfhen]dbbwdocyvrgxjkuci +sgvqpvmtfblplnpzyuy[idjkuqvktoebgicnx]piuxpflclssenplp +qbfyvgzrojspwjsub[ywadzzbjxzdgjkbxs]jkfvjwfthzgzjokwlr[wsrrtyoiitzppofffo]rtmvodbelsmbxlrqchg +bylwlwxbttbhfax[dozygknmrwwkzqteitq]tgeihtuahfdnjkczda +nikkqybfgxkifucf[kixtedidwliujhgiwr]nraeuiwzymvwkdnivrs[csdjawwfwrzunsgtyw]lgcpnhkqnflwdmg[bedgiymlbqyuupr]wcthcpyxvnymeql +wxyhjalrdeljrlocn[rhaoziycqfhzhmnm]yzhzuwpfldfusdmkaz +ehxrrmbkshylynebcg[jfrepavhfzsecfh]tpptnnyhxyjhsigluq +aiyjdqpkneerjpwonfu[sxuxmnkznrmtknmkat]wkbigpudsxnjqfgvaiv[wisehmwxxftdlbf]ubhetpiqzkjzmds[errmmzskzssiqoz]jdpmwzygeladafqx +zyngstcgeikavayyzpd[wgwtcabcoqqmvbhpq]ufydtwxoxbrimggiv[iocchzfupkqlbpzpjwt]kfaigdnocfaukhspg[mfxpnlygaknfuchum]wtmgqplmqetmncyob +ltlbjlmkdwgavozzcqz[iwtqhntoinuriwwb]etltqnbzmwthplk[dhkmhtkoapaazvepx]acnoookzqrtlztz +nopkugxptazlbmcajr[rdoginykdclpxgoj]jegexoipscdcdfkwx[svuspiwvcqykxbbr]jovgrmjehijxvjuq +yjiggydodzcxcxrz[bnisbakrcmnpyuevuv]rsarrthtmgakcxctic +foprcykyrdkaild[kxscmuujcauomoh]cpivtascbxgnrqy +zactfwbybdfwfiuupd[rlktwxtetrkuphq]uptfyssrgzgcacbygxt[oldjqxljbpaivzwujpb]iybymqjpykkabpw +ucnuludtplhsqnnb[fxhhabbpbovvxny]hozfctrgdfzqgjpnep[fojhmkpgdtirtfvfx]yyeynnopoyxwyybm +isapwwtyzmpxragq[sijazyzbqkjqdjmo]ttuayomtckxjxaz[genxwwmymgkirkhq]rgyhzvznaovrcvprjpq[hovmlvmyjgumzlhl]voxvbywpwexcuzxpsno +maulsfmlfitpjolywea[sblcvaogiimnepne]taqgsqzscodedvrs[cjoepwrjdkrdhqvv]xdrwgvpvemarppvp[dafabtgtlkjqsic]oqigljqdqxmghqfy +uftqobnbdbwvggyiiwg[mscmajmhfibsoca]htvplnjschpcvnux +xqjpwgwegxsrzsgmlxe[sxadahrlnnstfgbiogb]ntuywjmtrdadommdyt +pewiwfgcmhssqsm[kkghloyiorgkuztrvmv]ddsxzdcdhqoypcnybk[sotohuaxvamvmjhctnx]qkdfiqlqdztdefh +wkeswfkouptenqugq[qslxjnudtygwkik]dzsatnmtturcsultm[fqtbsvjgjhwgkxacxzp]dxfbowsvuldkmqgh[tgqrrcazrpfzlegjg]mdqidmsiorgrjxyzpzy +inbgvycqgeojjzswu[wxcvzpejzkkupllegmt]ibhuweanxkjkbawqgj[abanslhidcyututbtpo]vwybvbjekpvtjvrcijp[buudsrprqrmkwfolstw]geqgwrrqsfldpfkcujz +stjynylglifzdbyo[lwzmcnjdrbazutpkbnl]fsgzcdpblzfewss[uowlvlcwrtafhsb]sbgztpaxjeezgnvnx +sntpdgrmjexekpv[cjchkzxrrxzrtjbn]vpnhkcxiewzaday[cluwnqlomhhamsb]cpkgsbppknhsoqizwlc +udvybmmzkkffkomo[flnwytsiqqniytsge]yxjepwrvjvmkwwutrvy[vomvggipfoukmgnfl]duofdmaunjiixqevht +fovkfheixscbvhajch[difkpdeitffwltdz]kvegrertndyavvefx +rroherwapuwkahsh[ybedcqnazvhzfvma]nsuhmhgajrxrsgow +kgxqfsndcnkmmglcqul[qyjyywvnyivatqvm]hzaaidzvxlaoemdqvm +oayaeoueibdddyvpnu[tetrismmtyhyftohddt]cyfnhbevjsgbucq[blwqhtzvaofqqresju]yhbsthyvztuxqik[dutmalqyaphkfmr]uilicgtscuvatvyfp +xvhfzyxirnodbieql[qaikmitmhhqxvimba]wbhtrqwakdxupcz[myjtfumhavokndut]bqywvrdfkvehldp[trzmnorcqoojkiitgcp]wmnpkqbysrezktevcoe +sllvtsyjwlketyept[yziodjdxonrfatdwcww]hoorswyycvrdymo[qokhrdclljmoblgovut]jdwgdlffbfdhljwzns +utmzajefbijuwetwq[nmnapsdjrfnaiafijg]xtoqvihvwmjdxhpblln +cygbxerigyfjfdvptdr[chmkiqsyszmvkxqlfq]wogqnldpowhrsmk[lcpqfevjnlwnfmsepvn]cjxeqamjxdcbzhx +oyepdlsbxdtmwnbmf[maqmbczpyqcrzoclzw]awrxgoxebbetsxhj[ysoypilscrrrtcan]kezkiihykfbgdou[tiyjfegunfgodjf]iykokkdwueilzgljxb +rhgzllbzkvthshna[szkhmsltityduecuzc]gwuvzgpbnurakgyyaq[omkluwfcvvuyldpztq]zshrunnhamvbbzin[eflqmmvukteyuhp]qmdmngkeqwzsknccsd +wcuvdpicnupjywvewk[mjoeryankpevshtf]davxlzdyusehfsfkawr[cwmackcctquaztyla]jbltaaewsklsnmpn[oybbikzwuirmhnkkx]lbpzrenqvzefzhns +vuhvlsdpdydamahy[hlnbqedhutubwjmkwdl]nktkpjovectntgugkx +kuugwqpdbvhjlpjkfoc[gpktxozhcyhdtbxjk]mtcifyxfvpnrwjxqbdw[miwqlpuffhqkwuk]ahpdnclkirwframcvn[sfwndobmkhjvsprqvwt]kavvqavxfyzbwzvy +tfjcennrnaefysxrxrx[unabefcchrppawryxc]ypyrssdxyiltwial[pnhrjfidsoxjwjci]vgjrofwzmcvfudy[towapvdaywpfaek]pgzoyputoaxuhns +jnnerdnbryvdwnjyy[tdpgycqawofqvqnnxym]gsmrcuakbqkesqabtab[uzebidtbgsgykotpfmf]drozgtxhlilmbepm +foiwppdowumqewrhc[djdtpwkucawlmtl]ewldenlgdkkjgwlp +jxhndunvtbksjpzjby[wcvdieyraslcampprfq]jlkliwlsforjmieiw[weyuytvmdbsrdxkrnn]xrtoomuvuduwwfne[gcucrxpjgtgenzjja]razsfkjoqcygjxyrv +guqesyexgmkjyubbo[vnjjzkobhlftajp]kduetulfrrqcgebbbn +qgwjjeiyfubocaq[bugmxsrlonulkbmrpdb]nbgvwvcdtojkpumpzlg[gghtouqdyidvklfjlw]vjonoplowecexkjdbr +asiaoukdoqvalcka[tpzjjulswtsuhtqramr]zlbbrhdrplxafblzya +lcnkajvhwsvhizqwg[cnxtwmjqamsalifgj]rdhgolxbbspczdtrut +lyiokvzoxhjpyii[dgwvlozunjzuqczfb]jhrrtergxpbnxsfuhaz[byeekuwewofrhdefsvb]vejhflqxbdllhwst[bzvournrpchcxdvc]ngktmjzfaqbjxkv +rerwdpjfhupfcwlh[sslnjmztttljsele]qjalbdrudopkidse[hemmfmuizvfifjxd]jfwotkmqyfuskznbsl +tqjgbmntwtgdldmalk[qknbcxthowjeuyvth]fqcrzfokygtechllcgs +hviyscugedzroqni[kdrgzuqzgfbscybztau]clgdgwhotsomipsbq[yklgraedpxonoge]izrzfrudwqkxspnkexw[dlohkxyygnxwjkell]ewqlntyewnakgynpi +sgqdkpgcrrotufaa[txrnubazdidvgrmud]zkchckyaloltsnc[vqkyktdnxzjsjsh]nasbrqemferoumssqe +gyspddyofgnxqfwncvi[cdehphtldasqebj]yqsnhcnwvhwwzbyoz +wjarbowzayfzllgzgr[fgrqmogusdxxijcusq]wwsfkdolbqpimtpllb[gcymfpaguksckikij]zbchrhgpmgtcvbs[eudmlgjykxlnapcvixa]nubrhcgoifaqpan +msmniqwaztgdccn[hxahjealmdbcmjoe]mrhsuvgkysymbaepdr[ygzbsqklpjtdawtzq]tlckkoeltawttppobgd +ajixvlfequoxtovgd[ebdxrmpaqmqpalw]kswlscqwyuxlriw[aqmckoarkeatsfnibrq]wzxcyogdfgvzlaytf +zlvflzexkyzssgtnovb[esowqoisjeuqjlr]thafqubxurfngllc +gwhagvhgcgugtzge[oegdxnmfzveaicxosv]ppmefualjnkghwnlqh +wnrocqwtmzexrhchr[vouiwbongbctkwmyn]fsvmixiqdlxhzhg[kvkpsplsgehzxovbet]zorclgkevhgpasjg[muzpoqtpttxfvzmkkot]obflzawnmbapyhfa +kgcayhhqrbdtdlqh[qwuuhhpqogpggvh]gkhvgwqzdkvirouoxkf[rxvjteztalrvatd]wbtfocwxiothpwgeqi +cwzcddzttiwffkdywxi[cgerpvsocbpktucknnz]gfcjxghzmyvpwtfsc +gdvamuuaqntboejr[vauqojcmrrdfxmcxphd]wgyxmrdgzrpthierrl[fhqgybuyxyehxofymy]lwsvqqnlctzephitx[kbrdugqwvmufkpar]xxugnpnvouqqnrx +icuxovmexhvxcxoxxxl[vorteandnfhmlcjgdn]dnderimuptlmyeaidz[ngjjdxjeqjcxoyaksty]pccoflswezkgiblbj +qxjooaefitutrxe[ibkioqojrbmgkxp]rfmigzuszsxrxkutu +czpqvgtbdmlrnpaa[akdjfdltyohxhvvjx]zggdrvihiabdqqflhfw[hifmsklrcyxeaobll]mikzlucjcjsenuy[cjahnfhynwtgbookxrq]diphlpbzthnltri +ekjkjgeqmtcyvzdtrkx[asoaxjekjkjfqkvuk]oyvvwomlasdiibeagw[djscotiumstgsczfd]cntrhytcawjicaljxzh +gdjsvclzegfpiudy[kuialvkoonpvfaibuz]ewjzmehtmmquwwzvk[vrkjncicnfjbbfkrpx]vnuubnrxomcwmamkpct[qpaeoahxkfvmfpdip]jzrszzszgghsxztmcmy +zruphwrwvppbkzst[zkusncdjcdbawofyyvl]llrfrvbtgirpzzl[hyhwiaipofyhyfrulp]zyekckfubbagmwlrha[nsktkhimgwcvigbrmst]mpiwofozrlnvalxckw +zzjhvtjhbezyvhxhfw[dxdsywktlpkuycd]bmsamzdtvtvxepbcz +treaudzibijtjnmq[cgxqaklatukozmzq]hlwmvdnizgpnhwl +mqezprvnrzyqfarfw[ihygxefbfuaoccp]hnjlxggnqzxaegawl[llgmqmampuafmcnp]xxptichzibwhoiihzgf +qztlqpncmclzwrv[azwcwcygchqztkkexzs]ouodbbhimwdbpfi[kkntvvlktnkpomznqdn]iqiqejealitdlpqqnx[tgdzjegkujajxwfii]weywbtwheajwnna +ljrzbykrluepwvoes[xrwsnsgikiqvsxdd]yuhrifwlgmcuxqbraek[rpbkrskvlpoayewgff]fmnlvxcqqbnsnojvf +ycdpujzjbgugfnwt[ouufszjzorqdtfj]nowkbjixmqvjcejxp +ztdbcvekbnyvdvyvr[vdvduuymcwlnnppvso]spulucgcofihuukv[jgabuhwdmcmpfeo]bdvknjrrvdbjkjffdfj +hzoahhmonoufsfxdpih[vuuixgrrxywhjld]gkrrwdhxpsepzwk +bbzsfopffjdwzfnv[dnaqvqdssmivogq]plpsjkwtznrskpd[xhoqxzvhgpccvnz]sofdxcqfzblitnrb +xiauwhnpelbuugi[afqarwlxnkwfnhzjp]najmzybfvbpwooh[ajcexheglqfxihyu]xlsprjjnzevdbqrn[tyfwmhwthdmwhwpmu]kgmtbphozddhwdw +gzcnnhpwgpjnfzgfw[zgkirhvppvoylutkvjq]ucyrfokvobspmnjt[wfxvyekwtgyrjazoty]woxeyfgynnidiha[mpwsynxrlazgkvjntmh]vzxzepuobxblxctfpej +nlytnqmigvqvpbgbauf[inrnsedsnnjvdzjszmw]vcifamxgszurooanjfr[gaphtqpffqralzcgbv]dptdovktxhjikfdv[ubkwpbzpzuwihmxnzm]pevdtdliqtggijcf +zxvonidsvpgphmhr[mhbsudzajuxhttcm]hcsoydmzzgogzezak[ijftgvsrdcgkqpqraij]tkgaoitptmbiyksayqh[tzuiesnjooqtdczlqs]hpnyiwtnnuyzcboz +tkukapajtvscwkefms[oowuwkfaydmykjkfvbi]hsoriuofejrnlfmqjkj[frifmvonufnpzhjwhhd]arhdbvpapsihwviz +ntvgvykzwgoquidroj[lcqucmwilkqjsbwcs]tulbwkysatauntfu +hxbinqyxtqhefooh[ibanydelhcozabjnqc]pnsbqgqkiwicggocgf +ssvkqvkdlpquvghoi[jzzetcjgeznfyicrlq]liwpycemfhvjpajvg[fqzlohlsfbxprhyvzig]iwheusqbzehfjwtf[vfluxzcxfshdbdnny]rcdopjqrwyfjbtqai +caoqwxuitvklxmvg[wskfazktopprlkipqt]vntrdteellyegmo[fznakqfovwwzxeuhvem]ojbyctdfyypuevhkflu[fxuegckzowtnvejyq]nijwbnagfukkszsdl +ghmucixpcgdsonxi[yjpciammneojabzrp]qwqjglgcseljdqvel +ohciwhgenvbswagyud[cieicbhqydwgwewrfdu]gnbopkukqoflspedhhe +vamuarfppicsdmsogk[xpmxqcmhugccingf]qpbyfrqvjvfnlinn +zrnivlsdqdeqkgymwu[illdsybmflayrxtngu]uruawbponhxvyas +fhmzitfsniehmerm[bezdtkljxqlhstjck]exjdstppsuyghwseugm +hyqzxrbheoqwmisy[rubakhmqdcorgjpx]birkmisawxzeytku[jewmmwznwytncxw]pfxvhuolhuedeev[wefmkwvtionjscrl]oklfaaljgaooigc +hilskaaxnbnrmoqhzux[kuknmviactstalwe]bwrhcbvnmvovmqdt[gtvlzpimdqosigf]zkzfxbttmbysoctrtbk[tcdudnhsttsfkssftxr]xyfvfkujcwdwwln +jujffztughicebmfuvu[hwrpwlvuvtzwjjjoe]nfifhapjapjuaae +hoaftvjjuyvnpfezpvv[pwzfuvmbmbqqkwfjpq]lkzcvuhbsqykpqymif[jahkqqkznlpzqsu]asjukfznsenxrcmjs +sssbesvmdhmdwhooya[qrltfuuueeqvmvj]vsnbejsnqrpqhcvg[kjxlguvncebploca]zqnpyfgcsknhrgno +swkybkjpdmiqotjkf[jcwptqahkavkkviu]tvjfwkfwqranifcwf[vrkaivyqaknvgjuzo]iafelegowdtnyrtwru[ysjzmpajwjutrtg]rfwylacpirrbgvkd +uwfuggjyomqpmoli[xndzkatelmhqwnijrq]lwflnzvgebathdmqyqj[okjbmcshfpkaixovd]skkdwlaiphqexjp +zdtojvknsphpftcayf[wjqudlhsrskatuklg]ygfrldlmeebhilxjfa +gixsmfxngwipdhdbz[uejysxptpjimrbhp]bauyddrqfjnasfym[nwwqdetjxdwkwmx]ckqjpbvnljyqejhuoke +blpxxldsiuwejnez[zsdvxeswhpqkvvmvtzu]jmvoockkzyirpvu[gjpirotzoddboqd]tulxjddgpjgydggglr[jhtlvkeepnicmcma]pglhvmqipvonpxd +fbsgvbwdutppojeq[izzxusemqgnqpgp]oybbcjugtoexouo +dhauwstsdidnqccepn[ddkhyuhbeqlereati]sycrerqwbuoosjlj +jxtbmrughctortcbpi[khwyrkwmwlamerx]ioayegbphslinkaeug[xuxukushtweybttpf]oabuwdwuzqvphdlixs[uwonzwzacntxcah]hvzhjdwdlqskjvyyve +jrzsmnbvfonvnftgwmc[tzrdlnrtaqyaraezgjz]csvgheuvujlbjcfoskn[onmauwuypminmjtnkv]olhtrxghnnzapxi[cpgxkxfcwyouxpq]hngvpwicwnckjgtjgi +etnscjeuzromtjkzmsu[prtmiabojsklvwwskes]gixxjsxmlgzdkkacb[ztwcptjvtigsuondp]qcuytbfynfbajryrf[qulrmkkcfxctpmii]sughhnalyvhojxg +tedzowjwzitqehur[wfircztxvqclegxbew]ftpzadwkryhjumfayt[piwvpnlapytasvmbjf]ppmbvrdetznijzvlrp[xehbipoficpltfplgh]acozgfbjdgmsshzkgr +dlvmyrhxoejphoor[najlnayamirtaar]xmtexfqjxithgwrdxl[skcbjoyyxaqkfkmzavh]wcarbzykjsrloccyvu +oondnfjakoigwxw[chohdpjjpbkarmjql]xweoektkfvoglcqpztu[wikgthprxlnilkxx]ybkynmacaohoyzzc +smxkdueequkgisqlhem[jxdbcrrusleprnltn]xflafmfhyluuszvu[uzdetbcyjnzyodxzhv]zrzbbqitihwzwumfvaa +djyuacvohtkldqxd[evneypncspdldospro]ssayrxnakpgupsusk[jkojeqjfbuucqcaso]pfrejhpgozvwpko +bqgjfwtnixknytixpa[fjjscshakaaydfhcnbe]yubofzmpxthbrpfkg +tiyzslixkcdbelkbza[kmbyphrjnutuuebj]qxshrejwpfgbdklmwsz[ntbxleixobbrbrzifb]wfcgbukntxsqfcspc +bwqwbynbrhbvjhfliw[uawsxlciekuabphsv]ispbnduaqytzohes[vzdbljjnpntqjsrwznn]eajymxjnddgcvfjbtld[wpuasgxiuserolc]ibvniwgxuysrwruhex +xocemwjggcenxzp[rackjvhflijrlupvtc]dymqfxxcqbpqptkmi +nuglpeyxezfyvwjn[kupfdqccyoioclbpsd]eqzvsbaqpqwfvcwf[fnpbfxkozqmaddsy]uetogipakptnmtfotb +ortrinslgqsfjzlliuu[emywxtvnanhnpkvvg]kdlxnezdgorsmurd +ocphvybkiygodpkilnn[xzccgywhmmbijsdwhac]czhftgsxlmkgwdq[yvdjpfyxkkhqdrqyuu]vlxblzbfxwjhedi +fwgntwhhqemigcwhgbf[lkrhwjctkmtlzzohw]auxqczvxxjiaahn[nssbhwsslkxbztqtqve]oteohyaibqryroh +vzbipwqbewvdthqtf[qmrmrjzlxisqihbbvts]vvaooemirevkmrirwlz[zfhirifbdjdqwormuyx]ezwdrriloynpvbznjxp[dmsvxigyolvlfmwshq]jugonuusmeuiqbfimp +geurvdykfmbwgbe[illdjnpnfgodvqato]gmhsrfwsrybwugziyaj[oipyfaovfujwkzs]wvbojxlhffyquhbpc[tfhtztawlmyanzy]eexqbfnlgahfpgdbyfa +ptuwqnoyakedcllv[jxhbzgwhjkrihqzxj]npzabseqdpzegpxkoq[qyikkylgrzrcbucxb]awkfyawxjchmnnsnxhe +pmfxjpcflryhzywdx[yrzzkvweeyrywjvryr]xjsgrxggxetihbhiy[vrrgrojjtbwngsz]wibtryrkfmduzjzadwe +zleuvnbmdipscuvigke[uiiwjhfpvyjsdhayasa]bdcdjxddimyrxqolz[sfcuxrctuzqgorqws]dcbnilgerqkwbkvubq[hbitiqnnefgghxmzqw]vugmcgmblbulzlivl +mgqeldfuyqglttqr[myadzjvujzycgoilzjh]hoarhnhveplbxdmaijj[jtkmbcxcnuxrfddo]wkglpnzjkkxnkqjgegu[anhnvqbxsetbgeciy]bqoozexgihknoknom +clmyxnxztlweimgaaju[jficumrbrophlcwx]qwjszbyhxrtaonhue +oijrdhlfyznnomv[bplprqvjwvtbwtybif]lbavepoadjiwjzi[nozozxjjbejgjmsea]lpltcnpzcfqwsvnlk +tngruwsdxtvbotyidjo[sgckbekmsvavvtewl]ceyngmkezxyfoowr[fawyaiukzbacnbaq]tpzvmacmnqbdhvzx +xhbcyhmxevpielgqbo[xluwzmtlsmlahvdtuv]wehnosxhxsapsjotss +vpxnbfywqgkhkfouy[opmbxtcbcgsyjof]ebiioytnwtrnkciaozw[omxvxtmcchdcusuv]egwnqrgrdfimgizdrvz[nlvhbqqxzlvfrfbgit]osskgxbukvdradg +kihpdpryhiqvyiyhahj[wnxsxoixqtimeqqkx]dpdekkbhuhthitmt +ynhyxpznqbfomlub[biyctwmvlrmrlgqtdki]tbtejwoxblnrrfgmlx +dhuwedgtkneskems[fjyujmoxktiwqppabjb]btwxcjwscodvirbfnpb[ztygbnnjwupdxtjol]amchcuzuzrcvmngg[wlftvlgjgtzqpks]ubkvinsotwufdpkoptq +isvlweuogxwmhgg[teigqswnorucobgj]emgxlktaoglxlbtlqwq[xivrqfkveiactxkikr]zgwbdstdvmefiynndu[mmuvtgelewrirlvwrv]pldubivggkezktggal +rxcglhwavdjuwyp[gsinkojmpqlphvuzpx]nzxdsdvhlauatbakxuy +fiqyxwsqisvdlxyxfuy[ixgpfrctptivqikehr]wuorawyhwgnmqwntc[iqdsjcvwauvmxalxirl]paguevujnywqdjvw[jyshygpggqawdangotd]awwtzxiyinnijqvmx +kapgynkcbzgepjck[kbvltihwmflqgara]qwuusdtopbywpmlf[sjhotpfywscqlewt]xptgyzunmveqgeecpml[zpqqeheaumssosu]todwwrfjtmccfcjfx +txgxsobxzibqkkd[unlkzvmoafgmpodo]otrgdnmdodgjgrqcwdr +vguanmlfujghpkgfap[iejfceiwdykzvirzcdo]awshuvxjojlmkiehj +xdulvgkeauimtrsbdet[yervsefhxoamban]hktaytyraexgwtj +lkdcmwcsmrwiggh[glkskoislssvasxty]zdajgpdhmtolpsv +kjelcgecxvmwotlki[ottbolqfinmhnspch]rgkjlqtpozxcspxil[qeehsousujruyux]wxvooazmjmvvfojojec[micsaorlrwjivzzb]yxutyxciounkmborsu +ghohebcqxxmbxdrk[jgaqgdpouryquoyzan]pqrideakktpyibzq[ptrmrjtnprnncqtjy]opbnmyrrjyewcjkcit +gvuiaaqdmtzwqofzmh[gckryaeuohxqvudj]ihytgrwmztafedg[whjmiawnsxqrsdz]htlcwqmstmvhzqv +zlqmpwruzwiwgxludn[wobofyuoxbaiffzripg]jzabrxpzjwixmxjwxps[numxfazcsjarkqiween]buetqrsimzcbtgzhzsf[wrqfmmbvuiqkwvp]zbrepqhzhdunnrn +ueayzrftvviieopw[qofbnikacyusqrrbv]atuxfxvlixxwcvude +deoydzpabwnaqtfxd[nllutgtjllzkatsq]xgnonhnxienzyed[ezrkioawmvehitxwjhf]vuogdpznmzfjgzpr +ulhyjalvebkjghczj[jvzavwgzjjdeldtdm]ldrwphcajtjuvio[tttnnxqawwwnbuka]mtffpzrcrdxageky +ernvupmfqenwbtcyn[awkenxigbfqhsill]fkdiahjzszftqvxlli[ybjbppmoizfneypxg]obejbjeeowjpdbjybyt[sxjkmqjclyofzwqn]yqwmlphtetbiibgdz +uusbgnnrbtwcrmje[qqmeirvvpnnmzbutfzi]ifaxaczresnptkymnyz +guxrbjipauqugqrzpmu[hzrdbmzdyhsoohkvtu]grkzmmnwasbhrxdt[btsoujquqpeybyj]wfhwixifkmtwuudy +seyavykxvclsfjl[qbflvoelkoqazcaqp]suxoaknbveehptfweqw[njwweoiyvtpfrbewz]inzavdrllmhnqymm[ejbzsuszmjrjuxcwqyu]vwkigjhfhjxrkfqfhl +ecigvrkevkctjtxsik[cjkbyodpqrnvddgs]eyycslgcoywzoptanfq +lzujpayxkxuzifwerb[gdeojymohresgorrdo]pdqyxzcqvdteylrat +kpmlpmrrkrzarytgt[nzptfiizwnqfofw]ckjcyzikqgkvirmmkgq[hjyganbtbybfgmh]zjhgccpfazxlimqd +gphmvfooqfwvfphl[kmcdmmsvpfxpltjgb]vwppbihfhizacdfqnro[xaohlglhyfuwbjwp]qmxrirjuykjugpnstou[quvrgvmptdljfic]kzqhwwoxbwlymyq +cbzuckwahcujzclqjkt[rrvunqrvwgwqvuttx]uzcrmsbtyolcnurkvq[qvabacizpifnonevh]izrmkzwxdlxipeh +mflfucxwxxhipfiku[bcvnwswfxcjawsvuari]swjjazksesdesowdlw +boaidwfbvczpqoiqmik[epkybuiwtziyivfqz]dhiaxvpeouscmwlmo[mysihqwgzbxmjvyn]jabptqnqwnybvwzuz[ebkvybwaobahtacbg]dgdkvixfjhjzrmeqq +ywwqdpptqnmurxjmbv[hdoboohawvopyoaeeaq]natawylxnkshbbsxfq[bbmuphyjdmwbmdiz]bedhnmdxtbttwzikzp +vlmusuahzbkotcibg[hkwkvexeevaoozp]bbskojlwqqttxex +eyhdwnisihrgwhjplh[okhrfhlponpohpw]irchnmtfshhetcaic[tpwxmbpteupylhtsc]svvugwhrttfdbux +qfpnzhnlvqcoymdh[uemznlwotfulkdmlow]fydazmgbuseuyixcxlw[ftbljyxnhtegcte]onriyxoqdjmmmfx[xntscxcggogfopwmoz]milailymauobysd +pmqvaceyhyxmmeddir[dehpytembcpfxigmnlu]bmwxoulpinsgveup +vpalydmfqaofuiypo[majdgpdckfvlxzgoaq]cbzngzjisqwehlimiw[iuimnfesszsbhrrq]ecarhrpuhbomwwyuku +ugcydmnwetdxgzyfeow[llvqrxgpfsftcdfxgh]kftfuzuwbqcpzsoh +bpczqezcnoqvczgmh[nwccnhsnwvpognecx]ythyfnkiqrycvtbimq[bjobvdwyrguwqhttg]djwhysheqweyafev +iroadbrdxogtrqwlwl[jyyyypxlscoqbhmc]ycbqpblnywlwcxayci +btfomssmpctxzpuq[bjygbuyfbbclevanxq]hplsxnnqunfvrnw +wcwvezxhwrriibechyi[rlezqecppmovbfuhjqw]ehlvbhfehghzritbny[tlzwzqzfuzvbrlcr]raqtyexpwqzqshe +fmcglnrqgieiagqnbb[ktnvufeyhtmgkdihk]srtoabweoozjcqlkkho[uzlwyxdosrzhrdwcvww]duomwhxgubjsayfzuu[geexrutxzvuatsznfqj]nkgrxdeuygvkdpbbw +ewoiahwaveddcxj[mniclhoatnmnrquglyh]dbwmwybqiruuenfp[igwzdmdbsalfszv]xpfgwkrpyqmednout[jvyzppslynsgrrpl]jbmdcxayjlxjhtp +rhwjxkxylgccctkw[xndyqfzclalsdaw]nvfuwsmlchhcspbcdlo[oyvnrjvpdmupwam]owfizytfvusumwjgcoo[szbgohpwjxlrehkig]zcrmjurxljhzfveqydn +nvbogneenunwabmunu[augsotpjbgmeynmk]wutlylrqmtdcywpj +ehaatfsreuyokmqvhx[xdkadlwltyyyqau]ygdgomdgdpvtydh[wqiklcudpmzsytnyf]nxsmhdqqokmigemys[qmhrzoisukkqamkfvlh]wpulrukjkuhwejxppr +mjtnnkoezanignra[ihuxiejzsefokchv]syikbrdxxbekxanohgc[cczlwiuxwhgwfxzx]jhwjydqwralxhuxs +xxnvdededqeczjjxjr[efxsqkksautmcljbt]bzfukwsdqtczdedav[prxheqwbidxrwzc]znwcgymybbcvgiujqkr +mzkvvanvczknijxnhq[fioykiipxbnpfjjp]yhqwqdxeqivoqkrx[lcqyuagpuareewpokct]dmfocogydcmynum[beqttskllywcmmk]rfshaoteqtzgrlxgvo +qbtaldekaxgzyzn[jdpcewsupmbasxodft]xwbmxkbklfmhbgf +fzpufmzsrjgzrsp[nqnxlsroxtfgchagu]idbhdqqdawkyevcaset +dmbwfzkjxjsxbbwxjxk[zpzjbnqaexcynexxfc]lhmupgoizvtefekv +sukirwqxhnpuyendfwk[gwhhspsvchcuanbmlk]cihzeilywxjzzsszs +vfnhoooqqcxjslt[viaoffogyjxkevxxy]awrzurrwovvpfnwwt[odcgpzhowqjlwknrcje]dfjqpxhooxdcysksg +nxapqpvdhslrgrtxhdc[iswvrpqulgrhsgpgvfm]vfjajvvwtkbksvpcel[xfwezauamawzimxp]cyxvapviuhfbkrgmgrg +ygfkcfednuuajdcfhsj[kfbwhcjqsjfogqkojt]ilreegrsxleixeyufpj[ywoeiiaocfmfluppxq]itesxinzmlvifuamwfy[vmjgdocquwhjrzmgpb]mlnzbcusixcerifrt +fmbmszmiytlbgqj[mxanjndezcdykejajsi]qvlnzcjskluajasur +yulipwbgosmxvdc[zjqvytlnqajkzppii]dcnsftspxtzxdanti[euqfuhptpvjykao]zgtgututsvpayduj[odtzdyrtdqxrlivdw]jhvsqcxpatcyvshmzql +ketdvlueslvybcl[gbqfjeqfubreoflj]mqucljvqtjdzkkguxl[cscsvcfcfrtmoejc]ympetkbksjlgckqmq[fljmocmgdeetrwjzkp]xgmkrjkmblfmxld +vganvlxnaghlgbsw[uzlvdvijyklbvwobtai]aurffdbczquryjnyqc[fakiiskqkgcyimxccrj]aiuuofkveublkebgxo +acgbontuyjxhjzivte[vhnoyyeixzytdvqbx]axjnjriuhwnfiywvq[uqbzlbmvpswmrcobbbj]sdnswtatodgdbomgto[byhfkjrwprtsxyvo]egepsmlsyaxmbkqewwy +rmehgzjwlppazpef[torfndyfptiaqocbgig]zeuumfssckpmberghn +wprlljcbkomsgwzmkwf[pnddkmzzdydnwxmcw]fshmicwlrfbandvxk +tfywkvcsqpcmmdn[wyhhgjdqoakjero]ahmkqjfahoahanfqmyw[ccajjvhoucigizl]essjlmnzjaqnmudato[reswrofsklipcrxhj]cammaiomtxtwzxkfzr +tbutcmnrbiocxfyz[rmulbtdvdhxipbrfdc]vdvzcjorbvgdnibhaay +mglgknfclgrnlsjeks[kgbcqxxrwaptfnhu]qwagqiwptnevfuhvdd[ltbweixojfqkkgigcsh]ekaaqcpckdwsiycwphj +xbeuepdtdgetlyts[noelmtthuhqqzehzi]duahbjiueuidjvcq +zlmuqeuvfhtryuqj[ijeqqnzqnovszigmw]inzhrtwwbmuzemmii[aklnymgoybonasv]btujwdjgohsbbdpn[eplxcmrwtbpiiocguv]omdpwlijtxbtpkjnadc +ubtwtuujltgdciadbew[tifvlhvmkihbvgc]tehgfwswdyfoqplq +miruhlxilkampypvb[gedoakbaqqbjacfugvr]jskrslhmptvfecqfs[rohgyawycunprspmv]bcxnomkecfuwogd[lschnreywutgueswe]sqaboebvgrvfnzy +ilazcsdpyeichrfm[cnaufvrnssjxtnm]ltqvdggeicpbynfit[yljqewexkzrquqdwwcq]qoeyoasrkbqksnzhse +jungtickddhipmxjcn[qmoineyadkfdgfzg]tpobgixddeodxgcjr[efzwhcwvtnsjpyauv]iulcbjyqjzgjjgiaceh +kmehlrsaqqgfujpktf[ltitekridxtfdfjpl]raberstzkbjrjcbuv[xdnhnqxmkafeqnkhpng]goctbjomnkwdrgia +cavrmrufhuuinevsc[zjmcibgnaeiqiowxiwi]gwwcfikfiqdrlene +fjexpcsopbvvidoff[yxpawrefvsjwhabs]rsttdnjzjkjgquzk[ctreaoaewixvhidcvq]ucrevrmgcdoqxuk[lekplpxhsbvpdjkdydm]ttkeariclyrgaqcxn +ylczzvberczmyxxm[ftoauyknufsxqul]hwpqmktovodawyfp +sgicxlvuxinwktk[umazryxwbnyetkt]ixteafrckcndrzgpn +qjmstghozevlgmorfw[fwfqlkezyaawxigjvu]uauprxlklccznhedwo +yazajhkedyzdalrf[wmcwsikcmspujqusu]ckcfptphxgjfxur[dsyuvmngnykyqqtpthd]yxsfmtoqiohkowv +irreyprjplgpwcvu[whzymanzzjzzcdpwozs]cxtmmgirpmopgjv +gpuoivluiqfsehobpf[pmyzlfdrrnhxroqgwio]msjvgnfvkdlhqapmnct[ezphbhrtairjmhdpnar]rhmbjsgyfwpxlby +psomwypfmhhrxinyu[seprlzeazlaszcqsj]kkkxafvaoacoarx +cingwjklampcczv[tmurwpisypfrrkwtczj]rginkyghsucgfisq[booesytmecdvkju]znxqjfpijzkysdtmmsh[gadlihvkgfqdinuadpd]tmfxgzlqfbhcdllvv +obzuaolefujubdeo[fdchhlogkgshfooxxm]vizstdcsahkbyalxpw[ttiwnlbkputjvhrxbr]kiwhlicermdqdjute +xjlrmnttecyshntd[aeghafcslhiikcwruq]ehatozrgbcjfrzrqqy[coqffrvrrriqzxy]yadpvxurqwaqrreldzz[azqyzwtfosbvgvnqyp]qlgtxssafzvbjdcp +uzvwzgbfcliawvbqiwh[mezzvofkojjzqkboqt]wmtksykcowwtuma +fqjyyglwuhnamhu[oggekxsqiqhbvtmzmt]chtzvlwtwunulxlqg[wytnygiogccqekoipy]azadrkmdoauqdjxs[bjgckllxkijveqihgoz]elwwwioxpfwlhhjo +caheljtlnwdiffq[lvkujiicujmfgsepqzo]egosgocsqbevhvohv[oircvvmeygjeowunzt]avpzemujsljtdmxkpo +urhkrdwsflcojukifj[dtsfipmyeihmwprsn]puneauixllfktfv[cnendzgfggilkaxwxh]xptnnywpqfzdnvixyuz[avtnsdvfoiepwxrjlyf]bfldcuveovkdrcz +yjdthbdxywslknys[pwmdercczlngxlcfb]htfodzxbiytrrgsvlg[qdmrvenblrubinexe]yytgcsisdwntcjf[euazjyiycjnjvfeqtto]jcvitytysllcmfs +kewxwqyysgxawyp[ovcqhszhpawacndzd]rkfgvpwtrcxqxddf[inqkivfwowcrhgmjgac]iimanbawoedagcdi +rueeymrjusakvlykpa[aeamgxaunfodoka]rwpxggzojactuegm[avjkmcxslweaeui]ynozhaiyuolylzgzs +lerccglmseezpff[kokaswvdquvaroznpwb]frwsjigowbshwkgchaq +ntgklrojireqpwpaim[yefrgtojfyohyxwi]poluptiflncoarpoe +wscxpyptitahaseyc[nvitggauypagnrqt]sljmhamehqsrrtnkma[ivnxwfzsbynfmqpv]vtvharumuefqaxvftvg +rlwvwbslirshnibivvb[byvoxmxjuaftvxwnt]jvriauiylbfjzhcuocn[janwjpqqlofoetwgvnm]pzenzwgepremxsk +qxwlnwckjetcytmk[wucfiwbchqulebnf]aefdblvtshogdmaozxp +mwipinfvshxjcxe[bquehtxanardycy]ommggmalllwhnabt[jcntxodpbdifmdxwvd]ntuocedcycagludkzzm +ngeaefgieqybvhi[cryyiffcehecznvqa]oawidmlbbgmhrir[snlxptoienxepsan]dhqjrbqawgpgmei[reotjgzlepggcqgnbo]solrlphkhigbypk +ooulaciwfjqsrxnmcmv[drkctnfsbgqskqfsl]cfqhlhuzsdhrfkftsth[equjfgsiwiwgyocukf]zcgzqaauyswoulk +eieuiqnxqsglieiwhyf[mdezfeskxxefatoper]heoiglecmtfdicwm[bnirkqodtuetivbade]tvebiafbqnkdxsxe[ctkpjclmsuzfquos]wavjtwzgjzvfvqde +wxtwmrbczcosqwhzfto[sozmnaawpeigiwj]etcgyhhuxmrmdldj[pxqzgtwpvljndiimuwh]kuetaxjjkbstwkjm +jiaaqqxaalhqlohrv[nvxlicxjecrwwxb]rwdjkmaliozzmcajom[xjsaybkbcjkjfibxsuf]qmhgazbvjwexgeupf[idktwwlpilpsyoc]pkashvhxhdyvhvn +yvteohdhfvxdhdflst[ityxisdhtkmbtukca]hafgktwtaezylpvsfe +pruxhfyvyakyiqcna[ldrptnvjswidsidtp]zvlyaagzulohednhrjw[uxrskjlzlbartnqphdv]hbmhdjpvepzffatjvgg[ompusushgickioil]rqblunnqahurwbpa +vvyhqbhvmmnbfcj[bilomucecrpyrolblb]ramlmynnrwcrmozxwf[neoosxkutnfxessbel]jbhlhcyhsvlblznlz +tamaeqtyaehjgwj[gtihpldnfhyivafttdf]jdjvcusmevnnwolc[bjoubckzocuycsqxz]phxayhhvmanhmohpi[ughfukiniuuqqiynkgb]ruqhoriiyrenlsro +tnijlugrrsiutmtu[ijlkmzbqtyxfazvlmra]lwtqqxcybhepudhzkjs[pjjohpevoavwtakadra]uduqpqqfilscmbhjct[gnsdwzzqaagwrspe]tgfcjysekfhucshiu +ngcahuptcjnugolkor[abcuqhpogcymsuqbdys]cctjmgpayksyjwp[cbiuigxbektpivgyyd]jbhjcwigpmxxccaoa +cscijxhbjjwjsril[xnglunblqpwhrmf]vrmlfzokdviqexa +owlwbfpofwjmmaurh[vwyiwzwryuwtzne]bppqkhiaaoskdmuuv[rbjsfdavefilcbdl]aioqshgjklhbmhggv[ebzzfugfmojpiyinex]araazgeiuvamzogvru +wfdanweiqjmyirrqjh[subtlajaakafgyzdw]zcwlwyrhmwqjbvoz[gkygnrgxvshuerhx]vksyrqyjhjbfvthvbu +wtyfaazlbxfrbpo[ehyezrboykpctruj]ueojejetsitcdgaq +xuacfazgdjzjscsbp[kzjzkqfubdgmsywqiwm]vzjcgemfarnixlv +efsylgeymygjtmtbp[gcbfjdjtobzhfjeeqok]plytmtkttlizydos[vuscnxlyasuhrpdjhzd]qpwhqexybrceqod[fxavafmimzhhahuil]mymoublumovagougb +auxgfqpalqgostoho[iaopjgipbvoljstgnzh]yislgmfykietpmpz[oznkptntgupwfdpo]nscpfrjsrxptzvvbagq[nzfkygqmocjvsxlg]gtjcffsqfoyyoopb +ayoizeyzqyepfckfc[weehzjiwckfuhuhrkrc]dwhrrvmjmncgjnbdqs[pnrnfsebeayhuhg]jsomlitkqczmolwrd +ryzbiwjppxvobnnpt[zbkwgffelrzllxzpc]mhfvqmscbuvntmdk +kuhsqlajwgworxlv[sdvoyogxfxohrmphr]latomkqvgilskgd +aqwjohiickzgmqiazma[iruejpnfddezlde]dtugotrxhvibnntf +psmfwsnanuctpuhir[yfcfhfneyerirhtymhk]ufjezoiilapnkuvg[dwzvhjdcqjwiojsm]nakkljyivpyeysz +anxobixhtumunsloxv[kkepunsqydagtzb]gjyzevqkmzbquaxc +wkqiutnljwktezrumnt[impvwsoflobulhpnrg]aauhcaluwladrlrf[fkwpqeaxrrfjirzx]wpzijgenpehibsoe +ptbfrdazumqqjxdce[twtaixllcdgcizk]pxeolkwstvzduelo +hdgwniaxukuanuvqdjb[mnpviwocxweddyckmgu]ruhrtszphsehnzow[xwgsrplhfwbpdazcm]batqeknzekbsbaj[ibsjvspgzsfzdyhqy]cpzclpvkyascrkjsbz +fkottffuwepewoer[qeicyklnplxyxgx]quifslbalnnxiuaoa[tajydbewnlihmfbsrqd]qdnexoerxpznsffnq +msibklqbsqliajf[qatfxjlufgcclyn]vkvzkfxmrewiaobdtg[csjgpsekgzemrrzfjoc]giudmrabqytyumyz[unysktvcupoebdtdjm]wrvvpcixjxurmfup +rzaochbmmkwqojsggj[hqgjlsylxaxduem]xjjajcosywqrittlhmf +gfxbfanmuiynavnsdpu[dnheoijlhxktdgy]hehjznezyjlucrlay[oxaecsuxwcfwadrx]tttkbnbmcpdwzggsca +dbfixltxcjobjlvuudq[inwqktqebeeyzsnsj]ayxryykxergvgwj +mczmiyukammjenszpo[uvsfnmnyquaksozs]ybkkzmbwkbvtdtmnawp +pncobbtnkbmzcejovvp[rqkjgvinchxyqvfxvnb]llnmxorlkksamzfc +luwtmcohdekeexghl[ispzxftymadcstcsw]lqibavnlsxkzggkcowk[epnjilabodlxnrqs]wcehkmgxwyqathdli +siiegioswztzbrrwp[bzdhkwsjzpspulrfxo]bgskefnysbyzujrwrm[pgrouectpbahyqbljw]dpzigoasczqhulwkmz[bymzpzhhgwmbrzxiz]yfqqmxncxwypftl +zgzhuhdilruwltkx[uhukqbixedpbalpukcm]pcirnevcltnpdlvpy[fnatvckycxljmgf]rzktzrmekmxfrjsmch +qxfwzgzttjxijfdp[zmnhqryznywavpxvud]tzsripbxwewwxziwreo +eqbpntitazohdzwomuh[rfwyrkaksnngmnywz]uovqoygbbarmschc[pzlgrxvehlnsylyzn]llunlfmkkxbyrxao[konbsjszcjzzojsjdbt]fhmretnaylsqssk +djlceaeoeocxppkdd[slwudqrbqrmxjbpalvl]zgmdrmnhmudpjubdn[qvszgsvurpmwbxwkof]ynoroawinaiyyyv[icghtfhaxxdyhhnw]giyjsbnzxvlvshrj +wxlcotazpgttprtr[pqohcscugutrtwl]cmcvoaigjoyyirbnfm[mlbzepkrpbktgzg]hlwdbtnzizwziatmze +uigffkhqtknzfoggi[beusbrkvhajotrspsa]wsaccsnetgfeffsvo +vwjksvkdppzehlj[fgzpmrsvorfrskds]pdhnuxsfyfmxbxdtkgx[wyzytytpktbcrux]mqophfrfasafqvx +cbiektcdwbpgbfffqlg[xudmslkpoodtjuyl]dfzjgkpdxjxunbs[jmzbznrrvagvbkhfzuc]guzkgxevlwuuihkxhku +krwunjrqhebehsdrrv[tkqcdyqxpoxkznqfpn]atijrfgfpoikyyxr[aukbebwadqcyebjzr]okttfqdqwqjzduyp[lwbsydhmlsuuagmvq]lnbivkfcmpatybgezf +gtkprhekcgvyacadjv[ycacswywvajrnznxqyg]lpwtalhwtzixzoqouyq +cmgabofgylfqrygksjh[ljtoelliawqfehw]ekjwdlivarpaxxhp +jimwgnncdqgvfzct[jtoqqtcskgjmnuvde]krjarkoejzgfymes[hacxazxohdagrwkispg]elbglxqfncqzknz +cjbngqpkhmteobtn[wgkuzdajyhlgjhnm]smwxsrmycomfotazrz[wwnbjzriifrmchl]ksmbqcorpnqvxkckg[xbrpmogeewodnwlczc]yeufgfeqdcsyvpzl +wwtfuffzcrzckue[uginpewlyecqytkn]pyzvhapqlilxfrgi[rtpbfqloswoobmet]cufulooqzmuegdcfx +mmbnvbkrqufffexnluj[lvrxotqcfaxijevnlls]hckvivyebczkbhzkoz +rwifsnduvsovozufh[zsevrarnsnrlwhv]wmfaxpuqcbdqqkfxp[asfctkcvcewnuiaavml]vjcsekcianmizjohjx +afxfayrqsbxfxbpegau[cowlrldjefmtodaj]qtyysudehpyqyipjn +whwezmjibdtptpnnav[uiidrcikchzxaaekrx]mxpiqimmuoethflmuil +famndmzjihjygvwxbes[cskofhcpbmnyoexbmhh]sqawbxfgxyvbjftjmvq[bqlwfijohjtpyfvd]wbhaubzrxkovyopf[jiobwkiybhfqmnfcq]uquelithhevuspiwg +evxvxpsxwcomtsn[mksjlthzepnfyhoot]bwlyelqhnmoigjhmw +gztljipmofkoqhci[uhrmqnxirgeurbcyegv]feeplfilamskiayvyg[smthmugcggtalps]ujxnupixzojthbc[frsysrlqpxleeat]kalzaynaafgemiwwzl +rrxvdpenycjjhrv[uklidponmhdmwcop]qjyjbjolepkgwzt[ujcsmslytamzhql]ylpbltrhzcsgugipwz +oqvcvzpfkkiuiinj[dyavbabhfsrwufre]ucvyetdkdqqllnvmqyn[jksnzdkgndvqvrf]jbnihgzboxiefpucvg[lclejyqlczxyfxv]tqzrdrohqjqbxvljg +ciiwuorwmthnnju[awwduwgtjtlacvtu]lguoqpebbsryyhkjj[imqbzrjtjatcwlv]abdryvpwcwgdxpp[xdjcegxusjmkkpakqnp]cewtlucgvbplfee +vwmiycweuodladozd[zgecpryfcrcesjpjleq]wuukspkkgovrwyeyavo[xrywxofadxwfbtjbib]qzggcrccppsplyv +ipqomncjvpkzmfmrey[qhjtirpbqvxqdaqlngr]xushcgcnvhjjaab +hanwcykvdzvqxzfuz[vscvsqlvjwklirxvtyw]ozfecbczyozgpgmnux[pcrmkhlciltnaqulctl]joxgcwvqiqnlpxly +eajxoseiopcweolcly[qcjswlwuaycliejkjes]trxhfjqliihbmaa[bdfmewvqwjldbfff]qkjkaebazisyaxm +dtbhhjsdulubdvyi[taxprjsytexlulzs]xnlveqmnmalhdzl[navatnkberwbyfblq]qcjrpsuapovgarlku +yhfzspprhymusakwfn[mmhvflmsbaurucdtf]dotdlxxnwjemghfb[mgpbdcxreshkrvyqtyx]cuclgizfrkqvyiq[tshbnfhmikxdllavl]gowjautvkiyhqhehp +zdnboupldkfumvpw[tibtbbqktytsfzpdf]mhfcepjpzkdaywtpz +ykhefgrfwkvwukmyrj[nvjzntbxyvdjwkwsz]zeyamuqcuwixlvtwk[hcipdkqdmmdvytzvahz]rliuuxcbwxywvihbyh[jhnzgkztfdjxogrq]rjhrrhuycvjivbqag +nwlfwetmlhmbqjpqbg[cswbhfikzrfehdctn]ahtfkjunmkthgvelnqw[argwicwrcxfpwak]tdjjaycocoxzuvbfmu +amuosxbnsjqcjjcjlhz[mnvuuqbnkthunnr]xreidmwwpnszmkdirso[fmssrzncsdordasr]yecrqkjktgwiogf +ngralilfroaqpde[uilihhzkihdkqrs]hcnksdqxgxcreunsj +ludhpshvlwbeylcrur[xpatogvisnozepxs]pqitbjvvxbcxmmj[augxcqtjifzcghbcb]uixsaawafzlnyxur[klvyyhwnmyugqwml]rjtesbcgfazkodfnouq +bjoeuyklkrzssqxdmc[zpgzcvdrtyguamwwpxp]jrdmpbicebfcjxpxuch +zuxhemqzvwtfwzdhvtq[nimvutjlcjyxlxditet]yiveivjwzypjdewyc[udbsmbomkbzbfbjhg]ivkxhwryocskjfgzt[yhqpoyummwmuugpyn]gihcogdyyexfysjai +ywhxzrbmdwqtkgmfz[aqvuoigvfhxkmsvnzdb]gmxwelhjpwcsatmsz +grvcvhjgvcltjobrclo[atoxxtcrmyacmuxze]ynxcizfubrdfuva[fylsoujclhiotofum]kgokhjsqdtmcyka +udciiofyatqnvbvr[mmjooqnomcawqitjfv]kwhegzsilpcelskmn[vkdceozvjdugpyfqszn]iajtqynckzqqnwxq +lizdfzudionqpeqoc[fydjtozosflhutaj]jlpzkhyehhddenh[vkyelwykpcucfic]kjdifkxhpylenuuzws +ictzptuzpalhsfbuf[pzvehtwtonuuupkwjda]zmarfmjqyuvyhdra +eygeklpjrsjyfjip[hxhqxtksenklsev]ywbklxmsdwckent[podxpppgzgqeicgzv]hejmgonsicpdmjt +kurniprrhhqzevgbvqa[vuieoxpjerxdypcn]nhojyqglxopniwosaqm[sestwcawjvwerau]qkigcakhabmshkze[zzhiapexkmewgav]bijkfysxswmdpduuinm +qjgkgckdoxgmjdufvh[oabgwxeccihlwvpmmvm]nramdhjgftbsopk +lmbcfngtpsbxhhpddy[gfdoppyayoeimqgkjsv]andowwxqrksorzu[sxdfywvbdxamamfgevl]zssxeirnjcewzkfymvt +nsbsfwnjejgchrqq[mjinwhreiayznfb]fugheybtigwnkix +darbiaqtzgzcmchrog[msdzzuauqnhqrpdso]heytmuossdsjeku +udihwimgsuqkoblt[uigkatsqhojrydtgjiw]kxrdjfzeaqnrbdvu +knnkljnbstqfgnyanik[rbtjdvnfatggbvyftu]thbtcjmlzilmspkoqyt[blsphgtjaywnboxwcel]vpjathronbwrtzfttr[plhudkkkixgxles]embdkzgbuaqjwhbmetm +kwzdnmnmptaerbaidmu[vsvbafnuqalixgkxf]roarzitkzjrtrncqqbm[ojvlwohunbfocmppw]mornpbroptyizcrk[cpwqbbbfpznheukt]gbzprurpkirufsuihd +bkmorggmbkrwawvkq[modnbcdgrexhlrqo]ieblvxbumgymmnwe[bufvnrpvpwkobud]rqtkkkegurdntvbx[wldfyxvehuowkkhimr]hagluvsvnegjyqbszv +rigzhmrukrceyebqhw[bduputrizqhdknjg]vbppheyeylzceqm +zltoccrpxepezoiobl[masvtxjotwxyjcgjv]ezipqxhdwmquhkfug[djngkeljyefhvrh]ksxpxnddewdlegbj +xjmufgrbjwgkqrlm[pwultrznglpwfvph]owivnxbspqfqctpjc[twxziasrnsysxgw]jggzouwpbslcqcnx +oqcurjpogqrdfwejkja[mzchxpphbhegksxjw]acfgfwxlxxautgdhgwa +vsmyxgsqymzwcxmttrq[algwrffexzqtrkyhc]twdohwzdwyylbim +cyatioidvalbcesdgbv[qwcvhlyylvdpcamukb]ncaelykrajqrizb[tkcazcbkjloryhs]prbojgyrcmhcghtedta[jwjfykhcfazalocr]zwsimkkjuoigtwqyu +csvfkwjbzkwebxkgsik[xulnpceuwncnmxybk]kppqybwxkaetszb[dknmmnoxewybfuk]vxayuzpqovhwqdvshpp +kkymsvqoijvlegzjq[admimrplqgegveq]uzejgcrptowsugmqwg[btgutoftcsdbrigj]ndnimimikyzenbcwc +beoudboaxiqsnwgk[djzpyulpcxktniufo]miakkcyyfjhfkoahe +rngvmyxvnjydymjbuwl[lxzcqbiwdajwyyxhmve]spvzprgxdcbjuykbo[cbulwyvrbljefvrjoba]aygqsevnarikktyyyww[utfcukiuxzoyvbfxgdh]nxciqujjwsaypjwa +vvugubathffvsasmjl[rcynyuxpxlldargshl]wluoczkugodyonojrg[wjkpxvdecdhixcrf]wnasclodhzhkqmhszp +yegiztnhhksubmgjyum[tjwbnqatwqmtflm]qgenrenqlyigdovz[jlocrpkcduhhuwwh]tllapacwolqdjemy +ssfuzetcmvlqtcwuq[toybbukdrftyhkcwgf]pposzrtracoojhlkxwm +sgexrebbgasycqwrt[kkshnwwwqkdtnks]cndtytgbytybvenqeka[caccwspxdeccdmh]ktygfulwjwpjymvwgyy[cnqfidaqpggammsfeqn]gebngavsmexahlyydfj +zyjeiarohhfvevgp[bcxuhacvmygsysjk]tbcgucjwhembofbmu[fwrcevelvjgfsivoxm]cagnrpzvlvvoqthmaf +tqflyhdcdbhvhiccqt[najsjeaeqvcqfqvpwt]rnswopkqipgmpoiq[aeactxwfdpkhesxjgjv]stoujyprunkpiuzua +pkwroiewwcdnrchgw[urbxhsiveqaksvnh]jdsuaaugprspfmppndc[nlfyiblfuxmybaucqlt]hhrhnuuvybcrppwp +qltvmxcdgsxzjvqr[lksbbyjvmlrethgozn]fronjwxcpdmwjrdd[txdmgfzhxyylxlvnpk]llxzijthhpactoomtf[ixnzlpddxezcgzwwhpd]tqlvbducycucuhvpbnb +firavewfdkkjcvdbh[rvovoqyrvplfgieeotp]ueqyzeaafxytfaa +hzhmpipzxguliovwyeq[lnnheexdditstrstet]gkiukzblsyzhztewn[ltrjjhtgmwhmxtauuxb]iscazubkpilhbzqegha[wswadsquonsqhua]qsawnviqqchlktswocc +dnxkdwlgifyyvbm[ijbtauulxlucchcyqt]ncefzdbjqeitqkw[zdxjxoonqyftvfr]poueayoqpxhurmpljbl[camkvseqvwbchvzctyw]ydneicysmonkpzkln +qbcaguyajgdbfobjkpn[uxllimvdajnrphnswi]bjgqthxlvnzgwyw +jbykbmjdcjelkzzpque[imcqrskxmrnolzfo]cynfuedydcwqwbzytoi[rpwbtrbyecriqwqrctb]nkidbxrnukpgnxgxsae +mkjcmwdwwxkyxheh[xmukklgiqugftgwye]qkbgqiujdmijxja[fjtiljoqhrzoolkmx]dgslmiivufoyocbj +mxlsbtzszpmsglyhrc[toixnvsdmmpznalw]jjycdqdnscyvjvn[innrkszsszrbcso]oeffvbeiklmnjfbfh +hpuxewzjmpjygvxbcrk[pkcwoxmqustladwnq]ojhogbrsiykysjj[rewecvvwwdolcjwmay]zluruacmjvqeyjekur[rcrmhjdkrjqnokbyu]xruriibzsbgusbwjk +zhilgektlngqvqdxlaq[cvpwwagoducswvtuk]uxddjvgnsqquiakwwx[mipnlvwywxkgrrik]wnpiusulsnkmkktclvj +tzfubkcarcnhuyd[arahdshumzxbcfirpm]zybjdkjhdsynnqtekt[vlzkzwzbybgnrfzqnzp]tnscrllyxcipjlujfrq[robowntnkpydegvi]uzxmxmwkrduisiu +titnnidzbachmvlg[fvkpotpsqsqaehdfhku]ixneotupwzhbaei +yqhkiflwsmjogoobtb[tjbgpbgnoiojulndo]wfimortfcsjwbhiwpu[tgwqgogdyfwgyumadrr]vroalcovcicroilnw +pfqikafmxfzlpty[shvuoklognffaswl]whlxqkgppveocss[hkrveyjsrzhncmd]xrzidrwyygkrpjdzmtg +ymdhqmyinwrqshsu[vecybobwvkfcyjbqsc]ufhtkjtudydsmjwmw +ezflrjjjszqvvwbtoo[hqfroljfozhsinxlu]ympnqaaziudsojktqye +fcqkypksoqhiwsjjttw[jwhvnzbvhbhsixdll]xgssfogwocvsxwxnx +rcrbicomagvcsrbqii[wyiwenfjfnrqdny]mrcahrhypdsjducntms[lvkwgoanghhqwhoeer]xadjlqopanooufkum[qnirzoomgusnjaupc]xsprfvnxtqpzhjp +zeqoumtrgrrnvrw[slruzyhnmciocplyuo]ffojftbgesaqsjf +dmvgxxqvnpedjfo[ctwyxmpfqtcqqsijx]zzdxckjybbppwqilpua +bwntryszlvfclxv[pvotnlyzuxobazeeal]bycdvictzwlrzfhyj[ttqiblkfwgymsst]coumflrufbeyglnnb[mkmpljazbeuwwyin]zhjyglimdczoqyscan +kfigtxoxuthwwrjvgng[icjjpsdpyrdztjsb]eicdeqzinxjalxdp[sxweoaoukdogojj]aobmxiokyghjlleincz[shlerrmxojldovd]covvazglqpbyqgkioz +uzbcojdhsfojjlu[bwdpxmgxkdccutung]gtqttzddkisawimh[nsjzininsswfhqmfjse]bssyqvptbraxmulhrmt +vzcutfvziehufcsjyj[uugqtbavyaekujogl]jmieipxsmcdlegpms[ldhzfsqpxwhrysmemsd]npifxsiyviafhsttuy +jgihvujltzfrdgdewh[pktgihjhfalgsqbzxou]bljspsetjvwjagynx[cfxqafpzydszgkeem]nnykcqratmlebgovjb[ytrifgfcaktdtkvyw]qqewrhcmlidtzlf +cvcsofkukrvgrjgb[omiudzcwfysfqnj]vywzmoymigukdihdg +qtcslzaksrjbewh[hutqoujpiprqkdliquy]itpfuvipirtlcqh[gwgytaecvdznluaa]dnzrpmzugzgfboy +mexaxkluhxpiiwly[ropgybjghfmcbihdwkc]nqhhhdxqkkfgxjr[yngnctrmwrulexwysg]qygnpplgwcjdodyejfr +rietcgvwqtbvgckrggi[wrusqmctiepawnnlhiw]jwqcwchqykybkeut +gmyiittlkdlrkxkqgf[gkdtxdzmzkztbmbwtj]swydvrueplaxzivlc[grymbmrjoxetbmdgs]qyvutlvjujshplo[hwhhbcaiplbxlwaxt]oydtwcmximtqtaxsf +lqfsdrpfltujbevz[igbawyyumtvdyswpqo]kxgjemjfbzkxgbzm[annhlirlyaqkkzzut]becuzehpeskngui[plesynprupxzdbtkoyz]athsmfdazbnkvnh +zlvudnpfcsotmpbo[garuvqkldrjhudgqr]vmcgqengyxwimhojvfb[nxsjlmotcrvtsklog]tcczmkpwpatpcxt[ndqamgekwopsodazoy]jzazlfgsickokya +kkpydxoanbmqnhsp[gwqeivjgguqxibtm]uofkzcwkmgaglivk[nhrxvkzrqgaowbsl]njkdjgyksqkgdmqgd +ewmhmajwkzwavxrbua[zvkyzqqboezremlppdx]xvbrmpczbgxytisrs +pwnwsuvapjfzjfkda[xensayezbpyzbgkb]rldclkcrkioucas +hpdgpscrmwxhxei[hebvcxoindxpclmzqo]yxheicwrkqddvjtrvhz[cfdcgcybrqzppfvqz]fxmhhzkhrypfdxzngp +rdyjladykkdyywzkxaz[yrlorltuadiurqm]uooymnfxwwhotlovb[eqvyqexqmdcebadqni]ttzsxuvjhibdimb +uwwwjjzywyawsfl[spiejlwyweopdpeppr]syzsgittkmodhxeux +ruvjlsxcncnvnjabb[wprypnotloecopcvk]frvlqhrcmgrworpmdvx[yzqqdnrcuqefasxs]jhywqfobrryuieijpux +ldoryefjbqalsezur[etirhaprgyhoxpjg]pcqecyrirpqsiami[snnzgzlovmbbmrkjyfk]vfvvewvcweflmnirizw +zhtksckufkyilvhjwud[njnqcbeufqhspikcj]fhiscbxxrfperbs[aytqbcoojpvsumqxmpo]yialsgeknykhyvtvx[wdmixjtpahbmyyhbkyo]lpuoqmuccejrnuo +quqoquknjavdraji[lmankeixycmwcro]bvjoxsmhmxhqppady[zrswqkspsemszym]rzlvztdchdycvai[wyjokbfazntwjgozi]grxvbucupvzfquci +qbynimsfznxvgglz[vznlauwqwafrkyrn]mzcazuqwqubbimiw +jpwcnjqvcormlcmms[efsxwgrrcdvbekcrqrj]cbjgumooqxsugmfiz +lodwcbxwcdxlonvmhu[vqteuharlchiwpz]qsjfscfdauuiojydy[eibbhmbfufhnmbuq]lhjksvudswbxokc +ezuwqhuggkrxbwwbn[xkswdvghxdvavsfvh]xkhmyagoyfonbvwer[gqllsdlwfidxezgqh]mjasmvsqppjxxwcda[hjmpqkhaknzxjgqbfqh]dkmamzdrkgpqqbdjrsh +iyygskwznbipfxzfq[tmcweskexpjtkalzb]jejxucbrhchjxrfpabf +vtymsqpczfmiptqp[mznayygexotqairko]cvziwgvrnuarvaht[edtztcpdedxayfjfh]nbcceefaansonnddne +vjqdcxevfuogghpnta[ptmseetkpioyotviji]gdrorymekwxhpxpy[fpvjijrzwfyelnv]rkyiluhtmnzvhnas +qvemubvgpmngkhwbzuw[cjpijkbagomoxelh]ffivvlpphtqehse[sxcypopyygxyvbbuj]dvpfciwgskuabqx +gfakfkyofxjvlmsvh[tpidjfjqbknkojhfhr]zxwncvxqrrvcyirqiz[zabnehhkxmcorkdpgfu]ednajzhucajnivj[qusnqmlqtsspvmim]ziwmeyegzogqukuqtk +mqyqowzlhqmskdihhk[zedonzhocrbmtggear]fvgknaiaulhpzxjljit[xsaforkdhyqbaings]irvlawxlnujhwyyg +nhbmdwaargmljhtpnvt[icjifdxafaejyztkra]sahtqxjpyzckhuhbi +lpeanpdwupghamqaqcl[abfqfypetxvriaylxny]wnkhxizozkazedpb[giqitcoemtvagwklm]nkstudabthwohcxfmqd[vrpofzibesdansaffr]xxungasknuqsrtwlno +fuzqaknwrjomqcnq[grpbplvwtzhdkwpaxw]nghayuwoldtwqsxya +bvfazcsfainevpvzlf[rjefaqfpnpegvzqg]gjybyujttbxxykdiuko[wrhqwekljqnwcrprlg]nxokueewbmggdus +saaebvbdlwdbwny[xgfsxsbuiajbaddjz]bascpnotgqmvgol[tirosowipbbbehvmn]hhbuuxlvxolopvprjt +lyjqinshudmibsoxg[ezfuijtnyeisouvta]lxdcntfsjmuuptsjsf[mdvcehaamwumvplvuch]flxpmjotsprtcpgim +kvqeaqtusiagcjg[rgtygcnurmyhcsiyywo]xmzqwnvzarhvtwoj[hmonnjgsicgshstxj]dlymvtimuytjskulwx +vhhkkaxbkbofalfl[cjhptxrtmrobxtj]pvavovctkrqlwnp +ksskxhxowvmqpjwcyas[gvrhgwvvofhwsxw]nywalantbuvudyv +jnfjmmlnqnlsckt[ualqfwngnmbhyzixtn]aftdtewnfgfgrnujo +qeclpcybnmxipvz[kjhmumbnshysvysgtfv]nncapaxvtjppgrfeppt[jgugadrhhdkbgwrwoed]mifgdmewybqmgitelmv[aivxnvlugqgettif]sfapdujsxigrknkevia +bnsibkkdazlzccjz[rysyrwccuvyhhzqo]ddilmelsqneizzrizt[tsyksvmzwmijgrr]iacreiybrgzctzodlz +zgskdjrcykzddiwijmp[rmiqcmrtcbvqlyoi]dlvvzqooapcfbeuu +qzmylxdpipefxqzgktb[fxhihkccfxqvtmuxqv]deubvywhoefvgyc[dngwahicxwayxzlgv]jtmsfgmyzwoyienmg +uclqomkdtlqoxxye[ugsgctofzruvzlugkln]zwdzkmcadtpxsbonb[mevzdzgtsdolgxnm]aqjqvdclgujsmgavlf[wohelkvlnorhemdjdua]igsixgwbfwgcyzowvl +fmoovpkjjyxbjwvab[cxwwjhdkeuhlaeow]etfqyaldkxtdepau[ioudnnfnsgnulgsjg]rilsunyxwibprwunat +bcnxnridsadywsxjni[hioukepqwivorww]ectwlxnxladujcg +zixbydwfwfmafikv[ekwselrqiseuohdpp]aapafknzrvubjeno[syjjufbyxzsgvllsnp]lzuaaxiwmpkuddmvhsf +gqjpmdcbihbvzorur[yuvqoawxfyiymumyj]wtgpebjnhtcneqwqoua[ivklwirbiayzetffz]xslbmxqzwaljfvygqnc[ojezsvsvnsnnyfudk]iosmfoyrgegzldoam +jfijnmybbtouluiqjl[bsrsawourhuudsife]coznoauxtvdkbap +nishcniuavmryvc[gksdtautnqyzhensdv]sasjevbaburbgfr[omzgytefbuxsxsitr]qwglehfutwjwwxvr +cvopfdvcktoxebkdvlf[eclqsoslcmosoqwgx]njqfdhmmgrmyphih[utiwibvbgfqgislfa]ezjiqpwqmvjgephrp +stnsqqqbubohnjvwr[ltmnbonbxkiufockgp]dmcjolejvgrnker +ywcorwsrpukosbbfexy[nhglhymfmtceixme]jiwtyhnkqyftleac +eghaeiqmztgekxepeoy[ujywtzprycqtqnamcfq]evlvzlbdytqsrfmeyvz[lddfkaawaqetpfh]pwisuwhxodbhmpeprvs +assohytheyayjhavd[rlienfkkyvplebbreq]zrbhqxtolqxtvziuz +gaumnsmwbupmcfiuxb[pdrzbltwkiqniay]ktdjgqrujtegvkj +vcjgwvglfqnqyobkkm[ymavkjrbygenzrxdrfb]fspdwrvbklalycsr[monzhqnasxvigua]rarbkqeinudxmdvgd +mcjmiagpmzhuskafd[lhnobhafickkuvpcpa]dhmygriuguzqdtiz[vkqlyvmpeswtlhuw]fxiwdwuokkycyxgh +ylhbecxvzvuoeyqsyzy[kbeubfucymxhzqvhoyx]mwccbakdngxsnkgcng[pjkfesroeekkahf]zdsaikucfmjpvrntyp[mekckfjquchivldsmb]hzsswhygovftixzgqx +ijuxhpqzyvkcnxkbb[jcmsgohgenvwsqmh]wtmofqsotoeysqo[ymcbyqszvogpxil]otcpckntlcrigkhmtqg +ynctlsxzkfmzoeumgol[mlrfvbtngukomzm]zxgfyumnoeuvzyxkrk[vzhqczyaabmlyfqkx]ptwykaktmvclixv +xqqnbjbpcdkbkbd[dsksxdjbjflkqywxpex]wlbsjfiqndxorpcipk +nadavjddvlyztmch[ocpvdqhrxpujywek]snbleixecjqdady +lxnwiiubgblixzohzdw[jqkznvkxjgeuastjt]lslxccnbzazdvtas[srxowclwplgwdzbsvys]gjmhfbweaenibjwdunx +wktaosoqvlrufzacw[zmsxgoedyzigzxqnviq]tknxhylmyhksrnz[emunuqtrtdfmaliqa]fphkhnxxrhtqtxrezg[kiysaxlfbgpyjmf]rqijwvmpjgemixf +xslqmqubvuvjtpvqks[yarkmtsupmlvcthzd]wmbamgabxaskvkkeu[ootxlynahvjptcxvzn]tqysfytitdhoqbl +kaihfsjlfekzqeyk[eylgitksxfusedvau]xvuvxfyfpvvnbwn[gaklbqnzcddgceb]dqruoulozotowjiyd +ikikqfrwmjphtgbpljz[isprhvveoomgjanfa]peuycdlptwlcxwtdgwl +qkrnghizqoorxufsxi[yvdhlbkcpajtoyai]btushzrdgehiczofzmj +atlsowvzkzankvo[phkmrijtovsgefjg]ibekcwjlxbphloozgw +yvwczyvdedvhjsl[upnwtzmrzffgovvzdx]blokchottfcidovo[exxnqadcasycpsc]jrvarkfshiqfizur +pkrqdpvqfaruzcutixj[dzghueizebgabnh]cuzbyldnjqoabquyghi +zxtwwlgwbdibbpdn[qxalqsxecjxrwnbamk]mkfkphzjclkrtfr[bchpdzedqjydvvcdw]yedvmdvvtaypdbmdg +vhdkgawbmowrvalxmj[bmwsxikazlmyzjcpdkx]xfiinhpfwypbjty[ftadhpvffqzaulm]fxkqnaiufqxwkblr +tylygjjapoammov[pfmalwzqjpwbwulwtjy]fajnrkplylsjncbxmir +nqolmalspryhtehrx[vukchwjwrqqgchh]oqeqtyturaikqpmt[jfjpzvpsinrzntrpp]tystfonafirnerlxoe[qegerynoywfrtqr]pkvjziuspehamikic +fcyiizqjvutqhlq[ienhrsjfuveqlihtjkw]zupcxrbjzgootlqucwb[belvzvymfrusrgpy]ttrpfhjworpyuie[tqrfysbtovzqdlfiptf]ycwnsgufokjzvnndl +uupskbpknehwzqla[ayucqrzvzpdphovdg]qkdpdncdxmhrjny +msdlimayoswylps[fhcqpeopfooxcqn]gvplqehlhyezappwtj +vmooyafxlnvejuo[hxisybwiwdftghdqnfn]xsxzfubzytpwetxexc +tpkvdshvxmxywucfo[sxdracfgslwjgvfqn]gwgnsuwdpldvivn[rqxzjyfzjkfxnflnhb]yytyydpnzxrcwgtq +hlkwwladaiboeqb[dwnwjpnnaiskatz]vmdrqjmjtwmglst[awfslnfdpfotbislhwq]wksnziftpvflkmwso +ndsgxnhvmhoxyjnl[ykbvfduburptpcv]htzjbkydiqbnnwtztk[fdlpumnolavlfkigfs]ghtsjyzmlhzgysey +rcxmqtghbvusvizrxm[cfircclziuhjbjcuic]ysjoeyszfcppxbggs +sdtcngnkylcewwo[ezipqbindaulzvte]krmjsfxzkwbqjyc +jqarloupbxsippsxf[buaiecyfakilculab]digjxonfqgozbucnd[wpgyftibkfpyjtqn]jsvpngrtnsmbhdrx +wmrkgdpyrcuwjgkane[adxvxjgpvksjsxbfj]bxvqycujwmuqstigdof +paqnqyxbzrlzixpfocv[uohcyquxckdqfvncq]kfhcpornbacubjrluw[ncfsgpqqvinmaioducg]kebxiybzjexewtohuq[thymyottcuduhlhfmhc]efulkzqoqzgfpkvbddz +ytwqlfauutjkpuyw[togbiujaisjsqwgdzfc]vtbvirlqdylkuewkx[lwsgpmmcxhhtfyismv]dfwnnjyfxcdbmkt +ibkbgrvebufxdfvsyal[gfuefwpduppdqoagwmf]kikbktuwqqkyuecaxuf +fsbimkecxvqycnooy[atlsgjtcybrygfcvwed]goxunrzddzoktzdz +qgdsvqfwhsenvhnbglf[rctvnuyzhtldsuftidc]loccvvwdkymguuax[tjorbctzavmegny]gnoovwxazfyimdbke[praqdwvrbkiucdd]wkvkvyixnjbgootof +egzinoaodgmzhxo[ctetdiivmkynwuxiez]udfkxfnzwectgfnk[jdkxiiqzjynledjzy]iubvehfyiofekffvduj +vsyayjbsvlzhphh[cxdxpurrsbtwuueyupw]uijigqqycwwfhishv[tziatetftdyopssiss]penkeyeiknnohiqz[unfthxkkylulcfaf]xjpzvydsluialcbxrn +ttccoewguenoqndmsz[uebsmcosjyeomyph]oypzbgfilioctebgs[vbxjcrxqchpztbg]hzsrxvamhqjtwrnep +pxsxuvnydgpupmf[xpdamytnnanauohkcpj]neuazauwfdksxsxs +oknvgkesuzbnaid[iveorhfsylvjpvv]nszdahosdfmxxebffas[inuqkpbtkdeeabguq]svwikhonwnxhqbht +ycaclbrmupudyzirpak[arwblurxucqeorxeuf]rbbzsrhkhfsahqbf[autcfkgacaxalhzjw]wzrrnwacvuvtdvuchkf +vnkrlrysvxjgylkyt[rowgfjsujqfjxttv]uxoitgwytbbzmlwql[gnziuplvidtteix]ckgmwnmyvbupxndei[mcwnambhbdjoplva]yjjadohllbywiqo +evzputikneppebadqn[ywcoylqunskuniq]zpdfgfxcifasenrnqha[jxvfntinodzjoyokwnn]rmxmzheyzpjxfni[bmkvzvuffqlnzizhf]oyemqrhfbofzwvcc +xvlfactaujylscoq[rtzbbourbqyscgzee]lhrbewpjjsihyomztoy[ourmieezxzejvbps]grxqrxkacpfyibmz[gmyuotmhsmykudwqo]wpvynvxycgioognjpcd +bkdcfjybahefnyj[zfezvgmnuxfwaik]nhlapmbjbtxjlvs[rrjxqakmexrwbfxoix]xooketycsmncjbdpm[uyxuhwclnarjpttesn]pclzgjmvqjkeegjj +dtrrjxbcbtogrkf[uoypjywqsvkrlxfv]npbxcnbqzurfnhtst +bglltdogbogyjshery[trhbcfvhmoyajvo]bfgohngeobhkdogz[tycfxatfvgvbdmsdijv]mbbkubicwesfnkh[ydncfgfpyebhpphuu]jvhnbmoijcgvuuf +pecntywfbpduebnqcn[nxqecigzryomoikbwk]cejxvxzawaqnfxjgyzm[guydhasrsfnfbxaavdr]gwawgonzypxqwhvjy +phygreqhgwowcozbhn[tfvqgtrormwhjpn]gzafrnmifcdnworokqe[puhaqxbsrsgdxfyq]vbdjyimsjcvldazu[gznwtuqifqkdimxvi]arbnskhmjqcdqgwruql +cpwnkvojhghunpvfr[itgqhdftapysdyzzyh]zqtmtrhrbqdiqyhgl +eeoileaopfnorzgsjf[wibinihlihuftbctyje]wzohrlyibwyntuyuwnc[fmudqkokeybrpvu]nxsvwtyjnifrfqap[kzjbctrlkhvjwnska]naicveiocdparmtq +xhgtkdzsvejeukkou[aecojjcuikgaopjhov]bkmeaogxznpzgls[oebnucvatntfaxn]ipiewtkuftwuoullo[tdvdvefxhhjulaujc]dwlqfoajfivwqoezkqx +zwjikqyvqbfrtviguiy[cnwvrpqkwvwwdlxhvg]sknukgfmvwvgihifag +vrdvnfobmsaczesz[cmzvxfjauugsfvj]gjtpzupuvaldiqcptl +wfgnkhkrqjybzjck[weuylylbwehkhvfge]jqcinnbyugivglpvs +hjldgsqqnkkletlqs[oiokslwzknscccr]qnibtkzhidmjuqeecur +deehsalofqvotdn[paayavepwlijtmdgjsv]myrxdbvwsvjjcnltizl[gviwdyoizgzshtkzkjl]eodbjfsldfdsiantql +tvmzdbfpyandbxzcax[nkibtbdkedhfeamtbt]oznggmbumbvjznkqg +xlefoqdvwarnyvqn[giqaeklzafpgznwzq]ruolhyeihcmrsapd[tteaoxmelcaktxotj]qpvrinrljjkyjwx +mobjpjhwmmnnzctj[wdxaqrfuqpabcgxhol]vrdqmqklbxzgfqtqgzs[atmswhpwzxczyqu]knfmkjsesftotqtbt +gudgqjbheozwqphpjjz[asykbahkybssjzwi]jsdduqkhfrfidih[lxvkwbklnnoxrnsb]acdzdhrfreacbvallej +uaxobuflpumwwhf[hhepxufancrcqpcb]bonlfecebjxueyw[dezwvycbgyibbjpbd]mtrhgcxmdplnnxjz[oygnxtvalnqamptzzu]xdwwguhnwjdnxvnuwb +jhugbjyidkjlraqexy[mynfcudyavfvierxjcg]gtsiybxmjdnzsuae +yaxahcvseiexlunsu[ewsivdovmctbuzwzho]piqltzsfefudhrybbyz[xeuaoqnqmfnqnzj]dafxzufaauhjlyjm +zqsrqfdolylrhlppgm[tnizcrbrkddpmqvxbzp]yalgvzxsuahuzew[wkvbdzipgbtupzwmfpv]illcjcnxkxdwthlbf[sbakrzbpkzquohvnyo]xufnytflfkhnxrq +kzredfrycyoukrwskkn[ythsgptgkfmwohdquc]ocwlwpdbssozygdrs[hqswgssnjqennwyx]fowqkdrrgesehpxv +hbvngvnsogdendwlz[enoojzdhimrsqentjk]lnzkwziswmbcylnnj[fmnniaiyujueiaic]ljcvdujkwgfoniwpqp +sfbaiqfcnaonrow[rnvekifsqzclyqpv]elybdkjfgvlxktm[yefttslzygbpwywh]hyswwaxwecmbccbhp[gvmccimnbtaqalx]xlacpvkzgjtbpoqmj +rlbmpmelpqxjnjmfa[bvbqxtblnjnarpyh]mjfrvlqpyqqwrnvcf +kvpueowowumjvpozel[knnbstwozlhrwjkyjwk]kgydkoneplmdduylvx[tzaowobpqflmmgs]yvrcdqxytmzslmz +awthyhqmbzfvyjm[uhpwjdtwhiytzukyuim]zxloxtwgpiwoveso[fvjsnnwfavmgexs]kojiakeozmiubswfj +shuwbybqhciuyby[docpctftlszxlkz]ebwhxhrazsdtkkd +nfqfgwgupcsnsxa[mjnijijxwxlrwlz]qrvegwwrvznsnicw +jxbqhkinclmllcp[mecqurmqwcmhchrdsw]lrasguephqwmmzuob[xowuthllkxcdenxinlz]hepwnvbciyqccuffejs[vzjbhkzhsboolsrb]ddsyakfbptuspbojv +ikijrdttouaronuef[rlrlcpoedupwiyg]kxigxepfvczqkjgcho +vggdslvtuzunjugnj[yydueuuwsysaooxjxy]tpnbctapfomxruul[lhtylevglctrnxal]bkdsjthdhfxgvnav[kewtknicgcaafeo]rblrjorigaisdtkb +pdhrplgdzxhmngvwx[ywskulmjscxrueaon]yhowhcmgsxsjzbzz +jgsetuwujemzlts[aaftgfdtjkfroblia]lnvlzygnujnunnm +lbmxmamecvcmvtlkpje[gpaxfzwfhbqmplnn]ygbpkwihbcoeuvcvpv[nlvlwmhfeqtmbqctqhh]rudqfcywhrtunctd +shjathcleqhfdqnjkc[iuduexzuconfoanxkvz]jlesceajlmiqchyt[czbehdriwjmykipagr]nwilscewhblfbzk +hfqrvmiaubbrsgel[yeumwvgodugwhjyvqk]mqydzflsrmgiwomwxq +mdxdgvpgcamhlonp[iwkivczimsibqwegdw]lbphreoomlnnzpkdj[yogqqfhdwzxtjqgrwch]vqlxkhcbikruuoecqfr +ziqbhuovdwlwymgi[wiumkgmtkijucxk]wtkgfagubnrfsmii +zkjfrnyndfgzcoirqi[lubxpzwxjgquhicrg]fwxrqdxbouepjhhmtfp[ipxpdwpovwypnihz]ucnjpxbnadxvffzj +pawhjjxcfssjhddb[pepzmaqyovbjcoxkri]puevwwecwnopwjj[gszpinocntaaorc]kloqbyitegljqsjanrj[vqdlhaofwoczilwprsa]exzjzcvjzdkyuqnva +hdmocxzixbjdguhtpxu[wnrdmqatkuwlgkjki]irstopwnwogllxk[chkgszbhhxbtbfc]gqwzorwxweefddvruo +kmzvbjoisqyquqlmtpq[xbfwrwqdvuyancg]klseqtbsjnoygnbr +dqhmmzwqjlfruiuzpzu[zvacftportiuiccsch]sxizfxnxuaeupgdgwi[goiybqpodbrhumqoji]bdakapfscjhijvx +ynwdspesexiagtjjajk[nhkudujkjajantcaq]tvlraskhvwxzipu[fxhxstpsxshewfla]lipkxqrxzvtjwpkgsr[ewujdcivttshzclirc]otfeavstneftpufj +lurqcbdokzfbakmk[gqgioawpwyoyjmx]ateqwmukuqlhbggp +vzqrmgaaoeiaurhl[xshhckqrxeqaapipide]zbybsomoslwibqvumv[hlfylktiedeneloub]nencwysbzqcirlkpkqf[klpevukozfduxsyg]moddzcdjtynfxpomf +thajjfqvppczfpxysx[ztchtixnqrdijypccih]iguijsxqxmowroyt +cetgeofdauwlcvjq[qlypmpdenmhjphuowo]ccpgzwmpoiouisg[xhzdouzkrnlmqpzx]luksrukxrocrtavzi[oalzspwxauweweafmge]qayixvygbjoevgsh +bokwhlduxeydzxybf[jynvhmoddbtvzjyxj]tlmfuoirqzhxxlmfkmo[aauqfbwvapeieon]qfiwpamdwzhhpqniz[yetywpuobdclgmhbr]ptywhnrxgtxoegsnoew +khmtmqqphoofzuzcyy[hzhckwnrdlmfgdgrsn]ipjeyasfmaewzdrk[njqdphtgkuezieiyjr]mnmopmppdfttxzgskx[izdppfwcovybkhgk]fvkayiehovdtell +iexrrbeaemviitehtp[roljqxowqygdgsm]ivreafntcffvmlzz[lizcvljduvxcagbesmv]omfxhchosarpcvc[gedvomisvdeqaegpgs]insntwdgjwueajmwuvq +ctkzgbjyhaqyujz[ypefyuwtymywmibeahs]dizofidomymkuem +ybhzytfiujtbgscbth[uyygihthnknbkezsde]dkwwekwaizqrlvsd +jbfrextgimuvnardmw[taekyjnrtgoptfimza]qvfbvynrmkzpqvn +qnhabnidoyofdraivca[dhpopjoanlismbrptd]bbsdkhzwomhbvpdlgf[embghmurnwkldzn]xbzmclamgdmlaek[uxjyrmvioaraxgaecbd]wgxyryuiqbqlgoq +pbtawfzmwiyrpuwufls[aizupicweopwuwdh]lycvoucyptvmhmbcvy +qutvjiyvnybdnqphjis[lmmvowtnuqqgmxz]fxvlamydgfhgdliro[vtvlwaljqzuvykjv]myqmrpgnhjesdsxngwn +zqmevxidmdesvauvtne[braiqdoypbtqhupnydk]povdpjohaahhacp +dkoijazllibpgqdykrd[kkwidlxrpncilooj]femwzpzjqvappwhiqvs +xczngjtppoeuwpmzmqi[qxbucaizusqrccr]tlygkbkepxpfyvsxq[ysnlntspzogsdqy]jizbgtwezdijmqwv[qzxmktcdmjzprpky]vsvdeudyqlxlnxzesw +svzequajltarrcb[czldiizopqirfrl]ykemudqpuiwrygnpgxb[sgwkwuuglztgifzlra]tvyiepilmuugkfbxx[ktngegmqlgowuaugte]yurctnmiqhzhuoysij +kmsioyrdzwlkryie[nlglpdcbvpxnjivxe]envjtnoyibmeywsfq[sjgifouwnmgpicfmv]ljxvwumxgoeycrmhav[bdbuatclqevnpbzpbc]fassqujlonngcgims +dgmhyyohzdfuwrsieaz[ekqeihwyxqlrtqccym]elnufksijsbcjgdcju[edcakptmhqwkgnskov]givqtmbcbuvranezor[sqjtcgzxnwoqxvlf]xwjvgrgixwqeseljzzu +rlneywqoymwwagdcwfa[yirtwsnhblvxloubnkq]zuvfejampdwytuux +yysxkfxnxjaysxsnk[ehfvdksybqfpfkizl]xfuaaaiywasciptwt[czexbndlrsvvgbz]rpxtnkqijkcwhfybyi[lzvvhwafionwjws]nitjcapzmrergulum +mrvqdigfhpbmojh[vsabnexxmdgumia]pmcjeszsivqvxcqvsyw[iyphcdtbsnkqgwrs]yeqqgbdtbdihbpbqe[lxnhjabohcyaodlf]qgetfulcpxzrfoaq +ytsfctvxjjgmzvsrfj[yzkrnxexysyfhmv]enrdxjxgwjtvssemwsb[xizlxcvjfpkorke]qmdielruvleylhjai[xekseaaxfsieskhoe]nbxlkitdwqxahsc +wfuvwmvylobxnvz[naispvffnsbooejg]fwmglolgtoalwcua[sjihruagaogksuvlk]nfrkvejcewefngxr[fgrswaghzetdjmzzi]jisbxmyzzfdugaglh +mjuzeprqjaeuocfhshw[gqbjfkgmcmazhoowr]tqpshfutvzkkjspp +tpzazyptdgbjcsbde[idazmfolkzscaxmhlej]rrkeoiyfbgdawqbwdfx +jbagbtdtlllbgtpim[elhndkhbevplbsszuyb]klbewrlznmjiwwbo[sifcovogtcymjczttqq]zbcwnieekzkrvhve[fiteeyesshgxsri]gvlasjdesbcdljes +byofcndnzghbyddde[gxdeaizfmclizur]xrelswdjqxwqwhvry[xnztchnubvqytinadwh]rzznukxoxlictdyeaxe +wjwenjbnpesznjz[vamavasbbiygdxgypj]pjahkcpxtigyetjbg[ncwuawgdqworublg]qihdfafqucjmmjvavx +vjmupdypfwnunzszjk[obdjtqupjbxtsvgfvxd]htraivhshrbrtioxp[xorewajhqbfjnjtjjda]kowpnkbnssbaeefafd +baneqehuamvsvumwa[qwsvdplmmhgxnde]yxnklmazqqnsiqqoram +figunhrsktrgzydgqf[mkaikjretijvyisb]ijkjnwmhpequjpmf[dhpvomlntlfxfql]tmqcjebupvwogrcqq +jgjfinegoadelrniyx[pmeqlndgglnmamoi]oczjlaacneocqskwvq[fpaqzxugjnjzeyfij]yjcqeppidbybggeu +ecwsacjwxdzhiarh[yobccwsqzdfkmkiy]urkbgjhlpqlzpqkkama[blohtndxvzauzmkphi]szgcudpbmigulxdygss +ifpfzjzsfuoptstfx[cmrgispdkvgpkgp]jthomxzuwqoklrwdo[kjvwsndbocpwjkohmrh]pcqjrqwqtmnwnzq +hmjaezjuxirclucvrjp[jgchhqqjdwlcbqxl]vqronetyoakaymd[dghwiinxzczzyhxtbyx]jlwyvkcpwmmzimmgpwu[ipozfuhemxpnvgypup]gbdbrmvmiucxsvncok +cvosfxrllniwmilafhx[qvlgrqnlglzxxwkzlqq]awgrklvdwoisgzaigs +uewfjatgizqqlvrkrz[nmntapsxhdhlbixzkn]utxlklcoqpftbomalyt[zphbfpaurjeadwnem]enifdznnxtkqwtzbetn +untkfdlrtrgzqzhlm[ixwrxatznbfjwgrfcme]viuhyjxwpkijkgnevq +ohvfmtaxuwdmsoiby[tdlhczjunuqsayec]yvwerqkenunmwbzkw +hfrxeebhqzdcvvxan[qmunjqhrctufwhigknm]iosnlvcuabawfit[btjqfyuwqrpebschzn]ecqnihecmexlbzx[yqjyvkhczssqsdd]viqgdiclpqeyqffzqma +lcqgqhmoohrduoyib[bgpymootpkaaurwpt]xrhbgqgouvnsmsvtys[vdsgoztgtxznrwgtd]mqttxauvnnlumwpid[jpsopjefodyjasr]fggczzpbsozgyuuatqe +zejfdkeopkkhetnegv[pcnvvynzarshkssfk]xhchmaevcunnntosp +hbsyznnuhlbnkukb[xlbjyybzasnmdzhcu]qbhudtxqzgxdizkhsta[frgdznyqpxvqiforkfg]nhajjuvjezlckhwnhfh[ikgjiseblupjvjypq]rvidyciegjpsvnb +kgbpvzoboykteazzud[mhzdavurdoxlilzz]ibobhuqldvpsrdyrs +ihhqabgyeggdmekan[uwowgsacpnmzoanjzi]yzdwccpcxpnbrqtodn[lmoyartwmmrrdcmpna]vsvtkkdnpoogccpbso[gpagbkwbimhvggrybdk]vbzuymgeuiyzzqe +vmxehtaukupjmuwpomr[lkrhjfztpatjinfsgf]tmbmauhzbukhaec[nqumdnkvvmgvklc]biexzmyjrfjglhlj +jonpalkenhdiunwwu[rktkhkjbclntuktp]adkfozdrbwoliiafua +capuhywpkxszkovgxc[idptryutjkmotfxyhi]jzwsnansrvdtnhql +gxehuqiocrlsacbqeb[rdyzzdhpssyghskim]pgveykexbmuzpsk[pphznqtwkyovzekg]pzegwkwhsqhoxtesw[anjrbndwktebram]xbljkzymwhtawfgmvsr +uzucmwugxsebretxve[jxmxkrawhqjonmvlrgw]wjfzxecoqzorfeklk[wllvzkgqkyghxnakv]ebhhfyupovixbeu +ivdvroagozznxpsrb[fmehyktseiygzhg]ihihsacjbhwlsqcltcs[lrfpxsitvxngjczlhy]vizbskftkdpxjxmfy[mxjzwcjpawiixlm]xgdxlfuncggljam +ezjlqcmpcyhuaqvqk[jqsnxatsamlnkmiiz]xxuxkckkuqeluua[oubrffsbrimwypynw]nsvnqfewnjaygzhmzi[htgihgsaghzfiecjkzz]hxdirzlptlorqhpqdu +gaghiqiwjicqoqgeigf[bqlyujemvktpdrc]yryxvopitltkawu[uhubpfgmvdwhmpq]bnsbmpgoffqfagah +nzrkvooaozddmtosl[azotwmqzsuusucq]omuyckwghukrmasvmcy +xwvatbqgxdegbjlmx[lwfyqykhoekwzguiz]ezcbliyqsjqcrnxlzp[axciwvxoufngfobuwfb]wnwehgbkqinenwtug[uixenvjjzpxdjvlp]yjntwgoysqzcmpx +qbjephcmhmjghzufgvj[yecctfepsekssfytvt]odszsnhmhqedlpsp +whrhtehphmdjellw[rikrtxhjnvykylz]ygfsvsikenzpkqpeic[qagxwidqjnzuaphptz]ehzlezihwyeddllqma[phyukqeqnwaxxlewmx]jgfpshgynkbxhndam +igxyfonvumjqsfili[pzttaquuoblzpplwqgi]ayoxrwxdijoapty[knzjkxeybsogxpblk]nsdgcjwnxkyhnudt +vderuhwdjiycocebz[bcbkwyvdbrsdembof]lvuyrwyxfeudnttlki[mnhcekcsdwydyvdqmsa]nniomyylmrpiebigfm[fxjgafzhfjmsmfj]zlixehsgzunqdfzi +rztclllddrvgmeinyjn[rmrczftlbgddfop]lktnlqiootwystujyrt[halyulsixgnjgnmerwp]tidtqrqkjazjqxcxc[qdtqjgwhghmhzgs]zynianlwhliudxqcaq +iqtysrbuakutpzky[fkbwssujafznbrpgp]tghrsucudfkwopiq +aeomklosgghqvby[eszlisqccfrzsub]qvzsydroufvexxzgq[whuifrfsyozbrtrnuo]fooofrgfvswuegorfm +lsrlvazcqflboofxn[wjnckxhsdpvgdztksz]ohvrikiotpweshrpc +prgnwoxewhxqlscj[whiyluowgdtplvkaysx]loyauvyazitqvvbtt +ovlqtusdrepfuqga[ofrxlnsuybazakeu]bptiuxvpnwiniika[gfrycmzwsocgklsul]oijdkuanbcuiwycs +ellqishkhvgzivgit[mfpeegujtqhvlgph]nirfyfvsktcutqwjrm[odczrauqpoftxfz]iigvivyjnycpgoe +dywztxntkhifqxzewgr[cxdjetpwumsfufwq]ncivdaekpguafmptzc[zijxtdirzcwsdfdux]marhxiyfiyqnfqabvhj[fmgmppiyuyjjcgp]zzrtwnzazhdupstxoqh +qkdkpmdultxsiyqvj[sazqiudqdlmmcqlhrni]cfcstwcbubojhseox +tvhqwzixtttrgveni[sriepjvvqxkofcazfz]lakfiepximdfvunl +ojoyeemrzcvjbklgezj[onpawvhapazvhrpw]oqniajojwqfiuba[irwtvbvdanhmhmmlhd]fbipunedvcvhfblj[mdbzmpinbeotbxxbji]qdauinqraksnrapxapp +gsbaopbosvdudqlmu[ivmbodlhfdhlsjmkp]ftwqvpirfoqtmwefmf +eqtlbskgmhbqtgbi[yxbbdteevnsklvtyav]jxestyfwoorkwrvku +chevdvfhpvkuxum[peaetozwxernpqs]wkqczpgdaqelouq +cxyjnshkwppsryalnfr[nugjqvzowusoqslcu]onuxvhiczqcudpvqpv[nwceqjprvmxqopmyadz]uonymadadirxtzh +tehqsawtyasmhiiuzla[yqbkdeqjzdwpphgsy]lnpnubwvajqnfbivq[mcdzbrpjbivjnaljk]mcqboqlthnivvznwie[bzhvwyqfepohgom]vlwggqxvqajpwotrts +uaimyzpnghzhhwto[slftskripqykqcjyggv]zlkzpbogxfofotf[qufvwtwwdwgrirguz]upksgjavtwquxhjvt[emuniznnqbzwbunuatk]gbeljfqlxzehxbkkgb +twbnitgddwwcekwyvu[lyryovphvnxyhdiugew]qhumysdyjehhpcbejfi[hwmqxsuggozjatjdh]rpcivqrwjzaghdr +hgymfqeetficypoi[jjbnqgklsbqbvhemj]hymgrvdafpptbal[lnomrtlcvjjleuye]qylkrvnikqzqbqowt +lqclrjtdxwqnmsrdt[uzvyfuedzeatgafjqlh]rmbceakwbyxaytmpyq +dmnwmdiozdjudnb[ynbkhdoeaezqmqgaj]mtukfbjftgxjendzjf[lpivjcgdbyoxuzuv]mfzuzzzczbuqnlt +ldgzvqkfmiucanm[vxcghwihxhzmfdqg]zxxfcadovifhcokf[yffyqmiufajqfnek]joyenceqpyctdozako[fykuxhxoklxhyattt]plohtcaeaslakbjlpub +ehoedgtgpcofzqt[kpoglgzrteyaxbcsb]jwvdmddihjamjhxf +dipxjulaiynvxlghzub[kcbfdqsfhmylfmyfkl]rcrhfywauxgixvjhsv +idncoojgztktmhka[aswwuhjriochyuolutq]vghlnxkagtvdsyngrw +qhobrqddkvzvxgrc[zslnzzvzymucnsonsif]nlrtzaqokmayfdukh +zclxrolayyziqznx[jlhjardudtuqswxwxs]lwrsawxwkexotpsudto +pykakplohqlbsfqqcgn[lbppnwufeauerxhj]jhqpqlywpvcrrarxg +zovsntdemqbpiowr[jnzwaljfyhpsmzsilnh]yfvudedvfiejxxg[hvmnfeooeszyukwer]rngcalymgaqhpzolak[wkijhclldfkzbsindn]puvqceoagrlxzjstjir +pqhedkzzetrupqbx[ixumgrrwhycweyesj]mzhybguzyeymkbvgedq[ravsmyhvcasiefg]klxzkcccjrjlnoc +xhckblbvakwkmkaia[gdavqgxdmqrtzozpf]pusueuyfdoqxvzr[oqjftahzzjhnqvoe]avvqwpktshygbbwlov[shxsusmpxjrtwlo]ovxsdpgcbkfdfxtj +vibqoywqbbbwqlhxu[msoaqriotchchbvdq]hgtuwiyftdpsloqx[wldvdsxjjfommcbwsqp]qacozyvkylutzfqmt[qzihinruscramehd]fxonpfbikrvdvthvv +dyqqwgklyqkroyg[jobabgjcrthkpsbywbq]xtyhftabahedidrcsx[ubirxklyivgqnecjgi]tftttofwxqhnzccggow +crsmrnflfzcsyghv[knhxevfwmubctke]tqnefabdgjrpaesv[flxwkwlgakxxvym]eyeqghxxzfprbgi +mnyclcckazalnpog[oewwwybglgddrvmzqx]wffkombewqgmkedvavu[zzwqbroptkfzzpjhde]rlfihfkxpckprppdqui[xkvoosuoktjguzz]dvzfvfmaolvxvyau +ebncgxcxmcujfepex[bvmfdqysabsnpgw]hfjyheaxastqtspkg +sruitoenosfxjojwwft[qpzoowlccwgjuoxoo]hpwypeurrizufiz[ljioorwzfeyplnh]jlydbfwrnwiliyhcl[jcdpksxiqccznhxxt]arqloequpfmjilkkz +bmpethfdslughxakrht[nlxcidxsqkmzjgtp]kbggfqkuwqgoduougki +xcvgfrdbdjkxotejpw[ayjizotggalctcmgvx]erdcqgfzcqtejbelhi[hcvnxmxfhplcyodgail]osvbtkxramwossj +batqefjqnkntqrflsbu[xhgjvalxstnroejtkwi]wdbninlgdbzjdtrdrj +xdmbyrqpjazisiusd[pwuufxsibxofsidlw]doxmmqrlrdkbthzu[jovsispmzamrbpbf]lahoukaaxhuqkwojydc +lrhrcuznqlxwwpqw[imtbphsvqutmmonwmxh]xicatywdonyxrnfslln[zsjlezomgwaiuosri]wczsfgwwvdxhesvd +sabvgcoegowpeil[fokxrjzspnzdgjtj]dsmdrftpcjcvjdlp[rcjalaknktcappj]xyfkxiqnrgfbvopm[bqgehvegzctewuicitw]hltewexamvqziya +abbqznhhsxeaxbkdnay[iwhkeapaeescmud]qowtjnxyykxffoojw[emgdbpfpzdxbidgaf]sonmiupapgunwpx +dfyxkssblsypgrat[djteluofdtwwwvavwzb]bfyfonwtkklsbiy[axgrtmipfdtajuh]oklwxrjczctobsvaux +xpzgaemndcslzqdyvr[cdicponxcskevqwgh]uwsgkgvvmecridzarnc +orfwxmlunvcjrbxw[gpfuddqzczvepwppf]qfnefzllcnhqnknbqs[irzbuxtalryeszh]rnmiknkbcjoyzaqk[llmznlqzmscpunaof]bvrrhoqkhnjetzzp +sihnwytrdrltxgiphpe[ofpharlfgnrlomzbmyb]yvoepubihwfjgodq[xtgdslranbatcltae]zofwbmfwvaxwztq[fguozwlfxsailqm]cvwpmenxykbcohdacu +tniypqcphlyedmncfk[pdlpjawkohpngziwtr]dhxunpoeoaugsfgr +lbssepedspnlcszk[lvyntqvyokgnvjfmsi]zajxmtuwazvktvhzuvj[avtlsgpgrlmmuhw]gwztdmrpepbaacr +ufcnessnabzliyi[wokwgfxoxodbsnftm]lcjgwtbwsfyiyylvzr +wzpcmdufopsubdoiaah[kjqpnnybloxobzihuc]stbfqlottimqziovejo +nncfxdmdemmnpukupsb[ybcoeahxnekxtgchupq]zicviylmoatmdrleq[sanopqbfyadccfb]vwavjdhjavuwtso[uqbgkurjbvhndiwld]wfjopjyjzvsjldemae +woyyqllnxzszhtupsx[sloqklmplznhmaxt]afhkdhqyejcvsdmashy +mrwxmimugiylhfkss[myytqhykdbnhbvypknu]cnozxtugihnvfsho +sictlxwpzkjadrdfq[hpvrstmuptvruaublcg]jfzesmvbixcjucjt[iyirpviscohkhsha]aeocecxzdazoaswz +ykenspebdhiheyfxqx[apdwgysxepuqjgnojvg]kjczbwkcbulivheu[mykzgebyiqpykkg]btmnfeevsxadypcxn[npfqgbjqloqvrffbzzy]mlmqtxnhnnctjdtu +ngusnchutnfxuknlcv[mowdjvjnzqvujpxaak]oyoufjzbmljsjvxco +symioezbuxbwaqzc[tcswwmthlhweaan]njjbrawqdtdxuippa[eblokaitvohpgmax]tqxoudhjjsztshz +sgrrlovxcccckxvfe[ptdjkmmmscxhrppj]caqbirqmphsolnz[zegoqjlxinlxyzzj]lzcrxhmcvsquqrk +scylsxkkxaeszvtcy[gszdxonuwnlrlsb]zacwmxrjvzmjpvlq +lbueccffdqgpdca[cjjoaevszwdogljjjsr]ixupokdatwtymssgut[ljvczddlhjbywjrvi]lvoeurzznjatpiwf +ppyerjmemqjcyrtwl[rhwivafkwqrjuvczfki]szmccytycllkjhptvx +pvlanohdabikhktb[rhuqghztrhsnxzb]hzicauosgyucjwuwm[zxukhkhdduszodbcawl]bsnamihhuivpkibniz[xvddnrjxxgexxixvdw]iwogneyabglukfo +oetftsvwhyfhobel[tbdwzctutpkrwbgyfof]gjbarcqcooyvfgl +fnuouumbmrcjnakxbxb[lgpigfxqswtfaoa]ggvamrrgcwkpqewueo +qfndaecaltnlcstdwic[citcxrtxpgrhuky]iadvalrsoskkamgfap[fqpcldftvpxdivfqg]apmcwtuzfxeebhf +wojmepihrdgobxqbb[spbefcqddlaxybts]mchniwpuyiclelbbc[rpnotwgcgbxpzqee]fjrmglmshjlalygzlrh[asbtotvgpcetuwus]lwuyqvdargfaheak +kpuoflkpeuwbsatp[jfdmiywoxrfsdwowgoy]lhkglaomanlafduw +whoybypqekfoosvrkh[qlhiagyhtpiictjrzr]wwudqwpyvhxjgcpvobl +osoqxxznoarkdazr[mdgpwqqzerqexvzw]qmdlvdjwzhpxuum +hriulhqdkqmqpsag[mxhpmqmstwlkave]egjfwiikoiqfrqa +dnawbjuemmhavvpeuz[mfcvfqjsngfqpcfyqtt]rtstytrryovtkugd[zykgtjgjqpdhjfe]qgowpebjrmkfvnvvmp +qsbtfuxinoaompoxl[oavbyyeudhynllaid]jwymynjhdjlqpmadob[cuakqbhimwpmymkrc]wsuyajblmdyqlegcu +pwrvpamgazkqbggaksj[mgiuuawkxjdpesf]fjqkzejqzjbqhsrl[fepioyojtjsyutdzadl]vanvdyulgdhrvgkinox[dmardjuczmqhqitin]vwlifazcjifeqtzdulv +sptbsjmkysrznmsnh[dmpaodowhsjmvahkwm]iircsjoyxbhyjhhy +votmybgyapqwjcrhrb[xudrwhwrrjvwpjrdrk]ynppocjjdgltgne +mptullgpxpkxbxiqcxt[ixzfshzzixtqlyr]blqccwadqxfkljas[xvgogqahthbuvedk]zmkcnqxdkihrbaupen +xyyidebibbxhxsvg[arfrpovpwqnbyxfx]vbwssnmlxstkjtpnax[uwbvyuqpqnaqfiisc]ixntpfvfopqxzvgznqy +hpyiqmffnpiqdrzj[ymsqyesuiwrsbklitx]kovizfewbtwwvqrgw[iakzsfydvmnsvhmcevf]hrxwoymwevslomwj +yaqkvwkukjjmgix[bpzcyeaorapeljjgmqy]upohdwrwryuyvvkvmv[gvdmlquyukazhvl]phaecmijhexxmvl +remreehpsnlgczozaqa[oxlyovghvjrzbrigrp]tqdljtbhpdviohgfbau[ylduvwrfajjvbomgbn]abprfmeyuesigtfaa +kninomszgkpoynrqfdm[pczddyzwygxfzrsx]lrflhydgglzpzgkht[brkiczgsyzurlcdzq]bnqfybpydotdldp +puwrzvsgmlrcrsli[vzcbfqxthtxcfwgtnu]ydqenlcxvzmbjpa[bbdljuxpkmenhjukmh]qcpxombklfgtfbu[wweucioifjqxzxleki]qstvhgqswnqzfkn +dpazlwrborzjkfedrrk[zilvtiijsiucpei]gwhpzxhnyxovjdpmdbj[ycahlhlamugtcpn]uwaltxahnbxcods[raivuyvbhimqdffifdb]zxzibutkbgvhnkm +nquhpxmcfgvbecjkf[iqxiomcvkwsikndog]qbjhwjrqnjbixnqb +rvgcgncbmigxdbnyaiq[mkeglscekmemitm]gcgcakzrjelvwuu +gkibzuxtmbgauuu[ufdrhvwfkoovcsi]eiouhmvxcavdmnalzp[rgqeztctofjvuvg]vannoknzqmedyzfkw +wrfitwvnrghqcwcsf[bufowebrglpwqfyamac]dmsnadnxhflghshccy[szufudcbeksmuehcrk]cdmgpuobfszbxjbtqg +vwfduowoeoosefney[vekkkorkkxpwyfqo]uwldwbgkzvatzya[gogabhonvyxajbww]pqcfchkslvlsado[kwyxxtyotjdpgctr]iuxylfgsimbxviwqlol +phruznykltlqpwikde[zpupeldmygexzyd]hgcoacoccikjyaiienr[xsbgsufpfyrfqrhdn]bmmqnqdyoxqhcgz +owzjgszbekysgjuppbw[hkbewdghphxixof]gupmvyvjidstmcp[cnjtvlngbpaklshkwzq]mvpofkladjdywitzpwj +fhgtkytwapwuvlsflf[rtsqmkaaortxjezpu]mxakzpztnatooozcwb[tszzkrcdpfnrqrevs]jbfajynuwylgymrya +zpcodavlpmukcgoqbr[pbispendfrwpjltskk]wmociagshnuvfada +ounvrxkfyueplsa[miexwibbkacrbhf]zhpipnyngufnspjt[ycapjamksdeanknvsr]jwjdvdxyzkfiaymnczt +hefpcboppcjdwyysg[omdmipantusybldsf]iwgbtxiflltduoavxhm[kxshpagaxiftbsooqvm]zdaubktnojzrhllz[wyfzkgugcwutntaugug]fxhryzluttrcgkamk +fljvthyyqgrytxyaujg[ghdzcbladiozdvfiwm]btjxlfmzxgwecpr[nnmkhglfcuzzkzhqn]glfuggftjkejlmbmrn[nonyjzcnulxqixp]eadjvyyfqpgumhovzrr +zxzurdplzhsmeiw[djmzvpxzjlrsxynz]mrsjlcjgvehtresbnx[mwhhklyvbxgyzhcgjsq]frcnkpmibekbumhkvxo +iwmnuegcwxoveifq[vcqctujwspffjzfds]vjsabmdbsjptxlmi[paodmystpdcnmnbfs]yqogzbbcyufaqsrxgh +mcvhdbnrqgtbelzjmm[wwiiwgywbouuwqd]eioeejfgrpgqmrirjd +yolncckfseqzfcnh[zrlmftowvspjbqji]oycbpmfmwkceyylu +wwnzbhuxyinpzpkxa[hemwzqpdgvtefkuxr]kezpuujyzmhjqhk +lfxaqtkqilaypwldxf[nnkxdvconabpgfnkpak]njijmwcwmtozxmbmff +pwxxyuynveqhxoaimm[jffrrzgjrbmdwmysshl]isvscrmxunjebsbw +oeftfxdsdwwnfdeofzg[dwnbatlvytfdynyfw]ygxzncoxunbamsiflyt[cjiytwokovqzgjomyu]dqxfqlkafujbpdryw[qlonipqsgkrdrnz]ybxcatfjjjvzxmc +tjxjbkyzhwzebtj[knuerxaxgncdblvtgtv]hmfvnnvoaxgcomqi +qrcbukvnarocwobcoao[qxokgnrdzhdrfpfb]dbjuztmmtfcpilyfg +ipazhwvkekhmtebql[wznlitbfsdvforlgrcu]vgshuptfnkinhcnns[lvcovlcucdofkku]slcynapwriioupy +knemcyzkydpkunfwsy[lblvgettvjqtnnaop]vvdcubmbcerhwrv[mutfblbwbhqyaqvqbne]swdmptokbaejjkejw +lrtnxvyrqlrvgdr[vskapzozjnxafawxcof]lklmewyqhykvotybaf[vycfkzoifscnujxzd]zawsqlxtrmdfnbdzi[esnuyecpbkpvyzy]kvqrkcrskmtsuwxj +mykhtevsefbdbvmsw[qewdexqzctascxznfd]gsitortjzuqshphnud +rbywtziudfcusoflef[tpnmdbyeevdnhzbqwp]dhankwakqykppbmso[hznsiclzncstoyx]yntysjhpcmaomsald +nnkrnnuvvdslxatdyl[svfyjvaprzokilev]idfpnqrveoojjivjl[aqxddyqerlqdpjwpoi]qnvwlfucyeauqbhrxq +xgvqgqggkwgrocwcfuv[ksuneenvdeinesudbfa]nleafraqnmmuefkqfp[xiwxfmnsqanplqkqinx]ojcnjzbfrzwfkchs +qjxhfghkhthamypn[khxnzlrtbpahbdxy]lqnekhkwjaemiadku +jgtsxelckegwezio[nvtllpkazgmuvuhnb]diaupjvghhymjlxnam +opnzxiazydscydlivpo[tcqytqtisissbvzmkm]vcddiutypdsxrdwvl[cjsobhvknqqgtgogc]imvjcixtdgwevtv +pvrbzonklphbgnmae[aedtanzlbawidsnjv]iwqgkskeftjcsgn[errqxakewhgjngp]afhlzcsekpqtxco +dsbcoxlktsdzkrafu[vnpihxybvbhxsiiswj]srnsljghqqcmxkele[kxtsrrxinnptbupu]zlavdiypsgkswtba +xdazohirllygpfdlfm[fblbjovwkzhvhth]xomgtgbsbnlvagsoi[dlwjywogesfetoi]nnuuixlqjmgizicnboh +sniagzohgnxpakb[hgkjtumoqjwapwp]rlqmufuqlgslrnfhz[ifaqeffnzxbnplmki]ningrhmssvsfjtgtj[sujqtmxuoxfqefrzm]cmpvsbjrxsziwjo +kepaxtiktmakitav[kxnzwpupfefitamyi]rfiokrjlestyebbbo[hqubzicmrmmojycz]yxpxlqeopiduzclabff[ckyniqzhgixycxiczcy]ignydevdtmnuhdg +pejkphexksfcunhsfn[qnzwjvwmpvfggfacot]qyquxpwsryqycvxvvmi +bxwmqvhjmdmgslvz[rxkfcbtmgwkhscjxz]syebnpwapeieytm +gcslwkhdfdqqqytlmr[wbxuelynpwtwcps]dmvurlhxmlzuzqqpu[vdeugqgtqexzxekffq]xxnkqatxudmpfqmbobn +rtecaisexsslassmyp[jljdmylatmtuurwhnu]pbsgxkuluemdafw[oetagrvhptcccgfav]tsugsujfrnbjfnd +kophdqxfjfweowjogu[kzhwonvituzclsptx]swuibizaodanyle[fhffdqhbmddadfja]pnuuxaicndlielg[xjmgvmwaabgekenjog]yslsjwnqohlixip +jrvxonjukycxggihlmq[lxwycpyzvgoyfgs]rfjbflylupwayaub[rskjgrstftlcfolzsv]svqltokobrtnchfw[cvvlnjnvsllkjiwpff]hqltzgooweljppyt +fjdyuoxengvarpumg[mmusctupbbssqet]fzuspwqpkkrxjxjgv[xerewcsmfteycmif]vfgczlmwqumezxmhysm[pnksripdftiqmmsamq]nyqvvlybhuwloczuzs +kdwsgoyjwwibzxp[irhdnevdkxanjqflbcr]hqkaaoggwjsqzgldl[njkxssyvdpwjmapxsly]xiwbmkrsqzadlndajg[ajxzdxzatckqceexea]ipvqsznwrxicwbugx +qlaokzumygsagif[yhgseyktvxarwlrwec]omvjffkmqlmpbfaev[jpjxgtsgsxrnefhp]rxtxjsekrlrfasyhawv +vdymxlzuvcmyllatsjw[tdpotqbvdyuolmrc]yzozvzcyebeuakicbdt[mxyrakmwdtnxxjyovm]plxracfttdjdacw +xmsvnapgeoiocgxwigo[fbywyzpoumhgxshzr]jvihinwmkftcwjdcu +hkfnvlxlgpremuujtl[cxrearocatqrirq]onijjqbovbjaqdzrw[ocfvyhdektknrzxneda]rebxvotkttvlvcsvhx +pgihqoniiichejdthn[aobthrhycbtdryq]eqhynlmzzshqtxrptee[hvfivepfwucyzycjhcp]ikchnwsewwynmgwzny[notcbpwebhorzefwlt]cedvskxnstordvur +lboqhgpjkbonftogge[uwlnsehommozqbb]znsonrlkuggywaknpb[hxidsxxorgyafaqiua]ejyksafomrqjvqmzv[mbtfkhfusvhekrsdaqs]veqjiixpsxoqqdet +rznveitwrbokddj[csjsmbnboxzygvrur]fosynrisvtzcezyh +qirjuhiheqiejad[xucxgngkgqpxjvdcpp]ftbxnmhyqyjzbrw[sbyvtclbdbbjvmujhc]qtfjprkfsadiszaudtp[jydcrcqqkmrjmswsko]btfitwujxcdgsyvuorp +mntijdoflawnltppv[nrqgmftvfmhzsyzuq]xctavzlilcpojhrnutk[urkqgsudhalomzxym]ojccxcevzbrthecoj +uavxetzvhhwtzrcvz[upxxcrzfcuhuyyzv]phnbkqsknuirujam[avqygsydscqynhk]myfzlgvfrkzmaaaw[kjeygjchsbumdnmkttw]lwsjjjtsqwkctkb +qpgxsptgxysblzf[qexanqcgsoeaelryo]urqdwfdyqtkhbvt +hejcjdjapqnbfjics[gzanzretmkyecvl]encuhecxvpxcjcnzj +laveumjohrmokeze[edwfcvifacvwxcuwba]akqwavwdxizgjbfi[nnjiicslvnevskzcv]iuodtknvgwjjhlqz +tvdenykburyewcr[vpujqxyfzoeabarlp]anvdzzcwxajjfwcx[mcbrbwopbulwgsq]xxsohqxbefdxdnvva +sjjuzkyypnzxghhs[vnmrnufkcqssjlslui]qmrceglpmpitopbn[dqvhxicbczttschlw]biqcprbxiortubhvdh[jrnarogqknbjuhc]dxwuoqewvlwafrp +zjjzriicccctoem[zvfukltptxfcxazyi]ybrstbqfckhzpyin +txybithzmmpouxp[myzxnvusvtprlfopbd]mpdiimsfydrxlwfsvtu[przjodwhokpvptsqo]sjkjrsurieotgaczd[iuusxyzfecdoxilb]ogrkdantpbmqabblzbj +sjahxnjofgcogwsc[qrnkbvmpouggtckhhmn]cbfqbvtrzbbxeklwjps +dtmioovxufljthrjf[dmjureystvzpnbdx]whvpfzjrivltgfph[uxsypollwtffqwr]nfomvafgjwdngyccf[mzgcjcwkmervnoa]vhkzciyingybbahnhbc +wfxrvuihtdobiqjhti[nongxbhsbpmgwjcl]hrgvzdzwyfbnfvvhzlf[jmrdnwmlykjvjaxa]kndlhjgvcbbollhlv[yxsgehvlvjacqsvjv]olrwroniaokefnncs +qekvcpqbkmqjvwrttyn[ltmnlgsnnvnkrhduu]yvvjbjtyjqkmhwblpbq[zjocywooquhkdtk]hlnqhqxibbehvsy +bhthfungsrxuear[wrlxdhburpptbrmp]hubrqpwhcgwtuadgta[gzqmhjrvfdgeycon]qaeafppembvijuynokn[ehtkocqpjckrixtlnh]zvncbtvcgkvfqrrr +ztnnxxstohjazuqaj[ejiwvmpelccjghvw]ejbadvojnlfejrwd[lmfullddvyzbaps]nrrcpgpbkovglvnp[tkmbuwmezpizmoax]kyejehzhauiwacm +jxvibriseldddsxmh[dvbndvooojqsqeohonm]vdaihjqgweprevdd[mvkmjdklgcdahcmq]wktinpivuvzqgtmcmj[gnfistryttvtephq]untubcnoqkigjtetf +knczacovvbjafjimf[szxzmlsshwbmfaolpf]fdyktgybympgrvjjf[jmgwlbjqenobobssdcv]ncsvvdsdptgejxorq[hbwampvpyljaaszr]zseywhyilppyrben +ygierzegpqwcoiziwfu[mdkphcryguvmtvby]srbihpaymtpfnkv[shgzhlitkgluwixmn]zizuufyltzhzzlhmt +vmzrpcjukhaztzckvca[igjqpuikpkidweh]fwujmjjlbtqytztu +qvhouornvpeluriqvi[rarbbihdxisbisf]bzrfcofxhutynnxnwvy[lreoxyjvzqrfjugqtx]atwhwewmqcfqaxgoofn[iqmweaxclriikoatlt]ibzzkttkvywhmgxqs +xezusfxpfzesbdtey[eieqssrnqsdltcdhccx]dapkztkkivkdcgqdx[qndgoqvyhdblqagzbz]fpcypcudhnckhcz[bfcqfydrpkqglkafv]qbhuwmzcpqaddzkc +pzvhtmfdrpbdsnlh[cipqwqbnpkycglckf]gzaadfhdtrdrwpft[jvxvilmjwcbrszwvpt]tyedarfnqobkceipeff[wowlxfgjggtnsrdl]ytnuvjoizzepjuilo +thdofkulfttuajoulz[ycsocmjyxvvujup]ufjuqkxyicqttwijta[gglplmotiazgxiserrd]wjakifcyctdmvdwf[pgsyeuohmufbbgghbt]ftszzajgfcjemazaa +rivmikwkprlgeqnchjy[qvvngyiilwsaxaaa]ucyrhfqaywnyfldh +iubnysibicvduyyr[exauddwzmrbibqlf]ytbvtezgbxjirddstz +xsmzmnmbaydzkwalu[ianmgniiehgsrfrkziv]gtrxlatvjemmjsaov[xqxsxzjtdbzxdyd]iupjcytdymwvwlv +wlgtcufumqevcutfmiw[kmjogobaxevlhsz]qjzljumvjjfqufufz +ssslcrpxsmiykoe[fdlvqqkbsioczngko]kdsvlpskfxoaewwyk[yvxyjlpxjzupvww]ulkzmnjwcmbxlcnvenm[npytehaooidsygftoh]dfqgeqwewowffpdm +wxbgrnuwyfxwfygj[uxmtbqjuzizeuwivvrg]rtiovrdhhqfkzupaw +abigigfbgglphjn[oubuhmtppcjeqtuq]tqbcbflclayrazg[xmkkmwmjkpobekrzng]vhnoebrmwnfrvpmf[nhjzlsycgzbfhbnpjpg]ilpaahjqnyziglt +boxhzxpawjtcxyitkt[howpicstkbzijiso]vbnzuugolkcfprlhs[vifvlsmydclmwiehgd]ucehjzvnpaknqmg[hjqalfyrfgtivnlxnf]slhfcgbbbyuptbp +mlbpolnctbywair[nrfmgwlrczqikotkj]jhrioesgwmculml +dswmspfqwiyxjup[tshkwdogwieeekcrmxh]ncmggblcjwxztmemjr[scakqcxicckxzvewfv]syxwqfezsnxqvlzpaj[rfuzueksjnfjnyyht]metitcqtwpyjgxeowdm +wzeqxspilpjuxvx[lotnxyjsinaxdowro]kveanxomxwbalef +odqxnjnonoxnaepcfr[ronotxghcxsdblti]chqflolwithtfjf[xmwqbabphhvfnersvds]ihkghptvcbzjkpmdkz +csqauuetkkflqjidpki[ogzgvuzmvciecqphl]drrenfkmdvacsqa +rtiodfayzzrckscs[mispvkoqtgobygxxi]skjgswelcfggojmk[gnkgnlqvbcsfyayqxd]whejqkxmvllfietaako[eoxgvyxqvobwypjc]yokfayaxktzsmpiy +iltuxhczuqhmjnlqcxg[aovmkhahbwpkahaniug]fjttlhkqzwbpvvbd +cvrcpfepqqfvbcgs[fdufjjwiwbgiwifwoqw]ozxtznoxmnljnazun +nvpcofaytxfortfdb[ioxhmfmvdsvjhvoowst]jxuxoiprvpbtmiz +wxoboxgggctdrjtloc[qbobmumiaxiuvre]wddndbuepvwzjrta +rbfcblvoycdqtcrai[dhqvfanemcfwlnywi]zwpmuiqvyazvrtjcu[vrhzwduakgtydri]exkccqngxljrvedvdm +yelxxwadeposqwmakpa[gldnpdsssiedtwoia]fnutzinlwitxrra[gqrtlwjgieenjvsdyce]ogpwuvkgrqdwrtpd[mskovzghsomwwtwt]varlwjpyaqhqayosi +tsqkxrubkoexrnbj[abawvvzvfkgrlbzxujh]dwbeygbnkbifnae +bydvfscyxqosbgd[jrpztzzmlbsvwiyj]ozbpjmabsnfoqsj[vunpfnnmkaokdzlhk]hdqiwgmgcbvquqydagr +faxpqjkgxhlveaua[uplxayezkxwfjqhv]lzbfsrujllneatffwo[yufefccvuseshfjgpe]ifiymxssijpjcsj[azsgfsgkvrctdxh]etbeqcqkontafxeg +shzmwsmcjmujvzuh[lbyobuepivjmzzh]pdwmouqfddxtzns +jilfjmfynxjxcnk[oknpknjhxbvyjratj]nepoxrrrytktodra[idfqecqadsjxjdzdcbz]mbqydahblcmmdjo +okorzkkyqucfigaauh[gpremtdkubmibdiiti]gsgtndjxpayklstcxkm[vrpprmlszcwqbfwbd]cbxuozoyhztdygegv[ojfihektxdbdrzdnk]rbxonpsewnfqikrfvp +iellofcjchgoelbik[npjcdkntljywlncazxw]vowojcjqpapcxqluw +gewdqnohlltnthozlb[ukkgmaojjtudkyeyjtm]livtoadfchucqhseye +wiygtlbqjdnjzue[ssaeldffbbdpindntna]rnbdmqrkgczczvwsvx[ebyshpkbgyxlkgvplu]rdfgmqdzhfkmfmsnsvt[hgaesjaypazdxmktoq]dybncgubinoiqfdndsl +leeebuyzzzgmoibugp[lvatuapebrlexbshrtf]qcousttycegjxiwyi[caayynwlacltdwqql]pufergrorgznfgnwaqk[brrmteivefnujbcfjxj]crutbgrgsuconfgpaaj +zwkrmgdnimrigisxsz[bknjptyqiozjvoidg]kmbfhzpexeemqzs +owvwpwusnvhlkutxlt[hwzqusloofxhlus]vscurjkijaqzugrmey[yipudmfwrfecwecrur]jspanosqihngqdxa[inqtsfmkcufqjwpv]ehthfpekcojyclene +oyurdyqeyjhdqrs[thwnmpjzfsixyyclds]hflrnyrrpjjfpixup[iaxqcxafxnyfyyenql]irkgjyqlhfmapdzyeyj +mdajlilruvlfmqb[rlexuosnsjkkwlsxq]vugnkwpgrgwfjjazpm +vknzgfkvtpwpcpp[guhjafshncsykxmmxu]yrufoyelmieervx +snmzbtgeduqsmzyvovp[lpfajlbspftxelpwe]nkuykeamqmjozgahn +nfvkyixiivbqfuqpgae[jfnytsqtgdvuspfj]wfziiabvnejeswdfu[mvulpnuojuhdbljoj]hteozxzmoyyozjgmvi[lqytlkseljwqsthg]nwnvpacwhtywdcgue +pqkbbpimwqfiqsbu[phfukwjrvhgirbghexi]fxbxanzvshlyfrcipa[ixpkqzmjrfbmgset]jgttnhuxlvprkno[mddqrjjgfqcqjscoepk]wkoddoqrfyfgslnz +twjjuzhotszuilq[mhskfqlabwpocibx]narjcdxvnaersoff[muyjbyjaxcgglqvpms]mdorltexvqiyogqhlx[uiggcarygezuqjgzxo]hkojohzdoisqidzgvy +luutcuiwkuvjayjmhvt[vwabmnqpyzuoxgfan]pksxicdhklgeispteho[cjhxxwfqxxrpwzoozxp]jywabkhdqggvpryxzfv +palbxdpezgzjctruv[lwsburjunnluksunhjb]udugobyeqwkkcat[jklrjtgtapgmhgfmxr]zqvspntbgotdkfffs[ncthjpnxifmbtwxvaq]zmfvmeewqojunmgwvle +ilfnwzvowwsaixkpg[ykfuctzpasgmbdi]nahwpdlspwtwgayvku[sivuklbqkbnjermiha]oqyjmenpuvnkgqg +wrbibtdepmiwzswwua[hhtvakamgvpbimozj]keyvarcjczzswiarn[rzevlfejbttxrfdrtq]xnnotbkgrctvvtv +hleplitmpnifqlj[qctinqcllgdgwbtgker]yzuduoqubabohbwzobr[trvxejtdgdjgbgrdbt]ypkeguppycuoeej +ejgglyddrmygcowyn[edrolltzottdoohlyl]bvygtxqjoxsdebiew[lfcdqbndplbzbzg]pauddylyaxakazvtm[taxnqmzcmbqoznrfyk]anpuzplpdxapxalsp +ckpfycdvzxwaszfnb[rlpwbvohmhxxxfjuiw]xsuhtrinoxtrgpfxy[yrhrlwhadebyvhsi]khpdqwwdpplvkxjqrcs +vfbejggtjbeinaarijc[ckqpukdhbtzxidzpqxy]ntqjvwyfucohwab[gkwkutanobhsawdqym]utiooctsqasbhsxc +wryuvsqzmayelndllmb[gnruyheowybhyvbgqd]tfgytkmzgopovrtw +jaqooeoutgqdpyryfk[tzxibeirtmsivwnhp]pqzckbydavvlwtqlfjw +kqzzfeoptvzsjud[qgmydefzsujkcffws]kaxikfqxsmcnktxcrim[rzggrvnwlauxruqq]opkibncdbuzxiiwr +bghvagcbflbtsfykl[lgriutkubilwksesveb]buffczkrdqfkyriozac[crwyssqxagpqqslvse]dxogzoylrouyynn +ghkhvugpjzesedtmhl[qeeqoazhxcqjpghbi]afscrfvslexjzughfg[psqiknfjccrxsldx]njovkbhkhyznnzamis[kusnklyalxsisbfhae]ytwskmxrzydphdwipx +zgeiqtfvjgsjbcgluma[hwyhtrykkxccmfg]okqorlbwctwfgvntgmv[yiralgrosisdxzkse]tzqnsaemaeiisiy +tjwhvzwmhppijorvm[egqxqiycnbtxrii]ojmqyikithgouyu[lrllrgezaulugvlj]jdsrysawxkpglgg[mpvkikuabwucwlpqf]cmzkcdnrhwjmfgbmlq +spwwppgjgfexuezrixp[rotgzyxzqxyrroafx]tkwxfiamzdjdqpftvq From 517df1518577dabc336f7f52f5e31da226407f1c Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 01:38:29 +0100 Subject: [PATCH 026/100] 2016: d07: ex1: add solution --- 2016/d07/ex1/ex1.py | 47 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 2016/d07/ex1/ex1.py diff --git a/2016/d07/ex1/ex1.py b/2016/d07/ex1/ex1.py new file mode 100755 index 0000000..712c378 --- /dev/null +++ b/2016/d07/ex1/ex1.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python + +import sys + + +def solve(input: str) -> int: + def has_abba(input: str) -> bool: + for i in range(4, len(input) + 1): + a, b, c, d = (input[i - j] for j in range(4, 0, -1)) + if a == b: + continue + if a != d: + continue + if b != c: + continue + return True + return False + + def supports_tls(address: str) -> bool: + abba_found = False + is_hypernet = False + i = 0 + while i < len(address): + if is_hypernet: + j = address.find("]", i) + else: + j = address.find("[", i) + if j == -1: + j = len(address) + if has_abba(address[i:j]): + if is_hypernet: + return False + abba_found = True + i = j + is_hypernet = not is_hypernet + return abba_found + + return sum(map(supports_tls, input.splitlines())) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 45b1acf09347bbdb8052b8fc5e6b88c477db3d22 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 01:38:35 +0100 Subject: [PATCH 027/100] 2016: d07: ex2: add input --- 2016/d07/ex2/input | 2000 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2000 insertions(+) create mode 100644 2016/d07/ex2/input diff --git a/2016/d07/ex2/input b/2016/d07/ex2/input new file mode 100644 index 0000000..3089610 --- /dev/null +++ b/2016/d07/ex2/input @@ -0,0 +1,2000 @@ +xdsqxnovprgovwzkus[fmadbfsbqwzzrzrgdg]aeqornszgvbizdm +itgslvpxoqqakli[arktzcssgkxktejbno]wsgkbwwtbmfnddt[zblrboqsvezcgfmfvcz]iwyhyatqetsreeyhh +pyxuijrepsmyiacl[rskpebsqdfctoqg]hbwageeiufvcmuk[wfvdhxyzmfgmcphpfnc]aotmbcnntmdltjxuusn +mfhczaevladdsqawgp[rwabwdnwiytloldf]varesbnjnsdbsmhmsi[tyjtbpzrbfzbwlga]sznkksuymkbyxlykfqg[fyislgfghcbltaft]knrkzaldhauordwfl +piftqfdhtumcmjmsge[qrsntvxhtfurcgcynx]oyswvuklvtmivlhen[syqhqtijyiduoxb]pdtdrhijqqzvcnl[xivmeqcwyafxvnok]jvlbkrwbgcgzaqms +pfqiqyscrxhvtrjzt[unmovhoommbcckocp]ziwuhtfghcqhzeysdw[zmhlfonldrgkbimft]nnlbctvfpbcoqzw[zivyewjzuuvvasybded]mznpvozhzsvkdedqu +adncdhtushtvtfcbez[rvaycmplefdvbrchc]vtviiplkpfhsyhwzz[pdpnsseaizogzvtkcq]piorguaivfpummlo +cdgyiakhcpbibtdwm[dqmibwtfswjlfxvwe]jghsohdnnowueerunt[stsuvrwswspkgom]mmyifoverwkyjqfofhd +luqpeubugunvgzdqk[jfnihalscclrffkxqz]wvzpvmpfiehevybbgpg[esjuempbtmfmwwmqa]rhflhjrqjbbsadjnyc +yqdhleetfcqhdiib[eceprgdrrsmbarxdtbq]hdayiijoaaeumfwcdj +cqqvoxzdokmgiwgcks[jqzwdkyjpbdchlt]phkfcoalnhoxnczrru +uxpvoytxfazjjhi[qogwhtzmwxvjwxreuz]zduoybbzxigwggwu[lamifchqqwbphhsqnf]qrjdjwtnhsjqftnqsk[bsqinwypsnnvougrs]wfmhtjkysqffllakru +jfuokpqkhmnvixa[fxfcqxfxbmhazuspg]eqfpfndvqnxluairk +rvvyvofaygynnetjtry[kegzdkleyezldyeyn]erioueyndgksxetku[tsarhnyrbaubgmteiw]lbcsksdiqqdacutvc +kcnplnobxleghgdvuj[xmkpquawwovbgbki]ydrgjkuwsnowlxp[otgpeovujsfeshns]vqiwhcljdyfdrgpss[mbueikaehexofmdkxtz]mbgagruljphuhapf +dczzsivjatnsdtb[bqibajqrvbwuxqfbai]toipqjhhzoxwswm[qhcyajbtiqtvkpil]uzoshfoeofuimwkjr +tpyvbalbljeljgih[jvwhwlaaunyiycyh]cujlqqqupambxlforvo[eswlhhjbarxdslteds]fyxrqtfcbzimodoerps[ibxdqdwuouhweuzpy]eopmknebxbkadpdc +lpupzjmujxyptinjm[fuabibwthqibicvgd]dykosaqyoanjhbook[yfxajvdidqrxvbyd]sbulnzowfrqqvkyii +rqzbgzdvfozqjdj[ymsvzvqjhzvzmexeko]xzuzjbrkzveydulz[jqdjbpgldsvpamfk]dfepgnmeyjnunugun +uyfqyhnrybzytbm[ipvxhugnmquoqaunj]wdhejsfsvyurhkzbu[ucqkjfxlacfdypmvldj]mscvoriclxgvrbc[dcbnikphxidyyyuhf]tcqweefdaqypwhmsvxr +qhzpcaxmbfnvnwktcxr[vrfrbidnjbgvrbeycgs]feuevpahnefuhxruhb[fukhbhkbqwyxergyueq]uranatwcniqfink[zhgpiqbpjcvyrduzyad]mmtbqboaahhjhssg +jpgwqwifygprvkyvtnv[dkyxnvefvandfhkkzrm]mnxkwzpqfrxmlcmt[zxmvfefabwormvbobny]mcieumeekejrdqdono +vqlnbtvojgdtchb[otldofiavlmzmcix]hqidiiujqigyojgrv[ozfdaqeikjttcugzudc]jcvznucmpzzwnnv[blfzwhciaomuugpmj]aabnfuksfyuzlif +yjtasudlajobpswlde[sutivogsaeyvmbwca]nvifvaewslbeftp[pikriwclofnphifbpnm]srtjcbgjdqaesrqci[bjkdzzwsyvglijvahz]pjpcgkdyyjcwaewuha +lgxsyzenbcjgsmix[mitplziqcskpwiqtjw]emlmmeszibngllixk +jlscpqhpgglyyscnhj[otivpqjapmzdblqsw]ygtyjhqvwwvfgohon +aiwoefcwoeqwextoxp[bylubaahxfxiesk]hbrtlnaixkrcfgkjbo +wlmcvfnfjyytctu[ornmuojenqtnhbx]ztsljuxapzxyukrtrnb[vwyozabsxvhgfocvmvw]ycticvyyxubyacik[rnfjsgktvqfmdkcml]ywsfuibwwstugijcnkk +abpxdcnbqeoeiidhpt[zpwzuygklghkvrzsogw]mdmjoojzrwdqcywsxd[jbxptisjyvgicpqnw]aanbeosfyeptpuzmrz[pasvleayajolpwhj]hsbidwxbtlfdmsahbu +xnahkvvizpgzhrin[gbinmvooofzbjgcdbo]uitsnvqpmmlxarqcl[cewxdokvpkmoanrvvwv]kbtyedxhfkrfijx[enflewhsxrdwnjai]hxtiihnkifwudjfmcm +acvimhsygwvhjrh[pvmhhtqztwqubpt]uzliobrctimoxeoiwlz[bduywqgtzycnjdknngb]ryitwljdrdugakt +ymnekcaxqulhkukjx[wchabhgwvqfybkisuf]pazsmodqxwvxajwzmj +lsixccudoihndua[vsipelrpfkhgdcnqlu]fpbarcjzbvldiukpls[joopfopddwnqnvepftt]iortrfbykllelfxjl +yfrhdiqprjfauyzxmd[bektsogstuafoqg]rqwkjubhybwgynx[nocsrqogzkmarbrpp]aegzosyhbazgeiwwv[iqpajvjvhaimvks]wnzdupcnpsyxubos +debonekwvzpxvybs[qrjumvswkseqjyxw]xamljdcnwsfujegc[zpfvufucwgwiylbafpt]ljpnwlwjepkkkmrz +prdqamwjqinxgbaoadk[jhcsekzuowkdmalv]qkxdtqnnvgzthdvlnm +vddqfnrfmbxrayhmfph[dbsadhdnaweddhn]fvwaseggzyqhybmbdxr[brelmqesxjfgkkyyufr]acdmphljtmdqbed +xzkaadqxdyppjjbjo[jgqhvlfdunkadavlgk]guejdgxbzgyyfkctfcs[odemgpagirehrmvw]eommsvwnvwzfcdixuv +jtzkiobrunhacbx[xvmkaeifubbqkeni]jcvpmbogikakaoeyyoh +dmbqbsjtzvoiultxl[dqaxgsdilorzmmslys]xgbrocfkjvzykeibdi[wmpfporrraydnlbw]ijwlpgxgkqwnnwneif +ddkgyzloyuqmpfmkh[lzkztyscozfeibgl]gaftjffotluogimfy[chydlqosboyzzmr]hkcwgewogqoqusb[uitpcpcicongtyea]yqfhyvmgkzjwtbgn +orkkcvdlqlhfqlqa[iaubqvbcnvrmpwwmglh]coaqaptsgtmqghjz +jcndnanhbwehnhcjf[beytjbeijbnguvgp]mkepcptcshxbnbld[halkvjnlddwklzs]zrdtiljzrqbhdndkbjk[ajpcjssdowdpgffol]jakklxybkfnucyo +jjqtykjlcojqoct[cmamrdhzazqokys]btalamaxpmucczuh[wszyfvouajapfhpg]ygdscjkayhorchmymhy +onnnswceyplyloumr[ltgljgpirbbxlub]kbxkwhdbzatkbumifjb[vhomgfzdjrwbzguyl]xujmkylyebnochax[fqfilhjsiphqmzmn]fpzchuqdipzcqpvcz +ywzgwsuhmwsgzupkaig[plpsahlfdhwcrlrqve]xkggwkajvnvpycixo[qjjdachchaepdoznnrq]vhyjryuznmmidjwu[xgokmyzasviclrx]woeggmgymxscsrui +smnpfwpccmvxfqn[qihlysmekydqirolj]uxllbnbvgglylumfff +bttmazihwuehdishz[gsgmhoykohwafksz]mfwbwxsjwiktfuzsd[qbgwyirvwgqtnjqaci]zjmhwxbeqgkywzsr[xgaqywmxwwvmbvhfw]jpnhpbxgygkddeimwik +ldmzuocyrnzdhakjzse[ppgxqgikmjrqzihzpwc]qyqshpkjozbkhly +ssicxauklehzpiupttz[jhbqlekjlmyixjmsrs]gezsztyqraiezacrw[fufxagekxcjkitbwu]iqcpuottliyomcwtz[znborhkssbfnimmmnr]spouacvbtmsazalyda +famzonefhforunhtd[owuhzhzqwoqtyxhesd]yguqsvlvmgtwhnskgho[pbwpaxplhyjhwdeqmqg]zcwzcpbvjfrwrid +cmjurhjdwasrycqzvi[bqmfjzacwtkbrcft]coefqplcsmyfpwz[zacuicaijqnxnzpipkm]xamuvakzrbslxcpoaz[klkyjtdtixegxfzfo]araxxhimzpxzfemqt +mjcvtxqrgfwuqwi[bagssstaejvtvovwtyr]yuarvbemllzmdnhrlix[vjylnmrwtxanvnw]nmciwxnhstfewwsfb[nsehprwztzxzlrvafkk]uzbqddfvjkhdjqipd +ovdwbyqmktavwkj[hefywqwkkrwdxnl]nciedxcqcjqhlaf[taijxnltdqsatzeeqeo]zonyusttdrlngrr[uumdxrpfijzyebk]pphqrcgedsxeccumx +ejkyocxvrrnvjebi[xxbrqfjfvioeudl]paqktsyyzftwzrwuvz[fovmzndymaghtnlwdg]agzxlvwajfjwlpr +wvdvygmzmktdrxtgmjy[kchjyowvnqammuzvkk]fyckvxklsszmzwll +cdnpwnbhxemmepujow[wrixzvcpsrikhpsq]omaabsdxnetrwrq +leaboetguynveaz[wlcfhxctvyevodgyc]xdakaignnjddlqi[awywkcfphkpginui]tedwnotsosrccwo +zhbrfjteukewbyat[vqjocsibxseigjfxoa]ojmmarxegluyvzupt[hbldqxnawkhmibaae]bjjckqrsazjouralfw +dgvrgbilvhldmar[enieyduhokkztim]jpkprhewxywqukwtid +xnxmuytwhdnzyugi[czbpsumbqaylwupbs]pjlhtlexldkkpkmlhau +xvzkguezpnterhvqs[mnqzalsoknklnaflvh]rtolsgxxzrqjtnvzc[jfpaqzeouwbkhpixpyq]wooptrtquhwuysfxg +emzjmkghmphddnpe[xnsrvfvuexdixnzvdqz]ggokmrrmrkcemefcic[fuzcjqluhyccfzgfzy]nambiklaxsezfkn +adsvjhmkjhnqdup[pbkqdnwwbhzcxqc]ssouezrsdxsppyohhj[ymvmdarkhkvrvaamlwv]epbexzeygwnvawzzcn +faojcfetnpzqhxh[urmkznwhfvnpcmptht]whnrdwohhyuwxhxqc +djhfybqttcmazgjms[wrjwchyxkngewcmrm]gfiqmemzdvsjrdlswq[toxvjuiditqbntb]tqcpsbfpvlhanxlhopw[ofktzxwdcmljtlnd]orfocgvetzomhrwmt +aevqysekchzrbxomo[trhevoyqtqdwmkkbq]wjjtvmqsdldulfybmqd[hqlnkjuxgwjhuoi]edgyiczrcwembzfnp +rgxsjlqvaenawsfdr[rogpvhiizcobqkcsvf]duxmraoupffkqrwhyxh[dzkkxkbocmwtcfjray]mumkpqyhrpjlkwfubh +bgijnqjisggilii[wwylzojkanoddcpkken]cgdagihyoqsyyrggjhu +ldphrnjhmbidppt[yvyeaymlyqtjxjkovam]oyaxmvohqlrwyhmeci[qhplkgpkynhqosermc]iguibzldvaebrloyk[ghrvrthfvmrojmn]ubtyfgwtmsgjklp +hysatjfxaqceobaz[nrsepfgsopbfpzis]kgukfiivvuiahoyk[sebciogmforvdlxwkzk]iogzfnpcahewlecsjpc[kzkzpmkodhuipvb]lfvqydketkduflwu +vblosnirymuicpwmwe[ckntmamomnqinmm]zitexyhmfyxqtbvqg[zycypifftvrxoty]rthymtrdqdfyxnc[yolhcsykrxnvenwxag]jarfrzrwnxsfqgarymq +gzqrgwsrfrevuwtrgt[nkrldhypaobnvyulazp]rsxuftqahqoyehzpmrz[clmfzlbnvdaaezra]zbqnwnshukefmycxpzl +imgwmbzivdjwadkdlt[kjzejqvbppikdzymeak]gmmnhqophwsjicuaxp[nuxazwvjncfwhsgn]vymrcinchgfnifa[jczrldtyugeorvb]scrhgmywuapbzvclxlg +dofjctxuyrjchwrpdkl[brnplpgotnskwes]vvihhgixtucyzvdye +skmzxzxeqquisgwkhsw[yzckgfxeosmjbxkfmx]udqmaruaueaxatnw[atrogcjptdklhsg]dheqjxclyqigpla[adirtsgajgitywo]fstkquetdtfhvph +bzoyoxbrumgiunvhv[fxbperrgswglsxjto]eweqiyvtccskuaghfx +znyezhifnsgixsvwmr[rfwhcifuvtkwwsm]okwmuvdehdqhxkczzme +npovmoobhkhslmxazaq[hnnernddodducatr]mwkdiasdfyhpbqwb[khkguvkokhbceofttvb]pgqkapzrzghujijhlz[thncbcnuygnnvybjzai]vdyajjgppfpuixs +xxzgpekqpxwhfozbt[zgvyvxihkzjzsfnnnwn]tfkwricyhmjfwxdwjcd[yxrwotzwtevvehx]deilwqoottgxdmblo +rxpnctughoojauq[ymnynstdvvtbjmxqln]hdbiyvnraxeteryhzi[bgoswtnswognoctviu]pmypvputmlimumga +wcmfwapygnpvwew[akvlgkchxuqpfwoghcu]kcjxzwdodqerosvbpdl +jqlvhzezsscyxfxga[swwxebohyryvusyuzd]avwgqgeeukqobab[vzdarhiwyipxvcme]qgqralaboegfndvws +wpysxgsaadkfzvuxyfc[oxphlawnmdvtuonq]vrmhodrgdxihlljjks[qrciwycfltpzxoqzpb]vwotirwufxvlvywmgp[buoqvcpsflxgjhzx]eawcjsfqbkxzdrxp +dcnlzkpryarqhsjizcu[rgsqqnkokvhhbvz]vgjebgdyxlcpamdlt +oscjvafazcqpyyysd[zalbkateuzykfjrhgme]hnflgfnktuwpclgejk[adnhrzvebabzjrrjg]bedacrdqfqiikdx +abepeqepsrodomnak[jvthiokzxflwkipx]crjfadqsododlji +ruvgsaerecttswms[gqkzuvludstqgln]lxtjimqsjudwtqe +uzlojjhajzvctphb[yuszzigzwzsbaobd]vmtqeuowoffakchrvh[ejulqoemrctxxnbkpbw]ffkaifasafpmrvffe +dawvqolctgrsevs[gqmgzeqwzekijchq]teminfwapxjcqwpvkn[hhmtmbgstwzgcdpwvg]qobwjwemngcocdcrqt[fuhqgcmkjgrefsydb]zsmwlujnogsplwn +kpbyzinddaukeapj[fifncczyxmxohkwkex]gsizfhsqqezccnkixl[gddylkmsbnhgmmdg]uhdjrjkfqwjtbgazpsq +bvovbtuyoemgdcjb[apyznerchmittvx]jevovosnotkjipchj +wvgfjgyxjbbjywje[ngkxoibvrzftplcbapf]qihmoemrbuwfuqsqs +cbtddsdaynshtqldrfw[clmlzqfzympgqzgiwlt]jnimkwrncvqdlurdlkj[whtoxngpvkjbedy]sdqiwepioctrcimlm +skiabiriqavgdea[afznzrdsyrkreznck]kzcbenhgxebxxywrzlp[cjicuqzkqmjybeocw]uijaysqzypkzencaol[eckqilihlbpuxee]chnfsqenjrbakbw +masjjgwsfvaupazze[duouiugjmxcdvdyz]ivmhptgiftmsndqsc +eousittpuhipuzco[xbdmmuautcapuiucoav]ejzuodgphfsbwztzer[vwdwontbznzpecxjpz]pwmmidlsgffkwdcgso[gcoymlqygeszupglrha]mrqwchxdmfbzpvfdu +welumnxwbywmcrd[glwvpfvcbkbmbbtmuh]fsuxtyivezoasscwiib[bgbfxrjpfpzogqio]ymnrhemmbezoffjxqv +issfcknutopfkpdqag[rxqycmcdvtpchdywmoy]uouclouojpzhqomuk[dfplomwsxnbmcvubcu]rnefnxjibutrvrv +xnpvlhvsalwaubmln[rcqqsximsjfeknqosa]bhiszpnptclvxyhqbo +oudmjuxtayalgyompif[sctohsgzvaqbcmsu]rgiecysqauwoacafh[ykjevkivbdvfnsbpdo]cqhhfqsjskdaaymlpqu +konztznxgyjsvynvl[fjejsdhfcynplct]fdnapcnuzqsgwxbdulv[fmxdbdjrhtqglsvtwwg]xumwevxvrhwrqblhzbh[paxrxvxynvppmwt]znpjdeeqlribvbqm +mwhfxuroagrbmhgxc[dtdoxkrukhsrocnx]kwhjhmwfqqqvebvskr[kqxprhgexnllyrqplh]nmzxcqnmglpbbgxws[dvwobogkqwxnpjfcvt]wrbwxpogqbczqqnwb +mngdxcpzpwmheirqym[uvtysgaucitudimvt]moznhephcjwymuwtmsm[eibfppjufuepsvbf]iykerwlljdnlirdjp +qmtfhhgdyurikopt[vvhlispxbcipouagsvl]dbbczjclngkukij[qxzldytzxdvcqqnek]xemkoetiopntpjrywb +hxhejzmaoxreboml[rbgxuwzegcgcpdyydeu]tbacjiffhhisoibj[jigdkiiujwnnqrnkiy]eeujbpusmuduvbj[frfsedqvbugeqijl]yxsietbaltkykdwkq +hjudkljvwtoyedw[iiczjllerosvxubjick]oglveoyhwsvhawbyy[syfrqdblxizylnhylfj]cdiqncpqncdwuxerk +vgdohjnsmlxjagkm[ahtiolxvbvqhrvadicd]vzylvdgblzozzonhcr[lzvimnrevjuecccy]ctvctclxvhnpjsi[limegkztspacyihizky]xcvsbjeuusfbhbfl +ffgwbkrbwzxtzgvu[rkojhswsnexezblqb]ethiuqqhcvfwgafda[kieovbdkfgrikvq]mvsrhyhjqbngbhijyab[zafpoxjiqyqbcpqfoq]lrxleooxcqneudswwba +thykqbpqqdeflezird[glrirsesytbfcbkrcz]jqyfcobfamdsbtucmz +qtxpjvymmuotitlyfgz[yoyljvzaxmxulitijln]sntnrvqhdhdswiboa +ywonnopaoujcvltfb[fnwpmgwclvgpfqx]nxbjaeppndbkiekyp[rlexsyhmcdkwcpvcbid]ybycnkpuwksthty[utrpzuduegsgraq]eizpzexlyfvcrce +yqzrkfyowwpnulucfu[cqwnynjfnknpkrxnppm]bntpzduqgbrvedu[rfiodsdhmkwkgddyipn]xttiifnwezvzmhpnfsn[oeajlmtgbvduanbcgy]varlhkfsdswrttw +afnzuqxoswagwxwp[hvuypdxifaauljeok]cyzzunjtthctczjw +macgqhnqyyhwgyxhlwy[rdxwxinerbwnajpdnh]cukgufthqsbdtgna[dnrlrihvdqjrjafello]vkmjphscfnspebj +bbvqhfkhlmpfsfspbsu[ttsgszzfsfqukymfg]fgjqdvvxvkxgaike +gtqwsockenzoqprnxf[rrvreepoqeyxbhy]vdlgcszhwvmzjrkst +eyunqqdlsaasqfbhwpc[fpmanqdfvhrosxaptp]aeyfdxouzzuuuxteclt[ganxlwtfygldvdhoquf]paymaxgcegdvovaqxya[ylnriprhjdnkuntzp]oqfodnpayolcntvpo +xlmzirbazxeikyov[jafluczjpgoppdv]wpbnattlwpfonwsln[dkcpcljambobjlxoz]rmbrtcbiidiofcsnpcp +bdiazfdiaznzuhviya[qvaxddebkudpylw]esoxozfgnctmthko[tszqyjuiouweuex]spaloyisrqkwmlwqop[jhyrcdmwtpunvgv]aghnzwzfziovpby +exhlgxskaluroigi[issotyzfeuktpazmg]lefetopliispveyo +qhedwduwbrvwkgnc[phirkxjtopfwrpqbldo]lktemuabdcqtihin[bsmfthbifngaguzsqva]oqvaqhlqcwyvawsnxs +pbpsdnornxrjozbhegt[olfscmqufczzthv]sjrnzixklvlzapmv[boflyiiyupvpoyyo]gagojlnkgjkidipsfc +nmokporhpsfajdb[yauqisvxeepverq]rmlabnxywomsaugdzj[hibcctomgckikcfmzy]vemiqjrtjlgiwcarwr[prlvjrztviircighg]qghoqguorcntvpnrdm +krtcbbrzfpnutjmvml[dpycsjtwqmbdgbgaw]bentoflqfsbajclsmv[gobkaxznkrwpwzwejiq]iheshnkjlqmsuqr[foyuhizwpcuxxwmk]ndtekfmhqmyffswkit +mwhmprqlbicecqvtmd[yvzitcxlixddefl]mrsoxducmitngyqzex +zaekfciypethndkxng[xyrerecaoadplrxu]wwbpojlwevloaowp +aaxwixjzsywaxacffnx[kghdmnhzhvdkbjalry]xellvvmjfhvbbwo[hvuqhxttxxuczlvq]rtlylaawqdavxbxs[abrentknwcqeajht]xbmixodoelofciwi +xzgyxytmlawnzuq[axtspfxzcdecmqhtxni]sthxnxmrqsfnojznl +sbrrrqglugswcalnpu[cypvmleasobtxglz]rubtikwponjpygrpods[fkcbvemfmsnlaxtbbv]itbrljspwqwonesa[ugpqsiwkfirpsifzigb]zzjwlinbpnpqanochi +ewyzepihewftallbppp[dmusynkrlcjtjymkzd]kjnubfdogkyyklwtoh[fralfdypbjeheiurvnf]cmdkpuvqorhbnrjhcus[nfrvtakzephycjks]bhabquktacxskzn +lfkfgoopzupmdstvovk[ynulfxmlxxrgxktnblv]ysbzmdnculqmaipls[puivbnutzjpptsfo]hhoqmaddyojnqjrq +yfebkbqurmfrmhtef[rppekhnstwajtapy]nkinktqcskbkhhswfzf[evbbssepvnbhmqun]veuepyjscbvprulw +dthgfmgbcmswlgirzy[ndiyhapijewwwhfc]kcghgrbsiarabacidhe[hrbwqqogmxoltbahtz]uhucqkricfpnbmbknig +xhzjxisrjrmppivs[tfrqpkngwxktxruuhzz]bynyiigwfnyncvvk +pmwpmupkguqbsky[iaomwdcyrvmeuaw]qambqcegouwexofhdr[zcijhkylihbrfrzhkbd]hoefgnszemrhpbvkn +oswxpeqgrfxqbtoawmp[bjhluefvqnwayglbay]qwaaosxxjyhubeam +pskzvkaveuiqmcdtacw[gonjldkdadihzitu]gohzbpcgitymoezf[aafhleymziosoakv]itzobpndogizsos +dclorjpgmzkijqcogvm[vjuqusdqplwhfccbkbv]lppaqcmeofuushepwv +rlzumszktwbradmwmp[ndzfzkopggqgiuf]zjhdczzzhvmthdmlo[gunuhcopoplidsqh]juvdgjetryigqnz[hhkelquosvkxsjqcid]rkqgqsxeyjfryie +dfwafklwslgqlwdj[scdodzzvpxmtbox]efzkljhkgjoxjsm +wwltmudressaujd[isatfbydjfsuwccb]bnxjnaoqnpvuystxjfe +zxxarkrbglfaupwb[oyvmeuaxplnigfe]qvprgchmxnxhxlnnz[yisnizxuznxzjuccpp]pxiergvbnypqrlsnlt[jvevjsourlxfbrmghfo]gsslxevezmntlmvg +asmwrhdfpqqnjlgaoq[uxfaucpbcldnlwrita]cvmwfnzblvtiiiw +dfnpopgbztocncn[nmwyzxkkgteplvfouk]ppigwyzpisfxzerutrz +vhlclydqrizzhfqli[wokplqjdpvkiggkuuiu]sevdcdmojagvibampfr[zkvosnaetxjccbekng]pprvpwynxijmiuxewrn +bbcwgonotdlpdyhbvb[vqkgrsgwlgmkwsuow]xjiybkdgwrbolgumeu[hwxlmimvogwforsbq]furdbbncocabqpqqg +ldjdqdcnqxdrajyjxog[dikyzkcfmgvmbqw]nicncxntxhynuxeit[phhltmisoimfevi]rhjmrdqcgconcwyfku +kacfuoqjojzucqhkr[smdyoyrrebzzeuexmav]kzakixjfsueuvfcisqp +ypvcehndzdalgcum[jygnxqirrfjlvfij]dwxhniytkftkleaacbv[zptuknvpbkibfanuxbg]ecepetplrcuvfcuz +uxlabrufelyjweuayuk[jgvthofjfbpvzlq]bfhbfaahhoiaqvbcr[nhanlgsaslpighdvrl]xwrprppwfixesvb[apppspvbapdimzvb]tjnnhwrrptfpwoop +fqhfwrzevwjlvifxf[brrakqkrjuncpxfkklk]ymmhjubefeuxfltfrk +xwnjibdcynwowxjcb[fjegifzzantoxup]ckhomhhmgifluuean[vvjfcttvlzfbyhatq]yjpmzqmqkgpyrporxrf +uenyhxniyhcsfap[pisvtmmwtuuwrmcdbi]hojaynbmzgnzoeicc[ylayyajfmizvexkx]tnxofqvvbjpfvdlynis +cfpxjmrjwhaoqiunwjy[namtaykbooqjrumjxsq]zorqvqjqvvciqbfafwn[bsilqoniwqijtwybafa]kwdufaxljviztzegag +xiimagtyuhyukglbor[hqfxnurddkcrkpy]jxvrmygywcmwkrs[ndhzsfecmdpzmmsb]jbwueecsskxxhxjq[orwarwkwmbwwxjyqsmw]nuzycexxnkiswdmoxew +bacmgkkeiltogni[libjzrizgyesnur]bkoorarmpihwclq[kvqlyaknqrbupaa]xzlmlppgachxholdvva +psedvtvciqabqvxxxg[bayfasjmnygrqoafa]hdkicesplpwabeypino[acxropsbfnrghlr]lyfxnnoueigblpziaan[yxcbicqdfafdipama]ugpmlidpadbhggdqrr +hthxxqyxlecaxlu[wsdjrnwtpnrfimrkh]cdlqrxlcvohpwzhvgcv[mparumcagrwspag]qygrqxdjqhmlaxl +bhlkcvftnodbxssb[sjkgwudvmtdcuirg]gnbibkntvobivugfdcj +psebepjizglzwvjo[sgoalqrpwkboxuyb]ufmqihwjkndweit +cpjonjjebakmiopx[ogrezailvrfeuqvr]ukxauulwfoofbjqj[bwtqbpbrsjongyolbb]owavyvhfpngnfpfkf[fszhirbmxumnkkmkrd]aielausdsxactibzz +gsgvofmhdputlbje[xnbiecftyiamuryl]dgyujllztrzgmygn[lbiqazwahpeyydpuu]aeptghrarasiyvax[ddchznzcnljhcvnznw]zucuhesaplunmzqzk +usrfwbgjbdwiitjpynz[asdcjoqldirolmdq]vkemspjcbhskuprotih[oyieubfyysxxykmykw]ahuonvgzuegarlmfs[clohwohtzstznbpumq]aqvtshgthipylzb +ndbyoadclcrwzkretvm[kmejnhgyxizgyipjkrs]wyhktyzlwqajfccxaz[yedvevjawhxbfinjn]jpjtjmsqovcyxmdgozf[wgqqvuvqibvxhlxatsh]swyzlzeedxshxpkut +dbezygjjszcpuweafm[ylslhhiyayzbvoju]fncmjkxkmjcoyzw[evzgryawpshvcnvrkvy]coeuqheykeqemmgpqp[ynmxkiylwwulqrixbg]rdkhpkepobzgqueftrj +zruoldpgszownawj[wbutdvbvoduhocqxibc]jogjzknvedackjj +svkavmkbdefijojmn[wjxyyozgjrrwfefv]fkxmqdfagnrucgjkft[wdvqtbsqzybgjbrr]zqiywnthyquzbfazr +ekegzpvczwfxidfsm[htukydjboakfjzj]giayupkkfrgxmrd[ycekmgobzcubrgwinvx]uxzoscncuovpmkw +faapviuucpwpvcom[idkmvsqvglrhesl]odnzdatmvqrbphxn[inymovkzuccdjiry]zlqwpwjpgztrrxap +abhxaadlfjigxvlsun[pqyzpkpwkowxsluejvq]quellqfucyezsnr[gawnyuikrotirbxmik]mywshpxaattwyoll +vtchbuxsxwrgtpikgt[pitvvodclpxlscpxux]ktdzngrvmgougfk[wfsydnkfkbfxtzvzr]okqaxqxggnqotnqloh +cyehzvoudpokxuoa[yyvmrzcjkbulqxf]wwoungdrxkqxnlij[dtnbtlpgwogojuqbsgi]fflfngykuwmshcfq[uqjdgeigsyothkjp]elofejydtxdkxji +sytlqrdluxqscdkgupk[abaeadynliiphtxcw]mlxmlqypvhksqjcaie[tjgyqbzvmhljbspqq]dxullfqoqykhvihzri[aefpabeqcacxtxrq]yqztkmacairriptlvoh +rbyamzwejefygxjbep[jqcyfqsatqlmraqrwxy]nblssudmsdvhggtghi +uqsqnsrdvvypbfwygq[conucjfqohipbigugo]kbryjuucknilfwnxi[eqyfaiumekxelbjp]tuhqpgajrdywxkcpf +szxcevdnwzuuhrlqcq[ifonbuprdpcqxjp]wuzdncxeeogyijgtcam[khvubdqagfoqfvw]ejkagvhvabxvtdcy +buegkequpboaqwasm[rmjmtzvlfdotsay]mzuihphpscsjrfflt[hmxkyblbscqtzrsn]oyqcnwceqgtcskjsk[fmmsqitggbpyzkhjz]axsoswxaptctyfouv +fxwviwikodgelpdbh[wsygeahvrhpwoldj]dcyrkqcdlroxtgyz[yddvqthgfaawazm]dneqvskvumjrpspk[krhphonxbunwktu]bvsspzkchjpvthihgh +frdnfohwfhokwwwrgmn[dcepjrfrnwqhcehmzk]zibeivyuilnhsyxfz[xodqjcsdjgfqkowpyag]hpxrerdwmrbgfmp[pazuoxkjvdhgneoxa]velqceclcylikkuej +chppvpcrbnousfx[zuprslssnlodywdyccx]gwovpvncmkvycrasprl +ivovzsgupaxkftpfsd[nyosrtsafzhrfbpzhu]uhecbaryjpacwhu[gdbhfjohuydfxwxjnv]anrssbiawhjpbfdcyia +yclmaozjwaewdsvt[lawlufoigqewpyzbi]ebtpvttkpbkmhiaqnuq +pfoddfvnxvxmtxdc[nsnrmuioammhryi]lxwcfwaltgkqbmaoca[yofdzbbbxgnxhum]hnhglanvvvjwvzoi[ylznjawfvwvaaktu]strvwhplwwqfkbectdv +ebswffteiyzjdxqnbr[kbrlmbabuqkmqkt]vezwpknesjqtoqsiao[rukmiqowjxphyjxgeum]vpyuxrlzqemneszazdt[iftcqpuwiupywdrij]vgiexmeylkdrdpbimy +zznfpdjhwehjrekio[rfzhqtkvlxnmaoykpyk]eiphwjykjtwdfmzn[cjcktqorqdcgsfhp]ytjhicujvcmdvimud +bklyeitkmkcunklwdbz[lkpxawzppkyoszmrsek]bzzhzjrmpsnxzmow[rzhqmjbwmzqccdd]dmkmytarohmwluq[iizwqrijhywvust]ghrbwjcqrdirbuev +uxhnqaclvpplyswyfx[qclzizgzasqseoohop]ulafsumzofhobslya +rzaderqajvligrh[bwolraeedfdvximqy]rhgtebsqviituhr[ymgtrumysaknzdib]tmltlstrwktnjkngrk +xviwxahequunkgdgys[jjtymdnoukpdvvzpv]yyxbhwqcnvebxorsj[vfrgswakertcxas]vuutyyarrfgmuixyyc +wrwtllciokdjnjou[ahuansgeambazcz]csnyldeozjfgbmo[cakhvnczxlrmiheymbd]qnoxwzdljkganxlaz +lrrikocaojdoimju[hjwboxxgquvfyrwoca]usfiyepgmwvnzwct[cnlpynvnucyovktfldc]edfajghcrwqfrgfeo +hgdazmzmtaqmmjbct[ppopcisffwtmethss]ugxywxsieevpbyti[cfxomuxfzwkybhytx]ebkrjwsnhslesflxqjl +ftnjlstckktiullwml[ecgpmjdxwsfhewru]xjrlvnekcsudgjb +mxeakauzwowadfsafb[qzipuaikddshgzw]gfxgxjyrfpitkvfijy +ahjnprhifrtwtvcdxm[dnufatnvmhsfrihdkud]nvbeloqotrzmbasyxyx +gjbduobfawxgtnh[qpihutgrkmmfomka]jopqegegbrbafhcvkgv[dazjbspaonzudcp]vybvrajnullprlanz +zhlvcnuwpwiznxjlw[hmotimztpkhouwpy]gvikjywwiayvzpamzwo +ekzkdvdkvblkxguiit[zfhvwhwrsdfrwgkwak]hlrfndtnrhrmulwlaix +ybhgragjnlxqryuiz[twgosnmxbsxtdlewnfs]honljrzgkbkcduy[zoawvjudhxjxluztmlt]dnqfnzrlbavifdcb +enalfaudsmavqtvyml[ijktirjvhqwzeyluf]brsvbvztzozgzduq +yuvyvwpiagyqilcht[acwlphdworonexdq]hyariwaaectsnvd[qjlezctzdwcviwgw]slkjdwkcjiigegmj +wndlilfhdypfine[pndgdkamnqvfubkcfrm]cpyjzyzozvzentk[jnirbvwarvvzvlsr]yfstcnqcawbauvv +rmhedyqydlsyvcbsir[muwmpaqislcqrqdqs]jjgugfevvagxbslkhc[adbsiubkvwjedghe]roenuhwmawcqfxqhma[yawecjfadoqcyileyrk]asykbjnvsvrwkcufov +xcxfirpkfxzmwltkqz[qmpucfqvxqbqyjjqxe]tweeuxszykmntphoryz +ajkgalozbpjubdaaiuf[mwwzyzyiklyjbzs]ryazgtclfuoljhvrkmi[bngsdvhrykmmupdh]hrgdyujfamegyonwgl +vwfnvvliisnjugfnoto[urdrxdrzoxsouscldx]hlxjmcsdwxkzbngz[vtskhvhnxngfvgmzpb]nprnmnebomgtqnizrp +gvjpiasaehzoyicbu[nsbxgzlefrgygvqhsbf]ssbpcotcqroyshrosj +uawmzmtzxeeimmngmgh[ryapdcoximrrdjtha]vysalwcewnumqixfa[oqpkupmgiylbfswbyro]ajmxniiahcupryqmwdo[jpjzanroupoeyhh]hkgyybebsurxjyl +gfhzbwqevayegvwajl[iplwzmausgdmamgu]xxqbdfgwnmitoopncmz +xkjzxdynolwurfpyznl[etuwbkgomabfkeul]tlamnotqdzsewnbyr[vdbnclqwaaaxqbwind]gdnogntbrxjtffss +loomtnfopfoatadpda[yrllbhwyqggwumtby]dzkfgcucuioumgcms[ofaxsafgqirwbwvudo]zwrwtzuahiaxvqkp[fcgppucqubwuuxw]bwbtvulmrspxiit +sgryskxogdxkfroa[cwakvuxvyghknji]uviztjnhegsgnlg[hkhtkfhpcsqrsux]gkiwicqpagpqfymw[corgwvsrxmthgmr]imtkgpeavjhdktlh +dcphytnerlqeyrirgv[pgnizijuiukiewwzek]dvwifyrfprnmbuf[ncezizgdzyhfcfooyzb]uubjspkjmteaiax[pfatvltyculblwue]sxbtugwzspmceosme +jwgpsxvsxtfhaqecez[cvkhrsavxildwfoxur]rcvmfzfbqrkgrvvtowr[jyzmvtsrvtmllvbjjp]wobjzludnkmjelfyshm[tmdnrzyyehzrppzh]mrsqtstndopoytl +nuvyxgjmddbmksqqu[cefkmkevpugdwwmi]psxmtycpomyqzhnggf[acmkaaqvchcmfgcleki]kwcgoytfwdiskensm[vfgnrrayrwjnovwbt]jshhwijsalzhgspbwxo +gozvrvpumqylwbwp[heqrvrcztyfhkkkiurr]zdonwnqyzzplrtddvj[edupsmfuoerkqqd]zddaryceydipjvvcc +hordslhdqnvkublaxn[ftwkewcpwvsgyxd]wmnaqtoesqqaajkdid[klldxfvbzihaergs]pamhkjkkmegbxzjnxx[wycwyjftyeraegclmq]gkkomyoqdldskdzrpd +okyvuhkwvcdjertdze[hsgzgayvznvksagkq]yipwttwbskmesahm +vyvkmniywnhriorrd[lgtllbpbokjwxvwye]dehyobzazptbgfwfw +tckewdtlmnxelzdi[ebkmchbjgyrioocm]xqnhwrbtwgldfzrpsih +qqtuwhnuwgckmbwftu[vxuwbbfiglaswoawy]faxqlelxkmymiizjvk[xbpctyiashbtkiv]zbkpnnesjiqiusbaaxi[thxeaulbrdecuffmpzs]saalehfynbpilvnys +twedeypgrxlxpxipyu[bitgaljduloktvughr]iuwugfdoyquhsjsosqf +sbjrsjlbzlmzzrwet[hktghfaniripmsad]gerqccwttzoahbw[tjkrirlawkjjzyrsn]hblmshfpkfkvhflg +fuaoosysvqsjxjylsqn[cmrgbgsiczcumvanpho]kvlggkgtabafpxvqjb +mymhxdvafawlxmipn[ivtejbgupwyngkgeuz]mvfnescauxomdrmkwk[pzeqrcmrehuieqxeae]daiayjjttzgpzdnfalu[slyaadnwetatixuo]npacidjgjunsmvyxkeh +prpqzhniajzdublzh[jfkvtlchidjooyaj]bkmwazmaachqloogbzx[njwulkpixkysjodu]isnphzszklgsmlkky +nnxrufgxgfzexywvf[dtlbiqbfwubxtlbkwe]iwlwexlorxapnls[gmtyjtqbzdqerlvxao]pvwualeqrszswaehx[fibrbwbqwognokg]gdruvwljsbizamyqjwn +jkrgqztihilbhercp[rhccgimfpcwcidk]dyvpdzbonknehjzydro[gltweytrfkkdcawdq]pfuzsmfeijzwryo +lhfrqjgomnntonrjd[prwrulyjuudonqk]mvuindgtygvvcuvjgsv[fypfufrhitewqsiuaue]mkytsubmrfshrhaic[wnojftrgemloaflvrui]aaanigffldppwyxkxst +chkweoivhgpjaxndz[ewvirjkeakrafqr]vxdlxdjmtzqpkslwtd[lptmwcapiwwvcrd]iehzyokbjctybnc[bwiratnbhxiivklpi]rprkmuzdaedbffi +mesvoeyuotbkbvueuqg[wkdefgyphqedwlyz]ontaahcptvjvwhwks +zqyswnoyuitjengwkgn[ztozzegyfjbvyvih]gastsbhrojtoyryspws[daxgvinchtwuojcetb]adtxjastvsnmyvyxr[zyebdlgjzqgffwcadlu]wadbwtmgvwmsoudycnw +trbewdwmpskqtsps[wwlrkdfubapqxccds]uqyodivyqmvesnflfhl +bihlsbgzczfaserxd[goawsstvqqduvgam]lziqvnsrbjgweuuepwa[cquniximnecjrvuir]fwrdqchbgrqrmof[tkkjlseugcfpsmrc]plkmachmtbxvfiv +hrlthytvuryevweqwu[shtaneryykfrwpwcheu]phsydxhoupciwao[jazepzelmekdglulmog]pubhdsutgncgmduf[mwxbleayalxjhgnmgg]tkopqvnbrqmyncbzzsa +pvsrnvdndolivwr[ulasoukwknbmddlfzyd]ipulqjgbtkmesdkq[zkiymalvtjsqxyc]twsyvckzufayobkc[yhmhhqrrmvknetxwyss]qiujoqlzuvkuerc +ojrnhrifomaubwho[cknskvcuzujgmwneid]sqawixrujmshtrh +ujsscsesjhbdtivgclf[omgzdnvestrlgbartrk]lkuspiukqonsvic +oikkbvethhmocbeqc[nhxpixeeawdtcxu]pzkquwpgjpsnkqmlnl[ldwhrenbkzobwxxu]fjckxxzsblipofuftuu[iefuajlqowotkyufmv]tgktxlihslueqcbm +lpffqonebzksymagggt[xyaityavwmqaonygyls]evzaltghdwnhsljpgfw[iderkiwyrqcitkea]nhywkqfvroplqgponxv[aejzmqrnsbkeqistvqj]fbakovgduyrkajoi +asmkktjarumpuinztp[lhjnjvmfyhyzdrli]bugzvdimxtidscj[fniqimzywwhdnvld]bwlitpmwhcxiliegud +fbzsdmweslmvxxezs[shozepkragivsvdvd]cgauiiofygyglllpk[lhgkyvpisotklhequta]puculwhmcxwzptvz +aaxydcnlqdomscaoet[zrspvyauhamxtqfrp]mxqyjtpmjoianhkm[kdatpoobkibowoescjt]jhiimyrwlttlsnuhn +tzmudbwpapwbxcbakm[vcwleoetuvbtwzsi]hinaoeotgvfaizuy +alfexqmolfbjmkcolws[ejhwjhtqpduprlyhx]rhzesszchtogouezjt[ehajdjaruversdf]mdqkhxpaeoodbfbmlwi[djzjegkhmulrypf]fahusieuaszfkbor +vndxsjuyxodluatwx[lajxnxdhxyjicbdkjdu]rrhlfjfgtskfjkwxlu[bbuzfrfpjqsknknwsh]ktnjrdyniyodnjsiq[tzfsxurqaehofhlllmw]qqgrirtaqisuewt +jjbjsfgqmkanwae[dmqvqqdksiptzlrb]hctabhvqvpcuqxphhtk[rexmieviligtnbose]hxfwvqwyvqudbbrdq[zzhrtmotxbcomfmrvv]xoxsswaqszxkraalg +wlklybkdatxygaj[jrwdfljzjzmgsyyuws]xhymsdyciyvwnjusrd[szqiseqcdcmukhawrp]jonqcxzganmsqfj[bjslmouwhrrsloygjcc]hkwqokzlyqpofxfq +jjsqzsgfollzaxas[dwohtrwohoyivwdffmh]xydlxbynxeibzdians[ztnbnodwteyjduq]wdnntcazofmrrtxz[hnbullvzdendcweh]rtgpovsjxltmlbnb +kscdiuemltlfzer[payfwfygkpwicgbsn]jawnyavvvpbflltumx[qaxzdzocdoecunpq]xdzdceoybhhqzlpzz +wrseqaxcbnurggub[msxuakxusfmwvwni]sjntqphornpqjbgbnz +tepdtvdvrnwndfqkrw[zssvcrxiavuhbyalmh]clvytremwmgkvqsitns[aybwjvykkqsfzns]yquwpeulegelgmt +xljefoqsedglvlwmxea[kgmbxljuiirquqkomv]emjegbzukntpiao[shlooqcsgrjdqjw]ujndqyxhqmagpfbwu[suczuwufykydoyoct]diljgadedabcuhzhz +vjsgruhvqhqbnlv[wlbpbwmefkhqddaeh]gagvlpiumbyquatrw[xofjxwjyqrzktqivcy]gdqtuwfhzovuyeejbk[pfgezbsgmwlsxinschr]ttlwstsiyvsovtp +uetvlkmfognlmghp[nbgnwqebphxkopaqdm]qyaztzdezkxmysfbeoa[dfvucbzetztfriorox]qfmfkjxrtdsfvdyvep[mfacwmgzillxhoievgq]ytizdnhsqohitwdziq +arbikxdeycoelgmlw[fixyspnwswzaahmsz]rkkwcrzmuacxkuy[iclqjpvntafvkmcwlhl]eaerusvhktkcutkt +onsratzqtrprdjvbuq[prpbyhrioleouieuhw]jdswchfooceadkqywnv[khedkgqsfwdsnwxibu]pkdqpplldnufkqpq +upelynfnxfhengxavsn[julxingpnqlkujsyvdi]xbwbuyojstbtfai[lcixiqirsxtqzuexgfy]olsiygtmyhujalqc[qbhhrweffixbtbhx]ftobasxsevlaeuwde +inktsgyecmjitaae[yhkmscojljnakvkayqw]loadalkqyaghqydi[zizeyekgloxxupzi]tzdtiywvchdiaoqh[hrwaofychrpjnqpmwn]jliznwufmyqdgpcdlyw +snlcptymmwaxcujv[cwwdtxwyirypitwsfk]gjimjugxpoviulx[zwaszugiljbcoxuelao]gvjywxxwsbfnuxzxnn[ldzcmudgzynfdsa]jrzajdtxmagrrgyf +hfmmcebarslbdxa[doznjoadhwnppefo]jlxxxwbwivnyfof[psnysilrnsvaugk]crqaiocutizwwmsg +zvnunjzsekkzoax[odhohtzvwdghcdatzok]ehxzebidfqdvfztbh[kcovyyimytfqlqhq]qwctihmcrykhpdaca +wibwgceunztmvyaqxtw[azwcjqoohspxnmqfys]awzdpccsptgvwjbovn[hvdsezklidpypjdk]tavbuzpdfhbmtxhppqv +ougsupltdpefqehija[kfeckbjmwmncgfziqsl]jdmpwsfdeifjqlevd[bhsmsnwznounnhakhaa]ptjlulkbbnkajluhlz[yxnumvyhpdmwozgu]tewomjsnbdllfvdbei +mvekcqbltunulkbil[pwgvqerlwdtjfsftsy]cbveecwkcrurcwp[ksfrpnzwnzmqxxwhs]ibzzridrvnzrizekc +erfjensyfxzatgb[fanlxxtsfgjzvkwkn]ggaxiarhnnhprdk[hzafwflnlmkqhub]edecyzpkgywqbsus[rfrycvydjaknlnl]ckbphvbqqoqbfooy +yfzzaoyrzcsncgzlw[ggjrdgzntgrxfwmlq]qwrlyzudiozjxbgvq[szphfeyocpsixgikpl]ygscetnweirruzi[wgrgrutnvljqgrlt]ttbtkfnwedetseij +gmtqynknkststobamn[jvqjwikwobdlaebdkum]bsmbburpxreknzy[zyhavslsazfdxjsxqii]caaroljppaziybaonf +gxmlpmdtjrnmguehe[ordskvfjdphcnrtivkt]xhvvxkofhehjkynv +gnzxuliucskivpk[puwibfqejtqbrtnbxt]mrbbxkzgskxwztfatw[xmngrbephodlbhxomq]ztsucvgmfexhpkasne[hpmpdmaikmbotws]yiwpahnvjodemmri +spubazlzdtbuvbh[csascxjbzxbpxclobl]gkhmporpqhbxpmhdqn +wwtgrpdsbgbrdfk[atelcuoktmkauzxpid]krvicfjuwweiiuc[esqtxtinzujmgwx]jucmfrmdmdnmmhtzu[xplnrvnqvmiuoqvd]lgcoktqnfebirpghxg +eaejonyzzbeouafbth[uejdsivbirchjhraa]umlcmhgqisqvefr[klsdbihbzpwcsxmu]xrdgjgaxjgjfypacjea[hfwvndyefxmougijo]mhjhiuwiiwtdmyzsfy +nsxgdlfypseixwwvpgz[msznwvdtpmcuupkjaf]tedmptvvzbnjdxqgx[usfsawacmtpljyk]itmawcsjmbhbxlnykg +fzdtgerjgocydyv[yhzmtqlgnrntukjibps]hwlzaxezlcajckik[pbqrukljdkiwypshie]ctxikifnpufmtqxy +ysseuykdbkjutrltc[cairothfmtrucvj]jixkhkujhstrkqhl[xnmgeuplyuhjdzyjg]mdehrsxhkhsfwniiwa +arijfcpqqvodubnqt[vktbqiuqdvcmvuq]kadqtxzyalcjknaw[otgjcgewvfwflenqxfl]dymkxbyymckcgejugq +qyktsqfgwvqokozdm[sjfzvddjxxohyqmmvt]odlsxwfuphkgdev[huguxssmgeuxxvrdua]rgcuishnfywfuwbwos +xaqfdnvqbcxcebeovwc[vssdsbsxpkogquxcubp]kzwnwhflbtvlyzjeuv +jxwkkukuqkkjhtepc[hrkqhcpgybsgeflxxi]xrajyuwtmnfmipdwa +jsbcveqcrcvjdxkljt[qecsalkobuuiotgxi]csmittoudeuditgf[pxlyfmhphfxvxnwn]xrmfercrfbsuajgm +hadxcknkartlhfik[ckpuxrjptujisqe]wcvcxyklcamzudzd[leypbnzftxrnmgzcwh]yqcselhrxdtfrwpow +tvwoqabxpoghhmiymis[jdkjddluvejbldod]nfziouzgeamsfxjvdy[qkrauzigljxaqleyn]pkrtxsqimgyarsor[vvixzfunhrrjjqcwm]upwgjrwdmqwjkwvh +hykbwxpjaqbpjxv[ttmunhjtyfdhbligdt]erwqifvkchobxlkx +pqsvcbywhkeocsr[zawuvttovejlubzv]kxulatrfxcouieljhwf[djtmaubluescvpilftl]ldxndbacktxfzuewo[yypxowvwzhwpatsgjp]cxkbszskhefwezmi +kudquqbhpizpyrutvjo[jldrthvtvptotakkac]pwfsxlkqhdzyfpuesiw[ioxxgkrkcgtnhhowir]goqkbpdlhusnpbc[vrhdpvuwzmqrfcsavw]nkhzrojnldtjmvvfcc +tdoylucjijuczyrzyst[ektynusrhnwmllr]dahuwysxrotqychnnbz[xuvyithgsfchuclat]psfifzwawelacbmks[xbqddmdppmkykcspbls]sqooxxvtxvvxzncgcnk +khmvwbgskbsxcsgizc[lupttucgdooofavgrdn]zcdtspvaymyeduevddf[dwejblcbivaszen]djfytaubbveqrcmp[ejrqvpwfovilyowstu]ghcpglnadkcwexc +ceizefidmvymvyzy[hfhhsjrogfpnpmo]rttainjzgmdphfhfh +mjslqpcdfrshvpeelq[xpfmewpiuppgymjk]mxleiwhbfoetclzy[gsvufllgcncxiib]melfggeffagfxyzbjp[qwdcqftfcymctsc]hpdymfzouuvdqdeh +mvjwksiaflbuynmcm[ozrrxcxdetitntaujdw]ydvcbjrstsnldfiyhe[oordnszkfzktikfd]qzqsydrizuceehkorrt +vtxiqidwpitwqyjma[ephaxmarlbeygrnig]ypzglbkmrqpfxzshwd[veplwqqfpyovyhdfdn]imgebeyontobzeekbvo +rhehslmxnhpumvm[kgylzslnnbszddyj]siajtguroseyrycc[ngtqoxynfjshreeyrf]tvbmqxeebsopamevdd +mvlwfqbhwgrzdbuonk[ydmagfruaynarxgc]rttckarpatdtgoyj[htmrvfyrnkoypfcnfxk]ykdrfxqegrmnbdkp[ewnojtgvnjfcxkn]obwncxekoepsfwrns +igwdsnqxzdgohahwrfg[zuzwoiunluwpxbnznxe]cbvlplgrzpojfbaqul[fdzimwvjpscbtiqyhey]ktbefevbiqjtiqiao +jhdisoyhhwvftsfdsfr[xkxjkjzljcuffddpqx]ajurgsravchwruv[awkkfjlfpguphdc]cxzzrgllotgpyxy +ujjrzuzmnpeunfjf[ztftruzunjdqjrfen]svdabkjrggbnrowhc +hlnhslmxsoydczpso[apglfhywoihlfdzucvt]tuhothccxieqrrnqb[sibotpgowuidabvnca]lqdjyxkgywyuwjeeu[aqqkzkcaloqeezpipn]pkwuxhlqbbziigrzkpy +qwucgsdcjjvremkpe[veojdmvjafegihja]kimvqqiduzogkvcvr[rrxnqdiaqduiaik]cczokjbibwmmuiycf[gobopwqpeblrvccmi]wzqqdafhwtudgrx +dpkebxgpakpzmydvb[psgjjqzvfccndwtz]tnerdngqdtkuqehuab[gmkiurnhijhzhrxkst]zsbzonqusinkqbtdn +jkwpusexjitifndj[objfrkfdtuvmzuxlkrg]qheawblomtrojxe +iuvxdrfrooisask[spoknjtadefrfit]fmmmerpkmjbopbu[hkpzowyifmandtizp]gbvtfdmcejmzcdt[rphywwrhzoumgjfx]cgubzybhdiddikl +trxigdwghucbgfzalp[pxnywwldxjkgkceon]gdcdtikjljulzmogcsi +nsftzxtdcpppqkyes[ykulwspuzpqmjiewn]vljjbepvkzvezcs[zvsfnhltsmsaerpugfr]qxiyyptqbmdsryyk +qwarkfbhrqobztysmsq[brhqelefjmlirogtoqe]dkngpswauyblweefvvd +lqajxtibugfkkyngb[yhihnonqqatmrkci]xrhwzuoctfmpglna +rffgpiphzgebdbrdb[lczwmswwjnwcxxlul]sewgazksxbchjynpmq[dqdyygczzlzoqwmbw]svvbzihzjbpscgkbyt[hjrkqaqgomfowdrwe]fivpzvtxkwteqgx +mjydydffvlbhjjjlhn[tipjyavvuxsqbgsp]lndpugqvesmuauyjjk[hdaouijvfehsywsy]mjotiyjqfgcrtxen +utgwqdgqygjfegu[mrgjtmqpbdaajpyla]ajhwmseqbundtmq +bnsfukqjfgzpmxbcml[xmeihqqsdwdfcqr]ipcwwbuxzmfnhgd[wnkinfxccrjeojfhf]dpuptnozvjvltxunkgl +zhydtogqknrxwtis[gpdkrghjitrgpaer]lkvkdnivkzbrjzd[tccwwvkvprvvaibaeim]txybcmevkmisasyhd +fjnnodzohxutlxpxv[abemvahnahlujhs]iegfbojexeeuexdjud +innerjwzofojszx[uzzsfbcxczuimpdit]qqwkhlxrmekugmacm +jqvvybcjlshihkyeege[dhawrihilugxwen]nvwrprrjqlmhrtistc[qfnzhhamckjxbwmhe]juwpbpdghvqgshrz +eyommodebfyytuntg[ddlulncnkhltylf]qntrpmwmmmvhlqey[wmwxrrmiaqxphblxjq]ihcyanxurzmlogdbiza +iclyptsvrcfcgbf[sjfccadiryjddlcgc]rqiwpesegeyndcnupx[zyjdsodhompmmxxsrv]rcaqpxussqkgvxfwqg[rskohsjjwxxyzkb]lqnptscbiwfebvu +azhncedjlnxpfsgqx[iajaieroaqdjbjndtj]usmipitjajrkijszq +qaoozyigsadyjkkfb[dxwdromqnbvqrpqwf]xvraxkfredgyrysjwq +xlkrscxzrgphuvrnhh[kfzrcgnkepimvbkz]graaktkyekfseoxw[deibgckgicovhoeg]wdkmgrvyjajjsjg +olfletuzcyexeghkzli[olqowiumhvajxpib]gexkzyngygyunnzyga[spnsfupasdovnwutod]yhaufddqxpbnsqw[atsvzdvuxyzgootubrd]tlvjuszokngizphm +trzkfmggmbeaejun[yektqqdxtbzptpnesyy]qtxgjdnxcjuepuqe +busfaspoddgouklivvf[dlpxkcrfncfbzvcslaw]nzmtmoybqsdmyowmhrv +sebpjmvhnaheeivnlhq[xxanqlwhrroxmarbn]kdcwamrrpjeppzzxtb[vnmtfnbagfjiycaerjp]gawltuwrgwtvygsj[djkyjoiajzbkcafaakw]glynjbhtkbkhfkp +yepqnooadknuoetf[lxgtzfpcwafytzhivs]gnxpqkvdtauyjsuozt[woisnqiyhiywfne]tmpjcghggkfyurvnjah[dlqqhpgchljoirbpb]ekijawcmncyevjjq +oazrmnobnvxkvhx[bubpbqudhwudnesodzo]qslfhvkpctthwcccly[paaytaxaktbnzqp]bubuyecizdarhlcfke +bsdwmehwphvepqo[sqvitfrhrcwgtxoh]eqnfempcmyzdknkbyj +zvamoqzkdovdqbzyb[hzzpiejghnoymgunni]gfpzsneyuzrkvwzbh +kylsvuzmthnhzyz[pnmlifswzpjxwxtgmco]frifjdvjiiekammvmc[etwimerzwtlbspxgur]oouwpviaqolgsrzqbdg[vkctdsfldayaarsqjo]stpvubosyhswndwugus +fldvnmuspsmuvpwqivt[bnplzmggpaosbfifuhf]rdneqzzzoazdxdqkfk[zgnzyvkrbzmuaxazyxf]xouibwxwoyhkwcyyb +ahrrgpkbnqpckpx[nzqrumjvhmkvggb]qhanaaafizkcnlskfh[ttseogvatsraixqldvp]kkujsrcuhqydcifyhqu +xqzzpvqyqciinms[sjksohlzbioakalrpzg]yxzqopgxajyqdwtnrm[ajkvecamrmarlvh]wwpekomcibwlxti[uczxxoieofwpsaraj]ievltiscbqsmauza +ktjjqzartttlufnsdl[knjwffkeqrcifoiocej]qtdjwinalydhknjpcrk[fkwznosiuibculrk]agrulbodrsdtiujp[qmeuanrefyjylkbickj]epjhfqaohkcalabc +agecbdfwawfxbylly[ofyouyvsnhcicphirb]mxaqxxcqnvqgqmqdqb[eqjooawhjoucscjzjid]lbxiciyrjpvkmexvc +gmrtdellpmirrnahmkn[qwbsvfnpuezqqams]twkuqrjgydccaroeyq[kdppuolsiopurxai]clbalepczxomzlwfamc[utmjcihrzrrikvplywf]psctwdnevapftqcf +dfjfkhxwhkbmbyux[prbidpcdyprybhw]dciozsralziazmzgy +hlkyscxhvpnffjah[bnglduduexrvrrgxy]uslxekakkcoaulozmi[hkeatcgbdudnjzpnwo]bbdohcriumtxmjlznng +khqolikraxqzhczgsuw[zkfmoosmtkxhvli]rwqxzmydxavdyhotg +jnowmgxqwvahbtwei[ealqixxluecdppj]eyrbialqugpaczrsg[qjpxbtjrrbelgyeac]cjsksryryizbspfgkqy +vckikrxxqnggbnili[kgqiydxbgycapnoct]skwmwdearcjiwtte[efstvrphcisbhhidd]ttyxrawinfuljzlmex[svusjjvrlwotdjtntp]ktuinxmsqmvjyssgb +jbmwalfptuxueuo[cnelwglrzqeuealvza]ubmknrpvzcsunsgvnqn +stbrjqxlpieveczsmwn[nasoyaongceuaufb]yphwjvwohdgagudawg[xfiwlaqholvjvspj]qkfpolofktwaukpx[ysvgtumgrxqdecmsp]iybhdqktbiuaygis +ymjwhzdqeskrydn[xzsqflcdafngxpfxg]xbjfyymliiepyridm +xjpdxbovqwhsdzqhunn[hifelarpixzaoqpn]ogkypyxbizgihbdxa[skcrzpqzwliwfbwust]ddtgvyqwmiqogavqkx +ufjavpjhkjamdqpsks[eiccthdvtludzab]ntrimfbyuyjeobojru[myhsztbrmswkkajarx]qibihikdlkviyeud +yyuhpcaionvipkvxesh[dgthplayfzrwjqgyfoo]cmrkiyqmnnxcxyzpkk +najwnkltbuwfjsf[epclkndpoxkmxfw]linxunovxfjtbdl +rrabvkpmftsotuolj[dkomybhbuxpjalqbp]rxuzefebomkdtou[sqtzbtjegfytqdlnshk]vfpyeyywpzunnrdudpz[isvcnzpvgaspqjp]wyvkuipucrkiyvtt +ausozngufzsyfwkt[ioeoxwdejezrqqw]trthienajhhkfyljj[nbihwnilrraeautmtk]zfzfmsgfozfzdkka +yuscjnbghopxwkbprdr[fdmpnloemuofwybagwb]drdtgrlfzivmfdg +tyywcksbtfpqsmvprk[jmzijgzqfanxixhkpqn]vyeeocljotmtajy +cywkwsgszwyplsuxjz[bjirgxczioydfxue]jxujvlbfmhqywap[rzzhphizhdqkniybe]svbbifuaobsgadkpmpr +jrgklwirvfhnrgrzdb[pndhrihungozjgjtbo]gghklmlxciwkowfxx +cajvcguuohgzufqnax[qahjptzhezxldhbg]cmqymzqzrrlcyra[fuzidfbchkorzrsscu]cexmkiabykrocbor[sirrwdnkbsmvwirj]xvbfxqirzvaikkzkfc +ceszuutfqwqilaqf[dplkdwvffffjrcivv]kcxiugcrpebfkwdtuu +cpenydkkzgggduwjog[cuegubgqkgcwapxqvl]icexfpddudnhucrqdl +qpjovatsnvpmfrbuia[ceqdmtgxeiiesvel]retpkpcotvcitihw[tywmqumuieozvst]jcdflidxxwidpln[pubmurysywhqdtm]chhfxgxltiigyzmum +nurghcjvchikzfe[mjjbendmhnryqhwvu]mllqvpqkozbgllok +enoutuoioamcdpact[tlgeywftmhfyvjadwi]irahbhimnmhddgw[fioiaiipbwthgcubm]jozmstjhidfmdmpm[nvkxvgtrutnityccbq]wtsrrwmvpfqqpdw +bhtxrdysvnxyiraan[sgdenlezucusuuphz]huifnaubxwubwkyia +lyvncebnysmmcgxtf[mjhikfordgvapee]iguvxykganvfslirtl[zhzeansvwmhlltgbtk]triroomcyaetfes[cpvhbliusmtquzk]xeosgsibfyfsqql +wzrtudpbtxqxatjyqi[gfnssdszwfasrfspk]hljjcgmhruahdvdwm[wpgfmswbzsmwdzpr]yoylzfmajtsevvdgyq +whtdjacerzbrgctojz[ywixhxbosuhbiccp]hjyphlkyojyhzcng[iaiwxiifsmznacx]ohxhzuylgnaexdznto +xqofvjktenrfbyseod[swewqihzhcmlclmvd]dwrrdieopcrrdmidt[wcxwvoxyzunxpgombt]gbmhtyiwvqzgxqn[uxtrkxvcvscmkmbdkje]dtbamszmfigrswue +papebbrbqlcvqcvuh[eonasvitoqyzkarbrpe]grazffikbwbonswpvt +toupbawhvdgkkox[buzzqtqgxqjwibvqcr]uxaerdhnfwsulshdzv[dqalwftokmnahysvyk]gsufmlmytoepdeabbgr +qghwmjodvjrkhmndioh[hekdbckpdbbfuhy]pjhingdcsxrfmlpv +lvskrdycjiwurrkdc[chyhdvsatlxomiou]mrlvgnstctubtnhut[tcxmmhvmthvzakevtbr]bniiiohuutiiuyor +ipraybolhqnptyxm[aszxsrykkwhcxlnbwng]jpwehtqkgekrfpq +xgjvehsavfyyezetmp[xhszryibaoeixkn]sqdpwzinklzvfya +jkkafippjksskunza[nzdfqunmpbdigxgfn]qtofhensduhghfgred[erdtqivhpppgnkmldd]figxwdiqmlzocmngh +ggqpjjtbdxjreevw[tvtrjevtvnadqpmi]qkvxeqrpzgcitpgzbc +kejdxjepffublypnf[ffhxrfarhyxapywd]nqiqhaldjixergwrdd +gwgxatqnipfrpcwqzkp[wnptqhgucyxaiec]wpqrdtjhetyqzporn[fvxbezrmdoyhjfnkz]wwgnxuylldkzyqriws[gfrbbfwrlthshtgwu]ulhpeverfgvxrnar +qppifzyjerpmybo[yyhfpvxcdwaajey]twhmivydwcdjzdgya +kkjpigvqvyevdimaist[gsspgoznkhfhferbhrm]gvadbozokttgzqa[lnphkpqayedtlth]xdsiowcgxrwoclxzz[zkrmwivjdqhuhmgprs]oksbtepcjbuvzyye +raflggzzzfxndpdqq[vxwjbepbpdpawffiwq]rsgqxtasiqkunithg[xayowxswabfaskt]hjtmzosyrfwpcmt +ldftyftplnsmyipban[ftelljypgxxwcqfc]hzcttqfxyyfageyca +nlpjxlrpaoadfng[vaztgynnaebtimxguog]bwlkvtviasalczaomyb +hlipinzbxhxteneptn[fojvkzlxqdxwewmry]fkrxaviaecbpiputx +sfeevqvkvyowdewpg[kerjnbgdavlyuwek]hpuaxbzkmjtzagarcs[olzbvumkcbsbslfde]eulxopotptxhpkkgag +dmdzjyhremreaxcg[lwcmfvmvouyjntz]ypufmkamkqvufhqyvr[wpuxgjmocberfotx]tmzwliwzlpukjlb[rdxwwgsdfswuyxuoye]deoomrjvszgqfmujn +qzwsagxrvpivmvwjk[qlzugffewnuurkjtuy]ykziqhikxzjscex +lmpjhjooupddrrbb[rvjxewjqshtspnal]hkkuigecmzkpqcpzyfu +brekeslkeklkrxwfzt[nbjezmerjoevzzv]xvntscngkdsvmbi +nkvppavhsgmtriqo[mjznwsawvdzwdzbilt]rcxmujwefsdkjkzkin +hctdsbumnsgfukw[eudfuiujgoydarmtwzy]dwipvffyunwxojfq[fzzitllhlhfyrerdvhf]ltrblnjqlbmfahlheid[dvrhfuiurpapbtbw]ibkvmgnihsujszw +omklwhuevijpxkfzu[kssygjpngmkgoym]sbsiamdpkodggyidui +aytbmurpyzqjvkekolg[ojtvqpvqyunrgjpjdr]vaiacunlimdmpwdz +usnyonuhkirfgru[fqigikfpqricyrg]ismmtvjpmqvuivxgwi[gclpciqwyyrakitkcey]gsqhillltjfxfpax[deeobyxzsvvxfidnkp]wssvmssiuftkfxojg +isdbplupcyrnvotsuom[vkmmzkxxqfujpnympxx]ijazgoojdxfnrkpsmrq[lzemxolhpzpsrjhfbr]kgkpgxrieatirhfupku +cgyczhotbifigorvgm[eguveyhilluzjekpsn]nbembaskatocwcxqj[nxrsqmpinxsvegeohjp]ndhfheuejahetzugttj[bnaizutrqfxnhuyrnq]jvysijjbwxfquegcts +iliohrqfjtiucvmxr[kpnrmbboecmvipttsqn]qzqypqavzoimzcgkcps +eztywjkqdoayqhjubah[udwvwttonicziwxox]qzcprxudjqcwqwexi +hxysdowqxilrewvg[fivvfiaxqxnxbkhlh]mcflhlqjnaevjngqq +oviunswvaagjacmfn[afizbdsvfdfeuod]zyrnzptnzayzcbg[zagtqjvldojndoxbbf]xwikgluobkjxoxwzx +qbcvfasmnwkgabybnku[dfmxzztgqwzpotvh]rzyrngwtnyiltrny[brlxwnvkddqeehl]txehfqzochrnsrt +cacqtbjvninjmsdddge[qqsvwamkhcdnupgojw]gisxwqxsmayimox +okhqiviiactljgdytgn[cxlsfydsxkvivma]qjstvfjegvqozneaq +ypykeqxesmoythuiske[avlxdwjaoekzafwcov]abmwhdplpsaixqn[teztgxdypjtrira]cyzcxpoxssfmugaxwot +xsagqlcvojbdkjjllh[kmkgioxkhijvgdh]sjfjnelkpdgqyqx[vgjprpelniikoqz]zpsbqrxvafnfyhfjfqm +wirokwxfgnokvemd[nqhwtykobzpkefiuc]npsjpllejtfweqp[mrvmnqlwrqawsjgg]pamffkqcysgbzufs +yedcjnpujptckfc[iflsoafqbrvaezrm]ltdabciqydkchadlr[rdinfmzooleutmwromb]drfomzbinmceuvmgnls[boffsfmudjsmwonpjma]dwylsgwdhdhqzzawbdz +uaoalbgnnhnkjsyazax[cixnrxtjtsjoxax]siimklgkwaxazodbfi +psfpuxehymwpauujt[ocewdpimtnsmevow]gxahsukhoqdmaxf +znkppewcibpdvryry[kilwdkvjwhzfeyo]xtwzpktfrysauvai[htewywqhlvzgahox]ncaziecnovrgkajap[whbqqzmomlwvizsshl]tjlfnocgwnrelkq +mdfjxumhnzsdbcddb[wzyyuqtfmsqzpvziiah]lsmftspnkhnfhztmb[ftbhxyujeylaqzyhg]utqijxxnwdqyexpbhkb +exziwkrjswiocjju[smlayfmrwakxlurmr]uoamnpaeyljsivw[aspzzukmgavcwzdkqss]ggelnimvdrmvnrsgsmh +myasqjigrhazifjer[ppsjmcplzavoxjovzgo]gnhjfrqattcxulmysv[asoyoiuaaadpsnzbheq]vasmjnbaryudfeihvd[kmkpakamzslxifl]aohovwaujpfcicddi +lefpjqyclfrbazs[kwifidvyqkwylctj]ewthuzmtgpgefxgoal[tzylqzkkvgbzdqeu]fvmhnvoitguynji[phpalqvqixcjjsice]aqwexfjixkgtbksi +exnkolrslryjwywafgj[ybxzxjdxnwutejskgo]klshjpsrbbituiewdp[xlmesstzpjihvmy]dlplugzfsnvgdatmweq +gfdwvuuldwwjzzynse[gabkrxmrrmhogcdt]gsremgnmdcbahudzhuk[nardutekqcewawru]ctgfrrwzmhfbvkzhiyz[napqbgvfnrbsbwmdneq]ubckzflwqlpotvc +rcjmntavcacietbswz[hpaisjxybnvkckeal]vslmivhtptssuenj[atqzxkjjymznyffhwrn]pcrcqwbdakodyjv +ibzuqyvdjqjownwfpz[wwrpdcqcxqpayypmi]qlcgdmmwmbqpycoqrrr[omfgouzrsauelzbn]vkzeqewbpqlabcyawd[ywzoqcqyxqvdsmd]cgyggeemvlqevdioe +ocijrfawfnhjeye[anhtgffqdihtuen]ifytjqfgjzxoxksby[vvzruwemqyafnzapklx]ijhsciitepzanuoz +rogowzpplhyvutqzcmx[nillxckltjemndok]cbijpwfpdyeaeeewqza[ifmlsprfeaselof]zrurhqkjlnjipgmu[dzffedbdxignmxklnc]lyhxveecywhanjlbzs +ujtwdjgulgcjkbgdnrl[muoazrtjojmfkuscc]ikiludrqpsfidyx +qnsivrqwwnnqpbyj[dhgsppnbyyqlgdkeumc]craxiqobxiultlnhkkg +coshtmcahrnruwu[zuuglkunrnhhyuzyuug]gyzmcpoehlhowgtf +vaxvyuvbopghsjolyj[dudkhgvgvvwhjgogvte]tuwdwpxfgkbkuheway +rhnibfirksuoqei[uazgdtxnjwssyegj]rhrvmpjbjxnzyikf[jczltwokoiyawhggufb]zhssaygkpjmxuazna[estcdkqapclppwmhk]vtbnbtxbxuylshvig +nmcfsnphbespkst[mkaysybhetceogqvnvx]lpbycyscpjtmxhormy +nsctikgapmbmwtjf[venmeuyupdnzkjigfoc]bhxeznadhpmxegyldgt[qnrjjwaeqmrwniqfsu]czqlwtgpwqdqpmf +bcijecrixoevxnnra[fddhejkybznmglqeobv]vanuidgycndbsfbcz +qfrezlbdequzqddnlut[csjlpiumgkfkiqt]hffxecqaepfudjdfg +wznjqgsnbgtvfryzkad[yfdaiivxsoxqvigsec]ocglukuzcmnbkukts +oqbshbpndovxvil[hhtftvrxatovzydat]jsrxelddnvgpcrschk[xdxkuevzrslkbfhfz]ngbzwifhfhtaliewdb +bfcscegbnpfovkms[msjwsjhqgasjotfxdcu]cekslyzwywmpolgax[epuelmmzskgahodrp]gidrtrqeqffmwuqge[ltmdhvibthlpegr]blukkdymporyyywyq +chwimhaskmhvuxvhxm[rrpvmtefqtvexvkwbw]prvqtraaheiqpiyjk +aikwdkzaskyqhfyu[jubyryvlytkcubajp]fxtbdthlbnsvohqrfj[qkegbedbavktmemzq]zdyljcfmwezptpoiovk[uxkgnhxrwtrieqjqu]sxpkznjcoyhmaolgc +zeohigtzmxccixukza[gxvprlmyjwyohpdavhg]ufmlczytuohlckfpby +ehhxgzwrvoomcddv[biehrjuvdwdcmngt]hhpdvmhqwgwwdwoxsew +pgukjyjuswghvaap[zgvmbbqwabsfnufjn]evzmyrkkrkuqrojvug[lmkqsucerxnacysja]ncmlafqrgabddsfxa[oieouqvfirwsaddkw]xhisoprpqclmcptsv +qarugpxyovthcoxpeb[kddsnmtbfnivcmzj]kiblqmxtlqnzvpghby +ypfrwcdmbwfkqel[vmdyouzmxsmbmxu]ycdbytrbqvuribxia +uhlhagnsffpwbhnt[xlbfrkgyhitmhyyl]ojfbzmtkowgbutmvqi +kcmhwfdobgapduyumfh[pnainrkglktfhmsetbx]adqwafljtcvnwqp +gvvxqmyowifrdmkufk[erkdmjvlknjgwkny]ygeydohzsswyfhduhr[aukbooitqcwdvcchtfy]ujlcxlkxhkcjghpob +eemjirybhefcouf[bcsghpbcmluhnuin]kdheznxwiuojspbrrff[ewqjhnfisikiraapug]iddhsulfkgwjasbog +ezxdvicibvzbqvaduil[uxajqhxxmsvwyntuy]ghonenecszbidwj[buhgptoiaardosbw]ehncxaakhnensyw[knrowzaqwrrfmzqioyb]pydcvhchqdiyjidq +vanofuhslzzirhhgnik[sgznckztrvbpycvntxs]tqbdgkadintspud[wwkugamyhvgqblfjzds]rinoelnrtnhpkoriaq[rpuarxbzsrcucpj]spkeybdpvuzsisle +diuzdusfvgbkqpiysz[uofjmwizurljxxdmdv]chaqghwykhujtzvxxp[zullzbbtyrkebeg]zrnqldemvrhfvbuqz +mkmrylehlgzfjvibv[xxqngzzkmkmvzodvp]yniclddpqjmdynzt[fluykgquzqeupcuv]dksbaahnfatwkunpwcl[ycrenkxhxwwbstcz]opwchcbvgwkyaxfmfr +eybnlctpigttpiuk[ceffpmagaqjbwyuopb]kjvvrxnhlasjgmaej[czydviujakratzd]ldgrbauwncdoyvlj +njucbvqpczzoiwyge[yeoyjozdrzbqcyihqha]pxcyyxnfvoqpyhvklu +yyyodmpzdftvtvdojv[cxztauowoitkctwlf]bjgvdkbcvntwtvtu +stnazwnnhfbxwvxdsj[tbdryghvyulpnab]obzlbzidgrqfcdxoq[kizmnimewpjfyaw]fcurzaoxshommkhhrx +qznavdbplziljngn[elpldwxefqszcnaed]faqmjkoobjnntqxz[djezjulwxpgyknjq]pmxikvutsvegiepwnib[pxacqosgercrdkmb]wluqqgozcdcquoj +zfwfizprbszzhyqgk[apruptgtyvaiepyk]mlzbtalrgzybcym +kyrrobhxpdbrifvvof[smoisbrjbunqghvfedp]rcrtztkkmbrdcnlfaqb +iobtmriifnzdjgnyu[tuwcqcwshgkbirneyy]ngooicxbayhprmom +ajjjmemvvmodbjmmr[pqanuotnrmqdeznnd]lfqoslxflndtyffj +yqefgrlyaypypvyu[eyivtfbaqatdkih]gzhrcnzkqtmydnuyb[mkyhhjdaiityzqalfv]zunfaviwstsxadju[lmxntcfgrhksufvsn]xkvoijosfnpdnsxuuv +euruxflpmpgjzqipqi[dpbbowsqkwfoyxkvx]goerikzifxjxqkpj +drszqkhymbftezbc[jbyzbpdcquixokuskes]vsyruybvpgvrmcvw[auedminavcellfrnp]cphwkowohqnxyquqd +mnknbzekuyszdcrwbfn[lbauyltdkanngkozk]tfjfjvxumulocnvrcxc[flxfxdycvecoszbtwky]wyihshghpkbwniuzeug[kpeglhbhmevavovd]fjdpatymyaiqtfxdbl +ucttcaoxwagiwqb[wvgkrjpmmcjmodxmdf]dpbmrfxfuabxzlurm[aypwyzidgslebmx]fjmczavhvfxgnesy +owthsmjvyzkfzbaijo[vmngagazpcvaqpz]ozgonuqyloncqzykkci[tegsfubyqgkxdeic]ocudmameghfulvru[wmowzxuonsbmnmqucbe]tosekkqtkkxppiuwf +lkimulpfpxvyhekugq[lakcbxczgoicskhtpuf]bakpinvhpxnkbzyj[ipqjhlwyezevghhn]hbjbigvdgdlplonwpa +qcmjplkyizuoxltsj[miekmvzjdnyhvwsqv]bnoqoufctrdvlomjt[iswqqhpvsvtuethnwaw]iyjcnrrcqmobkqa[yatjbaizkqlnqecny]vrnvrektkgqzzkooy +gldmtkuoqbrmkwi[phhhkhfujbcxduyw]dyymudjikhkjrfps +lxkztkaibzcrwurftum[ggyefvxtldgdotktt]wccsmjsxsrtgvthse[xhzlshnihrzpmrnm]yfxtfwkikhycqhar[gcuahuednjifdcy]hdxmlanmkrngclqkz +fdwtjmjccgqmougcybo[hvuasfakxlufxdwd]gpyfhjflxetzkmovox[baarrmwjrkakmshfriy]nlzkbwcheamoyueqjil[mdytnlravsknwserjpq]ykcholuxhydoiysd +rrqomrftvlxovvzdbw[tgjfyievzcjsfrmvez]mvavklfwwhwzzoe[jzxhwhrypxfsnlfei]kavmscfruicsxfxwj +gldpdxqgawzatcytn[lerjsljxrwizzrbqwng]iosbfkfbpcpnsmju[hyylvxbcbsiyjuxqw]fnumocslicnukatl +idauhtucptwhqwvkgwx[cefgugxpdtojxotgujd]dmfsghxjxnogmasg[ofafvetennqjdghdm]oendxgdoetetpho +nkgjwrtllqmcygzm[mpdoadghwarbgauc]zmixebjraljmtoqii +odmvsvwvojpezkss[sjygbsxeughaykjoht]icjkfzmeozfjsdlmx[ijvploiqsnstdexe]mymhrtbykoqcnjpa +itutjzmaegvxxjbg[wttcccloraydfuzrjs]ekufmwwfjuyvublrzxv[nywtamelggkvmxbcpql]qzibttgtzmrqacaqnz[tclsgiysmddugygan]ylldzknnwyezqswgfxt +rliimepmbrjywflsgwy[qtmqqqwoyujveadkgm]fetpmxdsmfqrljs +gwvpqmpmkinkmaz[ecanpzbvnskrgfbw]jkapjxixqllwiuueq[uocxjyxqovostqdxgii]surfacomwkhlnjx[psqvvyopgzwwcsuzuk]nvlelzbkauaqxsw +xdecnupbhhtsvtlyiw[ufhhazhiwffapfkpk]bzdkxmwtdqrtmud +psisplxlbymkftgju[iikxlxhyehumlrya]asqjfflslilfmnahzdp +qqlournjnsygdmxijaw[iuurosjuylpoqtqtlg]vpdorfhabsgblrp[bwprywykhysyfhzjyxr]laldygrmqzhnpzvhe +bwtgkcutdyqtxwdp[sijlrqpkklemwtvo]xrzebxwrmpmjoynzu[urmeegihgbojqpiuzud]bnbmufidnpyflqyupj[asofqsqibeykebdizyk]wjubulgymlabgklnsqr +cyuznainhbtgtdl[pxfuncjqsorajwq]wtjlkhiuesfszwmw +kayuvfyaolxkyke[sriqgwqchsysarm]kukixnahjaliyhpi +tnfrigyyaczfwks[ciyfrmzwowxbjmz]wvwhhtffgnvvgzjt +pnquibczrqenwqbxwwr[dzgjtgiiyirqyas]jkkqvoifpqmhcmxao[duhoktzelryeutxhehe]idtuqmudebissfru +gjngoxuefznovfivw[ottzhzneocfgsctr]yxdzsobprycgtnc +qqnughggbyypudwvrm[artepcrvzkpybjhc]adafmxtlhwuytfdhlxi[tvwdadxtfisksayq]fuxzscpfbdsscaoae +ekpebsgtrvhcnnpwzm[etsyvgmrmnrzaaxdyu]sudrxuxdwuxawubb[dwuudbufntmxwozrja]gdcrozbqdzvianbs[peuceetvakffhpkje]lmwxkxitzddnshdc +pneibkwclqkihnna[kmmxhdcvthtqjzh]zcezgqrfbjgqasbw[dssnagvllttopkb]feubztyyvrxanoftwk +qjqjwmspgicytyrl[fpwnwjazbabnela]xbjqjjkuhppmiappfpo +huvqhawfczlmwapa[vmivhvpwvhhcezi]ccpqwmpxogyspclnism[glsdvxbsieagbhv]vfdauvsbzrittrzw +sjjukirgyrhruvukyu[zgazbjycjveqpwtr]wuuueddwqxrgfms +poapcybcsqaxjsjjksy[jhwryqrxdzcgiwyr]emwcasbmcazgmdjjyz[muuxgsnonsnxkjekxuf]yvydykiembcuvmyvmb +ksjudhnanobxswg[qnwkfuvkocxtfkf]qlucmyukgzpwynzw +yhvwrjxwamjapfvm[cqdfoqbygkohvlqdvsn]mabvbnuchbfzzabllb[tenyavqqhofpefesueb]glhcenelpnenmxqu +sdgzfectlcmymhacz[qvqjhvadnjnvnyfdfcp]ynekctavllbvnviv +nxfzlcereffzllqhyr[lwtasiislamadrkbv]kswdnqyfhrwhplch +agdssvykvtyfpsthoej[kqwiimuunvmnwhpce]xbqexbjsgyutobtpfrq[bswexfevzkeeopavm]tfwughwmrlxfcsuw +qstpdpqbyjqzplttwyc[khmvjpwsjyiqnscslb]udiwlqdpdvlhkbkzqnm +tlksvmykfkrwtpmokqt[mxfkkypqhaltnyer]qldqcnunirychrrucpg +miwsstmmoxuksdwq[bwhdsyboluvsmgduyq]xsjoioobslapvfayu[uhfpdqjmocoojoofpq]fnbcyffogblicap[qtdzhrkaztvgicjqdc]ptjulttdniokxrda +yifsnrubaoacqcix[bpxfekkvzjwysxdqc]xsqebluwwrmljymgyix[wzmfriqmaaiywjg]bfhvzjjvixybnvmir[kzvwdyuehusajpoacr]knvzrbjinvemiamed +xjegdmwajzunpqmunh[kqudgqrpwxewlyedqb]ewejccmsbrsorwa +zkxhnosbcgrwxlp[vwoltixoxzqmudun]esphmzyjbhlbkjf +yzsniisumkkjozx[xvscljwiqkupdyk]dflgfrmtswvfjfshlak[cbfocwnchlyszykgkfm]yshrbhvjrdwfmtjb +tnovtsydrpdznnwjwb[uestrhknhgbqfmfue]ewlcnogphncjxjwjc +piurduvwvigtuwnjnpj[mirushebmxoukqttq]nksxdnhcjfaymiuua[dkihhehyhjvenynticl]nmrfbzilhhvjfobbof[jqahcpebhcbqyvostx]mnyaeppulzktgjgki +joogybhklmxuerie[kqplkkvlshnvlpiweq]njhrznhbgdiynxm[scifgvenkafqtkanpz]qguwzzuvlabpfjkhcir[dhzqehjhjesvjdbtlk]tfnbxmiowvcvnzgnv +oueyetmuhknkaqpfd[djatzvdznbjlzdj]yeyuqjmywfckbtb +mxrvyzxkbtrisowk[jrjebcjtlaglvifsbh]hogyntpyjjpidqcafj +bjofhbhwvwithoalhgk[eoyvleuhprcumya]vccdgtaavlvxmwd[knpntqkvoedmfkbfnf]utpyrwdrgddjfigiu[udbcszpzvwbdllzufye]yzqaycyucnjkvxzhkwo +kprqrmlazdsnincc[zfavvlcfyxxxxuwg]ecasuefcaopcionsc +ipggokgibfhdlur[jzvzvhiuilujzwj]mztuxrjjwyolwtz[uxnlfzevotmdwqlgwdv]vyuiustdzuwvffkli +ukhgntawqxeabuywjjr[yseyyaskeyiezykczye]ogkwzliacsnqlmoomso[gsmzgqnekvzyihiadyo]qeamfbfocrthwwk +dktgynevuvrtvtnrjd[ivqsqxblypfjvgcpdge]dekuacrrssfnpxhhxxi +njpieyeqhqawkmu[huxzeucrfvhkjqjt]ndoeotblnbhykbb[xarezduaztsgcvxtfvw]lfwiipcshvtxsdov +jkobqbfncvcwzrlma[vbsorceinbyfqwkc]oyfvtflooebbmjqix +cuvtgtenkfjydoyd[azixqhlaxylkkjokz]dmccfqxfpqioisodi[mtqxfsgywdwdkbdolur]mkxeufypooionix[uoapqwhpaueazeyrp]hdjlwknufxfbvqmlh +uazrienzjneturyqqm[tuwzlljphszdkrixol]vmwyjxdkjgpkkhzmqki[reeenmhwziotforlub]qqasynbtrqnopckfftm[yzjpnchhbggruuoj]nwrkhxvxjubgfgkln +yzjwiutiwaazlzvv[ppdxzoeclbdxumyymk]rtlsqleuogzsvecrzsz +hqkpvtrgumkydtqug[qsrmcnswnastyydsp]abkvmjqlcpykmmbzifo[lrhkmkbglxhzexxjpec]hzyfgesppgeayiw[edkbjlhuaihswisbrdu]kkkeguxfpqzjjbqertv +yysnewvwgdllaaajcym[pahdvpydwuwbcgz]mweaayomnyodgzrc +mzcjlbwulxvrgjoerux[rcevchbbckhezowtsjk]uzkiqimslsmzutixsgv[oxxeovutxkxzedrkxkv]twxvntqcbdzqerjjb +yywkdjeusharpewllen[skdtttlakvgshlfv]pmfferigtouskjh +jofypjydlbdwjnfpzvw[rthdrwnmovxkeuurlag]ufhhaokjnqyjnsrwd[ezwmlrwehwmfgowkra]gspmokxnapooxeq +bkkiwgwqtfsclmsdm[xhiufsxwnvwowzwjev]rvuyaxsrclbfrrezca +nekyuiurfwfdlpa[svixzduuvlqccocaw]bzekwlsibdbsernehzw[bivmjbkrtzvxqbyoyl]cmiieccrolxaejj +malnsccucyvnegrds[udvxlkucuwvruqqbf]zkkbtdhpqjkqsfktomc[ckkzxhbqactpqkr]seghmsqjlxlsveln[sbpprwevtutwnhnqtb]vgpxacigxtbyafuc +vlnpiyamcjzwtszhr[ymzawyaoqvhxhrcizzx]ccckixndrqfhxwbgdl +fyosfwysmkbqlnbyo[oxhkohdbxnsreazz]qtpmzvawlwngusuunyu[xcbhtijggqoopmn]rlccvxsaurxetov +kihmdcofonqovjqqvy[sxfvhklzznvmiooubm]pcbnbkdjfofnjqs +sbddgdwvwkqfkazjb[yhoqwjgqcoeeqwhmjhu]sxbyihoytzobgbhzymg +ncwxdjjuhkilgsknm[udzepyobpehkvmb]vuspyesgtyhigshjthm +rixcaaxczltuowemq[hckgziqmmwmkidmt]cjbnhcakwqrbddmut[elflahhjqtsgsqrrai]vetnihvfdbjzfzyhwgh[whmiepsgxgmhaxzfzkf]alwdhcdsmiqdgeu +vqyfzldbpmeqjkkpjpy[hsjqwyjrnpoglquedmu]timquchwxvbsuztt +nawqfijrvszdeelqc[rqjmvvmmjjvnhpdgz]absrqbhnontlqygvf +ofypsparyhthcrubvxx[myuxistbkjphqivgfm]ykjhdbhepvujyyid[nahbpsybicpshlr]abrczksedftlzyk +bapfhsycjteqaathvj[xseahyrjcfulsrjodv]zhidebhlpcrwvrb[lbavspmbupcsufv]aqsadtqwoaeuntykjn +gcvmbexgscjfmsyuw[zwxtjhkbfcwalot]rxekdzuawdhviiacbw[awadxkqkgpbpiosd]ndvnxfkoxbwobgo +yuzthtrfqfrmuxmex[wgsxoviohthbmfmmcya]knpwkcsnuzyojptcj[ojtjolggqaoxdjq]usrzwichsqhvdcolygf +rxfxvkmbyqgepwyapf[obvfwqcezmsiugn]fjuumxzbbsjiopro +yyukzawmmcvtrfj[qqqedzndsbtmudxje]fyahpplmnnxwckurc[toeiwzsalczuqoi]nottkjmsjyymhpn +fkdrvebxdqxbyykfiks[loclnoouhsyxeek]csilrdbpiorznwgn[yysbjtydwbjhgahj]dtesgmjzketpmdkggv +mizkclhlwkyugriku[tgrjhlqtlsgbpotmb]cqbcwpqhccbzsmbgg +vuzcryyrvfmfeplnaxu[oypwregtvnxgjpmzj]fxfduerehbqvmcujnia +dwvzcmesjnvlnms[ozykfxllkmhiesuxbyk]lcdhnrtivhpduavkhwz +lfuggrczopfzvhoed[bcvzmngsrxvkkxtn]ohbelqqjdfdjayx[sclytzchezzsktv]jlzfdfbsiesjtrrb[jmworbmhvoapbaimigr]jlugbzrhypzdcnt +fcpzxrowxpmtxskz[fosbizhdxpcunoa]bztfcswqxjrqtbygwtx[sfzxlbleonzuikpfz]zdwavnnpzjtuoyvr[kntryilwuonbgspjz]mmwclckewqedblbwsa +ladvheoewilfuqkcqm[nutvzjddqiuoglnfj]vlvthzxilyzbmljedo[cvdqlukgotnupymp]dqvdpazcytlvludw +jibmiuiwrctqgnoqmix[nfcereyxaplqqmgvvaq]ofrkodvyyzguxpsit[qfrytqcqudgfwbe]dxzuaozimmptepci +qdoicjkzsuxqogev[bxbqedbbyippocdct]ipuwijqjjjortmhwwfw[kppodmeaclzkmmr]dhggvgbnexvxcfwvykc +sbfleecearrntnatue[elngnqxdequamqwt]cunpjhqujrlrwcoiabg[lauykptoflkyjijla]zobctmksdqowpyjyvos[nktwdlldxfktcdye]khkehilwqismokxontn +sreybwdbtorcjrzaw[nldchpnczosnvygv]pawxuwfkiusxbxtge[rrxnvvjlksmtrzgksr]ggfdykyzdbfbgeehduc +pjahhplaopiwesig[ckremgovtdoduhbe]vnplyuoviwzplkstrp[erdshnpuieigttvj]ezwgjdchoeieewijror[uwcireqqgozegxv]mocvqrfnncocvhgnj +xsbretekgpbugxmaut[yeezrlpckdkzdcbqj]ezqsoqbefurvztae +hxinlabvuaiazrvykw[exuvfaxrgxbynyjjmeb]ldvhkwdmrwsrgihrmp[ydbiwvoemetpbgwni]cdjmftxzbooaqyx[wbtapydfdqpjwclyk]pyyjpqajjggztufc +xkmsptennoxksrjswax[feenacaoxmlfretspui]xbtisqrhlcyxpop[imdcadfrrzsfqtw]nsndpcpklyfkgoeuv[nlayugkonmjcbnqlau]bzeyedukccyngnwse +dfzzlpejnepjafd[kpdehvukrhdkgfr]tyrubhmuhmybmerg[lfhebhjsvkjbvawpl]mbvgnoeuybjygwshjj[mlqrgwfocgssimd]mejmlzfkqivlnaapwzk +yzbvcwiifdwqqjugy[hklgtiqubfahguewmnp]nvgxfczlcnnfdlg +zocoseypamcowyvnwj[olfjojyvkeqfdygtlws]qbpuijldwoinxyoamb[wvsyesnrzianjngkrdo]kvidkdrkerykhyqsuh +yqrgjauszzvlmqctdb[sojtdctxbvpzedujx]zeyrufrzcnjlonceuim[evrpttooiboeqjhc]wotmlwtabqeuiudwrid[mnzwncqqagowvkk]tcwlfwchscbrjkl +pyqpjeikvfmegfyn[dxzppppekpwzxobwdq]rvxszohygpcpqtd +mbsfqyzoxzfwvmc[bbkfpgfeupglwwes]uuthycglsolbcyflgy[qlkmumktstwswre]vsltfgxskgzdjsj +apbfdhuddmhdhbnee[amhtolmsiipbfmg]mlwfceimfrivtgj[wvxwldjyemmckfq]qvnaljlopgkbhki[tybkwxfdmstwmrzl]lmdpzbwdgrqtxqzusd +kdsujhexxijbdtml[emmjtysnarxucjtdjjy]gmtiwkhwpwqtsnza[nbaqjfxcvvulifbox]bjdjrwcyrtfpyjocbs[pwydpbeqttkpzmo]lcnszibdqdyexmnmysb +iamwzhofrliyrlbj[dguqegnfsikmrupbyhn]dxsrylmtekjuxkskmxx[vwfrgupiotkuvxm]czfrchnlibaoenbwxpu[tvnavnpcbtlhwvbucqh]sqrhjdwrpnbeyqcsyar +ahwsaxlpdjypdxk[ifyguutfzgfdjjogxzf]ixlulqlkwnhhtwqw +tmiyklsufpuelrxlbk[bntpovhrfrwkzuf]dprsveuxzlytrsjd +rsecnfkcgcjurztdb[yryykimlpkbebmpyral]sjliaidnssdkrltpscj +wfoaxfpewhvmkwezk[xtuowcvuhakjtns]zhygwdeznfsgeldmu[qpvogjhlhfprhlcjkvz]asgmzrchqllwjhrcprz +oxaplkpoicskweqmmak[ghmjbibylaufqftb]ndwlcnbekjpbwzmylb[sqfzcxcntgmrwpylbb]boiwvqcrudsxchlzh +jgqgwvmnteuaywocacr[dqunjrbrlbktjwbxt]osrdrbnxcezgiyfabyb +ohkhdsldrxjbypqulz[mxyphdsshtccflplo]tgurplpndgebaxxb[japdwmzjgysgaiqh]yzqgxiilugfeqbknhrk +hjdttfgnxjahcuji[ecxfvdpgnxfxxiym]qoyqcbmmvnduazg +zgzywnsxtohygvfvk[mfqbrreclomfbfhanhs]ypdabnzxfdwyelsrutw[vxhffmzeasgdtsdi]altppwlwsswqpeyowfc[yorqgspqlwlnowoljjr]warckdkwlmchops +xwarkdhykkobtie[awfjjsabbcvcacvf]pvfhtkcveuddpsxi[yxaldwelrzlrlhaca]uwfvshaymeownzdmjr +vyeafjmoxmqycxfk[iyalonumzvcblznkq]noqtvzkcxzgqloivlof[vtpgnfaemftmeuy]skuwdzkvvaduylx +dfswzynicxvaoaw[drflexddowiafchckx]xtpdzsdjvyeyepero[yfkfcvivzewivix]qxgjgurrdxqilazkcr +cinjxiiupnoeczaxw[hdbqufrmftxkvbc]bpuccqnkhfykfdvqzmk +yoqjxoxbnmedlzg[cfqsftnjfmxrecpqqvu]thnoybkpyqesfenfdr +lhhsemvrpnxvpuaubrt[hpatsrvokoawjgjgk]ontiyxduxllaatqilrm[xqbooavcmzhpomkln]vdjlfyshsijshxajhe +rnskdjvaifmyptpuj[swsujemdcscbimlhpl]mkiwtodiwjdxzyrqzzt[djeynkubnxhyxabt]yezcutcfvmpexqjdngq +rmcwctabvygynch[dnmsvbqxfkyosvnnjz]duutkavflyrawdm +ayozjljalecznohl[sjxanfmsjljluiadtg]ggzlsonfgtipmxwlgzz[tptximrxwfhtleo]aaumwknddrujvgpvha +icvyvrtdcfvgbmy[hfwfmxzixeukywahp]tqykhqetlicydfx[mxmdlcehdtcpfwri]lrmhtsrtzdejnqw +hnqtrthikbqzhfape[lwzougccscpjejyu]skwaahetaqururphoo[kgaazmqdcvfesiicl]udsrrgnaquqmwevtqy[rxrlpamsteoudwiybk]dsnqomoghajkwuuplh +mqpgnsoeoreishsaaob[lyamhwoviggriujfo]rnxwrccdbpwuyeoe +qcnhiwvtajonuknh[aqdlowucnjpjwsjihb]oeuixegjefzbsxeb +uasnqxmlauizgmkpia[zqysqipbakulxkarm]mitnesurqufphihdqlf +kldfxwunyukhxiooh[przhjarmsgerjzcvwvt]wnbnjjvvdwmgixhunn[zudqzitlmwsvpqyy]kaieoutgrxskgrvhpq[mwzkzrixslnwpazxn]opltcrpusaemjtb +yrcrldxntwjoljq[haauvnjjxngcjes]xbcdbshuohzbsywbv +qozfnmihtjneamsfe[jfdqslwmptboaviodf]rsyqziretgwmxrog +vcombfpnxyrueoypj[rqxizqzvbrujvpzeyj]eqfotzsfjinvbzkqa[ckmyirbentdhlssjtm]bpbxrsmzuckytxhjm +gmswxzkpatbyrgtjio[fbbzlurljixkahy]gwflwjlcxueimxpbp[kqxjrocaeesnssuo]fqhehbvqfcbfubs[gkvuhwvcqwcrrkhezil]grcobkpgkliudgf +rerqcgcrmrjwopisvo[mjobdgcgjfhfrsbdl]czttuvsquzctaut[ejvbyppuwvizuok]jkkikqlxrtkafdidoui[atahuvokvwohmdpidc]viczkremzclprixagdz +gkclhykdqqandninhf[xycfgxegcsblneo]gnnsutrhiawojag[uvfrsffwgvguicsatsm]scphtqgsinhlocaz +afrhjvzdmgkuqxedrz[iqfxsgfubezyvvbhfko]usnqkhsaqzbxlwrhkp +zypbuclfeitifggvt[lwrsglntbtjayim]ouhetxrqvninyrb[tpinziedrwwfynll]ykfrpgtzayptqyxgsf +kftupspkougaaglay[vvwrbrdwspsiapielt]xgwsbslmoxgdsps +wdbmjjwcwqiwkskk[srkpbvvdvtwnrzozzlw]alhsksxvzwquswjv +ehcifavtrktfdqpaj[azowgmwpmtfllcox]ybphxyxgppbbbbwg +cuuvhabybpkahbsr[lqytgxkmjsdpzmwc]anaoznvslsjskrotxq[iaftlcdnlyassngmpo]jeleyswohvgttvqxt[asogccicasybdjbbnnb]xjgpqiciqywfhltdoiu +tvuzkpssovjjesovvmj[mjjzngmnfpqybsiew]woymfanfzchdirlsjny[evqflllhkgdjgbcmtq]vwdydggmtquosvvj[ljacempfdiiyvto]nivxpcmrfkiifkqrqfz +yigtzsngnqsknvhgzoh[hvqojvouoafudxenzlg]mfhgmrxwuiatpjl[qhnogummkmttjzq]yyimzaykeyzwwevf +bsnevxaurtvhgfayfsm[wwrpmlvtregqogk]ljztpmkajmqvxpjeywt +zfbglwoyycnunvqvjfk[dosrurfytwuqimjyo]ooyzdygjdfuruagw +zkypumeyryqvvdybnsi[ljkrbshrjuuistx]tsjhpxnwftwbiodghg[vffboahhprgzrypompe]jvjhodglmqrzofv[gckqpsxwsvobhkas]wdwpfhbvamigwwioh +asuqauczvwtseyjwjr[pdvmezvpgsromnzjr]tzzrnzxhwtbbsnqns[dnzehddcgphdmdo]hlqgabarrkohcqlowf[arbyvlfoaqdumsmlm]gxfjzurniztnqrl +jemnecgmqclfkhtqkzl[agibayjtgxgqbhj]cieecviyjydxhpqtmi +ycrfcpnlhxpuudih[dkhcmlueodsrhkdvf]blmlbpcdyjkgofpppab +hshsemucjtfbvjkuvff[ckfsnxldxyvouquhzf]qpaprbmqbypixwcdwtl[umbvinenqmkaahf]tmlqiicxnjylzvlh[fmfhshmpbglzkgpzqzq]mqkojaqrygnuzpoo +naduisfvhztcgbvnc[hopvocihntnmifabug]mylvwxpcjrdydpusb +zqiumzbuvtjmnml[wmcjcyuroilxqjwyc]xarapavsytpapahoy[oijdrmdcqqxvbxjugv]ijulmxsewcozweccqij +udjtlppvsnntinbij[gpemwsmeliaygqu]kwocmvwxwsurkshx[bxboasxdghblxfdd]vmhapvqdowfhnspdcd[fxblqgimrwjyzcec]okxtjdxbxkodfdelj +arjvofncxvnekbv[pvnkzxzmqffjndppk]qdfubuspifvklhdfnz[xuywbpsabazjcmgrqc]hmnxybokgjsymrfr[pcjulfmeltnqwdgxan]dhziboqlfozqgmpi +yeoqnmrqvagaqlfpmtr[ydthetcsxucabigo]dvflmflmasjaieblb[bpcpcahnmzpebjm]wxopckmnssyoestfwed +jmfhtybmqblqwzth[fbrcljbrybsactbjy]kwyhzsedbupaejdyxz[xkelfewvjfwiube]flaksepvrbnxhkl +gbrzbhnmcdraiwgtc[vofkibmhgmpjrbx]jajzhbsnpfpfncu +fdabyejddraehkzdru[bvuqnwxbbzlhnsxjj]foxgtnymvvgxdqcuax +pbronrubafqsbyuywl[pweahmekvuigydysme]vxnvvfcsoocwueg[lpfyjtausqifjkjf]ejpavauflllsgkwqtw[aglfvraefqcvmafc]bdnmbdfqsmrkqxis +hplgpsqindvcrkskof[emvbhbytivakzssta]dimlygtyibjkourq[aflpfhenbsnynbsxxqr]tkrydpxwpwswuniired[jvxntttkrtmmhfybq]ukrslqgaiwnvpwpv +lxgdetdknqcnhkgg[hjysltnxwbbrukur]mnhnulausnbauqkil[gxfjeaxublxpyodn]gzydibxeqdqabmya +hqootrvluszntiicxi[kztowjorfhpmorrfx]tuhzjnouwuacvfnunk[btpggtpjuyunpjstxjk]aenkdnqeiplvkrsgl +cddxrjehxhnupqhn[ceiljnpitbsrzvbj]rhhbvjfqenossrldcd[ssktaubkvbhmeaeop]diwvpexoqgnhrhdydb[vwntiberclymcue]hbcmpdypyfaaqvf +qkpjuokmdfckgwsxqb[nwthtjgufacubrnvd]ancfmxoggcstfbwha +jdsgtfxtbguxmgxlda[pmouopueuaeswxf]rbtjbiuahvtwkun +eavsfanypgsidjmvq[meamrzrkvuwvzfhvel]jdjomlftbhydrwy[hrpomrmkzcjmuiw]zjzdemznuqdjdcl +lyvndqjxtfqtmeroizm[xytlbvuqwjwafugbrhe]xxjaeqwajsppxohsz[rhgsvizplmcxbrxkxyw]dieefsdcyfvmrxldphl[ocoutccheggjuumrhdp]fkbuecxyzmzatduxg +ptmubumuunnxgyrfnb[dtkltkhexjhhmxqd]uidxcxhkkfzrqusjx[ygkeolrswndtvro]xumumfonyaaaimpmd[mlxvdjlmkqrokumobg]moqcqrytosfrhyafvi +vfhdeeaiwroouiwonm[livqfqfabrypituiz]lqvclevelcthtodgoa[bkeheqodlfpigwit]tsjyikidozuajsn[tejeozfhqymgtrlcseq]prbuabbwtyelcvbpqi +hsbkshuzsjweyvmrzun[nsqeqgcoumwhqeqvh]hatxtgouojraidbf[pgyctnhdxqciilg]nseeunyuuktlaoavzqf +nvjgsgvksbdtpqblam[onxrpcylneoituvj]rwupjyxptszavilwhsm[nopkvlldxamzifcsgs]lhwgdtwvqxwdrfl +iocscbzqelosidh[ajvmdchpjbmoyxippfm]vkvwlrzjuhkvymjpue[qjojdlbwkpnfrpfilla]arxphpavgccitscsn +bpzdizummbgyuti[umfowvuxplfxrokfj]ejcwgisxplgwnqhqfd[gllpovtgdqiaezjynu]ceexrhbagidoheofgqw[edhehtdulocwrmczd]miobdnzygqcnejuzm +agyubejetpoikadpfqg[qfobemnpktwzonhclo]grtzicybqioxvule[ontwoqmvziykoqjrq]zkfhnflcphajkunf +ogorlcsfbtqizpw[vwvzibjnyuggogek]rxjxyanvtlxzflndmu +rzghnhsfxurykwlv[duszqhigfaakyazpni]zanlsdniaswmafw[ipwqeinwqwwbzupno]accxkgoviscfkyo[cqlumtsfqedyqrhaxq]owtjrkbrehxickxghr +uxmwswalhobtwoaqqw[gpnsruhdvivrqwjjb]fvmbksyroevsbvndibu[tqltopwpoocxaawy]rbdulgyfizzivfakx[ylcxzochiicnvpahh]cuuhvbqtjnmqqlvqeg +sdsahunensbnagqkbnu[fpuekuqhxememefivm]xceqlgenetbttxzyve +maxkujsvzdxzyrs[kmkqpklwuuopqluxx]qjulksjczqsaniaapl[bfmdxkrpnyzbfwl]kmkzhwvxhcgiqtfes[olbrirzsowohjeb]lseumjgtliuwfkcwjuh +zrtvqmrbujfvzmx[pxcfesknviyyqlnhmd]gsvkihmkkssprcj[ztvlcrqmeijbusq]qebxpqnsvpkvvckaxph[jidjqotdcycwkfshyd]jfhmeubakosnqasglwn +glbkrdwyetczenpj[tlyejrblwoedbglgqti]sttadyzcqrvzcjcbs +dkovihrftwtckpsoqvk[sqwhhuqmhwjskrglh]ovtmxljqqjpftlnzzx[vywmjuoxyzvtespdg]loancsgqdwqyscuiycv +epqcptpqldqdvrxugmy[xavayqzsjmggassaj]wxurohqlebmmsqvyroo[gtcxrcqhiokbbpc]ezdabfqzsiszeyybb[xomgaqhvwwsivuqgglh]voalszhkfcblfxz +prhcbapdgoadbeexg[pyalqqxycuaoqdec]myvqzvpjblnzkusq +pdirmldathrrbnuddtt[zeecppidckmzblnzkyz]vbxxtkpkeicgbpkppt +iawzqvoinzwdwuhkvc[igswqyadfeyaptlwn]zdntdmakhaovgod +fnqcoengreadroulf[vtwoeqrphatxrvkvdk]knsybiwetpodzdqgzcs +rnvahjhgytckhhmdqky[lpnjbigewhgcrndffpn]gjkrcuxwubdorsppohb +jhnjguejbcnwpelycr[ikgpztaamxklnvyv]fmpkicxvfnnvclhe[kcpyonsjnysjopavu]wnltovxteksqkjfucjg[rbaxvfwgqegpwvxswl]drkfiaylpowhtcpenzm +cdwswlcqgxgzomqxz[rcuuzcswsvfgtmwk]gspumplvnxwzrltl +dlhpgdjxfwhciazy[qneycuzwxsyzqshgo]fabiheithimgvuutd[bpzghtedpteblrh]hbypyuwksljhzpfuu +opibgqivevgsyzoqlej[ymlegiphmkauexrjru]xjuuozqfolvenpiusxt[wiilmmtqdsdeduxw]jsvcngkbijoshomoc +ekfbxvluaktqgeijl[ocyltqtqolnmjyuwhv]sliymsbieawrxdlsfyr +pdngbgzmnnsrrjcacz[wixwkcvvzsigjyp]dhctuoxohirfiugll +edrtdpedzmgkqrav[smjokhaiddlruphn]qqxtbwfinzbqpejqf +tcxihpnktpqhdeiams[upgfvdpqwzezpce]rvcjixfhpuzjflapxy[rfpiccabormzevmc]miwirxvrpmitkplde +zalbbkaxlrybohj[boionrfelyhqzopglt]dxsufmidooakxqjjevh[rsqtktxcmnpulprbai]txlvqhklscqvsiyfo[ydlawkjqjzrhrfifm]xjctoioijmpxvieea +vipdeevvefietvdml[qiljurneucsqlyejwd]davnlwzdaybffwcmrcz[rngodwrexhdxwqgjiki]ocjjlelvdrpxweapau +dwrmfccsuoteafyr[aqvxmpmegdmjnzholie]pzepyhrezachltyvpmp +vfnjcjzdjfddtucj[drohdnwjjpbphjnpf]ftvkwusaityuvfbpbid +ebomxmxtsoxzfcnc[mrjrkrqdgqqqawml]vsynwjmfsljtggll[bcywwwuoygaluqibclp]abdmzdqtzsfvstend +kjpuoyejrawxuqzl[plvhmxtfkwkclkyl]sxsmgblfihyjzkutmec +mlncavlwrsndztitxeb[vzyzwwkknjesrpuul]tkpevhkhkqbgkhk[rseapawakskqmraada]yyngjugozryyyufw +bvruvvweoolynqxti[brolmcltjkgvznd]caraudepbgnlajim[iqwjfdegwujvthyhag]ylnddyocckhmqqs +yaoyfqfcbiemmfpkuk[yxuebupbfwbryelosz]zimrtasaiwswjtkqjgg[mrbejhtqyhdhztyl]auielhhkelkhauvmmff +hhtyuwztzhidmrn[cbmtytajekesqrms]tbrxoubwzrlservq[pzemnlshgetwstsobx]ujjldbnbdtdqawxxn[wsbsxdafuiyerbqwv]isscxkeljnwtmmeozgs +qmhirwurmhxmddlslqx[nrytkwrpysfciwz]vrlgpirnllzqjsryvds[zkzdjafrqdcuamawxcm]aesoitvmqoipiqljb +ayfdsbgixgwunwudii[nbjryuhypduztwtme]qvqdjaxhklnommvwm[kmurtrgtasrrxwap]cphgavlmxpuxmki[jxhybiakhuzdtiblt]peejojyxptyoxfw +npjifwlxjrpaauaur[slnjwuaubrtmunin]fgrvujsyqmsrvvatvj[vktxfyuktoarzvprlu]clmnvrryquzuwvzcxvw +bpjdzpqrmfpddpjpgx[crihpohiqjwsnalmzzl]jmtzbgtnnyisgst[cbivzxieujkyafv]ccuiewjddcmihjzib +tpgqdeddlmjvywnyv[hxytuwhkqotaoerk]kigirblvjlqobibtfqp[aapidzhpissrdvad]ptsfqadgzuooxjg[xmerxhjfounbkpaqiy]dbhiowzcxnwsrchjfqj +wszvslkywmqaiaj[iegzhxfxrlvulnayyr]xiosmugvcxmjyxnk +cpkvtblubazidrlz[sralifqozehxjkfwgv]kidnokqsrfrecsmkx[okxkhtfrfadokmch]mwxohjdzcbarffscd +phnmptjhtxyowwsc[vrydnmadvjkkzbtxej]ruedtwhjqtvyyqtv[mlkbcjboqafmlpn]zjdtdzsoqrfnbtyjdwe +tmspdmzwqyvyfsxdo[egzfsamqkywffywt]pyeaagexcowtsfmkou +wrsgwdygbychdkwurfb[yqaqfncrrnfnfwdrdb]wafnqaydtfkieaqcqsj[xxfqcstlgvfvrvpx]zeggfvimujyfnftec +fxhdruviojyidmpkxsm[dlbaklivbcycxgcz]zeaqtsnkqhvsbfsquey[yespxpiododicfl]lsjpyjbyqhhvvmaam +ohujtfqgaizdams[kqczofneshstkjsj]htpifwhtyiysusebbyv[hshlipnpqcmebiwqig]zhalgxztpvziabhk[fvmkqoolmmvejju]koyarrelonzlsxsxqb +rjeremdqanofigky[xwrerecxrafzknv]msegmlctiglmzhm +wzrqrftlbtgxdvoqm[oeylxjaajkcxlahxgb]feccwonntxeaqfey +mwisggbdmehfxsr[ggrthtlashcmmqcz]ffrbtfqljdupiykl[tkvkitxkbpmhesb]npxolidarjhvmevar +wktpvcvmgenvhphd[tqabdkgdoraemobns]eoelvneamiwmlege +txzkcqdmomjllkjeo[uypsyuateeywnxlkw]bsqmpdvfnrbccyt[wfrywqnthtlvxvd]bjwxlscdgjveael +qhecxlzrnggjcrpgh[actubihjwhpaogfid]wlwomdainewbzzgb +gwpaoficfntpnwp[dopmvnqmjvfgepvcp]xwndoyvrhpzoxplbxli +ipseozpnjsoglbbyco[rrnbicinjdeoaucb]idsrefkhujkzhhw[fiqqelfnipudhefiqt]ihbdrbbbsuohzbkli[xtntngwruloobvec]zqbdwntneqhriyzik +mjdgihtksktdvptbr[eyxxxlvzplionbxiig]jmynsycsdqmgmjol +cpzdbhjlymukncek[ktwhpzqaiflnhpsdqug]ahinmyerdwasqgcukrk[exenoptvvuscdjx]ulmlustxwxkanlj[oopgyyidukwkgitbl]jxycjwapchqeinrcrsi +ombigutozejjgvtc[tcmyjixyuseilatuc]citwznucvojehmcelu[oifbayqniorkshmd]jufmdsuejnjmioia[hedfrhwehgeeyvhjgg]wzsyefbfvkyecbv +gqpjfhlhitdmrnkha[mmsnkathtpqmozo]lflqxjezbfjcbhwis[wbpcaefzglezlhlsoqr]lzivikhbnebxejn +angtvlxbjvktrfyb[yfbemeevzxxussud]tsrgzeftntnqmuhpnm[mnbyahgcmhytrmmraez]amhdirmpcmbrpdxc +harqlllbmhtpaxzjjh[xkzeplqgjdzrjyazoyy]lfmmisbzfkmseoeuol +yrckbqnwxtgmnxer[pczzgiirwcclldnxc]otioezhuqoiyklmg[coquiyvqkilcpgyvma]bpszghhrojkrqzepzv[vickiaeqqgcghdlq]pqskdwwitzrxlkxdmo +ppeznsgdzyjevdloldb[ygdbpckiuweeikylcag]fmwydrfplxwfusrlhu[rbpimkivfilyebqftt]bgnmmpjgtttlvtkfdm +vxxsscjtvldvkjk[nvmkynfzdycsligb]qbbxlulesmgeofbucfz +cbpfxyuvbnvprjm[pdxgpgexuewiwpy]geetyszhipiwquhkrbs[ovrdpmqndfgvglsaay]tmpangiyesywazcq +mlelxblspmvvfgvo[ptelehzvjrwrlxrzgn]jpatczdrgnstgfoksno +kochkjczpkiaoqe[czoooaoreqawbszygh]phuymeqpkknmgikbk[hfhjkyazvsvwrroqefj]dwpgqayhluqmoqvc[rglpkmnnjshoofo]jkgknnarsdsnmrxei +nqetlmdzhceirxymsum[mrxutuijrfvxwojdpx]rbrkmmhmcjhmham[ureyvovfjlzurim]fcilszxoonmpskr +qinpomdiktmjnukq[fakkodqaljriloef]zrqetpitdrgkqiow[ysiwdzdzbvzdzckzeom]otcixtsrvbrjalxfow +piztejvydqqvjkkg[ftmdtjtrlqmjulti]wplqibaifeirtfrjtj +sncqvatultgqgzhkvt[ujnwmdzuvbkufwy]rptturztojoksumxthn +lkccghjhovzlnymdi[ipqhegqedeziwksvuwo]avmmxxcdlkbnkiiu[fiykexcdtqgcfhgnc]sggznkzogdekxzqwik +zroolkazgrlhhweycpb[uvxxzvdqjgcxojb]ovvpeupqtbgmrmzii +npeueigepsrcqmi[gbkyzbbapmhwsbwhot]mcattssrcvjbqgikv[alidltdhsowtdunxemu]wceeuikegpguotzfo +msqqyxhmqdgzwnorgek[ctwnzrjovunylux]gjmgfxulnkzpomd[qpqxriciiahmptjdc]pmwmlsxnhstpdrgqxl +jryvcqihcrihdrq[falnalaurvnhxtrx]lbprlsrxleillnekjej[scbagkyqsvugshmnhpq]dhfipwazuqfilswftbp[bznzqsaoxshgnzf]zeqfsfdcadskuef +meoabvyljotovlob[seotvcvzmsazpmh]dvsvzccoeiagweisgjo[tldriajgsyunnarj]mnxajjatoputsqc +hsomexarrvegjsncnvp[owostppfysciurtaeox]ydkrqxnugvxlnbt[remolnpzrcvnjgl]dtzxistsfmnzjzz[dmxsbqmuifcrzeb]wwbolbbkpgomuato +tpragfzedrmmgpk[kjwaeidwcbtdlzzct]arpoighpefncvsguf +jnahdkxrugopswmjh[afmnmlzcrrxsqsy]ozsznmnsgixpsmyj +sgwrdshabiewpru[xhusqmyorvnvljtv]bvdiwtpfrquzmrb[lenayfoqgnoniyfg]tlqnncalrfmyafhx[mrgyvlxwstunpho]duxtxhttiljllpv +lctkyqkxmcmxfnwlnqr[adtbbyggosjpkwoqe]ranahjbyuqdtqioa[oeqlsluxrigrockbscu]dqkskmoojroxnbfpkhv[ibgmsjsvgnpzsre]zlsvxibbihjnwav +fbjfzcynqyfrdztnm[sawykpgttjfdvnpxqtt]nodtnsersbzloknawh +dqjbacykheljseoo[bjqwrfdzcmbslnsm]jrmsqeqirrytdvxgu[lkokmohbctwluet]ynybsmparppztsp[kbaumtgmqkialkhngm]nsziueobnnpxlnmulsn +tisslyzilbftduf[jmxgtrkbbwkjtiakqyb]pukppabuexkawlvfirb[qqwizkxfjyeqraa]lifnxgbkvmqzwech[pglloqzffmdfvnprdm]zinwpoxvdvqxbqtlrl +cnizrlnfkjijckzsb[oerjeptibzhlgzlzfdg]qstduvphfxopnqf[upeyzflcximnuzqxsa]jgixliapewdlcbpnyrv[ctwlfphvobmlryu]mlbwsfngnsxzgcpykay +dqkqeloraoesunffr[eljjorolyhkilnhre]tfruvtvcplibposws[rqhdcdrflilzsovztd]zafswainttdvnsv +caqmswfuqhzwahm[utthohwzvdvkygvtmwc]saiyxdvdhwuuogk[yotohbjjiidvlek]msuutazafunsezfhkdc +nszwxyckxjqagxacmie[idgxepheaisbqiklj]yjchnnvclhxolabwe[tulgbjctxgwmlzsevhl]gtmjqybyeirtawns +skqmdkxrciimqws[ltvmwavsmqtazsyqixt]mkujyetzgrzsvws[fbwnlvuifvejpid]honhapupqpwgkqpqgrs +gnrkkwutbgipulv[ugzycmyksldeekz]ondonrrjdpmpvjcco[rjtfixwthzunvcmo]tmzlbouumatodkkoy[axbrhllilekchiywh]uxmlqmdqeiojniemlmy +tmfslcwjcikhmfzaf[qurjbuzwsjanwpzzg]gebhiiqfqbvomtrornr[jkxyfqgsofhiayrqjvf]xghtsosutproxygacjs[hhlckhpbavxrwtvcs]vmssidstykmlrpa +ozbatmkhspekwmhwe[ujhbqbtjvoylcvqlkx]gtgpinwpkupccawkms[wciswpefjdblmhtcma]tzoidlomkytdcaa +giydlwbtsyzcjdf[ipbkiwbswmskypr]crzphguxrqikinlbsv[eewhieifnykcfqh]tgjrfjrxoawwzyoutyv[zusdmueeqvmvxtqaeo]bfmftxmkvmvhihi +xhsnlhdcbtkwzxams[kicrgafosavafalanl]kiudywnmotnvbwjenxd[lnyrpscfwepospzh]jlzlqpnhnftpcasja[cxtihfafktvivwxlz]yqvcoygrdnneqvtqhko +vdgjuhacuxxtuol[siwbfcjzgljjoqkgrnn]yneulzjpzstxxhqm[todbuyluudlqzlam]wttrgyrffrjxuxfuvaw +zekmqyjzbfvpmaajf[ktqqavrjjelfbdn]eomdnmztvnvqzjwgk[msaoapezsngswsdpkdo]rmmiegsyxumfbldlxl +cpzhrhtzvfjryylk[dlcafaghydzwzvfmrsu]wzwgddkyhuzcbcxwm +tpdwllnzetkwdiertzf[uytffmmoqfyvxlil]mwddrfgclflwomxn[mxvgbkviluttxvoq]mbhvazwiqqhuazjv[jczedypigyvwfogmozj]fbecrykzncxdsavvxx +rxycqatzqnnedowjw[kyebijgyhkxsmmzwjso]ycjsprmeuloxojsys +yrahguxgdpojlbsunc[nibsoqwmdngiuoqm]qrmbzovtxhaagxede[gbkwgtlztieebwads]vpgkswbivflslzw[liexskaqfxnuultilot]ditnrqdcufardao +amhvhxuzczeqyvug[cmjslisbthoevajv]jmboodyrbrujqurxyml[alvlaaljcwcndbczctb]nnvgsnyqswdfukkcvfm +djditbjgwvgzwqrzxl[wwhufjehdhvfbtid]vbfgjvcexdhddoetp +xwpkabxsvvjdzzcoqy[vlwmdoystpdphlqi]rgvmbeezawwhxuydf[bpxpjojokfhfenhzf]hfhwcotubfqeifggh[efgchhmarqrauuyxzz]niarsvxffnqnznvh +vgsnvuqnqguoawmyjv[lqtnyjvdcgetigvue]gknvphezmkygcdfwz +jiqekktahqusjrjfg[kkwmoesdligyzpsrw]drvmqrjrihtrpxsp +cfxqouqoyrtrmsgwul[krcqwokuewhtrtrk]wglfcaaoutbphzeoufr +krcjuyvrixmjatngm[ilcxcpmddvhmuok]ixddhmfcwcptrqyrbe[eyqslxsljjdkcunnxn]huaoukjoedlwwxntqsd +propwkozipucatnxp[ubbwoktuonjshvh]fdyclhistxbruhfmjb +zramtgcbvsnrvizljhm[iaakkvfefydrsaa]huvvtzuactjvvnxzrv[nutfpjdxqnspucfhe]pncrymkwmkxxuaigwm[vilnaguyrgpkdlsvhlx]djaqeojynsmzqtr +zlbcznpljdajcky[txxrusosejoagtimamm]vesvtclpfstuzbb +vgvqmlevdhvoyts[gbsuzgvgfysifdg]kfpbilwaylcrwsrw +xhwzfeqshthryotht[qqdjzzytbbtminpirtz]nmqmigjrllelsvrqt +olqwgrsnjunojgxvvg[jftcwkkxoywvsycj]fzuuwaxyjpwkflsuk +wnephsbhnbtienqsrl[mvdkbknccrxujqk]tlulkpglsczyararwgu[qobcoznhcqljmlee]vqhztqbzqtqebarz +zchpslpkfcsyrhwwqsk[gwutlmplskealgb]fvphyneeapwhowdmws +brdnclnxyvwujemdb[nibgwqgpdriqsiqabxp]edugdeebwepatweb +etohhrknjkrsrofpva[laoikuanqdhzhxoz]miwrhykiqjommmi[mbadqggmzikalwivx]scjuezuvuofqrtv[ylbmqjdvljiuonabqie]ivbinxqowbcsyrdggq +gdhnvymhoqiqcen[kfiqdlwouzlyigbvmn]wvasvwtbxhmqayqit +irfjmwocwhcnapx[smnacotgotkxxmvcxzl]zzhuwerdsvtlxvgmuhd +jdhvzkocretawtuy[dirxvaypanfootgpg]sulipbxsevezkuplfvu[buglivmjvanhdeh]mjghduxomigwatjjyau[jrglsesypafawdetc]rbcyypnbbzyxpkwp +lugloujbmydpzadmek[swymrdltluxdiydudx]alziplsazemkaxlw +oajayjpofpxmuwkk[skpprqdrpbsaaah]cuqbszauqzdqkjaje +yrcnleavabfvdrnwwx[lrdxcmufpxchlcoxgn]bftwbeylddfhwppa +wbhpgqofflbjprdbed[pivleadiwtpwxehsx]yngfyllzfdqnfzslqmt[jvpqhjmwrnzwpsowdq]ffpsrssendvnbjfvxky[haovhxivmhlxylxjvy]naykgcofcsvjjimim +entykgiizipookkli[pnxwonezytkzizn]djctyusggqtxfin +kyqecdnicgswwzuii[wzuayipcyqyhkrgn]acboirvuomfyzzvpzxq[zfnjngeeqhtjlbox]sotspxbjtvgwzujeros +axwvnfkawewaqcn[ylxvrarkihhghwnnhpd]youyuctonvfkycujg[ndowdbkguibjwnezscq]pwbemfprwfluppso[wviijkovswiijhki]ayxmsdmenoaowtrkaok +pflwhfiwgnkpcydia[eqbkfyvtazvcvynb]rtlbbqdcyskcfksfncz +axtpqspdsyplxla[ixjtrrpgiwtisfa]migiihkjqjujtuo +xbddeupacidwjadcy[dkpxppwsdycithdax]ebuhgrtzzohfvdswr[vkwrhgaekzhgdsu]hcjmrdqetdtsraxb +nsnnwuqyzwcuesddrbj[wcqitbuxuuwmhwew]hqiivttcuhsyymf +ebtbhsdzeckccxazm[hyutitdfdcehnaf]lssdlpmilcunndsossc[lkzyocritcrjvsjexm]dbspfugmkadlptibj[jkosoithwambszidrv]mtalayhwerzevsggoy +tqvxyopcaqbxmmo[dubscyoocfnrecajq]xkidwmmecuswswju[fmizxytmaaaatydnms]ujzfpojhdgwxfkllxtq +narzmyxnwwxekfdec[gxgqlhydqggalwflst]hgsjfxokuhqpnlqhypk[ndttgoqaqijbisidrj]yxhniihdgtuteqpf +qakuvldgfbyggudoxir[kdxruedrodgmlabaked]jmntlhnsiamhdytplx[oeoyvdghopnwkyi]vvobbnycnmztdav[apfouaimoagcrgsksf]epwqzhgeehfvlkfhf +eiykncarmysnjutihnc[fqpuelefydggfxrsys]bsdatjqsvdjyqdqjjmb[icyklfrisgjakyg]zgfcmwthiddozpikbm[zmgydgnetfgwchrmwva]sivsaiewdynvetttkzt +rfnackjoyyyoeswm[xqqhgwoddznalgvck]lwgfmjvqteafuyl[rhsqssbzxbsmqycnl]msgjewoprklxehak[bszjfivjtabuhcfkhq]pnruvslhqirnkkzq +pckqhzimuhfimxhwf[ctbxbyearzeioufp]ehxddttfuamfvcu[rrtaouwghsvrqpjpfkm]antkzpqqtloodjdasm +muqffnswbawymkavyol[wswnuetbxhczktsdv]zuplywzhdlmsxlvs +nslftmwyosxkobfh[izvobolazeuysjvatm]xebobdjtrhrhkrmvv[bmdigthmwjhldqvlqfq]ndaltyiadsefvsi +bfvwiauiwamkbhmm[rlkxxdlnecbfdidjhrj]lgphjmbuenctqdfrk +ehevrirxrexouxz[lzwxlurrxziddskbk]espbcrmdiecksulm[zraxlukapkqlsuc]yviwwbriciriwiwjpej[fbowkyrlzrjjhhgf]mdnqnbgdxyrsmegdrcb +xilhhdrhwnsvkpmoeue[wowmtrsximygvxdafl]xssvlbeliybaijtny[prcmeegqsfjbcohdpxv]dpetniizuczwajv[uyfjnwqusoromgzksp]ekwshnolkikatjguvuf +wekevhtigbdphsofsej[uilmgqhvmzdhzsfelu]ydwqjzvwmedhbzdcmb[qtozstyksbhavmcqiu]bebbocoyjgekqdgxm +tbwzgbkcknaviqoggh[zrevgzeesbljofietg]kxznikmfqbwaeuq +kflfgylometspzel[cgqfetyqkzubkag]deuiudubpfysursxokl +iqtjjgjxnsbnykgm[vkiuekflqzslsmopei]ryohrnlqmbykzqwg[lbpxmabcspjtheybtkh]vhqxakwbcpqyjrfnx[vdzwkopwawjqcxhkahe]sfoqyahukuihbtqhvi +qaictcgbguzipbisold[hojqbnmkhkngozfodb]wakvkedbefdokvfv[sqkwkrnwzmmpunugkmm]wryjgpkqwzuknyg[qwtwcfthvigcbdr]lxocdlmrwvhkrkn +ududehnmfrdoktbd[pufxmvmzjanjbqsr]rtoddxhiawrkeoauri +rukbdtvpicjwuqyumv[yvgcixmnycnovfdbhj]rrjgiwzcdxsafsfz[fndydwxtuethgxm]jciitwzldrhspivji +vucryxrucwgtgzwi[xwofoqmmwxkljwktk]wwugatiltewscpybiur +yzdrklgmcntpnfg[juqlfgvojfhvlurlf]liyjmvkenwxdrhseu +xvjdqvfwtgqdwsihxw[bcntzekkpkmdltskkog]immxoenmycmhvvzhgsx[alsgfhoiwjyvxoa]fhtslhrhwkjgtqyaeai +wowkovhlkvxjheejh[admlixvsiimqobhano]oidtxpzztonwcyz[pikjjhplimxuhevzrgh]miayqideewkxzwnmcj +pjeseijjihaonoq[txkdywynctkzvpiled]cvmyxdkismztamreewp[kaavrbjsnplpnotid]khhatrcrhdgkopi[jbviaiuaruauvsqvx]fhlldfgwvdizctr +gcaeermbxewdavjlvi[vqdmxnlarauutud]bxbofrarnzczuoxxa +niyxuzzjqnhpxjty[xhwgwjcloshkmzoso]fldzmcgzcppykgw[rxcfbfvhigzeoaktqg]solflfslrlrillgthks +qmioroqmlffmywwddk[vbjiakdgyjbaoavuc]yvogzlnaqniirgrkkrj[wwuvwxgvurgjesy]kmrjmcfwjuuzjwfxi[lebewrkdhvsggdaw]jttnqfljqsjtdmp +yhtijeaefivnygi[wkudzhsjcozzlnyjee]ntxrjzabhjvqctu[igehfdhjdfubncnuao]mmuwhwaptpkjkjvd[ljhdqpgbwtgyusaw]mwucwwnrowenvcbw +cyuhdgnyofftmmzdi[obicobmzlzbnrfjnpmz]npdjnaygejwtbthe[ygsqoiefkruadykzfai]sbrmxcyrzzdsfohgtj +opeqdajvhjiugvcxiw[quzyjltfaqxihryu]vhfagbxcgxrqdczd[jjowwatsupavhgxfnfu]oldgeecwxqagfpbk[tuzmayuqfuksnyryhew]mxdqzcmhalomsfgvbz +rdhftaylskrfkjohoir[ysctmlberwqiikxcu]tlrpfraenuzfrpk[xlhhcelpedwvejwe]xdbgjnujbwitikd[gkgtcmffhhuqkxn]segxmelqplxhbbzv +injvfyvtmujogaddbrx[odixzqucrehbgslji]jjknybzadaghddrfqd[jcixygpikllyfskzqw]vkosfpxuxqmjiqbzfw +kqqmwxsxtyamjjqq[scpptfzdbdleori]nguruxntqimthwel[rgpuzmxeitchhrur]kbqcjdxjhfpszolrgmi +zufcvxfzvpbrvykpv[zlcauolelfvaiypfve]zbthpzxexbtckrw[ldyacezfagyjwqk]hpytjdoqgfthbjkde +tushytgozshbpgrlano[hjcxnbfslzdaqdbcw]ubxwonwwknpvgei +wvomkcdpnrfwstbuxm[qzhtbviiyiimfewod]ynxwecqgiqdhhwipprn[yvzjwmtwaimvpfkccq]mswrpxbfetkxekd[opflvvsavcjdphyarf]mdmnmjyzqodfwfgen +uluvkzyxcnbwzfttgsx[shpgmagtodbjbtqjvi]ejhtqxuasfxfgaikc[azwxnpmfeuhbvxbnon]oatvbmbejhdueipsph[qsspnbldwxgddfn]wlyypvjwpffujpngp +sjqklwdokjeiorcauug[cyhlocnxtmybrvh]bempnpjdqzogzuzmsz +xgxtoujcsrnyqhdvms[gggquuzjetryhnxy]bzqsntkiscaqvdk +azueqhuwlzetspwlw[isgjxydbfbatlekzint]vqempgczqzswavwhvzf[qwumvvbvqgtuncncemw]zjslwlmgybyqvxffyab +npdfefeoncablfmi[qyyrhbuiidujkkjvcee]hfefsqnphybdqaizbi +jkwitzvqiqjlqriy[vlpxretegbdlyfuc]kxdhaspayozcykqxnjr[fxzngwrrraafxaez]tdzdrlwblwpwmdbx[jqnafjuaitsulabtk]spirjhmyxgmmlbvowyr +kmfaxysbsfrypsrh[hiibtcvkvpwijnrsmiu]qncqqsikobfzvhg[bmolxnmwlmeiyfvw]gzukdtdvorvcrjwk[ouxxjrunavgbthjym]odgxsgchbrcxpday +oyvcaaaizwestol[sibfdhzevlqcidfb]cevjafyjqdmlizirxs[yrkaxgimpgmbesh]tymcjuzizpvblfvxh +huvvnlzjmnmshyakzzu[xmrsbyvcnlajplrfdwm]sdmpwoddghgvkhe +poceczjudwhblovfvqa[lpsplyzlbpunkdjqmj]qenofnsbobsjbkv[csiibwcxubffjttun]nycqgzfgplzuckayy[thivzkknlmkaehqu]rzafqjkocucyoyr +umgerxoezgukxyhda[udnwdyiiszdigpqblq]xtvpoorrgfktxbm[wlwyflwliylbnxr]ssvudefpgtpzdfbalc[ebybkfjrabrhzza]owkairdmhvsjpzwyuad +iotquyarjddmhjux[krlwbtdcmibwkghonp]uaogdeakiayvaohfa +vpditeamdhqkndvp[hbjakwvdzlcnjbre]akalgulrzldkpqeyx[rxskxmhfaavgqktprky]ggswkgrbdoqxqyum[zeuxanclgtvfkzets]tzmpslweurcgotcwlpw +xlvurprqkyfhveu[olsivkdcvnftkvzio]tpqhefnhnguehdygrg[rikxaftozuxwualvvl]zirbbakenhipnemc[zpaikvorhancwulm]stiatsksuvrebszcrn +uscekuskotlggcplmg[nghajkwhjhnvqpq]jylmftnlcvrdtaaqany[kzrxccmnmzcrlynb]iajudtbreuzabwox +btvaxuxrxfdikre[vtaljsnrxrzpgyc]zkhwkfiwvdpcdynodzb +fqlpngnekdjidiwxpf[tppyrsufeereqqjbvep]uwxflzgngcbzifi +yypkvetcckdupqj[dwmcrcgdzivtxaeue]bsdiqymfwfnqsksj[eethqqykvevzbgttcwc]asgisawuoghwsdlrg[rwsclixjrsnqoztah]eybibzkeyduetgndjt +nouxpwlpeujctmznu[ogcakcmynctylynb]hqaoynpaeugcgmbmyk[hnsglkzoniolxxatpu]ntgalyvvzdkehdn[djvubtqjkdenibff]oiuakgqkwtnfztkqey +eocrudbvanmeahxep[xyqmdpkoioduivhbzm]gmoduclrigeluigpg[sagstfddnkfulodix]ejdxzfhyzlrpfexaaft[hsxoephdrfdbrmw]zjranqftwyixshmfsb +bnvmgwiyebssbex[ydmpddmiufzsyutzsl]jbfeuvdopsxgbrwp[tdtqqstaghyfiitewo]enubramsyyntisl[dxjbeopghthxbezi]ddrhwffptofizthuvcg +mrkvnakfikcnzjrs[wmeoyixzflynnivv]kwegfomuvatxzaxxneb[kmknnezqnzahkcbugkd]ivvjpqgacdrkfct +aqrxsiaqqsjkezjp[tqcoezlaywofuxfc]itlwcghxjmromkbtj +uphtgvrcbgqdluoqf[uyelkhpdxkprudot]gqhgpmiipwnhswapde[gnxhmzaizakunln]uqkiayhtvfiakese[hnwtvefvhmcexgqbg]uuohbcqwdnopgcooslh +ofisvykefcdrtlhn[xlhplrxyrhcvjbzyn]yhfoyanxauhxlqvkuia[xweyynfkgjbaeaobbtb]nljayxomtplrqdbnsdy +irwcmahzzuhwoco[pywamqmhxcpklssms]ycnanipenscxuuujk +gldedzdlrpsyttalcil[ahiqbcuwoxvnfwuv]ikckzfmwnrbxqjmrt[vvtqphedelmxdznq]jegbtcpimqvzsqlv[bgeyfgpgpvbgqorpn]gxtubvakrtfngzg +qipwsjqgxehdkoeqzup[taycjunkducebbguxk]lwpsfxowlqungsuuvns[cvgptsymhdthdcqhk]khuernejpaernwc[kbeupclkrhwogudg]zpcrhbkujlzucapzli +zaqhvgmayterhkby[mlstxdcwuoseumegi]mvgadwghnxcxbhok[uropsqzmmgrvroox]vxcnynjnfkhhxekxh[qvfloncuywkwxuonf]jibqpdtlprdmoqju +vtzykmztzfrlrlxz[rpaujbmflbfcoudvxdu]hkptnkphktizdllxtag +laqwbulvlzxmtxyto[widsbhxrcnvxjxi]uzpkbsbinvjyspl[ooxlifipepugoaiiej]veryvtigxnxtlgprrdr[nymmwwdbaxhwlcj]tctxkwtpdgzhozev +evnslwnxhtdaqwzi[fidwclqtnmnoxpgbmg]lkvgrqkjtssjeqcwhm[wxgrhzqarkfjixp]vjjsmpxuicpnmjaorq[lgotwrhfkjsphecl]wpqoqopcaqtejmocf +musaatkqurttqdwu[wlewsamfpkglizjfwzg]deddhkcblzeqstzkwex[kpwodurbmjfighpfccn]rsipxfptkezxfrmgael[mfatpeazpvqizrueeq]mexputrrdbdetqj +uzfuhqnamjieqvpvm[yttstdvdeetludj]nnpmumvmqvhyqqyqrdu[lslxsmbibrnzzwzeh]qwcannkcvjosbjor +pwhojyzeljjovmiddy[wiiyebjzmlmbqor]brujpcjybxsxjluyif +rzqcvkydpfafphnfuxw[ylfvbbcuypiimbtu]mljhteuhqnjgemrbf[ubxhgupkdueyiftcsqk]qkunijpnyosbstyew[ipnmbxujzvrstqex]thjsyvvzbvdczxfs +wsblqglvlissspebeze[dryqgjzmlmfzbxdhjz]vktdwdrgbnlnaqot +ffruekflozkbstzd[zssdubcilkvcjes]jaeblucjbdtmeqhbw[xgvggrxtkwxarffjlv]czyquewthsfdxrk +cniminvskbdaxkv[ijadreubnkqzezswoiw]cwhmefpjicjimoj[wjgozzvqconpnyectbs]iqmzyjwigejhorl[sdztpfavlnebllxtbez]idfhkfevdqcqfjufy +oudgqjnggunqjrjz[hgpryjlvaraueruq]mcqehhcefxyopvc[ayjvgfftvlwsiyk]gdojvjospfdqvqxl[kjsiatpbrjrpywococ]qvktzuihsoxfbqoj +bwwanasjfcwueuh[xzhdtxeviylgftbsbk]ophpbpqahgfkmjasp[jbetyvklnmeetdxak]faemvxpwngcukjnil +pxsdsgcvmumspwybbeb[urijgngfrqrvtdols]bptfhcwicysrwjxx +mmjciqxcteqqhaq[ndasragkigfuxzp]nltcicbzfmovoex[cbsrhlwqmqnmevb]ovwgnnuyesrcpnatw[imocdvymixwpjmitr]hyqurtpjpsatmpj +glbejlpeohjojjmyav[ouuwjsmbqixwyqypzsu]sdjaymyedszekjwzamh[gnjobkdszvhecdvy]tkqdpqbsbkzxpyjwsw[dldgxwoqdezcthkwei]ggojpvqtlngudexbewm +ydxjeduvtiyifosnix[otekexetfyqayuqyjx]bsnatubwnbpsxwlpbqb[fysejpbkzpeyinqixpd]vkuyfafgttubulw[nibzvtwbnlmpppjkc]awpcspvrmfiletq +lwxmamtkeknkbep[rjsxatudphtmwxjcm]nkndjgbakhrobpn[cqybxxyfdwtizrnkh]ahhzlumiagtmxdkkohs[ovelhnybjcdrkjjmkjh]ovbxtdduflqxcksvvu +qvmxtzslelfsfrngn[ticxxcqkdluglnbgp]agkfskcvltgmwhuvluj[fjlgeicnekukeuu]dpjoqruzuxyxcfy +kpiqmomfmfbgrlb[chwgiqgxmfmhcutz]pgrumtfxxubyvasrabo[ebbetovjzkxdzazg]eeuagvrmpnjpwfg +noxoyhihdeligogdaov[ychjdxngzmwiiixx]tybwwnnglqneitnk +oorpjhiybjkyvlagofi[kheedkfwolzrfdkqm]okmtzssvifokeon +suyjtqxpruzcxhpgs[vkyywjxcixnbmol]snrojgtydofquhke +bybicdhjalejbcm[dggfwhcvoqwckmr]kmpndsqimreycclhv[horhykpdzyayzfeajxi]fiwirgqabhxiyhispkr +svnwxhhzpzjecgsunv[ucxaxltvfvvbbkx]gdnxojirnewoxul[ynqqsklepjplpzdf]uchlwfjpjvdmmzqn[vgmpooqwxgbtxnb]vicbdsabgheloshq +evkrrtlgxkqcxdiy[mzwfmxqzgltuosd]xyqmxfdsadcnrfmn[katwlzwygzdojmrqf]tjdigwqjkleykrzulg +etvhempctsbsjhia[hszftaetybcwkfkf]mhstjimgvbnqzodxtft +jiekosnwxnaxofz[lhamyrnhvgxhontvm]bfpgkvtpgyifnbcgqbl +npfgxwjehgiqlrzxhjn[nwhjbjfbqxnseuea]qljyvnnvuvqwfvyb +bvwfsaszezpupzql[bqrfhsxexnmquabsqgf]syakhgolmoqvvrsxop +fuuwsugvetzhnetoahu[onengpdwpajzmeohk]tcvwloxqpkhthqnxcs[ukwcmswzifcmhiha]kirgngmrzosqabpck +vqbvveivmpkikcnc[tfkbrzgflizqthkykuv]njbmalpsbacflucmmi[ckfzxunddzpkxmvqi]uwhdqwuwfnslwphv +pmrnuewfikiezvei[bfbtruoxycikikpcyc]vamnyumaydydzwkxsr[jramendiecbuuibq]kwyuerchcaimcxnic +psfjhingfafqslyevb[dxdqwntovaclmmaifq]hgddmbzggjsukfqn[iehgucucxdkkbczbwu]tliayauxvksvbsrz[xgproikoestjzvs]iiaallloptllpslxizk +ptzcphcqxymoepi[ximbbofoixthgsfmwer]fkhbtgxnesptfxo[dltozsoayejigey]cdvzutkiqvsbrjwqfou[tymdmriuevcxhvramz]hhgollyjgqkrafrfie +tdibhwxwwhhzpijdzz[sqypuaekacwdwhszbr]qdrmihbrbuxabxordd[mvpavwxzmpyciphsgdk]rvqvoqogfoecwrviaxf[lpvbrbrbasyhhvfmevk]zwivpinwcjimtnoxgyx +xgpwwhbnoxxyhnti[spupyjyklqcfcrefzs]tjyjeirtirtguqy +tlticbaiifqomphtgo[ucidqmetvobqgsy]cexdvkmfmjuvpajc[qtvgbbokyaemprq]xtiuhiivmkiagzm +xhizhoimcrkswctiqd[bhnunjcqkpmbjbx]hsquqbbocmmcgjl[lncgsqfnxwhayqlgtvm]umbsbrununglhbywhdo +kfwckxghtknyftyal[rdfhuewarflokuysiu]druofxpryvgicna[aeqfoozbpaotzquzdad]msldyiqrtycxhiqh[cumdqmrioeuerkvt]batrhqbdfrmthrn +ecctdfmbntsgfxhrui[xbuzjjikcmzzyto]tglacljanlkcjcosg[eerzhevgxsqcazkrh]lyjjxoyajpohihtra[irzyelpunscwini]fipoynjpqfwbpbuny +cuicfjwvgxclvlbr[peencetaryxtokzglo]xcgxarlhlqfvrrmsg[osfqrkexsbiluehmrqo]vqudjbcdiefbdrgdsvc +hudturxiykqbhvtnp[cgwvweqwlqatalocwis]khnxltriotrxhowqnjt[qltcjnvnjijggevsi]xyessxocwzfylgbmbf[wvihwwgbuvizmdtcpj]vjputcucxgrrpshwvr +qontatknuavykvtf[fqataguubcwlkwoij]nhrqagocxsfnizqyugd[xbdsunkmaljsowsvtd]albwsleghhrzfasvxdb[ekbwvesgwlktbyfi]ahpivrhcbfmfiraefn +razbppidgxyqkix[iaojfemaadphewn]qsropygqxhvvffvbbxl[bsmshfrmhpxspwstmc]idenrfrlmvmvrhiqg +ezmsixavqrtcdweh[erhucwmdkzqroqydbdw]xduhirzjthmspuekilf[jkteqphnbaueghw]kgumwbmwvraxcqpbcrx[vrvfblfgwateblxdp]qvhhrzqefxjmixgdd +mnohzzpvbqvocixwic[rftsqeqinbucemtuane]cgjaakvbjkeckjjwk +awhsvmllfamakto[mifjbziwmpilqcnuzla]khathebsulhbftma[uhjhswjhkwisyvzxkvk]dibbnihlgfzbjzbow[kdiwwdzcdfylmir]ybuwmrecejnykgbl +janqfmfuawwswuugiqe[pfnmfmaelrxtqccxi]uykffpknlaadjmvm +jnfiqazxxxtszpkm[lisxpoyxjjfanndp]fcosssblnacsasdaw +txtcybvnnstimcobqz[qyjwuzonancogfe]mssglofrsrfwxtxm +ohdqwzvoieteveomjv[bqqqlfljbhdgawfjm]odlsebwuqlyovdhehwy[hfzhkyfailtqkdp]lremjkpfziwuaryxpk[wlaublawtroosedg]npfndcdnhjitetdfo +lurbnwckncgzery[yebfwvgvbenhihuf]aduwmjxhnvbwamkbri[bpieulneazjstbgg]tbikjnilgrwaguhha +cwdzcfrhaawitymb[wonicinanpugaykelx]tkaoxweodyzipjg[qkyrvdzwrsjiuvdaagl]jwofcrhsxjoiyjkjgj[wvycbhaegnztzomhg]mdfipblyzperbqi +ptzzstcdnlenuqdcx[wlfxdepvxywerhfhon]kvjohzshgrvkkyn[yohfvbsblxikjjh]gvjsoefdbyfdmmtxk[hegjvzccnubabtcaupp]mqvtimezjtadjls +bzxvqpkzncewqsfa[fpxqxvkbnahpsdzb]llhleodedtstemne +bxizdrcuhsvclyoj[qucbvfywhyeqgdfdy]liybpqoyqhmgqhgeykb[jtrbcsxipdfkqbjxdyr]xgrmrqmgxsnpvjrd[uhsvquzbapgxjtepco]uniibzzwcgabghl +toznijfkljjlbtdxs[gnfvczqbcfgabdtrqzk]wwwptrvsnzeqilx +gaqvddsfpndkdhjqzu[lqbvehvhcpkjjqk]mrklccztxwvisbn +ibcsjmbnbnmvxhayyrc[woibnbdrmciwcahsk]rtmazyblmbvgania +ugfkecybxxqqiazk[zhaamppzqjcvlpq]hmczfvebpvstwoheixe +nmwoebelxebydhkzp[lyuafpdbyqvdbicrcme]hdimercdhbogohlokka[zxmqvowrnoehoopynta]rfiynkeqrcrwwyqv[mziixunwbvtclxjgkz]hfcyaybxgcnguzt +ztnrszpermcjegjoxro[lqgnentrrwfhnovhga]vsrierdxdfafjfb +yrzwmqmfbzbkfanar[lyaiumpagrswyfln]outfmpjdgcifkycfoqm[orvyrrmhtsugnreo]hfpmuzjecpnanzef +spdymrhicjlgxyj[qmqdhhqtuvdzlyz]jmzcfnnumrqukrsyysz +etlvprvtymjsdjaj[bsprwlyybbsdaeg]beksqzkwfhvcbjtqms[jaitkmwfwavxtab]iptqxzliwsdzgwh +xzxsyplmzimdhla[nryxcdhdczutfml]uflrzmqwjujtlgsdzva +mxypriluwycmntxtmaf[zszmpayqupqfbmgyf]lozrzqnxbsprrqe[rtztvfewxxfzdxmgy]toeggtpoqgexcnn[ukfvhzevjswqcxzm]aszhgmcilpbzrhjy +ptabhiqlbhgixmuqkg[remhfcequlfsphlxw]wasubakhjhwfvml[yidgnoxnzkfbtqu]gljiqgixqwvncikwwho[gzuhugusswinhul]lsobicqkkenfdeqok +mwomovjmjwnmvnda[xwtrgqgcmsgrjmve]joaujmjslckgfapzgc[ldsmumoglrjefzd]qbiryuodmwlakuwumu +llnvxvteojfoexr[euqdzgipwuzzozllzw]pntgypmuknwthucbq +llvixhgtggdbmgyoero[gfkphmwigqesrvqvvc]dgddqmrgzlrdbfqfsel[ktyvoyairtjpbhk]mjysyzxlawpudjj[ysytzltbklcutol]gjlslyzeodhvuhjwb +bplytpwjqyqvuhuv[xzklrhrmhaqajin]gimodowxjdkwbrxrc[moebsayqhdtqopnf]lombtnukgbsxwyk[dtmhcxmxcgtdxtq]xqzbbrpvyomidse +zyyossiorkgqzadi[ngefhnbkihvhydfoqut]syjnggrqyekahgjs[bcrsufbjavnbftpy]emonhklabmalepxg[ukkahfhelxnqmnm]qeqssgjrefcayhpaoi +avrpdlubxnptnuvwhh[rgonxdahzvupeuk]ouikiiozvyfjlxy +ejbjmrqekkmwluurq[afypfgfgeuflropxbjd]ozwydhfidswbqfbsd +avqnbmmacurwpzm[uigunnsbpshjehxilv]zekhfylabaeeqdlx +cfnqbecrkhjnhki[cniommfwxonwgfyvch]bvkqhqtuwjeexiig[fgniahtltlvfqgkwcz]opyjnvknjhlwwxtaiub[hqssykptwcizckqsjt]utscvbbxbwbzbxax +ojthsbajvhcibveqcz[sqgukstaymxsmsxi]rpwtokgmtlqetoyuvus[frutpvriniwkvksb]mmaxbwsbwunysjoyfe +lxyzhqzjuhspwsp[iyejpmqzmkmrxhmu]ayplqpjifkkqisso +umclvacdokwrbfohzg[iyftebdsfpzdovtvxb]kpxcppnxowojoqaoe[ojgfmombohrlqzvvw]zmtkdxtttzjxpzweg[fodhmtirxunwrmt]dxncdrvghxzwcwrntv +ygbtigdthvjljple[yduppahzgijxcazdanc]lrlqpkxlefjnqpvfgk +gkccuparoiekyyl[kzybnbkgpzhwxjxjq]lafdhfasipmjwmo +gvjmcffsankockhyz[yvdijgacxuzzxkdfrd]gkvqmgdiezkqoddm +jpyzddhzjjqzhxxtdw[jdqlvbwjyscynqweh]vhikvfshebvwmgxoto +htohnbvtjaldmrr[cimfxlnzjpedjnfpqoi]ynqyyavjydqrnkmxuu +nlpwmdgatcebmkafk[cuaslfihofexbszp]astyutrtzfpqlmmzzr +xqhgnlmkhehnhsheo[shsyybvanvmhxob]zuonleemgjmypdt[qayofvdkfoywrbvfo]gwwlayodgdpdnucdtv +tzlocatotjdiyak[nmomamzybiqujqcvl]npskvhesinciclmey[nurqljirppzargni]liyahpqgniffpbnlbp[iexhfvjarirmcrwrvia]zaufsbzqwupfyeo +gnidqrlofetsdyiang[dnkodkgvjdpcvbikfq]dbnzcjymbvxbotgp +ekurtukmxocokwld[zpdqzedgsbtuoziwawa]ynqagswopnebauoqptc[rrlkmxurhmrksvfj]apwtaszcnbqbylc[nvltgdygxvwzqes]xlkzejyvdirvnat +xmjmguhmwxpezxb[xnjsxbyjudycqxynb]vhncvsczsvjcljitm[goyaefndoospnvjjo]guqiuawgnvjhqryawh[whgrscfjwjfnyklfen]jxoautlurppgvwig +rssnulafwaqhatynym[pxoiayotlhrblurlqnv]zjrxljcyrfhpkhqbg +ckglonnoxxyzdrknjr[efaeoaoysewfrzbomj]vvooydnkscbgmsrpmx[ixupwwvszypvktnxnnb]tgwwvrrouofrbho +fbvguvirdzhjirldd[cyjvfnnmkyyavdsskm]ojabvhpiszlmnuh[avwaqdbzmfqhrsj]psnacxacsnclygrbysw[secyqcomfooopsqwt]dgrxjsytgwtsojjglq +kggyghbwaypgdhnhyd[echvubuouuisnrcf]mowjdfbcbjhtffnygy +mpzqvvjxtgbosjkg[ccdeltlbvdpjnvqs]ylfevlsotlenaly +zcyyoqpsreujpqqbnp[llznmjwhawtcfyf]xohiadjxxhdyxgfzzai[qwytzokvyzygcze]zaunxvxplemcvtau[mieqxtavvpkjpzy]lhvtqanohmynthe +vsywnrsmuoavsadov[nxidmdrzwsxuoojx]asnyuqlzzpwlbnyj[syykgeybkjaafmtm]otmdohqmxobaclu +avxdtjnfrpcwazq[comlftjdaawupwbwhwz]coiclxxfoqvmonblg[qakltbwbothujtx]uiggaktynfmtksa +alutuqgefdznaevgnp[aaelounislrreuasi]cxtaxajsfdeuofockg[gmhzrwznxnthorcgvqz]vicuhzknoglmchabsr[btplkqydwlfiure]eltgcafsbfmhurk +jiuyksxwykodanqqij[bstkjtsgvdgmkkjitl]drsbxepgdhvgvpqa +bsmlqjutgvdjrlw[bygcdoiwlxhwyshywpw]mbvrcoteswmuswbdlrn +rlvemekcbciszkj[wgakewakhsfryuub]fiojmarxlziutgnk[nhkegjljxordszjbm]zsstvoadxqdhoffmim +moqfrlcbvxtodgwmr[xuldcmbacldxqrwdx]tkwmiexelfuhylthwhx[moijceyahmwvmev]idivrzhczxmjutclqew +sfrpjlshbbijpxbldgf[auuifphzzmlcpcvaiz]pahgjmspfnfbwjcyhwh[rforlofyvcmoeynkop]euflfzydbbouartpevn[kkuzrpgkjnmqhkkzj]rflkvsifjwldcnaqeh +hhmzakgbafyjlat[zgfbseeczvdwfhw]ougikioebcfwvshtir[fhkgbzdixcgtlygdl]hazullantnwofvnk +tqjjlzhzkvzmubohzhj[epiumkblmvmbgom]rgmogbvmhtwjhmw[gsmtyefgqkuvnicng]tzgbjsmbjuxqnrbn +yvqyouuflmpyfwbk[aqblmhvvtynyfshl]kvjfxkhqdreafxwj[irsviivlrjkkeynnwx]rrghuscbxynsbsyqi[zwelyxrdjbxicweenn]vcpsqwwweqmyfynttg +ltlxbwnxvwrvvxpq[ulgkvbbbsabsbyjprs]fhealjboiotuasdwni +aeyqzgtgplsypurpt[dsbtgtnkfnlwwidg]wyllwjwwnnsdrgkxjqd +jtaokhbzghqxhdjf[tqqogmfcmkbxgyx]qqwpajrnypqgvkkb[xhhvpzlrojjkurlawn]rtyzweuknwcbpwbrqyq +cgxgsbbfdsyddeoke[hiqjcmhlqefphmcd]mraijvtkyqblerw[bylxwlqifgagtsp]ahfynlyjjwrzabyzx +uxynlcplkdfpcdmyl[jjisfuhlclytjsyeob]hwynakhicnuersuo[mbmqhsoerrsvwsrmvqq]sveorantnsowvtl[jafdatewvrieiotnpnp]xhtdwhlylomftfnnen +tmzcveieyuzlxpmr[ndesufgzbraxrkgp]etjiwayxlrybdzbhab +fbprpeitxljandhdy[rczluitmqgbwdcsh]kabckqvtuxjkibba[grwesjogtrhtiybzy]ltdeoxxfnabawevxd +anclbgpbtsmoajykxb[npuxcquzvocbfrp]uwgiymgmvzoloqyrcs[lpvsvwbxzzdpqirgpnh]aurgmibrsncsbgq +fkdztblvyxkydfky[fubhrpjakajczbitmh]srnipvdwpbzdmjmerlo[hnbemydhlmwplcqyne]fiwwzppmfdhvhnmr[wpxmyxfnkqdkdvaaik]lyygxlsjeijmjdyoanw +pedmulanirmdvpmt[zjczvwywpkwrkoqrji]xzmxaamrjikmncfaio[rtswpkjkmkdudugk]pfghhjjqllxnaguhok[enexqxgwatuynsbr]kbpcipbknitnikywlwh +nmkvustjpdevipjtfwg[egqawcvoennsxcpevua]tymvzguaauenafdze[gtdhikwfqqwmqixdi]oohvsdvfitdkxmbmty[jcxfngbxdfihftmeajt]zhirrgodyippqrynexe +nnyhpkfneapjjszcjz[ngzymkbnkxzbacpbl]zzizemrikaffskqmfev +jhxkzrbbqowblcoxz[nsgwdmpcxhzgjmyx]quchlxepmyrzckaz[hjgmvsursfhpstqfsih]vezjcyznpnhlzlh +kckcndmkdouorsdwn[ztuibjrantmzgfe]gqekgbbxssksend +hltsnifvgikprugygv[mqhnrgbkbzlhbvxiler]nkdbjyfpgbctdrvf[mkgsjkcsxorjelxya]lkbxfqvhqjatdxii[yfgcbqrsammlylj]ryhbthqnczztdkl +eadkjzvrtywbcmzqz[yqrhwxgmhgfhrbbegto]rdwetzlxkddwcfxfa[owdqelgwlrdjhuddc]jlhlffjtkxlhwfvxyx[yqduftxeqbqjobyzu]vtvpwbzdxflsgbxsbk +wtfrmcjfgktqtdiivg[awvaagwtqxwzxhlng]hhrbjjxipdeltscw[xztfxhcdduedjrtafqi]wwrhvbrlwhqwyiis +lkrtvetaonugeporo[efbpphkfxwcrwppqqam]okmejnhrlfoimlchsmd[jyousshjqvtdtjzzshf]kjrwsvwqkjfwbihg[pezirpsdyrkbrtxi]hnomwdvyvweozbuxl +dhorxmoykqstlzpcho[lkymthwoczjlxizjila]fangkruovgrnfgbp[hnfeeduqmmdnlekcumy]aziaqyhtfkjdzqtqr[kphqqdxqebxbste]ngnnowrsggslyuakg +jouafjnkgpnqykpcm[ooqcsucqxxjxdmjn]jhxejffysygfurtuiuk[oatekibkyohbwkmm]hgmnudmuxhjpots[ebdfyhlvwkuaodbowcn]gpkhliklzfymjkwu +shocpjzaevzeariq[eumkwkotgdbyjgnk]uunsrhgakuzburbz[bsmpastmdxowusk]lriwoyfiivixkxu[kxkhyybsqhyxtsflsmq]xxhxezxtbzlbjcrfml +eciuieumaovwuiwouke[ddkugoizbpebewwz]ikyrxrbqgefwwfgh[tevvqczqhzmfqsxzfq]rjfmgbkmqumguwo +ebtvwkbjfcnwvvfbp[ppfrlfmrddsruqic]pyudwmqrqdfauckdkxa[padaisofrzqvgzh]byqqylbsmbvbezyye +yexagqnnwnfywjm[kooqogognnngedlzsq]brhhvwinmrvkdqxw[dgqzfpphhgjylahgay]hebbzdmhbvtzmur +foijfpevxozumuvwff[pkiquvvvqjxjrvlsh]kmtmaguaddqfldmu[utkltperqeurdocb]oiaikfbzridjxhz +ixozlsluymvimmudeve[uiwznweryxzdacvl]ijygnilnqdgisvxbxj[nyhllexgbybqwjtr]sydmmxvtutdguveaey +uymzmnycoqrufwkze[llvxpnprmsyzydne]hxgdfdwkgctgrffxfd[uypfnlwxqsrbztigvof]fwdnhejatsgjylohe +xxeefeippziupdzqdv[fqzsaanzuprdejzei]sgritswkucdvfwgr[yglsjvabllzoppoq]iwjhmtojkwrtiythgbc +lbebfxalyjrsbaxe[kjlzgjowpikfcfmf]tbvomfmcttexdmjbkhb +itfdbeixnuxztqwmun[hjvddmwoxhysemairp]llkfobeqjkqjvhqju +ljocvcmwkqiqjdy[vfyialovhfurlonwd]xyhtjuhsxxfupmpbwwe[eonolgkfoimgnnqf]uhcwwspkbdhjlqx[bzwxxcwktmvwjmfnl]lscbisjytivskdg +nohrhiroodyzrtientq[wdzodhubgckwueeh]husjxtycbpnpkvm +yavwhjxvtollnspqspo[wbwlwqoneyktprx]ykxfdxclrrmzujoirt[ddqhxuvkhvjddakav]ovdtmshzriiyxbnh +niaolnfjhwcueopnp[vmstpskhbwxntxpdr]cazyzemxmoliuvzublx[ezsriqaswtclogfmami]iqcasfpwgfwptuwnbkr[dziyupehwpbraycyni]kwhcaswxwsulaebmzd +xfbdctwpeiuncly[ibtupfnclhkxusz]tplltxxnmbnzolkh +bxswmezzutthdywckh[ilxpawzlxekjqxgrre]qgkpjcufkrzhqmjfnzm[xtpwhdjuwbgzlbuld]msweefzujnnqtpkybr +iszvyoyyegaxhdv[twdwlqalxhuccxe]nzipbpkobyagntl[sdkbcyvefuabjmdo]hsordogmuidflsp[niaofktgfeobayhpi]wggzjhzhvxsxnjt +pnsztfncjbopatyivn[cvjtqgnyntndnpnse]hapvzijdaizmnwmidq +nlgqizdrparsnjyqpgv[egszosdlatoslaga]rlciqlcmoewqfvdqcqz[dvznmgvwhighywc]kokmmsdsqtjowrcg +splcbwsqnyhzezpvj[ssatvhmqnhiffueb]brhsabaqbkkkshmgcv[gpfoxnkimmtchlyge]srhqacebyiltnqds[pxrrbhhesftdovfylh]hyuzrwirzeiznnfuc +hhryackxxzkzqxixy[envcplucawrjtoy]yobkzawoovnsogap[ztarvxzmwkeqxydarn]vvjycopkerrppcvq[kimwaxmvpizkiuefucu]cdialgjhbpmshndqq +nptwvujejyxchazpdrn[jkqvgwdzgkamlaje]rlszsnexhbxeytxt +jckmcegqvwvvhxft[kmadqubulgkzrswsc]fevjpgocevplyfhd +cdyxwjegdpxmmcgtb[hkhpfbvslkjkhbh]vheahacmhbrhwebvymu +brpssjonxyicopgotnf[kkrfskmcraudenf]oavtrcoiegoabtxxpsy +dtnpqobyzxlenyqptt[tofsjojeprpzojo]chekpchrxdydqtlmj[yzccpybekcdhlyyyt]rgwioolvkinkdxluo +wwrbzyzznqgvugbgve[tetcizfbdkrtcfuuk]xwkjpxvuwseqpthhosz[trvoahsnazmstjdcj]bslxorundumadeenh[kvlgoddouujyfaatmgc]bujfiyfvtqugqvxk +lsttshqhvmyuxgnff[bowbelbrarmpfbkppoz]hmnjnuxmjbcsqlcerx[dvumdplhvvdvyzvidf]zphskjfwjjvfkexu +wzucjwgswuauowopmdp[wjcqiryvwuxbmhpyqp]iqcuqtlhhzepihteg +aqykzrdfpbepfroi[nnesulylatpfrysyft]aurruqmrarfprazf +iaftaviyxeombkewfne[sdastbxtiafdrsm]xegakracjungzmeu +xqwlbqdogsxjelruof[fbmfshrzujboqjlkqxc]kcishnbimxnuqqrryy +nrvbizpcefeitvvupag[hulbkxrjzkaahdkuxci]jbdgvrrmdiivgpqrpo[qyvwwwtrkxzqijiie]lachkuszoypsodqrdnu[dzfrbbkvqftntopviw]ebohzzukoiqnufr +tywhwpztmmhnblxbts[jfqzilxvxiasnlarc]pygwyrgjxycsckvutwk[cnroojebtlndmsy]yvxrbvjuwuswfyk +fokuprpbdhyyfoe[bkjcczvybfixyjbq]uajetiolqmtobtxn[vovkkboyuezdnrhnar]mghktojvbjtnwksch +lxdyvrssterjmiey[tusyoprkvxegnqrdhjq]odrwoubssnvuyuiktku[ucoxfrisagkkaloq]sjrtycvxnebugwqtll[hqaeiynmaowrvvb]besmyyywrczttkgmbtt +tstdslikjjocurgugn[vgqrulmmeobvfmpamj]otvhfihzrngjknf[aawurivscgfquiiur]ndkqgatdokbmpepskfd[frpildypvorbyre]ujkroiczrebmdyfd +fqdpgjnkmkttglce[nlhpkiewbwjbtwcpf]haxcchmkmndtnhh +omocgzbdlfbeamflzr[jxszwjljfmxuiujbgfn]hcdioutqeoeuzap[abvucydlceefbzn]jpkubopwxgssvzo +sqqlnxiilhgazsnal[ighmjnwwxtocvkpftki]neitkxncjcvdlfgvh[cfuxcpwmrqtbgbknr]wwkxfkkpwpqjkdcqdod[daqaqgzmzwrjshuf]yegenkjvqaknwvpi +mmiexfykfdbrhhksyc[ylxmtgrofepdzvxtuny]oanwwgksfcqhfks[oijnmauhzowxjcu]evrjktopoghjhqdx +zozbfaywojquqvkz[bhxevssjkapxlmpwxem]ukxlaytsrmbmopjchq +lfulcuwuwhpsxxdq[axyxkwujdyfhzuwszgo]yjqrxxginsthjqmn[jbyodgaodeqvvsbjazj]xdcarmwqaecpley[sbhenpxchetqgkvxmzs]ywoecdpslltbwygkxf +pttldbtbcrbtlktgoy[lexfeozwaowzcvwuzl]ljcujfuuzcelcfgfq[tuhxnhcvyoqumaxsbt]kvsarqslxdycbij +pmtquvqtdqgsntwhoj[rteezvlqiwspucfhelc]mlrcencmqsxzkpdjfxi[semnpknrjcdgqccul]yyjfazwlkhfgshuslw[awkouisqljhokamqu]fjcjnhqamgmktye +owkxiezvginbexz[drubaexpbjhtkvst]zcoplmstsjurcdluxtx +qmeswlvqobpbbzluq[tjwpbxwxpvxrfcdv]auxbrlwdvcyhezcvcx[pazmaitscjytlezq]jiafpkyazusuhlogjj +aehkikjiogsijihpe[boruxyyofoaikim]kzydvfakbvjyyqcrub[kxckdbpbwjtygppqdw]rlqwfwajyuqxquqqj +erwmsqkbxvsqmskt[fubwkfiayrjxjybcltm]fmgitzghibdvofyqxkk +kdvgwfqrgtaqgrbo[smlxrsklqbpjfri]ztleeoguncvmsuwu[akqllpwpibpiklnkpu]answpwpyewhprmgod[famajtkfraujmbi]uqapyzuddsjfhocplhg +snftvhkybjskprxrrzf[vozzzsufgzuczmw]movtbaxcjzbvbfdgr[efkjjmkvnpwrfpwzucm]xhxwwjhfgulngttcwt +gwkybdfpsalwzdzj[arbuwnrroaywiifdkh]hroyrgccxwkxvbb[wfvctunrygcuknhm]urcglwhxdnhqlhnhm +fcnsrbobootyiwobosb[dqzwfpxlxyqqqupqx]soulcktjltssqymmgbl +aynlyuambebrjqrqyf[sketmlkqrfzjspub]cxsbjugjjhjyfrzbx[eviepruggimumxfuxmz]zsaoqyauikbktaognvt[gzlpscwtzlsqaiiv]eqdietoqrycxeep +btvgqbrffbigbwyn[hawyevqsjornortkt]aatkdacjbihoqkblwp +iwcndrfaqgwbjqo[rjjaxftvlapukscy]yqbkjoahqehawwc[tzaomdmoksnxsxghe]fiopwtxquqqkaarh +xuvrqnmorxrrkozq[fobxzabsyqhlrdg]zyyizwpynjnxftao[njvnsxlexpkrcdz]wwenlkliyesmcndvcuf[kwvaeliaornmkwtvcj]fsgdabrbegymyld +jnjnsazfsmceabrvnt[vvuwhwfkjgyuchq]gpbphxbcubzbhwg[robhwhfsbyvxjesxi]paqidluldnvdhaf[olgagstjfhhfulyjijh]eaxfhlodlaszjytjhrn +tuedbfiegbbztleiw[lcfmjhaivybixjhqfpu]ptainitfwmqjjvthbd[lvekgokhhxbgsvuys]lihtypowuxinvuut[iwuisnrsisinactoj]rlgcloangcbbiduqkog +kcbqbrrnyyydatuez[zjockzqztfljzblqamy]rbvwgnukscgbvwbjd +wrskotnjnzstgdrbfct[enatxwtkjnpkrjosh]tzoqfdvelurlidqzeph[wkwtcdruebpsxnmr]kpuwhsdnkxclmwe[jbmeoibgtttcyuwfu]yymlkiklaamsekcbj +ypjlskiufxommwxvmi[ovngcflsoorruwyspvz]hfhseppsujofhfr +qcvpfgudklcievbfy[pnbexmxgvykqfzg]iqkduyvfgjoqpjivnvp +dlqqhxpycivizertysc[lyqaznnhexzonrr]xibqisowyjrpvmurek +hxawudgfxzgotyygwt[moswqqbjntxyjxzdzgh]rqegovbegcvupdn[envwqcpxkubdxxx]euhqmmxmhmuxzwics +ywsnodswkovbakgwgoz[bmulqsmmlnqscngti]bpijtzkeogieybjvzz[qdkeoomunsdhqtgfcd]dhdymxedoeoajasyde[phrknqwqzcxqclt]gceblmgxugocipytrb +vikkzifkakvxlaiazza[abwjtprrfrqiigdwab]xvabnpghxxjteyqfk[wzswbqscxqtmtin]fzoopbmfeczgqth +rpsxgljbvvuymgyarjt[hshrrezhoqubxnj]ueijefxasiibpjnruz[dthkgvjdmawhsfsb]xreobobchjfsbtkmbnb[ydjmpujgmlzbpjv]yzzxwkyuasewtdykdlx +tayzlehhlshbmye[xcptltsssiwspjjfcrb]ygjgkwnmupukybmetyt[hbxfpqbrytygswi]foqqfquoigwzqzon +luieukdjisyvloygc[gsvrakrrgiyhguf]nobcvqzoezbvyostec[jhsfejpgzjgvfyuttxt]pnbiovicvwxyyvadji[muymyywmawtpbqy]oyeulmwxitcgievxav +jmooistiumacwdkmws[kprhhacrvxlpbjrmps]bwhuxidhckhcohud +gcqelkomlqnknnagihf[qymdjztafcezoprdzoc]ghfroyxotdzczqx[wxdswxlshevqsbjeg]uflmjuwqrbtbbmun +urysktuojujenfit[mrdumveuynuguzlujur]golhlzbkjwyclmlkpf +vbmaecuvdmylyxnr[fegcdyyqxqwvmtw]vliucbinqvqmwkvyjp[fhwgemvaqggxlmoguw]rvmfddzmwntgeqah[kxkctllyzzvxypntcff]sgaqscxrdcmzlyliww +sefypuqjpoacgfnwtt[ioflejbthxnkdgoik]rocojmfwwfansyyqv[iyizhohpqvkbuaqosyp]npohofwqvpyxcxrt +cgzmoptvksgvwyheum[zvzvtlwrenltplzgy]myyeuzrpwsnzutjnkej[ttfimkuuuclcdgexy]xjlpfxjcqqwsjwptu +raotyqivcueshnsf[pyvmyvxhbdbnqhzxjg]uyvvdzgealzuzlkktcm[hxievdbdfypupbteyr]hwnevjwqxxnftyks[xomsambozdqysfaq]vgumkoaktwkmtimed +yxaxjbtvzmadbfqyv[uqgfwzwtdjipaxatvcv]xdeokkvvfysqjakzewf +qskksnrfqvxsulhn[bhhbctzbspcgete]oqiqahqqzqabegwvi +pziwbsbrrzabsqbv[cjqeuggpvkyixucrafx]sflhbpzkzlvrsnt +rzebjsrscwihevrb[psraegtowtfintpxm]letyyfazyhgxqvdj +yibvfzzdfyduvoidcin[vrpkdibyqloieus]wxwexlzsccucrkp +tbwfqaohztocrnnrflg[mnuzqpmzsikhghtevw]dcoeckvfuwawpqewicy[blpeuliasyvkvpqe]hpaxunxuyocpgejcc +xzslowoeismiefcucf[ucunhoeksefxmxry]lzwukoivrariwmfq +snnsizkvnzvbybtnksl[zegtmmfakbgdkbc]snwmlzqbperkpobivlr[oprzukxpmwmjruxbd]pkplbckpkgkppekxhae +amerjjfowmjmoepwm[dovpegfjsjfbynfsld]eqiadmnpapmzqapvb[oumbcxdwvylopkf]wzoyamoyuvbinix[qvrarzrayfqyexse]qlzzfzqukpztuhvhajs +xtipkzguqcpvpdxdmvg[eikmxftmayywkcsfrtt]xvpvawokhdyabig +ttatomuxcomsozd[bkewkffocuztataf]qkackxnnxfaobtbuoj +jiejdppofadbjkyrtdw[ooeauorrivpvlogj]wyauslbejctazvw +fqezoxvbmpoujtq[oqrdsvrhktckizbpc]hxrmwwjegkfkuuxh[yrxyqjghxpejmeuanz]rjvskpxwfvkuoxb +ozgokrszsizmfbt[asvhccznwaowmhhcj]maiwqwijvjtzuav[hlthovjyfjnmngv]sfpxkwlemvnpgkddhj +bpjhbmtmwnhxwun[gtpioftbeyytihhzz]hfdjtbecidtierbpc +zoqhmfdkqxffzoo[usxmsyukwfnkumfm]vgzptkzljvamyiwt[gtbzzwqazucflkwkins]ubkmjiyggflxdbyr +swqnflkndcslifaupkn[ojvmkkvvnixkaerq]noeofutbnsmfcbkig +fftclmwgwrlyjgkgm[nhlpehlzzkdbfshvkag]awzxbnaqoiopxypkdo[alkzutbpqqkgurpwufr]mwjzdakqjuencwbbrh +eblaxeiperzztmaw[vlmprldacrynjpsswi]oxtovjqqulsoohvzpbu +eadpdbzcmcuhxhfgjk[bjicujvqxbiecwn]wjuomhmodftbqtdmt[edfecbkaubqcffg]paehfkoktvdbebg[qbhloexbsbohtixbm]pjnqayvpxitvouow +ewhavxzzuqlxdyqkhi[hnbjdkvwoqnvjlpswy]dxfdckirzuwnubjdn +ubtfzeljiyqwpgnuf[lbgigmkwbtdpnbkbnk]yybenqvdoomefmgvv[pnerhkxkgwbiomjk]hrffcijxgjaoqjpruz[lzgagogeeooycnvp]cqbruywluacfkphizv +wvbsipoahwtjshooqg[cgzugdbjurjjddjqef]wztnfzjxlkfjfbns[maxljqbuvjduvawsxi]ixbywijldjyonyigzxq[pzybxoxwuirwqcogq]iegnuixmzhtlovgy +oekgobbwgudnrcmrj[szazzrwmljzjgijegz]lvhkidshurzfcgpabj[mjqnneuwmssstzljaph]fzkacjpolzfrfclip +tbvakynpgnsjnbyou[jyqyyjhfntaavjbj]nxkqrzatnwlpcuoja[gsfutmylxkrwbhuzjvy]yxghaclnjrzpzefj +jimduufubekuvlt[pagpxnmctcyywjiex]ensszmgcdelphrt[tznxicnzbhktbaah]zvyxmysybkjigyopon[cwzhaqcerhndwuqwy]ypiilhlqroeqrqwwqe +eeglgjlpjyxgzthtb[ksepzrcctkafyafbb]wrbfmvdbmivtmst +baftmzwjyaltawsamab[qrzewforwdipiwxzv]lorsrnimsmqjrvcvpu[nldmnlswmdtooqurgob]vqwffeqqhkavwpojj[lcsbfxvdsgpvfleik]nstfxtsmtrvgmyn +srpgwoiktrmbhefo[duipraannigptac]jeadeotjkrdeeswndn +lwnbcnwvxxcswruk[bppxwfnfiyylouhr]anrtotxqwcknkdlaov[wfejxreczrfkwzedhc]bjfvdjmnwqparey[tcwuhpgehohdept]mhiliyxarrbpqpe +yhgvgzyywdtwfgwjmj[fsktwlhrgqtagmbfxcp]jjnhxktdzpmjmsj[vvcrwammwrdxghiwzu]thiysvibpqlcapoh +gfsszbcbpfqdqbus[yurnuvyytgoametv]zqfohuvhvthkwhl[fnyssnmlmkymzbs]lriewfalyrsspdwrmu +kvnxweanpheazjdzgvp[xjsasbuwnnfyqmfry]moaxqxqmcreibve[vysmevbpmtobsirlolg]xeqikiwzsfcecgwj[edzilvzrodlkovmj]ddsmpqvyeomnopwie +nzfnzjwbmlgjjzyocva[gvohlanpkowbpiyu]ceffmnxewxnciao[pfjxyufpuvirsrgosx]qjzqbnypinryigytexl[isevevwhrrbtlmkb]qlxevfvgjexgrzj +blgzhmeqgzojaeq[gwfydofbivyeisofu]rdszealclhxxtmnxbss[uflumbfvytlxbsdkf]lkwlpagtrehcagpgfpq[tfesbzbqapxrjflze]zyaazfhcbypnzhanxo +uvxeaogrkwyhhlx[tqqyhyoivgtoszh]golelaorsxezjgbm[cdbhhggnkbnqmtihhfs]buojjkvnytmqiddmkhg[xxsftnytysayqgzdfr]uuuokbheewyatbwqvv +ylunncplxcziijdkbs[syditmatfetqxxfpo]kgvcfnfsdowisthj[pntcylgxaufoxtwto]hpywlwzftldkzdoh[bstpxzwkuahkmmotw]cxvzalidmhiidtk +cydzirqupeotmln[qcobtdytvpokabr]wqaczkzujrlxoszc[hpzmnchzhlcviotisaa]wyjkqrdzgmntgho[tyfvkooqzaajstbe]onahtttjsrhxhgnw +zeomcnnjfmjwosxbi[lyfmcayjjmdoiyl]uxnfqvwonsiuhivjnxa[myumcdwrowlghyttwn]irrvzaahwlsrswlf[thqyriurtohfgkbr]nsaxcolaibbvlxsi +fuuuxtaidwxmxxujk[bshsyvelhfqwlfy]vyfbbzlrdowppkh[xbxyryvyhyeomymwq]mocwgoygryrhffoztg +cdhhdrylrjzcwzex[jfhkkhlmtxdqxovp]yilgdlznovtedeexm[ikqirazjjeaitjlu]meituyvmlvjmelcnrr +hlpogyqmbstrveox[ceavgvdwtcgfwgj]acuarfurikepcul +lkdzuuvudxuhzxmkpv[jvglotsifsanxxyi]zzdztwjexlwzefxn +zkrlcwtzllcfhrqtg[xtwcenmfjdconkym]dwyiwggayvmnylwbd[okwesfzlfmroeffnpjh]pgpgfuzebejumec[yydfugtxhfebzgvch]jsdmbpgpxqzosgtcvw +bnfpjywbwmmeqbka[wtmfbgstzqmlorevcx]nudmstkfwsytyve[qepjpducxvbauppkvv]swaxlhznlahodgro +zttjbjbomjcokdbxhx[xwlavpsbbjagqdrx]vstkbvzsoyzspcp[mcwhffrwkcoqwyiq]bdhpaecgicahyvwla +mjnstdjiguagdnac[vqdtmlzseufmkrk]ltnlascsietrcuvynry +erjnqlruyqbjzkbul[abyqczayafgzojrfk]fqyfcdczrccymiftou +ewpammmleeceusdtse[szpcxapbybobeviyhn]zrwvrlyaxgksfbh[oajsyeqdqizayypub]iwftyifnhigvntzra +bainsqjfjmrcxdtafom[dfcnvcuenkpuotuy]xxpuuyjmplhfhyiqdcl +abphbobydwdwbhply[yvrztjowpwpserw]whqriogmfecbsbyhqi[wplrgeabdqzvqbapi]ddelonkidwdihjhn +pwlxvzzwzuqgdyrissi[xnvwxccwgxeiqliwfam]tdvdzhwrtbcxwiai[zbufhgzexeyteoazh]kefsdxuyabptdjabn +qimvkilpmpxvmmjd[mbtlfdpqgwesokcsr]xnxhimwmmvtopvki +hetdjnllvmvfxakxg[mnheackwzcsfeuyhone]hpimahjtkjimvmojl[yfgdqqsycjblikpfvo]kpcgtvhgxsbpxkld +vkjkyawguqwyhqydexu[xiusnmzpzzljkje]rkrzbmwdatnmjvotg +xztfbzpnmgviqiexay[akueevarrsuekpg]cwppyqeyddqiqddjbw[uzudorhbqsacnuc]gvvpzltwqndsamdio[gxkaentomlbdprw]chxzdlpyliwgrdmsf +fjgkoxnyerppymy[vsjnnwramhtvelenzd]vbqebirgpiaauogntpy[avmaarehcbkkelcavw]yiplonnhtokqifcmws[gexzvprjuhvhwiilv]ifhpwfffuhsrilel +yzbvuufcdhzvmlhx[gechfjbingtzqzl]syzpzhveuhvredql[djbqdplujtzrbyj]vohmaxsazeivbjfsahk +ptuymymyqfxazmsruv[nwdqwmlhuaflrrlyic]ulrirdqvoyfepeg +qkyukmbxcuplxoot[vsbifvglrklyage]rctdxppmrpqaovx[dstktokvysugrit]sottkkwcclqxnhvmbu +xbybgcptnnnleymp[aezczpeaavswjqy]hfiogvhrxeccqrbhnnq[eavbhzswkepwcnqtnbf]ypdtctuklkyfplrzo[plwnucezldxnwfwqv]wzdnfpehcxpvgvxmp +yhrkegekhedallfhnx[fsvgxvzklrurzdla]aozwwmmqplsrmawnhnw[hrqlyzgkylyexskfddr]urukenkhqmpbdsckjhe +tfxcejadfvkgdbpkoip[jyrcwjtqaoprnzvxn]sjtqmekyjfauylxdda[srlpxmmnmugvrqchu]avjycgbiulfbocgw[jnvzundhrnkkowywdhq]pgkoribobynxeytvhe +uoaugvuaddzlbxixz[fbqqwhyfwwoxsfr]cirtxislchxeoqvx[fydtxitixuwqyni]ulonwhjmbfclfoyv +fctgitdmabzqvxyoxlq[okmmnebnrheniobbaq]yoyuxzyjgukfvzuif[bkfrfuxxlpvgfpz]hlicrvaigjcqllmh +pexeunrtwqwnjuylwkz[ognjybzoxucixexzpqn]jevhvzjqotewuzepdt[wzxhvgoqonhkzyzb]flmlnxbkokjwafpv +jhcqtigqwaloekzz[pzyquxfnnkaurotrjp]smstqmotguniakg +lmhecjgiokqhzourqj[etkxbnxicftpiqfvv]jjpsnsgcdhdzpzfofx[rueztwjdfjjcyfmk]ivnyapkphaubknyzt +zpzwngxwhaqoqxmcy[lpvkmcvzrhiwkip]kabgdmkusopohnjsids[ybjlzcvpydxnyfkz]hkrnwctecptuaxizub +mzoejdvvwrnoinmmjqi[wloxqlhgvffjjzrgivp]qsdgmyexcttylcal[pouvdikobfbvwdfpsy]fhfihirypihlmsgqth +tmiwnwtbrnaetraa[azuewvlevzqdmpijox]lobkqniheizuilt[bsgrchqgqgaiisencgw]amqrkiducucjrjib[yeuysnviioqavfjb]giikmgsrndaguewtkir +gcvudbdbzmlzwpoq[kndbdybivjywlfuo]zkbalpowpvtnhfyz[vnlznirsebececifv]qwgnpwgavwkbsbwc +gtfyrdnftfmlqsxqktq[cbtsoiprfofcttekjkb]yksvtwrnymtftaadi[gyslmyccuddopsbrofo]ngielecejhklikfnw +iabfmkusddmafpmmwmt[sblhinukbkjvnbjygmz]qaimtjrgswtwkxatv +cspdzlionbzpypgio[skigzvjzbypqhqyssa]xdehqhrpsjetjegejk[rhvzmlecvjaxxbwon]pyjzrmjrwszctkfdaom +fwgvuubcizeodjlar[codpykppnlavuegobc]mfcbuammiptvwgy[bxyjmaeywjaeqcemn]mphsmnkylinowhcs[byumiqkdtxekpteovxj]fmnxqemernaxszekpv +mbhzepuhaguxqxyy[rizpoylxzmrbbtleg]uzficbwerulrhnnsd[ctsuhqzcjmcydgou]hfxoesfdkcfhupf[adjixwxypykxipokr]zwxllcqvivlpyjw +uriltkcgsbvsqqptmch[mimwhjivtrmzski]bhzwajclmmqqnieyp +sdhptzuwovsmstadvb[hmcwvkdicxqurdvs]gevaaxdhrffvisopvy[emiohfhrxndumco]qqdhgxqqkzusycvde[qejwvoxwuatpcro]hgctlirtutlaowbpaps +nopbosevbyymuxwyp[wziqrvclzbncsinq]nciknljakjholuho[htazytdkoquvmwtn]uwwqeavazlaliiuhrg +vczcnreuvxzfhsdvjje[uzrsofilfkzrgly]tsoftydcbkbtwbojxm +qhnlepzueuzfqeovpw[wjcqkegigkivivtabko]wnsbdvkxlxifjqsx[ixkyyuidheznidv]vivbemfewkdrtfaum +lqhvszofurybyciq[jnofxqclboepvzs]iymsedvkreiypbnmbt[xdoeoqgnlbpbksq]mianrmjfxneefwmzmy +xghojjtwcuykpagj[pljdnaapmiloqmxnfer]qndfhtmludexiipoc +kmizgizcrjxsfey[jnicxxeprzviqjbxz]qpntvjxehbiivlwjbl[qcanjrzrxpubxcsiwn]anwmdqcnjvoxnume +rwfxvkdisbahbbtzg[chwlwwnkawloaetkzo]xelaknfmymdftmoo[xcpbzebvpnrpgwuxnu]gciwgvgjizamers +fpbumnbrwwxkftujuh[znqulehzdxnvmhpjp]xosdmvqzgmhdubv[whdeqztiosokvowui]bxzawfvaslqiivz +iflgwwuekwmrhpntwbq[qxhvquhrgousyue]ecervzfwfxvewiudy[nldwwdlkwqriwksxf]epjqefymaqvuszpucax[jxxexmaoexdiurtp]fqxfmtcxhdlqcyekv +qqzbcqxbpflnioer[uqzhkzbaunusdmv]fibemenniybzkkdhdwc[pqjkgwuvgaafrytt]dloopxhgvcahkdmjhkf[ymjtlihyoeyzzztdtt]qhqpbpzmafjqwafeqz +fyqhiiropnxbbekmxo[xrxvscomztjvmbfrq]ecerqfotsxyepqyvgl +zirsrowmviqbcluz[thlugrnfamglkuq]kscvmvoqbcveytlimo +aorkidjoiohvkvf[sjdjnonozlwernfyc]oqsrtbmykitnvmmao[fkabklfflxpsafljkn]ibathgahmmwcfmxuz[pouyfejzrdmvnil]jttxrfxicpyxjutpld +wiafobqmcpbkekjudw[lwnfwhmrubysgulqa]sacyethjclkgmvjjsp[lsfkyuszlxoszrylcl]rncyolasypaafbxz[jebonwujcbpmzpdep]yldjyiupaareoxtficc +odaqlnxbrweeesbsjjs[kbcrxmswrhlcaqmdclg]sdepnyvehlkjxappj +cebgletlgpluqqql[jurkzajxuwjhpgbaocs]ucjbnlvacobrdwtm +olpviexhihzdinbq[cydrftzalupgakekpiy]ubaxosljrqmvjtb[mwqnupserknryztbu]cymnqcjlgwxqemj +eenebgobtjgaomtfdx[ktyqbnrwscveymrgruu]fvoodqqdqcndnenfnn[pmykwwhnzvpkiouk]wwuzdsjbrkvudjtq[ngsohmvqtvhzycuvgpl]buxvpaygvcnfrrn +zizewegfymelyen[hqtqflrfikxyiiy]iwcthzujbzelazbp[jqjuninpapqwsjlgwyp]mskjscmsrcyvtrny[yixaneimxtgmswdziry]rqdookzrlapadvvwkvb +umkwlioiuitgceqolgp[clskbdalmkqgkiwau]qvvxnuiulomzpgukzz[itpfvtrbsadknttvtk]ececbpiezfrkhmp[bgyccposjitwmsossmu]eofzripzhxfchbz +vatznkqftiquuwnp[rphaabifzbizbam]ukvfbmqgdkndehz[nkiulnepgmyrdwh]gwyfulbafgjwqxrqo +kxnlcbtmutkqzlen[awtrqmfmcuyyzrs]eupenxkeejpwaef[tancnuruzfewgkgzl]wrpvwcncbqanzjmmsve +hormlzlnhoijrrtpes[wtrhocbrkjmclqz]dgxndczgvkdelvzpt[pznvjwcxojqaupygcbw]xyhbyjglepjyidthg[xxetlntxwcxxqvir]wuqrfbqnllstudqigm +mqhevnwemnwmridkrov[qccsiikmvkcdfgmfr]rbhegzyftpbvftlv +fpcgqlpirtnworzlpmb[dapdrnobpnfascjk]wjfkahatmdacbqdp[ewjocchbnhgwjrtvpy]seanfxzjzftorpxod +jhucfdnpnnrdfwpmuv[etsowugmklvqfkh]yohnhusnycqjnsspai[tzslthtoipxwyouiu]qjfsatlwarvzforpi[wgwchmsdsmwbyumiqm]ubnqwxaqwmqyegjgwl +yhwunwvldxvkijhgp[btltiizrtdoocxzdq]hmjinlwavknoefldmii +idvxpxkefwhszttyysg[alnoeypeavgmiqvikc]ztodsqkemxppehh[idxekmzsqfmpwxqc]rvleffzxxtdiyoqyv +hbhdigkfrbkcgybp[psiceztvpmtuxkwvs]itvkdtlvlvzniuuhnt[sswpnyreynmevxsd]rftmecirxwbopebhbj[vmtgldmrdnsqplnnug]aiqmqytwgyrzfuif +yzvqrcqpvrcvzelfy[zpfbfqwuhlczlqncc]rjivgabokpvurzeumlg[mjbfbttiywadmjamp]cxlaflbbssiaftpvcd +hapmxvffllyepuzaskh[uzlvpzeuhfxryqbvba]xwumchkcvjhzvvsutv[asyvecfslkxxrhtjsy]jehubrvlszilmzub[pealkjwsetlaucnw]ohmxxbwlyuouvoksfko +shcwbiydviqwsnya[sxfgeotuxhyoxymkbq]hemidyqwlijlajk[ppjqsajrlwxvegscewu]dssbwmkvzomborfg[indenadqucenusmzol]bogdgjehyhoedtiux +oagrxxnyrpqrvstuoq[nwantmrdcufscrb]goznqhzldndphsln[zdojavthwbbueda]xkjheqtkyvyjwiklfl[edwavhzglucjvxmgsgg]epqpcaxvrehicazmmuh +daeglzxgmiwxdaqpyz[fimdbdfvicyzpjfn]koozdpltsbevtsczv +unxxcskefbklzin[exbzklpzxjzzpjxyln]uofpzfdwwpjrdhjscje[mfoqccxeqmwyyplqhbt]zfcfykdzcwhwxcsh[ristchluucoxygdpi]sbugcboikesftqwheqp +ecufazkhxkylpcmobav[wrbemrlvoofrtwntf]ptdlizuebpwioevxpf[chbfqrkcjebbduo]dilmrvqylmvohqp +kkumxkzrdsnjywai[ozjtowejxntljbrcr]xtyoiwtdpfokixp[rkoclcnwfpnriiksczd]rqatydsnlnmcrcb +mdpyhqnahpfbikzk[btdztwjrwxiieisg]vxpqvouzevpdkoll[vvilnegvewafgxa]pcjidyijcralzqk[zwtfffgirjowknwwese]hgqlkzwjupkdvfrzzcj +fahdvbtntdgqjvh[pdoggrlnecijiksmve]nhsntnlvyhuvsenx[ipwpficjdnwtipai]nruupuriifefivyqb +kigatksrmulhgrtwjm[ywmxpexpsfjhbahcs]krddojqiacrnjrf[edumzuxzoksodalzq]tfitikodwcrkwray +xegklwarscdzgpdjeu[hmggqfqwtjucpfspl]lvpsoivszysfzhzmxs +imtwqlmkxxvwbkgsmc[ctcfopbmrhrbcfcbml]gdtctndyvulgktt[xzrquuqnhrrhpxrckmd]kzkwjljliajsgyxeikk +nvkypqsxeyqhxyzyrpm[igocqwislsfvumvq]tzpmguxizgyxrzzsq +syrhfbzqoqwrichcrun[pdeuzyxyvcgkldoenb]geewglcbxmefzlbkkj[kxuokilqshkaptrw]toaobyvdlvdgnitcu[exjphchushkkobizjai]reenlqeopvbwcmaln +jqtvxwgecohygvtzrh[kltczuddrtyoutqra]pfwoawzafdlctiltunm +mouiuddigaduzsvus[acxshspmfxvoyay]nitnjwpwwathfakiyph[tbkldogfppuonhsry]gexsyholslsxmgwvv[swfaybgwyeobgwhnu]jwzjkdrclbyczypq +cpebveqndxgdhtz[flfznkzzbqwhpgl]hktvcgcwlhtfruxsloi +ffgspkyrfvhtexczaob[mztlqxeuzyedbtw]jbhdcmuvllpcinbcpxh[sckyvkmigugzjbp]ttenkjjamoklwyjsft +tgjagrtnqgrirzw[btjynhsqksxanbji]xwsnrwcrbievmye[utollheolalgelda]htlcngxpsepkmcfz +qxtyhpyefybzipnmus[mciiexdmkeasfbxra]oqlgeenrolbonflho +aoybuihqxfehykuez[uustilevdpgqopzo]lwdfahgpjryfgrm[ejssinzljipzxpe]dewoclpkozotbohqvbz[esrbwpowlbjvpzi]ukavmtruyovhhxakwua +gjujokzwaqygfept[gqyojihlkuhsmsri]amkiwxhofheccfyqj[thoyejynedhmhogmxg]jpuhjdgihhbpkvydh[vjbprsrvmryyvyaevjw]qtmqmopqkfclfsj +jfhtwlnopuvkugnjrd[lkwtqnrezlqntdhdgx]yyytctmlljrovczwb[hgtbcrxmgeaddrgk]tprtdqidvnruiomol +ghksqphnddcajstodb[bqnjaixrnutobpdhscd]lttazrbioyzoiphnlts[zapxwlzmmewjobpvs]pitprkhwnqcedzsjdc[wjbgxldhklzixgsl]emdgeroarkmwjxso +afrxfcprpqwxrmto[bqorevdlkjfdfka]qrxoacdogacnadlrcsm +tfcjtyckixutxnljjya[oljkatclkoobtfhap]qoinpkcktdkexfwjiy +dfkaidkpwfpmqdv[pxhwcykgskzzaudtltm]xyqnnltwoleqbzpiaee[ferokmqgoysnbclpd]veajuiqlqqnstoctet +fgmnqrpodcaranfmbt[wptmtwaryldpngwgnjg]szbskeaaxdgwqvipb[zlugodzertvgxcgq]lrcouenrktbovbjjf[aynqeacvcvzdmwoe]svjgscvmupzlegnsgc +xwsheeyymfmnlkhxj[xzomdfpyvkwvpfjrmz]pnbhhcsszvekvar[ucezsjefyrzefyoymce]ebprylaeidqoyozsxi[btknvutwzjnwmjzso]pkliinauewvzwvyawyv +xnarjofqyhxdvkud[bslkgxtzajqytaz]onzjihhffmysppgxlj[qfpouuvpvjtemqmq]erpqgcqgpwluzuehtx[jypvkdidigmplmpbgy]kpzmqmxmrgbyzgxc +ryyryjkprijszchqy[zdgtzppzrdfmkpzjg]ychgvarykmsmqhtsb +kgjgdawmyfmxhaus[cdxgagqqvbrsmvzap]rjuexbyyzcxhsswsoqv[lailkaxguuxoayqv]bwtndikgntoguyp[lcyxvqudtflrqhrb]mskhhkmsmhorjdpf +qysmntiwqmbsgko[prskbvrfcijjethofdp]taqkwwqzxhijajvzo[enepmsgesexuundf]bbrvyrovkukwcxhsym[natjripodcmajacrc]fqfnsxzprzoojnvyaw +hobguanuffxzekzw[mseckmgscmgfxcjz]mhccgubjgxnvmgko[tdarfkifxztlwvisol]fsutzhrmpmxvirfti[pddqjdyfvorpdro]pmpsfzdctmvytnlrh +mdiqmxjnzhsgujo[wksbkcudxawzmfr]qceasnwmycgnveetlx[vwvaosihsjbqbmcr]bypuqcrfcdeaaldwu +ovdvdprjapjiefncm[dvqoiyjaydsupvtmiyt]oltbiazybfkhhaaacv[cyhfvsskldlwxlqjyx]delgxiylsuowrzamh +yjiryosycewxyrxg[nyoczmxyfiicmykfv]uqeiryyybjmghixqini[sashejhcvruwauds]ufexeyhnugniuofxmmx[vjhhwpsuookrmyhdxp]nieddoadgwmiplia +lqrnkazcbhbexte[bnxranuifukbankpo]tqunuiwdxwrdiuh[paumbhbhkvfkmupwy]lwkqdetqtyohnzd +tdtfthnjjadrndxq[hwqdeuvveurncef]mczzyyofnhltxiei +qlowsptvrxrueekycfa[yxwuffiijworupwhno]zkfnpetpqefkfcs[dqwhawaqltfvziov]cutlrscpcirlcjfapt[wpdkjpvmesswvsnbtpd]bbajlhciscmnhfsii +wilpitjkfupbqezi[bdaompdzmmyknlca]nlompvgdeymwaiuq[hmfozkmoamxyhfao]ixnnsibxkmudjgyd[qbnadnzuuwikpcmhbzy]xfgtylkbyvssmtop +lwgjwtzazcgpnfavmy[jifsuqnukjrwbpwddok]zalkmdcslsxtistwbiv +cyxujqyfliotqmwfut[zpqjuhzbdaapyzvbain]tmkozhzqleucxejkini[sptzongkwfjdsonpr]ushgccbgoftdokwwd +lviuntnhalsgvxixxv[pbctyuzbyfmtqzgw]ykejqvcysdevpmbu[pqyhpzthpbgpwrag]mlnonegtxyodsiapd +yrlpfoavswbupiqii[ybcezzktcvpqkowmsq]taviprpfrsqlvabqbf[xeroiipxrvplagovqiu]sqbqfsteqczqtfhod +bofwfkdrycakcslmxa[ymwnlofshzeiuyf]rjyhyydazplcaewud[zlitzcxkukcxnfywi]mxlsdyyvbvyynou[sidqxhgzplihuxn]phatywidfifquavy +wadffgburnbnada[nqgqzzzhrkaarqrwh]uzrjanxgtreujcn +ihrhhesycprwiwual[yyrdyfzepouxqyrlk]uvzimakbczpotrpjasv +kbcjuwfkgsfrjkkfqgn[ccmfyplfmdqrcrxac]sdyniggtukwhlnu[xacensrnkxvuqsc]gpqnovcxqtrdpynkvvx[hnpswxfpifmwsgvqndj]dlvqkomoeibqfibk +bsrmmwdjtbmifizqk[qliqvifyzkzoxcqqic]vbvgpxqqknqcwzkrn[oqbdmkgfygbpbrch]dexquersnbbnrfbykzn +lfjeqzbvwcbsehrt[psphljekmgdcjtamh]uyznvbtxbemlqnktpd[phehqwwnxnhdtxkmspc]auywvzlsnxtqnzowcp +sxibxibbupqxqivorin[nfccynkdnakymddw]vcslcjioymxjohkb[qucwdkuauehwhfoloqi]ddaiswnscafnhgb[ydarqvqljmblkmp]ftzscnvflgsunubwtif +zuuasklsnwmqupaw[ysfizskxogkwvnlgkcb]tvyrdsxzzyvpindlehm +vmrcpgmkfpxdkghis[rixvrkdxiwbmixn]uephwicafxpcpehg +nbnhbqdelgytnqe[goskreybukhvhsgdcbx]lwddmzcusaodjzpf[pgymgqupiirkqzfwknx]rpgcmvcruguruffly +oyvdusistlvzpomqe[brtzgoqefdmboenhop]tqcutsirzzunwoaq +jjuotclzibtavkzx[vqvshcibbxzyhvu]wjhyumrjhdqemeshv +bcnpxivafvdefifzj[lfapqhcotbsutqjqbhh]ppjudzqwffwepiemc +kjddyefqpxvcbvfxxs[oinvoibzkmrysbgj]iqbkyccngkudaejr[tjjqfphtimahnkb]ozthettdycmxsqxj +mcrpevqaseisqhdrevd[smjfowmcqwvbqrv]cempcughobiiryatd +qkzttiqextacfieitd[kelvmnatqobyjqf]ccdmwrlylyfmcvt +vqckigtqcsddsoewsq[vtxamvabaonbabpc]zscopqybdoakndga +hblsfvdojdrxkjpwowm[siwrvboohhnotwdcep]tjhvghlkvrwqgktafgr[emqpomvoastqfqce]bxzsxxgzezwfsngnkz +iouaylonyrxoskfje[voezgcpiasdhtsq]sorttwrodrxdnejqzo +irnvncclsmcrbiktr[ciyznwkihguinvhywvb]prwhwbnohfybmmbjzka +qzpfhoecmztegzywq[tqqpukxnxbskylczl]ciwlgrrwgodqnglzw[qplabdfwomytgfsfbv]sltffwbwgeddtitm[cfzfqddnlxawaoaap]gspisasifwarvvt +rjkyvigqdlepzwgyclv[dwqafgzkyymiipci]twsismamrfpnjst[rlchxfbourvhama]ygxrhhcxeuutcid +tezzawihxstreji[ryyyiihnvkuygbjpvq]ciomciywmluynivwjut +bsjyylevtaktcxam[bncztrxqlfakpfqgoy]wuvzzgzgiddyyqrw[qtghugatfpxunwnhpii]zqbpircvumjiiks[gnuleoxlqdkdguwv]onypjlfgzgqxvprxsuj +wrvswkvpqqcvoowruf[uiahxxhyztuauikbu]qzalmaeslqqektieecl[kshvsnuqtjbghuoqh]ujrwhbvxevfbptu[kxazrrmqmidmbkxkgq]gwdzewqhcpplqkmma +emoazbfkabamdtkfey[keoimmtpjagtgssf]nqzefxzynnyyvudzpnt[jebvrifmfdqltwhbvd]epxjckkvemcxtyvqq +pkfmadzqgxlshzdp[nonenxatrklmaseoam]koeljknqsisitcmv[ohrkuwnobyxdceqhirr]knumpjvcvpbnbmu +tsttnbzjcmacupvsrfq[vuijcfwtbazghdeertd]thamxkyzrunemox[vldldkqzfgitrligsu]nwkzguyjfucbqzx[bdebiggnmtbzfwwbp]mzcsqkfnjnhvycsgnkn +qxaodpfaefcnhlnn[vsypxhqcicdmoocbe]hdfuyzghjhxembgz[vtepqqancrkxhonb]vlipdqrjeulwzaway +cptmnjmfnbbhlazu[rtmuowxasnhrwxswp]sjvaajplmjdlqqzda[ukimlknybwhjudfy]ftjwoddfsjgqckopdl +mtfcgbffyxdtzxz[mjqktuwzfpmepeab]ssipgzzejsrhshyisr[dafxmsnutjkzwzpo]cgkeykqyfnsywhnwt +vwhgpxmfnkwqttbvbz[mdgulfcbhnjenvifsy]kxxumizqwujpppgqs[saryugrlovhecmrc]azkdjatugljprpgy +wielbtdxgbyjmkqkio[sfjnxdnmpvbpsfgid]bbjxcgcakevtcazf[fojcmnfyzqsiyqquyh]vmdhhaqzrksoerhiq +adhncvqqpqeqgmwjbia[xlidsjhuzlskbqxkx]mvxpqpcjuadbmoij[stkcqrhsryvqpcr]exusjcncbaikqdfd +lzxbtbffbmmxqdhsbo[clrpneqbluloxffr]sgwppyuvdorvjajv[qfezanwfiszmihbvkbz]pobnfqmwbezttlek +wfvrlnfyljuptwxta[ytukfqukilfljusejuu]slpphcxmovqwzit[zybrjznxpsdpehqeyii]jaxnpnmzfklmythahyw[rbrozvunbrbrkiy]lkuxjzjffpekkrbj +zovaomjqvnyvunmkco[yeszptqgbroolbncmeo]xqyoynlayittlzlw[ihajbvjwpypqeiv]absuxrcpxtihgkhhady[umljkijypyihzbjbny]rpnqthugxmhalbzlk +ertvmsqbjpqbwhch[xjdonkqbszbrnlqup]txhqgfrgischczp +sdnlpmhbbjapguaopxl[gbecvtukvfzufgxvvy]glheebvfbqpkyvgbpud[mkjtffwotsszpfzlafc]ymtlpzwiwxevcxljpm +oyteiuekpqxioum[uaxawgzztstiheixvqw]hghqohrjhgonzzrmn +mrhubunrviwvidf[jpzmyfpmychpfnuhxjj]rnxqhsrsyjjtpwerve[dxqxogllyzpaqcr]zmwuxafkeoghnxpt[fxkmunhkrdbnnde]gyzehvdxcjykyubmiwd +kiwmutrfztfawjeowmn[sxkvqagonyygkfhen]dbbwdocyvrgxjkuci +sgvqpvmtfblplnpzyuy[idjkuqvktoebgicnx]piuxpflclssenplp +qbfyvgzrojspwjsub[ywadzzbjxzdgjkbxs]jkfvjwfthzgzjokwlr[wsrrtyoiitzppofffo]rtmvodbelsmbxlrqchg +bylwlwxbttbhfax[dozygknmrwwkzqteitq]tgeihtuahfdnjkczda +nikkqybfgxkifucf[kixtedidwliujhgiwr]nraeuiwzymvwkdnivrs[csdjawwfwrzunsgtyw]lgcpnhkqnflwdmg[bedgiymlbqyuupr]wcthcpyxvnymeql +wxyhjalrdeljrlocn[rhaoziycqfhzhmnm]yzhzuwpfldfusdmkaz +ehxrrmbkshylynebcg[jfrepavhfzsecfh]tpptnnyhxyjhsigluq +aiyjdqpkneerjpwonfu[sxuxmnkznrmtknmkat]wkbigpudsxnjqfgvaiv[wisehmwxxftdlbf]ubhetpiqzkjzmds[errmmzskzssiqoz]jdpmwzygeladafqx +zyngstcgeikavayyzpd[wgwtcabcoqqmvbhpq]ufydtwxoxbrimggiv[iocchzfupkqlbpzpjwt]kfaigdnocfaukhspg[mfxpnlygaknfuchum]wtmgqplmqetmncyob +ltlbjlmkdwgavozzcqz[iwtqhntoinuriwwb]etltqnbzmwthplk[dhkmhtkoapaazvepx]acnoookzqrtlztz +nopkugxptazlbmcajr[rdoginykdclpxgoj]jegexoipscdcdfkwx[svuspiwvcqykxbbr]jovgrmjehijxvjuq +yjiggydodzcxcxrz[bnisbakrcmnpyuevuv]rsarrthtmgakcxctic +foprcykyrdkaild[kxscmuujcauomoh]cpivtascbxgnrqy +zactfwbybdfwfiuupd[rlktwxtetrkuphq]uptfyssrgzgcacbygxt[oldjqxljbpaivzwujpb]iybymqjpykkabpw +ucnuludtplhsqnnb[fxhhabbpbovvxny]hozfctrgdfzqgjpnep[fojhmkpgdtirtfvfx]yyeynnopoyxwyybm +isapwwtyzmpxragq[sijazyzbqkjqdjmo]ttuayomtckxjxaz[genxwwmymgkirkhq]rgyhzvznaovrcvprjpq[hovmlvmyjgumzlhl]voxvbywpwexcuzxpsno +maulsfmlfitpjolywea[sblcvaogiimnepne]taqgsqzscodedvrs[cjoepwrjdkrdhqvv]xdrwgvpvemarppvp[dafabtgtlkjqsic]oqigljqdqxmghqfy +uftqobnbdbwvggyiiwg[mscmajmhfibsoca]htvplnjschpcvnux +xqjpwgwegxsrzsgmlxe[sxadahrlnnstfgbiogb]ntuywjmtrdadommdyt +pewiwfgcmhssqsm[kkghloyiorgkuztrvmv]ddsxzdcdhqoypcnybk[sotohuaxvamvmjhctnx]qkdfiqlqdztdefh +wkeswfkouptenqugq[qslxjnudtygwkik]dzsatnmtturcsultm[fqtbsvjgjhwgkxacxzp]dxfbowsvuldkmqgh[tgqrrcazrpfzlegjg]mdqidmsiorgrjxyzpzy +inbgvycqgeojjzswu[wxcvzpejzkkupllegmt]ibhuweanxkjkbawqgj[abanslhidcyututbtpo]vwybvbjekpvtjvrcijp[buudsrprqrmkwfolstw]geqgwrrqsfldpfkcujz +stjynylglifzdbyo[lwzmcnjdrbazutpkbnl]fsgzcdpblzfewss[uowlvlcwrtafhsb]sbgztpaxjeezgnvnx +sntpdgrmjexekpv[cjchkzxrrxzrtjbn]vpnhkcxiewzaday[cluwnqlomhhamsb]cpkgsbppknhsoqizwlc +udvybmmzkkffkomo[flnwytsiqqniytsge]yxjepwrvjvmkwwutrvy[vomvggipfoukmgnfl]duofdmaunjiixqevht +fovkfheixscbvhajch[difkpdeitffwltdz]kvegrertndyavvefx +rroherwapuwkahsh[ybedcqnazvhzfvma]nsuhmhgajrxrsgow +kgxqfsndcnkmmglcqul[qyjyywvnyivatqvm]hzaaidzvxlaoemdqvm +oayaeoueibdddyvpnu[tetrismmtyhyftohddt]cyfnhbevjsgbucq[blwqhtzvaofqqresju]yhbsthyvztuxqik[dutmalqyaphkfmr]uilicgtscuvatvyfp +xvhfzyxirnodbieql[qaikmitmhhqxvimba]wbhtrqwakdxupcz[myjtfumhavokndut]bqywvrdfkvehldp[trzmnorcqoojkiitgcp]wmnpkqbysrezktevcoe +sllvtsyjwlketyept[yziodjdxonrfatdwcww]hoorswyycvrdymo[qokhrdclljmoblgovut]jdwgdlffbfdhljwzns +utmzajefbijuwetwq[nmnapsdjrfnaiafijg]xtoqvihvwmjdxhpblln +cygbxerigyfjfdvptdr[chmkiqsyszmvkxqlfq]wogqnldpowhrsmk[lcpqfevjnlwnfmsepvn]cjxeqamjxdcbzhx +oyepdlsbxdtmwnbmf[maqmbczpyqcrzoclzw]awrxgoxebbetsxhj[ysoypilscrrrtcan]kezkiihykfbgdou[tiyjfegunfgodjf]iykokkdwueilzgljxb +rhgzllbzkvthshna[szkhmsltityduecuzc]gwuvzgpbnurakgyyaq[omkluwfcvvuyldpztq]zshrunnhamvbbzin[eflqmmvukteyuhp]qmdmngkeqwzsknccsd +wcuvdpicnupjywvewk[mjoeryankpevshtf]davxlzdyusehfsfkawr[cwmackcctquaztyla]jbltaaewsklsnmpn[oybbikzwuirmhnkkx]lbpzrenqvzefzhns +vuhvlsdpdydamahy[hlnbqedhutubwjmkwdl]nktkpjovectntgugkx +kuugwqpdbvhjlpjkfoc[gpktxozhcyhdtbxjk]mtcifyxfvpnrwjxqbdw[miwqlpuffhqkwuk]ahpdnclkirwframcvn[sfwndobmkhjvsprqvwt]kavvqavxfyzbwzvy +tfjcennrnaefysxrxrx[unabefcchrppawryxc]ypyrssdxyiltwial[pnhrjfidsoxjwjci]vgjrofwzmcvfudy[towapvdaywpfaek]pgzoyputoaxuhns +jnnerdnbryvdwnjyy[tdpgycqawofqvqnnxym]gsmrcuakbqkesqabtab[uzebidtbgsgykotpfmf]drozgtxhlilmbepm +foiwppdowumqewrhc[djdtpwkucawlmtl]ewldenlgdkkjgwlp +jxhndunvtbksjpzjby[wcvdieyraslcampprfq]jlkliwlsforjmieiw[weyuytvmdbsrdxkrnn]xrtoomuvuduwwfne[gcucrxpjgtgenzjja]razsfkjoqcygjxyrv +guqesyexgmkjyubbo[vnjjzkobhlftajp]kduetulfrrqcgebbbn +qgwjjeiyfubocaq[bugmxsrlonulkbmrpdb]nbgvwvcdtojkpumpzlg[gghtouqdyidvklfjlw]vjonoplowecexkjdbr +asiaoukdoqvalcka[tpzjjulswtsuhtqramr]zlbbrhdrplxafblzya +lcnkajvhwsvhizqwg[cnxtwmjqamsalifgj]rdhgolxbbspczdtrut +lyiokvzoxhjpyii[dgwvlozunjzuqczfb]jhrrtergxpbnxsfuhaz[byeekuwewofrhdefsvb]vejhflqxbdllhwst[bzvournrpchcxdvc]ngktmjzfaqbjxkv +rerwdpjfhupfcwlh[sslnjmztttljsele]qjalbdrudopkidse[hemmfmuizvfifjxd]jfwotkmqyfuskznbsl +tqjgbmntwtgdldmalk[qknbcxthowjeuyvth]fqcrzfokygtechllcgs +hviyscugedzroqni[kdrgzuqzgfbscybztau]clgdgwhotsomipsbq[yklgraedpxonoge]izrzfrudwqkxspnkexw[dlohkxyygnxwjkell]ewqlntyewnakgynpi +sgqdkpgcrrotufaa[txrnubazdidvgrmud]zkchckyaloltsnc[vqkyktdnxzjsjsh]nasbrqemferoumssqe +gyspddyofgnxqfwncvi[cdehphtldasqebj]yqsnhcnwvhwwzbyoz +wjarbowzayfzllgzgr[fgrqmogusdxxijcusq]wwsfkdolbqpimtpllb[gcymfpaguksckikij]zbchrhgpmgtcvbs[eudmlgjykxlnapcvixa]nubrhcgoifaqpan +msmniqwaztgdccn[hxahjealmdbcmjoe]mrhsuvgkysymbaepdr[ygzbsqklpjtdawtzq]tlckkoeltawttppobgd +ajixvlfequoxtovgd[ebdxrmpaqmqpalw]kswlscqwyuxlriw[aqmckoarkeatsfnibrq]wzxcyogdfgvzlaytf +zlvflzexkyzssgtnovb[esowqoisjeuqjlr]thafqubxurfngllc +gwhagvhgcgugtzge[oegdxnmfzveaicxosv]ppmefualjnkghwnlqh +wnrocqwtmzexrhchr[vouiwbongbctkwmyn]fsvmixiqdlxhzhg[kvkpsplsgehzxovbet]zorclgkevhgpasjg[muzpoqtpttxfvzmkkot]obflzawnmbapyhfa +kgcayhhqrbdtdlqh[qwuuhhpqogpggvh]gkhvgwqzdkvirouoxkf[rxvjteztalrvatd]wbtfocwxiothpwgeqi +cwzcddzttiwffkdywxi[cgerpvsocbpktucknnz]gfcjxghzmyvpwtfsc +gdvamuuaqntboejr[vauqojcmrrdfxmcxphd]wgyxmrdgzrpthierrl[fhqgybuyxyehxofymy]lwsvqqnlctzephitx[kbrdugqwvmufkpar]xxugnpnvouqqnrx +icuxovmexhvxcxoxxxl[vorteandnfhmlcjgdn]dnderimuptlmyeaidz[ngjjdxjeqjcxoyaksty]pccoflswezkgiblbj +qxjooaefitutrxe[ibkioqojrbmgkxp]rfmigzuszsxrxkutu +czpqvgtbdmlrnpaa[akdjfdltyohxhvvjx]zggdrvihiabdqqflhfw[hifmsklrcyxeaobll]mikzlucjcjsenuy[cjahnfhynwtgbookxrq]diphlpbzthnltri +ekjkjgeqmtcyvzdtrkx[asoaxjekjkjfqkvuk]oyvvwomlasdiibeagw[djscotiumstgsczfd]cntrhytcawjicaljxzh +gdjsvclzegfpiudy[kuialvkoonpvfaibuz]ewjzmehtmmquwwzvk[vrkjncicnfjbbfkrpx]vnuubnrxomcwmamkpct[qpaeoahxkfvmfpdip]jzrszzszgghsxztmcmy +zruphwrwvppbkzst[zkusncdjcdbawofyyvl]llrfrvbtgirpzzl[hyhwiaipofyhyfrulp]zyekckfubbagmwlrha[nsktkhimgwcvigbrmst]mpiwofozrlnvalxckw +zzjhvtjhbezyvhxhfw[dxdsywktlpkuycd]bmsamzdtvtvxepbcz +treaudzibijtjnmq[cgxqaklatukozmzq]hlwmvdnizgpnhwl +mqezprvnrzyqfarfw[ihygxefbfuaoccp]hnjlxggnqzxaegawl[llgmqmampuafmcnp]xxptichzibwhoiihzgf +qztlqpncmclzwrv[azwcwcygchqztkkexzs]ouodbbhimwdbpfi[kkntvvlktnkpomznqdn]iqiqejealitdlpqqnx[tgdzjegkujajxwfii]weywbtwheajwnna +ljrzbykrluepwvoes[xrwsnsgikiqvsxdd]yuhrifwlgmcuxqbraek[rpbkrskvlpoayewgff]fmnlvxcqqbnsnojvf +ycdpujzjbgugfnwt[ouufszjzorqdtfj]nowkbjixmqvjcejxp +ztdbcvekbnyvdvyvr[vdvduuymcwlnnppvso]spulucgcofihuukv[jgabuhwdmcmpfeo]bdvknjrrvdbjkjffdfj +hzoahhmonoufsfxdpih[vuuixgrrxywhjld]gkrrwdhxpsepzwk +bbzsfopffjdwzfnv[dnaqvqdssmivogq]plpsjkwtznrskpd[xhoqxzvhgpccvnz]sofdxcqfzblitnrb +xiauwhnpelbuugi[afqarwlxnkwfnhzjp]najmzybfvbpwooh[ajcexheglqfxihyu]xlsprjjnzevdbqrn[tyfwmhwthdmwhwpmu]kgmtbphozddhwdw +gzcnnhpwgpjnfzgfw[zgkirhvppvoylutkvjq]ucyrfokvobspmnjt[wfxvyekwtgyrjazoty]woxeyfgynnidiha[mpwsynxrlazgkvjntmh]vzxzepuobxblxctfpej +nlytnqmigvqvpbgbauf[inrnsedsnnjvdzjszmw]vcifamxgszurooanjfr[gaphtqpffqralzcgbv]dptdovktxhjikfdv[ubkwpbzpzuwihmxnzm]pevdtdliqtggijcf +zxvonidsvpgphmhr[mhbsudzajuxhttcm]hcsoydmzzgogzezak[ijftgvsrdcgkqpqraij]tkgaoitptmbiyksayqh[tzuiesnjooqtdczlqs]hpnyiwtnnuyzcboz +tkukapajtvscwkefms[oowuwkfaydmykjkfvbi]hsoriuofejrnlfmqjkj[frifmvonufnpzhjwhhd]arhdbvpapsihwviz +ntvgvykzwgoquidroj[lcqucmwilkqjsbwcs]tulbwkysatauntfu +hxbinqyxtqhefooh[ibanydelhcozabjnqc]pnsbqgqkiwicggocgf +ssvkqvkdlpquvghoi[jzzetcjgeznfyicrlq]liwpycemfhvjpajvg[fqzlohlsfbxprhyvzig]iwheusqbzehfjwtf[vfluxzcxfshdbdnny]rcdopjqrwyfjbtqai +caoqwxuitvklxmvg[wskfazktopprlkipqt]vntrdteellyegmo[fznakqfovwwzxeuhvem]ojbyctdfyypuevhkflu[fxuegckzowtnvejyq]nijwbnagfukkszsdl +ghmucixpcgdsonxi[yjpciammneojabzrp]qwqjglgcseljdqvel +ohciwhgenvbswagyud[cieicbhqydwgwewrfdu]gnbopkukqoflspedhhe +vamuarfppicsdmsogk[xpmxqcmhugccingf]qpbyfrqvjvfnlinn +zrnivlsdqdeqkgymwu[illdsybmflayrxtngu]uruawbponhxvyas +fhmzitfsniehmerm[bezdtkljxqlhstjck]exjdstppsuyghwseugm +hyqzxrbheoqwmisy[rubakhmqdcorgjpx]birkmisawxzeytku[jewmmwznwytncxw]pfxvhuolhuedeev[wefmkwvtionjscrl]oklfaaljgaooigc +hilskaaxnbnrmoqhzux[kuknmviactstalwe]bwrhcbvnmvovmqdt[gtvlzpimdqosigf]zkzfxbttmbysoctrtbk[tcdudnhsttsfkssftxr]xyfvfkujcwdwwln +jujffztughicebmfuvu[hwrpwlvuvtzwjjjoe]nfifhapjapjuaae +hoaftvjjuyvnpfezpvv[pwzfuvmbmbqqkwfjpq]lkzcvuhbsqykpqymif[jahkqqkznlpzqsu]asjukfznsenxrcmjs +sssbesvmdhmdwhooya[qrltfuuueeqvmvj]vsnbejsnqrpqhcvg[kjxlguvncebploca]zqnpyfgcsknhrgno +swkybkjpdmiqotjkf[jcwptqahkavkkviu]tvjfwkfwqranifcwf[vrkaivyqaknvgjuzo]iafelegowdtnyrtwru[ysjzmpajwjutrtg]rfwylacpirrbgvkd +uwfuggjyomqpmoli[xndzkatelmhqwnijrq]lwflnzvgebathdmqyqj[okjbmcshfpkaixovd]skkdwlaiphqexjp +zdtojvknsphpftcayf[wjqudlhsrskatuklg]ygfrldlmeebhilxjfa +gixsmfxngwipdhdbz[uejysxptpjimrbhp]bauyddrqfjnasfym[nwwqdetjxdwkwmx]ckqjpbvnljyqejhuoke +blpxxldsiuwejnez[zsdvxeswhpqkvvmvtzu]jmvoockkzyirpvu[gjpirotzoddboqd]tulxjddgpjgydggglr[jhtlvkeepnicmcma]pglhvmqipvonpxd +fbsgvbwdutppojeq[izzxusemqgnqpgp]oybbcjugtoexouo +dhauwstsdidnqccepn[ddkhyuhbeqlereati]sycrerqwbuoosjlj +jxtbmrughctortcbpi[khwyrkwmwlamerx]ioayegbphslinkaeug[xuxukushtweybttpf]oabuwdwuzqvphdlixs[uwonzwzacntxcah]hvzhjdwdlqskjvyyve +jrzsmnbvfonvnftgwmc[tzrdlnrtaqyaraezgjz]csvgheuvujlbjcfoskn[onmauwuypminmjtnkv]olhtrxghnnzapxi[cpgxkxfcwyouxpq]hngvpwicwnckjgtjgi +etnscjeuzromtjkzmsu[prtmiabojsklvwwskes]gixxjsxmlgzdkkacb[ztwcptjvtigsuondp]qcuytbfynfbajryrf[qulrmkkcfxctpmii]sughhnalyvhojxg +tedzowjwzitqehur[wfircztxvqclegxbew]ftpzadwkryhjumfayt[piwvpnlapytasvmbjf]ppmbvrdetznijzvlrp[xehbipoficpltfplgh]acozgfbjdgmsshzkgr +dlvmyrhxoejphoor[najlnayamirtaar]xmtexfqjxithgwrdxl[skcbjoyyxaqkfkmzavh]wcarbzykjsrloccyvu +oondnfjakoigwxw[chohdpjjpbkarmjql]xweoektkfvoglcqpztu[wikgthprxlnilkxx]ybkynmacaohoyzzc +smxkdueequkgisqlhem[jxdbcrrusleprnltn]xflafmfhyluuszvu[uzdetbcyjnzyodxzhv]zrzbbqitihwzwumfvaa +djyuacvohtkldqxd[evneypncspdldospro]ssayrxnakpgupsusk[jkojeqjfbuucqcaso]pfrejhpgozvwpko +bqgjfwtnixknytixpa[fjjscshakaaydfhcnbe]yubofzmpxthbrpfkg +tiyzslixkcdbelkbza[kmbyphrjnutuuebj]qxshrejwpfgbdklmwsz[ntbxleixobbrbrzifb]wfcgbukntxsqfcspc +bwqwbynbrhbvjhfliw[uawsxlciekuabphsv]ispbnduaqytzohes[vzdbljjnpntqjsrwznn]eajymxjnddgcvfjbtld[wpuasgxiuserolc]ibvniwgxuysrwruhex +xocemwjggcenxzp[rackjvhflijrlupvtc]dymqfxxcqbpqptkmi +nuglpeyxezfyvwjn[kupfdqccyoioclbpsd]eqzvsbaqpqwfvcwf[fnpbfxkozqmaddsy]uetogipakptnmtfotb +ortrinslgqsfjzlliuu[emywxtvnanhnpkvvg]kdlxnezdgorsmurd +ocphvybkiygodpkilnn[xzccgywhmmbijsdwhac]czhftgsxlmkgwdq[yvdjpfyxkkhqdrqyuu]vlxblzbfxwjhedi +fwgntwhhqemigcwhgbf[lkrhwjctkmtlzzohw]auxqczvxxjiaahn[nssbhwsslkxbztqtqve]oteohyaibqryroh +vzbipwqbewvdthqtf[qmrmrjzlxisqihbbvts]vvaooemirevkmrirwlz[zfhirifbdjdqwormuyx]ezwdrriloynpvbznjxp[dmsvxigyolvlfmwshq]jugonuusmeuiqbfimp +geurvdykfmbwgbe[illdjnpnfgodvqato]gmhsrfwsrybwugziyaj[oipyfaovfujwkzs]wvbojxlhffyquhbpc[tfhtztawlmyanzy]eexqbfnlgahfpgdbyfa +ptuwqnoyakedcllv[jxhbzgwhjkrihqzxj]npzabseqdpzegpxkoq[qyikkylgrzrcbucxb]awkfyawxjchmnnsnxhe +pmfxjpcflryhzywdx[yrzzkvweeyrywjvryr]xjsgrxggxetihbhiy[vrrgrojjtbwngsz]wibtryrkfmduzjzadwe +zleuvnbmdipscuvigke[uiiwjhfpvyjsdhayasa]bdcdjxddimyrxqolz[sfcuxrctuzqgorqws]dcbnilgerqkwbkvubq[hbitiqnnefgghxmzqw]vugmcgmblbulzlivl +mgqeldfuyqglttqr[myadzjvujzycgoilzjh]hoarhnhveplbxdmaijj[jtkmbcxcnuxrfddo]wkglpnzjkkxnkqjgegu[anhnvqbxsetbgeciy]bqoozexgihknoknom +clmyxnxztlweimgaaju[jficumrbrophlcwx]qwjszbyhxrtaonhue +oijrdhlfyznnomv[bplprqvjwvtbwtybif]lbavepoadjiwjzi[nozozxjjbejgjmsea]lpltcnpzcfqwsvnlk +tngruwsdxtvbotyidjo[sgckbekmsvavvtewl]ceyngmkezxyfoowr[fawyaiukzbacnbaq]tpzvmacmnqbdhvzx +xhbcyhmxevpielgqbo[xluwzmtlsmlahvdtuv]wehnosxhxsapsjotss +vpxnbfywqgkhkfouy[opmbxtcbcgsyjof]ebiioytnwtrnkciaozw[omxvxtmcchdcusuv]egwnqrgrdfimgizdrvz[nlvhbqqxzlvfrfbgit]osskgxbukvdradg +kihpdpryhiqvyiyhahj[wnxsxoixqtimeqqkx]dpdekkbhuhthitmt +ynhyxpznqbfomlub[biyctwmvlrmrlgqtdki]tbtejwoxblnrrfgmlx +dhuwedgtkneskems[fjyujmoxktiwqppabjb]btwxcjwscodvirbfnpb[ztygbnnjwupdxtjol]amchcuzuzrcvmngg[wlftvlgjgtzqpks]ubkvinsotwufdpkoptq +isvlweuogxwmhgg[teigqswnorucobgj]emgxlktaoglxlbtlqwq[xivrqfkveiactxkikr]zgwbdstdvmefiynndu[mmuvtgelewrirlvwrv]pldubivggkezktggal +rxcglhwavdjuwyp[gsinkojmpqlphvuzpx]nzxdsdvhlauatbakxuy +fiqyxwsqisvdlxyxfuy[ixgpfrctptivqikehr]wuorawyhwgnmqwntc[iqdsjcvwauvmxalxirl]paguevujnywqdjvw[jyshygpggqawdangotd]awwtzxiyinnijqvmx +kapgynkcbzgepjck[kbvltihwmflqgara]qwuusdtopbywpmlf[sjhotpfywscqlewt]xptgyzunmveqgeecpml[zpqqeheaumssosu]todwwrfjtmccfcjfx +txgxsobxzibqkkd[unlkzvmoafgmpodo]otrgdnmdodgjgrqcwdr +vguanmlfujghpkgfap[iejfceiwdykzvirzcdo]awshuvxjojlmkiehj +xdulvgkeauimtrsbdet[yervsefhxoamban]hktaytyraexgwtj +lkdcmwcsmrwiggh[glkskoislssvasxty]zdajgpdhmtolpsv +kjelcgecxvmwotlki[ottbolqfinmhnspch]rgkjlqtpozxcspxil[qeehsousujruyux]wxvooazmjmvvfojojec[micsaorlrwjivzzb]yxutyxciounkmborsu +ghohebcqxxmbxdrk[jgaqgdpouryquoyzan]pqrideakktpyibzq[ptrmrjtnprnncqtjy]opbnmyrrjyewcjkcit +gvuiaaqdmtzwqofzmh[gckryaeuohxqvudj]ihytgrwmztafedg[whjmiawnsxqrsdz]htlcwqmstmvhzqv +zlqmpwruzwiwgxludn[wobofyuoxbaiffzripg]jzabrxpzjwixmxjwxps[numxfazcsjarkqiween]buetqrsimzcbtgzhzsf[wrqfmmbvuiqkwvp]zbrepqhzhdunnrn +ueayzrftvviieopw[qofbnikacyusqrrbv]atuxfxvlixxwcvude +deoydzpabwnaqtfxd[nllutgtjllzkatsq]xgnonhnxienzyed[ezrkioawmvehitxwjhf]vuogdpznmzfjgzpr +ulhyjalvebkjghczj[jvzavwgzjjdeldtdm]ldrwphcajtjuvio[tttnnxqawwwnbuka]mtffpzrcrdxageky +ernvupmfqenwbtcyn[awkenxigbfqhsill]fkdiahjzszftqvxlli[ybjbppmoizfneypxg]obejbjeeowjpdbjybyt[sxjkmqjclyofzwqn]yqwmlphtetbiibgdz +uusbgnnrbtwcrmje[qqmeirvvpnnmzbutfzi]ifaxaczresnptkymnyz +guxrbjipauqugqrzpmu[hzrdbmzdyhsoohkvtu]grkzmmnwasbhrxdt[btsoujquqpeybyj]wfhwixifkmtwuudy +seyavykxvclsfjl[qbflvoelkoqazcaqp]suxoaknbveehptfweqw[njwweoiyvtpfrbewz]inzavdrllmhnqymm[ejbzsuszmjrjuxcwqyu]vwkigjhfhjxrkfqfhl +ecigvrkevkctjtxsik[cjkbyodpqrnvddgs]eyycslgcoywzoptanfq +lzujpayxkxuzifwerb[gdeojymohresgorrdo]pdqyxzcqvdteylrat +kpmlpmrrkrzarytgt[nzptfiizwnqfofw]ckjcyzikqgkvirmmkgq[hjyganbtbybfgmh]zjhgccpfazxlimqd +gphmvfooqfwvfphl[kmcdmmsvpfxpltjgb]vwppbihfhizacdfqnro[xaohlglhyfuwbjwp]qmxrirjuykjugpnstou[quvrgvmptdljfic]kzqhwwoxbwlymyq +cbzuckwahcujzclqjkt[rrvunqrvwgwqvuttx]uzcrmsbtyolcnurkvq[qvabacizpifnonevh]izrmkzwxdlxipeh +mflfucxwxxhipfiku[bcvnwswfxcjawsvuari]swjjazksesdesowdlw +boaidwfbvczpqoiqmik[epkybuiwtziyivfqz]dhiaxvpeouscmwlmo[mysihqwgzbxmjvyn]jabptqnqwnybvwzuz[ebkvybwaobahtacbg]dgdkvixfjhjzrmeqq +ywwqdpptqnmurxjmbv[hdoboohawvopyoaeeaq]natawylxnkshbbsxfq[bbmuphyjdmwbmdiz]bedhnmdxtbttwzikzp +vlmusuahzbkotcibg[hkwkvexeevaoozp]bbskojlwqqttxex +eyhdwnisihrgwhjplh[okhrfhlponpohpw]irchnmtfshhetcaic[tpwxmbpteupylhtsc]svvugwhrttfdbux +qfpnzhnlvqcoymdh[uemznlwotfulkdmlow]fydazmgbuseuyixcxlw[ftbljyxnhtegcte]onriyxoqdjmmmfx[xntscxcggogfopwmoz]milailymauobysd +pmqvaceyhyxmmeddir[dehpytembcpfxigmnlu]bmwxoulpinsgveup +vpalydmfqaofuiypo[majdgpdckfvlxzgoaq]cbzngzjisqwehlimiw[iuimnfesszsbhrrq]ecarhrpuhbomwwyuku +ugcydmnwetdxgzyfeow[llvqrxgpfsftcdfxgh]kftfuzuwbqcpzsoh +bpczqezcnoqvczgmh[nwccnhsnwvpognecx]ythyfnkiqrycvtbimq[bjobvdwyrguwqhttg]djwhysheqweyafev +iroadbrdxogtrqwlwl[jyyyypxlscoqbhmc]ycbqpblnywlwcxayci +btfomssmpctxzpuq[bjygbuyfbbclevanxq]hplsxnnqunfvrnw +wcwvezxhwrriibechyi[rlezqecppmovbfuhjqw]ehlvbhfehghzritbny[tlzwzqzfuzvbrlcr]raqtyexpwqzqshe +fmcglnrqgieiagqnbb[ktnvufeyhtmgkdihk]srtoabweoozjcqlkkho[uzlwyxdosrzhrdwcvww]duomwhxgubjsayfzuu[geexrutxzvuatsznfqj]nkgrxdeuygvkdpbbw +ewoiahwaveddcxj[mniclhoatnmnrquglyh]dbwmwybqiruuenfp[igwzdmdbsalfszv]xpfgwkrpyqmednout[jvyzppslynsgrrpl]jbmdcxayjlxjhtp +rhwjxkxylgccctkw[xndyqfzclalsdaw]nvfuwsmlchhcspbcdlo[oyvnrjvpdmupwam]owfizytfvusumwjgcoo[szbgohpwjxlrehkig]zcrmjurxljhzfveqydn +nvbogneenunwabmunu[augsotpjbgmeynmk]wutlylrqmtdcywpj +ehaatfsreuyokmqvhx[xdkadlwltyyyqau]ygdgomdgdpvtydh[wqiklcudpmzsytnyf]nxsmhdqqokmigemys[qmhrzoisukkqamkfvlh]wpulrukjkuhwejxppr +mjtnnkoezanignra[ihuxiejzsefokchv]syikbrdxxbekxanohgc[cczlwiuxwhgwfxzx]jhwjydqwralxhuxs +xxnvdededqeczjjxjr[efxsqkksautmcljbt]bzfukwsdqtczdedav[prxheqwbidxrwzc]znwcgymybbcvgiujqkr +mzkvvanvczknijxnhq[fioykiipxbnpfjjp]yhqwqdxeqivoqkrx[lcqyuagpuareewpokct]dmfocogydcmynum[beqttskllywcmmk]rfshaoteqtzgrlxgvo +qbtaldekaxgzyzn[jdpcewsupmbasxodft]xwbmxkbklfmhbgf +fzpufmzsrjgzrsp[nqnxlsroxtfgchagu]idbhdqqdawkyevcaset +dmbwfzkjxjsxbbwxjxk[zpzjbnqaexcynexxfc]lhmupgoizvtefekv +sukirwqxhnpuyendfwk[gwhhspsvchcuanbmlk]cihzeilywxjzzsszs +vfnhoooqqcxjslt[viaoffogyjxkevxxy]awrzurrwovvpfnwwt[odcgpzhowqjlwknrcje]dfjqpxhooxdcysksg +nxapqpvdhslrgrtxhdc[iswvrpqulgrhsgpgvfm]vfjajvvwtkbksvpcel[xfwezauamawzimxp]cyxvapviuhfbkrgmgrg +ygfkcfednuuajdcfhsj[kfbwhcjqsjfogqkojt]ilreegrsxleixeyufpj[ywoeiiaocfmfluppxq]itesxinzmlvifuamwfy[vmjgdocquwhjrzmgpb]mlnzbcusixcerifrt +fmbmszmiytlbgqj[mxanjndezcdykejajsi]qvlnzcjskluajasur +yulipwbgosmxvdc[zjqvytlnqajkzppii]dcnsftspxtzxdanti[euqfuhptpvjykao]zgtgututsvpayduj[odtzdyrtdqxrlivdw]jhvsqcxpatcyvshmzql +ketdvlueslvybcl[gbqfjeqfubreoflj]mqucljvqtjdzkkguxl[cscsvcfcfrtmoejc]ympetkbksjlgckqmq[fljmocmgdeetrwjzkp]xgmkrjkmblfmxld +vganvlxnaghlgbsw[uzlvdvijyklbvwobtai]aurffdbczquryjnyqc[fakiiskqkgcyimxccrj]aiuuofkveublkebgxo +acgbontuyjxhjzivte[vhnoyyeixzytdvqbx]axjnjriuhwnfiywvq[uqbzlbmvpswmrcobbbj]sdnswtatodgdbomgto[byhfkjrwprtsxyvo]egepsmlsyaxmbkqewwy +rmehgzjwlppazpef[torfndyfptiaqocbgig]zeuumfssckpmberghn +wprlljcbkomsgwzmkwf[pnddkmzzdydnwxmcw]fshmicwlrfbandvxk +tfywkvcsqpcmmdn[wyhhgjdqoakjero]ahmkqjfahoahanfqmyw[ccajjvhoucigizl]essjlmnzjaqnmudato[reswrofsklipcrxhj]cammaiomtxtwzxkfzr +tbutcmnrbiocxfyz[rmulbtdvdhxipbrfdc]vdvzcjorbvgdnibhaay +mglgknfclgrnlsjeks[kgbcqxxrwaptfnhu]qwagqiwptnevfuhvdd[ltbweixojfqkkgigcsh]ekaaqcpckdwsiycwphj +xbeuepdtdgetlyts[noelmtthuhqqzehzi]duahbjiueuidjvcq +zlmuqeuvfhtryuqj[ijeqqnzqnovszigmw]inzhrtwwbmuzemmii[aklnymgoybonasv]btujwdjgohsbbdpn[eplxcmrwtbpiiocguv]omdpwlijtxbtpkjnadc +ubtwtuujltgdciadbew[tifvlhvmkihbvgc]tehgfwswdyfoqplq +miruhlxilkampypvb[gedoakbaqqbjacfugvr]jskrslhmptvfecqfs[rohgyawycunprspmv]bcxnomkecfuwogd[lschnreywutgueswe]sqaboebvgrvfnzy +ilazcsdpyeichrfm[cnaufvrnssjxtnm]ltqvdggeicpbynfit[yljqewexkzrquqdwwcq]qoeyoasrkbqksnzhse +jungtickddhipmxjcn[qmoineyadkfdgfzg]tpobgixddeodxgcjr[efzwhcwvtnsjpyauv]iulcbjyqjzgjjgiaceh +kmehlrsaqqgfujpktf[ltitekridxtfdfjpl]raberstzkbjrjcbuv[xdnhnqxmkafeqnkhpng]goctbjomnkwdrgia +cavrmrufhuuinevsc[zjmcibgnaeiqiowxiwi]gwwcfikfiqdrlene +fjexpcsopbvvidoff[yxpawrefvsjwhabs]rsttdnjzjkjgquzk[ctreaoaewixvhidcvq]ucrevrmgcdoqxuk[lekplpxhsbvpdjkdydm]ttkeariclyrgaqcxn +ylczzvberczmyxxm[ftoauyknufsxqul]hwpqmktovodawyfp +sgicxlvuxinwktk[umazryxwbnyetkt]ixteafrckcndrzgpn +qjmstghozevlgmorfw[fwfqlkezyaawxigjvu]uauprxlklccznhedwo +yazajhkedyzdalrf[wmcwsikcmspujqusu]ckcfptphxgjfxur[dsyuvmngnykyqqtpthd]yxsfmtoqiohkowv +irreyprjplgpwcvu[whzymanzzjzzcdpwozs]cxtmmgirpmopgjv +gpuoivluiqfsehobpf[pmyzlfdrrnhxroqgwio]msjvgnfvkdlhqapmnct[ezphbhrtairjmhdpnar]rhmbjsgyfwpxlby +psomwypfmhhrxinyu[seprlzeazlaszcqsj]kkkxafvaoacoarx +cingwjklampcczv[tmurwpisypfrrkwtczj]rginkyghsucgfisq[booesytmecdvkju]znxqjfpijzkysdtmmsh[gadlihvkgfqdinuadpd]tmfxgzlqfbhcdllvv +obzuaolefujubdeo[fdchhlogkgshfooxxm]vizstdcsahkbyalxpw[ttiwnlbkputjvhrxbr]kiwhlicermdqdjute +xjlrmnttecyshntd[aeghafcslhiikcwruq]ehatozrgbcjfrzrqqy[coqffrvrrriqzxy]yadpvxurqwaqrreldzz[azqyzwtfosbvgvnqyp]qlgtxssafzvbjdcp +uzvwzgbfcliawvbqiwh[mezzvofkojjzqkboqt]wmtksykcowwtuma +fqjyyglwuhnamhu[oggekxsqiqhbvtmzmt]chtzvlwtwunulxlqg[wytnygiogccqekoipy]azadrkmdoauqdjxs[bjgckllxkijveqihgoz]elwwwioxpfwlhhjo +caheljtlnwdiffq[lvkujiicujmfgsepqzo]egosgocsqbevhvohv[oircvvmeygjeowunzt]avpzemujsljtdmxkpo +urhkrdwsflcojukifj[dtsfipmyeihmwprsn]puneauixllfktfv[cnendzgfggilkaxwxh]xptnnywpqfzdnvixyuz[avtnsdvfoiepwxrjlyf]bfldcuveovkdrcz +yjdthbdxywslknys[pwmdercczlngxlcfb]htfodzxbiytrrgsvlg[qdmrvenblrubinexe]yytgcsisdwntcjf[euazjyiycjnjvfeqtto]jcvitytysllcmfs +kewxwqyysgxawyp[ovcqhszhpawacndzd]rkfgvpwtrcxqxddf[inqkivfwowcrhgmjgac]iimanbawoedagcdi +rueeymrjusakvlykpa[aeamgxaunfodoka]rwpxggzojactuegm[avjkmcxslweaeui]ynozhaiyuolylzgzs +lerccglmseezpff[kokaswvdquvaroznpwb]frwsjigowbshwkgchaq +ntgklrojireqpwpaim[yefrgtojfyohyxwi]poluptiflncoarpoe +wscxpyptitahaseyc[nvitggauypagnrqt]sljmhamehqsrrtnkma[ivnxwfzsbynfmqpv]vtvharumuefqaxvftvg +rlwvwbslirshnibivvb[byvoxmxjuaftvxwnt]jvriauiylbfjzhcuocn[janwjpqqlofoetwgvnm]pzenzwgepremxsk +qxwlnwckjetcytmk[wucfiwbchqulebnf]aefdblvtshogdmaozxp +mwipinfvshxjcxe[bquehtxanardycy]ommggmalllwhnabt[jcntxodpbdifmdxwvd]ntuocedcycagludkzzm +ngeaefgieqybvhi[cryyiffcehecznvqa]oawidmlbbgmhrir[snlxptoienxepsan]dhqjrbqawgpgmei[reotjgzlepggcqgnbo]solrlphkhigbypk +ooulaciwfjqsrxnmcmv[drkctnfsbgqskqfsl]cfqhlhuzsdhrfkftsth[equjfgsiwiwgyocukf]zcgzqaauyswoulk +eieuiqnxqsglieiwhyf[mdezfeskxxefatoper]heoiglecmtfdicwm[bnirkqodtuetivbade]tvebiafbqnkdxsxe[ctkpjclmsuzfquos]wavjtwzgjzvfvqde +wxtwmrbczcosqwhzfto[sozmnaawpeigiwj]etcgyhhuxmrmdldj[pxqzgtwpvljndiimuwh]kuetaxjjkbstwkjm +jiaaqqxaalhqlohrv[nvxlicxjecrwwxb]rwdjkmaliozzmcajom[xjsaybkbcjkjfibxsuf]qmhgazbvjwexgeupf[idktwwlpilpsyoc]pkashvhxhdyvhvn +yvteohdhfvxdhdflst[ityxisdhtkmbtukca]hafgktwtaezylpvsfe +pruxhfyvyakyiqcna[ldrptnvjswidsidtp]zvlyaagzulohednhrjw[uxrskjlzlbartnqphdv]hbmhdjpvepzffatjvgg[ompusushgickioil]rqblunnqahurwbpa +vvyhqbhvmmnbfcj[bilomucecrpyrolblb]ramlmynnrwcrmozxwf[neoosxkutnfxessbel]jbhlhcyhsvlblznlz +tamaeqtyaehjgwj[gtihpldnfhyivafttdf]jdjvcusmevnnwolc[bjoubckzocuycsqxz]phxayhhvmanhmohpi[ughfukiniuuqqiynkgb]ruqhoriiyrenlsro +tnijlugrrsiutmtu[ijlkmzbqtyxfazvlmra]lwtqqxcybhepudhzkjs[pjjohpevoavwtakadra]uduqpqqfilscmbhjct[gnsdwzzqaagwrspe]tgfcjysekfhucshiu +ngcahuptcjnugolkor[abcuqhpogcymsuqbdys]cctjmgpayksyjwp[cbiuigxbektpivgyyd]jbhjcwigpmxxccaoa +cscijxhbjjwjsril[xnglunblqpwhrmf]vrmlfzokdviqexa +owlwbfpofwjmmaurh[vwyiwzwryuwtzne]bppqkhiaaoskdmuuv[rbjsfdavefilcbdl]aioqshgjklhbmhggv[ebzzfugfmojpiyinex]araazgeiuvamzogvru +wfdanweiqjmyirrqjh[subtlajaakafgyzdw]zcwlwyrhmwqjbvoz[gkygnrgxvshuerhx]vksyrqyjhjbfvthvbu +wtyfaazlbxfrbpo[ehyezrboykpctruj]ueojejetsitcdgaq +xuacfazgdjzjscsbp[kzjzkqfubdgmsywqiwm]vzjcgemfarnixlv +efsylgeymygjtmtbp[gcbfjdjtobzhfjeeqok]plytmtkttlizydos[vuscnxlyasuhrpdjhzd]qpwhqexybrceqod[fxavafmimzhhahuil]mymoublumovagougb +auxgfqpalqgostoho[iaopjgipbvoljstgnzh]yislgmfykietpmpz[oznkptntgupwfdpo]nscpfrjsrxptzvvbagq[nzfkygqmocjvsxlg]gtjcffsqfoyyoopb +ayoizeyzqyepfckfc[weehzjiwckfuhuhrkrc]dwhrrvmjmncgjnbdqs[pnrnfsebeayhuhg]jsomlitkqczmolwrd +ryzbiwjppxvobnnpt[zbkwgffelrzllxzpc]mhfvqmscbuvntmdk +kuhsqlajwgworxlv[sdvoyogxfxohrmphr]latomkqvgilskgd +aqwjohiickzgmqiazma[iruejpnfddezlde]dtugotrxhvibnntf +psmfwsnanuctpuhir[yfcfhfneyerirhtymhk]ufjezoiilapnkuvg[dwzvhjdcqjwiojsm]nakkljyivpyeysz +anxobixhtumunsloxv[kkepunsqydagtzb]gjyzevqkmzbquaxc +wkqiutnljwktezrumnt[impvwsoflobulhpnrg]aauhcaluwladrlrf[fkwpqeaxrrfjirzx]wpzijgenpehibsoe +ptbfrdazumqqjxdce[twtaixllcdgcizk]pxeolkwstvzduelo +hdgwniaxukuanuvqdjb[mnpviwocxweddyckmgu]ruhrtszphsehnzow[xwgsrplhfwbpdazcm]batqeknzekbsbaj[ibsjvspgzsfzdyhqy]cpzclpvkyascrkjsbz +fkottffuwepewoer[qeicyklnplxyxgx]quifslbalnnxiuaoa[tajydbewnlihmfbsrqd]qdnexoerxpznsffnq +msibklqbsqliajf[qatfxjlufgcclyn]vkvzkfxmrewiaobdtg[csjgpsekgzemrrzfjoc]giudmrabqytyumyz[unysktvcupoebdtdjm]wrvvpcixjxurmfup +rzaochbmmkwqojsggj[hqgjlsylxaxduem]xjjajcosywqrittlhmf +gfxbfanmuiynavnsdpu[dnheoijlhxktdgy]hehjznezyjlucrlay[oxaecsuxwcfwadrx]tttkbnbmcpdwzggsca +dbfixltxcjobjlvuudq[inwqktqebeeyzsnsj]ayxryykxergvgwj +mczmiyukammjenszpo[uvsfnmnyquaksozs]ybkkzmbwkbvtdtmnawp +pncobbtnkbmzcejovvp[rqkjgvinchxyqvfxvnb]llnmxorlkksamzfc +luwtmcohdekeexghl[ispzxftymadcstcsw]lqibavnlsxkzggkcowk[epnjilabodlxnrqs]wcehkmgxwyqathdli +siiegioswztzbrrwp[bzdhkwsjzpspulrfxo]bgskefnysbyzujrwrm[pgrouectpbahyqbljw]dpzigoasczqhulwkmz[bymzpzhhgwmbrzxiz]yfqqmxncxwypftl +zgzhuhdilruwltkx[uhukqbixedpbalpukcm]pcirnevcltnpdlvpy[fnatvckycxljmgf]rzktzrmekmxfrjsmch +qxfwzgzttjxijfdp[zmnhqryznywavpxvud]tzsripbxwewwxziwreo +eqbpntitazohdzwomuh[rfwyrkaksnngmnywz]uovqoygbbarmschc[pzlgrxvehlnsylyzn]llunlfmkkxbyrxao[konbsjszcjzzojsjdbt]fhmretnaylsqssk +djlceaeoeocxppkdd[slwudqrbqrmxjbpalvl]zgmdrmnhmudpjubdn[qvszgsvurpmwbxwkof]ynoroawinaiyyyv[icghtfhaxxdyhhnw]giyjsbnzxvlvshrj +wxlcotazpgttprtr[pqohcscugutrtwl]cmcvoaigjoyyirbnfm[mlbzepkrpbktgzg]hlwdbtnzizwziatmze +uigffkhqtknzfoggi[beusbrkvhajotrspsa]wsaccsnetgfeffsvo +vwjksvkdppzehlj[fgzpmrsvorfrskds]pdhnuxsfyfmxbxdtkgx[wyzytytpktbcrux]mqophfrfasafqvx +cbiektcdwbpgbfffqlg[xudmslkpoodtjuyl]dfzjgkpdxjxunbs[jmzbznrrvagvbkhfzuc]guzkgxevlwuuihkxhku +krwunjrqhebehsdrrv[tkqcdyqxpoxkznqfpn]atijrfgfpoikyyxr[aukbebwadqcyebjzr]okttfqdqwqjzduyp[lwbsydhmlsuuagmvq]lnbivkfcmpatybgezf +gtkprhekcgvyacadjv[ycacswywvajrnznxqyg]lpwtalhwtzixzoqouyq +cmgabofgylfqrygksjh[ljtoelliawqfehw]ekjwdlivarpaxxhp +jimwgnncdqgvfzct[jtoqqtcskgjmnuvde]krjarkoejzgfymes[hacxazxohdagrwkispg]elbglxqfncqzknz +cjbngqpkhmteobtn[wgkuzdajyhlgjhnm]smwxsrmycomfotazrz[wwnbjzriifrmchl]ksmbqcorpnqvxkckg[xbrpmogeewodnwlczc]yeufgfeqdcsyvpzl +wwtfuffzcrzckue[uginpewlyecqytkn]pyzvhapqlilxfrgi[rtpbfqloswoobmet]cufulooqzmuegdcfx +mmbnvbkrqufffexnluj[lvrxotqcfaxijevnlls]hckvivyebczkbhzkoz +rwifsnduvsovozufh[zsevrarnsnrlwhv]wmfaxpuqcbdqqkfxp[asfctkcvcewnuiaavml]vjcsekcianmizjohjx +afxfayrqsbxfxbpegau[cowlrldjefmtodaj]qtyysudehpyqyipjn +whwezmjibdtptpnnav[uiidrcikchzxaaekrx]mxpiqimmuoethflmuil +famndmzjihjygvwxbes[cskofhcpbmnyoexbmhh]sqawbxfgxyvbjftjmvq[bqlwfijohjtpyfvd]wbhaubzrxkovyopf[jiobwkiybhfqmnfcq]uquelithhevuspiwg +evxvxpsxwcomtsn[mksjlthzepnfyhoot]bwlyelqhnmoigjhmw +gztljipmofkoqhci[uhrmqnxirgeurbcyegv]feeplfilamskiayvyg[smthmugcggtalps]ujxnupixzojthbc[frsysrlqpxleeat]kalzaynaafgemiwwzl +rrxvdpenycjjhrv[uklidponmhdmwcop]qjyjbjolepkgwzt[ujcsmslytamzhql]ylpbltrhzcsgugipwz +oqvcvzpfkkiuiinj[dyavbabhfsrwufre]ucvyetdkdqqllnvmqyn[jksnzdkgndvqvrf]jbnihgzboxiefpucvg[lclejyqlczxyfxv]tqzrdrohqjqbxvljg +ciiwuorwmthnnju[awwduwgtjtlacvtu]lguoqpebbsryyhkjj[imqbzrjtjatcwlv]abdryvpwcwgdxpp[xdjcegxusjmkkpakqnp]cewtlucgvbplfee +vwmiycweuodladozd[zgecpryfcrcesjpjleq]wuukspkkgovrwyeyavo[xrywxofadxwfbtjbib]qzggcrccppsplyv +ipqomncjvpkzmfmrey[qhjtirpbqvxqdaqlngr]xushcgcnvhjjaab +hanwcykvdzvqxzfuz[vscvsqlvjwklirxvtyw]ozfecbczyozgpgmnux[pcrmkhlciltnaqulctl]joxgcwvqiqnlpxly +eajxoseiopcweolcly[qcjswlwuaycliejkjes]trxhfjqliihbmaa[bdfmewvqwjldbfff]qkjkaebazisyaxm +dtbhhjsdulubdvyi[taxprjsytexlulzs]xnlveqmnmalhdzl[navatnkberwbyfblq]qcjrpsuapovgarlku +yhfzspprhymusakwfn[mmhvflmsbaurucdtf]dotdlxxnwjemghfb[mgpbdcxreshkrvyqtyx]cuclgizfrkqvyiq[tshbnfhmikxdllavl]gowjautvkiyhqhehp +zdnboupldkfumvpw[tibtbbqktytsfzpdf]mhfcepjpzkdaywtpz +ykhefgrfwkvwukmyrj[nvjzntbxyvdjwkwsz]zeyamuqcuwixlvtwk[hcipdkqdmmdvytzvahz]rliuuxcbwxywvihbyh[jhnzgkztfdjxogrq]rjhrrhuycvjivbqag +nwlfwetmlhmbqjpqbg[cswbhfikzrfehdctn]ahtfkjunmkthgvelnqw[argwicwrcxfpwak]tdjjaycocoxzuvbfmu +amuosxbnsjqcjjcjlhz[mnvuuqbnkthunnr]xreidmwwpnszmkdirso[fmssrzncsdordasr]yecrqkjktgwiogf +ngralilfroaqpde[uilihhzkihdkqrs]hcnksdqxgxcreunsj +ludhpshvlwbeylcrur[xpatogvisnozepxs]pqitbjvvxbcxmmj[augxcqtjifzcghbcb]uixsaawafzlnyxur[klvyyhwnmyugqwml]rjtesbcgfazkodfnouq +bjoeuyklkrzssqxdmc[zpgzcvdrtyguamwwpxp]jrdmpbicebfcjxpxuch +zuxhemqzvwtfwzdhvtq[nimvutjlcjyxlxditet]yiveivjwzypjdewyc[udbsmbomkbzbfbjhg]ivkxhwryocskjfgzt[yhqpoyummwmuugpyn]gihcogdyyexfysjai +ywhxzrbmdwqtkgmfz[aqvuoigvfhxkmsvnzdb]gmxwelhjpwcsatmsz +grvcvhjgvcltjobrclo[atoxxtcrmyacmuxze]ynxcizfubrdfuva[fylsoujclhiotofum]kgokhjsqdtmcyka +udciiofyatqnvbvr[mmjooqnomcawqitjfv]kwhegzsilpcelskmn[vkdceozvjdugpyfqszn]iajtqynckzqqnwxq +lizdfzudionqpeqoc[fydjtozosflhutaj]jlpzkhyehhddenh[vkyelwykpcucfic]kjdifkxhpylenuuzws +ictzptuzpalhsfbuf[pzvehtwtonuuupkwjda]zmarfmjqyuvyhdra +eygeklpjrsjyfjip[hxhqxtksenklsev]ywbklxmsdwckent[podxpppgzgqeicgzv]hejmgonsicpdmjt +kurniprrhhqzevgbvqa[vuieoxpjerxdypcn]nhojyqglxopniwosaqm[sestwcawjvwerau]qkigcakhabmshkze[zzhiapexkmewgav]bijkfysxswmdpduuinm +qjgkgckdoxgmjdufvh[oabgwxeccihlwvpmmvm]nramdhjgftbsopk +lmbcfngtpsbxhhpddy[gfdoppyayoeimqgkjsv]andowwxqrksorzu[sxdfywvbdxamamfgevl]zssxeirnjcewzkfymvt +nsbsfwnjejgchrqq[mjinwhreiayznfb]fugheybtigwnkix +darbiaqtzgzcmchrog[msdzzuauqnhqrpdso]heytmuossdsjeku +udihwimgsuqkoblt[uigkatsqhojrydtgjiw]kxrdjfzeaqnrbdvu +knnkljnbstqfgnyanik[rbtjdvnfatggbvyftu]thbtcjmlzilmspkoqyt[blsphgtjaywnboxwcel]vpjathronbwrtzfttr[plhudkkkixgxles]embdkzgbuaqjwhbmetm +kwzdnmnmptaerbaidmu[vsvbafnuqalixgkxf]roarzitkzjrtrncqqbm[ojvlwohunbfocmppw]mornpbroptyizcrk[cpwqbbbfpznheukt]gbzprurpkirufsuihd +bkmorggmbkrwawvkq[modnbcdgrexhlrqo]ieblvxbumgymmnwe[bufvnrpvpwkobud]rqtkkkegurdntvbx[wldfyxvehuowkkhimr]hagluvsvnegjyqbszv +rigzhmrukrceyebqhw[bduputrizqhdknjg]vbppheyeylzceqm +zltoccrpxepezoiobl[masvtxjotwxyjcgjv]ezipqxhdwmquhkfug[djngkeljyefhvrh]ksxpxnddewdlegbj +xjmufgrbjwgkqrlm[pwultrznglpwfvph]owivnxbspqfqctpjc[twxziasrnsysxgw]jggzouwpbslcqcnx +oqcurjpogqrdfwejkja[mzchxpphbhegksxjw]acfgfwxlxxautgdhgwa +vsmyxgsqymzwcxmttrq[algwrffexzqtrkyhc]twdohwzdwyylbim +cyatioidvalbcesdgbv[qwcvhlyylvdpcamukb]ncaelykrajqrizb[tkcazcbkjloryhs]prbojgyrcmhcghtedta[jwjfykhcfazalocr]zwsimkkjuoigtwqyu +csvfkwjbzkwebxkgsik[xulnpceuwncnmxybk]kppqybwxkaetszb[dknmmnoxewybfuk]vxayuzpqovhwqdvshpp +kkymsvqoijvlegzjq[admimrplqgegveq]uzejgcrptowsugmqwg[btgutoftcsdbrigj]ndnimimikyzenbcwc +beoudboaxiqsnwgk[djzpyulpcxktniufo]miakkcyyfjhfkoahe +rngvmyxvnjydymjbuwl[lxzcqbiwdajwyyxhmve]spvzprgxdcbjuykbo[cbulwyvrbljefvrjoba]aygqsevnarikktyyyww[utfcukiuxzoyvbfxgdh]nxciqujjwsaypjwa +vvugubathffvsasmjl[rcynyuxpxlldargshl]wluoczkugodyonojrg[wjkpxvdecdhixcrf]wnasclodhzhkqmhszp +yegiztnhhksubmgjyum[tjwbnqatwqmtflm]qgenrenqlyigdovz[jlocrpkcduhhuwwh]tllapacwolqdjemy +ssfuzetcmvlqtcwuq[toybbukdrftyhkcwgf]pposzrtracoojhlkxwm +sgexrebbgasycqwrt[kkshnwwwqkdtnks]cndtytgbytybvenqeka[caccwspxdeccdmh]ktygfulwjwpjymvwgyy[cnqfidaqpggammsfeqn]gebngavsmexahlyydfj +zyjeiarohhfvevgp[bcxuhacvmygsysjk]tbcgucjwhembofbmu[fwrcevelvjgfsivoxm]cagnrpzvlvvoqthmaf +tqflyhdcdbhvhiccqt[najsjeaeqvcqfqvpwt]rnswopkqipgmpoiq[aeactxwfdpkhesxjgjv]stoujyprunkpiuzua +pkwroiewwcdnrchgw[urbxhsiveqaksvnh]jdsuaaugprspfmppndc[nlfyiblfuxmybaucqlt]hhrhnuuvybcrppwp +qltvmxcdgsxzjvqr[lksbbyjvmlrethgozn]fronjwxcpdmwjrdd[txdmgfzhxyylxlvnpk]llxzijthhpactoomtf[ixnzlpddxezcgzwwhpd]tqlvbducycucuhvpbnb +firavewfdkkjcvdbh[rvovoqyrvplfgieeotp]ueqyzeaafxytfaa +hzhmpipzxguliovwyeq[lnnheexdditstrstet]gkiukzblsyzhztewn[ltrjjhtgmwhmxtauuxb]iscazubkpilhbzqegha[wswadsquonsqhua]qsawnviqqchlktswocc +dnxkdwlgifyyvbm[ijbtauulxlucchcyqt]ncefzdbjqeitqkw[zdxjxoonqyftvfr]poueayoqpxhurmpljbl[camkvseqvwbchvzctyw]ydneicysmonkpzkln +qbcaguyajgdbfobjkpn[uxllimvdajnrphnswi]bjgqthxlvnzgwyw +jbykbmjdcjelkzzpque[imcqrskxmrnolzfo]cynfuedydcwqwbzytoi[rpwbtrbyecriqwqrctb]nkidbxrnukpgnxgxsae +mkjcmwdwwxkyxheh[xmukklgiqugftgwye]qkbgqiujdmijxja[fjtiljoqhrzoolkmx]dgslmiivufoyocbj +mxlsbtzszpmsglyhrc[toixnvsdmmpznalw]jjycdqdnscyvjvn[innrkszsszrbcso]oeffvbeiklmnjfbfh +hpuxewzjmpjygvxbcrk[pkcwoxmqustladwnq]ojhogbrsiykysjj[rewecvvwwdolcjwmay]zluruacmjvqeyjekur[rcrmhjdkrjqnokbyu]xruriibzsbgusbwjk +zhilgektlngqvqdxlaq[cvpwwagoducswvtuk]uxddjvgnsqquiakwwx[mipnlvwywxkgrrik]wnpiusulsnkmkktclvj +tzfubkcarcnhuyd[arahdshumzxbcfirpm]zybjdkjhdsynnqtekt[vlzkzwzbybgnrfzqnzp]tnscrllyxcipjlujfrq[robowntnkpydegvi]uzxmxmwkrduisiu +titnnidzbachmvlg[fvkpotpsqsqaehdfhku]ixneotupwzhbaei +yqhkiflwsmjogoobtb[tjbgpbgnoiojulndo]wfimortfcsjwbhiwpu[tgwqgogdyfwgyumadrr]vroalcovcicroilnw +pfqikafmxfzlpty[shvuoklognffaswl]whlxqkgppveocss[hkrveyjsrzhncmd]xrzidrwyygkrpjdzmtg +ymdhqmyinwrqshsu[vecybobwvkfcyjbqsc]ufhtkjtudydsmjwmw +ezflrjjjszqvvwbtoo[hqfroljfozhsinxlu]ympnqaaziudsojktqye +fcqkypksoqhiwsjjttw[jwhvnzbvhbhsixdll]xgssfogwocvsxwxnx +rcrbicomagvcsrbqii[wyiwenfjfnrqdny]mrcahrhypdsjducntms[lvkwgoanghhqwhoeer]xadjlqopanooufkum[qnirzoomgusnjaupc]xsprfvnxtqpzhjp +zeqoumtrgrrnvrw[slruzyhnmciocplyuo]ffojftbgesaqsjf +dmvgxxqvnpedjfo[ctwyxmpfqtcqqsijx]zzdxckjybbppwqilpua +bwntryszlvfclxv[pvotnlyzuxobazeeal]bycdvictzwlrzfhyj[ttqiblkfwgymsst]coumflrufbeyglnnb[mkmpljazbeuwwyin]zhjyglimdczoqyscan +kfigtxoxuthwwrjvgng[icjjpsdpyrdztjsb]eicdeqzinxjalxdp[sxweoaoukdogojj]aobmxiokyghjlleincz[shlerrmxojldovd]covvazglqpbyqgkioz +uzbcojdhsfojjlu[bwdpxmgxkdccutung]gtqttzddkisawimh[nsjzininsswfhqmfjse]bssyqvptbraxmulhrmt +vzcutfvziehufcsjyj[uugqtbavyaekujogl]jmieipxsmcdlegpms[ldhzfsqpxwhrysmemsd]npifxsiyviafhsttuy +jgihvujltzfrdgdewh[pktgihjhfalgsqbzxou]bljspsetjvwjagynx[cfxqafpzydszgkeem]nnykcqratmlebgovjb[ytrifgfcaktdtkvyw]qqewrhcmlidtzlf +cvcsofkukrvgrjgb[omiudzcwfysfqnj]vywzmoymigukdihdg +qtcslzaksrjbewh[hutqoujpiprqkdliquy]itpfuvipirtlcqh[gwgytaecvdznluaa]dnzrpmzugzgfboy +mexaxkluhxpiiwly[ropgybjghfmcbihdwkc]nqhhhdxqkkfgxjr[yngnctrmwrulexwysg]qygnpplgwcjdodyejfr +rietcgvwqtbvgckrggi[wrusqmctiepawnnlhiw]jwqcwchqykybkeut +gmyiittlkdlrkxkqgf[gkdtxdzmzkztbmbwtj]swydvrueplaxzivlc[grymbmrjoxetbmdgs]qyvutlvjujshplo[hwhhbcaiplbxlwaxt]oydtwcmximtqtaxsf +lqfsdrpfltujbevz[igbawyyumtvdyswpqo]kxgjemjfbzkxgbzm[annhlirlyaqkkzzut]becuzehpeskngui[plesynprupxzdbtkoyz]athsmfdazbnkvnh +zlvudnpfcsotmpbo[garuvqkldrjhudgqr]vmcgqengyxwimhojvfb[nxsjlmotcrvtsklog]tcczmkpwpatpcxt[ndqamgekwopsodazoy]jzazlfgsickokya +kkpydxoanbmqnhsp[gwqeivjgguqxibtm]uofkzcwkmgaglivk[nhrxvkzrqgaowbsl]njkdjgyksqkgdmqgd +ewmhmajwkzwavxrbua[zvkyzqqboezremlppdx]xvbrmpczbgxytisrs +pwnwsuvapjfzjfkda[xensayezbpyzbgkb]rldclkcrkioucas +hpdgpscrmwxhxei[hebvcxoindxpclmzqo]yxheicwrkqddvjtrvhz[cfdcgcybrqzppfvqz]fxmhhzkhrypfdxzngp +rdyjladykkdyywzkxaz[yrlorltuadiurqm]uooymnfxwwhotlovb[eqvyqexqmdcebadqni]ttzsxuvjhibdimb +uwwwjjzywyawsfl[spiejlwyweopdpeppr]syzsgittkmodhxeux +ruvjlsxcncnvnjabb[wprypnotloecopcvk]frvlqhrcmgrworpmdvx[yzqqdnrcuqefasxs]jhywqfobrryuieijpux +ldoryefjbqalsezur[etirhaprgyhoxpjg]pcqecyrirpqsiami[snnzgzlovmbbmrkjyfk]vfvvewvcweflmnirizw +zhtksckufkyilvhjwud[njnqcbeufqhspikcj]fhiscbxxrfperbs[aytqbcoojpvsumqxmpo]yialsgeknykhyvtvx[wdmixjtpahbmyyhbkyo]lpuoqmuccejrnuo +quqoquknjavdraji[lmankeixycmwcro]bvjoxsmhmxhqppady[zrswqkspsemszym]rzlvztdchdycvai[wyjokbfazntwjgozi]grxvbucupvzfquci +qbynimsfznxvgglz[vznlauwqwafrkyrn]mzcazuqwqubbimiw +jpwcnjqvcormlcmms[efsxwgrrcdvbekcrqrj]cbjgumooqxsugmfiz +lodwcbxwcdxlonvmhu[vqteuharlchiwpz]qsjfscfdauuiojydy[eibbhmbfufhnmbuq]lhjksvudswbxokc +ezuwqhuggkrxbwwbn[xkswdvghxdvavsfvh]xkhmyagoyfonbvwer[gqllsdlwfidxezgqh]mjasmvsqppjxxwcda[hjmpqkhaknzxjgqbfqh]dkmamzdrkgpqqbdjrsh +iyygskwznbipfxzfq[tmcweskexpjtkalzb]jejxucbrhchjxrfpabf +vtymsqpczfmiptqp[mznayygexotqairko]cvziwgvrnuarvaht[edtztcpdedxayfjfh]nbcceefaansonnddne +vjqdcxevfuogghpnta[ptmseetkpioyotviji]gdrorymekwxhpxpy[fpvjijrzwfyelnv]rkyiluhtmnzvhnas +qvemubvgpmngkhwbzuw[cjpijkbagomoxelh]ffivvlpphtqehse[sxcypopyygxyvbbuj]dvpfciwgskuabqx +gfakfkyofxjvlmsvh[tpidjfjqbknkojhfhr]zxwncvxqrrvcyirqiz[zabnehhkxmcorkdpgfu]ednajzhucajnivj[qusnqmlqtsspvmim]ziwmeyegzogqukuqtk +mqyqowzlhqmskdihhk[zedonzhocrbmtggear]fvgknaiaulhpzxjljit[xsaforkdhyqbaings]irvlawxlnujhwyyg +nhbmdwaargmljhtpnvt[icjifdxafaejyztkra]sahtqxjpyzckhuhbi +lpeanpdwupghamqaqcl[abfqfypetxvriaylxny]wnkhxizozkazedpb[giqitcoemtvagwklm]nkstudabthwohcxfmqd[vrpofzibesdansaffr]xxungasknuqsrtwlno +fuzqaknwrjomqcnq[grpbplvwtzhdkwpaxw]nghayuwoldtwqsxya +bvfazcsfainevpvzlf[rjefaqfpnpegvzqg]gjybyujttbxxykdiuko[wrhqwekljqnwcrprlg]nxokueewbmggdus +saaebvbdlwdbwny[xgfsxsbuiajbaddjz]bascpnotgqmvgol[tirosowipbbbehvmn]hhbuuxlvxolopvprjt +lyjqinshudmibsoxg[ezfuijtnyeisouvta]lxdcntfsjmuuptsjsf[mdvcehaamwumvplvuch]flxpmjotsprtcpgim +kvqeaqtusiagcjg[rgtygcnurmyhcsiyywo]xmzqwnvzarhvtwoj[hmonnjgsicgshstxj]dlymvtimuytjskulwx +vhhkkaxbkbofalfl[cjhptxrtmrobxtj]pvavovctkrqlwnp +ksskxhxowvmqpjwcyas[gvrhgwvvofhwsxw]nywalantbuvudyv +jnfjmmlnqnlsckt[ualqfwngnmbhyzixtn]aftdtewnfgfgrnujo +qeclpcybnmxipvz[kjhmumbnshysvysgtfv]nncapaxvtjppgrfeppt[jgugadrhhdkbgwrwoed]mifgdmewybqmgitelmv[aivxnvlugqgettif]sfapdujsxigrknkevia +bnsibkkdazlzccjz[rysyrwccuvyhhzqo]ddilmelsqneizzrizt[tsyksvmzwmijgrr]iacreiybrgzctzodlz +zgskdjrcykzddiwijmp[rmiqcmrtcbvqlyoi]dlvvzqooapcfbeuu +qzmylxdpipefxqzgktb[fxhihkccfxqvtmuxqv]deubvywhoefvgyc[dngwahicxwayxzlgv]jtmsfgmyzwoyienmg +uclqomkdtlqoxxye[ugsgctofzruvzlugkln]zwdzkmcadtpxsbonb[mevzdzgtsdolgxnm]aqjqvdclgujsmgavlf[wohelkvlnorhemdjdua]igsixgwbfwgcyzowvl +fmoovpkjjyxbjwvab[cxwwjhdkeuhlaeow]etfqyaldkxtdepau[ioudnnfnsgnulgsjg]rilsunyxwibprwunat +bcnxnridsadywsxjni[hioukepqwivorww]ectwlxnxladujcg +zixbydwfwfmafikv[ekwselrqiseuohdpp]aapafknzrvubjeno[syjjufbyxzsgvllsnp]lzuaaxiwmpkuddmvhsf +gqjpmdcbihbvzorur[yuvqoawxfyiymumyj]wtgpebjnhtcneqwqoua[ivklwirbiayzetffz]xslbmxqzwaljfvygqnc[ojezsvsvnsnnyfudk]iosmfoyrgegzldoam +jfijnmybbtouluiqjl[bsrsawourhuudsife]coznoauxtvdkbap +nishcniuavmryvc[gksdtautnqyzhensdv]sasjevbaburbgfr[omzgytefbuxsxsitr]qwglehfutwjwwxvr +cvopfdvcktoxebkdvlf[eclqsoslcmosoqwgx]njqfdhmmgrmyphih[utiwibvbgfqgislfa]ezjiqpwqmvjgephrp +stnsqqqbubohnjvwr[ltmnbonbxkiufockgp]dmcjolejvgrnker +ywcorwsrpukosbbfexy[nhglhymfmtceixme]jiwtyhnkqyftleac +eghaeiqmztgekxepeoy[ujywtzprycqtqnamcfq]evlvzlbdytqsrfmeyvz[lddfkaawaqetpfh]pwisuwhxodbhmpeprvs +assohytheyayjhavd[rlienfkkyvplebbreq]zrbhqxtolqxtvziuz +gaumnsmwbupmcfiuxb[pdrzbltwkiqniay]ktdjgqrujtegvkj +vcjgwvglfqnqyobkkm[ymavkjrbygenzrxdrfb]fspdwrvbklalycsr[monzhqnasxvigua]rarbkqeinudxmdvgd +mcjmiagpmzhuskafd[lhnobhafickkuvpcpa]dhmygriuguzqdtiz[vkqlyvmpeswtlhuw]fxiwdwuokkycyxgh +ylhbecxvzvuoeyqsyzy[kbeubfucymxhzqvhoyx]mwccbakdngxsnkgcng[pjkfesroeekkahf]zdsaikucfmjpvrntyp[mekckfjquchivldsmb]hzsswhygovftixzgqx +ijuxhpqzyvkcnxkbb[jcmsgohgenvwsqmh]wtmofqsotoeysqo[ymcbyqszvogpxil]otcpckntlcrigkhmtqg +ynctlsxzkfmzoeumgol[mlrfvbtngukomzm]zxgfyumnoeuvzyxkrk[vzhqczyaabmlyfqkx]ptwykaktmvclixv +xqqnbjbpcdkbkbd[dsksxdjbjflkqywxpex]wlbsjfiqndxorpcipk +nadavjddvlyztmch[ocpvdqhrxpujywek]snbleixecjqdady +lxnwiiubgblixzohzdw[jqkznvkxjgeuastjt]lslxccnbzazdvtas[srxowclwplgwdzbsvys]gjmhfbweaenibjwdunx +wktaosoqvlrufzacw[zmsxgoedyzigzxqnviq]tknxhylmyhksrnz[emunuqtrtdfmaliqa]fphkhnxxrhtqtxrezg[kiysaxlfbgpyjmf]rqijwvmpjgemixf +xslqmqubvuvjtpvqks[yarkmtsupmlvcthzd]wmbamgabxaskvkkeu[ootxlynahvjptcxvzn]tqysfytitdhoqbl +kaihfsjlfekzqeyk[eylgitksxfusedvau]xvuvxfyfpvvnbwn[gaklbqnzcddgceb]dqruoulozotowjiyd +ikikqfrwmjphtgbpljz[isprhvveoomgjanfa]peuycdlptwlcxwtdgwl +qkrnghizqoorxufsxi[yvdhlbkcpajtoyai]btushzrdgehiczofzmj +atlsowvzkzankvo[phkmrijtovsgefjg]ibekcwjlxbphloozgw +yvwczyvdedvhjsl[upnwtzmrzffgovvzdx]blokchottfcidovo[exxnqadcasycpsc]jrvarkfshiqfizur +pkrqdpvqfaruzcutixj[dzghueizebgabnh]cuzbyldnjqoabquyghi +zxtwwlgwbdibbpdn[qxalqsxecjxrwnbamk]mkfkphzjclkrtfr[bchpdzedqjydvvcdw]yedvmdvvtaypdbmdg +vhdkgawbmowrvalxmj[bmwsxikazlmyzjcpdkx]xfiinhpfwypbjty[ftadhpvffqzaulm]fxkqnaiufqxwkblr +tylygjjapoammov[pfmalwzqjpwbwulwtjy]fajnrkplylsjncbxmir +nqolmalspryhtehrx[vukchwjwrqqgchh]oqeqtyturaikqpmt[jfjpzvpsinrzntrpp]tystfonafirnerlxoe[qegerynoywfrtqr]pkvjziuspehamikic +fcyiizqjvutqhlq[ienhrsjfuveqlihtjkw]zupcxrbjzgootlqucwb[belvzvymfrusrgpy]ttrpfhjworpyuie[tqrfysbtovzqdlfiptf]ycwnsgufokjzvnndl +uupskbpknehwzqla[ayucqrzvzpdphovdg]qkdpdncdxmhrjny +msdlimayoswylps[fhcqpeopfooxcqn]gvplqehlhyezappwtj +vmooyafxlnvejuo[hxisybwiwdftghdqnfn]xsxzfubzytpwetxexc +tpkvdshvxmxywucfo[sxdracfgslwjgvfqn]gwgnsuwdpldvivn[rqxzjyfzjkfxnflnhb]yytyydpnzxrcwgtq +hlkwwladaiboeqb[dwnwjpnnaiskatz]vmdrqjmjtwmglst[awfslnfdpfotbislhwq]wksnziftpvflkmwso +ndsgxnhvmhoxyjnl[ykbvfduburptpcv]htzjbkydiqbnnwtztk[fdlpumnolavlfkigfs]ghtsjyzmlhzgysey +rcxmqtghbvusvizrxm[cfircclziuhjbjcuic]ysjoeyszfcppxbggs +sdtcngnkylcewwo[ezipqbindaulzvte]krmjsfxzkwbqjyc +jqarloupbxsippsxf[buaiecyfakilculab]digjxonfqgozbucnd[wpgyftibkfpyjtqn]jsvpngrtnsmbhdrx +wmrkgdpyrcuwjgkane[adxvxjgpvksjsxbfj]bxvqycujwmuqstigdof +paqnqyxbzrlzixpfocv[uohcyquxckdqfvncq]kfhcpornbacubjrluw[ncfsgpqqvinmaioducg]kebxiybzjexewtohuq[thymyottcuduhlhfmhc]efulkzqoqzgfpkvbddz +ytwqlfauutjkpuyw[togbiujaisjsqwgdzfc]vtbvirlqdylkuewkx[lwsgpmmcxhhtfyismv]dfwnnjyfxcdbmkt +ibkbgrvebufxdfvsyal[gfuefwpduppdqoagwmf]kikbktuwqqkyuecaxuf +fsbimkecxvqycnooy[atlsgjtcybrygfcvwed]goxunrzddzoktzdz +qgdsvqfwhsenvhnbglf[rctvnuyzhtldsuftidc]loccvvwdkymguuax[tjorbctzavmegny]gnoovwxazfyimdbke[praqdwvrbkiucdd]wkvkvyixnjbgootof +egzinoaodgmzhxo[ctetdiivmkynwuxiez]udfkxfnzwectgfnk[jdkxiiqzjynledjzy]iubvehfyiofekffvduj +vsyayjbsvlzhphh[cxdxpurrsbtwuueyupw]uijigqqycwwfhishv[tziatetftdyopssiss]penkeyeiknnohiqz[unfthxkkylulcfaf]xjpzvydsluialcbxrn +ttccoewguenoqndmsz[uebsmcosjyeomyph]oypzbgfilioctebgs[vbxjcrxqchpztbg]hzsrxvamhqjtwrnep +pxsxuvnydgpupmf[xpdamytnnanauohkcpj]neuazauwfdksxsxs +oknvgkesuzbnaid[iveorhfsylvjpvv]nszdahosdfmxxebffas[inuqkpbtkdeeabguq]svwikhonwnxhqbht +ycaclbrmupudyzirpak[arwblurxucqeorxeuf]rbbzsrhkhfsahqbf[autcfkgacaxalhzjw]wzrrnwacvuvtdvuchkf +vnkrlrysvxjgylkyt[rowgfjsujqfjxttv]uxoitgwytbbzmlwql[gnziuplvidtteix]ckgmwnmyvbupxndei[mcwnambhbdjoplva]yjjadohllbywiqo +evzputikneppebadqn[ywcoylqunskuniq]zpdfgfxcifasenrnqha[jxvfntinodzjoyokwnn]rmxmzheyzpjxfni[bmkvzvuffqlnzizhf]oyemqrhfbofzwvcc +xvlfactaujylscoq[rtzbbourbqyscgzee]lhrbewpjjsihyomztoy[ourmieezxzejvbps]grxqrxkacpfyibmz[gmyuotmhsmykudwqo]wpvynvxycgioognjpcd +bkdcfjybahefnyj[zfezvgmnuxfwaik]nhlapmbjbtxjlvs[rrjxqakmexrwbfxoix]xooketycsmncjbdpm[uyxuhwclnarjpttesn]pclzgjmvqjkeegjj +dtrrjxbcbtogrkf[uoypjywqsvkrlxfv]npbxcnbqzurfnhtst +bglltdogbogyjshery[trhbcfvhmoyajvo]bfgohngeobhkdogz[tycfxatfvgvbdmsdijv]mbbkubicwesfnkh[ydncfgfpyebhpphuu]jvhnbmoijcgvuuf +pecntywfbpduebnqcn[nxqecigzryomoikbwk]cejxvxzawaqnfxjgyzm[guydhasrsfnfbxaavdr]gwawgonzypxqwhvjy +phygreqhgwowcozbhn[tfvqgtrormwhjpn]gzafrnmifcdnworokqe[puhaqxbsrsgdxfyq]vbdjyimsjcvldazu[gznwtuqifqkdimxvi]arbnskhmjqcdqgwruql +cpwnkvojhghunpvfr[itgqhdftapysdyzzyh]zqtmtrhrbqdiqyhgl +eeoileaopfnorzgsjf[wibinihlihuftbctyje]wzohrlyibwyntuyuwnc[fmudqkokeybrpvu]nxsvwtyjnifrfqap[kzjbctrlkhvjwnska]naicveiocdparmtq +xhgtkdzsvejeukkou[aecojjcuikgaopjhov]bkmeaogxznpzgls[oebnucvatntfaxn]ipiewtkuftwuoullo[tdvdvefxhhjulaujc]dwlqfoajfivwqoezkqx +zwjikqyvqbfrtviguiy[cnwvrpqkwvwwdlxhvg]sknukgfmvwvgihifag +vrdvnfobmsaczesz[cmzvxfjauugsfvj]gjtpzupuvaldiqcptl +wfgnkhkrqjybzjck[weuylylbwehkhvfge]jqcinnbyugivglpvs +hjldgsqqnkkletlqs[oiokslwzknscccr]qnibtkzhidmjuqeecur +deehsalofqvotdn[paayavepwlijtmdgjsv]myrxdbvwsvjjcnltizl[gviwdyoizgzshtkzkjl]eodbjfsldfdsiantql +tvmzdbfpyandbxzcax[nkibtbdkedhfeamtbt]oznggmbumbvjznkqg +xlefoqdvwarnyvqn[giqaeklzafpgznwzq]ruolhyeihcmrsapd[tteaoxmelcaktxotj]qpvrinrljjkyjwx +mobjpjhwmmnnzctj[wdxaqrfuqpabcgxhol]vrdqmqklbxzgfqtqgzs[atmswhpwzxczyqu]knfmkjsesftotqtbt +gudgqjbheozwqphpjjz[asykbahkybssjzwi]jsdduqkhfrfidih[lxvkwbklnnoxrnsb]acdzdhrfreacbvallej +uaxobuflpumwwhf[hhepxufancrcqpcb]bonlfecebjxueyw[dezwvycbgyibbjpbd]mtrhgcxmdplnnxjz[oygnxtvalnqamptzzu]xdwwguhnwjdnxvnuwb +jhugbjyidkjlraqexy[mynfcudyavfvierxjcg]gtsiybxmjdnzsuae +yaxahcvseiexlunsu[ewsivdovmctbuzwzho]piqltzsfefudhrybbyz[xeuaoqnqmfnqnzj]dafxzufaauhjlyjm +zqsrqfdolylrhlppgm[tnizcrbrkddpmqvxbzp]yalgvzxsuahuzew[wkvbdzipgbtupzwmfpv]illcjcnxkxdwthlbf[sbakrzbpkzquohvnyo]xufnytflfkhnxrq +kzredfrycyoukrwskkn[ythsgptgkfmwohdquc]ocwlwpdbssozygdrs[hqswgssnjqennwyx]fowqkdrrgesehpxv +hbvngvnsogdendwlz[enoojzdhimrsqentjk]lnzkwziswmbcylnnj[fmnniaiyujueiaic]ljcvdujkwgfoniwpqp +sfbaiqfcnaonrow[rnvekifsqzclyqpv]elybdkjfgvlxktm[yefttslzygbpwywh]hyswwaxwecmbccbhp[gvmccimnbtaqalx]xlacpvkzgjtbpoqmj +rlbmpmelpqxjnjmfa[bvbqxtblnjnarpyh]mjfrvlqpyqqwrnvcf +kvpueowowumjvpozel[knnbstwozlhrwjkyjwk]kgydkoneplmdduylvx[tzaowobpqflmmgs]yvrcdqxytmzslmz +awthyhqmbzfvyjm[uhpwjdtwhiytzukyuim]zxloxtwgpiwoveso[fvjsnnwfavmgexs]kojiakeozmiubswfj +shuwbybqhciuyby[docpctftlszxlkz]ebwhxhrazsdtkkd +nfqfgwgupcsnsxa[mjnijijxwxlrwlz]qrvegwwrvznsnicw +jxbqhkinclmllcp[mecqurmqwcmhchrdsw]lrasguephqwmmzuob[xowuthllkxcdenxinlz]hepwnvbciyqccuffejs[vzjbhkzhsboolsrb]ddsyakfbptuspbojv +ikijrdttouaronuef[rlrlcpoedupwiyg]kxigxepfvczqkjgcho +vggdslvtuzunjugnj[yydueuuwsysaooxjxy]tpnbctapfomxruul[lhtylevglctrnxal]bkdsjthdhfxgvnav[kewtknicgcaafeo]rblrjorigaisdtkb +pdhrplgdzxhmngvwx[ywskulmjscxrueaon]yhowhcmgsxsjzbzz +jgsetuwujemzlts[aaftgfdtjkfroblia]lnvlzygnujnunnm +lbmxmamecvcmvtlkpje[gpaxfzwfhbqmplnn]ygbpkwihbcoeuvcvpv[nlvlwmhfeqtmbqctqhh]rudqfcywhrtunctd +shjathcleqhfdqnjkc[iuduexzuconfoanxkvz]jlesceajlmiqchyt[czbehdriwjmykipagr]nwilscewhblfbzk +hfqrvmiaubbrsgel[yeumwvgodugwhjyvqk]mqydzflsrmgiwomwxq +mdxdgvpgcamhlonp[iwkivczimsibqwegdw]lbphreoomlnnzpkdj[yogqqfhdwzxtjqgrwch]vqlxkhcbikruuoecqfr +ziqbhuovdwlwymgi[wiumkgmtkijucxk]wtkgfagubnrfsmii +zkjfrnyndfgzcoirqi[lubxpzwxjgquhicrg]fwxrqdxbouepjhhmtfp[ipxpdwpovwypnihz]ucnjpxbnadxvffzj +pawhjjxcfssjhddb[pepzmaqyovbjcoxkri]puevwwecwnopwjj[gszpinocntaaorc]kloqbyitegljqsjanrj[vqdlhaofwoczilwprsa]exzjzcvjzdkyuqnva +hdmocxzixbjdguhtpxu[wnrdmqatkuwlgkjki]irstopwnwogllxk[chkgszbhhxbtbfc]gqwzorwxweefddvruo +kmzvbjoisqyquqlmtpq[xbfwrwqdvuyancg]klseqtbsjnoygnbr +dqhmmzwqjlfruiuzpzu[zvacftportiuiccsch]sxizfxnxuaeupgdgwi[goiybqpodbrhumqoji]bdakapfscjhijvx +ynwdspesexiagtjjajk[nhkudujkjajantcaq]tvlraskhvwxzipu[fxhxstpsxshewfla]lipkxqrxzvtjwpkgsr[ewujdcivttshzclirc]otfeavstneftpufj +lurqcbdokzfbakmk[gqgioawpwyoyjmx]ateqwmukuqlhbggp +vzqrmgaaoeiaurhl[xshhckqrxeqaapipide]zbybsomoslwibqvumv[hlfylktiedeneloub]nencwysbzqcirlkpkqf[klpevukozfduxsyg]moddzcdjtynfxpomf +thajjfqvppczfpxysx[ztchtixnqrdijypccih]iguijsxqxmowroyt +cetgeofdauwlcvjq[qlypmpdenmhjphuowo]ccpgzwmpoiouisg[xhzdouzkrnlmqpzx]luksrukxrocrtavzi[oalzspwxauweweafmge]qayixvygbjoevgsh +bokwhlduxeydzxybf[jynvhmoddbtvzjyxj]tlmfuoirqzhxxlmfkmo[aauqfbwvapeieon]qfiwpamdwzhhpqniz[yetywpuobdclgmhbr]ptywhnrxgtxoegsnoew +khmtmqqphoofzuzcyy[hzhckwnrdlmfgdgrsn]ipjeyasfmaewzdrk[njqdphtgkuezieiyjr]mnmopmppdfttxzgskx[izdppfwcovybkhgk]fvkayiehovdtell +iexrrbeaemviitehtp[roljqxowqygdgsm]ivreafntcffvmlzz[lizcvljduvxcagbesmv]omfxhchosarpcvc[gedvomisvdeqaegpgs]insntwdgjwueajmwuvq +ctkzgbjyhaqyujz[ypefyuwtymywmibeahs]dizofidomymkuem +ybhzytfiujtbgscbth[uyygihthnknbkezsde]dkwwekwaizqrlvsd +jbfrextgimuvnardmw[taekyjnrtgoptfimza]qvfbvynrmkzpqvn +qnhabnidoyofdraivca[dhpopjoanlismbrptd]bbsdkhzwomhbvpdlgf[embghmurnwkldzn]xbzmclamgdmlaek[uxjyrmvioaraxgaecbd]wgxyryuiqbqlgoq +pbtawfzmwiyrpuwufls[aizupicweopwuwdh]lycvoucyptvmhmbcvy +qutvjiyvnybdnqphjis[lmmvowtnuqqgmxz]fxvlamydgfhgdliro[vtvlwaljqzuvykjv]myqmrpgnhjesdsxngwn +zqmevxidmdesvauvtne[braiqdoypbtqhupnydk]povdpjohaahhacp +dkoijazllibpgqdykrd[kkwidlxrpncilooj]femwzpzjqvappwhiqvs +xczngjtppoeuwpmzmqi[qxbucaizusqrccr]tlygkbkepxpfyvsxq[ysnlntspzogsdqy]jizbgtwezdijmqwv[qzxmktcdmjzprpky]vsvdeudyqlxlnxzesw +svzequajltarrcb[czldiizopqirfrl]ykemudqpuiwrygnpgxb[sgwkwuuglztgifzlra]tvyiepilmuugkfbxx[ktngegmqlgowuaugte]yurctnmiqhzhuoysij +kmsioyrdzwlkryie[nlglpdcbvpxnjivxe]envjtnoyibmeywsfq[sjgifouwnmgpicfmv]ljxvwumxgoeycrmhav[bdbuatclqevnpbzpbc]fassqujlonngcgims +dgmhyyohzdfuwrsieaz[ekqeihwyxqlrtqccym]elnufksijsbcjgdcju[edcakptmhqwkgnskov]givqtmbcbuvranezor[sqjtcgzxnwoqxvlf]xwjvgrgixwqeseljzzu +rlneywqoymwwagdcwfa[yirtwsnhblvxloubnkq]zuvfejampdwytuux +yysxkfxnxjaysxsnk[ehfvdksybqfpfkizl]xfuaaaiywasciptwt[czexbndlrsvvgbz]rpxtnkqijkcwhfybyi[lzvvhwafionwjws]nitjcapzmrergulum +mrvqdigfhpbmojh[vsabnexxmdgumia]pmcjeszsivqvxcqvsyw[iyphcdtbsnkqgwrs]yeqqgbdtbdihbpbqe[lxnhjabohcyaodlf]qgetfulcpxzrfoaq +ytsfctvxjjgmzvsrfj[yzkrnxexysyfhmv]enrdxjxgwjtvssemwsb[xizlxcvjfpkorke]qmdielruvleylhjai[xekseaaxfsieskhoe]nbxlkitdwqxahsc +wfuvwmvylobxnvz[naispvffnsbooejg]fwmglolgtoalwcua[sjihruagaogksuvlk]nfrkvejcewefngxr[fgrswaghzetdjmzzi]jisbxmyzzfdugaglh +mjuzeprqjaeuocfhshw[gqbjfkgmcmazhoowr]tqpshfutvzkkjspp +tpzazyptdgbjcsbde[idazmfolkzscaxmhlej]rrkeoiyfbgdawqbwdfx +jbagbtdtlllbgtpim[elhndkhbevplbsszuyb]klbewrlznmjiwwbo[sifcovogtcymjczttqq]zbcwnieekzkrvhve[fiteeyesshgxsri]gvlasjdesbcdljes +byofcndnzghbyddde[gxdeaizfmclizur]xrelswdjqxwqwhvry[xnztchnubvqytinadwh]rzznukxoxlictdyeaxe +wjwenjbnpesznjz[vamavasbbiygdxgypj]pjahkcpxtigyetjbg[ncwuawgdqworublg]qihdfafqucjmmjvavx +vjmupdypfwnunzszjk[obdjtqupjbxtsvgfvxd]htraivhshrbrtioxp[xorewajhqbfjnjtjjda]kowpnkbnssbaeefafd +baneqehuamvsvumwa[qwsvdplmmhgxnde]yxnklmazqqnsiqqoram +figunhrsktrgzydgqf[mkaikjretijvyisb]ijkjnwmhpequjpmf[dhpvomlntlfxfql]tmqcjebupvwogrcqq +jgjfinegoadelrniyx[pmeqlndgglnmamoi]oczjlaacneocqskwvq[fpaqzxugjnjzeyfij]yjcqeppidbybggeu +ecwsacjwxdzhiarh[yobccwsqzdfkmkiy]urkbgjhlpqlzpqkkama[blohtndxvzauzmkphi]szgcudpbmigulxdygss +ifpfzjzsfuoptstfx[cmrgispdkvgpkgp]jthomxzuwqoklrwdo[kjvwsndbocpwjkohmrh]pcqjrqwqtmnwnzq +hmjaezjuxirclucvrjp[jgchhqqjdwlcbqxl]vqronetyoakaymd[dghwiinxzczzyhxtbyx]jlwyvkcpwmmzimmgpwu[ipozfuhemxpnvgypup]gbdbrmvmiucxsvncok +cvosfxrllniwmilafhx[qvlgrqnlglzxxwkzlqq]awgrklvdwoisgzaigs +uewfjatgizqqlvrkrz[nmntapsxhdhlbixzkn]utxlklcoqpftbomalyt[zphbfpaurjeadwnem]enifdznnxtkqwtzbetn +untkfdlrtrgzqzhlm[ixwrxatznbfjwgrfcme]viuhyjxwpkijkgnevq +ohvfmtaxuwdmsoiby[tdlhczjunuqsayec]yvwerqkenunmwbzkw +hfrxeebhqzdcvvxan[qmunjqhrctufwhigknm]iosnlvcuabawfit[btjqfyuwqrpebschzn]ecqnihecmexlbzx[yqjyvkhczssqsdd]viqgdiclpqeyqffzqma +lcqgqhmoohrduoyib[bgpymootpkaaurwpt]xrhbgqgouvnsmsvtys[vdsgoztgtxznrwgtd]mqttxauvnnlumwpid[jpsopjefodyjasr]fggczzpbsozgyuuatqe +zejfdkeopkkhetnegv[pcnvvynzarshkssfk]xhchmaevcunnntosp +hbsyznnuhlbnkukb[xlbjyybzasnmdzhcu]qbhudtxqzgxdizkhsta[frgdznyqpxvqiforkfg]nhajjuvjezlckhwnhfh[ikgjiseblupjvjypq]rvidyciegjpsvnb +kgbpvzoboykteazzud[mhzdavurdoxlilzz]ibobhuqldvpsrdyrs +ihhqabgyeggdmekan[uwowgsacpnmzoanjzi]yzdwccpcxpnbrqtodn[lmoyartwmmrrdcmpna]vsvtkkdnpoogccpbso[gpagbkwbimhvggrybdk]vbzuymgeuiyzzqe +vmxehtaukupjmuwpomr[lkrhjfztpatjinfsgf]tmbmauhzbukhaec[nqumdnkvvmgvklc]biexzmyjrfjglhlj +jonpalkenhdiunwwu[rktkhkjbclntuktp]adkfozdrbwoliiafua +capuhywpkxszkovgxc[idptryutjkmotfxyhi]jzwsnansrvdtnhql +gxehuqiocrlsacbqeb[rdyzzdhpssyghskim]pgveykexbmuzpsk[pphznqtwkyovzekg]pzegwkwhsqhoxtesw[anjrbndwktebram]xbljkzymwhtawfgmvsr +uzucmwugxsebretxve[jxmxkrawhqjonmvlrgw]wjfzxecoqzorfeklk[wllvzkgqkyghxnakv]ebhhfyupovixbeu +ivdvroagozznxpsrb[fmehyktseiygzhg]ihihsacjbhwlsqcltcs[lrfpxsitvxngjczlhy]vizbskftkdpxjxmfy[mxjzwcjpawiixlm]xgdxlfuncggljam +ezjlqcmpcyhuaqvqk[jqsnxatsamlnkmiiz]xxuxkckkuqeluua[oubrffsbrimwypynw]nsvnqfewnjaygzhmzi[htgihgsaghzfiecjkzz]hxdirzlptlorqhpqdu +gaghiqiwjicqoqgeigf[bqlyujemvktpdrc]yryxvopitltkawu[uhubpfgmvdwhmpq]bnsbmpgoffqfagah +nzrkvooaozddmtosl[azotwmqzsuusucq]omuyckwghukrmasvmcy +xwvatbqgxdegbjlmx[lwfyqykhoekwzguiz]ezcbliyqsjqcrnxlzp[axciwvxoufngfobuwfb]wnwehgbkqinenwtug[uixenvjjzpxdjvlp]yjntwgoysqzcmpx +qbjephcmhmjghzufgvj[yecctfepsekssfytvt]odszsnhmhqedlpsp +whrhtehphmdjellw[rikrtxhjnvykylz]ygfsvsikenzpkqpeic[qagxwidqjnzuaphptz]ehzlezihwyeddllqma[phyukqeqnwaxxlewmx]jgfpshgynkbxhndam +igxyfonvumjqsfili[pzttaquuoblzpplwqgi]ayoxrwxdijoapty[knzjkxeybsogxpblk]nsdgcjwnxkyhnudt +vderuhwdjiycocebz[bcbkwyvdbrsdembof]lvuyrwyxfeudnttlki[mnhcekcsdwydyvdqmsa]nniomyylmrpiebigfm[fxjgafzhfjmsmfj]zlixehsgzunqdfzi +rztclllddrvgmeinyjn[rmrczftlbgddfop]lktnlqiootwystujyrt[halyulsixgnjgnmerwp]tidtqrqkjazjqxcxc[qdtqjgwhghmhzgs]zynianlwhliudxqcaq +iqtysrbuakutpzky[fkbwssujafznbrpgp]tghrsucudfkwopiq +aeomklosgghqvby[eszlisqccfrzsub]qvzsydroufvexxzgq[whuifrfsyozbrtrnuo]fooofrgfvswuegorfm +lsrlvazcqflboofxn[wjnckxhsdpvgdztksz]ohvrikiotpweshrpc +prgnwoxewhxqlscj[whiyluowgdtplvkaysx]loyauvyazitqvvbtt +ovlqtusdrepfuqga[ofrxlnsuybazakeu]bptiuxvpnwiniika[gfrycmzwsocgklsul]oijdkuanbcuiwycs +ellqishkhvgzivgit[mfpeegujtqhvlgph]nirfyfvsktcutqwjrm[odczrauqpoftxfz]iigvivyjnycpgoe +dywztxntkhifqxzewgr[cxdjetpwumsfufwq]ncivdaekpguafmptzc[zijxtdirzcwsdfdux]marhxiyfiyqnfqabvhj[fmgmppiyuyjjcgp]zzrtwnzazhdupstxoqh +qkdkpmdultxsiyqvj[sazqiudqdlmmcqlhrni]cfcstwcbubojhseox +tvhqwzixtttrgveni[sriepjvvqxkofcazfz]lakfiepximdfvunl +ojoyeemrzcvjbklgezj[onpawvhapazvhrpw]oqniajojwqfiuba[irwtvbvdanhmhmmlhd]fbipunedvcvhfblj[mdbzmpinbeotbxxbji]qdauinqraksnrapxapp +gsbaopbosvdudqlmu[ivmbodlhfdhlsjmkp]ftwqvpirfoqtmwefmf +eqtlbskgmhbqtgbi[yxbbdteevnsklvtyav]jxestyfwoorkwrvku +chevdvfhpvkuxum[peaetozwxernpqs]wkqczpgdaqelouq +cxyjnshkwppsryalnfr[nugjqvzowusoqslcu]onuxvhiczqcudpvqpv[nwceqjprvmxqopmyadz]uonymadadirxtzh +tehqsawtyasmhiiuzla[yqbkdeqjzdwpphgsy]lnpnubwvajqnfbivq[mcdzbrpjbivjnaljk]mcqboqlthnivvznwie[bzhvwyqfepohgom]vlwggqxvqajpwotrts +uaimyzpnghzhhwto[slftskripqykqcjyggv]zlkzpbogxfofotf[qufvwtwwdwgrirguz]upksgjavtwquxhjvt[emuniznnqbzwbunuatk]gbeljfqlxzehxbkkgb +twbnitgddwwcekwyvu[lyryovphvnxyhdiugew]qhumysdyjehhpcbejfi[hwmqxsuggozjatjdh]rpcivqrwjzaghdr +hgymfqeetficypoi[jjbnqgklsbqbvhemj]hymgrvdafpptbal[lnomrtlcvjjleuye]qylkrvnikqzqbqowt +lqclrjtdxwqnmsrdt[uzvyfuedzeatgafjqlh]rmbceakwbyxaytmpyq +dmnwmdiozdjudnb[ynbkhdoeaezqmqgaj]mtukfbjftgxjendzjf[lpivjcgdbyoxuzuv]mfzuzzzczbuqnlt +ldgzvqkfmiucanm[vxcghwihxhzmfdqg]zxxfcadovifhcokf[yffyqmiufajqfnek]joyenceqpyctdozako[fykuxhxoklxhyattt]plohtcaeaslakbjlpub +ehoedgtgpcofzqt[kpoglgzrteyaxbcsb]jwvdmddihjamjhxf +dipxjulaiynvxlghzub[kcbfdqsfhmylfmyfkl]rcrhfywauxgixvjhsv +idncoojgztktmhka[aswwuhjriochyuolutq]vghlnxkagtvdsyngrw +qhobrqddkvzvxgrc[zslnzzvzymucnsonsif]nlrtzaqokmayfdukh +zclxrolayyziqznx[jlhjardudtuqswxwxs]lwrsawxwkexotpsudto +pykakplohqlbsfqqcgn[lbppnwufeauerxhj]jhqpqlywpvcrrarxg +zovsntdemqbpiowr[jnzwaljfyhpsmzsilnh]yfvudedvfiejxxg[hvmnfeooeszyukwer]rngcalymgaqhpzolak[wkijhclldfkzbsindn]puvqceoagrlxzjstjir +pqhedkzzetrupqbx[ixumgrrwhycweyesj]mzhybguzyeymkbvgedq[ravsmyhvcasiefg]klxzkcccjrjlnoc +xhckblbvakwkmkaia[gdavqgxdmqrtzozpf]pusueuyfdoqxvzr[oqjftahzzjhnqvoe]avvqwpktshygbbwlov[shxsusmpxjrtwlo]ovxsdpgcbkfdfxtj +vibqoywqbbbwqlhxu[msoaqriotchchbvdq]hgtuwiyftdpsloqx[wldvdsxjjfommcbwsqp]qacozyvkylutzfqmt[qzihinruscramehd]fxonpfbikrvdvthvv +dyqqwgklyqkroyg[jobabgjcrthkpsbywbq]xtyhftabahedidrcsx[ubirxklyivgqnecjgi]tftttofwxqhnzccggow +crsmrnflfzcsyghv[knhxevfwmubctke]tqnefabdgjrpaesv[flxwkwlgakxxvym]eyeqghxxzfprbgi +mnyclcckazalnpog[oewwwybglgddrvmzqx]wffkombewqgmkedvavu[zzwqbroptkfzzpjhde]rlfihfkxpckprppdqui[xkvoosuoktjguzz]dvzfvfmaolvxvyau +ebncgxcxmcujfepex[bvmfdqysabsnpgw]hfjyheaxastqtspkg +sruitoenosfxjojwwft[qpzoowlccwgjuoxoo]hpwypeurrizufiz[ljioorwzfeyplnh]jlydbfwrnwiliyhcl[jcdpksxiqccznhxxt]arqloequpfmjilkkz +bmpethfdslughxakrht[nlxcidxsqkmzjgtp]kbggfqkuwqgoduougki +xcvgfrdbdjkxotejpw[ayjizotggalctcmgvx]erdcqgfzcqtejbelhi[hcvnxmxfhplcyodgail]osvbtkxramwossj +batqefjqnkntqrflsbu[xhgjvalxstnroejtkwi]wdbninlgdbzjdtrdrj +xdmbyrqpjazisiusd[pwuufxsibxofsidlw]doxmmqrlrdkbthzu[jovsispmzamrbpbf]lahoukaaxhuqkwojydc +lrhrcuznqlxwwpqw[imtbphsvqutmmonwmxh]xicatywdonyxrnfslln[zsjlezomgwaiuosri]wczsfgwwvdxhesvd +sabvgcoegowpeil[fokxrjzspnzdgjtj]dsmdrftpcjcvjdlp[rcjalaknktcappj]xyfkxiqnrgfbvopm[bqgehvegzctewuicitw]hltewexamvqziya +abbqznhhsxeaxbkdnay[iwhkeapaeescmud]qowtjnxyykxffoojw[emgdbpfpzdxbidgaf]sonmiupapgunwpx +dfyxkssblsypgrat[djteluofdtwwwvavwzb]bfyfonwtkklsbiy[axgrtmipfdtajuh]oklwxrjczctobsvaux +xpzgaemndcslzqdyvr[cdicponxcskevqwgh]uwsgkgvvmecridzarnc +orfwxmlunvcjrbxw[gpfuddqzczvepwppf]qfnefzllcnhqnknbqs[irzbuxtalryeszh]rnmiknkbcjoyzaqk[llmznlqzmscpunaof]bvrrhoqkhnjetzzp +sihnwytrdrltxgiphpe[ofpharlfgnrlomzbmyb]yvoepubihwfjgodq[xtgdslranbatcltae]zofwbmfwvaxwztq[fguozwlfxsailqm]cvwpmenxykbcohdacu +tniypqcphlyedmncfk[pdlpjawkohpngziwtr]dhxunpoeoaugsfgr +lbssepedspnlcszk[lvyntqvyokgnvjfmsi]zajxmtuwazvktvhzuvj[avtlsgpgrlmmuhw]gwztdmrpepbaacr +ufcnessnabzliyi[wokwgfxoxodbsnftm]lcjgwtbwsfyiyylvzr +wzpcmdufopsubdoiaah[kjqpnnybloxobzihuc]stbfqlottimqziovejo +nncfxdmdemmnpukupsb[ybcoeahxnekxtgchupq]zicviylmoatmdrleq[sanopqbfyadccfb]vwavjdhjavuwtso[uqbgkurjbvhndiwld]wfjopjyjzvsjldemae +woyyqllnxzszhtupsx[sloqklmplznhmaxt]afhkdhqyejcvsdmashy +mrwxmimugiylhfkss[myytqhykdbnhbvypknu]cnozxtugihnvfsho +sictlxwpzkjadrdfq[hpvrstmuptvruaublcg]jfzesmvbixcjucjt[iyirpviscohkhsha]aeocecxzdazoaswz +ykenspebdhiheyfxqx[apdwgysxepuqjgnojvg]kjczbwkcbulivheu[mykzgebyiqpykkg]btmnfeevsxadypcxn[npfqgbjqloqvrffbzzy]mlmqtxnhnnctjdtu +ngusnchutnfxuknlcv[mowdjvjnzqvujpxaak]oyoufjzbmljsjvxco +symioezbuxbwaqzc[tcswwmthlhweaan]njjbrawqdtdxuippa[eblokaitvohpgmax]tqxoudhjjsztshz +sgrrlovxcccckxvfe[ptdjkmmmscxhrppj]caqbirqmphsolnz[zegoqjlxinlxyzzj]lzcrxhmcvsquqrk +scylsxkkxaeszvtcy[gszdxonuwnlrlsb]zacwmxrjvzmjpvlq +lbueccffdqgpdca[cjjoaevszwdogljjjsr]ixupokdatwtymssgut[ljvczddlhjbywjrvi]lvoeurzznjatpiwf +ppyerjmemqjcyrtwl[rhwivafkwqrjuvczfki]szmccytycllkjhptvx +pvlanohdabikhktb[rhuqghztrhsnxzb]hzicauosgyucjwuwm[zxukhkhdduszodbcawl]bsnamihhuivpkibniz[xvddnrjxxgexxixvdw]iwogneyabglukfo +oetftsvwhyfhobel[tbdwzctutpkrwbgyfof]gjbarcqcooyvfgl +fnuouumbmrcjnakxbxb[lgpigfxqswtfaoa]ggvamrrgcwkpqewueo +qfndaecaltnlcstdwic[citcxrtxpgrhuky]iadvalrsoskkamgfap[fqpcldftvpxdivfqg]apmcwtuzfxeebhf +wojmepihrdgobxqbb[spbefcqddlaxybts]mchniwpuyiclelbbc[rpnotwgcgbxpzqee]fjrmglmshjlalygzlrh[asbtotvgpcetuwus]lwuyqvdargfaheak +kpuoflkpeuwbsatp[jfdmiywoxrfsdwowgoy]lhkglaomanlafduw +whoybypqekfoosvrkh[qlhiagyhtpiictjrzr]wwudqwpyvhxjgcpvobl +osoqxxznoarkdazr[mdgpwqqzerqexvzw]qmdlvdjwzhpxuum +hriulhqdkqmqpsag[mxhpmqmstwlkave]egjfwiikoiqfrqa +dnawbjuemmhavvpeuz[mfcvfqjsngfqpcfyqtt]rtstytrryovtkugd[zykgtjgjqpdhjfe]qgowpebjrmkfvnvvmp +qsbtfuxinoaompoxl[oavbyyeudhynllaid]jwymynjhdjlqpmadob[cuakqbhimwpmymkrc]wsuyajblmdyqlegcu +pwrvpamgazkqbggaksj[mgiuuawkxjdpesf]fjqkzejqzjbqhsrl[fepioyojtjsyutdzadl]vanvdyulgdhrvgkinox[dmardjuczmqhqitin]vwlifazcjifeqtzdulv +sptbsjmkysrznmsnh[dmpaodowhsjmvahkwm]iircsjoyxbhyjhhy +votmybgyapqwjcrhrb[xudrwhwrrjvwpjrdrk]ynppocjjdgltgne +mptullgpxpkxbxiqcxt[ixzfshzzixtqlyr]blqccwadqxfkljas[xvgogqahthbuvedk]zmkcnqxdkihrbaupen +xyyidebibbxhxsvg[arfrpovpwqnbyxfx]vbwssnmlxstkjtpnax[uwbvyuqpqnaqfiisc]ixntpfvfopqxzvgznqy +hpyiqmffnpiqdrzj[ymsqyesuiwrsbklitx]kovizfewbtwwvqrgw[iakzsfydvmnsvhmcevf]hrxwoymwevslomwj +yaqkvwkukjjmgix[bpzcyeaorapeljjgmqy]upohdwrwryuyvvkvmv[gvdmlquyukazhvl]phaecmijhexxmvl +remreehpsnlgczozaqa[oxlyovghvjrzbrigrp]tqdljtbhpdviohgfbau[ylduvwrfajjvbomgbn]abprfmeyuesigtfaa +kninomszgkpoynrqfdm[pczddyzwygxfzrsx]lrflhydgglzpzgkht[brkiczgsyzurlcdzq]bnqfybpydotdldp +puwrzvsgmlrcrsli[vzcbfqxthtxcfwgtnu]ydqenlcxvzmbjpa[bbdljuxpkmenhjukmh]qcpxombklfgtfbu[wweucioifjqxzxleki]qstvhgqswnqzfkn +dpazlwrborzjkfedrrk[zilvtiijsiucpei]gwhpzxhnyxovjdpmdbj[ycahlhlamugtcpn]uwaltxahnbxcods[raivuyvbhimqdffifdb]zxzibutkbgvhnkm +nquhpxmcfgvbecjkf[iqxiomcvkwsikndog]qbjhwjrqnjbixnqb +rvgcgncbmigxdbnyaiq[mkeglscekmemitm]gcgcakzrjelvwuu +gkibzuxtmbgauuu[ufdrhvwfkoovcsi]eiouhmvxcavdmnalzp[rgqeztctofjvuvg]vannoknzqmedyzfkw +wrfitwvnrghqcwcsf[bufowebrglpwqfyamac]dmsnadnxhflghshccy[szufudcbeksmuehcrk]cdmgpuobfszbxjbtqg +vwfduowoeoosefney[vekkkorkkxpwyfqo]uwldwbgkzvatzya[gogabhonvyxajbww]pqcfchkslvlsado[kwyxxtyotjdpgctr]iuxylfgsimbxviwqlol +phruznykltlqpwikde[zpupeldmygexzyd]hgcoacoccikjyaiienr[xsbgsufpfyrfqrhdn]bmmqnqdyoxqhcgz +owzjgszbekysgjuppbw[hkbewdghphxixof]gupmvyvjidstmcp[cnjtvlngbpaklshkwzq]mvpofkladjdywitzpwj +fhgtkytwapwuvlsflf[rtsqmkaaortxjezpu]mxakzpztnatooozcwb[tszzkrcdpfnrqrevs]jbfajynuwylgymrya +zpcodavlpmukcgoqbr[pbispendfrwpjltskk]wmociagshnuvfada +ounvrxkfyueplsa[miexwibbkacrbhf]zhpipnyngufnspjt[ycapjamksdeanknvsr]jwjdvdxyzkfiaymnczt +hefpcboppcjdwyysg[omdmipantusybldsf]iwgbtxiflltduoavxhm[kxshpagaxiftbsooqvm]zdaubktnojzrhllz[wyfzkgugcwutntaugug]fxhryzluttrcgkamk +fljvthyyqgrytxyaujg[ghdzcbladiozdvfiwm]btjxlfmzxgwecpr[nnmkhglfcuzzkzhqn]glfuggftjkejlmbmrn[nonyjzcnulxqixp]eadjvyyfqpgumhovzrr +zxzurdplzhsmeiw[djmzvpxzjlrsxynz]mrsjlcjgvehtresbnx[mwhhklyvbxgyzhcgjsq]frcnkpmibekbumhkvxo +iwmnuegcwxoveifq[vcqctujwspffjzfds]vjsabmdbsjptxlmi[paodmystpdcnmnbfs]yqogzbbcyufaqsrxgh +mcvhdbnrqgtbelzjmm[wwiiwgywbouuwqd]eioeejfgrpgqmrirjd +yolncckfseqzfcnh[zrlmftowvspjbqji]oycbpmfmwkceyylu +wwnzbhuxyinpzpkxa[hemwzqpdgvtefkuxr]kezpuujyzmhjqhk +lfxaqtkqilaypwldxf[nnkxdvconabpgfnkpak]njijmwcwmtozxmbmff +pwxxyuynveqhxoaimm[jffrrzgjrbmdwmysshl]isvscrmxunjebsbw +oeftfxdsdwwnfdeofzg[dwnbatlvytfdynyfw]ygxzncoxunbamsiflyt[cjiytwokovqzgjomyu]dqxfqlkafujbpdryw[qlonipqsgkrdrnz]ybxcatfjjjvzxmc +tjxjbkyzhwzebtj[knuerxaxgncdblvtgtv]hmfvnnvoaxgcomqi +qrcbukvnarocwobcoao[qxokgnrdzhdrfpfb]dbjuztmmtfcpilyfg +ipazhwvkekhmtebql[wznlitbfsdvforlgrcu]vgshuptfnkinhcnns[lvcovlcucdofkku]slcynapwriioupy +knemcyzkydpkunfwsy[lblvgettvjqtnnaop]vvdcubmbcerhwrv[mutfblbwbhqyaqvqbne]swdmptokbaejjkejw +lrtnxvyrqlrvgdr[vskapzozjnxafawxcof]lklmewyqhykvotybaf[vycfkzoifscnujxzd]zawsqlxtrmdfnbdzi[esnuyecpbkpvyzy]kvqrkcrskmtsuwxj +mykhtevsefbdbvmsw[qewdexqzctascxznfd]gsitortjzuqshphnud +rbywtziudfcusoflef[tpnmdbyeevdnhzbqwp]dhankwakqykppbmso[hznsiclzncstoyx]yntysjhpcmaomsald +nnkrnnuvvdslxatdyl[svfyjvaprzokilev]idfpnqrveoojjivjl[aqxddyqerlqdpjwpoi]qnvwlfucyeauqbhrxq +xgvqgqggkwgrocwcfuv[ksuneenvdeinesudbfa]nleafraqnmmuefkqfp[xiwxfmnsqanplqkqinx]ojcnjzbfrzwfkchs +qjxhfghkhthamypn[khxnzlrtbpahbdxy]lqnekhkwjaemiadku +jgtsxelckegwezio[nvtllpkazgmuvuhnb]diaupjvghhymjlxnam +opnzxiazydscydlivpo[tcqytqtisissbvzmkm]vcddiutypdsxrdwvl[cjsobhvknqqgtgogc]imvjcixtdgwevtv +pvrbzonklphbgnmae[aedtanzlbawidsnjv]iwqgkskeftjcsgn[errqxakewhgjngp]afhlzcsekpqtxco +dsbcoxlktsdzkrafu[vnpihxybvbhxsiiswj]srnsljghqqcmxkele[kxtsrrxinnptbupu]zlavdiypsgkswtba +xdazohirllygpfdlfm[fblbjovwkzhvhth]xomgtgbsbnlvagsoi[dlwjywogesfetoi]nnuuixlqjmgizicnboh +sniagzohgnxpakb[hgkjtumoqjwapwp]rlqmufuqlgslrnfhz[ifaqeffnzxbnplmki]ningrhmssvsfjtgtj[sujqtmxuoxfqefrzm]cmpvsbjrxsziwjo +kepaxtiktmakitav[kxnzwpupfefitamyi]rfiokrjlestyebbbo[hqubzicmrmmojycz]yxpxlqeopiduzclabff[ckyniqzhgixycxiczcy]ignydevdtmnuhdg +pejkphexksfcunhsfn[qnzwjvwmpvfggfacot]qyquxpwsryqycvxvvmi +bxwmqvhjmdmgslvz[rxkfcbtmgwkhscjxz]syebnpwapeieytm +gcslwkhdfdqqqytlmr[wbxuelynpwtwcps]dmvurlhxmlzuzqqpu[vdeugqgtqexzxekffq]xxnkqatxudmpfqmbobn +rtecaisexsslassmyp[jljdmylatmtuurwhnu]pbsgxkuluemdafw[oetagrvhptcccgfav]tsugsujfrnbjfnd +kophdqxfjfweowjogu[kzhwonvituzclsptx]swuibizaodanyle[fhffdqhbmddadfja]pnuuxaicndlielg[xjmgvmwaabgekenjog]yslsjwnqohlixip +jrvxonjukycxggihlmq[lxwycpyzvgoyfgs]rfjbflylupwayaub[rskjgrstftlcfolzsv]svqltokobrtnchfw[cvvlnjnvsllkjiwpff]hqltzgooweljppyt +fjdyuoxengvarpumg[mmusctupbbssqet]fzuspwqpkkrxjxjgv[xerewcsmfteycmif]vfgczlmwqumezxmhysm[pnksripdftiqmmsamq]nyqvvlybhuwloczuzs +kdwsgoyjwwibzxp[irhdnevdkxanjqflbcr]hqkaaoggwjsqzgldl[njkxssyvdpwjmapxsly]xiwbmkrsqzadlndajg[ajxzdxzatckqceexea]ipvqsznwrxicwbugx +qlaokzumygsagif[yhgseyktvxarwlrwec]omvjffkmqlmpbfaev[jpjxgtsgsxrnefhp]rxtxjsekrlrfasyhawv +vdymxlzuvcmyllatsjw[tdpotqbvdyuolmrc]yzozvzcyebeuakicbdt[mxyrakmwdtnxxjyovm]plxracfttdjdacw +xmsvnapgeoiocgxwigo[fbywyzpoumhgxshzr]jvihinwmkftcwjdcu +hkfnvlxlgpremuujtl[cxrearocatqrirq]onijjqbovbjaqdzrw[ocfvyhdektknrzxneda]rebxvotkttvlvcsvhx +pgihqoniiichejdthn[aobthrhycbtdryq]eqhynlmzzshqtxrptee[hvfivepfwucyzycjhcp]ikchnwsewwynmgwzny[notcbpwebhorzefwlt]cedvskxnstordvur +lboqhgpjkbonftogge[uwlnsehommozqbb]znsonrlkuggywaknpb[hxidsxxorgyafaqiua]ejyksafomrqjvqmzv[mbtfkhfusvhekrsdaqs]veqjiixpsxoqqdet +rznveitwrbokddj[csjsmbnboxzygvrur]fosynrisvtzcezyh +qirjuhiheqiejad[xucxgngkgqpxjvdcpp]ftbxnmhyqyjzbrw[sbyvtclbdbbjvmujhc]qtfjprkfsadiszaudtp[jydcrcqqkmrjmswsko]btfitwujxcdgsyvuorp +mntijdoflawnltppv[nrqgmftvfmhzsyzuq]xctavzlilcpojhrnutk[urkqgsudhalomzxym]ojccxcevzbrthecoj +uavxetzvhhwtzrcvz[upxxcrzfcuhuyyzv]phnbkqsknuirujam[avqygsydscqynhk]myfzlgvfrkzmaaaw[kjeygjchsbumdnmkttw]lwsjjjtsqwkctkb +qpgxsptgxysblzf[qexanqcgsoeaelryo]urqdwfdyqtkhbvt +hejcjdjapqnbfjics[gzanzretmkyecvl]encuhecxvpxcjcnzj +laveumjohrmokeze[edwfcvifacvwxcuwba]akqwavwdxizgjbfi[nnjiicslvnevskzcv]iuodtknvgwjjhlqz +tvdenykburyewcr[vpujqxyfzoeabarlp]anvdzzcwxajjfwcx[mcbrbwopbulwgsq]xxsohqxbefdxdnvva +sjjuzkyypnzxghhs[vnmrnufkcqssjlslui]qmrceglpmpitopbn[dqvhxicbczttschlw]biqcprbxiortubhvdh[jrnarogqknbjuhc]dxwuoqewvlwafrp +zjjzriicccctoem[zvfukltptxfcxazyi]ybrstbqfckhzpyin +txybithzmmpouxp[myzxnvusvtprlfopbd]mpdiimsfydrxlwfsvtu[przjodwhokpvptsqo]sjkjrsurieotgaczd[iuusxyzfecdoxilb]ogrkdantpbmqabblzbj +sjahxnjofgcogwsc[qrnkbvmpouggtckhhmn]cbfqbvtrzbbxeklwjps +dtmioovxufljthrjf[dmjureystvzpnbdx]whvpfzjrivltgfph[uxsypollwtffqwr]nfomvafgjwdngyccf[mzgcjcwkmervnoa]vhkzciyingybbahnhbc +wfxrvuihtdobiqjhti[nongxbhsbpmgwjcl]hrgvzdzwyfbnfvvhzlf[jmrdnwmlykjvjaxa]kndlhjgvcbbollhlv[yxsgehvlvjacqsvjv]olrwroniaokefnncs +qekvcpqbkmqjvwrttyn[ltmnlgsnnvnkrhduu]yvvjbjtyjqkmhwblpbq[zjocywooquhkdtk]hlnqhqxibbehvsy +bhthfungsrxuear[wrlxdhburpptbrmp]hubrqpwhcgwtuadgta[gzqmhjrvfdgeycon]qaeafppembvijuynokn[ehtkocqpjckrixtlnh]zvncbtvcgkvfqrrr +ztnnxxstohjazuqaj[ejiwvmpelccjghvw]ejbadvojnlfejrwd[lmfullddvyzbaps]nrrcpgpbkovglvnp[tkmbuwmezpizmoax]kyejehzhauiwacm +jxvibriseldddsxmh[dvbndvooojqsqeohonm]vdaihjqgweprevdd[mvkmjdklgcdahcmq]wktinpivuvzqgtmcmj[gnfistryttvtephq]untubcnoqkigjtetf +knczacovvbjafjimf[szxzmlsshwbmfaolpf]fdyktgybympgrvjjf[jmgwlbjqenobobssdcv]ncsvvdsdptgejxorq[hbwampvpyljaaszr]zseywhyilppyrben +ygierzegpqwcoiziwfu[mdkphcryguvmtvby]srbihpaymtpfnkv[shgzhlitkgluwixmn]zizuufyltzhzzlhmt +vmzrpcjukhaztzckvca[igjqpuikpkidweh]fwujmjjlbtqytztu +qvhouornvpeluriqvi[rarbbihdxisbisf]bzrfcofxhutynnxnwvy[lreoxyjvzqrfjugqtx]atwhwewmqcfqaxgoofn[iqmweaxclriikoatlt]ibzzkttkvywhmgxqs +xezusfxpfzesbdtey[eieqssrnqsdltcdhccx]dapkztkkivkdcgqdx[qndgoqvyhdblqagzbz]fpcypcudhnckhcz[bfcqfydrpkqglkafv]qbhuwmzcpqaddzkc +pzvhtmfdrpbdsnlh[cipqwqbnpkycglckf]gzaadfhdtrdrwpft[jvxvilmjwcbrszwvpt]tyedarfnqobkceipeff[wowlxfgjggtnsrdl]ytnuvjoizzepjuilo +thdofkulfttuajoulz[ycsocmjyxvvujup]ufjuqkxyicqttwijta[gglplmotiazgxiserrd]wjakifcyctdmvdwf[pgsyeuohmufbbgghbt]ftszzajgfcjemazaa +rivmikwkprlgeqnchjy[qvvngyiilwsaxaaa]ucyrhfqaywnyfldh +iubnysibicvduyyr[exauddwzmrbibqlf]ytbvtezgbxjirddstz +xsmzmnmbaydzkwalu[ianmgniiehgsrfrkziv]gtrxlatvjemmjsaov[xqxsxzjtdbzxdyd]iupjcytdymwvwlv +wlgtcufumqevcutfmiw[kmjogobaxevlhsz]qjzljumvjjfqufufz +ssslcrpxsmiykoe[fdlvqqkbsioczngko]kdsvlpskfxoaewwyk[yvxyjlpxjzupvww]ulkzmnjwcmbxlcnvenm[npytehaooidsygftoh]dfqgeqwewowffpdm +wxbgrnuwyfxwfygj[uxmtbqjuzizeuwivvrg]rtiovrdhhqfkzupaw +abigigfbgglphjn[oubuhmtppcjeqtuq]tqbcbflclayrazg[xmkkmwmjkpobekrzng]vhnoebrmwnfrvpmf[nhjzlsycgzbfhbnpjpg]ilpaahjqnyziglt +boxhzxpawjtcxyitkt[howpicstkbzijiso]vbnzuugolkcfprlhs[vifvlsmydclmwiehgd]ucehjzvnpaknqmg[hjqalfyrfgtivnlxnf]slhfcgbbbyuptbp +mlbpolnctbywair[nrfmgwlrczqikotkj]jhrioesgwmculml +dswmspfqwiyxjup[tshkwdogwieeekcrmxh]ncmggblcjwxztmemjr[scakqcxicckxzvewfv]syxwqfezsnxqvlzpaj[rfuzueksjnfjnyyht]metitcqtwpyjgxeowdm +wzeqxspilpjuxvx[lotnxyjsinaxdowro]kveanxomxwbalef +odqxnjnonoxnaepcfr[ronotxghcxsdblti]chqflolwithtfjf[xmwqbabphhvfnersvds]ihkghptvcbzjkpmdkz +csqauuetkkflqjidpki[ogzgvuzmvciecqphl]drrenfkmdvacsqa +rtiodfayzzrckscs[mispvkoqtgobygxxi]skjgswelcfggojmk[gnkgnlqvbcsfyayqxd]whejqkxmvllfietaako[eoxgvyxqvobwypjc]yokfayaxktzsmpiy +iltuxhczuqhmjnlqcxg[aovmkhahbwpkahaniug]fjttlhkqzwbpvvbd +cvrcpfepqqfvbcgs[fdufjjwiwbgiwifwoqw]ozxtznoxmnljnazun +nvpcofaytxfortfdb[ioxhmfmvdsvjhvoowst]jxuxoiprvpbtmiz +wxoboxgggctdrjtloc[qbobmumiaxiuvre]wddndbuepvwzjrta +rbfcblvoycdqtcrai[dhqvfanemcfwlnywi]zwpmuiqvyazvrtjcu[vrhzwduakgtydri]exkccqngxljrvedvdm +yelxxwadeposqwmakpa[gldnpdsssiedtwoia]fnutzinlwitxrra[gqrtlwjgieenjvsdyce]ogpwuvkgrqdwrtpd[mskovzghsomwwtwt]varlwjpyaqhqayosi +tsqkxrubkoexrnbj[abawvvzvfkgrlbzxujh]dwbeygbnkbifnae +bydvfscyxqosbgd[jrpztzzmlbsvwiyj]ozbpjmabsnfoqsj[vunpfnnmkaokdzlhk]hdqiwgmgcbvquqydagr +faxpqjkgxhlveaua[uplxayezkxwfjqhv]lzbfsrujllneatffwo[yufefccvuseshfjgpe]ifiymxssijpjcsj[azsgfsgkvrctdxh]etbeqcqkontafxeg +shzmwsmcjmujvzuh[lbyobuepivjmzzh]pdwmouqfddxtzns +jilfjmfynxjxcnk[oknpknjhxbvyjratj]nepoxrrrytktodra[idfqecqadsjxjdzdcbz]mbqydahblcmmdjo +okorzkkyqucfigaauh[gpremtdkubmibdiiti]gsgtndjxpayklstcxkm[vrpprmlszcwqbfwbd]cbxuozoyhztdygegv[ojfihektxdbdrzdnk]rbxonpsewnfqikrfvp +iellofcjchgoelbik[npjcdkntljywlncazxw]vowojcjqpapcxqluw +gewdqnohlltnthozlb[ukkgmaojjtudkyeyjtm]livtoadfchucqhseye +wiygtlbqjdnjzue[ssaeldffbbdpindntna]rnbdmqrkgczczvwsvx[ebyshpkbgyxlkgvplu]rdfgmqdzhfkmfmsnsvt[hgaesjaypazdxmktoq]dybncgubinoiqfdndsl +leeebuyzzzgmoibugp[lvatuapebrlexbshrtf]qcousttycegjxiwyi[caayynwlacltdwqql]pufergrorgznfgnwaqk[brrmteivefnujbcfjxj]crutbgrgsuconfgpaaj +zwkrmgdnimrigisxsz[bknjptyqiozjvoidg]kmbfhzpexeemqzs +owvwpwusnvhlkutxlt[hwzqusloofxhlus]vscurjkijaqzugrmey[yipudmfwrfecwecrur]jspanosqihngqdxa[inqtsfmkcufqjwpv]ehthfpekcojyclene +oyurdyqeyjhdqrs[thwnmpjzfsixyyclds]hflrnyrrpjjfpixup[iaxqcxafxnyfyyenql]irkgjyqlhfmapdzyeyj +mdajlilruvlfmqb[rlexuosnsjkkwlsxq]vugnkwpgrgwfjjazpm +vknzgfkvtpwpcpp[guhjafshncsykxmmxu]yrufoyelmieervx +snmzbtgeduqsmzyvovp[lpfajlbspftxelpwe]nkuykeamqmjozgahn +nfvkyixiivbqfuqpgae[jfnytsqtgdvuspfj]wfziiabvnejeswdfu[mvulpnuojuhdbljoj]hteozxzmoyyozjgmvi[lqytlkseljwqsthg]nwnvpacwhtywdcgue +pqkbbpimwqfiqsbu[phfukwjrvhgirbghexi]fxbxanzvshlyfrcipa[ixpkqzmjrfbmgset]jgttnhuxlvprkno[mddqrjjgfqcqjscoepk]wkoddoqrfyfgslnz +twjjuzhotszuilq[mhskfqlabwpocibx]narjcdxvnaersoff[muyjbyjaxcgglqvpms]mdorltexvqiyogqhlx[uiggcarygezuqjgzxo]hkojohzdoisqidzgvy +luutcuiwkuvjayjmhvt[vwabmnqpyzuoxgfan]pksxicdhklgeispteho[cjhxxwfqxxrpwzoozxp]jywabkhdqggvpryxzfv +palbxdpezgzjctruv[lwsburjunnluksunhjb]udugobyeqwkkcat[jklrjtgtapgmhgfmxr]zqvspntbgotdkfffs[ncthjpnxifmbtwxvaq]zmfvmeewqojunmgwvle +ilfnwzvowwsaixkpg[ykfuctzpasgmbdi]nahwpdlspwtwgayvku[sivuklbqkbnjermiha]oqyjmenpuvnkgqg +wrbibtdepmiwzswwua[hhtvakamgvpbimozj]keyvarcjczzswiarn[rzevlfejbttxrfdrtq]xnnotbkgrctvvtv +hleplitmpnifqlj[qctinqcllgdgwbtgker]yzuduoqubabohbwzobr[trvxejtdgdjgbgrdbt]ypkeguppycuoeej +ejgglyddrmygcowyn[edrolltzottdoohlyl]bvygtxqjoxsdebiew[lfcdqbndplbzbzg]pauddylyaxakazvtm[taxnqmzcmbqoznrfyk]anpuzplpdxapxalsp +ckpfycdvzxwaszfnb[rlpwbvohmhxxxfjuiw]xsuhtrinoxtrgpfxy[yrhrlwhadebyvhsi]khpdqwwdpplvkxjqrcs +vfbejggtjbeinaarijc[ckqpukdhbtzxidzpqxy]ntqjvwyfucohwab[gkwkutanobhsawdqym]utiooctsqasbhsxc +wryuvsqzmayelndllmb[gnruyheowybhyvbgqd]tfgytkmzgopovrtw +jaqooeoutgqdpyryfk[tzxibeirtmsivwnhp]pqzckbydavvlwtqlfjw +kqzzfeoptvzsjud[qgmydefzsujkcffws]kaxikfqxsmcnktxcrim[rzggrvnwlauxruqq]opkibncdbuzxiiwr +bghvagcbflbtsfykl[lgriutkubilwksesveb]buffczkrdqfkyriozac[crwyssqxagpqqslvse]dxogzoylrouyynn +ghkhvugpjzesedtmhl[qeeqoazhxcqjpghbi]afscrfvslexjzughfg[psqiknfjccrxsldx]njovkbhkhyznnzamis[kusnklyalxsisbfhae]ytwskmxrzydphdwipx +zgeiqtfvjgsjbcgluma[hwyhtrykkxccmfg]okqorlbwctwfgvntgmv[yiralgrosisdxzkse]tzqnsaemaeiisiy +tjwhvzwmhppijorvm[egqxqiycnbtxrii]ojmqyikithgouyu[lrllrgezaulugvlj]jdsrysawxkpglgg[mpvkikuabwucwlpqf]cmzkcdnrhwjmfgbmlq +spwwppgjgfexuezrixp[rotgzyxzqxyrroafx]tkwxfiamzdjdqpftvq From eb1ed9547e48608843b15d5c5265f03592b184a3 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 01:38:44 +0100 Subject: [PATCH 028/100] 2016: d07: ex2: add solution --- 2016/d07/ex2/ex2.py | 52 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 2016/d07/ex2/ex2.py diff --git a/2016/d07/ex2/ex2.py b/2016/d07/ex2/ex2.py new file mode 100755 index 0000000..039535e --- /dev/null +++ b/2016/d07/ex2/ex2.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python + +import itertools +import sys +from collections.abc import Iterator + + +def solve(input: str) -> int: + def iter_aba(input: str) -> Iterator[tuple[str, str]]: + for i in range(3, len(input) + 1): + a, b, c = (input[i - j] for j in range(3, 0, -1)) + if a == b: + continue + if a != c: + continue + yield a, b + + def split_address(address) -> tuple[list[str], list[str]]: + nets: tuple[list[str], list[str]] = [], [] + i = 0 + is_hypernet = False + while i < len(address): + if is_hypernet: + j = address.find("]", i) + else: + j = address.find("[", i) + if j == -1: + j = len(address) + nets[is_hypernet].append(address[i:j]) + i = j + is_hypernet = not is_hypernet + return nets + + def supports_ssl(address: str) -> bool: + supernets, hypernets = split_address(address) + aba_candidates = itertools.chain.from_iterable(map(iter_aba, supernets)) + for a, b in aba_candidates: + bab = b + a + b + if any(bab in net for net in hypernets): + return True + return False + + return sum(map(supports_ssl, input.splitlines())) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 0fd197c8c8a6ac18546380b86008e4e73f416b79 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 02:04:37 +0100 Subject: [PATCH 029/100] 2016: d08: ex1: add input --- 2016/d08/ex1/input | 193 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 2016/d08/ex1/input diff --git a/2016/d08/ex1/input b/2016/d08/ex1/input new file mode 100644 index 0000000..e6aa6a1 --- /dev/null +++ b/2016/d08/ex1/input @@ -0,0 +1,193 @@ +rect 1x1 +rotate row y=0 by 5 +rect 1x1 +rotate row y=0 by 5 +rect 1x1 +rotate row y=0 by 5 +rect 1x1 +rotate row y=0 by 5 +rect 1x1 +rotate row y=0 by 2 +rect 1x1 +rotate row y=0 by 2 +rect 1x1 +rotate row y=0 by 3 +rect 1x1 +rotate row y=0 by 3 +rect 2x1 +rotate row y=0 by 2 +rect 1x1 +rotate row y=0 by 3 +rect 2x1 +rotate row y=0 by 2 +rect 1x1 +rotate row y=0 by 3 +rect 2x1 +rotate row y=0 by 5 +rect 4x1 +rotate row y=0 by 5 +rotate column x=0 by 1 +rect 4x1 +rotate row y=0 by 10 +rotate column x=5 by 2 +rotate column x=0 by 1 +rect 9x1 +rotate row y=2 by 5 +rotate row y=0 by 5 +rotate column x=0 by 1 +rect 4x1 +rotate row y=2 by 5 +rotate row y=0 by 5 +rotate column x=0 by 1 +rect 4x1 +rotate column x=40 by 1 +rotate column x=27 by 1 +rotate column x=22 by 1 +rotate column x=17 by 1 +rotate column x=12 by 1 +rotate column x=7 by 1 +rotate column x=2 by 1 +rotate row y=2 by 5 +rotate row y=1 by 3 +rotate row y=0 by 5 +rect 1x3 +rotate row y=2 by 10 +rotate row y=1 by 7 +rotate row y=0 by 2 +rotate column x=3 by 2 +rotate column x=2 by 1 +rotate column x=0 by 1 +rect 4x1 +rotate row y=2 by 5 +rotate row y=1 by 3 +rotate row y=0 by 3 +rect 1x3 +rotate column x=45 by 1 +rotate row y=2 by 7 +rotate row y=1 by 10 +rotate row y=0 by 2 +rotate column x=3 by 1 +rotate column x=2 by 2 +rotate column x=0 by 1 +rect 4x1 +rotate row y=2 by 13 +rotate row y=0 by 5 +rotate column x=3 by 1 +rotate column x=0 by 1 +rect 4x1 +rotate row y=3 by 10 +rotate row y=2 by 10 +rotate row y=0 by 5 +rotate column x=3 by 1 +rotate column x=2 by 1 +rotate column x=0 by 1 +rect 4x1 +rotate row y=3 by 8 +rotate row y=0 by 5 +rotate column x=3 by 1 +rotate column x=2 by 1 +rotate column x=0 by 1 +rect 4x1 +rotate row y=3 by 17 +rotate row y=2 by 20 +rotate row y=0 by 15 +rotate column x=13 by 1 +rotate column x=12 by 3 +rotate column x=10 by 1 +rotate column x=8 by 1 +rotate column x=7 by 2 +rotate column x=6 by 1 +rotate column x=5 by 1 +rotate column x=3 by 1 +rotate column x=2 by 2 +rotate column x=0 by 1 +rect 14x1 +rotate row y=1 by 47 +rotate column x=9 by 1 +rotate column x=4 by 1 +rotate row y=3 by 3 +rotate row y=2 by 10 +rotate row y=1 by 8 +rotate row y=0 by 5 +rotate column x=2 by 2 +rotate column x=0 by 2 +rect 3x2 +rotate row y=3 by 12 +rotate row y=2 by 10 +rotate row y=0 by 10 +rotate column x=8 by 1 +rotate column x=7 by 3 +rotate column x=5 by 1 +rotate column x=3 by 1 +rotate column x=2 by 1 +rotate column x=1 by 1 +rotate column x=0 by 1 +rect 9x1 +rotate row y=0 by 20 +rotate column x=46 by 1 +rotate row y=4 by 17 +rotate row y=3 by 10 +rotate row y=2 by 10 +rotate row y=1 by 5 +rotate column x=8 by 1 +rotate column x=7 by 1 +rotate column x=6 by 1 +rotate column x=5 by 1 +rotate column x=3 by 1 +rotate column x=2 by 2 +rotate column x=1 by 1 +rotate column x=0 by 1 +rect 9x1 +rotate column x=32 by 4 +rotate row y=4 by 33 +rotate row y=3 by 5 +rotate row y=2 by 15 +rotate row y=0 by 15 +rotate column x=13 by 1 +rotate column x=12 by 3 +rotate column x=10 by 1 +rotate column x=8 by 1 +rotate column x=7 by 2 +rotate column x=6 by 1 +rotate column x=5 by 1 +rotate column x=3 by 1 +rotate column x=2 by 1 +rotate column x=1 by 1 +rotate column x=0 by 1 +rect 14x1 +rotate column x=39 by 3 +rotate column x=35 by 4 +rotate column x=20 by 4 +rotate column x=19 by 3 +rotate column x=10 by 4 +rotate column x=9 by 3 +rotate column x=8 by 3 +rotate column x=5 by 4 +rotate column x=4 by 3 +rotate row y=5 by 5 +rotate row y=4 by 5 +rotate row y=3 by 33 +rotate row y=1 by 30 +rotate column x=48 by 1 +rotate column x=47 by 5 +rotate column x=46 by 5 +rotate column x=45 by 1 +rotate column x=43 by 1 +rotate column x=38 by 3 +rotate column x=37 by 3 +rotate column x=36 by 5 +rotate column x=35 by 1 +rotate column x=33 by 1 +rotate column x=32 by 5 +rotate column x=31 by 5 +rotate column x=30 by 1 +rotate column x=23 by 4 +rotate column x=22 by 3 +rotate column x=21 by 3 +rotate column x=20 by 1 +rotate column x=12 by 2 +rotate column x=11 by 2 +rotate column x=3 by 5 +rotate column x=2 by 5 +rotate column x=1 by 3 +rotate column x=0 by 4 From 91d075bf1b9d129e526e8e5cb564bd7f07d2750c Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 02:04:47 +0100 Subject: [PATCH 030/100] 2016: d08: ex1: add solution --- 2016/d08/ex1/ex1.py | 62 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100755 2016/d08/ex1/ex1.py diff --git a/2016/d08/ex1/ex1.py b/2016/d08/ex1/ex1.py new file mode 100755 index 0000000..8684e27 --- /dev/null +++ b/2016/d08/ex1/ex1.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python + +import enum +import itertools +import sys +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +class Op(enum.StrEnum): + RECT = "rect" + ROTATE_ROW = "row" + ROTATE_COLUMN = "column" + + +def solve(input: str) -> int: + def parse_line(input: str) -> tuple[Op, int, int]: + split_input = input.split() + if split_input[0] == "rect": + x, y = split_input[1].split("x") + return Op.RECT, int(x), int(y) + op = Op(split_input[1]) + line_col, _, shift = split_input[-3:] + return op, int(line_col[2:]), int(shift) + + def parse(input: str) -> list[tuple[Op, int, int]]: + return [parse_line(line) for line in input.splitlines()] + + def display_message(instructions: list[tuple[Op, int, int]]) -> set[Point]: + MAX_X, MAX_Y = 50, 6 + screen: set[Point] = set() + for op, a, b in instructions: + match op: + case Op.RECT: + for x, y in itertools.product(range(a), range(b)): + screen.add(Point(x, y)) + case Op.ROTATE_ROW: + pixels = {p for p in screen if p.y == a} + screen -= pixels + screen.update(Point((x + b) % MAX_X, y) for x, y in pixels) + case Op.ROTATE_COLUMN: + pixels = {p for p in screen if p.x == a} + screen -= pixels + screen.update(Point(x, (y + b) % MAX_Y) for x, y in pixels) + return screen + + instructions = parse(input) + pixels = display_message(instructions) + return len(pixels) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From c644a5b80036dbe8a167ad41543f0cbaeb437fc7 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 02:04:52 +0100 Subject: [PATCH 031/100] 2016: d08: ex2: add input --- 2016/d08/ex2/input | 193 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 2016/d08/ex2/input diff --git a/2016/d08/ex2/input b/2016/d08/ex2/input new file mode 100644 index 0000000..e6aa6a1 --- /dev/null +++ b/2016/d08/ex2/input @@ -0,0 +1,193 @@ +rect 1x1 +rotate row y=0 by 5 +rect 1x1 +rotate row y=0 by 5 +rect 1x1 +rotate row y=0 by 5 +rect 1x1 +rotate row y=0 by 5 +rect 1x1 +rotate row y=0 by 2 +rect 1x1 +rotate row y=0 by 2 +rect 1x1 +rotate row y=0 by 3 +rect 1x1 +rotate row y=0 by 3 +rect 2x1 +rotate row y=0 by 2 +rect 1x1 +rotate row y=0 by 3 +rect 2x1 +rotate row y=0 by 2 +rect 1x1 +rotate row y=0 by 3 +rect 2x1 +rotate row y=0 by 5 +rect 4x1 +rotate row y=0 by 5 +rotate column x=0 by 1 +rect 4x1 +rotate row y=0 by 10 +rotate column x=5 by 2 +rotate column x=0 by 1 +rect 9x1 +rotate row y=2 by 5 +rotate row y=0 by 5 +rotate column x=0 by 1 +rect 4x1 +rotate row y=2 by 5 +rotate row y=0 by 5 +rotate column x=0 by 1 +rect 4x1 +rotate column x=40 by 1 +rotate column x=27 by 1 +rotate column x=22 by 1 +rotate column x=17 by 1 +rotate column x=12 by 1 +rotate column x=7 by 1 +rotate column x=2 by 1 +rotate row y=2 by 5 +rotate row y=1 by 3 +rotate row y=0 by 5 +rect 1x3 +rotate row y=2 by 10 +rotate row y=1 by 7 +rotate row y=0 by 2 +rotate column x=3 by 2 +rotate column x=2 by 1 +rotate column x=0 by 1 +rect 4x1 +rotate row y=2 by 5 +rotate row y=1 by 3 +rotate row y=0 by 3 +rect 1x3 +rotate column x=45 by 1 +rotate row y=2 by 7 +rotate row y=1 by 10 +rotate row y=0 by 2 +rotate column x=3 by 1 +rotate column x=2 by 2 +rotate column x=0 by 1 +rect 4x1 +rotate row y=2 by 13 +rotate row y=0 by 5 +rotate column x=3 by 1 +rotate column x=0 by 1 +rect 4x1 +rotate row y=3 by 10 +rotate row y=2 by 10 +rotate row y=0 by 5 +rotate column x=3 by 1 +rotate column x=2 by 1 +rotate column x=0 by 1 +rect 4x1 +rotate row y=3 by 8 +rotate row y=0 by 5 +rotate column x=3 by 1 +rotate column x=2 by 1 +rotate column x=0 by 1 +rect 4x1 +rotate row y=3 by 17 +rotate row y=2 by 20 +rotate row y=0 by 15 +rotate column x=13 by 1 +rotate column x=12 by 3 +rotate column x=10 by 1 +rotate column x=8 by 1 +rotate column x=7 by 2 +rotate column x=6 by 1 +rotate column x=5 by 1 +rotate column x=3 by 1 +rotate column x=2 by 2 +rotate column x=0 by 1 +rect 14x1 +rotate row y=1 by 47 +rotate column x=9 by 1 +rotate column x=4 by 1 +rotate row y=3 by 3 +rotate row y=2 by 10 +rotate row y=1 by 8 +rotate row y=0 by 5 +rotate column x=2 by 2 +rotate column x=0 by 2 +rect 3x2 +rotate row y=3 by 12 +rotate row y=2 by 10 +rotate row y=0 by 10 +rotate column x=8 by 1 +rotate column x=7 by 3 +rotate column x=5 by 1 +rotate column x=3 by 1 +rotate column x=2 by 1 +rotate column x=1 by 1 +rotate column x=0 by 1 +rect 9x1 +rotate row y=0 by 20 +rotate column x=46 by 1 +rotate row y=4 by 17 +rotate row y=3 by 10 +rotate row y=2 by 10 +rotate row y=1 by 5 +rotate column x=8 by 1 +rotate column x=7 by 1 +rotate column x=6 by 1 +rotate column x=5 by 1 +rotate column x=3 by 1 +rotate column x=2 by 2 +rotate column x=1 by 1 +rotate column x=0 by 1 +rect 9x1 +rotate column x=32 by 4 +rotate row y=4 by 33 +rotate row y=3 by 5 +rotate row y=2 by 15 +rotate row y=0 by 15 +rotate column x=13 by 1 +rotate column x=12 by 3 +rotate column x=10 by 1 +rotate column x=8 by 1 +rotate column x=7 by 2 +rotate column x=6 by 1 +rotate column x=5 by 1 +rotate column x=3 by 1 +rotate column x=2 by 1 +rotate column x=1 by 1 +rotate column x=0 by 1 +rect 14x1 +rotate column x=39 by 3 +rotate column x=35 by 4 +rotate column x=20 by 4 +rotate column x=19 by 3 +rotate column x=10 by 4 +rotate column x=9 by 3 +rotate column x=8 by 3 +rotate column x=5 by 4 +rotate column x=4 by 3 +rotate row y=5 by 5 +rotate row y=4 by 5 +rotate row y=3 by 33 +rotate row y=1 by 30 +rotate column x=48 by 1 +rotate column x=47 by 5 +rotate column x=46 by 5 +rotate column x=45 by 1 +rotate column x=43 by 1 +rotate column x=38 by 3 +rotate column x=37 by 3 +rotate column x=36 by 5 +rotate column x=35 by 1 +rotate column x=33 by 1 +rotate column x=32 by 5 +rotate column x=31 by 5 +rotate column x=30 by 1 +rotate column x=23 by 4 +rotate column x=22 by 3 +rotate column x=21 by 3 +rotate column x=20 by 1 +rotate column x=12 by 2 +rotate column x=11 by 2 +rotate column x=3 by 5 +rotate column x=2 by 5 +rotate column x=1 by 3 +rotate column x=0 by 4 From a913369e5ba3a43a3cd0d90556355004847e1159 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 02:05:03 +0100 Subject: [PATCH 032/100] 2016: d08: ex2: add solution --- 2016/d08/ex2/ex2.py | 70 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100755 2016/d08/ex2/ex2.py diff --git a/2016/d08/ex2/ex2.py b/2016/d08/ex2/ex2.py new file mode 100755 index 0000000..73d6671 --- /dev/null +++ b/2016/d08/ex2/ex2.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python + +import enum +import itertools +import sys +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +class Op(enum.StrEnum): + RECT = "rect" + ROTATE_ROW = "row" + ROTATE_COLUMN = "column" + + +MAX_X, MAX_Y = 50, 6 + + +def solve(input: str) -> str: + def parse_line(input: str) -> tuple[Op, int, int]: + split_input = input.split() + if split_input[0] == "rect": + x, y = split_input[1].split("x") + return Op.RECT, int(x), int(y) + op = Op(split_input[1]) + line_col, _, shift = split_input[-3:] + return op, int(line_col[2:]), int(shift) + + def parse(input: str) -> list[tuple[Op, int, int]]: + return [parse_line(line) for line in input.splitlines()] + + def display_message(instructions: list[tuple[Op, int, int]]) -> set[Point]: + screen: set[Point] = set() + for op, a, b in instructions: + match op: + case Op.RECT: + for x, y in itertools.product(range(a), range(b)): + screen.add(Point(x, y)) + case Op.ROTATE_ROW: + pixels = {p for p in screen if p.y == a} + screen -= pixels + screen.update(Point((x + b) % MAX_X, y) for x, y in pixels) + case Op.ROTATE_COLUMN: + pixels = {p for p in screen if p.x == a} + screen -= pixels + screen.update(Point(x, (y + b) % MAX_Y) for x, y in pixels) + return screen + + def display(pixels: set[Point]) -> str: + return "\n".join( + "".join("#" if Point(x, y) in pixels else " " for x in range(MAX_X)) + for y in range(MAX_Y) + ) + + instructions = parse(input) + pixels = display_message(instructions) + return display(pixels) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 9629349421a648a92c5e1319d4668306280e7590 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 02:25:05 +0100 Subject: [PATCH 033/100] 2016: d09: ex1: add input --- 2016/d09/ex1/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d09/ex1/input diff --git a/2016/d09/ex1/input b/2016/d09/ex1/input new file mode 100644 index 0000000..650ed08 --- /dev/null +++ b/2016/d09/ex1/input @@ -0,0 +1 @@ +(4x14)JVWV(84x11)(24x2)YAFPPYWOQJKUKQTJACJAOWYF(25x11)(1x1)J(12x14)CNZKOSNAJVYL(16x3)QADCLDFUVLLZZYKX(44x15)(6x6)SUAXJM(16x4)(1x15)S(4x3)TJLZ(5x13)XVUCL(83x7)(23x9)WIIPUJELAEJXNAEOLOKNVWG(1x5)E(32x1)(17x6)SUTMAPNOOLYENSSXR(4x6)XLCF(4x14)MTLX(5x1)BSVMF(71x8)(14x6)(1x8)G(2x13)US(38x15)(8x8)ARZSGIGT(19x5)CJZJZPFJAVAMGHXJTQD(1x9)R(283x8)(35x10)(8x14)XGYQJNOH(14x10)TAHCPETVDTFJUM(103x2)(1x13)H(23x15)DPMHJRJZEFEMPVRWEVJSJKX(8x1)LZHWFQUN(28x4)BKEVJUTVRNFNLBKSGUDWIUQMUHOH(13x3)UVIUHILLVYMGG(19x4)BEJMSSZUFBNOKATZGTO(79x5)(16x14)THNKRIKYRCDLGHBC(7x13)DKOCVNU(1x15)F(5x6)YGOBW(19x14)ULJKHNBIUHRJREZDDUJ(15x8)ZLSFAJXPJMBJAFB(129x1)(3x15)CSP(6x14)CENZEW(66x4)(4x9)OWJW(15x6)MBDRUKFILMGUIFN(24x8)QZOGFWHDWEKWKAHJCEVCHJEE(1x7)E(2x2)NP(23x2)TKWKUEBAXYXCJGNGVGDNZZP(6863x7)(765x2)(758x9)(489x13)(290x1)(45x1)(7x9)TFWYQXA(5x4)WFXPM(16x13)CAOREKUYBKRJUWMD(28x6)(5x2)TYNVR(5x11)HFMVV(1x11)E(29x2)(6x3)PFFYYG(11x13)VLLEXZNRJPD(99x5)(13x14)UKZMNKGWITWAK(5x7)JHHTK(5x5)FMAIL(22x4)WFKBNNDQSINTFOKWABDSKA(25x3)HRZTKQLJYZOQUVJSSJUVSLFZU(59x1)(12x8)EZPFSSKSKZTC(14x4)AASWPMUULDMISS(9x2)KDYYSAIJY(2x2)KL(11x1)(6x8)(1x6)B(156x3)(20x9)MYEZLSGKMXBRULVFLNWM(94x7)(5x3)VBRTE(19x12)VVJIRLYDDXRKTZUJRJO(19x4)MFQEJOENEJASWKCRKIS(16x10)DPCALBQVPPNEJZVX(4x14)KPXN(2x4)AC(16x13)(10x2)ZSDCNCRPWG(7x9)CKRAALS(3x12)WOX(190x12)(21x1)(15x2)CWEALKHVUJRKUZM(8x1)HMRGTTHX(1x4)M(11x5)FDKJPLSSJXZ(119x15)(112x5)(5x9)NEDAR(18x14)CJZFFRFLLHEKBJROIX(50x14)SMIZJRIFFCKQRHPBTFEHHGMYEYZKMHMLCXGYMOBQWDWBKUKMWG(14x9)UKBZYCSGQOODPD(47x12)(40x14)DKXLLEKAEJVWGQXTCTLETCIUZSYEEWKCKRPLRJCE(2107x14)(1382x12)(30x14)FPWYVMBIVHPTGLYHNVOYPZJNTYGBLD(634x2)(205x13)(8x4)(2x15)SL(80x9)(31x1)JTSPSMAINXBNBRZSMHMHUHJGLRGIPIH(4x7)VTSS(27x15)JFZCAMFRUURZSHSTIVBSKIAPZIX(50x7)(2x2)QT(1x5)J(10x7)INLBBWLCQL(14x10)KWIOCPXLDWKSGM(43x15)(5x13)ILDAJ(2x15)IC(6x7)POOTGI(7x15)ELBGODE(3x3)VKN(145x11)(42x15)(4x15)DZCR(4x9)AUQA(3x8)HJC(2x4)KO(3x4)GNF(7x6)(1x11)V(17x14)MTGGJYEKVTYWMHHUZ(45x9)(1x11)F(5x3)APNHX(21x13)EVNIMEHDVXSNUMKDBPOGP(4x7)DSOZ(23x6)FLGNEPLSWXZINJWHCFCDAFG(223x15)(27x3)(7x7)PAUXORX(4x2)TLPT(1x2)W(40x4)RBVJKPRYUGQSDLQWGFXOOECMZHPXLCPZSEUDGZYU(16x5)QUZGZJYILGSXEUVC(108x5)(2x13)YN(20x3)TYROWFOSZUYJBXBEJRNC(41x3)SIVTZCQLSYVYMXQCVGOFLLTQOEHDRMVBPHQTZGBVB(2x6)WA(14x8)DUUYEPEYZCBBTQ(2x1)EJ(1x8)S(217x7)(38x12)(1x10)S(9x1)(3x15)MYE(11x9)DEJNGHTACYT(2x9)BI(8x3)XBWRQDFS(125x1)(44x12)TGIQMKGHFKZHKBGNSBOLUEWGVFESIODDGFXALDVVAEAB(6x5)(1x1)H(57x5)(16x10)HZFCMNMENWJQEGPN(14x10)BRUJTSJNSNUPWZ(7x15)GHVCAGA(14x4)AXZJRFABNDFCTX(467x4)(29x6)(12x6)UMTKEGMHMLKR(6x9)VTIOBO(84x6)(1x3)L(38x10)(4x10)QQWK(3x10)EZD(13x5)RODNWCXNHDDIN(1x2)D(5x9)QOMXK(11x3)(5x10)XFDOS(183x2)(45x9)(19x13)ZLDTRTVALUZDZFMBLRF(13x1)WLZJWFWHQDTXW(6x15)WXWECV(34x9)(22x8)TUZJKDDHIEPMGAOBLFPIKV(1x1)L(32x14)(7x15)RWLJBXP(12x10)ETCCOCHZBAJR(35x9)(2x8)LN(22x7)BVZUFUJXSEZCASMTJPXJCL(145x6)(8x13)YDNMOBOP(31x7)HLDVSBEFYZNKGTZGYYAOBHNDSEOCOLV(44x1)(17x10)NTEASXSWQIGFJKGBW(6x2)PAIMIB(4x6)ISAI(38x6)PYHNNTLMSKFYIKJPJLEPRZWROAVZEEBZDTZXOA(555x15)(30x15)(14x14)(9x1)PZDIOWWVR(3x15)UPI(8x3)FLACUNUS(234x6)(93x6)(5x11)MSFAR(43x10)LZLKBLPCOVZLUEUNSETMBXZAUXPZOCRAFGIZYWYWFJJ(25x10)SOYROQRUMQRCQDGSCDQMDDXUE(28x5)(7x8)BFZQPAD(10x2)OOMRNMVYMP(95x9)(82x8)(56x9)ADFRMHBZMIRIRXFXFEOUDSSWBXWFSNGFYLYQBKTYIAGDODMYUZBNCXBW(14x7)DECKFWHMDQZEVW(2x7)US(245x8)(237x12)(37x11)(4x5)HSUQ(6x2)CSJSZF(1x15)P(4x12)DHDC(6x2)WDBEKI(86x13)(13x11)LMCFYGVEQYOXG(6x11)FXWKPE(28x14)CXMLNWBEIBXFVYBQFYYXMLEYXTHV(2x1)JM(6x11)JWRQGX(75x2)(19x12)HLEFCHHUNNVPKRHBSNI(3x4)XXO(1x6)G(9x3)DZZZLJAVA(14x12)SVOGFHGOMILNDY(2x11)AE(7x8)CPRSIEM(146x7)(63x4)(40x10)(8x12)HREXHQQV(19x15)NHFTETPZOGQPMTTJWGB(10x7)FFHJQIKKUU(5x2)EZYSH(45x9)AFCEPUTOJXPKWXVHESXCDAVONUSGBXYDGOTJKMWLUDSGZ(10x1)GFFOMDSVJK(2255x8)(1313x13)(195x1)(12x14)JRMGJMPSIAYP(3x12)ZVU(94x8)(88x8)(7x12)QYRZOXQ(3x14)MST(4x6)PWFV(30x14)RGBUFBIYCLOYCEBCLRIRIZMKETCHGD(13x13)PRWWNBYPOSCEG(60x14)(16x15)(10x4)UCXJKCLUSZ(31x3)(11x7)OLFIDYNWARC(9x2)BTJJVYABK(225x7)(22x7)(9x14)MKXZMAXWG(1x14)T(143x9)(92x8)(4x4)EANM(21x12)CJWPGDXEAFVKCURLZVSQY(9x6)MYOKSEXFF(20x8)NWMYBGSNAJETPYOZAHMI(9x11)LLIHLSEGK(29x13)(3x3)ZOU(15x8)ICTPRUAEUAWJZQO(3x14)EJT(40x11)GZXXFRLDZWBUDVWUSOGTJQBZPIUKEOFGEPEJXZLZ(477x9)(102x1)(68x10)(8x8)OEYUDLGQ(29x15)WJZNVYTMKGLBBCKRNCFEXZTXHRFXF(12x11)EONHXGVTERDU(1x9)X(15x2)EUHJXCNQDRKGQEE(78x14)(1x5)W(5x5)FOPSO(56x4)(12x13)LJIFRANVTMFW(2x2)VL(7x5)NAFLCBH(2x9)QX(6x2)JUKNXC(72x12)(8x15)TWYEERLN(16x1)(3x8)PUO(2x13)PQ(9x7)YZMEDORQL(16x4)ANAFFSKWYANYZFYC(197x2)(63x10)(30x14)FKMXZDDPOPETLQAOOHOICGGIRSCNVZ(3x7)NAG(11x12)IUDUKASSBPH(41x14)(2x11)KI(9x8)GWDWTFLRM(13x3)UJAXLOTXDJBAY(1x13)E(10x3)VBYFHVSFGE(50x8)(18x6)PHXVXMBBASFGMIAEPS(7x8)RMTGOVA(9x7)YCVBGFGQE(249x9)(6x6)PTMNTP(2x1)UN(223x15)(3x5)LIN(7x9)QSGULSS(95x12)(9x3)NEOVNFGHW(11x12)SYNKHCNJNRK(5x14)BZFDK(39x6)DWYDUKQFGNRMHHKADEUPMVEAEITNPMGHQVZEUIX(1x14)W(22x3)(1x6)K(1x7)B(5x4)UJYOI(67x4)(22x8)AXLCJBGMPEYBFCPCGAJYOP(33x9)WQRLFGPDCIDEFSFJBCECXNHEAHQQZTHKQ(132x9)(65x8)(3x10)YCV(50x8)(3x14)SGM(7x4)DKYSOFD(3x13)NAV(14x9)ISWITRFROOLPAL(26x3)(5x10)MRQPE(2x6)KE(2x11)YM(10x13)ZKLAZMLQLK(6x14)YPAVRE(624x3)(181x7)(68x13)(21x12)JLXDYPYFCYDMVHQABFMVI(12x10)MDTVSRSDYMUJ(15x4)KQNHDNKHUBTQQPZ(99x13)(1x14)C(9x15)QDNBANFGV(62x5)(4x2)IWFQ(7x12)TFPQQCU(24x5)DBPOBCZBDKYIDTDJODMARSKY(4x14)ZITK(3x14)JKJ(428x14)(284x5)(87x6)(9x9)MUXVSFTMC(7x6)AYXHETP(41x5)DPXBPEIMGTEHUSVZDNISBBLJJGFMQHKVCVYCHKDMC(8x15)NGNYFZOG(96x8)(10x4)BVPKQJEHXR(18x2)MTNUGYYBEEVQSEOVCZ(19x14)DVFFQTKZAPTVHYWUVSR(24x7)HRWIMOXVXCNIFUMDJIAOIHOD(83x7)(3x4)JEH(2x14)KO(24x5)PHBOGUWHYPWSUMUKJVWGPXOI(16x5)SRJFHRSPBJBDCBUL(9x11)ZYRPVDCHL(12x4)OEEUHJYADRUQ(112x4)(54x10)(7x13)ZRHMOKJ(5x3)GYRZA(1x8)R(8x12)QIISRVON(6x1)JYUVAR(5x3)PHVJT(25x2)(19x7)OCSEVRZEXCGBUYDHJPY(5x7)NFXVW(14x8)GSRPSZVARWQODO(274x13)(14x5)TEDYKPFMSZJDPN(210x14)(202x15)(118x6)(37x10)XSRYNNCBPFZEXLJGHEUFGSSKEAGCGHDELXJMZ(3x6)NBD(9x12)WNQSRQMMX(19x14)UQNXQFVPARHPHGANPDL(18x12)QPAVMGIMKGLBVUCUNA(7x2)SVZZKTM(59x3)(33x1)UZSOZNJLLGXZQFAUSLCWLJAZOXYGBOXZB(5x8)OYHIV(4x11)HTHP(11x11)(6x2)PVJINV(1x6)K(7x5)IIFGBET(1703x13)(5x14)LCRHS(853x8)(297x1)(4x8)IATO(138x4)(47x9)(25x8)TKGYAPTVNCAOZGXEHVJSVUZQH(5x4)LTNWY(1x6)T(8x1)LZJDJKHT(66x6)(3x11)CZL(10x14)UFHKIPHXJU(1x4)D(7x14)QRSITNN(14x12)JWWGFGRNGKWEMS(57x2)(51x1)(11x14)DCFZCDZTAGR(11x6)JBUBCJTBMIY(4x12)TBJH(1x4)L(73x13)(66x10)(13x2)DEWJJECFXFDZT(8x11)RKIQWCLS(2x14)MI(2x13)IH(11x3)EIOPIGLPPRU(542x8)(11x9)ZYHQGXLYETL(74x12)(3x7)RIH(3x12)ABZ(51x3)(7x2)FFKYEUF(5x11)GYBQR(5x8)LQDFP(12x8)XZHDEEBHCQNP(162x9)(1x5)P(9x10)(4x3)FNDN(3x12)XHK(27x2)WELDLTBMAEQHHYPTCDJNUSTCKMM(93x9)(6x5)JKWAUT(23x13)ADNVFAMHSDECFUWNHQKYUPD(6x9)OKOOYV(17x11)OANWBVHFTYRMNYIVF(10x12)LXBOALHOLG(52x14)(14x3)KRKNAFDGGAJQVM(15x2)PUZAZWURHFNXCUP(5x14)JKHMQ(209x5)(23x13)QJXALGDLXOLSZMOAOIQIIKM(27x12)UKXUMPJVOIFGFCTMBBULLQQSVNP(13x9)(1x12)W(1x1)Q(68x10)(7x3)TAPFDEL(7x10)MGQVUVE(36x13)MECIHMUCYZGPZSGYFRIZSYNKNUJWRWLLIBCJ(44x15)(2x8)EB(3x5)WIZ(5x2)AWPMR(2x1)BR(7x1)RBGGFSM(824x13)(64x14)NHDVJKXOXWACGUYAPRHAAVEOBOHTKCCVADECJGVEOQDECRIOTDRPFGPSNBQKBWGC(5x7)DBWJW(330x10)(106x15)(4x8)FLQV(90x11)(6x1)CZOTMP(14x9)JKMYLMDZHGLBLS(30x8)XZKWOJVRLLUMPYMOOPXVIZBQMOEQKC(17x3)ZLBFMBAZQDLXHBTSN(171x13)(26x15)DWZFDBQNKLOZOFUDUDNBPJMOJP(27x12)BSYILJVQVEHZYHSBTWGCSXTTYQV(62x13)(41x15)WSIMKZVYWIDEJAQNHLSCUOJRCJNTNFEKLYFTHRBNV(9x7)CVRCEKAPY(28x12)LJGPZASECPTHDMZVTAUQJDMDWJMG(23x2)(16x10)WLDMJKFFUUQJBKKB(2x13)YL(398x3)(10x15)GBMFQKODZR(166x5)(19x8)RVMKTBJCFJRYOYKLABB(45x9)(4x2)AHRP(10x7)SUNWUPGBUI(4x8)AAYR(5x12)LQAOJ(64x6)(32x15)UUKUHLQLRCDNPFBTZCCELMHAEMJALWCW(7x2)OOXKPZV(7x10)TRZQKQQ(14x9)SPOBNBNHQUAXTA(140x7)(9x6)CEURHCCYN(49x10)(2x14)BA(21x2)LXDAOLWMGABWXNJJZNWMT(8x12)DXEJNXWG(64x4)(10x13)OSWHJMSEIX(29x5)QSWOYZGNLFJMNUNQWTXJLULOLXILV(7x5)XBJMJKC(55x1)(1x3)R(42x15)(11x1)RGPKOPUXYKN(11x8)ZEXFAXAEWIK(2x10)KA(1792x5)(779x10)(771x14)(1x9)R(160x12)(1x9)W(60x2)(17x2)(2x5)ZH(5x9)VKZHB(16x9)CLUZMXRXHXGYXKEG(9x13)IKRAARMTI(60x11)(5x12)GULNP(43x9)(1x12)D(1x3)B(16x9)GVMHIYPAPUBHVVHH(3x6)ETP(6x2)EAPQIC(4x13)XPHB(405x8)(2x8)FX(69x8)(4x3)NLCD(1x10)A(3x5)NZH(29x6)(23x5)YUTCGMAZDDYQVCJWKIHNZES(5x4)PXXFA(125x4)(45x3)(1x15)Z(7x8)XMATLKA(4x12)XOVI(1x1)C(4x12)ZUVR(24x6)(18x3)LTRJJBCDXWQJWVRYPC(38x8)(5x7)NEYNO(2x7)UU(15x9)PYETRDIPYYOGDHZ(12x5)RYWDFNFOYUSY(165x10)(27x11)(10x3)YMTTKQWJZI(6x2)VYEQTY(47x12)(14x7)OEZAMELIVXRFQR(12x8)RAWCWKDFYVLO(3x12)UJO(7x6)KEDMOJA(59x8)(4x9)WNGJ(11x15)TVLZNZPPIMC(10x5)BEIIWIAJVW(10x3)HPTIEYPOAC(177x14)(126x6)(3x5)WAF(20x8)(1x14)K(8x8)OJPNYBSI(20x5)(4x14)QFSL(4x10)TRCI(60x4)(7x12)CWDXKIT(11x9)IBHDSDZQYXI(3x14)XFL(14x14)TNPQWJYONMMATN(14x13)FDILKFEJOZJEAN(17x1)(1x6)E(6x4)EKLCDK(998x6)(3x13)BDO(520x8)(30x13)(11x11)URXDXGOIRAS(7x9)TCROBMZ(146x14)(73x1)(66x14)(16x2)UTMVELHWQDZHQSXZ(6x13)JNPFZP(1x7)P(9x11)IJGNOJEHT(6x4)VWGWEO(61x4)(40x9)(14x15)XCVLKPNPVMRNYU(1x5)Y(8x4)ZQMGREOI(9x11)(3x12)XNT(218x15)(5x5)COKBM(11x15)KKNTKSVNPBJ(78x9)(1x8)G(6x7)EWATMT(33x8)IXTNISPBIFCOWLQRSVVLDZDUOFZAOLWYS(15x11)(3x4)HEF(2x6)YG(4x15)SZPH(90x6)(11x3)NQCKGQKMBCJ(52x14)(14x15)AGXIFSMHYCNUDC(1x13)A(6x8)BLRXLS(7x14)WNJVUQI(9x1)(4x4)GBJY(96x10)(89x11)(7x1)(1x13)X(5x6)PPQPV(47x2)(6x3)WKNDXH(29x10)ONKOCGTEIKDCQLDVPMSRSXSOBSUYC(9x2)GKZJOKEZL(454x11)(14x15)COLYFNFJKXYQTN(416x15)(149x4)(23x13)(3x1)FZD(1x11)C(2x13)MD(44x13)(4x14)KRFS(8x1)GUACUOZE(15x7)WWFSKIRRQUXHRBE(61x12)(3x12)MIR(4x15)JATS(6x12)XFFBBR(12x13)XAKILNXBXRDL(5x10)IERHX(212x11)(72x12)(5x4)JNDDK(2x8)IM(12x14)CYRZXNSMMTHR(29x10)EELQQZAEXGXVYOFZDLSUGFWPRSZKN(9x10)XNAZAAQTR(37x1)(2x4)TR(7x1)ZHWZKQC(4x14)BNGX(2x11)UG(68x10)(10x6)XCVUIOZEEP(2x14)YB(12x4)KTBZYWGSTORC(2x11)CJ(11x10)JHNDCOSTTLX(17x15)PJZDEXJVJRDSMHXXN(10x3)KIUZZVAZHI(3x14)BCN(920x5)(831x8)(803x12)(328x5)(198x12)(98x5)(1x4)B(18x9)OHYGZYYYUCLBXBUIYM(19x5)BYDFBZEYKWXNNZFSLNI(16x14)NLOXNNSJLKCYCUZN(13x11)TQTBDLLIRHUWA(88x7)(25x7)TQRRUEPZPSUOUCITJMZROAIAW(2x9)GH(6x14)OVWZUW(7x14)NQECFMF(19x2)PYAROBFSCUQDVOBLFBO(106x8)(32x7)(4x1)ZCKY(17x3)CYYKYEKTAAGICLNIY(61x13)(11x6)UHCPBITWXTA(16x14)LGSTTUVQZISBHTPL(3x6)RMT(7x11)JORYMBJ(4x6)WVSO(443x10)(213x13)(44x3)(3x14)YDU(1x9)F(10x1)BWNYMWFUKM(8x7)UPGXQEGW(69x14)(9x14)FALJFRNYI(9x9)RBOIRPAMU(6x14)TERJIJ(2x8)TD(15x3)KJINFDWSHCQIEUL(80x14)(13x12)YDQKTRXZPSOOB(3x15)OXE(22x15)ATFZSYWRSMRMWFSSBZTWYK(16x8)UBZETPSJACZFSECV(17x2)OJNQOYVYXIOGFTHEW(30x15)WNOSVAFBXUNHLQNMVAXMKLFBMVEKMD(23x6)(17x9)(11x3)XIHYQHJWHVD(125x14)(7x4)ICFHBLA(72x4)(9x15)KJVZFZXXL(18x12)BRLFGPARHILSEGLVFB(3x12)GFX(6x5)TISUXV(7x7)WMQUWIT(28x13)(22x7)YISLXULNQPVSBKABASDWSV(10x14)VETBLITIAF(13x10)QHUXBIHXPZTMC(75x11)(68x10)(61x13)(54x10)(1x2)O(31x7)MEBIZTAYPUAPGQAYWMUTGOIHMRWVBIE(6x6)ZTHNRO(49x11)(43x5)(3x6)OSC(8x8)LJQDDOGZ(15x10)XWHFNHTLUSZUJMQ(140x13)(98x3)(35x9)YQBPVSDYFKTUEVECOYYVSYKBPPIMHGEGJHH(19x3)LYLRVPIJVTJIKIAQSHG(2x5)MD(4x4)GVME(10x6)CDSWCITZPL(4x8)PQFV(2x2)QJ(14x8)LDAXJWGUMKLVRU(110x13)(3x3)UQX(6x10)TGVLKX(11x5)UCBHONGLAUP(66x15)(12x2)YIMWRKDRBRJN(13x12)IZQOYGTUNZTGV(22x3)ZQDTFHLZBTTHCWPKHDDTPY(56x6)(3x3)HEU(10x9)UKOZORNJWY(25x10)YIJVCIZSIGVAZFRSCAPFFKQQM(97x11)(91x3)(8x7)FHJNTEYH(15x13)FOARJPQAZBXCHUD(3x5)CWW(18x15)YNCIIAHKAFMQZCMTRF(16x12)SPSNBWDRIFLOGUZW(148x15)(89x14)(14x5)ETRROSLESWBLWP(7x13)LRPWUCK(5x12)ANFDM(31x3)SPFASFSHXEBCITEEKEPRHJVTSEMHBVL(2x10)QA(46x7)(3x4)JJE(32x7)YVAPHWJEYIOEXKEBJMJQHIHIVLEWSSDP(24x13)(8x14)BZUKOVBV(5x2)XXUYW(2x10)CS From 8147a809df00ae5646624b61d3680e39afd67cca Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 02:25:15 +0100 Subject: [PATCH 034/100] 2016: d09: ex1: add solution --- 2016/d09/ex1/ex1.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 2016/d09/ex1/ex1.py diff --git a/2016/d09/ex1/ex1.py b/2016/d09/ex1/ex1.py new file mode 100755 index 0000000..fb5c0f6 --- /dev/null +++ b/2016/d09/ex1/ex1.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python + +import sys +from collections.abc import Iterator + + +def solve(input: str) -> int: + def decompress(input: str) -> str: + def helper() -> Iterator[str]: + i = 0 + is_marker = False + while i < len(input): + if is_marker: + j = input.find(")", i) + else: + j = input.find("(", i) + if j == -1: + j = len(input) + if is_marker: + length, repeat = map(int, input[i + 1 : j].split("x")) + yield input[j + 1 : j + length + 1] * repeat + i = j + length + 1 + else: + yield input[i:j] + i = j + is_marker = not is_marker + + return "".join(helper()) + + decompressed = decompress(input.strip()) + return sum(not c.isspace() for c in decompressed) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From d8242fb07f5dfc02c8104104ebda0fd396e08b7d Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 02:25:20 +0100 Subject: [PATCH 035/100] 2016: d09: ex2: add input --- 2016/d09/ex2/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d09/ex2/input diff --git a/2016/d09/ex2/input b/2016/d09/ex2/input new file mode 100644 index 0000000..650ed08 --- /dev/null +++ b/2016/d09/ex2/input @@ -0,0 +1 @@ +(4x14)JVWV(84x11)(24x2)YAFPPYWOQJKUKQTJACJAOWYF(25x11)(1x1)J(12x14)CNZKOSNAJVYL(16x3)QADCLDFUVLLZZYKX(44x15)(6x6)SUAXJM(16x4)(1x15)S(4x3)TJLZ(5x13)XVUCL(83x7)(23x9)WIIPUJELAEJXNAEOLOKNVWG(1x5)E(32x1)(17x6)SUTMAPNOOLYENSSXR(4x6)XLCF(4x14)MTLX(5x1)BSVMF(71x8)(14x6)(1x8)G(2x13)US(38x15)(8x8)ARZSGIGT(19x5)CJZJZPFJAVAMGHXJTQD(1x9)R(283x8)(35x10)(8x14)XGYQJNOH(14x10)TAHCPETVDTFJUM(103x2)(1x13)H(23x15)DPMHJRJZEFEMPVRWEVJSJKX(8x1)LZHWFQUN(28x4)BKEVJUTVRNFNLBKSGUDWIUQMUHOH(13x3)UVIUHILLVYMGG(19x4)BEJMSSZUFBNOKATZGTO(79x5)(16x14)THNKRIKYRCDLGHBC(7x13)DKOCVNU(1x15)F(5x6)YGOBW(19x14)ULJKHNBIUHRJREZDDUJ(15x8)ZLSFAJXPJMBJAFB(129x1)(3x15)CSP(6x14)CENZEW(66x4)(4x9)OWJW(15x6)MBDRUKFILMGUIFN(24x8)QZOGFWHDWEKWKAHJCEVCHJEE(1x7)E(2x2)NP(23x2)TKWKUEBAXYXCJGNGVGDNZZP(6863x7)(765x2)(758x9)(489x13)(290x1)(45x1)(7x9)TFWYQXA(5x4)WFXPM(16x13)CAOREKUYBKRJUWMD(28x6)(5x2)TYNVR(5x11)HFMVV(1x11)E(29x2)(6x3)PFFYYG(11x13)VLLEXZNRJPD(99x5)(13x14)UKZMNKGWITWAK(5x7)JHHTK(5x5)FMAIL(22x4)WFKBNNDQSINTFOKWABDSKA(25x3)HRZTKQLJYZOQUVJSSJUVSLFZU(59x1)(12x8)EZPFSSKSKZTC(14x4)AASWPMUULDMISS(9x2)KDYYSAIJY(2x2)KL(11x1)(6x8)(1x6)B(156x3)(20x9)MYEZLSGKMXBRULVFLNWM(94x7)(5x3)VBRTE(19x12)VVJIRLYDDXRKTZUJRJO(19x4)MFQEJOENEJASWKCRKIS(16x10)DPCALBQVPPNEJZVX(4x14)KPXN(2x4)AC(16x13)(10x2)ZSDCNCRPWG(7x9)CKRAALS(3x12)WOX(190x12)(21x1)(15x2)CWEALKHVUJRKUZM(8x1)HMRGTTHX(1x4)M(11x5)FDKJPLSSJXZ(119x15)(112x5)(5x9)NEDAR(18x14)CJZFFRFLLHEKBJROIX(50x14)SMIZJRIFFCKQRHPBTFEHHGMYEYZKMHMLCXGYMOBQWDWBKUKMWG(14x9)UKBZYCSGQOODPD(47x12)(40x14)DKXLLEKAEJVWGQXTCTLETCIUZSYEEWKCKRPLRJCE(2107x14)(1382x12)(30x14)FPWYVMBIVHPTGLYHNVOYPZJNTYGBLD(634x2)(205x13)(8x4)(2x15)SL(80x9)(31x1)JTSPSMAINXBNBRZSMHMHUHJGLRGIPIH(4x7)VTSS(27x15)JFZCAMFRUURZSHSTIVBSKIAPZIX(50x7)(2x2)QT(1x5)J(10x7)INLBBWLCQL(14x10)KWIOCPXLDWKSGM(43x15)(5x13)ILDAJ(2x15)IC(6x7)POOTGI(7x15)ELBGODE(3x3)VKN(145x11)(42x15)(4x15)DZCR(4x9)AUQA(3x8)HJC(2x4)KO(3x4)GNF(7x6)(1x11)V(17x14)MTGGJYEKVTYWMHHUZ(45x9)(1x11)F(5x3)APNHX(21x13)EVNIMEHDVXSNUMKDBPOGP(4x7)DSOZ(23x6)FLGNEPLSWXZINJWHCFCDAFG(223x15)(27x3)(7x7)PAUXORX(4x2)TLPT(1x2)W(40x4)RBVJKPRYUGQSDLQWGFXOOECMZHPXLCPZSEUDGZYU(16x5)QUZGZJYILGSXEUVC(108x5)(2x13)YN(20x3)TYROWFOSZUYJBXBEJRNC(41x3)SIVTZCQLSYVYMXQCVGOFLLTQOEHDRMVBPHQTZGBVB(2x6)WA(14x8)DUUYEPEYZCBBTQ(2x1)EJ(1x8)S(217x7)(38x12)(1x10)S(9x1)(3x15)MYE(11x9)DEJNGHTACYT(2x9)BI(8x3)XBWRQDFS(125x1)(44x12)TGIQMKGHFKZHKBGNSBOLUEWGVFESIODDGFXALDVVAEAB(6x5)(1x1)H(57x5)(16x10)HZFCMNMENWJQEGPN(14x10)BRUJTSJNSNUPWZ(7x15)GHVCAGA(14x4)AXZJRFABNDFCTX(467x4)(29x6)(12x6)UMTKEGMHMLKR(6x9)VTIOBO(84x6)(1x3)L(38x10)(4x10)QQWK(3x10)EZD(13x5)RODNWCXNHDDIN(1x2)D(5x9)QOMXK(11x3)(5x10)XFDOS(183x2)(45x9)(19x13)ZLDTRTVALUZDZFMBLRF(13x1)WLZJWFWHQDTXW(6x15)WXWECV(34x9)(22x8)TUZJKDDHIEPMGAOBLFPIKV(1x1)L(32x14)(7x15)RWLJBXP(12x10)ETCCOCHZBAJR(35x9)(2x8)LN(22x7)BVZUFUJXSEZCASMTJPXJCL(145x6)(8x13)YDNMOBOP(31x7)HLDVSBEFYZNKGTZGYYAOBHNDSEOCOLV(44x1)(17x10)NTEASXSWQIGFJKGBW(6x2)PAIMIB(4x6)ISAI(38x6)PYHNNTLMSKFYIKJPJLEPRZWROAVZEEBZDTZXOA(555x15)(30x15)(14x14)(9x1)PZDIOWWVR(3x15)UPI(8x3)FLACUNUS(234x6)(93x6)(5x11)MSFAR(43x10)LZLKBLPCOVZLUEUNSETMBXZAUXPZOCRAFGIZYWYWFJJ(25x10)SOYROQRUMQRCQDGSCDQMDDXUE(28x5)(7x8)BFZQPAD(10x2)OOMRNMVYMP(95x9)(82x8)(56x9)ADFRMHBZMIRIRXFXFEOUDSSWBXWFSNGFYLYQBKTYIAGDODMYUZBNCXBW(14x7)DECKFWHMDQZEVW(2x7)US(245x8)(237x12)(37x11)(4x5)HSUQ(6x2)CSJSZF(1x15)P(4x12)DHDC(6x2)WDBEKI(86x13)(13x11)LMCFYGVEQYOXG(6x11)FXWKPE(28x14)CXMLNWBEIBXFVYBQFYYXMLEYXTHV(2x1)JM(6x11)JWRQGX(75x2)(19x12)HLEFCHHUNNVPKRHBSNI(3x4)XXO(1x6)G(9x3)DZZZLJAVA(14x12)SVOGFHGOMILNDY(2x11)AE(7x8)CPRSIEM(146x7)(63x4)(40x10)(8x12)HREXHQQV(19x15)NHFTETPZOGQPMTTJWGB(10x7)FFHJQIKKUU(5x2)EZYSH(45x9)AFCEPUTOJXPKWXVHESXCDAVONUSGBXYDGOTJKMWLUDSGZ(10x1)GFFOMDSVJK(2255x8)(1313x13)(195x1)(12x14)JRMGJMPSIAYP(3x12)ZVU(94x8)(88x8)(7x12)QYRZOXQ(3x14)MST(4x6)PWFV(30x14)RGBUFBIYCLOYCEBCLRIRIZMKETCHGD(13x13)PRWWNBYPOSCEG(60x14)(16x15)(10x4)UCXJKCLUSZ(31x3)(11x7)OLFIDYNWARC(9x2)BTJJVYABK(225x7)(22x7)(9x14)MKXZMAXWG(1x14)T(143x9)(92x8)(4x4)EANM(21x12)CJWPGDXEAFVKCURLZVSQY(9x6)MYOKSEXFF(20x8)NWMYBGSNAJETPYOZAHMI(9x11)LLIHLSEGK(29x13)(3x3)ZOU(15x8)ICTPRUAEUAWJZQO(3x14)EJT(40x11)GZXXFRLDZWBUDVWUSOGTJQBZPIUKEOFGEPEJXZLZ(477x9)(102x1)(68x10)(8x8)OEYUDLGQ(29x15)WJZNVYTMKGLBBCKRNCFEXZTXHRFXF(12x11)EONHXGVTERDU(1x9)X(15x2)EUHJXCNQDRKGQEE(78x14)(1x5)W(5x5)FOPSO(56x4)(12x13)LJIFRANVTMFW(2x2)VL(7x5)NAFLCBH(2x9)QX(6x2)JUKNXC(72x12)(8x15)TWYEERLN(16x1)(3x8)PUO(2x13)PQ(9x7)YZMEDORQL(16x4)ANAFFSKWYANYZFYC(197x2)(63x10)(30x14)FKMXZDDPOPETLQAOOHOICGGIRSCNVZ(3x7)NAG(11x12)IUDUKASSBPH(41x14)(2x11)KI(9x8)GWDWTFLRM(13x3)UJAXLOTXDJBAY(1x13)E(10x3)VBYFHVSFGE(50x8)(18x6)PHXVXMBBASFGMIAEPS(7x8)RMTGOVA(9x7)YCVBGFGQE(249x9)(6x6)PTMNTP(2x1)UN(223x15)(3x5)LIN(7x9)QSGULSS(95x12)(9x3)NEOVNFGHW(11x12)SYNKHCNJNRK(5x14)BZFDK(39x6)DWYDUKQFGNRMHHKADEUPMVEAEITNPMGHQVZEUIX(1x14)W(22x3)(1x6)K(1x7)B(5x4)UJYOI(67x4)(22x8)AXLCJBGMPEYBFCPCGAJYOP(33x9)WQRLFGPDCIDEFSFJBCECXNHEAHQQZTHKQ(132x9)(65x8)(3x10)YCV(50x8)(3x14)SGM(7x4)DKYSOFD(3x13)NAV(14x9)ISWITRFROOLPAL(26x3)(5x10)MRQPE(2x6)KE(2x11)YM(10x13)ZKLAZMLQLK(6x14)YPAVRE(624x3)(181x7)(68x13)(21x12)JLXDYPYFCYDMVHQABFMVI(12x10)MDTVSRSDYMUJ(15x4)KQNHDNKHUBTQQPZ(99x13)(1x14)C(9x15)QDNBANFGV(62x5)(4x2)IWFQ(7x12)TFPQQCU(24x5)DBPOBCZBDKYIDTDJODMARSKY(4x14)ZITK(3x14)JKJ(428x14)(284x5)(87x6)(9x9)MUXVSFTMC(7x6)AYXHETP(41x5)DPXBPEIMGTEHUSVZDNISBBLJJGFMQHKVCVYCHKDMC(8x15)NGNYFZOG(96x8)(10x4)BVPKQJEHXR(18x2)MTNUGYYBEEVQSEOVCZ(19x14)DVFFQTKZAPTVHYWUVSR(24x7)HRWIMOXVXCNIFUMDJIAOIHOD(83x7)(3x4)JEH(2x14)KO(24x5)PHBOGUWHYPWSUMUKJVWGPXOI(16x5)SRJFHRSPBJBDCBUL(9x11)ZYRPVDCHL(12x4)OEEUHJYADRUQ(112x4)(54x10)(7x13)ZRHMOKJ(5x3)GYRZA(1x8)R(8x12)QIISRVON(6x1)JYUVAR(5x3)PHVJT(25x2)(19x7)OCSEVRZEXCGBUYDHJPY(5x7)NFXVW(14x8)GSRPSZVARWQODO(274x13)(14x5)TEDYKPFMSZJDPN(210x14)(202x15)(118x6)(37x10)XSRYNNCBPFZEXLJGHEUFGSSKEAGCGHDELXJMZ(3x6)NBD(9x12)WNQSRQMMX(19x14)UQNXQFVPARHPHGANPDL(18x12)QPAVMGIMKGLBVUCUNA(7x2)SVZZKTM(59x3)(33x1)UZSOZNJLLGXZQFAUSLCWLJAZOXYGBOXZB(5x8)OYHIV(4x11)HTHP(11x11)(6x2)PVJINV(1x6)K(7x5)IIFGBET(1703x13)(5x14)LCRHS(853x8)(297x1)(4x8)IATO(138x4)(47x9)(25x8)TKGYAPTVNCAOZGXEHVJSVUZQH(5x4)LTNWY(1x6)T(8x1)LZJDJKHT(66x6)(3x11)CZL(10x14)UFHKIPHXJU(1x4)D(7x14)QRSITNN(14x12)JWWGFGRNGKWEMS(57x2)(51x1)(11x14)DCFZCDZTAGR(11x6)JBUBCJTBMIY(4x12)TBJH(1x4)L(73x13)(66x10)(13x2)DEWJJECFXFDZT(8x11)RKIQWCLS(2x14)MI(2x13)IH(11x3)EIOPIGLPPRU(542x8)(11x9)ZYHQGXLYETL(74x12)(3x7)RIH(3x12)ABZ(51x3)(7x2)FFKYEUF(5x11)GYBQR(5x8)LQDFP(12x8)XZHDEEBHCQNP(162x9)(1x5)P(9x10)(4x3)FNDN(3x12)XHK(27x2)WELDLTBMAEQHHYPTCDJNUSTCKMM(93x9)(6x5)JKWAUT(23x13)ADNVFAMHSDECFUWNHQKYUPD(6x9)OKOOYV(17x11)OANWBVHFTYRMNYIVF(10x12)LXBOALHOLG(52x14)(14x3)KRKNAFDGGAJQVM(15x2)PUZAZWURHFNXCUP(5x14)JKHMQ(209x5)(23x13)QJXALGDLXOLSZMOAOIQIIKM(27x12)UKXUMPJVOIFGFCTMBBULLQQSVNP(13x9)(1x12)W(1x1)Q(68x10)(7x3)TAPFDEL(7x10)MGQVUVE(36x13)MECIHMUCYZGPZSGYFRIZSYNKNUJWRWLLIBCJ(44x15)(2x8)EB(3x5)WIZ(5x2)AWPMR(2x1)BR(7x1)RBGGFSM(824x13)(64x14)NHDVJKXOXWACGUYAPRHAAVEOBOHTKCCVADECJGVEOQDECRIOTDRPFGPSNBQKBWGC(5x7)DBWJW(330x10)(106x15)(4x8)FLQV(90x11)(6x1)CZOTMP(14x9)JKMYLMDZHGLBLS(30x8)XZKWOJVRLLUMPYMOOPXVIZBQMOEQKC(17x3)ZLBFMBAZQDLXHBTSN(171x13)(26x15)DWZFDBQNKLOZOFUDUDNBPJMOJP(27x12)BSYILJVQVEHZYHSBTWGCSXTTYQV(62x13)(41x15)WSIMKZVYWIDEJAQNHLSCUOJRCJNTNFEKLYFTHRBNV(9x7)CVRCEKAPY(28x12)LJGPZASECPTHDMZVTAUQJDMDWJMG(23x2)(16x10)WLDMJKFFUUQJBKKB(2x13)YL(398x3)(10x15)GBMFQKODZR(166x5)(19x8)RVMKTBJCFJRYOYKLABB(45x9)(4x2)AHRP(10x7)SUNWUPGBUI(4x8)AAYR(5x12)LQAOJ(64x6)(32x15)UUKUHLQLRCDNPFBTZCCELMHAEMJALWCW(7x2)OOXKPZV(7x10)TRZQKQQ(14x9)SPOBNBNHQUAXTA(140x7)(9x6)CEURHCCYN(49x10)(2x14)BA(21x2)LXDAOLWMGABWXNJJZNWMT(8x12)DXEJNXWG(64x4)(10x13)OSWHJMSEIX(29x5)QSWOYZGNLFJMNUNQWTXJLULOLXILV(7x5)XBJMJKC(55x1)(1x3)R(42x15)(11x1)RGPKOPUXYKN(11x8)ZEXFAXAEWIK(2x10)KA(1792x5)(779x10)(771x14)(1x9)R(160x12)(1x9)W(60x2)(17x2)(2x5)ZH(5x9)VKZHB(16x9)CLUZMXRXHXGYXKEG(9x13)IKRAARMTI(60x11)(5x12)GULNP(43x9)(1x12)D(1x3)B(16x9)GVMHIYPAPUBHVVHH(3x6)ETP(6x2)EAPQIC(4x13)XPHB(405x8)(2x8)FX(69x8)(4x3)NLCD(1x10)A(3x5)NZH(29x6)(23x5)YUTCGMAZDDYQVCJWKIHNZES(5x4)PXXFA(125x4)(45x3)(1x15)Z(7x8)XMATLKA(4x12)XOVI(1x1)C(4x12)ZUVR(24x6)(18x3)LTRJJBCDXWQJWVRYPC(38x8)(5x7)NEYNO(2x7)UU(15x9)PYETRDIPYYOGDHZ(12x5)RYWDFNFOYUSY(165x10)(27x11)(10x3)YMTTKQWJZI(6x2)VYEQTY(47x12)(14x7)OEZAMELIVXRFQR(12x8)RAWCWKDFYVLO(3x12)UJO(7x6)KEDMOJA(59x8)(4x9)WNGJ(11x15)TVLZNZPPIMC(10x5)BEIIWIAJVW(10x3)HPTIEYPOAC(177x14)(126x6)(3x5)WAF(20x8)(1x14)K(8x8)OJPNYBSI(20x5)(4x14)QFSL(4x10)TRCI(60x4)(7x12)CWDXKIT(11x9)IBHDSDZQYXI(3x14)XFL(14x14)TNPQWJYONMMATN(14x13)FDILKFEJOZJEAN(17x1)(1x6)E(6x4)EKLCDK(998x6)(3x13)BDO(520x8)(30x13)(11x11)URXDXGOIRAS(7x9)TCROBMZ(146x14)(73x1)(66x14)(16x2)UTMVELHWQDZHQSXZ(6x13)JNPFZP(1x7)P(9x11)IJGNOJEHT(6x4)VWGWEO(61x4)(40x9)(14x15)XCVLKPNPVMRNYU(1x5)Y(8x4)ZQMGREOI(9x11)(3x12)XNT(218x15)(5x5)COKBM(11x15)KKNTKSVNPBJ(78x9)(1x8)G(6x7)EWATMT(33x8)IXTNISPBIFCOWLQRSVVLDZDUOFZAOLWYS(15x11)(3x4)HEF(2x6)YG(4x15)SZPH(90x6)(11x3)NQCKGQKMBCJ(52x14)(14x15)AGXIFSMHYCNUDC(1x13)A(6x8)BLRXLS(7x14)WNJVUQI(9x1)(4x4)GBJY(96x10)(89x11)(7x1)(1x13)X(5x6)PPQPV(47x2)(6x3)WKNDXH(29x10)ONKOCGTEIKDCQLDVPMSRSXSOBSUYC(9x2)GKZJOKEZL(454x11)(14x15)COLYFNFJKXYQTN(416x15)(149x4)(23x13)(3x1)FZD(1x11)C(2x13)MD(44x13)(4x14)KRFS(8x1)GUACUOZE(15x7)WWFSKIRRQUXHRBE(61x12)(3x12)MIR(4x15)JATS(6x12)XFFBBR(12x13)XAKILNXBXRDL(5x10)IERHX(212x11)(72x12)(5x4)JNDDK(2x8)IM(12x14)CYRZXNSMMTHR(29x10)EELQQZAEXGXVYOFZDLSUGFWPRSZKN(9x10)XNAZAAQTR(37x1)(2x4)TR(7x1)ZHWZKQC(4x14)BNGX(2x11)UG(68x10)(10x6)XCVUIOZEEP(2x14)YB(12x4)KTBZYWGSTORC(2x11)CJ(11x10)JHNDCOSTTLX(17x15)PJZDEXJVJRDSMHXXN(10x3)KIUZZVAZHI(3x14)BCN(920x5)(831x8)(803x12)(328x5)(198x12)(98x5)(1x4)B(18x9)OHYGZYYYUCLBXBUIYM(19x5)BYDFBZEYKWXNNZFSLNI(16x14)NLOXNNSJLKCYCUZN(13x11)TQTBDLLIRHUWA(88x7)(25x7)TQRRUEPZPSUOUCITJMZROAIAW(2x9)GH(6x14)OVWZUW(7x14)NQECFMF(19x2)PYAROBFSCUQDVOBLFBO(106x8)(32x7)(4x1)ZCKY(17x3)CYYKYEKTAAGICLNIY(61x13)(11x6)UHCPBITWXTA(16x14)LGSTTUVQZISBHTPL(3x6)RMT(7x11)JORYMBJ(4x6)WVSO(443x10)(213x13)(44x3)(3x14)YDU(1x9)F(10x1)BWNYMWFUKM(8x7)UPGXQEGW(69x14)(9x14)FALJFRNYI(9x9)RBOIRPAMU(6x14)TERJIJ(2x8)TD(15x3)KJINFDWSHCQIEUL(80x14)(13x12)YDQKTRXZPSOOB(3x15)OXE(22x15)ATFZSYWRSMRMWFSSBZTWYK(16x8)UBZETPSJACZFSECV(17x2)OJNQOYVYXIOGFTHEW(30x15)WNOSVAFBXUNHLQNMVAXMKLFBMVEKMD(23x6)(17x9)(11x3)XIHYQHJWHVD(125x14)(7x4)ICFHBLA(72x4)(9x15)KJVZFZXXL(18x12)BRLFGPARHILSEGLVFB(3x12)GFX(6x5)TISUXV(7x7)WMQUWIT(28x13)(22x7)YISLXULNQPVSBKABASDWSV(10x14)VETBLITIAF(13x10)QHUXBIHXPZTMC(75x11)(68x10)(61x13)(54x10)(1x2)O(31x7)MEBIZTAYPUAPGQAYWMUTGOIHMRWVBIE(6x6)ZTHNRO(49x11)(43x5)(3x6)OSC(8x8)LJQDDOGZ(15x10)XWHFNHTLUSZUJMQ(140x13)(98x3)(35x9)YQBPVSDYFKTUEVECOYYVSYKBPPIMHGEGJHH(19x3)LYLRVPIJVTJIKIAQSHG(2x5)MD(4x4)GVME(10x6)CDSWCITZPL(4x8)PQFV(2x2)QJ(14x8)LDAXJWGUMKLVRU(110x13)(3x3)UQX(6x10)TGVLKX(11x5)UCBHONGLAUP(66x15)(12x2)YIMWRKDRBRJN(13x12)IZQOYGTUNZTGV(22x3)ZQDTFHLZBTTHCWPKHDDTPY(56x6)(3x3)HEU(10x9)UKOZORNJWY(25x10)YIJVCIZSIGVAZFRSCAPFFKQQM(97x11)(91x3)(8x7)FHJNTEYH(15x13)FOARJPQAZBXCHUD(3x5)CWW(18x15)YNCIIAHKAFMQZCMTRF(16x12)SPSNBWDRIFLOGUZW(148x15)(89x14)(14x5)ETRROSLESWBLWP(7x13)LRPWUCK(5x12)ANFDM(31x3)SPFASFSHXEBCITEEKEPRHJVTSEMHBVL(2x10)QA(46x7)(3x4)JJE(32x7)YVAPHWJEYIOEXKEBJMJQHIHIVLEWSSDP(24x13)(8x14)BZUKOVBV(5x2)XXUYW(2x10)CS From d0c5d60c3ebfd892a62d317f6fb3028e2824f754 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 02:25:31 +0100 Subject: [PATCH 036/100] 2016: d09: ex2: add solution --- 2016/d09/ex2/ex2.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 2016/d09/ex2/ex2.py diff --git a/2016/d09/ex2/ex2.py b/2016/d09/ex2/ex2.py new file mode 100755 index 0000000..2f4fce0 --- /dev/null +++ b/2016/d09/ex2/ex2.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +import sys +from collections.abc import Iterator + + +def solve(input: str) -> int: + def decompress(input: str) -> int: + def helper() -> Iterator[int]: + i = 0 + is_marker = False + while i < len(input): + if is_marker: + j = input.find(")", i) + else: + j = input.find("(", i) + if j == -1: + j = len(input) + if is_marker: + length, repeat = map(int, input[i + 1 : j].split("x")) + yield decompress(input[j + 1 : j + length + 1]) * repeat + i = j + length + 1 + else: + yield j - i + i = j + is_marker = not is_marker + + return sum(helper()) + + return decompress(input.strip()) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 5cc92903db887e34a4b62e7c141ec32ed5cf5217 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 16:14:41 +0100 Subject: [PATCH 037/100] 2016: d10: ex1: add input --- 2016/d10/ex1/input | 231 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 2016/d10/ex1/input diff --git a/2016/d10/ex1/input b/2016/d10/ex1/input new file mode 100644 index 0000000..aeda3b5 --- /dev/null +++ b/2016/d10/ex1/input @@ -0,0 +1,231 @@ +bot 59 gives low to bot 176 and high to bot 120 +bot 92 gives low to bot 42 and high to bot 187 +value 31 goes to bot 114 +bot 182 gives low to bot 49 and high to bot 176 +bot 17 gives low to bot 181 and high to bot 162 +bot 36 gives low to bot 118 and high to bot 121 +bot 118 gives low to bot 164 and high to bot 55 +bot 172 gives low to bot 79 and high to bot 123 +bot 51 gives low to bot 60 and high to bot 31 +bot 48 gives low to bot 107 and high to bot 58 +bot 142 gives low to output 6 and high to bot 35 +bot 133 gives low to output 4 and high to bot 47 +bot 134 gives low to bot 122 and high to bot 66 +bot 106 gives low to bot 155 and high to bot 99 +bot 77 gives low to bot 93 and high to bot 84 +bot 9 gives low to bot 173 and high to bot 197 +bot 64 gives low to bot 123 and high to bot 48 +bot 177 gives low to bot 21 and high to bot 132 +bot 94 gives low to bot 6 and high to bot 25 +bot 126 gives low to bot 193 and high to bot 56 +bot 74 gives low to bot 187 and high to bot 125 +bot 80 gives low to bot 41 and high to bot 191 +bot 62 gives low to bot 157 and high to bot 138 +bot 66 gives low to bot 1 and high to bot 209 +bot 90 gives low to bot 104 and high to bot 34 +bot 68 gives low to bot 23 and high to bot 87 +bot 121 gives low to bot 55 and high to bot 126 +bot 122 gives low to bot 137 and high to bot 1 +bot 209 gives low to bot 168 and high to bot 26 +bot 141 gives low to bot 170 and high to bot 6 +bot 149 gives low to bot 62 and high to bot 13 +bot 120 gives low to bot 179 and high to bot 71 +bot 160 gives low to bot 194 and high to bot 151 +bot 86 gives low to bot 96 and high to bot 106 +value 13 goes to bot 9 +bot 180 gives low to bot 189 and high to bot 27 +value 67 goes to bot 88 +bot 169 gives low to bot 99 and high to bot 159 +bot 56 gives low to bot 98 and high to bot 147 +bot 197 gives low to bot 174 and high to bot 81 +bot 57 gives low to bot 113 and high to bot 179 +bot 39 gives low to bot 115 and high to bot 3 +bot 79 gives low to bot 22 and high to bot 40 +bot 161 gives low to output 14 and high to bot 185 +bot 21 gives low to bot 114 and high to bot 119 +bot 136 gives low to bot 28 and high to bot 158 +bot 105 gives low to bot 89 and high to bot 19 +bot 168 gives low to bot 126 and high to bot 26 +bot 193 gives low to bot 64 and high to bot 98 +bot 186 gives low to bot 86 and high to bot 178 +value 11 goes to bot 165 +bot 33 gives low to bot 116 and high to bot 150 +bot 32 gives low to bot 154 and high to bot 206 +bot 166 gives low to bot 33 and high to bot 139 +value 7 goes to bot 63 +bot 203 gives low to bot 172 and high to bot 64 +bot 200 gives low to bot 94 and high to bot 25 +value 43 goes to bot 76 +bot 145 gives low to bot 103 and high to bot 128 +bot 119 gives low to bot 186 and high to bot 97 +bot 12 gives low to bot 31 and high to bot 4 +bot 23 gives low to bot 198 and high to bot 171 +bot 34 gives low to bot 10 and high to bot 20 +bot 198 gives low to bot 43 and high to bot 17 +bot 50 gives low to output 1 and high to bot 127 +bot 155 gives low to bot 191 and high to bot 32 +bot 206 gives low to bot 12 and high to bot 43 +bot 96 gives low to bot 80 and high to bot 155 +bot 93 gives low to bot 44 and high to bot 70 +bot 24 gives low to bot 85 and high to bot 83 +bot 30 gives low to bot 159 and high to bot 68 +bot 55 gives low to bot 203 and high to bot 193 +bot 199 gives low to bot 68 and high to bot 135 +bot 170 gives low to bot 97 and high to bot 5 +bot 65 gives low to bot 152 and high to bot 194 +bot 43 gives low to bot 4 and high to bot 181 +bot 113 gives low to output 9 and high to bot 161 +bot 81 gives low to bot 141 and high to bot 94 +value 29 goes to bot 7 +bot 46 gives low to bot 175 and high to bot 195 +value 47 goes to bot 21 +value 23 goes to bot 42 +bot 13 gives low to bot 138 and high to bot 61 +bot 135 gives low to bot 87 and high to bot 111 +bot 194 gives low to bot 190 and high to bot 82 +value 73 goes to bot 109 +bot 154 gives low to bot 51 and high to bot 12 +bot 1 gives low to bot 18 and high to bot 209 +bot 98 gives low to bot 48 and high to bot 45 +bot 147 gives low to bot 45 and high to bot 95 +bot 47 gives low to output 19 and high to bot 152 +bot 26 gives low to bot 56 and high to bot 147 +bot 179 gives low to bot 161 and high to bot 71 +bot 148 gives low to bot 204 and high to bot 137 +bot 5 gives low to bot 67 and high to bot 85 +bot 174 gives low to bot 132 and high to bot 141 +bot 8 gives low to bot 13 and high to bot 75 +bot 82 gives low to bot 146 and high to bot 22 +bot 123 gives low to bot 40 and high to bot 107 +bot 99 gives low to bot 32 and high to bot 201 +bot 41 gives low to bot 196 and high to bot 192 +bot 139 gives low to bot 150 and high to bot 153 +bot 11 gives low to output 16 and high to bot 113 +bot 72 gives low to bot 65 and high to bot 160 +bot 195 gives low to bot 133 and high to bot 183 +bot 54 gives low to output 12 and high to output 10 +bot 158 gives low to bot 102 and high to bot 110 +bot 112 gives low to bot 19 and high to bot 118 +bot 31 gives low to bot 208 and high to bot 143 +bot 167 gives low to bot 7 and high to bot 96 +bot 63 gives low to bot 92 and high to bot 74 +bot 116 gives low to bot 20 and high to bot 131 +bot 184 gives low to bot 39 and high to bot 3 +bot 162 gives low to bot 205 and high to bot 39 +bot 108 gives low to output 11 and high to bot 175 +value 53 goes to bot 207 +bot 111 gives low to bot 202 and high to bot 184 +bot 25 gives low to bot 24 and high to bot 83 +value 71 goes to bot 77 +bot 69 gives low to bot 142 and high to bot 0 +bot 146 gives low to output 13 and high to bot 53 +bot 7 gives low to bot 76 and high to bot 80 +bot 131 gives low to bot 73 and high to bot 204 +bot 102 gives low to bot 195 and high to bot 117 +bot 76 gives low to bot 165 and high to bot 41 +bot 153 gives low to bot 148 and high to bot 122 +bot 208 gives low to bot 90 and high to bot 163 +bot 70 gives low to bot 144 and high to bot 78 +bot 125 gives low to bot 8 and high to bot 156 +bot 83 gives low to bot 199 and high to bot 135 +bot 75 gives low to bot 61 and high to bot 104 +bot 67 gives low to bot 169 and high to bot 30 +bot 14 gives low to bot 81 and high to bot 200 +bot 159 gives low to bot 201 and high to bot 23 +value 3 goes to bot 93 +bot 110 gives low to bot 117 and high to bot 89 +bot 128 gives low to bot 129 and high to bot 182 +bot 87 gives low to bot 171 and high to bot 111 +bot 45 gives low to bot 58 and high to bot 95 +bot 4 gives low to bot 143 and high to bot 166 +bot 60 gives low to bot 156 and high to bot 208 +bot 27 gives low to bot 108 and high to bot 46 +bot 42 gives low to bot 207 and high to bot 149 +bot 117 gives low to bot 183 and high to bot 72 +bot 115 gives low to bot 153 and high to bot 134 +bot 140 gives low to bot 125 and high to bot 60 +bot 173 gives low to bot 177 and high to bot 174 +bot 138 gives low to bot 180 and high to bot 52 +bot 100 gives low to bot 38 and high to bot 59 +value 41 goes to bot 173 +value 59 goes to bot 177 +bot 165 gives low to bot 63 and high to bot 196 +bot 84 gives low to bot 70 and high to bot 78 +bot 2 gives low to bot 160 and high to bot 91 +value 61 goes to bot 29 +bot 114 gives low to bot 109 and high to bot 186 +bot 205 gives low to bot 139 and high to bot 115 +bot 175 gives low to output 17 and high to bot 133 +bot 176 gives low to bot 57 and high to bot 120 +bot 107 gives low to bot 124 and high to bot 15 +bot 52 gives low to bot 27 and high to bot 28 +bot 103 gives low to bot 50 and high to bot 129 +bot 150 gives low to bot 131 and high to bot 148 +bot 16 gives low to output 20 and high to bot 189 +bot 190 gives low to output 18 and high to bot 146 +bot 157 gives low to bot 16 and high to bot 180 +bot 10 gives low to bot 158 and high to bot 130 +bot 202 gives low to bot 162 and high to bot 184 +bot 88 gives low to bot 77 and high to bot 84 +bot 188 gives low to bot 128 and high to bot 38 +bot 58 gives low to bot 15 and high to bot 101 +bot 171 gives low to bot 17 and high to bot 202 +bot 97 gives low to bot 178 and high to bot 67 +bot 163 gives low to bot 34 and high to bot 116 +bot 124 gives low to bot 0 and high to bot 145 +bot 71 gives low to bot 185 and high to bot 54 +bot 78 gives low to bot 14 and high to bot 200 +bot 101 gives low to bot 188 and high to bot 100 +bot 189 gives low to output 7 and high to bot 108 +bot 95 gives low to bot 101 and high to bot 100 +bot 0 gives low to bot 35 and high to bot 103 +bot 207 gives low to bot 37 and high to bot 62 +bot 49 gives low to bot 11 and high to bot 57 +bot 85 gives low to bot 30 and high to bot 199 +bot 89 gives low to bot 72 and high to bot 2 +bot 3 gives low to bot 134 and high to bot 66 +bot 181 gives low to bot 166 and high to bot 205 +bot 91 gives low to bot 151 and high to bot 172 +value 17 goes to bot 167 +bot 20 gives low to bot 130 and high to bot 73 +bot 196 gives low to bot 74 and high to bot 140 +bot 18 gives low to bot 121 and high to bot 168 +bot 185 gives low to output 15 and high to bot 54 +bot 178 gives low to bot 106 and high to bot 169 +bot 129 gives low to bot 127 and high to bot 49 +bot 19 gives low to bot 2 and high to bot 164 +bot 15 gives low to bot 145 and high to bot 188 +bot 144 gives low to bot 197 and high to bot 14 +bot 201 gives low to bot 206 and high to bot 198 +bot 164 gives low to bot 91 and high to bot 203 +bot 73 gives low to bot 105 and high to bot 112 +bot 191 gives low to bot 192 and high to bot 154 +bot 109 gives low to bot 167 and high to bot 86 +bot 151 gives low to bot 82 and high to bot 79 +bot 53 gives low to output 2 and high to bot 142 +bot 37 gives low to bot 29 and high to bot 157 +value 2 goes to bot 44 +bot 204 gives low to bot 112 and high to bot 36 +bot 40 gives low to bot 69 and high to bot 124 +bot 22 gives low to bot 53 and high to bot 69 +bot 104 gives low to bot 136 and high to bot 10 +value 19 goes to bot 88 +bot 127 gives low to output 5 and high to bot 11 +bot 183 gives low to bot 47 and high to bot 65 +bot 192 gives low to bot 140 and high to bot 51 +bot 38 gives low to bot 182 and high to bot 59 +bot 61 gives low to bot 52 and high to bot 136 +bot 156 gives low to bot 75 and high to bot 90 +value 37 goes to bot 37 +bot 28 gives low to bot 46 and high to bot 102 +bot 187 gives low to bot 149 and high to bot 8 +bot 132 gives low to bot 119 and high to bot 170 +bot 44 gives low to bot 9 and high to bot 144 +bot 29 gives low to output 0 and high to bot 16 +bot 6 gives low to bot 5 and high to bot 24 +bot 137 gives low to bot 36 and high to bot 18 +bot 130 gives low to bot 110 and high to bot 105 +value 5 goes to bot 92 +bot 35 gives low to output 3 and high to bot 50 +bot 152 gives low to output 8 and high to bot 190 +bot 143 gives low to bot 163 and high to bot 33 From 840d9d5b677dfc81a35f5e79a19392a648ebdaf6 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 16:14:47 +0100 Subject: [PATCH 038/100] 2016: d10: ex1: add solution --- 2016/d10/ex1/ex1.py | 110 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100755 2016/d10/ex1/ex1.py diff --git a/2016/d10/ex1/ex1.py b/2016/d10/ex1/ex1.py new file mode 100755 index 0000000..496d467 --- /dev/null +++ b/2016/d10/ex1/ex1.py @@ -0,0 +1,110 @@ +#!/usr/bin/env python + +import collections +import dataclasses +import sys + + +@dataclasses.dataclass(frozen=True) +class Input: + n: int + + +@dataclasses.dataclass(frozen=True) +class Bot: + n: int + + +@dataclasses.dataclass(frozen=True) +class Output: + n: int + + +# Each node points to its children, to each of whom it outputs a chip +GraphKey = Input | Bot +GraphVal = Bot | Output +# By convention, a bot should list its outputs in [`low`, `high`] order +Graph = dict[GraphKey, list[GraphVal]] +# Reverse the graph representation for an easier topo_sort (only of the keys) +ReverseGraph = dict[GraphKey, set[GraphKey]] + + +def solve(input: str) -> int: + def parse_line(input: str) -> tuple[GraphKey, list[GraphVal]]: + split_input = input.split() + if split_input[0] == "bot": + low_n = int(split_input[6]) + low_type: type[GraphVal] = Bot if split_input[5] == "bot" else Output + high_n = int(split_input[11]) + high_type: type[GraphVal] = Bot if split_input[10] == "bot" else Output + return Bot(int(split_input[1])), [low_type(low_n), high_type(high_n)] + return Input(int(split_input[1])), [Bot(int(split_input[-1]))] + + def parse(input: str) -> Graph: + return {key: val for key, val in map(parse_line, input.splitlines())} + + def run(graph: Graph) -> int: + def reverse_graph(graph: Graph) -> ReverseGraph: + res: ReverseGraph = {n: set() for n in graph} + for node, children in graph.items(): + for child in children: + # We don't care about `Output`s here + if isinstance(child, Output): + continue + res[child].add(node) + return res + + def topo_sort(graph: ReverseGraph) -> list[GraphKey]: + res: list[GraphKey] = [] + + queue = {n for n, deps in graph.items() if not deps} + assert all(isinstance(n, Input) for n in queue) # Sanity check + seen: set[GraphKey] = set() + + while queue: + node = queue.pop() + + res.append(node) + seen.add(node) + # Iterate over all nodes as we don't have information on children + for child, deps in graph.items(): + if child in seen: + continue + if deps - seen: + continue + queue.add(child) + + return res + + reversed_graph = reverse_graph(graph) + assert len(reversed_graph) == len(graph) # Sanity check + run_order = topo_sort(reversed_graph) + assert len(run_order) == len(graph) # Sanity check + CHIPS_OF_INTEREST = {17, 61} + bots_bins: dict[GraphVal, list[int]] = collections.defaultdict(list) + for node in run_order: + match node: + case Input(n): + assert len(graph[node]) == 1 # Sanity check + bots_bins[graph[node][0]].append(n) + case Bot(n): + assert len(graph[node]) == 2 # Sanity check + assert len(bots_bins[node]) == 2 # Sanity check + # Have we found the bot we were looking for? + if set(bots_bins[node]) == CHIPS_OF_INTEREST: + return n + for out, val in zip(graph[node], sorted(bots_bins[node])): + bots_bins[out].append(val) + assert False # Sanity check + + graph = parse(input) + return run(graph) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 60774545733d7584d952ba35522bac6ff5f39ad1 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 16:14:51 +0100 Subject: [PATCH 039/100] 2016: d10: ex2: add input --- 2016/d10/ex2/input | 231 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 2016/d10/ex2/input diff --git a/2016/d10/ex2/input b/2016/d10/ex2/input new file mode 100644 index 0000000..aeda3b5 --- /dev/null +++ b/2016/d10/ex2/input @@ -0,0 +1,231 @@ +bot 59 gives low to bot 176 and high to bot 120 +bot 92 gives low to bot 42 and high to bot 187 +value 31 goes to bot 114 +bot 182 gives low to bot 49 and high to bot 176 +bot 17 gives low to bot 181 and high to bot 162 +bot 36 gives low to bot 118 and high to bot 121 +bot 118 gives low to bot 164 and high to bot 55 +bot 172 gives low to bot 79 and high to bot 123 +bot 51 gives low to bot 60 and high to bot 31 +bot 48 gives low to bot 107 and high to bot 58 +bot 142 gives low to output 6 and high to bot 35 +bot 133 gives low to output 4 and high to bot 47 +bot 134 gives low to bot 122 and high to bot 66 +bot 106 gives low to bot 155 and high to bot 99 +bot 77 gives low to bot 93 and high to bot 84 +bot 9 gives low to bot 173 and high to bot 197 +bot 64 gives low to bot 123 and high to bot 48 +bot 177 gives low to bot 21 and high to bot 132 +bot 94 gives low to bot 6 and high to bot 25 +bot 126 gives low to bot 193 and high to bot 56 +bot 74 gives low to bot 187 and high to bot 125 +bot 80 gives low to bot 41 and high to bot 191 +bot 62 gives low to bot 157 and high to bot 138 +bot 66 gives low to bot 1 and high to bot 209 +bot 90 gives low to bot 104 and high to bot 34 +bot 68 gives low to bot 23 and high to bot 87 +bot 121 gives low to bot 55 and high to bot 126 +bot 122 gives low to bot 137 and high to bot 1 +bot 209 gives low to bot 168 and high to bot 26 +bot 141 gives low to bot 170 and high to bot 6 +bot 149 gives low to bot 62 and high to bot 13 +bot 120 gives low to bot 179 and high to bot 71 +bot 160 gives low to bot 194 and high to bot 151 +bot 86 gives low to bot 96 and high to bot 106 +value 13 goes to bot 9 +bot 180 gives low to bot 189 and high to bot 27 +value 67 goes to bot 88 +bot 169 gives low to bot 99 and high to bot 159 +bot 56 gives low to bot 98 and high to bot 147 +bot 197 gives low to bot 174 and high to bot 81 +bot 57 gives low to bot 113 and high to bot 179 +bot 39 gives low to bot 115 and high to bot 3 +bot 79 gives low to bot 22 and high to bot 40 +bot 161 gives low to output 14 and high to bot 185 +bot 21 gives low to bot 114 and high to bot 119 +bot 136 gives low to bot 28 and high to bot 158 +bot 105 gives low to bot 89 and high to bot 19 +bot 168 gives low to bot 126 and high to bot 26 +bot 193 gives low to bot 64 and high to bot 98 +bot 186 gives low to bot 86 and high to bot 178 +value 11 goes to bot 165 +bot 33 gives low to bot 116 and high to bot 150 +bot 32 gives low to bot 154 and high to bot 206 +bot 166 gives low to bot 33 and high to bot 139 +value 7 goes to bot 63 +bot 203 gives low to bot 172 and high to bot 64 +bot 200 gives low to bot 94 and high to bot 25 +value 43 goes to bot 76 +bot 145 gives low to bot 103 and high to bot 128 +bot 119 gives low to bot 186 and high to bot 97 +bot 12 gives low to bot 31 and high to bot 4 +bot 23 gives low to bot 198 and high to bot 171 +bot 34 gives low to bot 10 and high to bot 20 +bot 198 gives low to bot 43 and high to bot 17 +bot 50 gives low to output 1 and high to bot 127 +bot 155 gives low to bot 191 and high to bot 32 +bot 206 gives low to bot 12 and high to bot 43 +bot 96 gives low to bot 80 and high to bot 155 +bot 93 gives low to bot 44 and high to bot 70 +bot 24 gives low to bot 85 and high to bot 83 +bot 30 gives low to bot 159 and high to bot 68 +bot 55 gives low to bot 203 and high to bot 193 +bot 199 gives low to bot 68 and high to bot 135 +bot 170 gives low to bot 97 and high to bot 5 +bot 65 gives low to bot 152 and high to bot 194 +bot 43 gives low to bot 4 and high to bot 181 +bot 113 gives low to output 9 and high to bot 161 +bot 81 gives low to bot 141 and high to bot 94 +value 29 goes to bot 7 +bot 46 gives low to bot 175 and high to bot 195 +value 47 goes to bot 21 +value 23 goes to bot 42 +bot 13 gives low to bot 138 and high to bot 61 +bot 135 gives low to bot 87 and high to bot 111 +bot 194 gives low to bot 190 and high to bot 82 +value 73 goes to bot 109 +bot 154 gives low to bot 51 and high to bot 12 +bot 1 gives low to bot 18 and high to bot 209 +bot 98 gives low to bot 48 and high to bot 45 +bot 147 gives low to bot 45 and high to bot 95 +bot 47 gives low to output 19 and high to bot 152 +bot 26 gives low to bot 56 and high to bot 147 +bot 179 gives low to bot 161 and high to bot 71 +bot 148 gives low to bot 204 and high to bot 137 +bot 5 gives low to bot 67 and high to bot 85 +bot 174 gives low to bot 132 and high to bot 141 +bot 8 gives low to bot 13 and high to bot 75 +bot 82 gives low to bot 146 and high to bot 22 +bot 123 gives low to bot 40 and high to bot 107 +bot 99 gives low to bot 32 and high to bot 201 +bot 41 gives low to bot 196 and high to bot 192 +bot 139 gives low to bot 150 and high to bot 153 +bot 11 gives low to output 16 and high to bot 113 +bot 72 gives low to bot 65 and high to bot 160 +bot 195 gives low to bot 133 and high to bot 183 +bot 54 gives low to output 12 and high to output 10 +bot 158 gives low to bot 102 and high to bot 110 +bot 112 gives low to bot 19 and high to bot 118 +bot 31 gives low to bot 208 and high to bot 143 +bot 167 gives low to bot 7 and high to bot 96 +bot 63 gives low to bot 92 and high to bot 74 +bot 116 gives low to bot 20 and high to bot 131 +bot 184 gives low to bot 39 and high to bot 3 +bot 162 gives low to bot 205 and high to bot 39 +bot 108 gives low to output 11 and high to bot 175 +value 53 goes to bot 207 +bot 111 gives low to bot 202 and high to bot 184 +bot 25 gives low to bot 24 and high to bot 83 +value 71 goes to bot 77 +bot 69 gives low to bot 142 and high to bot 0 +bot 146 gives low to output 13 and high to bot 53 +bot 7 gives low to bot 76 and high to bot 80 +bot 131 gives low to bot 73 and high to bot 204 +bot 102 gives low to bot 195 and high to bot 117 +bot 76 gives low to bot 165 and high to bot 41 +bot 153 gives low to bot 148 and high to bot 122 +bot 208 gives low to bot 90 and high to bot 163 +bot 70 gives low to bot 144 and high to bot 78 +bot 125 gives low to bot 8 and high to bot 156 +bot 83 gives low to bot 199 and high to bot 135 +bot 75 gives low to bot 61 and high to bot 104 +bot 67 gives low to bot 169 and high to bot 30 +bot 14 gives low to bot 81 and high to bot 200 +bot 159 gives low to bot 201 and high to bot 23 +value 3 goes to bot 93 +bot 110 gives low to bot 117 and high to bot 89 +bot 128 gives low to bot 129 and high to bot 182 +bot 87 gives low to bot 171 and high to bot 111 +bot 45 gives low to bot 58 and high to bot 95 +bot 4 gives low to bot 143 and high to bot 166 +bot 60 gives low to bot 156 and high to bot 208 +bot 27 gives low to bot 108 and high to bot 46 +bot 42 gives low to bot 207 and high to bot 149 +bot 117 gives low to bot 183 and high to bot 72 +bot 115 gives low to bot 153 and high to bot 134 +bot 140 gives low to bot 125 and high to bot 60 +bot 173 gives low to bot 177 and high to bot 174 +bot 138 gives low to bot 180 and high to bot 52 +bot 100 gives low to bot 38 and high to bot 59 +value 41 goes to bot 173 +value 59 goes to bot 177 +bot 165 gives low to bot 63 and high to bot 196 +bot 84 gives low to bot 70 and high to bot 78 +bot 2 gives low to bot 160 and high to bot 91 +value 61 goes to bot 29 +bot 114 gives low to bot 109 and high to bot 186 +bot 205 gives low to bot 139 and high to bot 115 +bot 175 gives low to output 17 and high to bot 133 +bot 176 gives low to bot 57 and high to bot 120 +bot 107 gives low to bot 124 and high to bot 15 +bot 52 gives low to bot 27 and high to bot 28 +bot 103 gives low to bot 50 and high to bot 129 +bot 150 gives low to bot 131 and high to bot 148 +bot 16 gives low to output 20 and high to bot 189 +bot 190 gives low to output 18 and high to bot 146 +bot 157 gives low to bot 16 and high to bot 180 +bot 10 gives low to bot 158 and high to bot 130 +bot 202 gives low to bot 162 and high to bot 184 +bot 88 gives low to bot 77 and high to bot 84 +bot 188 gives low to bot 128 and high to bot 38 +bot 58 gives low to bot 15 and high to bot 101 +bot 171 gives low to bot 17 and high to bot 202 +bot 97 gives low to bot 178 and high to bot 67 +bot 163 gives low to bot 34 and high to bot 116 +bot 124 gives low to bot 0 and high to bot 145 +bot 71 gives low to bot 185 and high to bot 54 +bot 78 gives low to bot 14 and high to bot 200 +bot 101 gives low to bot 188 and high to bot 100 +bot 189 gives low to output 7 and high to bot 108 +bot 95 gives low to bot 101 and high to bot 100 +bot 0 gives low to bot 35 and high to bot 103 +bot 207 gives low to bot 37 and high to bot 62 +bot 49 gives low to bot 11 and high to bot 57 +bot 85 gives low to bot 30 and high to bot 199 +bot 89 gives low to bot 72 and high to bot 2 +bot 3 gives low to bot 134 and high to bot 66 +bot 181 gives low to bot 166 and high to bot 205 +bot 91 gives low to bot 151 and high to bot 172 +value 17 goes to bot 167 +bot 20 gives low to bot 130 and high to bot 73 +bot 196 gives low to bot 74 and high to bot 140 +bot 18 gives low to bot 121 and high to bot 168 +bot 185 gives low to output 15 and high to bot 54 +bot 178 gives low to bot 106 and high to bot 169 +bot 129 gives low to bot 127 and high to bot 49 +bot 19 gives low to bot 2 and high to bot 164 +bot 15 gives low to bot 145 and high to bot 188 +bot 144 gives low to bot 197 and high to bot 14 +bot 201 gives low to bot 206 and high to bot 198 +bot 164 gives low to bot 91 and high to bot 203 +bot 73 gives low to bot 105 and high to bot 112 +bot 191 gives low to bot 192 and high to bot 154 +bot 109 gives low to bot 167 and high to bot 86 +bot 151 gives low to bot 82 and high to bot 79 +bot 53 gives low to output 2 and high to bot 142 +bot 37 gives low to bot 29 and high to bot 157 +value 2 goes to bot 44 +bot 204 gives low to bot 112 and high to bot 36 +bot 40 gives low to bot 69 and high to bot 124 +bot 22 gives low to bot 53 and high to bot 69 +bot 104 gives low to bot 136 and high to bot 10 +value 19 goes to bot 88 +bot 127 gives low to output 5 and high to bot 11 +bot 183 gives low to bot 47 and high to bot 65 +bot 192 gives low to bot 140 and high to bot 51 +bot 38 gives low to bot 182 and high to bot 59 +bot 61 gives low to bot 52 and high to bot 136 +bot 156 gives low to bot 75 and high to bot 90 +value 37 goes to bot 37 +bot 28 gives low to bot 46 and high to bot 102 +bot 187 gives low to bot 149 and high to bot 8 +bot 132 gives low to bot 119 and high to bot 170 +bot 44 gives low to bot 9 and high to bot 144 +bot 29 gives low to output 0 and high to bot 16 +bot 6 gives low to bot 5 and high to bot 24 +bot 137 gives low to bot 36 and high to bot 18 +bot 130 gives low to bot 110 and high to bot 105 +value 5 goes to bot 92 +bot 35 gives low to output 3 and high to bot 50 +bot 152 gives low to output 8 and high to bot 190 +bot 143 gives low to bot 163 and high to bot 33 From 28f5896674b43f1e3ac32037a983161841649dc9 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 16:15:02 +0100 Subject: [PATCH 040/100] 2016: d10: ex2: add solution --- 2016/d10/ex2/ex2.py | 114 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100755 2016/d10/ex2/ex2.py diff --git a/2016/d10/ex2/ex2.py b/2016/d10/ex2/ex2.py new file mode 100755 index 0000000..e4bc163 --- /dev/null +++ b/2016/d10/ex2/ex2.py @@ -0,0 +1,114 @@ +#!/usr/bin/env python + +import collections +import dataclasses +import functools +import itertools +import operator +import sys + + +@dataclasses.dataclass(frozen=True) +class Input: + n: int + + +@dataclasses.dataclass(frozen=True) +class Bot: + n: int + + +@dataclasses.dataclass(frozen=True) +class Output: + n: int + + +# Each node points to its children, to each of whom it outputs a chip +GraphKey = Input | Bot +GraphVal = Bot | Output +# By convention, a bot should list its outputs in [`low`, `high`] order +Graph = dict[GraphKey, list[GraphVal]] +# Reverse the graph representation for an easier topo_sort (only of the keys) +ReverseGraph = dict[GraphKey, set[GraphKey]] + + +def solve(input: str) -> int: + def parse_line(input: str) -> tuple[GraphKey, list[GraphVal]]: + split_input = input.split() + if split_input[0] == "bot": + low_n = int(split_input[6]) + low_type: type[GraphVal] = Bot if split_input[5] == "bot" else Output + high_n = int(split_input[11]) + high_type: type[GraphVal] = Bot if split_input[10] == "bot" else Output + return Bot(int(split_input[1])), [low_type(low_n), high_type(high_n)] + return Input(int(split_input[1])), [Bot(int(split_input[-1]))] + + def parse(input: str) -> Graph: + return {key: val for key, val in map(parse_line, input.splitlines())} + + def run(graph: Graph) -> dict[GraphVal, list[int]]: + def reverse_graph(graph: Graph) -> ReverseGraph: + res: ReverseGraph = {n: set() for n in graph} + for node, children in graph.items(): + for child in children: + # We don't care about `Output`s here + if isinstance(child, Output): + continue + res[child].add(node) + return res + + def topo_sort(graph: ReverseGraph) -> list[GraphKey]: + res: list[GraphKey] = [] + + queue = {n for n, deps in graph.items() if not deps} + assert all(isinstance(n, Input) for n in queue) # Sanity check + seen: set[GraphKey] = set() + + while queue: + node = queue.pop() + + res.append(node) + seen.add(node) + # Iterate over all nodes as we don't have information on children + for child, deps in graph.items(): + if child in seen: + continue + if deps - seen: + continue + queue.add(child) + + return res + + reversed_graph = reverse_graph(graph) + assert len(reversed_graph) == len(graph) # Sanity check + run_order = topo_sort(reversed_graph) + assert len(run_order) == len(graph) # Sanity check + bots_bins: dict[GraphVal, list[int]] = collections.defaultdict(list) + for node in run_order: + match node: + case Input(n): + assert len(graph[node]) == 1 # Sanity check + bots_bins[graph[node][0]].append(n) + case Bot(n): + assert len(graph[node]) == 2 # Sanity check + assert len(bots_bins[node]) == 2 # Sanity check + # Have we found the bot we were looking for? + for out, val in zip(graph[node], sorted(bots_bins[node])): + bots_bins[out].append(val) + return bots_bins + + graph = parse(input) + outputs = run(graph) + return functools.reduce( + operator.mul, + itertools.chain.from_iterable(outputs[Output(i)] for i in range(3)), + ) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From fe14cd24f79b5ea0cc16653b249de8590a1ee58f Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 18:59:43 +0100 Subject: [PATCH 041/100] 2016: d11: ex1: add input --- 2016/d11/ex1/input | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 2016/d11/ex1/input diff --git a/2016/d11/ex1/input b/2016/d11/ex1/input new file mode 100644 index 0000000..7364dd0 --- /dev/null +++ b/2016/d11/ex1/input @@ -0,0 +1,4 @@ +The first floor contains a promethium generator and a promethium-compatible microchip. +The second floor contains a cobalt generator, a curium generator, a ruthenium generator, and a plutonium generator. +The third floor contains a cobalt-compatible microchip, a curium-compatible microchip, a ruthenium-compatible microchip, and a plutonium-compatible microchip. +The fourth floor contains nothing relevant. From d1c48525c62b352d0be8bd3e83c7b9d0afc731b8 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 19:02:18 +0100 Subject: [PATCH 042/100] 2016: d11: ex1: add solution --- 2016/d11/ex1/ex1.py | 194 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100755 2016/d11/ex1/ex1.py diff --git a/2016/d11/ex1/ex1.py b/2016/d11/ex1/ex1.py new file mode 100755 index 0000000..18fbcb9 --- /dev/null +++ b/2016/d11/ex1/ex1.py @@ -0,0 +1,194 @@ +#!/usr/bin/env python + +import dataclasses +import heapq +import itertools +import sys +from collections.abc import Iterator +from typing import NamedTuple + +NUM_FLOORS = 4 + + +@dataclasses.dataclass(frozen=True) +class Microchip: + element: str + + +@dataclasses.dataclass(frozen=True) +class Generator: + element: str + + +Item = Microchip | Generator + + +@dataclasses.dataclass(frozen=True, order=True) +class State: + class Floor(NamedTuple): + chip: int + generator: int + + elevator: int + items: tuple[Floor, ...] + + def __post_init__(self) -> None: + assert self.items == tuple(sorted(self.items)) # Sanity check + + +def solve(input: str) -> int: + def parse_item(input: str) -> Item: + _, element, item_type = input.split() + if item_type == "microchip": + return Microchip(element.removesuffix("-compatible")) + elif item_type == "generator": + return Generator(element) + assert False # Sanity check + + def parse_floor(input: str) -> list[Item]: + # Simplify parsing, and remove `The Xth floor contains` + input = input.removesuffix(".").replace(", and ", ", ").replace(" and ", ", ") + input = " ".join(input.split()[4:]) + if input == "nothing relevant": + return [] + return [parse_item(it) for it in input.split(", ")] + + def parse(input: str) -> dict[Item, int]: + return { + it: i + for i, line in enumerate(input.splitlines()) + for it in parse_floor(line) + } + + def to_state(elevator: int, floors: dict[Item, int]) -> State: + elements = {it.element for it in floors} + return State( + elevator=elevator, + items=tuple( + sorted( + State.Floor(floors[Microchip(elem)], floors[Generator(elem)]) + for elem in elements + ) + ), + ) + + def from_state(state: State) -> tuple[int, dict[Item, int]]: + floors: dict[Item, int] = {} + for i, (chip, generator) in enumerate(state.items): + floors[Microchip(str(i))] = chip + floors[Generator(str(i))] = generator + return state.elevator, floors + + def solve(state: State) -> int: + def items_at( + item_type: type[Item], + floor: int, + items: dict[Item, int], + ) -> set[str]: + return { + it.element + for it, it_floor in items.items() + if it_floor == floor and isinstance(it, item_type) + } + + def neighbours(state: State) -> Iterator[State]: + elevator, all_items = from_state(state) + chips = items_at(Microchip, elevator, all_items) + gens = items_at(Generator, elevator, all_items) + for dest_floor in (elevator - 1, elevator + 1): + # Don't move the elevator out of bounds + if dest_floor < 0 or dest_floor >= NUM_FLOORS: + continue + + dest_chips = items_at(Microchip, dest_floor, all_items) + dest_gens = items_at(Generator, dest_floor, all_items) + unmatched_chips = dest_chips - dest_gens + if unmatched_chips: + assert not dest_gens # Sanity check + + single_items: list[Item] = [] + # Chips + for chip in chips: + # can move to floors with no generator, or a matching generator + if dest_gens and chip not in dest_gens: + continue + single_items.append(Microchip(chip)) + # Generators + for gen in gens: + # can move to floors without unmatched chips or only their chip + if unmatched_chips - {gen}: + continue + # ... but only if they're not currently protecting their chip + if gen in chips and gens - {gen}: + continue + single_items.append(Generator(gen)) + + double_items: list[tuple[Item, Item]] = [] + # Two chips + for chip1, chip2 in itertools.combinations(chips, 2): + # Can move to floors with no generator, or both matching generators + if dest_gens and not dest_gens.issuperset({chip1, chip2}): + continue + double_items.append((Microchip(chip1), Microchip(chip2))) + # Two generators + for gen1, gen2 in itertools.combinations(gens, 2): + # Can move to floors with unmatched chips, if they match them... + if unmatched_chips - {gen1, gen2}: + continue + # ... but only if they're not currently protecting their chip + if (gen1 in chips or gen2 in chips) and gens - {gen1, gen2}: + continue + double_items.append((Generator(gen1), Generator(gen2))) + # Matching generator and chip + for match in chips & gens: + # Can move to floors with no unmatched chips + if not unmatched_chips: + double_items.append((Microchip(match), Generator(match))) + + for item in single_items: + new_items = all_items | {item: dest_floor} + assert new_items.keys() == all_items.keys() # Sanity check + yield to_state(dest_floor, new_items) + for item1, item2 in double_items: + new_items = all_items | {item1: dest_floor, item2: dest_floor} + assert new_items.keys() == all_items.keys() # Sanity check + yield to_state(dest_floor, new_items) + + def dijkstra(start: State, end: State) -> int: + # Priority queue of (distance, point) + queue = [(0, start)] + seen: set[State] = set() + + while len(queue) > 0: + dist, p = heapq.heappop(queue) + if p == end: + return dist + # We must have seen p with a smaller distance before + if p in seen: + continue + # First time encountering p, must be the smallest distance to it + seen.add(p) + # Add all neighbours to be visited + for n in neighbours(p): + heapq.heappush(queue, (dist + 1, n)) + + assert False # Sanity check + + # On the end state, we want all items pairs on the top floor + # The elevator must be on the top floor as well to get the last item up + top = NUM_FLOORS - 1 + end = State(top, tuple(State.Floor(top, top) for _ in state.items)) + return dijkstra(state, end) + + floors = parse(input) + state = to_state(0, floors) + return solve(state) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 882113d60c1b845a5a518f819d637ea98e5544bb Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 19:02:28 +0100 Subject: [PATCH 043/100] 2016: d11: ex2: add input --- 2016/d11/ex2/input | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 2016/d11/ex2/input diff --git a/2016/d11/ex2/input b/2016/d11/ex2/input new file mode 100644 index 0000000..7364dd0 --- /dev/null +++ b/2016/d11/ex2/input @@ -0,0 +1,4 @@ +The first floor contains a promethium generator and a promethium-compatible microchip. +The second floor contains a cobalt generator, a curium generator, a ruthenium generator, and a plutonium generator. +The third floor contains a cobalt-compatible microchip, a curium-compatible microchip, a ruthenium-compatible microchip, and a plutonium-compatible microchip. +The fourth floor contains nothing relevant. From d263ba25f35edbfa29f0024e2035730175665a1e Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 19:03:09 +0100 Subject: [PATCH 044/100] 2016: d11: ex2: add solution --- 2016/d11/ex2/ex2.py | 197 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 197 insertions(+) create mode 100755 2016/d11/ex2/ex2.py diff --git a/2016/d11/ex2/ex2.py b/2016/d11/ex2/ex2.py new file mode 100755 index 0000000..88a3145 --- /dev/null +++ b/2016/d11/ex2/ex2.py @@ -0,0 +1,197 @@ +#!/usr/bin/env python + +import dataclasses +import heapq +import itertools +import sys +from collections.abc import Iterator +from typing import NamedTuple + +NUM_FLOORS = 4 + + +@dataclasses.dataclass(frozen=True) +class Microchip: + element: str + + +@dataclasses.dataclass(frozen=True) +class Generator: + element: str + + +Item = Microchip | Generator + + +@dataclasses.dataclass(frozen=True, order=True) +class State: + class Floor(NamedTuple): + chip: int + generator: int + + elevator: int + items: tuple[Floor, ...] + + def __post_init__(self) -> None: + assert self.items == tuple(sorted(self.items)) # Sanity check + + +def solve(input: str) -> int: + def parse_item(input: str) -> Item: + _, element, item_type = input.split() + if item_type == "microchip": + return Microchip(element.removesuffix("-compatible")) + elif item_type == "generator": + return Generator(element) + assert False # Sanity check + + def parse_floor(input: str) -> list[Item]: + # Simplify parsing, and remove `The Xth floor contains` + input = input.removesuffix(".").replace(", and ", ", ").replace(" and ", ", ") + input = " ".join(input.split()[4:]) + if input == "nothing relevant": + return [] + return [parse_item(it) for it in input.split(", ")] + + def parse(input: str) -> dict[Item, int]: + return { + it: i + for i, line in enumerate(input.splitlines()) + for it in parse_floor(line) + } + + def to_state(elevator: int, floors: dict[Item, int]) -> State: + elements = {it.element for it in floors} + return State( + elevator=elevator, + items=tuple( + sorted( + State.Floor(floors[Microchip(elem)], floors[Generator(elem)]) + for elem in elements + ) + ), + ) + + def from_state(state: State) -> tuple[int, dict[Item, int]]: + floors: dict[Item, int] = {} + for i, (chip, generator) in enumerate(state.items): + floors[Microchip(str(i))] = chip + floors[Generator(str(i))] = generator + return state.elevator, floors + + def solve(state: State) -> int: + def items_at( + item_type: type[Item], + floor: int, + items: dict[Item, int], + ) -> set[str]: + return { + it.element + for it, it_floor in items.items() + if it_floor == floor and isinstance(it, item_type) + } + + def neighbours(state: State) -> Iterator[State]: + elevator, all_items = from_state(state) + chips = items_at(Microchip, elevator, all_items) + gens = items_at(Generator, elevator, all_items) + for dest_floor in (elevator - 1, elevator + 1): + # Don't move the elevator out of bounds + if dest_floor < 0 or dest_floor >= NUM_FLOORS: + continue + + dest_chips = items_at(Microchip, dest_floor, all_items) + dest_gens = items_at(Generator, dest_floor, all_items) + unmatched_chips = dest_chips - dest_gens + if unmatched_chips: + assert not dest_gens # Sanity check + + single_items: list[Item] = [] + # Chips + for chip in chips: + # can move to floors with no generator, or a matching generator + if dest_gens and chip not in dest_gens: + continue + single_items.append(Microchip(chip)) + # Generators + for gen in gens: + # can move to floors without unmatched chips or only their chip + if unmatched_chips - {gen}: + continue + # ... but only if they're not currently protecting their chip + if gen in chips and gens - {gen}: + continue + single_items.append(Generator(gen)) + + double_items: list[tuple[Item, Item]] = [] + # Two chips + for chip1, chip2 in itertools.combinations(chips, 2): + # Can move to floors with no generator, or both matching generators + if dest_gens and not dest_gens.issuperset({chip1, chip2}): + continue + double_items.append((Microchip(chip1), Microchip(chip2))) + # Two generators + for gen1, gen2 in itertools.combinations(gens, 2): + # Can move to floors with unmatched chips, if they match them... + if unmatched_chips - {gen1, gen2}: + continue + # ... but only if they're not currently protecting their chip + if (gen1 in chips or gen2 in chips) and gens - {gen1, gen2}: + continue + double_items.append((Generator(gen1), Generator(gen2))) + # Matching generator and chip + for match in chips & gens: + # Can move to floors with no unmatched chips + if not unmatched_chips: + double_items.append((Microchip(match), Generator(match))) + + for item in single_items: + new_items = all_items | {item: dest_floor} + assert new_items.keys() == all_items.keys() # Sanity check + yield to_state(dest_floor, new_items) + for item1, item2 in double_items: + new_items = all_items | {item1: dest_floor, item2: dest_floor} + assert new_items.keys() == all_items.keys() # Sanity check + yield to_state(dest_floor, new_items) + + def dijkstra(start: State, end: State) -> int: + # Priority queue of (distance, point) + queue = [(0, start)] + seen: set[State] = set() + + while len(queue) > 0: + dist, p = heapq.heappop(queue) + if p == end: + return dist + # We must have seen p with a smaller distance before + if p in seen: + continue + # First time encountering p, must be the smallest distance to it + seen.add(p) + # Add all neighbours to be visited + for n in neighbours(p): + heapq.heappush(queue, (dist + 1, n)) + + assert False # Sanity check + + # On the end state, we want all items pairs on the top floor + # The elevator must be on the top floor as well to get the last item up + top = NUM_FLOORS - 1 + end = State(top, tuple(State.Floor(top, top) for _ in state.items)) + return dijkstra(state, end) + + floors = parse(input) + for elem in ("elerium", "dilithium"): + floors[Microchip(elem)] = 0 + floors[Generator(elem)] = 0 + state = to_state(0, floors) + return solve(state) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 06c3954fa49490bcc43429e0336daec442f1049f Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 19:33:38 +0100 Subject: [PATCH 045/100] 2016: d12: ex1: add input --- 2016/d12/ex1/input | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 2016/d12/ex1/input diff --git a/2016/d12/ex1/input b/2016/d12/ex1/input new file mode 100644 index 0000000..8b3f7bf --- /dev/null +++ b/2016/d12/ex1/input @@ -0,0 +1,23 @@ +cpy 1 a +cpy 1 b +cpy 26 d +jnz c 2 +jnz 1 5 +cpy 7 c +inc d +dec c +jnz c -2 +cpy a c +inc a +dec b +jnz b -2 +cpy c b +dec d +jnz d -6 +cpy 13 c +cpy 14 d +inc a +dec d +jnz d -2 +dec c +jnz c -5 From 752d8100e0b86b32848b3856e278223a29c54335 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 19:33:43 +0100 Subject: [PATCH 046/100] 2016: d12: ex1: add solution --- 2016/d12/ex1/ex1.py | 67 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100755 2016/d12/ex1/ex1.py diff --git a/2016/d12/ex1/ex1.py b/2016/d12/ex1/ex1.py new file mode 100755 index 0000000..93b4b3a --- /dev/null +++ b/2016/d12/ex1/ex1.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python + +import collections +import enum +import sys +from typing import NamedTuple + + +class Op(enum.StrEnum): + CPY = "cpy" + INC = "inc" + DEC = "dec" + JNZ = "jnz" + + +class Instruction(NamedTuple): + op: Op + x: str + y: str | None = None + + @classmethod + def from_str(cls, input: str) -> "Instruction": + op, *rest = input.split() + return cls(Op(op), *rest) + + +def solve(input: str) -> int: + def parse(input: str) -> list[Instruction]: + return [Instruction.from_str(line) for line in input.splitlines()] + + def resolve(y: str | None, registers: dict[str, int]) -> int: + assert y is not None # Sanity check + try: + return int(y) + except ValueError: + return registers[y] + + instructions = parse(input) + registers: dict[str, int] = collections.defaultdict(int) + + ip = 0 + while True: + if ip < 0 or ip >= len(instructions): + break + instr = instructions[ip] + ip += 1 + match instr.op: + case Op.CPY: + assert instr.y is not None + registers[instr.y] = resolve(instr.x, registers) + case Op.INC: + registers[instr.x] += 1 + case Op.DEC: + registers[instr.x] -= 1 + case Op.JNZ: + if resolve(instr.x, registers) != 0: + ip += resolve(instr.y, registers) - 1 # Account auto-increment + return registers["a"] + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 6e1ae5ce37b0c89c5d824b157e15aa58a235c5e1 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 19:33:47 +0100 Subject: [PATCH 047/100] 2016: d12: ex2: add input --- 2016/d12/ex2/input | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 2016/d12/ex2/input diff --git a/2016/d12/ex2/input b/2016/d12/ex2/input new file mode 100644 index 0000000..8b3f7bf --- /dev/null +++ b/2016/d12/ex2/input @@ -0,0 +1,23 @@ +cpy 1 a +cpy 1 b +cpy 26 d +jnz c 2 +jnz 1 5 +cpy 7 c +inc d +dec c +jnz c -2 +cpy a c +inc a +dec b +jnz b -2 +cpy c b +dec d +jnz d -6 +cpy 13 c +cpy 14 d +inc a +dec d +jnz d -2 +dec c +jnz c -5 From 2448b7080f9a959b3578d2f95b61c6b0c3bb5b1e Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 19:33:56 +0100 Subject: [PATCH 048/100] 2016: d12: ex2: add solution --- 2016/d12/ex2/ex2.py | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 2016/d12/ex2/ex2.py diff --git a/2016/d12/ex2/ex2.py b/2016/d12/ex2/ex2.py new file mode 100755 index 0000000..432618d --- /dev/null +++ b/2016/d12/ex2/ex2.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python + +import enum +import sys +from typing import NamedTuple + + +class Op(enum.StrEnum): + CPY = "cpy" + INC = "inc" + DEC = "dec" + JNZ = "jnz" + + +class Instruction(NamedTuple): + op: Op + x: str + y: str | None = None + + @classmethod + def from_str(cls, input: str) -> "Instruction": + op, *rest = input.split() + return cls(Op(op), *rest) + + +def solve(input: str) -> int: + def parse(input: str) -> list[Instruction]: + return [Instruction.from_str(line) for line in input.splitlines()] + + def fibonacci(n: int) -> int: + a, b = 1, 1 + for _ in range(n): + a, b = b, a + b + return b + + instructions = parse(input) + fib_n = int(instructions[2].x) + int(instructions[5].x) + mult = int(instructions[16].x) + fact = int(instructions[17].x) + return fibonacci(fib_n) + mult * fact + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From d7b9b84b9bc3858af719496ba0565e23be05fae1 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 19:48:11 +0100 Subject: [PATCH 049/100] 2016: d13: ex1: add input --- 2016/d13/ex1/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d13/ex1/input diff --git a/2016/d13/ex1/input b/2016/d13/ex1/input new file mode 100644 index 0000000..7776e09 --- /dev/null +++ b/2016/d13/ex1/input @@ -0,0 +1 @@ +1358 From 6c4b5d1b4a223afb1cc259324a8d233b0af0aecc Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 19:48:38 +0100 Subject: [PATCH 050/100] 2016: d13: ex1: add solution --- 2016/d13/ex1/ex1.py | 68 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 2016/d13/ex1/ex1.py diff --git a/2016/d13/ex1/ex1.py b/2016/d13/ex1/ex1.py new file mode 100755 index 0000000..688beb2 --- /dev/null +++ b/2016/d13/ex1/ex1.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python + +import functools +import heapq +import sys +from collections.abc import Callable, Iterator +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +def solve(input: str) -> int: + def office_location_open(p: Point, number: int) -> bool: + x, y = p + return (x * x + 3 * x + 2 * x * y + y + y * y + number).bit_count() % 2 == 0 + + def office_neighbours(p: Point, number: int) -> Iterator[Point]: + for dx, dy in ( + (-1, 0), + (1, 0), + (0, -1), + (0, 1), + ): + n = Point(p.x + dx, p.y + dy) + if n.x < 0 or n.y < 0: + continue + if office_location_open(n, number): + yield n + + def dijkstra( + start: Point, + end: Point, + neighbours: Callable[[Point], Iterator[Point]], + ) -> int: + # Priority queue of (distance, point) + queue = [(0, start)] + seen: set[Point] = set() + + while len(queue) > 0: + dist, p = heapq.heappop(queue) + if p == end: + return dist + # We must have seen p with a smaller distance before + if p in seen: + continue + # First time encountering p, must be the smallest distance to it + seen.add(p) + # Add all neighbours to be visited + for n in neighbours(p): + heapq.heappush(queue, (dist + 1, n)) + + assert False # Sanity check + + favorite_number = int(input.strip()) + neighbours = functools.partial(office_neighbours, number=favorite_number) + return dijkstra(Point(1, 1), Point(31, 39), neighbours) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 49aa128a1e75779f3e6e6b092cc32591721e773e Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 19:48:48 +0100 Subject: [PATCH 051/100] 2016: d13: ex2: add input --- 2016/d13/ex2/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d13/ex2/input diff --git a/2016/d13/ex2/input b/2016/d13/ex2/input new file mode 100644 index 0000000..7776e09 --- /dev/null +++ b/2016/d13/ex2/input @@ -0,0 +1 @@ +1358 From 8f9429148fbcbda9d54c6967121f14334c8d26a8 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 19:48:56 +0100 Subject: [PATCH 052/100] 2016: d13: ex2: add solution --- 2016/d13/ex2/ex2.py | 67 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100755 2016/d13/ex2/ex2.py diff --git a/2016/d13/ex2/ex2.py b/2016/d13/ex2/ex2.py new file mode 100755 index 0000000..c9841cd --- /dev/null +++ b/2016/d13/ex2/ex2.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python + +import functools +import heapq +import sys +from collections.abc import Callable, Iterator +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +def solve(input: str) -> int: + def office_location_open(p: Point, number: int) -> bool: + x, y = p + return (x * x + 3 * x + 2 * x * y + y + y * y + number).bit_count() % 2 == 0 + + def office_neighbours(p: Point, number: int) -> Iterator[Point]: + for dx, dy in ( + (-1, 0), + (1, 0), + (0, -1), + (0, 1), + ): + n = Point(p.x + dx, p.y + dy) + if n.x < 0 or n.y < 0: + continue + if office_location_open(n, number): + yield n + + def explore( + start: Point, + max_steps: int, + neighbours: Callable[[Point], Iterator[Point]], + ) -> int: + queue = [(0, start)] + seen: set[Point] = set() + + while len(queue) > 0: + dist, p = heapq.heappop(queue) + if dist > max_steps: + continue + # We must have seen p with a smaller distance before + if p in seen: + continue + # First time encountering p, must be the smallest distance to it + seen.add(p) + # Add all neighbours to be visited + for n in neighbours(p): + heapq.heappush(queue, (dist + 1, n)) + + return len(seen) + + favorite_number = int(input.strip()) + neighbours = functools.partial(office_neighbours, number=favorite_number) + return explore(Point(1, 1), 50, neighbours) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 2aad8aa38ae6ad7748517adaa3e54e77c66e7bec Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 20:25:53 +0100 Subject: [PATCH 053/100] 2016: d14: ex1: add input --- 2016/d14/ex1/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d14/ex1/input diff --git a/2016/d14/ex1/input b/2016/d14/ex1/input new file mode 100644 index 0000000..0aabd82 --- /dev/null +++ b/2016/d14/ex1/input @@ -0,0 +1 @@ +ihaygndm From 87ce54f8380b32845bc4c7c4260b9e4f34e84dde Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 20:26:02 +0100 Subject: [PATCH 054/100] 2016: d14: ex1: add solution --- 2016/d14/ex1/ex1.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 2016/d14/ex1/ex1.py diff --git a/2016/d14/ex1/ex1.py b/2016/d14/ex1/ex1.py new file mode 100755 index 0000000..b960e4b --- /dev/null +++ b/2016/d14/ex1/ex1.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python + +import functools +import hashlib +import itertools +import sys + + +def solve(input: str) -> int: + def hash(n: int, salt: str) -> str: + return hashlib.md5((salt + str(n)).encode()).hexdigest() + + def find_triplet_char(input: str) -> str | None: + for i in range(0, len(input) - 2): + a, b, c = input[i], input[i + 1], input[i + 2] + if a == b and b == c: + return a + return None + + salt = input.strip() + hashed_salt = functools.cache(functools.partial(hash, salt=salt)) + cur_key = 0 + for i in itertools.count(): + candidate = hashed_salt(i) + if (triplet_char := find_triplet_char(candidate)) is None: + continue + for j in range(i + 1, i + 1000 + 1): + if (triplet_char * 5) in hashed_salt(j): + cur_key += 1 + if cur_key == 64: + return i + break + assert False # Sanity check + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From b78c0016d884f68f35ce75a61323ceea8479d0f4 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 20:26:08 +0100 Subject: [PATCH 055/100] 2016: d14: ex2: add input --- 2016/d14/ex2/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d14/ex2/input diff --git a/2016/d14/ex2/input b/2016/d14/ex2/input new file mode 100644 index 0000000..0aabd82 --- /dev/null +++ b/2016/d14/ex2/input @@ -0,0 +1 @@ +ihaygndm From f047fe1d42c5dd39ff55dee4d87c186968e8bb34 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 20:26:16 +0100 Subject: [PATCH 056/100] 2016: d14: ex2: add solution --- 2016/d14/ex2/ex2.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 2016/d14/ex2/ex2.py diff --git a/2016/d14/ex2/ex2.py b/2016/d14/ex2/ex2.py new file mode 100755 index 0000000..b414088 --- /dev/null +++ b/2016/d14/ex2/ex2.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python + +import functools +import hashlib +import itertools +import sys + + +def solve(input: str) -> int: + def hash(n: int, salt: str) -> str: + key = salt + str(n) + for _ in range(2016 + 1): + key = hashlib.md5(key.encode()).hexdigest() + return key + + def find_triplet_char(input: str) -> str | None: + for i in range(0, len(input) - 2): + a, b, c = input[i], input[i + 1], input[i + 2] + if a == b and b == c: + return a + return None + + salt = input.strip() + hashed_salt = functools.cache(functools.partial(hash, salt=salt)) + cur_key = 0 + for i in itertools.count(): + candidate = hashed_salt(i) + if (triplet_char := find_triplet_char(candidate)) is None: + continue + for j in range(i + 1, i + 1000 + 1): + if (triplet_char * 5) in hashed_salt(j): + cur_key += 1 + if cur_key == 64: + return i + break + assert False # Sanity check + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 3d4c9cb443a62d461a04e830ae785d2cc5044ad4 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 20:40:06 +0100 Subject: [PATCH 057/100] 2016: d15: ex1: add input --- 2016/d15/ex1/input | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 2016/d15/ex1/input diff --git a/2016/d15/ex1/input b/2016/d15/ex1/input new file mode 100644 index 0000000..c5d5019 --- /dev/null +++ b/2016/d15/ex1/input @@ -0,0 +1,6 @@ +Disc #1 has 17 positions; at time=0, it is at position 1. +Disc #2 has 7 positions; at time=0, it is at position 0. +Disc #3 has 19 positions; at time=0, it is at position 2. +Disc #4 has 5 positions; at time=0, it is at position 0. +Disc #5 has 3 positions; at time=0, it is at position 0. +Disc #6 has 13 positions; at time=0, it is at position 5. From 5939ba8fd107a83f6fa77912af9d833f5d026aa8 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 20:40:15 +0100 Subject: [PATCH 058/100] 2016: d15: ex1: add solution --- 2016/d15/ex1/ex1.py | 61 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100755 2016/d15/ex1/ex1.py diff --git a/2016/d15/ex1/ex1.py b/2016/d15/ex1/ex1.py new file mode 100755 index 0000000..1f6c653 --- /dev/null +++ b/2016/d15/ex1/ex1.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python + +import math +import sys +from typing import NamedTuple + + +class Disc(NamedTuple): + num: int + positions: int + start_offset: int + + @classmethod + def from_str(cls, input: str) -> "Disc": + input = input.removeprefix("Disc #").removesuffix(".") + split_input = input.split() + return Disc( + int(split_input[0]), + int(split_input[2]), + int(split_input[-1]), + ) + + +def solve(input: str) -> int: + def parse(input: str) -> list[Disc]: + return [Disc.from_str(line) for line in input.splitlines()] + + # https://rosettacode.org/wiki/Chinese_remainder_theorem#Python_3.6 + def mul_inv(a: int, b: int) -> int: + b0 = b + x0, x1 = 0, 1 + if b == 1: + return 1 + while a > 1: + q = a // b + a, b = b, a % b + x0, x1 = x1 - q * x0, x0 + if x1 < 0: + x1 += b0 + return x1 + + def chinese_remainder(residue_mapping: dict[int, int]) -> int: + res = 0 + prod = math.prod(residue_mapping) + for n_i, a_i in residue_mapping.items(): + p = prod // n_i + res += a_i * mul_inv(p, n_i) * p + return res % prod + + discs = parse(input) + residues = {disc.positions: -(disc.start_offset + disc.num) for disc in discs} + return chinese_remainder(residues) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From f1d38c578fdf1a01b232900ba76b176785b66352 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 20:40:21 +0100 Subject: [PATCH 059/100] 2016: d15: ex2: add input --- 2016/d15/ex2/input | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 2016/d15/ex2/input diff --git a/2016/d15/ex2/input b/2016/d15/ex2/input new file mode 100644 index 0000000..c5d5019 --- /dev/null +++ b/2016/d15/ex2/input @@ -0,0 +1,6 @@ +Disc #1 has 17 positions; at time=0, it is at position 1. +Disc #2 has 7 positions; at time=0, it is at position 0. +Disc #3 has 19 positions; at time=0, it is at position 2. +Disc #4 has 5 positions; at time=0, it is at position 0. +Disc #5 has 3 positions; at time=0, it is at position 0. +Disc #6 has 13 positions; at time=0, it is at position 5. From d69f18f129e4d1488290c4e2a299a83d514d88da Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 20:40:29 +0100 Subject: [PATCH 060/100] 2016: d15: ex2: add solution --- 2016/d15/ex2/ex2.py | 62 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100755 2016/d15/ex2/ex2.py diff --git a/2016/d15/ex2/ex2.py b/2016/d15/ex2/ex2.py new file mode 100755 index 0000000..65d13fe --- /dev/null +++ b/2016/d15/ex2/ex2.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python + +import math +import sys +from typing import NamedTuple + + +class Disc(NamedTuple): + num: int + positions: int + start_offset: int + + @classmethod + def from_str(cls, input: str) -> "Disc": + input = input.removeprefix("Disc #").removesuffix(".") + split_input = input.split() + return Disc( + int(split_input[0]), + int(split_input[2]), + int(split_input[-1]), + ) + + +def solve(input: str) -> int: + def parse(input: str) -> list[Disc]: + return [Disc.from_str(line) for line in input.splitlines()] + + # https://rosettacode.org/wiki/Chinese_remainder_theorem#Python_3.6 + def mul_inv(a: int, b: int) -> int: + b0 = b + x0, x1 = 0, 1 + if b == 1: + return 1 + while a > 1: + q = a // b + a, b = b, a % b + x0, x1 = x1 - q * x0, x0 + if x1 < 0: + x1 += b0 + return x1 + + def chinese_remainder(residue_mapping: dict[int, int]) -> int: + res = 0 + prod = math.prod(residue_mapping) + for n_i, a_i in residue_mapping.items(): + p = prod // n_i + res += a_i * mul_inv(p, n_i) * p + return res % prod + + discs = parse(input) + discs.append(Disc(len(discs) + 1, 11, 0)) + residues = {disc.positions: -(disc.start_offset + disc.num) for disc in discs} + return chinese_remainder(residues) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 16d54ff2e02379fbb74e252fa6e574d8507e187a Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 21:31:33 +0100 Subject: [PATCH 061/100] 2016: d16: ex1: add input --- 2016/d16/ex1/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d16/ex1/input diff --git a/2016/d16/ex1/input b/2016/d16/ex1/input new file mode 100644 index 0000000..f8492ed --- /dev/null +++ b/2016/d16/ex1/input @@ -0,0 +1 @@ +00101000101111010 From 13740c7423d902577ac08a13c0ca64b7ad909fec Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 21:31:37 +0100 Subject: [PATCH 062/100] 2016: d16: ex1: add solution --- 2016/d16/ex1/ex1.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 2016/d16/ex1/ex1.py diff --git a/2016/d16/ex1/ex1.py b/2016/d16/ex1/ex1.py new file mode 100755 index 0000000..4055e2b --- /dev/null +++ b/2016/d16/ex1/ex1.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python + +import itertools +import sys + + +def solve(input: str) -> str: + def curve_step(input: str) -> str: + b = input.translate(str.maketrans("01", "10"))[::-1] + return input + "0" + b + + def checksum(state: str) -> str: + while len(state) % 2 == 0: + state = "".join(str(int(a == b)) for a, b in itertools.batched(state, 2)) + return state + + state = input.strip() + disk_size = 272 + while len(state) < disk_size: + state = curve_step(state) + return checksum(state[:disk_size]) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 336b032520584202793760e1542a302987ad9bc0 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 21:31:41 +0100 Subject: [PATCH 063/100] 2016: d16: ex2: add input --- 2016/d16/ex2/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d16/ex2/input diff --git a/2016/d16/ex2/input b/2016/d16/ex2/input new file mode 100644 index 0000000..f8492ed --- /dev/null +++ b/2016/d16/ex2/input @@ -0,0 +1 @@ +00101000101111010 From cfb24fc103289fd73d9773b39a6d38d98070f9c9 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 21:31:46 +0100 Subject: [PATCH 064/100] 2016: d16: ex2: add solution --- 2016/d16/ex2/ex2.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 2016/d16/ex2/ex2.py diff --git a/2016/d16/ex2/ex2.py b/2016/d16/ex2/ex2.py new file mode 100755 index 0000000..74e27ee --- /dev/null +++ b/2016/d16/ex2/ex2.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python + +import itertools +import sys + + +def solve(input: str) -> str: + def curve_step(input: str) -> str: + b = input.translate(str.maketrans("01", "10"))[::-1] + return input + "0" + b + + def checksum(state: str) -> str: + while len(state) % 2 == 0: + state = "".join(str(int(a == b)) for a, b in itertools.batched(state, 2)) + return state + + state = input.strip() + disk_size = 35651584 + while len(state) < disk_size: + state = curve_step(state) + return checksum(state[:disk_size]) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 86aa353f5d8545495f92e2617a7c05943dc1db14 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 22:04:39 +0100 Subject: [PATCH 065/100] 2016: d17: ex1: add input --- 2016/d17/ex1/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d17/ex1/input diff --git a/2016/d17/ex1/input b/2016/d17/ex1/input new file mode 100644 index 0000000..7d9ceb6 --- /dev/null +++ b/2016/d17/ex1/input @@ -0,0 +1 @@ +pgflpeqp From 82d5566cc55c57f2ddb3b4e5c660ad345d83ad1d Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 22:05:24 +0100 Subject: [PATCH 066/100] 2016: d17: ex1: add solution --- 2016/d17/ex1/ex1.py | 81 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100755 2016/d17/ex1/ex1.py diff --git a/2016/d17/ex1/ex1.py b/2016/d17/ex1/ex1.py new file mode 100755 index 0000000..d32788d --- /dev/null +++ b/2016/d17/ex1/ex1.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python + +import enum +import functools +import hashlib +import sys +from collections.abc import Callable, Iterator +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +# Iteration order of `Direction` is relevant to the solution +class Direction(enum.StrEnum): + UP = "U" + DOWN = "D" + LEFT = "L" + RIGHT = "R" + + def apply(self, p: Point) -> Point: + match self: + case Direction.UP: + dx, dy = -1, 0 + case Direction.DOWN: + dx, dy = 1, 0 + case Direction.LEFT: + dx, dy = 0, -1 + case Direction.RIGHT: + dx, dy = 0, 1 + return Point(p.x + dx, p.y + dy) + + +Path = tuple[Direction, ...] + + +def solve(input: str) -> str: + def doors_at_passcode(path: Path, passcode: str) -> Iterator[Direction]: + hashed = hashlib.md5((passcode + "".join(path)).encode()).hexdigest()[:4] + for c, dir in zip(hashed, Direction): + if c.isdigit() or c == "a": + continue + yield Direction(dir) # Satisfy Mypy to use the correct return type... + + def bfs( + start: Point, + end: Point, + doors_at: Callable[[Path], Iterator[Direction]], + ) -> Path: + queue: list[tuple[Point, Path]] = [(start, ())] + + while queue: + new_queue: list[tuple[Point, Path]] = [] + for p, path in queue: + if p == end: + return path + for dir in doors_at(path): + new_pos = dir.apply(p) + if new_pos.x < 0 or new_pos.x > end.x: + continue + if new_pos.y < 0 or new_pos.y > end.y: + continue + new_queue.append((dir.apply(p), path + (dir,))) + queue = new_queue + + assert False # Sanity check + + passcode = input.strip() + doors_at = functools.partial(doors_at_passcode, passcode=passcode) + return "".join(bfs(Point(0, 0), Point(3, 3), doors_at)) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 2f54858040b7a6cdcde7a3aec527e1457db282f2 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 22:05:32 +0100 Subject: [PATCH 067/100] 2016: d17: ex2: add input --- 2016/d17/ex2/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d17/ex2/input diff --git a/2016/d17/ex2/input b/2016/d17/ex2/input new file mode 100644 index 0000000..7d9ceb6 --- /dev/null +++ b/2016/d17/ex2/input @@ -0,0 +1 @@ +pgflpeqp From f0bb869336a93e5f9405a47d4a4fee734d869e05 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 22:05:45 +0100 Subject: [PATCH 068/100] 2016: d17: ex2: add solution --- 2016/d17/ex2/ex2.py | 83 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100755 2016/d17/ex2/ex2.py diff --git a/2016/d17/ex2/ex2.py b/2016/d17/ex2/ex2.py new file mode 100755 index 0000000..e136018 --- /dev/null +++ b/2016/d17/ex2/ex2.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python + +import enum +import functools +import hashlib +import sys +from collections.abc import Callable, Iterator +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +# Iteration order of `Direction` is relevant to the solution +class Direction(enum.StrEnum): + UP = "U" + DOWN = "D" + LEFT = "L" + RIGHT = "R" + + def apply(self, p: Point) -> Point: + match self: + case Direction.UP: + dx, dy = -1, 0 + case Direction.DOWN: + dx, dy = 1, 0 + case Direction.LEFT: + dx, dy = 0, -1 + case Direction.RIGHT: + dx, dy = 0, 1 + return Point(p.x + dx, p.y + dy) + + +Path = tuple[Direction, ...] + + +def solve(input: str) -> int: + def doors_at_passcode(path: Path, passcode: str) -> Iterator[Direction]: + hashed = hashlib.md5((passcode + "".join(path)).encode()).hexdigest()[:4] + for c, dir in zip(hashed, Direction): + if c.isdigit() or c == "a": + continue + yield Direction(dir) # Satisfy Mypy to use the correct return type... + + def bfs( + start: Point, + end: Point, + doors_at: Callable[[Path], Iterator[Direction]], + ) -> int: + queue: list[tuple[Point, Path]] = [(start, ())] + max_dist = -1 + + while queue: + new_queue: list[tuple[Point, Path]] = [] + for p, path in queue: + if p == end: + max_dist = max(max_dist, len(path)) + continue + for dir in doors_at(path): + new_pos = dir.apply(p) + if new_pos.x < 0 or new_pos.x > end.x: + continue + if new_pos.y < 0 or new_pos.y > end.y: + continue + new_queue.append((dir.apply(p), path + (dir,))) + queue = new_queue + + return max_dist + + passcode = input.strip() + doors_at = functools.partial(doors_at_passcode, passcode=passcode) + return bfs(Point(0, 0), Point(3, 3), doors_at) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From a126c036f1a17fd80bc0dbace2a6f491a8e3af8f Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 22:30:53 +0100 Subject: [PATCH 069/100] 2016: d18: ex1: add input --- 2016/d18/ex1/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d18/ex1/input diff --git a/2016/d18/ex1/input b/2016/d18/ex1/input new file mode 100644 index 0000000..d42a59c --- /dev/null +++ b/2016/d18/ex1/input @@ -0,0 +1 @@ +^..^^.^^^..^^.^...^^^^^....^.^..^^^.^.^.^^...^.^.^.^.^^.....^.^^.^.^.^.^.^.^^..^^^^^...^.....^....^. From 5bf73d5948213f39c2f456ecb5abf5d8712cc750 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 22:31:02 +0100 Subject: [PATCH 070/100] 2016: d18: ex1: add solution --- 2016/d18/ex1/ex1.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 2016/d18/ex1/ex1.py diff --git a/2016/d18/ex1/ex1.py b/2016/d18/ex1/ex1.py new file mode 100755 index 0000000..b02801b --- /dev/null +++ b/2016/d18/ex1/ex1.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python + +import sys + + +def solve(input: str) -> int: + def parse(input: str) -> set[int]: + return {i for i, c in enumerate(input.strip()) if c == "^"} + + def is_trap(tile: int, traps: set[int]) -> bool: + match ((tile - 1) in traps, tile in traps, (tile + 1) in traps): + case (True, True, False): + return True + case (False, True, True): + return True + case (True, False, False): + return True + case (False, False, True): + return True + case _: + return False + + def step_row(traps: set[int], row_length: int) -> set[int]: + return {i for i in range(row_length) if is_trap(i, traps)} + + traps = parse(input) + row_length = len(input.strip()) + safe_tiles = row_length - len(traps) + for _ in range(40 - 1): + traps = step_row(traps, row_length) + safe_tiles += row_length - len(traps) + return safe_tiles + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 3bb9396555766140a9b15d63d8aa7765734d2ab6 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 22:31:07 +0100 Subject: [PATCH 071/100] 2016: d18: ex2: add input --- 2016/d18/ex2/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d18/ex2/input diff --git a/2016/d18/ex2/input b/2016/d18/ex2/input new file mode 100644 index 0000000..d42a59c --- /dev/null +++ b/2016/d18/ex2/input @@ -0,0 +1 @@ +^..^^.^^^..^^.^...^^^^^....^.^..^^^.^.^.^^...^.^.^.^.^^.....^.^^.^.^.^.^.^.^^..^^^^^...^.....^....^. From 2cba347a13be8b795e15ce291e66499f433a2232 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 22:32:03 +0100 Subject: [PATCH 072/100] 2016: d18: ex2: add solution --- 2016/d18/ex2/ex2.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 2016/d18/ex2/ex2.py diff --git a/2016/d18/ex2/ex2.py b/2016/d18/ex2/ex2.py new file mode 100755 index 0000000..eedf579 --- /dev/null +++ b/2016/d18/ex2/ex2.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python + +import sys + + +def solve(input: str) -> int: + def parse(input: str) -> set[int]: + return {i for i, c in enumerate(input.strip()) if c == "^"} + + def is_trap(tile: int, traps: set[int]) -> bool: + match ((tile - 1) in traps, tile in traps, (tile + 1) in traps): + case (True, True, False): + return True + case (False, True, True): + return True + case (True, False, False): + return True + case (False, False, True): + return True + case _: + return False + + def step_row(traps: set[int], row_length: int) -> set[int]: + return {i for i in range(row_length) if is_trap(i, traps)} + + traps = parse(input) + row_length = len(input.strip()) + safe_tiles = row_length - len(traps) + # No cycles, we really need to iterate though all steps + for _ in range(400000 - 1): + traps = step_row(traps, row_length) + safe_tiles += row_length - len(traps) + return safe_tiles + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 507279b0e9c7af9f2bc90829b1a26f1087bb04ed Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 22:59:49 +0100 Subject: [PATCH 073/100] 2016: d19: ex1: add input --- 2016/d19/ex1/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d19/ex1/input diff --git a/2016/d19/ex1/input b/2016/d19/ex1/input new file mode 100644 index 0000000..a64cd19 --- /dev/null +++ b/2016/d19/ex1/input @@ -0,0 +1 @@ +3014387 From 4dcbc0f431950ed73ff728745d6e50b3a278e197 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 22:59:58 +0100 Subject: [PATCH 074/100] 2016: d19: ex1: add solution --- 2016/d19/ex1/ex1.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 2016/d19/ex1/ex1.py diff --git a/2016/d19/ex1/ex1.py b/2016/d19/ex1/ex1.py new file mode 100755 index 0000000..bcf2158 --- /dev/null +++ b/2016/d19/ex1/ex1.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python + +import sys + + +def solve(input: str) -> int: + def msb(n: int) -> int: + assert n # Sanity check + return n.bit_length() - 1 + + # https://en.wikipedia.org/wiki/Josephus_problem + def josephus(n: int) -> int: + return 2 * (n - (1 << msb(n))) + 1 + + num_elves = int(input.strip()) + return josephus(num_elves) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From b20880b47c26827d2345e5935fa759652aaa38bd Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 23:00:03 +0100 Subject: [PATCH 075/100] 2016: d19: ex2: add input --- 2016/d19/ex2/input | 1 + 1 file changed, 1 insertion(+) create mode 100644 2016/d19/ex2/input diff --git a/2016/d19/ex2/input b/2016/d19/ex2/input new file mode 100644 index 0000000..a64cd19 --- /dev/null +++ b/2016/d19/ex2/input @@ -0,0 +1 @@ +3014387 From c27aa66e04db1b5280f576655520d67e08ce019e Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 23:00:08 +0100 Subject: [PATCH 076/100] 2016: d19: ex2: add solution --- 2016/d19/ex2/ex2.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 2016/d19/ex2/ex2.py diff --git a/2016/d19/ex2/ex2.py b/2016/d19/ex2/ex2.py new file mode 100755 index 0000000..99f9dcc --- /dev/null +++ b/2016/d19/ex2/ex2.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python + +import collections +import sys + + +def solve(input: str) -> int: + def white_elephant(num_elves: int) -> int: + left = collections.deque(range(1, (num_elves // 2) + 1)) + right = collections.deque(range(num_elves, (num_elves // 2), -1)) + + while left and right: + if len(left) > len(right): + left.pop() + else: + right.pop() + right.appendleft(left.popleft()) + left.append(right.pop()) + return (left + right)[0] + + num_elves = int(input.strip()) + return white_elephant(num_elves) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 1d0527fc721fb00f4aa4fddd98589b4d1aedae22 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 23:12:31 +0100 Subject: [PATCH 077/100] 2016: d20: ex1: add input --- 2016/d20/ex1/input | 1029 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1029 insertions(+) create mode 100644 2016/d20/ex1/input diff --git a/2016/d20/ex1/input b/2016/d20/ex1/input new file mode 100644 index 0000000..222a0d9 --- /dev/null +++ b/2016/d20/ex1/input @@ -0,0 +1,1029 @@ +1397985562-1399927095 +3833336583-3842601761 +155087348-169525214 +980790001-1002844256 +1977065361-1995466542 +36411396-50881439 +3640866817-3644930814 +2920060305-2932561292 +2865550534-2890593328 +3904139550-3908601694 +732092457-735186747 +1787486182-1806545011 +1491600386-1521258835 +2566773511-2568507598 +2201927929-2217336001 +948934267-952537088 +2146567862-2152339711 +3301828099-3306223909 +476027067-495966189 +2724939184-2726302873 +2270442513-2292973307 +1889038911-1895488302 +1578483230-1586330750 +2640456298-2651236024 +4254290660-4256486512 +1399927096-1421446962 +3253590561-3255525299 +4165315034-4173427102 +2875463797-2888803426 +3656533491-3659451752 +1995466544-2025204494 +3947779886-3987268039 +1521258837-1538635254 +735486056-744123494 +230221149-237996554 +3652971511-3653104884 +3019667516-3024190047 +969642901-977292032 +3645248112-3645595401 +3107902888-3148345903 +3202431537-3216963208 +1220746925-1223070151 +3267241325-3270573499 +903635659-931632639 +2847235008-2856948110 +4224654922-4236958325 +856464812-859836714 +1804748836-1825290046 +4082899236-4091369419 +953634177-954158487 +185823994-190243500 +1964052811-1976412955 +2420916052-2424566745 +953985134-954947310 +2584348542-2614406629 +2191157950-2198152569 +792721019-802271235 +3791161572-3800845341 +1864843815-1865425121 +1974124152-1989195256 +7825290-22939478 +440787397-441318113 +43830518-44800277 +3060173435-3065634268 +3165692093-3169381847 +1833191664-1858547431 +1931833201-1935239219 +57759373-67515020 +4113876528-4114024438 +1942285042-1951328312 +1604942683-1619936021 +853121890-865841853 +1837742103-1838104083 +3653104885-3680835942 +461163769-461467242 +3154277391-3159331043 +1689521647-1696389379 +4132416435-4154260806 +3575213588-3600527150 +962221692-989154668 +1935239220-1964052809 +853763614-856527667 +1529882226-1553729207 +2908870325-2931754108 +2317225465-2326207645 +550660010-557063544 +2362374340-2370047564 +3154439917-3169895876 +2971931902-2973888167 +3915276202-3919826635 +3443104535-3459421692 +2452320784-2463651682 +2645465344-2652262587 +623576471-624671363 +251678316-253256260 +3892899041-3898838343 +464002012-476960875 +3778510328-3794259788 +1032494594-1042075604 +1726869059-1729493515 +3050865580-3058403387 +4096451268-4105743850 +1794978532-1818366498 +1687963887-1693429657 +1919840326-1931792580 +3890085195-3896657673 +687727514-697989805 +2130251157-2132529361 +3709755147-3710261877 +2103854130-2136933959 +1240822471-1247567713 +2490928812-2517604025 +2792885084-2793563605 +4033319760-4037319553 +643767762-679821627 +2244191155-2263679816 +783204448-826857019 +874202754-876456673 +944792902-949779600 +1014490072-1020320091 +3709667893-3710060580 +3034067373-3060173434 +2380617387-2398492444 +3913418161-3925664598 +1327421559-1355573458 +2029296660-2060654925 +1015438314-1024776747 +758467105-766508249 +3196737715-3203535886 +4113219652-4113918216 +1900161068-1903498607 +737196603-742913680 +2762651281-2782581391 +1241724970-1273412553 +2234377553-2234408980 +3485475801-3485850742 +2823889184-2825719103 +546429220-552909166 +3889312069-3891497364 +1402469948-1411853934 +1612881279-1613899725 +609769932-611526589 +2821381184-2837715581 +2793443367-2793757783 +3865830130-3882113243 +2302840856-2330280758 +1587820493-1589487382 +1925168590-1930014298 +139238032-141721873 +3159767763-3165446614 +3124692923-3128639222 +2270740594-2281991663 +1338789977-1355677780 +1748641567-1751344173 +1416549076-1421417040 +4096185893-4097103352 +2627343873-2650750532 +3948622110-3962424399 +3734105837-3770337993 +557813236-573792261 +551603476-555886358 +1030836305-1032494592 +1839182718-1840151300 +833662859-842106273 +1375985004-1393778055 +1219332117-1221436570 +191846359-198587644 +984829875-987740125 +3262588159-3269982376 +4113255424-4114203177 +3754035901-3768277382 +182356017-189508231 +4235072872-4237128944 +2423845665-2424035634 +2247134633-2249391253 +1857070653-1864762228 +2960971255-2986516950 +3609807449-3629876533 +4232009521-4238664410 +2517604027-2532315540 +2284458125-2290950480 +1864762230-1865525184 +1534410012-1552842249 +1413197933-1418525745 +943004746-952141611 +3692615771-3699711756 +1641152229-1667111341 +3747007580-3765218619 +2379349853-2380702573 +2147254282-2171495074 +1839659452-1840812997 +3895746954-3895831312 +1969771475-1979046124 +3083853152-3107315352 +3503489045-3537546786 +2926162506-2931745365 +1533535067-1553811000 +4201206086-4201731554 +3151335418-3163702483 +3589540929-3593463200 +1469107231-1474901685 +1696389381-1748641566 +3910219915-3918863153 +3431523383-3432952214 +4219640842-4234037045 +2150930801-2173615229 +3364393582-3403187084 +3294593092-3301828098 +690072645-725395887 +1123029535-1135646014 +122125578-124303606 +4157086822-4157139009 +3561413702-3569934827 +3814389694-3815485217 +1931792582-1935186677 +3601713750-3623094300 +2322435284-2327697391 +1362099577-1366674586 +628898939-635522883 +3117359644-3135324932 +1119748429-1139457622 +3998554882-4014887284 +2837930003-2838092963 +2123885505-2126641084 +559576606-579617582 +2712491763-2723761235 +1391544337-1397769783 +3416595318-3422405875 +3403187085-3409221687 +1096346351-1099114997 +2703273295-2705328183 +4113785067-4113908859 +206706372-209083880 +3270160481-3271551430 +3285776930-3292794583 +461234099-461937747 +750957483-775003729 +4184090903-4204400455 +362276042-362676210 +4249953310-4250510076 +3477313433-3479866795 +3421127715-3428203812 +900263617-943004744 +835969757-836263940 +1368935057-1381717988 +149206242-166300349 +2154227228-2154605899 +1906507809-1919840325 +305745049-306370999 +1726861064-1728699678 +1357107426-1362288056 +799761595-801167452 +229374054-231369444 +1529834231-1535566821 +754999390-757160209 +1889190091-1897618002 +2138256423-2146567860 +2295710373-2336599718 +1019914990-1023404843 +969695821-980184547 +1443906340-1473362681 +833198360-836801840 +1598512205-1604942681 +3199387842-3210382637 +3895688557-3895758051 +1377900216-1382117658 +3504189983-3527083803 +3577792742-3598561740 +613575187-632091293 +2551456957-2551799726 +4058092124-4103653807 +3381308208-3381342063 +13984873-15227949 +1727002523-1727443872 +2357289728-2361812594 +3876054666-3879516291 +3278228783-3281894754 +1640252019-1649137061 +2372620720-2374166948 +4109383543-4110464683 +2069304258-2091857479 +4107063052-4115320079 +700724903-704038468 +2443015838-2445045788 +2487239190-2506741363 +2840932452-2854276703 +3023346911-3024737732 +855982891-864879970 +3794259789-3803801069 +500728802-502979928 +2043915271-2045977041 +2883286342-2889401600 +3645471325-3645615199 +2570503460-2572567939 +602978860-611682641 +3014237470-3019165777 +82763197-99917251 +3459591973-3480841023 +3726344670-3753436804 +778825357-781459133 +3501129290-3535003794 +2110603192-2124722020 +783458439-789801399 +3244733157-3257526606 +3107315354-3107902887 +3485245437-3487101327 +2981323037-2986657197 +4250870060-4262722661 +402547398-411983817 +1723037247-1732297154 +2168632715-2175630061 +35807058-48835050 +3967606126-3981776003 +1175337592-1177759663 +531093126-538642617 +3639437354-3641516465 +2313078075-2334991622 +2166324817-2172350995 +4271478996-4279496401 +4224492579-4228356386 +213570433-219586693 +3577738508-3578878626 +2004747361-2023251091 +638907979-651338734 +2042269899-2052960282 +3459421693-3470010193 +1255554697-1256876442 +547623253-554247422 +1091999863-1096115712 +3603876264-3620115458 +3743564125-3764787998 +1727097235-1727512693 +3360184134-3361837705 +2693328393-2699639043 +944625756-949285354 +2867948986-2885571238 +3815862045-3817192748 +85521215-90999860 +3492959364-3496450746 +2370047566-2373514273 +978064227-982934994 +3002922234-3034067371 +3702198906-3708772192 +1762248212-1777087215 +3200048313-3217284316 +310731268-314864040 +4256139187-4257030493 +4225267250-4242760473 +4236421277-4249953308 +456593320-464031864 +4173427103-4219640840 +3415471996-3417373524 +517786225-518353134 +2348225752-2349209975 +988767498-1002507583 +251787031-253294331 +2049843175-2053651832 +3272267359-3280700773 +1880334878-1897812119 +2180116083-2181662625 +1325501561-1332569991 +1977956589-1980243809 +1419475215-1429076341 +1571066989-1593324419 +1908591293-1926977363 +892862026-900263616 +2375708935-2420847226 +4252569311-4259706067 +611682642-636576980 +4069864506-4088316591 +3429899073-3443104533 +2881173909-2904242568 +838248538-839457347 +1040048945-1048427339 +2790325698-2817756908 +259065357-260284546 +4251177319-4254787503 +1727035024-1727220036 +1750189264-1751440819 +1182854783-1199103982 +1565110550-1598512204 +1870272544-1906507807 +2294404836-2313311754 +605934295-611508831 +3164119802-3167924307 +1833545461-1834287253 +2077509652-2090604632 +2880238444-2890262424 +1142031337-1148518669 +4005987455-4006591959 +1570054798-1576009746 +2071505543-2096650688 +3485106835-3485722365 +577813461-602978858 +2776866362-2786901141 +652895584-671838947 +3299449839-3300020065 +1623460193-1638054811 +3340666115-3353087971 +2160043893-2166478186 +1096507969-1101378526 +800088830-803013264 +13565145-17743483 +85024888-98806837 +3823224649-3827480049 +3931062541-3938277752 +1012892921-1030836304 +1565255853-1583189516 +1647708193-1660811906 +657010776-666847464 +1839278378-1840330117 +1008973854-1015912839 +1910283066-1913763928 +837557263-838411350 +1282815406-1288995029 +3980611-5584893 +3148345905-3165692092 +2742421263-2776592447 +229688447-231610502 +2743245719-2776866361 +3878098271-3883221309 +801316931-804135040 +1471664269-1473302685 +1667111343-1669791317 +1610947175-1617629889 +2003085048-2013051153 +3307457133-3360184133 +1195340209-1203343093 +2025204495-2028453665 +32923438-47156091 +3168696227-3170592073 +3235742576-3255614827 +2266729227-2280080556 +775349160-775813901 +1473362682-1482720843 +3572312385-3575213587 +528189743-538093910 +2448613175-2454994921 +2843283603-2855830818 +2890593329-2907911642 +153191907-164713586 +4043150608-4096451267 +605875663-610305444 +3021650-3111593 +2420847228-2420916051 +4105743852-4113419273 +2460397045-2462412256 +567585936-602788586 +1727082530-1727671255 +4033434900-4037286987 +4144511592-4162791978 +3075535768-3080851776 +1639907267-1641352662 +920282814-940069234 +3826936712-3829839713 +1916925688-1925357559 +1845213589-1860279111 +1854550234-1855331759 +3065495280-3066648567 +170353613-171186253 +3212824412-3220097963 +2853141261-2853700351 +3556640-3614471 +1976412956-1988224560 +3296627900-3297163117 +725395889-749479392 +2233996777-2234267091 +1757843247-1759325879 +4279435928-4280514617 +801130429-802441496 +3751681078-3760769957 +2347982977-2366662085 +4235682663-4235983270 +3496282296-3499776408 +3821333501-3824224274 +2723761236-2742421261 +2827790660-2835001032 +1935288812-1941728417 +1726855325-1728050569 +1726544710-1727430469 +3940016790-3941936080 +546101318-552097193 +4184013882-4199809831 +2425846522-2426458497 +3361306788-3362865310 +453108094-456181406 +860613212-892862024 +362299769-362572315 +17407637-23147236 +3504547466-3505717615 +985733821-987978530 +2735458050-2740276231 +270737999-279345075 +1787997707-1795677405 +3680835944-3709667892 +3818408771-3825605323 +16201770-24236234 +1158649495-1176112357 +952141612-961131855 +2690399120-2697050905 +2837757591-2838004534 +3487101328-3501129288 +3888980907-3889308041 +3139002312-3144216973 +1812389934-1832528171 +4062104130-4081249321 +4109985868-4116611691 +261499681-305729049 +414982559-415941657 +2837715582-2837939443 +1612314605-1613532579 +1847293843-1854555869 +2048771211-2052518908 +701565294-713634431 +208666820-210559343 +2827420738-2834300681 +4141218867-4154796647 +1970845509-1978651442 +1552842250-1565110548 +412226938-422230809 +596789633-599083332 +571536075-580257978 +4162791979-4165315032 +2578608882-2600367385 +2953753655-2967704893 +1620638998-1623460191 +3652181866-3653081107 +1226734954-1263413684 +208300600-209821102 +3019452277-3019912348 +1614701447-1620638997 +3941936081-3996282520 +3237157247-3249234449 +2348186235-2349807460 +3562813382-3565898388 +3710261879-3738818624 +2629772693-2635508362 +2443958025-2447376004 +399974274-423562472 +1778846705-1790086524 +2234646109-2266729225 +1668227842-1689521646 +3549361830-3564965209 +1286877599-1288249900 +2117171419-2125943104 +3620689032-3652181864 +3299261942-3299688775 +1490791491-1514099208 +3817192749-3833336581 +3410915712-3429899072 +541342032-546429219 +918411171-924314929 +2182745019-2185607312 +2212606518-2214621946 +1779983196-1804748835 +1936162035-1950945741 +3704618658-3705051939 +1764680564-1778846703 +2698697285-2709059938 +1326793529-1329535111 +3702328552-3704015912 +2008848662-2015608293 +1231732813-1247626190 +1750754899-1752420348 +1093229127-1099058712 +4234037046-4236997947 +3493552026-3497919102 +3235053958-3252106974 +4018470466-4036608102 +701727470-719544055 +574115703-596179511 +3202587506-3210265222 +698102469-706160479 +1832528173-1833853020 +441673267-452453492 +2911169435-2921998083 +2229856423-2234646108 +2196901664-2204841238 +1675352425-1691381949 +4250455374-4250513503 +3237515102-3260318492 +171161905-175877664 +2581539215-2596898898 +4004311193-4012385537 +1324083574-1324546090 +4096883078-4097164771 +780817620-784569858 +208242283-211110211 +1330525084-1336070077 +4008229513-4009226682 +834427868-838848257 +348999024-350410733 +467200453-500728800 +4121379695-4138903168 +2949401565-2976409803 +3917170902-3926057375 +3071781061-3074945017 +3299433864-3300019479 +3894069601-3909653487 +3741129648-3770933677 +1337537272-1347157874 +216818049-245842326 +1626689836-1641152228 +1112292760-1131928222 +1651219196-1654305795 +506374440-513152599 +430626871-453108093 +3297525469-3306042698 +3256944-3556639 +2937659849-2949401563 +3915476081-3917349752 +170273133-170386354 +3896834322-3906255111 +2911101673-2912870470 +2383625542-2388030504 +2202988069-2215864531 +3931566185-3938787313 +3893325063-3903409791 +1677593295-1694860962 +1726429432-1726959531 +550814749-553019695 +328183437-332828273 +2463651684-2490928811 +2532315541-2561777512 +902393943-906380753 +3255012511-3262588157 +464031865-471880579 +987894291-990856994 +2994108099-3016224261 +1464668452-1468573067 +3817599599-3819192240 +4281205900-4284988083 +1610485824-1614835930 +2922504894-2943149643 +1366674588-1391544336 +2716673569-2724196148 +2136933960-2141630673 +952929934-954132488 +102430362-103410808 +1097408788-1102041819 +1411884657-1413275434 +1569519099-1595018443 +3314630119-3351858696 +1159063633-1161383669 +1306210365-1310168207 +65606761-70210379 +969367195-1005028750 +305729050-305810398 +2964351925-2968998528 +2586831864-2598752947 +2717800067-2732550815 +1357733985-1357970980 +3142078167-3146050939 +836110255-836394578 +2855830819-2865550532 +1854118661-1854889002 +3275779087-3291457029 +481061771-497879373 +2572567941-2573814074 +3653825904-3656453968 +1752420350-1764680563 +3381301699-3381332932 +1499205864-1508841960 +2568948534-2571512127 +124303608-171161904 +834540652-842353886 +3296634137-3297348568 +756487393-757398433 +2920277931-2929967348 +775003730-775425950 +4006843235-4009222380 +4173461462-4180792939 +2573814075-2627343871 +3379943605-3385769428 +3613135813-3622915872 +456181408-463675190 +1679128363-1689145745 +1771462652-1775663407 +3896043704-3896601721 +3668521412-3670169542 +3189676166-3211906595 +4178058206-4197742264 +649282356-651528503 +4118830219-4151607552 +3403081369-3405163204 +1295416035-1327421558 +3535003795-3540392660 +2521028658-2521094946 +3378794770-3384471028 +3876141848-3885724936 +3415436447-3434089766 +3236961463-3242080308 +1289735149-1320942247 +20583890-31053879 +2039793197-2062178184 +3361173897-3362649522 +476445996-491796622 +2305715287-2337252117 +1407865145-1413213862 +100343325-122125577 +4259473250-4260027959 +1539624652-1558856769 +3388893007-3406562225 +3815438953-3819219050 +88644450-100343323 +2838092965-2853295826 +2298582785-2308283977 +1911552487-1924425897 +3486137486-3495337804 +3087487707-3105123828 +2449249575-2459990446 +1114195378-1147840884 +3084130783-3090098247 +280604127-291812349 +251655795-252002640 +2065738411-2068050329 +3540392662-3561413701 +4108709270-4110339849 +185357325-191846357 +2988550972-3002922233 +2008583503-2009174592 +367514957-375053863 +3738337-5109287 +2068050330-2103854128 +2185761689-2201113375 +502979929-541342030 +437711847-441825502 +763342493-770307022 +3891568242-3896055908 +2771403009-2783873057 +857296477-865365400 +2372996602-2415318753 +209779549-212434153 +3904992626-3910219913 +2976409804-2983591595 +3614472-4019606 +3429649651-3432451145 +2312224052-2330392688 +3889124925-3889312068 +3368044346-3369236254 +2485542419-2506962662 +3703774963-3704692844 +249324444-259065356 +3038718563-3063082755 +2348008128-2348750596 +4027659985-4040018381 +4020167637-4028011463 +631597603-638907977 +156806924-163856510 +465625162-475575707 +1653345924-1655794173 +644029368-673749955 +1342645425-1348056082 +754961620-757509941 +2185607313-2229856421 +2430693014-2452320783 +2423618253-2423991135 +2578007008-2593849390 +251455290-252167220 +2141431440-2145256393 +461551382-490688234 +1280627802-1282187341 +2447416346-2448485092 +801034819-803950109 +3803801071-3817168598 +2791159575-2797552524 +2444538618-2447695611 +3656900217-3658497760 +362424586-362913246 +2315692184-2318703938 +2658294991-2705851874 +758225777-762221309 +3220097965-3253590560 +3918863154-3937848140 +3842601762-3867989792 +1362989964-1365638761 +2669543622-2698580716 +204441701-216667513 +3337068522-3351226708 +2910214082-2911637865 +2887286425-2894235722 +2556506098-2564781736 +3660974732-3670236178 +3738818625-3765658510 +3926612436-3931754899 +849660339-860613211 +3878152839-3882588354 +1198564716-1203493708 +90563967-91509385 +4113419274-4118830217 +2421569872-2430693012 +1380512818-1382191639 +2171495075-2182745017 +2346496816-2347982976 +2773187116-2776527627 +3264380514-3275779086 +2795335811-2807483836 +1255625643-1259049524 +3039851327-3062062714 +3477125643-3485106833 +368161721-385647773 +557063546-567450813 +2662245837-2698867380 +409471723-415008368 +2692399192-2709671522 +3289361982-3294593090 +2444382077-2446243156 +995864334-1008973852 +1485359185-1511483438 +3170296689-3173219013 +651528504-684359142 +2799805080-2819283989 +2745894337-2761860632 +4021069786-4034189388 +2423235028-2423776100 +1161581883-1172788321 +575303235-584246627 +1323324671-1324380624 +423562473-430626869 +3173219015-3207487851 +256367467-256655264 +2729359684-2736808477 +2979779055-2988550970 +1482720845-1491600385 +1057830454-1067468142 +107593407-117739880 +251911362-252150667 +3569934829-3575123572 +2241251261-2263701349 +2726382705-2727247227 +4037319554-4043150606 +3718405500-3739070428 +2364203325-2366532950 +836023031-836878401 +961131857-995864333 +3961933297-3977917454 +3180447251-3212824411 +3124189059-3126106003 +793312386-802938899 +3873230388-3877536365 +2841402828-2852690950 +2931754109-2946377103 +4097161122-4098833023 +2953494240-2963922968 +1016080923-1023809512 +2305965588-2325470268 +1726429959-1728139098 +1725984972-1746517984 +2280080557-2294404834 +1453817212-1468119920 +3343366097-3354792825 +2726120736-2727168410 +1726047629-1726491275 +2425599810-2428632507 +1127809348-1136655248 +784569859-830872706 +3362865312-3399674855 +467374870-490345878 +2028166733-2029296658 +3793434985-3799550158 +4113324238-4114378130 +2768224805-2776292356 +3076910664-3083853151 +3795367294-3799559727 +983334314-985924731 +2566325429-2567644886 +2079828370-2095628301 +1355677782-1357107425 +3139807-3256943 +2297016509-2339606996 +3937987517-3940016788 +3111594-3180044 +3408799234-3410915710 +2736163676-2737085107 +2927299659-2930923781 +2828368238-2835482134 +2924361649-2933817173 +3278336262-3282205864 +209200196-211114889 +1089312986-1101840140 +2426098602-2426594407 +3761524602-3771101074 +4038400571-4039718550 +4278817904-4281979539 +1971790010-1982080495 +2482451447-2482859303 +696142504-708558552 +832751897-838668629 +522885199-537712867 +3854296653-3860724814 +4250257176-4250870059 +1098058891-1101871591 +2041494246-2044474847 +3379302636-3380200608 +2823631138-2825091086 +3114946479-3141035176 +2564781738-2570503459 +3066648569-3072839529 +2963998950-2966815574 +3996282522-4010140708 +2609189498-2612898027 +1398040334-1399196426 +2705851875-2712491761 +3303896197-3307457131 +3072710194-3078315569 +2650750533-2658294989 +125494120-152726161 +1799712687-1813651344 +4113647358-4114354821 +914689746-931400632 +2334991623-2346496814 +952020939-952231689 +3279484720-3279924084 +826369329-829381680 +306371001-356731744 +2545936899-2562194811 +755902693-769100113 +2423872436-2428440493 +1040252532-1043084518 +2531373947-2564360722 +3758158314-3765326552 +250882458-253102421 +2445299323-2451474922 +2845734926-2859990778 +2571586320-2571725933 +4010140709-4018470464 +1397769785-1398762710 +3812038748-3819957572 +2446738279-2447892957 +3600527152-3609409007 +260284548-271403358 +108405773-115248353 +1910315960-1918268562 +1323436354-1327278720 +2234068374-2234384404 +982370550-984890793 +362487749-363332785 +3703404287-3704710600 +511536791-531472470 +1204860806-1211356557 +1280824569-1283027536 +1864956505-1865664159 +1264539978-1280627800 +838668630-849660337 +1039302291-1048802154 +3820162182-3829891468 +252725400-258978812 +3811611218-3815532558 +5584894-20583889 +2571534738-2571657850 +383938370-391077230 +732225856-735643042 +2968582589-2972324720 +2379822184-2380941432 +775813903-782941501 +836283753-836553990 +2786901143-2790325697 +2907911644-2910586722 +3879031171-3883342655 +2446835992-2450584620 +3604970524-3620689031 +3656986634-3664253237 +108870276-116802953 +50881441-82763196 +830872708-834595234 +948787824-952327285 +3554278607-3558372901 +1411483095-1443906338 +1305613100-1306576996 +1171167570-1175215348 +145365808-166164576 +3344972328-3354937927 +178346121-180017093 +3487950867-3498067707 +3455826248-3468331688 +1357654405-1361499079 +2373804146-2375708934 +1682091088-1685006321 +2532666674-2554100432 +3872534964-3888980905 +684359144-690072644 +31053881-36411395 +749479393-750957481 +1233001829-1257233242 +1109953682-1114195377 +175877666-185357324 +1283027537-1289735147 +3374715947-3381800912 +1283434504-1286474690 +1402640030-1423128613 +1426046568-1440437597 +3021217411-3028438706 +3449839444-3455646128 +2192814747-2207353667 +1039244541-1044508076 +363332786-399974272 +620349463-624462815 +3118427268-3142548507 +1177759665-1219332116 +1223070153-1264539977 +2469319931-2491726485 +1101840141-1109953680 +1048427340-1089312984 +2577948853-2584544199 +43965520-47689181 +1833568506-1857070652 +356731745-362276040 +4262722663-4294967295 +2632338905-2641519671 +0-3021649 +1148518671-1158649494 +3562116150-3562242974 +567450814-585792807 +198587645-249324442 +3756871898-3778510326 +2815453754-2821381182 +3562113904-3562138636 +2567358294-2571273144 +2061605698-2065382934 +1865301101-1870272543 +2565458232-2569021972 +267026988-275785393 +2570888765-2571620263 +179248341-180073497 +267066134-277088479 +2060654926-2062597974 +2065382936-2066893485 +3298704119-3299564801 +2194534845-2218883408 From bee5998c2ed1a7b8732a25d7c1163ff4be7f2dea Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 23:12:38 +0100 Subject: [PATCH 078/100] 2016: d20: ex1: add solution --- 2016/d20/ex1/ex1.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 2016/d20/ex1/ex1.py diff --git a/2016/d20/ex1/ex1.py b/2016/d20/ex1/ex1.py new file mode 100755 index 0000000..27fab11 --- /dev/null +++ b/2016/d20/ex1/ex1.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python + +import sys +from typing import NamedTuple + + +class Interval(NamedTuple): + start: int + end: int + + @classmethod + def from_str(cls, input: str) -> "Interval": + start, end = input.split("-") + return cls(int(start), int(end)) + + +def solve(input: str) -> int: + def parse(input: str) -> list[Interval]: + return [Interval.from_str(line) for line in input.splitlines()] + + def merge_overlaps(intervals: list[Interval]) -> list[Interval]: + # Sort intervals by start, then merge overlapping ones + intervals = sorted(intervals) + res = [intervals[0]] + for interval in intervals[1:]: + # `+ 1` to merge [0, 2] and [2, 5] + if interval.start <= (res[-1].end + 1): + res[-1] = Interval(res[-1].start, max(interval.end, res[-1].end)) + else: + res.append(interval) + return res + + intervals = parse(input) + intervals = merge_overlaps(intervals) + return 0 if intervals[0].start else intervals[0].end + 1 + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 42eb09aecac44c939789e93ba2f61d1c2e776013 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 23:12:44 +0100 Subject: [PATCH 079/100] 2016: d20: ex2: add input --- 2016/d20/ex2/input | 1029 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1029 insertions(+) create mode 100644 2016/d20/ex2/input diff --git a/2016/d20/ex2/input b/2016/d20/ex2/input new file mode 100644 index 0000000..222a0d9 --- /dev/null +++ b/2016/d20/ex2/input @@ -0,0 +1,1029 @@ +1397985562-1399927095 +3833336583-3842601761 +155087348-169525214 +980790001-1002844256 +1977065361-1995466542 +36411396-50881439 +3640866817-3644930814 +2920060305-2932561292 +2865550534-2890593328 +3904139550-3908601694 +732092457-735186747 +1787486182-1806545011 +1491600386-1521258835 +2566773511-2568507598 +2201927929-2217336001 +948934267-952537088 +2146567862-2152339711 +3301828099-3306223909 +476027067-495966189 +2724939184-2726302873 +2270442513-2292973307 +1889038911-1895488302 +1578483230-1586330750 +2640456298-2651236024 +4254290660-4256486512 +1399927096-1421446962 +3253590561-3255525299 +4165315034-4173427102 +2875463797-2888803426 +3656533491-3659451752 +1995466544-2025204494 +3947779886-3987268039 +1521258837-1538635254 +735486056-744123494 +230221149-237996554 +3652971511-3653104884 +3019667516-3024190047 +969642901-977292032 +3645248112-3645595401 +3107902888-3148345903 +3202431537-3216963208 +1220746925-1223070151 +3267241325-3270573499 +903635659-931632639 +2847235008-2856948110 +4224654922-4236958325 +856464812-859836714 +1804748836-1825290046 +4082899236-4091369419 +953634177-954158487 +185823994-190243500 +1964052811-1976412955 +2420916052-2424566745 +953985134-954947310 +2584348542-2614406629 +2191157950-2198152569 +792721019-802271235 +3791161572-3800845341 +1864843815-1865425121 +1974124152-1989195256 +7825290-22939478 +440787397-441318113 +43830518-44800277 +3060173435-3065634268 +3165692093-3169381847 +1833191664-1858547431 +1931833201-1935239219 +57759373-67515020 +4113876528-4114024438 +1942285042-1951328312 +1604942683-1619936021 +853121890-865841853 +1837742103-1838104083 +3653104885-3680835942 +461163769-461467242 +3154277391-3159331043 +1689521647-1696389379 +4132416435-4154260806 +3575213588-3600527150 +962221692-989154668 +1935239220-1964052809 +853763614-856527667 +1529882226-1553729207 +2908870325-2931754108 +2317225465-2326207645 +550660010-557063544 +2362374340-2370047564 +3154439917-3169895876 +2971931902-2973888167 +3915276202-3919826635 +3443104535-3459421692 +2452320784-2463651682 +2645465344-2652262587 +623576471-624671363 +251678316-253256260 +3892899041-3898838343 +464002012-476960875 +3778510328-3794259788 +1032494594-1042075604 +1726869059-1729493515 +3050865580-3058403387 +4096451268-4105743850 +1794978532-1818366498 +1687963887-1693429657 +1919840326-1931792580 +3890085195-3896657673 +687727514-697989805 +2130251157-2132529361 +3709755147-3710261877 +2103854130-2136933959 +1240822471-1247567713 +2490928812-2517604025 +2792885084-2793563605 +4033319760-4037319553 +643767762-679821627 +2244191155-2263679816 +783204448-826857019 +874202754-876456673 +944792902-949779600 +1014490072-1020320091 +3709667893-3710060580 +3034067373-3060173434 +2380617387-2398492444 +3913418161-3925664598 +1327421559-1355573458 +2029296660-2060654925 +1015438314-1024776747 +758467105-766508249 +3196737715-3203535886 +4113219652-4113918216 +1900161068-1903498607 +737196603-742913680 +2762651281-2782581391 +1241724970-1273412553 +2234377553-2234408980 +3485475801-3485850742 +2823889184-2825719103 +546429220-552909166 +3889312069-3891497364 +1402469948-1411853934 +1612881279-1613899725 +609769932-611526589 +2821381184-2837715581 +2793443367-2793757783 +3865830130-3882113243 +2302840856-2330280758 +1587820493-1589487382 +1925168590-1930014298 +139238032-141721873 +3159767763-3165446614 +3124692923-3128639222 +2270740594-2281991663 +1338789977-1355677780 +1748641567-1751344173 +1416549076-1421417040 +4096185893-4097103352 +2627343873-2650750532 +3948622110-3962424399 +3734105837-3770337993 +557813236-573792261 +551603476-555886358 +1030836305-1032494592 +1839182718-1840151300 +833662859-842106273 +1375985004-1393778055 +1219332117-1221436570 +191846359-198587644 +984829875-987740125 +3262588159-3269982376 +4113255424-4114203177 +3754035901-3768277382 +182356017-189508231 +4235072872-4237128944 +2423845665-2424035634 +2247134633-2249391253 +1857070653-1864762228 +2960971255-2986516950 +3609807449-3629876533 +4232009521-4238664410 +2517604027-2532315540 +2284458125-2290950480 +1864762230-1865525184 +1534410012-1552842249 +1413197933-1418525745 +943004746-952141611 +3692615771-3699711756 +1641152229-1667111341 +3747007580-3765218619 +2379349853-2380702573 +2147254282-2171495074 +1839659452-1840812997 +3895746954-3895831312 +1969771475-1979046124 +3083853152-3107315352 +3503489045-3537546786 +2926162506-2931745365 +1533535067-1553811000 +4201206086-4201731554 +3151335418-3163702483 +3589540929-3593463200 +1469107231-1474901685 +1696389381-1748641566 +3910219915-3918863153 +3431523383-3432952214 +4219640842-4234037045 +2150930801-2173615229 +3364393582-3403187084 +3294593092-3301828098 +690072645-725395887 +1123029535-1135646014 +122125578-124303606 +4157086822-4157139009 +3561413702-3569934827 +3814389694-3815485217 +1931792582-1935186677 +3601713750-3623094300 +2322435284-2327697391 +1362099577-1366674586 +628898939-635522883 +3117359644-3135324932 +1119748429-1139457622 +3998554882-4014887284 +2837930003-2838092963 +2123885505-2126641084 +559576606-579617582 +2712491763-2723761235 +1391544337-1397769783 +3416595318-3422405875 +3403187085-3409221687 +1096346351-1099114997 +2703273295-2705328183 +4113785067-4113908859 +206706372-209083880 +3270160481-3271551430 +3285776930-3292794583 +461234099-461937747 +750957483-775003729 +4184090903-4204400455 +362276042-362676210 +4249953310-4250510076 +3477313433-3479866795 +3421127715-3428203812 +900263617-943004744 +835969757-836263940 +1368935057-1381717988 +149206242-166300349 +2154227228-2154605899 +1906507809-1919840325 +305745049-306370999 +1726861064-1728699678 +1357107426-1362288056 +799761595-801167452 +229374054-231369444 +1529834231-1535566821 +754999390-757160209 +1889190091-1897618002 +2138256423-2146567860 +2295710373-2336599718 +1019914990-1023404843 +969695821-980184547 +1443906340-1473362681 +833198360-836801840 +1598512205-1604942681 +3199387842-3210382637 +3895688557-3895758051 +1377900216-1382117658 +3504189983-3527083803 +3577792742-3598561740 +613575187-632091293 +2551456957-2551799726 +4058092124-4103653807 +3381308208-3381342063 +13984873-15227949 +1727002523-1727443872 +2357289728-2361812594 +3876054666-3879516291 +3278228783-3281894754 +1640252019-1649137061 +2372620720-2374166948 +4109383543-4110464683 +2069304258-2091857479 +4107063052-4115320079 +700724903-704038468 +2443015838-2445045788 +2487239190-2506741363 +2840932452-2854276703 +3023346911-3024737732 +855982891-864879970 +3794259789-3803801069 +500728802-502979928 +2043915271-2045977041 +2883286342-2889401600 +3645471325-3645615199 +2570503460-2572567939 +602978860-611682641 +3014237470-3019165777 +82763197-99917251 +3459591973-3480841023 +3726344670-3753436804 +778825357-781459133 +3501129290-3535003794 +2110603192-2124722020 +783458439-789801399 +3244733157-3257526606 +3107315354-3107902887 +3485245437-3487101327 +2981323037-2986657197 +4250870060-4262722661 +402547398-411983817 +1723037247-1732297154 +2168632715-2175630061 +35807058-48835050 +3967606126-3981776003 +1175337592-1177759663 +531093126-538642617 +3639437354-3641516465 +2313078075-2334991622 +2166324817-2172350995 +4271478996-4279496401 +4224492579-4228356386 +213570433-219586693 +3577738508-3578878626 +2004747361-2023251091 +638907979-651338734 +2042269899-2052960282 +3459421693-3470010193 +1255554697-1256876442 +547623253-554247422 +1091999863-1096115712 +3603876264-3620115458 +3743564125-3764787998 +1727097235-1727512693 +3360184134-3361837705 +2693328393-2699639043 +944625756-949285354 +2867948986-2885571238 +3815862045-3817192748 +85521215-90999860 +3492959364-3496450746 +2370047566-2373514273 +978064227-982934994 +3002922234-3034067371 +3702198906-3708772192 +1762248212-1777087215 +3200048313-3217284316 +310731268-314864040 +4256139187-4257030493 +4225267250-4242760473 +4236421277-4249953308 +456593320-464031864 +4173427103-4219640840 +3415471996-3417373524 +517786225-518353134 +2348225752-2349209975 +988767498-1002507583 +251787031-253294331 +2049843175-2053651832 +3272267359-3280700773 +1880334878-1897812119 +2180116083-2181662625 +1325501561-1332569991 +1977956589-1980243809 +1419475215-1429076341 +1571066989-1593324419 +1908591293-1926977363 +892862026-900263616 +2375708935-2420847226 +4252569311-4259706067 +611682642-636576980 +4069864506-4088316591 +3429899073-3443104533 +2881173909-2904242568 +838248538-839457347 +1040048945-1048427339 +2790325698-2817756908 +259065357-260284546 +4251177319-4254787503 +1727035024-1727220036 +1750189264-1751440819 +1182854783-1199103982 +1565110550-1598512204 +1870272544-1906507807 +2294404836-2313311754 +605934295-611508831 +3164119802-3167924307 +1833545461-1834287253 +2077509652-2090604632 +2880238444-2890262424 +1142031337-1148518669 +4005987455-4006591959 +1570054798-1576009746 +2071505543-2096650688 +3485106835-3485722365 +577813461-602978858 +2776866362-2786901141 +652895584-671838947 +3299449839-3300020065 +1623460193-1638054811 +3340666115-3353087971 +2160043893-2166478186 +1096507969-1101378526 +800088830-803013264 +13565145-17743483 +85024888-98806837 +3823224649-3827480049 +3931062541-3938277752 +1012892921-1030836304 +1565255853-1583189516 +1647708193-1660811906 +657010776-666847464 +1839278378-1840330117 +1008973854-1015912839 +1910283066-1913763928 +837557263-838411350 +1282815406-1288995029 +3980611-5584893 +3148345905-3165692092 +2742421263-2776592447 +229688447-231610502 +2743245719-2776866361 +3878098271-3883221309 +801316931-804135040 +1471664269-1473302685 +1667111343-1669791317 +1610947175-1617629889 +2003085048-2013051153 +3307457133-3360184133 +1195340209-1203343093 +2025204495-2028453665 +32923438-47156091 +3168696227-3170592073 +3235742576-3255614827 +2266729227-2280080556 +775349160-775813901 +1473362682-1482720843 +3572312385-3575213587 +528189743-538093910 +2448613175-2454994921 +2843283603-2855830818 +2890593329-2907911642 +153191907-164713586 +4043150608-4096451267 +605875663-610305444 +3021650-3111593 +2420847228-2420916051 +4105743852-4113419273 +2460397045-2462412256 +567585936-602788586 +1727082530-1727671255 +4033434900-4037286987 +4144511592-4162791978 +3075535768-3080851776 +1639907267-1641352662 +920282814-940069234 +3826936712-3829839713 +1916925688-1925357559 +1845213589-1860279111 +1854550234-1855331759 +3065495280-3066648567 +170353613-171186253 +3212824412-3220097963 +2853141261-2853700351 +3556640-3614471 +1976412956-1988224560 +3296627900-3297163117 +725395889-749479392 +2233996777-2234267091 +1757843247-1759325879 +4279435928-4280514617 +801130429-802441496 +3751681078-3760769957 +2347982977-2366662085 +4235682663-4235983270 +3496282296-3499776408 +3821333501-3824224274 +2723761236-2742421261 +2827790660-2835001032 +1935288812-1941728417 +1726855325-1728050569 +1726544710-1727430469 +3940016790-3941936080 +546101318-552097193 +4184013882-4199809831 +2425846522-2426458497 +3361306788-3362865310 +453108094-456181406 +860613212-892862024 +362299769-362572315 +17407637-23147236 +3504547466-3505717615 +985733821-987978530 +2735458050-2740276231 +270737999-279345075 +1787997707-1795677405 +3680835944-3709667892 +3818408771-3825605323 +16201770-24236234 +1158649495-1176112357 +952141612-961131855 +2690399120-2697050905 +2837757591-2838004534 +3487101328-3501129288 +3888980907-3889308041 +3139002312-3144216973 +1812389934-1832528171 +4062104130-4081249321 +4109985868-4116611691 +261499681-305729049 +414982559-415941657 +2837715582-2837939443 +1612314605-1613532579 +1847293843-1854555869 +2048771211-2052518908 +701565294-713634431 +208666820-210559343 +2827420738-2834300681 +4141218867-4154796647 +1970845509-1978651442 +1552842250-1565110548 +412226938-422230809 +596789633-599083332 +571536075-580257978 +4162791979-4165315032 +2578608882-2600367385 +2953753655-2967704893 +1620638998-1623460191 +3652181866-3653081107 +1226734954-1263413684 +208300600-209821102 +3019452277-3019912348 +1614701447-1620638997 +3941936081-3996282520 +3237157247-3249234449 +2348186235-2349807460 +3562813382-3565898388 +3710261879-3738818624 +2629772693-2635508362 +2443958025-2447376004 +399974274-423562472 +1778846705-1790086524 +2234646109-2266729225 +1668227842-1689521646 +3549361830-3564965209 +1286877599-1288249900 +2117171419-2125943104 +3620689032-3652181864 +3299261942-3299688775 +1490791491-1514099208 +3817192749-3833336581 +3410915712-3429899072 +541342032-546429219 +918411171-924314929 +2182745019-2185607312 +2212606518-2214621946 +1779983196-1804748835 +1936162035-1950945741 +3704618658-3705051939 +1764680564-1778846703 +2698697285-2709059938 +1326793529-1329535111 +3702328552-3704015912 +2008848662-2015608293 +1231732813-1247626190 +1750754899-1752420348 +1093229127-1099058712 +4234037046-4236997947 +3493552026-3497919102 +3235053958-3252106974 +4018470466-4036608102 +701727470-719544055 +574115703-596179511 +3202587506-3210265222 +698102469-706160479 +1832528173-1833853020 +441673267-452453492 +2911169435-2921998083 +2229856423-2234646108 +2196901664-2204841238 +1675352425-1691381949 +4250455374-4250513503 +3237515102-3260318492 +171161905-175877664 +2581539215-2596898898 +4004311193-4012385537 +1324083574-1324546090 +4096883078-4097164771 +780817620-784569858 +208242283-211110211 +1330525084-1336070077 +4008229513-4009226682 +834427868-838848257 +348999024-350410733 +467200453-500728800 +4121379695-4138903168 +2949401565-2976409803 +3917170902-3926057375 +3071781061-3074945017 +3299433864-3300019479 +3894069601-3909653487 +3741129648-3770933677 +1337537272-1347157874 +216818049-245842326 +1626689836-1641152228 +1112292760-1131928222 +1651219196-1654305795 +506374440-513152599 +430626871-453108093 +3297525469-3306042698 +3256944-3556639 +2937659849-2949401563 +3915476081-3917349752 +170273133-170386354 +3896834322-3906255111 +2911101673-2912870470 +2383625542-2388030504 +2202988069-2215864531 +3931566185-3938787313 +3893325063-3903409791 +1677593295-1694860962 +1726429432-1726959531 +550814749-553019695 +328183437-332828273 +2463651684-2490928811 +2532315541-2561777512 +902393943-906380753 +3255012511-3262588157 +464031865-471880579 +987894291-990856994 +2994108099-3016224261 +1464668452-1468573067 +3817599599-3819192240 +4281205900-4284988083 +1610485824-1614835930 +2922504894-2943149643 +1366674588-1391544336 +2716673569-2724196148 +2136933960-2141630673 +952929934-954132488 +102430362-103410808 +1097408788-1102041819 +1411884657-1413275434 +1569519099-1595018443 +3314630119-3351858696 +1159063633-1161383669 +1306210365-1310168207 +65606761-70210379 +969367195-1005028750 +305729050-305810398 +2964351925-2968998528 +2586831864-2598752947 +2717800067-2732550815 +1357733985-1357970980 +3142078167-3146050939 +836110255-836394578 +2855830819-2865550532 +1854118661-1854889002 +3275779087-3291457029 +481061771-497879373 +2572567941-2573814074 +3653825904-3656453968 +1752420350-1764680563 +3381301699-3381332932 +1499205864-1508841960 +2568948534-2571512127 +124303608-171161904 +834540652-842353886 +3296634137-3297348568 +756487393-757398433 +2920277931-2929967348 +775003730-775425950 +4006843235-4009222380 +4173461462-4180792939 +2573814075-2627343871 +3379943605-3385769428 +3613135813-3622915872 +456181408-463675190 +1679128363-1689145745 +1771462652-1775663407 +3896043704-3896601721 +3668521412-3670169542 +3189676166-3211906595 +4178058206-4197742264 +649282356-651528503 +4118830219-4151607552 +3403081369-3405163204 +1295416035-1327421558 +3535003795-3540392660 +2521028658-2521094946 +3378794770-3384471028 +3876141848-3885724936 +3415436447-3434089766 +3236961463-3242080308 +1289735149-1320942247 +20583890-31053879 +2039793197-2062178184 +3361173897-3362649522 +476445996-491796622 +2305715287-2337252117 +1407865145-1413213862 +100343325-122125577 +4259473250-4260027959 +1539624652-1558856769 +3388893007-3406562225 +3815438953-3819219050 +88644450-100343323 +2838092965-2853295826 +2298582785-2308283977 +1911552487-1924425897 +3486137486-3495337804 +3087487707-3105123828 +2449249575-2459990446 +1114195378-1147840884 +3084130783-3090098247 +280604127-291812349 +251655795-252002640 +2065738411-2068050329 +3540392662-3561413701 +4108709270-4110339849 +185357325-191846357 +2988550972-3002922233 +2008583503-2009174592 +367514957-375053863 +3738337-5109287 +2068050330-2103854128 +2185761689-2201113375 +502979929-541342030 +437711847-441825502 +763342493-770307022 +3891568242-3896055908 +2771403009-2783873057 +857296477-865365400 +2372996602-2415318753 +209779549-212434153 +3904992626-3910219913 +2976409804-2983591595 +3614472-4019606 +3429649651-3432451145 +2312224052-2330392688 +3889124925-3889312068 +3368044346-3369236254 +2485542419-2506962662 +3703774963-3704692844 +249324444-259065356 +3038718563-3063082755 +2348008128-2348750596 +4027659985-4040018381 +4020167637-4028011463 +631597603-638907977 +156806924-163856510 +465625162-475575707 +1653345924-1655794173 +644029368-673749955 +1342645425-1348056082 +754961620-757509941 +2185607313-2229856421 +2430693014-2452320783 +2423618253-2423991135 +2578007008-2593849390 +251455290-252167220 +2141431440-2145256393 +461551382-490688234 +1280627802-1282187341 +2447416346-2448485092 +801034819-803950109 +3803801071-3817168598 +2791159575-2797552524 +2444538618-2447695611 +3656900217-3658497760 +362424586-362913246 +2315692184-2318703938 +2658294991-2705851874 +758225777-762221309 +3220097965-3253590560 +3918863154-3937848140 +3842601762-3867989792 +1362989964-1365638761 +2669543622-2698580716 +204441701-216667513 +3337068522-3351226708 +2910214082-2911637865 +2887286425-2894235722 +2556506098-2564781736 +3660974732-3670236178 +3738818625-3765658510 +3926612436-3931754899 +849660339-860613211 +3878152839-3882588354 +1198564716-1203493708 +90563967-91509385 +4113419274-4118830217 +2421569872-2430693012 +1380512818-1382191639 +2171495075-2182745017 +2346496816-2347982976 +2773187116-2776527627 +3264380514-3275779086 +2795335811-2807483836 +1255625643-1259049524 +3039851327-3062062714 +3477125643-3485106833 +368161721-385647773 +557063546-567450813 +2662245837-2698867380 +409471723-415008368 +2692399192-2709671522 +3289361982-3294593090 +2444382077-2446243156 +995864334-1008973852 +1485359185-1511483438 +3170296689-3173219013 +651528504-684359142 +2799805080-2819283989 +2745894337-2761860632 +4021069786-4034189388 +2423235028-2423776100 +1161581883-1172788321 +575303235-584246627 +1323324671-1324380624 +423562473-430626869 +3173219015-3207487851 +256367467-256655264 +2729359684-2736808477 +2979779055-2988550970 +1482720845-1491600385 +1057830454-1067468142 +107593407-117739880 +251911362-252150667 +3569934829-3575123572 +2241251261-2263701349 +2726382705-2727247227 +4037319554-4043150606 +3718405500-3739070428 +2364203325-2366532950 +836023031-836878401 +961131857-995864333 +3961933297-3977917454 +3180447251-3212824411 +3124189059-3126106003 +793312386-802938899 +3873230388-3877536365 +2841402828-2852690950 +2931754109-2946377103 +4097161122-4098833023 +2953494240-2963922968 +1016080923-1023809512 +2305965588-2325470268 +1726429959-1728139098 +1725984972-1746517984 +2280080557-2294404834 +1453817212-1468119920 +3343366097-3354792825 +2726120736-2727168410 +1726047629-1726491275 +2425599810-2428632507 +1127809348-1136655248 +784569859-830872706 +3362865312-3399674855 +467374870-490345878 +2028166733-2029296658 +3793434985-3799550158 +4113324238-4114378130 +2768224805-2776292356 +3076910664-3083853151 +3795367294-3799559727 +983334314-985924731 +2566325429-2567644886 +2079828370-2095628301 +1355677782-1357107425 +3139807-3256943 +2297016509-2339606996 +3937987517-3940016788 +3111594-3180044 +3408799234-3410915710 +2736163676-2737085107 +2927299659-2930923781 +2828368238-2835482134 +2924361649-2933817173 +3278336262-3282205864 +209200196-211114889 +1089312986-1101840140 +2426098602-2426594407 +3761524602-3771101074 +4038400571-4039718550 +4278817904-4281979539 +1971790010-1982080495 +2482451447-2482859303 +696142504-708558552 +832751897-838668629 +522885199-537712867 +3854296653-3860724814 +4250257176-4250870059 +1098058891-1101871591 +2041494246-2044474847 +3379302636-3380200608 +2823631138-2825091086 +3114946479-3141035176 +2564781738-2570503459 +3066648569-3072839529 +2963998950-2966815574 +3996282522-4010140708 +2609189498-2612898027 +1398040334-1399196426 +2705851875-2712491761 +3303896197-3307457131 +3072710194-3078315569 +2650750533-2658294989 +125494120-152726161 +1799712687-1813651344 +4113647358-4114354821 +914689746-931400632 +2334991623-2346496814 +952020939-952231689 +3279484720-3279924084 +826369329-829381680 +306371001-356731744 +2545936899-2562194811 +755902693-769100113 +2423872436-2428440493 +1040252532-1043084518 +2531373947-2564360722 +3758158314-3765326552 +250882458-253102421 +2445299323-2451474922 +2845734926-2859990778 +2571586320-2571725933 +4010140709-4018470464 +1397769785-1398762710 +3812038748-3819957572 +2446738279-2447892957 +3600527152-3609409007 +260284548-271403358 +108405773-115248353 +1910315960-1918268562 +1323436354-1327278720 +2234068374-2234384404 +982370550-984890793 +362487749-363332785 +3703404287-3704710600 +511536791-531472470 +1204860806-1211356557 +1280824569-1283027536 +1864956505-1865664159 +1264539978-1280627800 +838668630-849660337 +1039302291-1048802154 +3820162182-3829891468 +252725400-258978812 +3811611218-3815532558 +5584894-20583889 +2571534738-2571657850 +383938370-391077230 +732225856-735643042 +2968582589-2972324720 +2379822184-2380941432 +775813903-782941501 +836283753-836553990 +2786901143-2790325697 +2907911644-2910586722 +3879031171-3883342655 +2446835992-2450584620 +3604970524-3620689031 +3656986634-3664253237 +108870276-116802953 +50881441-82763196 +830872708-834595234 +948787824-952327285 +3554278607-3558372901 +1411483095-1443906338 +1305613100-1306576996 +1171167570-1175215348 +145365808-166164576 +3344972328-3354937927 +178346121-180017093 +3487950867-3498067707 +3455826248-3468331688 +1357654405-1361499079 +2373804146-2375708934 +1682091088-1685006321 +2532666674-2554100432 +3872534964-3888980905 +684359144-690072644 +31053881-36411395 +749479393-750957481 +1233001829-1257233242 +1109953682-1114195377 +175877666-185357324 +1283027537-1289735147 +3374715947-3381800912 +1283434504-1286474690 +1402640030-1423128613 +1426046568-1440437597 +3021217411-3028438706 +3449839444-3455646128 +2192814747-2207353667 +1039244541-1044508076 +363332786-399974272 +620349463-624462815 +3118427268-3142548507 +1177759665-1219332116 +1223070153-1264539977 +2469319931-2491726485 +1101840141-1109953680 +1048427340-1089312984 +2577948853-2584544199 +43965520-47689181 +1833568506-1857070652 +356731745-362276040 +4262722663-4294967295 +2632338905-2641519671 +0-3021649 +1148518671-1158649494 +3562116150-3562242974 +567450814-585792807 +198587645-249324442 +3756871898-3778510326 +2815453754-2821381182 +3562113904-3562138636 +2567358294-2571273144 +2061605698-2065382934 +1865301101-1870272543 +2565458232-2569021972 +267026988-275785393 +2570888765-2571620263 +179248341-180073497 +267066134-277088479 +2060654926-2062597974 +2065382936-2066893485 +3298704119-3299564801 +2194534845-2218883408 From 7dfce6e7bcd239b2c2df42ef10b1c7ab08834590 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 23:12:50 +0100 Subject: [PATCH 080/100] 2016: d20: ex2: add solution --- 2016/d20/ex2/ex2.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 2016/d20/ex2/ex2.py diff --git a/2016/d20/ex2/ex2.py b/2016/d20/ex2/ex2.py new file mode 100755 index 0000000..cdffb43 --- /dev/null +++ b/2016/d20/ex2/ex2.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python + +import sys +from typing import NamedTuple + + +class Interval(NamedTuple): + start: int + end: int + + @classmethod + def from_str(cls, input: str) -> "Interval": + start, end = input.split("-") + return cls(int(start), int(end)) + + +def solve(input: str) -> int: + def parse(input: str) -> list[Interval]: + return [Interval.from_str(line) for line in input.splitlines()] + + def merge_overlaps(intervals: list[Interval]) -> list[Interval]: + # Sort intervals by start, then merge overlapping ones + intervals = sorted(intervals) + res = [intervals[0]] + for interval in intervals[1:]: + # `+ 1` to merge [0, 2] and [2, 5] + if interval.start <= (res[-1].end + 1): + res[-1] = Interval(res[-1].start, max(interval.end, res[-1].end)) + else: + res.append(interval) + return res + + intervals = parse(input) + intervals = merge_overlaps(intervals) + return (1 << 32) - sum((end - start + 1) for start, end in intervals) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 0551bbe9e7ce66f6e8be05a0553b50741a77866c Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 23:51:59 +0100 Subject: [PATCH 081/100] 2016: d21: ex1: add input --- 2016/d21/ex1/input | 100 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 2016/d21/ex1/input diff --git a/2016/d21/ex1/input b/2016/d21/ex1/input new file mode 100644 index 0000000..054af47 --- /dev/null +++ b/2016/d21/ex1/input @@ -0,0 +1,100 @@ +swap letter a with letter d +move position 6 to position 4 +move position 5 to position 1 +swap letter h with letter e +rotate based on position of letter a +move position 6 to position 2 +reverse positions 0 through 1 +rotate based on position of letter h +rotate based on position of letter g +rotate based on position of letter h +reverse positions 4 through 7 +swap letter a with letter f +swap position 2 with position 7 +move position 7 to position 5 +reverse positions 0 through 5 +rotate based on position of letter f +rotate right 4 steps +swap position 3 with position 0 +move position 1 to position 2 +reverse positions 4 through 6 +swap position 3 with position 5 +swap letter a with letter c +swap position 5 with position 2 +swap position 7 with position 2 +move position 2 to position 5 +rotate based on position of letter h +rotate right 2 steps +swap position 3 with position 4 +move position 0 to position 1 +reverse positions 1 through 7 +reverse positions 1 through 4 +rotate based on position of letter b +rotate right 7 steps +rotate left 0 steps +swap position 6 with position 1 +reverse positions 1 through 3 +reverse positions 0 through 3 +move position 0 to position 4 +rotate based on position of letter f +reverse positions 0 through 7 +reverse positions 0 through 1 +move position 1 to position 7 +move position 7 to position 6 +rotate based on position of letter b +reverse positions 3 through 5 +reverse positions 0 through 3 +swap letter c with letter h +reverse positions 3 through 5 +swap position 3 with position 6 +swap letter d with letter g +move position 5 to position 6 +swap position 6 with position 2 +rotate right 5 steps +swap letter e with letter g +rotate based on position of letter e +rotate based on position of letter c +swap letter g with letter e +rotate based on position of letter b +rotate based on position of letter b +swap position 0 with position 2 +move position 6 to position 0 +move position 5 to position 0 +rotate left 2 steps +move position 0 to position 5 +rotate left 7 steps +swap letter b with letter g +rotate based on position of letter d +swap letter h with letter e +swap letter d with letter c +rotate based on position of letter f +move position 5 to position 0 +rotate left 5 steps +swap position 0 with position 7 +swap position 0 with position 3 +rotate left 4 steps +rotate left 1 step +rotate right 6 steps +swap position 0 with position 1 +reverse positions 4 through 6 +reverse positions 4 through 6 +move position 6 to position 3 +move position 7 to position 4 +rotate right 4 steps +swap letter g with letter d +swap letter c with letter e +swap letter e with letter h +rotate right 5 steps +rotate based on position of letter g +rotate based on position of letter g +rotate left 3 steps +swap letter h with letter g +reverse positions 0 through 4 +rotate right 4 steps +move position 6 to position 4 +rotate based on position of letter c +swap position 2 with position 6 +swap position 7 with position 2 +rotate right 1 step +swap position 3 with position 1 +swap position 4 with position 6 From d8eab92d59d8d04010deb65c0f4a71868337dabd Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 23:52:05 +0100 Subject: [PATCH 082/100] 2016: d21: ex1: add solution --- 2016/d21/ex1/ex1.py | 92 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100755 2016/d21/ex1/ex1.py diff --git a/2016/d21/ex1/ex1.py b/2016/d21/ex1/ex1.py new file mode 100755 index 0000000..320dff0 --- /dev/null +++ b/2016/d21/ex1/ex1.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python + +import enum +import sys +from typing import NamedTuple + + +class Op(enum.StrEnum): + SWAP_POSITION = "swap position" + SWAP_LETTER = "swap letter" + ROTATE_LEFT = "rotate left" + ROTATE_RIGHT = "rotate right" + ROTATE_BASED = "rotate based" + REVERSE_POSITION = "reverse positions" + MOVE_POSITION = "move position" + + +class Instruction(NamedTuple): + op: Op + x: str + y: str | None + + @classmethod + def from_str(cls, input: str) -> "Instruction": + split_input = input.split() + op = Op(" ".join(split_input[:2])) + x: str + y: str | None + match op: + case Op.ROTATE_LEFT | Op.ROTATE_RIGHT: + x, y = split_input[2], None + case Op.ROTATE_BASED: + x, y = split_input[-1], None + case _: + x, y = split_input[2], split_input[-1] + return cls(op, x, y) + + def apply(self, password: str) -> str: + letters = list(password) + match self.op: + case Op.SWAP_POSITION: + assert self.y is not None # Sanity check + x, y = int(self.x), int(self.y) + letters[x], letters[y] = letters[y], letters[x] + case Op.SWAP_LETTER: + assert self.y is not None # Sanity check + x, y = letters.index(self.x), letters.index(self.y) + letters[x], letters[y] = letters[y], letters[x] + case Op.ROTATE_LEFT: + x = int(self.x) + x %= len(letters) + letters = letters[x:] + letters[:x] + case Op.ROTATE_RIGHT: + x = int(self.x) + x %= len(letters) + letters = letters[-x:] + letters[:-x] + case Op.ROTATE_BASED: + x = letters.index(self.x) + x += x >= 4 + x += 1 + x %= len(letters) + letters = letters[-x:] + letters[:-x] + case Op.REVERSE_POSITION: + assert self.y is not None # Sanity check + x, y = int(self.x), int(self.y) + letters[x : y + 1] = letters[x : y + 1][::-1] + case Op.MOVE_POSITION: + assert self.y is not None # Sanity check + x, y = int(self.x), int(self.y) + letter = letters.pop(x) + letters.insert(y, letter) + return "".join(letters) + + +def solve(input: str) -> str: + def parse(input: str) -> list[Instruction]: + return [Instruction.from_str(line) for line in input.splitlines()] + + instructions = parse(input) + password = "abcdefgh" + for instruction in instructions: + password = instruction.apply(password) + return password + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 1d6c65d1195bbf5c789a4e23a1a12f9f6d86c00a Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 23:52:14 +0100 Subject: [PATCH 083/100] 2016: d21: ex2: add input --- 2016/d21/ex2/input | 100 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 2016/d21/ex2/input diff --git a/2016/d21/ex2/input b/2016/d21/ex2/input new file mode 100644 index 0000000..054af47 --- /dev/null +++ b/2016/d21/ex2/input @@ -0,0 +1,100 @@ +swap letter a with letter d +move position 6 to position 4 +move position 5 to position 1 +swap letter h with letter e +rotate based on position of letter a +move position 6 to position 2 +reverse positions 0 through 1 +rotate based on position of letter h +rotate based on position of letter g +rotate based on position of letter h +reverse positions 4 through 7 +swap letter a with letter f +swap position 2 with position 7 +move position 7 to position 5 +reverse positions 0 through 5 +rotate based on position of letter f +rotate right 4 steps +swap position 3 with position 0 +move position 1 to position 2 +reverse positions 4 through 6 +swap position 3 with position 5 +swap letter a with letter c +swap position 5 with position 2 +swap position 7 with position 2 +move position 2 to position 5 +rotate based on position of letter h +rotate right 2 steps +swap position 3 with position 4 +move position 0 to position 1 +reverse positions 1 through 7 +reverse positions 1 through 4 +rotate based on position of letter b +rotate right 7 steps +rotate left 0 steps +swap position 6 with position 1 +reverse positions 1 through 3 +reverse positions 0 through 3 +move position 0 to position 4 +rotate based on position of letter f +reverse positions 0 through 7 +reverse positions 0 through 1 +move position 1 to position 7 +move position 7 to position 6 +rotate based on position of letter b +reverse positions 3 through 5 +reverse positions 0 through 3 +swap letter c with letter h +reverse positions 3 through 5 +swap position 3 with position 6 +swap letter d with letter g +move position 5 to position 6 +swap position 6 with position 2 +rotate right 5 steps +swap letter e with letter g +rotate based on position of letter e +rotate based on position of letter c +swap letter g with letter e +rotate based on position of letter b +rotate based on position of letter b +swap position 0 with position 2 +move position 6 to position 0 +move position 5 to position 0 +rotate left 2 steps +move position 0 to position 5 +rotate left 7 steps +swap letter b with letter g +rotate based on position of letter d +swap letter h with letter e +swap letter d with letter c +rotate based on position of letter f +move position 5 to position 0 +rotate left 5 steps +swap position 0 with position 7 +swap position 0 with position 3 +rotate left 4 steps +rotate left 1 step +rotate right 6 steps +swap position 0 with position 1 +reverse positions 4 through 6 +reverse positions 4 through 6 +move position 6 to position 3 +move position 7 to position 4 +rotate right 4 steps +swap letter g with letter d +swap letter c with letter e +swap letter e with letter h +rotate right 5 steps +rotate based on position of letter g +rotate based on position of letter g +rotate left 3 steps +swap letter h with letter g +reverse positions 0 through 4 +rotate right 4 steps +move position 6 to position 4 +rotate based on position of letter c +swap position 2 with position 6 +swap position 7 with position 2 +rotate right 1 step +swap position 3 with position 1 +swap position 4 with position 6 From 58a871b301b13a51503236f3a0e79c0632b05658 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Mon, 19 May 2025 23:52:19 +0100 Subject: [PATCH 084/100] 2016: d21: ex2: add solution --- 2016/d21/ex2/ex2.py | 101 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100755 2016/d21/ex2/ex2.py diff --git a/2016/d21/ex2/ex2.py b/2016/d21/ex2/ex2.py new file mode 100755 index 0000000..13a9c81 --- /dev/null +++ b/2016/d21/ex2/ex2.py @@ -0,0 +1,101 @@ +#!/usr/bin/env python + +import enum +import sys +from typing import NamedTuple + + +class Op(enum.StrEnum): + SWAP_POSITION = "swap position" + SWAP_LETTER = "swap letter" + ROTATE_LEFT = "rotate left" + ROTATE_RIGHT = "rotate right" + ROTATE_BASED = "rotate based" + REVERSE_POSITION = "reverse positions" + MOVE_POSITION = "move position" + + +class Instruction(NamedTuple): + op: Op + x: str + y: str | None + + @classmethod + def from_str(cls, input: str) -> "Instruction": + split_input = input.split() + op = Op(" ".join(split_input[:2])) + x: str + y: str | None + match op: + case Op.ROTATE_LEFT | Op.ROTATE_RIGHT: + x, y = split_input[2], None + case Op.ROTATE_BASED: + x, y = split_input[-1], None + case _: + x, y = split_input[2], split_input[-1] + return cls(op, x, y) + + def undo(self, password: str) -> str: + letters = list(password) + match self.op: + case Op.SWAP_POSITION: + assert self.y is not None # Sanity check + x, y = int(self.x), int(self.y) + letters[x], letters[y] = letters[y], letters[x] + case Op.SWAP_LETTER: + assert self.y is not None # Sanity check + x, y = letters.index(self.x), letters.index(self.y) + letters[x], letters[y] = letters[y], letters[x] + case Op.ROTATE_LEFT: + x = int(self.x) + x %= len(letters) + letters = letters[-x:] + letters[:-x] + case Op.ROTATE_RIGHT: + x = int(self.x) + x %= len(letters) + letters = letters[x:] + letters[:x] + case Op.ROTATE_BASED: + # original: 0 1 2 3 4 5 6 7 + # result: 1 3 5 7 2 4 6 0 + # rotation: 1 2 3 4 6 7 0 1 + x = { + 1: 1, + 3: 2, + 5: 3, + 7: 4, + 2: 6, + 4: 7, + 6: 0, + 0: 1, + }[letters.index(self.x)] + letters = letters[x:] + letters[:x] + case Op.REVERSE_POSITION: + assert self.y is not None # Sanity check + x, y = int(self.x), int(self.y) + letters[x : y + 1] = letters[x : y + 1][::-1] + case Op.MOVE_POSITION: + assert self.y is not None # Sanity check + x, y = int(self.x), int(self.y) + letter = letters.pop(y) + letters.insert(x, letter) + return "".join(letters) + + +def solve(input: str) -> str: + def parse(input: str) -> list[Instruction]: + return [Instruction.from_str(line) for line in input.splitlines()] + + instructions = parse(input) + password = "fbgdceah" + for instruction in instructions[::-1]: + password = instruction.undo(password) + return password + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From a845a4012a20a764112dd880e5f31e8d93479f64 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 00:51:28 +0100 Subject: [PATCH 085/100] 2016: d22: ex1: add input --- 2016/d22/ex1/input | 877 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 877 insertions(+) create mode 100644 2016/d22/ex1/input diff --git a/2016/d22/ex1/input b/2016/d22/ex1/input new file mode 100644 index 0000000..2428687 --- /dev/null +++ b/2016/d22/ex1/input @@ -0,0 +1,877 @@ +root@ebhq-gridcenter# df -h +Filesystem Size Used Avail Use% +/dev/grid/node-x0-y0 94T 65T 29T 69% +/dev/grid/node-x0-y1 88T 69T 19T 78% +/dev/grid/node-x0-y2 92T 72T 20T 78% +/dev/grid/node-x0-y3 93T 73T 20T 78% +/dev/grid/node-x0-y4 85T 73T 12T 85% +/dev/grid/node-x0-y5 94T 70T 24T 74% +/dev/grid/node-x0-y6 93T 66T 27T 70% +/dev/grid/node-x0-y7 90T 68T 22T 75% +/dev/grid/node-x0-y8 87T 73T 14T 83% +/dev/grid/node-x0-y9 92T 66T 26T 71% +/dev/grid/node-x0-y10 90T 72T 18T 80% +/dev/grid/node-x0-y11 86T 71T 15T 82% +/dev/grid/node-x0-y12 86T 73T 13T 84% +/dev/grid/node-x0-y13 88T 71T 17T 80% +/dev/grid/node-x0-y14 93T 70T 23T 75% +/dev/grid/node-x0-y15 88T 70T 18T 79% +/dev/grid/node-x0-y16 88T 71T 17T 80% +/dev/grid/node-x0-y17 93T 73T 20T 78% +/dev/grid/node-x0-y18 86T 69T 17T 80% +/dev/grid/node-x0-y19 92T 71T 21T 77% +/dev/grid/node-x0-y20 93T 64T 29T 68% +/dev/grid/node-x0-y21 90T 73T 17T 81% +/dev/grid/node-x0-y22 94T 64T 30T 68% +/dev/grid/node-x0-y23 90T 72T 18T 80% +/dev/grid/node-x0-y24 87T 72T 15T 82% +/dev/grid/node-x1-y0 94T 66T 28T 70% +/dev/grid/node-x1-y1 88T 68T 20T 77% +/dev/grid/node-x1-y2 93T 64T 29T 68% +/dev/grid/node-x1-y3 85T 70T 15T 82% +/dev/grid/node-x1-y4 88T 72T 16T 81% +/dev/grid/node-x1-y5 89T 65T 24T 73% +/dev/grid/node-x1-y6 88T 67T 21T 76% +/dev/grid/node-x1-y7 88T 64T 24T 72% +/dev/grid/node-x1-y8 94T 65T 29T 69% +/dev/grid/node-x1-y9 85T 73T 12T 85% +/dev/grid/node-x1-y10 86T 65T 21T 75% +/dev/grid/node-x1-y11 91T 66T 25T 72% +/dev/grid/node-x1-y12 92T 70T 22T 76% +/dev/grid/node-x1-y13 94T 67T 27T 71% +/dev/grid/node-x1-y14 89T 71T 18T 79% +/dev/grid/node-x1-y15 90T 69T 21T 76% +/dev/grid/node-x1-y16 90T 71T 19T 78% +/dev/grid/node-x1-y17 90T 70T 20T 77% +/dev/grid/node-x1-y18 92T 66T 26T 71% +/dev/grid/node-x1-y19 91T 70T 21T 76% +/dev/grid/node-x1-y20 89T 70T 19T 78% +/dev/grid/node-x1-y21 93T 64T 29T 68% +/dev/grid/node-x1-y22 92T 69T 23T 75% +/dev/grid/node-x1-y23 90T 64T 26T 71% +/dev/grid/node-x1-y24 85T 72T 13T 84% +/dev/grid/node-x2-y0 89T 64T 25T 71% +/dev/grid/node-x2-y1 88T 71T 17T 80% +/dev/grid/node-x2-y2 85T 64T 21T 75% +/dev/grid/node-x2-y3 85T 66T 19T 77% +/dev/grid/node-x2-y4 93T 69T 24T 74% +/dev/grid/node-x2-y5 94T 73T 21T 77% +/dev/grid/node-x2-y6 91T 65T 26T 71% +/dev/grid/node-x2-y7 91T 68T 23T 74% +/dev/grid/node-x2-y8 93T 72T 21T 77% +/dev/grid/node-x2-y9 92T 73T 19T 79% +/dev/grid/node-x2-y10 93T 68T 25T 73% +/dev/grid/node-x2-y11 92T 73T 19T 79% +/dev/grid/node-x2-y12 91T 70T 21T 76% +/dev/grid/node-x2-y13 94T 73T 21T 77% +/dev/grid/node-x2-y14 86T 70T 16T 81% +/dev/grid/node-x2-y15 91T 66T 25T 72% +/dev/grid/node-x2-y16 94T 64T 30T 68% +/dev/grid/node-x2-y17 92T 65T 27T 70% +/dev/grid/node-x2-y18 87T 72T 15T 82% +/dev/grid/node-x2-y19 91T 64T 27T 70% +/dev/grid/node-x2-y20 89T 70T 19T 78% +/dev/grid/node-x2-y21 86T 65T 21T 75% +/dev/grid/node-x2-y22 94T 64T 30T 68% +/dev/grid/node-x2-y23 88T 67T 21T 76% +/dev/grid/node-x2-y24 92T 64T 28T 69% +/dev/grid/node-x3-y0 85T 66T 19T 77% +/dev/grid/node-x3-y1 88T 64T 24T 72% +/dev/grid/node-x3-y2 93T 71T 22T 76% +/dev/grid/node-x3-y3 90T 68T 22T 75% +/dev/grid/node-x3-y4 87T 73T 14T 83% +/dev/grid/node-x3-y5 94T 64T 30T 68% +/dev/grid/node-x3-y6 92T 72T 20T 78% +/dev/grid/node-x3-y7 89T 69T 20T 77% +/dev/grid/node-x3-y8 91T 69T 22T 75% +/dev/grid/node-x3-y9 92T 66T 26T 71% +/dev/grid/node-x3-y10 93T 73T 20T 78% +/dev/grid/node-x3-y11 93T 67T 26T 72% +/dev/grid/node-x3-y12 88T 69T 19T 78% +/dev/grid/node-x3-y13 92T 68T 24T 73% +/dev/grid/node-x3-y14 91T 73T 18T 80% +/dev/grid/node-x3-y15 94T 64T 30T 68% +/dev/grid/node-x3-y16 85T 69T 16T 81% +/dev/grid/node-x3-y17 87T 68T 19T 78% +/dev/grid/node-x3-y18 88T 66T 22T 75% +/dev/grid/node-x3-y19 90T 72T 18T 80% +/dev/grid/node-x3-y20 90T 73T 17T 81% +/dev/grid/node-x3-y21 86T 73T 13T 84% +/dev/grid/node-x3-y22 86T 64T 22T 74% +/dev/grid/node-x3-y23 93T 69T 24T 74% +/dev/grid/node-x3-y24 89T 66T 23T 74% +/dev/grid/node-x4-y0 92T 71T 21T 77% +/dev/grid/node-x4-y1 89T 70T 19T 78% +/dev/grid/node-x4-y2 90T 69T 21T 76% +/dev/grid/node-x4-y3 86T 65T 21T 75% +/dev/grid/node-x4-y4 86T 67T 19T 77% +/dev/grid/node-x4-y5 94T 67T 27T 71% +/dev/grid/node-x4-y6 91T 66T 25T 72% +/dev/grid/node-x4-y7 94T 69T 25T 73% +/dev/grid/node-x4-y8 88T 64T 24T 72% +/dev/grid/node-x4-y9 88T 73T 15T 82% +/dev/grid/node-x4-y10 91T 72T 19T 79% +/dev/grid/node-x4-y11 86T 65T 21T 75% +/dev/grid/node-x4-y12 92T 72T 20T 78% +/dev/grid/node-x4-y13 92T 66T 26T 71% +/dev/grid/node-x4-y14 89T 67T 22T 75% +/dev/grid/node-x4-y15 92T 64T 28T 69% +/dev/grid/node-x4-y16 94T 67T 27T 71% +/dev/grid/node-x4-y17 85T 65T 20T 76% +/dev/grid/node-x4-y18 94T 72T 22T 76% +/dev/grid/node-x4-y19 94T 64T 30T 68% +/dev/grid/node-x4-y20 87T 72T 15T 82% +/dev/grid/node-x4-y21 93T 71T 22T 76% +/dev/grid/node-x4-y22 86T 69T 17T 80% +/dev/grid/node-x4-y23 90T 67T 23T 74% +/dev/grid/node-x4-y24 88T 71T 17T 80% +/dev/grid/node-x5-y0 89T 70T 19T 78% +/dev/grid/node-x5-y1 88T 72T 16T 81% +/dev/grid/node-x5-y2 85T 71T 14T 83% +/dev/grid/node-x5-y3 85T 68T 17T 80% +/dev/grid/node-x5-y4 86T 67T 19T 77% +/dev/grid/node-x5-y5 86T 65T 21T 75% +/dev/grid/node-x5-y6 87T 64T 23T 73% +/dev/grid/node-x5-y7 93T 68T 25T 73% +/dev/grid/node-x5-y8 94T 69T 25T 73% +/dev/grid/node-x5-y9 91T 69T 22T 75% +/dev/grid/node-x5-y10 89T 69T 20T 77% +/dev/grid/node-x5-y11 89T 65T 24T 73% +/dev/grid/node-x5-y12 86T 68T 18T 79% +/dev/grid/node-x5-y13 85T 68T 17T 80% +/dev/grid/node-x5-y14 89T 72T 17T 80% +/dev/grid/node-x5-y15 92T 66T 26T 71% +/dev/grid/node-x5-y16 89T 66T 23T 74% +/dev/grid/node-x5-y17 90T 67T 23T 74% +/dev/grid/node-x5-y18 93T 70T 23T 75% +/dev/grid/node-x5-y19 89T 67T 22T 75% +/dev/grid/node-x5-y20 87T 64T 23T 73% +/dev/grid/node-x5-y21 90T 67T 23T 74% +/dev/grid/node-x5-y22 94T 65T 29T 69% +/dev/grid/node-x5-y23 90T 67T 23T 74% +/dev/grid/node-x5-y24 89T 67T 22T 75% +/dev/grid/node-x6-y0 90T 69T 21T 76% +/dev/grid/node-x6-y1 89T 67T 22T 75% +/dev/grid/node-x6-y2 93T 69T 24T 74% +/dev/grid/node-x6-y3 92T 69T 23T 75% +/dev/grid/node-x6-y4 93T 64T 29T 68% +/dev/grid/node-x6-y5 91T 69T 22T 75% +/dev/grid/node-x6-y6 90T 65T 25T 72% +/dev/grid/node-x6-y7 93T 64T 29T 68% +/dev/grid/node-x6-y8 93T 72T 21T 77% +/dev/grid/node-x6-y9 88T 64T 24T 72% +/dev/grid/node-x6-y10 86T 68T 18T 79% +/dev/grid/node-x6-y11 92T 73T 19T 79% +/dev/grid/node-x6-y12 88T 65T 23T 73% +/dev/grid/node-x6-y13 93T 67T 26T 72% +/dev/grid/node-x6-y14 85T 67T 18T 78% +/dev/grid/node-x6-y15 87T 65T 22T 74% +/dev/grid/node-x6-y16 87T 67T 20T 77% +/dev/grid/node-x6-y17 86T 67T 19T 77% +/dev/grid/node-x6-y18 90T 65T 25T 72% +/dev/grid/node-x6-y19 92T 71T 21T 77% +/dev/grid/node-x6-y20 91T 69T 22T 75% +/dev/grid/node-x6-y21 91T 69T 22T 75% +/dev/grid/node-x6-y22 86T 71T 15T 82% +/dev/grid/node-x6-y23 92T 66T 26T 71% +/dev/grid/node-x6-y24 93T 69T 24T 74% +/dev/grid/node-x7-y0 87T 66T 21T 75% +/dev/grid/node-x7-y1 91T 64T 27T 70% +/dev/grid/node-x7-y2 94T 69T 25T 73% +/dev/grid/node-x7-y3 87T 68T 19T 78% +/dev/grid/node-x7-y4 94T 66T 28T 70% +/dev/grid/node-x7-y5 92T 72T 20T 78% +/dev/grid/node-x7-y6 92T 67T 25T 72% +/dev/grid/node-x7-y7 94T 67T 27T 71% +/dev/grid/node-x7-y8 91T 65T 26T 71% +/dev/grid/node-x7-y9 88T 66T 22T 75% +/dev/grid/node-x7-y10 85T 72T 13T 84% +/dev/grid/node-x7-y11 93T 64T 29T 68% +/dev/grid/node-x7-y12 90T 65T 25T 72% +/dev/grid/node-x7-y13 94T 64T 30T 68% +/dev/grid/node-x7-y14 94T 69T 25T 73% +/dev/grid/node-x7-y15 87T 68T 19T 78% +/dev/grid/node-x7-y16 88T 71T 17T 80% +/dev/grid/node-x7-y17 89T 64T 25T 71% +/dev/grid/node-x7-y18 87T 70T 17T 80% +/dev/grid/node-x7-y19 91T 72T 19T 79% +/dev/grid/node-x7-y20 94T 65T 29T 69% +/dev/grid/node-x7-y21 87T 69T 18T 79% +/dev/grid/node-x7-y22 91T 72T 19T 79% +/dev/grid/node-x7-y23 93T 64T 29T 68% +/dev/grid/node-x7-y24 85T 69T 16T 81% +/dev/grid/node-x8-y0 90T 68T 22T 75% +/dev/grid/node-x8-y1 88T 66T 22T 75% +/dev/grid/node-x8-y2 91T 67T 24T 73% +/dev/grid/node-x8-y3 86T 64T 22T 74% +/dev/grid/node-x8-y4 91T 73T 18T 80% +/dev/grid/node-x8-y5 92T 64T 28T 69% +/dev/grid/node-x8-y6 89T 64T 25T 71% +/dev/grid/node-x8-y7 87T 66T 21T 75% +/dev/grid/node-x8-y8 85T 71T 14T 83% +/dev/grid/node-x8-y9 88T 71T 17T 80% +/dev/grid/node-x8-y10 89T 71T 18T 79% +/dev/grid/node-x8-y11 89T 67T 22T 75% +/dev/grid/node-x8-y12 91T 66T 25T 72% +/dev/grid/node-x8-y13 88T 64T 24T 72% +/dev/grid/node-x8-y14 86T 71T 15T 82% +/dev/grid/node-x8-y15 93T 72T 21T 77% +/dev/grid/node-x8-y16 90T 69T 21T 76% +/dev/grid/node-x8-y17 86T 73T 13T 84% +/dev/grid/node-x8-y18 88T 64T 24T 72% +/dev/grid/node-x8-y19 88T 64T 24T 72% +/dev/grid/node-x8-y20 87T 73T 14T 83% +/dev/grid/node-x8-y21 85T 70T 15T 82% +/dev/grid/node-x8-y22 85T 70T 15T 82% +/dev/grid/node-x8-y23 90T 68T 22T 75% +/dev/grid/node-x8-y24 88T 73T 15T 82% +/dev/grid/node-x9-y0 89T 66T 23T 74% +/dev/grid/node-x9-y1 89T 65T 24T 73% +/dev/grid/node-x9-y2 85T 71T 14T 83% +/dev/grid/node-x9-y3 92T 69T 23T 75% +/dev/grid/node-x9-y4 92T 64T 28T 69% +/dev/grid/node-x9-y5 89T 67T 22T 75% +/dev/grid/node-x9-y6 93T 72T 21T 77% +/dev/grid/node-x9-y7 94T 65T 29T 69% +/dev/grid/node-x9-y8 87T 71T 16T 81% +/dev/grid/node-x9-y9 85T 65T 20T 76% +/dev/grid/node-x9-y10 92T 70T 22T 76% +/dev/grid/node-x9-y11 87T 73T 14T 83% +/dev/grid/node-x9-y12 88T 71T 17T 80% +/dev/grid/node-x9-y13 93T 71T 22T 76% +/dev/grid/node-x9-y14 91T 67T 24T 73% +/dev/grid/node-x9-y15 92T 64T 28T 69% +/dev/grid/node-x9-y16 87T 65T 22T 74% +/dev/grid/node-x9-y17 94T 65T 29T 69% +/dev/grid/node-x9-y18 94T 71T 23T 75% +/dev/grid/node-x9-y19 85T 64T 21T 75% +/dev/grid/node-x9-y20 92T 65T 27T 70% +/dev/grid/node-x9-y21 92T 73T 19T 79% +/dev/grid/node-x9-y22 91T 73T 18T 80% +/dev/grid/node-x9-y23 90T 64T 26T 71% +/dev/grid/node-x9-y24 85T 73T 12T 85% +/dev/grid/node-x10-y0 94T 71T 23T 75% +/dev/grid/node-x10-y1 86T 69T 17T 80% +/dev/grid/node-x10-y2 88T 71T 17T 80% +/dev/grid/node-x10-y3 93T 69T 24T 74% +/dev/grid/node-x10-y4 92T 72T 20T 78% +/dev/grid/node-x10-y5 85T 66T 19T 77% +/dev/grid/node-x10-y6 93T 66T 27T 70% +/dev/grid/node-x10-y7 89T 73T 16T 82% +/dev/grid/node-x10-y8 86T 66T 20T 76% +/dev/grid/node-x10-y9 90T 68T 22T 75% +/dev/grid/node-x10-y10 94T 68T 26T 72% +/dev/grid/node-x10-y11 92T 70T 22T 76% +/dev/grid/node-x10-y12 86T 65T 21T 75% +/dev/grid/node-x10-y13 91T 69T 22T 75% +/dev/grid/node-x10-y14 89T 69T 20T 77% +/dev/grid/node-x10-y15 88T 67T 21T 76% +/dev/grid/node-x10-y16 89T 70T 19T 78% +/dev/grid/node-x10-y17 93T 68T 25T 73% +/dev/grid/node-x10-y18 90T 66T 24T 73% +/dev/grid/node-x10-y19 85T 70T 15T 82% +/dev/grid/node-x10-y20 88T 71T 17T 80% +/dev/grid/node-x10-y21 89T 68T 21T 76% +/dev/grid/node-x10-y22 88T 72T 16T 81% +/dev/grid/node-x10-y23 89T 68T 21T 76% +/dev/grid/node-x10-y24 91T 64T 27T 70% +/dev/grid/node-x11-y0 86T 67T 19T 77% +/dev/grid/node-x11-y1 86T 73T 13T 84% +/dev/grid/node-x11-y2 86T 65T 21T 75% +/dev/grid/node-x11-y3 87T 69T 18T 79% +/dev/grid/node-x11-y4 86T 70T 16T 81% +/dev/grid/node-x11-y5 90T 73T 17T 81% +/dev/grid/node-x11-y6 94T 69T 25T 73% +/dev/grid/node-x11-y7 86T 72T 14T 83% +/dev/grid/node-x11-y8 91T 72T 19T 79% +/dev/grid/node-x11-y9 90T 67T 23T 74% +/dev/grid/node-x11-y10 89T 72T 17T 80% +/dev/grid/node-x11-y11 86T 67T 19T 77% +/dev/grid/node-x11-y12 88T 65T 23T 73% +/dev/grid/node-x11-y13 93T 72T 21T 77% +/dev/grid/node-x11-y14 91T 70T 21T 76% +/dev/grid/node-x11-y15 91T 64T 27T 70% +/dev/grid/node-x11-y16 91T 64T 27T 70% +/dev/grid/node-x11-y17 85T 67T 18T 78% +/dev/grid/node-x11-y18 90T 69T 21T 76% +/dev/grid/node-x11-y19 85T 71T 14T 83% +/dev/grid/node-x11-y20 86T 71T 15T 82% +/dev/grid/node-x11-y21 87T 73T 14T 83% +/dev/grid/node-x11-y22 91T 70T 21T 76% +/dev/grid/node-x11-y23 90T 69T 21T 76% +/dev/grid/node-x11-y24 86T 73T 13T 84% +/dev/grid/node-x12-y0 93T 65T 28T 69% +/dev/grid/node-x12-y1 88T 72T 16T 81% +/dev/grid/node-x12-y2 92T 65T 27T 70% +/dev/grid/node-x12-y3 94T 71T 23T 75% +/dev/grid/node-x12-y4 94T 64T 30T 68% +/dev/grid/node-x12-y5 91T 64T 27T 70% +/dev/grid/node-x12-y6 91T 65T 26T 71% +/dev/grid/node-x12-y7 93T 70T 23T 75% +/dev/grid/node-x12-y8 88T 69T 19T 78% +/dev/grid/node-x12-y9 89T 66T 23T 74% +/dev/grid/node-x12-y10 90T 70T 20T 77% +/dev/grid/node-x12-y11 89T 64T 25T 71% +/dev/grid/node-x12-y12 87T 70T 17T 80% +/dev/grid/node-x12-y13 86T 72T 14T 83% +/dev/grid/node-x12-y14 88T 67T 21T 76% +/dev/grid/node-x12-y15 88T 66T 22T 75% +/dev/grid/node-x12-y16 86T 69T 17T 80% +/dev/grid/node-x12-y17 90T 65T 25T 72% +/dev/grid/node-x12-y18 85T 73T 12T 85% +/dev/grid/node-x12-y19 94T 67T 27T 71% +/dev/grid/node-x12-y20 85T 66T 19T 77% +/dev/grid/node-x12-y21 86T 67T 19T 77% +/dev/grid/node-x12-y22 86T 67T 19T 77% +/dev/grid/node-x12-y23 87T 64T 23T 73% +/dev/grid/node-x12-y24 87T 64T 23T 73% +/dev/grid/node-x13-y0 85T 71T 14T 83% +/dev/grid/node-x13-y1 90T 71T 19T 78% +/dev/grid/node-x13-y2 86T 66T 20T 76% +/dev/grid/node-x13-y3 90T 67T 23T 74% +/dev/grid/node-x13-y4 92T 69T 23T 75% +/dev/grid/node-x13-y5 86T 68T 18T 79% +/dev/grid/node-x13-y6 94T 64T 30T 68% +/dev/grid/node-x13-y7 89T 67T 22T 75% +/dev/grid/node-x13-y8 88T 67T 21T 76% +/dev/grid/node-x13-y9 90T 68T 22T 75% +/dev/grid/node-x13-y10 88T 65T 23T 73% +/dev/grid/node-x13-y11 86T 67T 19T 77% +/dev/grid/node-x13-y12 94T 65T 29T 69% +/dev/grid/node-x13-y13 87T 67T 20T 77% +/dev/grid/node-x13-y14 86T 71T 15T 82% +/dev/grid/node-x13-y15 87T 73T 14T 83% +/dev/grid/node-x13-y16 91T 69T 22T 75% +/dev/grid/node-x13-y17 91T 67T 24T 73% +/dev/grid/node-x13-y18 91T 70T 21T 76% +/dev/grid/node-x13-y19 90T 73T 17T 81% +/dev/grid/node-x13-y20 91T 64T 27T 70% +/dev/grid/node-x13-y21 91T 68T 23T 74% +/dev/grid/node-x13-y22 88T 65T 23T 73% +/dev/grid/node-x13-y23 85T 67T 18T 78% +/dev/grid/node-x13-y24 93T 66T 27T 70% +/dev/grid/node-x14-y0 91T 67T 24T 73% +/dev/grid/node-x14-y1 94T 66T 28T 70% +/dev/grid/node-x14-y2 89T 70T 19T 78% +/dev/grid/node-x14-y3 85T 71T 14T 83% +/dev/grid/node-x14-y4 88T 68T 20T 77% +/dev/grid/node-x14-y5 88T 68T 20T 77% +/dev/grid/node-x14-y6 92T 73T 19T 79% +/dev/grid/node-x14-y7 86T 67T 19T 77% +/dev/grid/node-x14-y8 87T 71T 16T 81% +/dev/grid/node-x14-y9 85T 71T 14T 83% +/dev/grid/node-x14-y10 94T 64T 30T 68% +/dev/grid/node-x14-y11 92T 67T 25T 72% +/dev/grid/node-x14-y12 94T 73T 21T 77% +/dev/grid/node-x14-y13 92T 71T 21T 77% +/dev/grid/node-x14-y14 88T 71T 17T 80% +/dev/grid/node-x14-y15 89T 65T 24T 73% +/dev/grid/node-x14-y16 94T 71T 23T 75% +/dev/grid/node-x14-y17 94T 66T 28T 70% +/dev/grid/node-x14-y18 92T 69T 23T 75% +/dev/grid/node-x14-y19 93T 64T 29T 68% +/dev/grid/node-x14-y20 91T 72T 19T 79% +/dev/grid/node-x14-y21 89T 73T 16T 82% +/dev/grid/node-x14-y22 90T 72T 18T 80% +/dev/grid/node-x14-y23 86T 64T 22T 74% +/dev/grid/node-x14-y24 93T 72T 21T 77% +/dev/grid/node-x15-y0 90T 69T 21T 76% +/dev/grid/node-x15-y1 88T 70T 18T 79% +/dev/grid/node-x15-y2 93T 64T 29T 68% +/dev/grid/node-x15-y3 85T 73T 12T 85% +/dev/grid/node-x15-y4 88T 65T 23T 73% +/dev/grid/node-x15-y5 86T 65T 21T 75% +/dev/grid/node-x15-y6 85T 67T 18T 78% +/dev/grid/node-x15-y7 92T 64T 28T 69% +/dev/grid/node-x15-y8 90T 73T 17T 81% +/dev/grid/node-x15-y9 94T 70T 24T 74% +/dev/grid/node-x15-y10 90T 70T 20T 77% +/dev/grid/node-x15-y11 86T 67T 19T 77% +/dev/grid/node-x15-y12 86T 73T 13T 84% +/dev/grid/node-x15-y13 94T 73T 21T 77% +/dev/grid/node-x15-y14 85T 71T 14T 83% +/dev/grid/node-x15-y15 86T 70T 16T 81% +/dev/grid/node-x15-y16 87T 68T 19T 78% +/dev/grid/node-x15-y17 92T 68T 24T 73% +/dev/grid/node-x15-y18 86T 65T 21T 75% +/dev/grid/node-x15-y19 89T 65T 24T 73% +/dev/grid/node-x15-y20 89T 72T 17T 80% +/dev/grid/node-x15-y21 85T 72T 13T 84% +/dev/grid/node-x15-y22 89T 71T 18T 79% +/dev/grid/node-x15-y23 87T 72T 15T 82% +/dev/grid/node-x15-y24 85T 69T 16T 81% +/dev/grid/node-x16-y0 92T 68T 24T 73% +/dev/grid/node-x16-y1 90T 68T 22T 75% +/dev/grid/node-x16-y2 86T 66T 20T 76% +/dev/grid/node-x16-y3 89T 71T 18T 79% +/dev/grid/node-x16-y4 87T 71T 16T 81% +/dev/grid/node-x16-y5 88T 65T 23T 73% +/dev/grid/node-x16-y6 92T 72T 20T 78% +/dev/grid/node-x16-y7 88T 64T 24T 72% +/dev/grid/node-x16-y8 89T 68T 21T 76% +/dev/grid/node-x16-y9 85T 72T 13T 84% +/dev/grid/node-x16-y10 94T 67T 27T 71% +/dev/grid/node-x16-y11 85T 68T 17T 80% +/dev/grid/node-x16-y12 92T 70T 22T 76% +/dev/grid/node-x16-y13 94T 70T 24T 74% +/dev/grid/node-x16-y14 94T 72T 22T 76% +/dev/grid/node-x16-y15 89T 72T 17T 80% +/dev/grid/node-x16-y16 88T 66T 22T 75% +/dev/grid/node-x16-y17 90T 70T 20T 77% +/dev/grid/node-x16-y18 91T 67T 24T 73% +/dev/grid/node-x16-y19 88T 73T 15T 82% +/dev/grid/node-x16-y20 86T 66T 20T 76% +/dev/grid/node-x16-y21 90T 67T 23T 74% +/dev/grid/node-x16-y22 94T 71T 23T 75% +/dev/grid/node-x16-y23 85T 71T 14T 83% +/dev/grid/node-x16-y24 87T 68T 19T 78% +/dev/grid/node-x17-y0 91T 69T 22T 75% +/dev/grid/node-x17-y1 85T 68T 17T 80% +/dev/grid/node-x17-y2 89T 69T 20T 77% +/dev/grid/node-x17-y3 91T 68T 23T 74% +/dev/grid/node-x17-y4 87T 69T 18T 79% +/dev/grid/node-x17-y5 92T 70T 22T 76% +/dev/grid/node-x17-y6 85T 67T 18T 78% +/dev/grid/node-x17-y7 92T 72T 20T 78% +/dev/grid/node-x17-y8 92T 65T 27T 70% +/dev/grid/node-x17-y9 92T 67T 25T 72% +/dev/grid/node-x17-y10 86T 69T 17T 80% +/dev/grid/node-x17-y11 94T 70T 24T 74% +/dev/grid/node-x17-y12 94T 69T 25T 73% +/dev/grid/node-x17-y13 94T 73T 21T 77% +/dev/grid/node-x17-y14 87T 73T 14T 83% +/dev/grid/node-x17-y15 86T 67T 19T 77% +/dev/grid/node-x17-y16 85T 68T 17T 80% +/dev/grid/node-x17-y17 87T 71T 16T 81% +/dev/grid/node-x17-y18 89T 64T 25T 71% +/dev/grid/node-x17-y19 88T 70T 18T 79% +/dev/grid/node-x17-y20 86T 65T 21T 75% +/dev/grid/node-x17-y21 86T 64T 22T 74% +/dev/grid/node-x17-y22 93T 70T 23T 75% +/dev/grid/node-x17-y23 86T 66T 20T 76% +/dev/grid/node-x17-y24 89T 66T 23T 74% +/dev/grid/node-x18-y0 91T 73T 18T 80% +/dev/grid/node-x18-y1 90T 73T 17T 81% +/dev/grid/node-x18-y2 94T 68T 26T 72% +/dev/grid/node-x18-y3 85T 71T 14T 83% +/dev/grid/node-x18-y4 94T 73T 21T 77% +/dev/grid/node-x18-y5 93T 65T 28T 69% +/dev/grid/node-x18-y6 91T 70T 21T 76% +/dev/grid/node-x18-y7 86T 68T 18T 79% +/dev/grid/node-x18-y8 94T 68T 26T 72% +/dev/grid/node-x18-y9 85T 67T 18T 78% +/dev/grid/node-x18-y10 89T 70T 19T 78% +/dev/grid/node-x18-y11 90T 68T 22T 75% +/dev/grid/node-x18-y12 89T 67T 22T 75% +/dev/grid/node-x18-y13 92T 64T 28T 69% +/dev/grid/node-x18-y14 93T 65T 28T 69% +/dev/grid/node-x18-y15 89T 65T 24T 73% +/dev/grid/node-x18-y16 92T 66T 26T 71% +/dev/grid/node-x18-y17 86T 64T 22T 74% +/dev/grid/node-x18-y18 91T 68T 23T 74% +/dev/grid/node-x18-y19 85T 73T 12T 85% +/dev/grid/node-x18-y20 91T 67T 24T 73% +/dev/grid/node-x18-y21 90T 73T 17T 81% +/dev/grid/node-x18-y22 89T 68T 21T 76% +/dev/grid/node-x18-y23 88T 68T 20T 77% +/dev/grid/node-x18-y24 92T 67T 25T 72% +/dev/grid/node-x19-y0 92T 67T 25T 72% +/dev/grid/node-x19-y1 90T 64T 26T 71% +/dev/grid/node-x19-y2 92T 72T 20T 78% +/dev/grid/node-x19-y3 94T 64T 30T 68% +/dev/grid/node-x19-y4 89T 70T 19T 78% +/dev/grid/node-x19-y5 90T 66T 24T 73% +/dev/grid/node-x19-y6 86T 67T 19T 77% +/dev/grid/node-x19-y7 88T 72T 16T 81% +/dev/grid/node-x19-y8 94T 69T 25T 73% +/dev/grid/node-x19-y9 87T 65T 22T 74% +/dev/grid/node-x19-y10 90T 67T 23T 74% +/dev/grid/node-x19-y11 90T 64T 26T 71% +/dev/grid/node-x19-y12 89T 72T 17T 80% +/dev/grid/node-x19-y13 88T 66T 22T 75% +/dev/grid/node-x19-y14 85T 68T 17T 80% +/dev/grid/node-x19-y15 92T 73T 19T 79% +/dev/grid/node-x19-y16 93T 71T 22T 76% +/dev/grid/node-x19-y17 85T 70T 15T 82% +/dev/grid/node-x19-y18 91T 64T 27T 70% +/dev/grid/node-x19-y19 88T 68T 20T 77% +/dev/grid/node-x19-y20 90T 71T 19T 78% +/dev/grid/node-x19-y21 94T 67T 27T 71% +/dev/grid/node-x19-y22 87T 72T 15T 82% +/dev/grid/node-x19-y23 89T 68T 21T 76% +/dev/grid/node-x19-y24 93T 64T 29T 68% +/dev/grid/node-x20-y0 92T 68T 24T 73% +/dev/grid/node-x20-y1 89T 73T 16T 82% +/dev/grid/node-x20-y2 93T 64T 29T 68% +/dev/grid/node-x20-y3 90T 72T 18T 80% +/dev/grid/node-x20-y4 91T 64T 27T 70% +/dev/grid/node-x20-y5 90T 73T 17T 81% +/dev/grid/node-x20-y6 94T 69T 25T 73% +/dev/grid/node-x20-y7 88T 66T 22T 75% +/dev/grid/node-x20-y8 89T 68T 21T 76% +/dev/grid/node-x20-y9 91T 71T 20T 78% +/dev/grid/node-x20-y10 91T 67T 24T 73% +/dev/grid/node-x20-y11 94T 64T 30T 68% +/dev/grid/node-x20-y12 90T 71T 19T 78% +/dev/grid/node-x20-y13 88T 72T 16T 81% +/dev/grid/node-x20-y14 86T 70T 16T 81% +/dev/grid/node-x20-y15 89T 65T 24T 73% +/dev/grid/node-x20-y16 85T 67T 18T 78% +/dev/grid/node-x20-y17 92T 65T 27T 70% +/dev/grid/node-x20-y18 91T 67T 24T 73% +/dev/grid/node-x20-y19 86T 71T 15T 82% +/dev/grid/node-x20-y20 91T 70T 21T 76% +/dev/grid/node-x20-y21 85T 71T 14T 83% +/dev/grid/node-x20-y22 91T 70T 21T 76% +/dev/grid/node-x20-y23 93T 70T 23T 75% +/dev/grid/node-x20-y24 93T 66T 27T 70% +/dev/grid/node-x21-y0 87T 65T 22T 74% +/dev/grid/node-x21-y1 85T 65T 20T 76% +/dev/grid/node-x21-y2 92T 72T 20T 78% +/dev/grid/node-x21-y3 88T 68T 20T 77% +/dev/grid/node-x21-y4 87T 67T 20T 77% +/dev/grid/node-x21-y5 93T 68T 25T 73% +/dev/grid/node-x21-y6 93T 70T 23T 75% +/dev/grid/node-x21-y7 92T 65T 27T 70% +/dev/grid/node-x21-y8 91T 70T 21T 76% +/dev/grid/node-x21-y9 89T 64T 25T 71% +/dev/grid/node-x21-y10 87T 67T 20T 77% +/dev/grid/node-x21-y11 504T 496T 8T 98% +/dev/grid/node-x21-y12 88T 70T 18T 79% +/dev/grid/node-x21-y13 86T 70T 16T 81% +/dev/grid/node-x21-y14 92T 66T 26T 71% +/dev/grid/node-x21-y15 93T 64T 29T 68% +/dev/grid/node-x21-y16 93T 71T 22T 76% +/dev/grid/node-x21-y17 94T 65T 29T 69% +/dev/grid/node-x21-y18 87T 70T 17T 80% +/dev/grid/node-x21-y19 85T 64T 21T 75% +/dev/grid/node-x21-y20 86T 70T 16T 81% +/dev/grid/node-x21-y21 93T 66T 27T 70% +/dev/grid/node-x21-y22 92T 70T 22T 76% +/dev/grid/node-x21-y23 94T 68T 26T 72% +/dev/grid/node-x21-y24 90T 73T 17T 81% +/dev/grid/node-x22-y0 93T 72T 21T 77% +/dev/grid/node-x22-y1 91T 70T 21T 76% +/dev/grid/node-x22-y2 94T 64T 30T 68% +/dev/grid/node-x22-y3 92T 67T 25T 72% +/dev/grid/node-x22-y4 87T 68T 19T 78% +/dev/grid/node-x22-y5 87T 67T 20T 77% +/dev/grid/node-x22-y6 92T 69T 23T 75% +/dev/grid/node-x22-y7 85T 67T 18T 78% +/dev/grid/node-x22-y8 94T 73T 21T 77% +/dev/grid/node-x22-y9 89T 65T 24T 73% +/dev/grid/node-x22-y10 94T 68T 26T 72% +/dev/grid/node-x22-y11 508T 492T 16T 96% +/dev/grid/node-x22-y12 92T 70T 22T 76% +/dev/grid/node-x22-y13 88T 69T 19T 78% +/dev/grid/node-x22-y14 90T 65T 25T 72% +/dev/grid/node-x22-y15 91T 65T 26T 71% +/dev/grid/node-x22-y16 90T 73T 17T 81% +/dev/grid/node-x22-y17 93T 72T 21T 77% +/dev/grid/node-x22-y18 92T 65T 27T 70% +/dev/grid/node-x22-y19 89T 70T 19T 78% +/dev/grid/node-x22-y20 89T 69T 20T 77% +/dev/grid/node-x22-y21 91T 71T 20T 78% +/dev/grid/node-x22-y22 88T 73T 15T 82% +/dev/grid/node-x22-y23 88T 65T 23T 73% +/dev/grid/node-x22-y24 91T 72T 19T 79% +/dev/grid/node-x23-y0 92T 64T 28T 69% +/dev/grid/node-x23-y1 85T 72T 13T 84% +/dev/grid/node-x23-y2 89T 70T 19T 78% +/dev/grid/node-x23-y3 85T 70T 15T 82% +/dev/grid/node-x23-y4 94T 64T 30T 68% +/dev/grid/node-x23-y5 89T 67T 22T 75% +/dev/grid/node-x23-y6 89T 71T 18T 79% +/dev/grid/node-x23-y7 85T 64T 21T 75% +/dev/grid/node-x23-y8 90T 66T 24T 73% +/dev/grid/node-x23-y9 85T 67T 18T 78% +/dev/grid/node-x23-y10 85T 71T 14T 83% +/dev/grid/node-x23-y11 509T 491T 18T 96% +/dev/grid/node-x23-y12 89T 66T 23T 74% +/dev/grid/node-x23-y13 90T 64T 26T 71% +/dev/grid/node-x23-y14 91T 65T 26T 71% +/dev/grid/node-x23-y15 85T 68T 17T 80% +/dev/grid/node-x23-y16 86T 73T 13T 84% +/dev/grid/node-x23-y17 89T 65T 24T 73% +/dev/grid/node-x23-y18 92T 71T 21T 77% +/dev/grid/node-x23-y19 86T 73T 13T 84% +/dev/grid/node-x23-y20 94T 71T 23T 75% +/dev/grid/node-x23-y21 85T 69T 16T 81% +/dev/grid/node-x23-y22 85T 71T 14T 83% +/dev/grid/node-x23-y23 94T 70T 24T 74% +/dev/grid/node-x23-y24 90T 70T 20T 77% +/dev/grid/node-x24-y0 89T 71T 18T 79% +/dev/grid/node-x24-y1 88T 70T 18T 79% +/dev/grid/node-x24-y2 87T 73T 14T 83% +/dev/grid/node-x24-y3 90T 64T 26T 71% +/dev/grid/node-x24-y4 86T 71T 15T 82% +/dev/grid/node-x24-y5 85T 72T 13T 84% +/dev/grid/node-x24-y6 86T 71T 15T 82% +/dev/grid/node-x24-y7 92T 67T 25T 72% +/dev/grid/node-x24-y8 85T 71T 14T 83% +/dev/grid/node-x24-y9 90T 71T 19T 78% +/dev/grid/node-x24-y10 90T 67T 23T 74% +/dev/grid/node-x24-y11 503T 492T 11T 97% +/dev/grid/node-x24-y12 86T 65T 21T 75% +/dev/grid/node-x24-y13 87T 65T 22T 74% +/dev/grid/node-x24-y14 93T 70T 23T 75% +/dev/grid/node-x24-y15 87T 73T 14T 83% +/dev/grid/node-x24-y16 88T 66T 22T 75% +/dev/grid/node-x24-y17 85T 72T 13T 84% +/dev/grid/node-x24-y18 90T 69T 21T 76% +/dev/grid/node-x24-y19 89T 70T 19T 78% +/dev/grid/node-x24-y20 91T 72T 19T 79% +/dev/grid/node-x24-y21 87T 73T 14T 83% +/dev/grid/node-x24-y22 94T 64T 30T 68% +/dev/grid/node-x24-y23 88T 72T 16T 81% +/dev/grid/node-x24-y24 86T 65T 21T 75% +/dev/grid/node-x25-y0 90T 69T 21T 76% +/dev/grid/node-x25-y1 92T 68T 24T 73% +/dev/grid/node-x25-y2 88T 65T 23T 73% +/dev/grid/node-x25-y3 86T 67T 19T 77% +/dev/grid/node-x25-y4 86T 67T 19T 77% +/dev/grid/node-x25-y5 86T 68T 18T 79% +/dev/grid/node-x25-y6 88T 65T 23T 73% +/dev/grid/node-x25-y7 85T 66T 19T 77% +/dev/grid/node-x25-y8 89T 65T 24T 73% +/dev/grid/node-x25-y9 92T 66T 26T 71% +/dev/grid/node-x25-y10 94T 71T 23T 75% +/dev/grid/node-x25-y11 503T 491T 12T 97% +/dev/grid/node-x25-y12 90T 70T 20T 77% +/dev/grid/node-x25-y13 94T 65T 29T 69% +/dev/grid/node-x25-y14 92T 66T 26T 71% +/dev/grid/node-x25-y15 89T 65T 24T 73% +/dev/grid/node-x25-y16 85T 67T 18T 78% +/dev/grid/node-x25-y17 91T 67T 24T 73% +/dev/grid/node-x25-y18 92T 66T 26T 71% +/dev/grid/node-x25-y19 89T 73T 16T 82% +/dev/grid/node-x25-y20 93T 70T 23T 75% +/dev/grid/node-x25-y21 94T 73T 21T 77% +/dev/grid/node-x25-y22 93T 73T 20T 78% +/dev/grid/node-x25-y23 89T 66T 23T 74% +/dev/grid/node-x25-y24 86T 70T 16T 81% +/dev/grid/node-x26-y0 90T 64T 26T 71% +/dev/grid/node-x26-y1 92T 69T 23T 75% +/dev/grid/node-x26-y2 93T 69T 24T 74% +/dev/grid/node-x26-y3 85T 69T 16T 81% +/dev/grid/node-x26-y4 91T 65T 26T 71% +/dev/grid/node-x26-y5 93T 71T 22T 76% +/dev/grid/node-x26-y6 85T 72T 13T 84% +/dev/grid/node-x26-y7 94T 71T 23T 75% +/dev/grid/node-x26-y8 94T 68T 26T 72% +/dev/grid/node-x26-y9 90T 65T 25T 72% +/dev/grid/node-x26-y10 86T 69T 17T 80% +/dev/grid/node-x26-y11 508T 496T 12T 97% +/dev/grid/node-x26-y12 89T 65T 24T 73% +/dev/grid/node-x26-y13 91T 72T 19T 79% +/dev/grid/node-x26-y14 91T 67T 24T 73% +/dev/grid/node-x26-y15 87T 72T 15T 82% +/dev/grid/node-x26-y16 90T 64T 26T 71% +/dev/grid/node-x26-y17 93T 66T 27T 70% +/dev/grid/node-x26-y18 93T 73T 20T 78% +/dev/grid/node-x26-y19 91T 73T 18T 80% +/dev/grid/node-x26-y20 86T 65T 21T 75% +/dev/grid/node-x26-y21 94T 64T 30T 68% +/dev/grid/node-x26-y22 91T 65T 26T 71% +/dev/grid/node-x26-y23 89T 69T 20T 77% +/dev/grid/node-x26-y24 87T 65T 22T 74% +/dev/grid/node-x27-y0 94T 69T 25T 73% +/dev/grid/node-x27-y1 94T 73T 21T 77% +/dev/grid/node-x27-y2 91T 67T 24T 73% +/dev/grid/node-x27-y3 93T 73T 20T 78% +/dev/grid/node-x27-y4 85T 69T 16T 81% +/dev/grid/node-x27-y5 85T 67T 18T 78% +/dev/grid/node-x27-y6 87T 73T 14T 83% +/dev/grid/node-x27-y7 90T 66T 24T 73% +/dev/grid/node-x27-y8 94T 68T 26T 72% +/dev/grid/node-x27-y9 92T 66T 26T 71% +/dev/grid/node-x27-y10 94T 70T 24T 74% +/dev/grid/node-x27-y11 501T 494T 7T 98% +/dev/grid/node-x27-y12 87T 64T 23T 73% +/dev/grid/node-x27-y13 92T 72T 20T 78% +/dev/grid/node-x27-y14 90T 0T 90T 0% +/dev/grid/node-x27-y15 86T 71T 15T 82% +/dev/grid/node-x27-y16 85T 66T 19T 77% +/dev/grid/node-x27-y17 87T 68T 19T 78% +/dev/grid/node-x27-y18 89T 71T 18T 79% +/dev/grid/node-x27-y19 94T 72T 22T 76% +/dev/grid/node-x27-y20 85T 67T 18T 78% +/dev/grid/node-x27-y21 91T 69T 22T 75% +/dev/grid/node-x27-y22 87T 69T 18T 79% +/dev/grid/node-x27-y23 91T 65T 26T 71% +/dev/grid/node-x27-y24 92T 69T 23T 75% +/dev/grid/node-x28-y0 88T 71T 17T 80% +/dev/grid/node-x28-y1 88T 69T 19T 78% +/dev/grid/node-x28-y2 85T 68T 17T 80% +/dev/grid/node-x28-y3 89T 73T 16T 82% +/dev/grid/node-x28-y4 86T 67T 19T 77% +/dev/grid/node-x28-y5 89T 73T 16T 82% +/dev/grid/node-x28-y6 91T 69T 22T 75% +/dev/grid/node-x28-y7 88T 66T 22T 75% +/dev/grid/node-x28-y8 93T 64T 29T 68% +/dev/grid/node-x28-y9 89T 73T 16T 82% +/dev/grid/node-x28-y10 89T 69T 20T 77% +/dev/grid/node-x28-y11 505T 493T 12T 97% +/dev/grid/node-x28-y12 88T 67T 21T 76% +/dev/grid/node-x28-y13 92T 69T 23T 75% +/dev/grid/node-x28-y14 85T 65T 20T 76% +/dev/grid/node-x28-y15 92T 70T 22T 76% +/dev/grid/node-x28-y16 86T 68T 18T 79% +/dev/grid/node-x28-y17 88T 72T 16T 81% +/dev/grid/node-x28-y18 87T 72T 15T 82% +/dev/grid/node-x28-y19 85T 66T 19T 77% +/dev/grid/node-x28-y20 90T 72T 18T 80% +/dev/grid/node-x28-y21 86T 70T 16T 81% +/dev/grid/node-x28-y22 88T 69T 19T 78% +/dev/grid/node-x28-y23 93T 64T 29T 68% +/dev/grid/node-x28-y24 90T 67T 23T 74% +/dev/grid/node-x29-y0 91T 68T 23T 74% +/dev/grid/node-x29-y1 89T 67T 22T 75% +/dev/grid/node-x29-y2 86T 66T 20T 76% +/dev/grid/node-x29-y3 92T 66T 26T 71% +/dev/grid/node-x29-y4 88T 71T 17T 80% +/dev/grid/node-x29-y5 89T 72T 17T 80% +/dev/grid/node-x29-y6 92T 67T 25T 72% +/dev/grid/node-x29-y7 89T 64T 25T 71% +/dev/grid/node-x29-y8 91T 68T 23T 74% +/dev/grid/node-x29-y9 86T 73T 13T 84% +/dev/grid/node-x29-y10 85T 67T 18T 78% +/dev/grid/node-x29-y11 510T 497T 13T 97% +/dev/grid/node-x29-y12 86T 70T 16T 81% +/dev/grid/node-x29-y13 90T 69T 21T 76% +/dev/grid/node-x29-y14 85T 67T 18T 78% +/dev/grid/node-x29-y15 90T 71T 19T 78% +/dev/grid/node-x29-y16 94T 66T 28T 70% +/dev/grid/node-x29-y17 93T 69T 24T 74% +/dev/grid/node-x29-y18 90T 67T 23T 74% +/dev/grid/node-x29-y19 90T 69T 21T 76% +/dev/grid/node-x29-y20 89T 68T 21T 76% +/dev/grid/node-x29-y21 92T 71T 21T 77% +/dev/grid/node-x29-y22 94T 68T 26T 72% +/dev/grid/node-x29-y23 87T 64T 23T 73% +/dev/grid/node-x29-y24 91T 65T 26T 71% +/dev/grid/node-x30-y0 88T 70T 18T 79% +/dev/grid/node-x30-y1 94T 71T 23T 75% +/dev/grid/node-x30-y2 94T 65T 29T 69% +/dev/grid/node-x30-y3 93T 66T 27T 70% +/dev/grid/node-x30-y4 85T 73T 12T 85% +/dev/grid/node-x30-y5 90T 66T 24T 73% +/dev/grid/node-x30-y6 91T 69T 22T 75% +/dev/grid/node-x30-y7 88T 69T 19T 78% +/dev/grid/node-x30-y8 93T 68T 25T 73% +/dev/grid/node-x30-y9 89T 64T 25T 71% +/dev/grid/node-x30-y10 87T 66T 21T 75% +/dev/grid/node-x30-y11 501T 490T 11T 97% +/dev/grid/node-x30-y12 90T 69T 21T 76% +/dev/grid/node-x30-y13 91T 71T 20T 78% +/dev/grid/node-x30-y14 91T 73T 18T 80% +/dev/grid/node-x30-y15 87T 73T 14T 83% +/dev/grid/node-x30-y16 88T 72T 16T 81% +/dev/grid/node-x30-y17 90T 65T 25T 72% +/dev/grid/node-x30-y18 89T 73T 16T 82% +/dev/grid/node-x30-y19 89T 66T 23T 74% +/dev/grid/node-x30-y20 91T 71T 20T 78% +/dev/grid/node-x30-y21 92T 68T 24T 73% +/dev/grid/node-x30-y22 94T 71T 23T 75% +/dev/grid/node-x30-y23 91T 72T 19T 79% +/dev/grid/node-x30-y24 88T 67T 21T 76% +/dev/grid/node-x31-y0 93T 73T 20T 78% +/dev/grid/node-x31-y1 89T 64T 25T 71% +/dev/grid/node-x31-y2 90T 67T 23T 74% +/dev/grid/node-x31-y3 86T 67T 19T 77% +/dev/grid/node-x31-y4 89T 68T 21T 76% +/dev/grid/node-x31-y5 91T 70T 21T 76% +/dev/grid/node-x31-y6 91T 69T 22T 75% +/dev/grid/node-x31-y7 90T 71T 19T 78% +/dev/grid/node-x31-y8 93T 72T 21T 77% +/dev/grid/node-x31-y9 87T 65T 22T 74% +/dev/grid/node-x31-y10 90T 65T 25T 72% +/dev/grid/node-x31-y11 506T 494T 12T 97% +/dev/grid/node-x31-y12 89T 70T 19T 78% +/dev/grid/node-x31-y13 93T 65T 28T 69% +/dev/grid/node-x31-y14 93T 65T 28T 69% +/dev/grid/node-x31-y15 90T 72T 18T 80% +/dev/grid/node-x31-y16 87T 71T 16T 81% +/dev/grid/node-x31-y17 89T 65T 24T 73% +/dev/grid/node-x31-y18 86T 68T 18T 79% +/dev/grid/node-x31-y19 87T 73T 14T 83% +/dev/grid/node-x31-y20 85T 73T 12T 85% +/dev/grid/node-x31-y21 86T 72T 14T 83% +/dev/grid/node-x31-y22 94T 65T 29T 69% +/dev/grid/node-x31-y23 91T 68T 23T 74% +/dev/grid/node-x31-y24 87T 68T 19T 78% +/dev/grid/node-x32-y0 92T 67T 25T 72% +/dev/grid/node-x32-y1 85T 69T 16T 81% +/dev/grid/node-x32-y2 92T 72T 20T 78% +/dev/grid/node-x32-y3 92T 68T 24T 73% +/dev/grid/node-x32-y4 85T 69T 16T 81% +/dev/grid/node-x32-y5 85T 69T 16T 81% +/dev/grid/node-x32-y6 85T 72T 13T 84% +/dev/grid/node-x32-y7 86T 66T 20T 76% +/dev/grid/node-x32-y8 85T 69T 16T 81% +/dev/grid/node-x32-y9 92T 64T 28T 69% +/dev/grid/node-x32-y10 86T 64T 22T 74% +/dev/grid/node-x32-y11 508T 491T 17T 96% +/dev/grid/node-x32-y12 89T 66T 23T 74% +/dev/grid/node-x32-y13 89T 73T 16T 82% +/dev/grid/node-x32-y14 94T 70T 24T 74% +/dev/grid/node-x32-y15 93T 68T 25T 73% +/dev/grid/node-x32-y16 88T 73T 15T 82% +/dev/grid/node-x32-y17 87T 66T 21T 75% +/dev/grid/node-x32-y18 85T 73T 12T 85% +/dev/grid/node-x32-y19 94T 64T 30T 68% +/dev/grid/node-x32-y20 86T 73T 13T 84% +/dev/grid/node-x32-y21 93T 72T 21T 77% +/dev/grid/node-x32-y22 93T 67T 26T 72% +/dev/grid/node-x32-y23 94T 65T 29T 69% +/dev/grid/node-x32-y24 85T 71T 14T 83% +/dev/grid/node-x33-y0 88T 67T 21T 76% +/dev/grid/node-x33-y1 90T 69T 21T 76% +/dev/grid/node-x33-y2 85T 68T 17T 80% +/dev/grid/node-x33-y3 87T 73T 14T 83% +/dev/grid/node-x33-y4 93T 66T 27T 70% +/dev/grid/node-x33-y5 88T 68T 20T 77% +/dev/grid/node-x33-y6 85T 67T 18T 78% +/dev/grid/node-x33-y7 86T 69T 17T 80% +/dev/grid/node-x33-y8 86T 65T 21T 75% +/dev/grid/node-x33-y9 93T 68T 25T 73% +/dev/grid/node-x33-y10 85T 70T 15T 82% +/dev/grid/node-x33-y11 507T 491T 16T 96% +/dev/grid/node-x33-y12 91T 73T 18T 80% +/dev/grid/node-x33-y13 89T 72T 17T 80% +/dev/grid/node-x33-y14 94T 71T 23T 75% +/dev/grid/node-x33-y15 86T 66T 20T 76% +/dev/grid/node-x33-y16 86T 70T 16T 81% +/dev/grid/node-x33-y17 87T 69T 18T 79% +/dev/grid/node-x33-y18 89T 64T 25T 71% +/dev/grid/node-x33-y19 92T 67T 25T 72% +/dev/grid/node-x33-y20 86T 71T 15T 82% +/dev/grid/node-x33-y21 90T 70T 20T 77% +/dev/grid/node-x33-y22 86T 65T 21T 75% +/dev/grid/node-x33-y23 92T 70T 22T 76% +/dev/grid/node-x33-y24 92T 64T 28T 69% +/dev/grid/node-x34-y0 88T 69T 19T 78% +/dev/grid/node-x34-y1 93T 67T 26T 72% +/dev/grid/node-x34-y2 88T 65T 23T 73% +/dev/grid/node-x34-y3 90T 71T 19T 78% +/dev/grid/node-x34-y4 90T 67T 23T 74% +/dev/grid/node-x34-y5 85T 70T 15T 82% +/dev/grid/node-x34-y6 87T 72T 15T 82% +/dev/grid/node-x34-y7 92T 66T 26T 71% +/dev/grid/node-x34-y8 93T 65T 28T 69% +/dev/grid/node-x34-y9 90T 73T 17T 81% +/dev/grid/node-x34-y10 90T 64T 26T 71% +/dev/grid/node-x34-y11 504T 496T 8T 98% +/dev/grid/node-x34-y12 87T 73T 14T 83% +/dev/grid/node-x34-y13 92T 67T 25T 72% +/dev/grid/node-x34-y14 90T 70T 20T 77% +/dev/grid/node-x34-y15 88T 68T 20T 77% +/dev/grid/node-x34-y16 87T 73T 14T 83% +/dev/grid/node-x34-y17 90T 65T 25T 72% +/dev/grid/node-x34-y18 90T 73T 17T 81% +/dev/grid/node-x34-y19 91T 73T 18T 80% +/dev/grid/node-x34-y20 92T 72T 20T 78% +/dev/grid/node-x34-y21 85T 66T 19T 77% +/dev/grid/node-x34-y22 94T 66T 28T 70% +/dev/grid/node-x34-y23 87T 64T 23T 73% +/dev/grid/node-x34-y24 92T 71T 21T 77% From 0f36a9833115e876bdba28e371ed9fe397a33d64 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 00:51:34 +0100 Subject: [PATCH 086/100] 2016: d22: ex1: add solution --- 2016/d22/ex1/ex1.py | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 2016/d22/ex1/ex1.py diff --git a/2016/d22/ex1/ex1.py b/2016/d22/ex1/ex1.py new file mode 100755 index 0000000..4e9adc9 --- /dev/null +++ b/2016/d22/ex1/ex1.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python + +import itertools +import sys +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +class Filesystem(NamedTuple): + size: int + used: int + + @property + def avail(self) -> int: + return self.size - self.used + + +def solve(input: str) -> int: + def parse_line(input: str) -> tuple[Point, Filesystem]: + raw_fs, raw_size, raw_used, raw_avail, _ = input.split() + size = int(raw_size.removesuffix("T")) + used = int(raw_used.removesuffix("T")) + avail = int(raw_avail.removesuffix("T")) + assert size == (used + avail) # Sanity check + *_, x, y = raw_fs.split("-") + return Point(int(x[1:]), int(y[1:])), Filesystem(size, used) + + def parse(input: str) -> dict[Point, Filesystem]: + return {node: fs for node, fs in map(parse_line, input.splitlines()[2:])} + + df = parse(input) + return sum( + a.used <= b.avail + for a, b in itertools.permutations(df.values(), 2) + if a.used > 0 + ) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 69269e912b65f23da42116c2280feba00b006523 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 00:51:54 +0100 Subject: [PATCH 087/100] 2016: d22: ex2: add input --- 2016/d22/ex2/input | 877 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 877 insertions(+) create mode 100644 2016/d22/ex2/input diff --git a/2016/d22/ex2/input b/2016/d22/ex2/input new file mode 100644 index 0000000..2428687 --- /dev/null +++ b/2016/d22/ex2/input @@ -0,0 +1,877 @@ +root@ebhq-gridcenter# df -h +Filesystem Size Used Avail Use% +/dev/grid/node-x0-y0 94T 65T 29T 69% +/dev/grid/node-x0-y1 88T 69T 19T 78% +/dev/grid/node-x0-y2 92T 72T 20T 78% +/dev/grid/node-x0-y3 93T 73T 20T 78% +/dev/grid/node-x0-y4 85T 73T 12T 85% +/dev/grid/node-x0-y5 94T 70T 24T 74% +/dev/grid/node-x0-y6 93T 66T 27T 70% +/dev/grid/node-x0-y7 90T 68T 22T 75% +/dev/grid/node-x0-y8 87T 73T 14T 83% +/dev/grid/node-x0-y9 92T 66T 26T 71% +/dev/grid/node-x0-y10 90T 72T 18T 80% +/dev/grid/node-x0-y11 86T 71T 15T 82% +/dev/grid/node-x0-y12 86T 73T 13T 84% +/dev/grid/node-x0-y13 88T 71T 17T 80% +/dev/grid/node-x0-y14 93T 70T 23T 75% +/dev/grid/node-x0-y15 88T 70T 18T 79% +/dev/grid/node-x0-y16 88T 71T 17T 80% +/dev/grid/node-x0-y17 93T 73T 20T 78% +/dev/grid/node-x0-y18 86T 69T 17T 80% +/dev/grid/node-x0-y19 92T 71T 21T 77% +/dev/grid/node-x0-y20 93T 64T 29T 68% +/dev/grid/node-x0-y21 90T 73T 17T 81% +/dev/grid/node-x0-y22 94T 64T 30T 68% +/dev/grid/node-x0-y23 90T 72T 18T 80% +/dev/grid/node-x0-y24 87T 72T 15T 82% +/dev/grid/node-x1-y0 94T 66T 28T 70% +/dev/grid/node-x1-y1 88T 68T 20T 77% +/dev/grid/node-x1-y2 93T 64T 29T 68% +/dev/grid/node-x1-y3 85T 70T 15T 82% +/dev/grid/node-x1-y4 88T 72T 16T 81% +/dev/grid/node-x1-y5 89T 65T 24T 73% +/dev/grid/node-x1-y6 88T 67T 21T 76% +/dev/grid/node-x1-y7 88T 64T 24T 72% +/dev/grid/node-x1-y8 94T 65T 29T 69% +/dev/grid/node-x1-y9 85T 73T 12T 85% +/dev/grid/node-x1-y10 86T 65T 21T 75% +/dev/grid/node-x1-y11 91T 66T 25T 72% +/dev/grid/node-x1-y12 92T 70T 22T 76% +/dev/grid/node-x1-y13 94T 67T 27T 71% +/dev/grid/node-x1-y14 89T 71T 18T 79% +/dev/grid/node-x1-y15 90T 69T 21T 76% +/dev/grid/node-x1-y16 90T 71T 19T 78% +/dev/grid/node-x1-y17 90T 70T 20T 77% +/dev/grid/node-x1-y18 92T 66T 26T 71% +/dev/grid/node-x1-y19 91T 70T 21T 76% +/dev/grid/node-x1-y20 89T 70T 19T 78% +/dev/grid/node-x1-y21 93T 64T 29T 68% +/dev/grid/node-x1-y22 92T 69T 23T 75% +/dev/grid/node-x1-y23 90T 64T 26T 71% +/dev/grid/node-x1-y24 85T 72T 13T 84% +/dev/grid/node-x2-y0 89T 64T 25T 71% +/dev/grid/node-x2-y1 88T 71T 17T 80% +/dev/grid/node-x2-y2 85T 64T 21T 75% +/dev/grid/node-x2-y3 85T 66T 19T 77% +/dev/grid/node-x2-y4 93T 69T 24T 74% +/dev/grid/node-x2-y5 94T 73T 21T 77% +/dev/grid/node-x2-y6 91T 65T 26T 71% +/dev/grid/node-x2-y7 91T 68T 23T 74% +/dev/grid/node-x2-y8 93T 72T 21T 77% +/dev/grid/node-x2-y9 92T 73T 19T 79% +/dev/grid/node-x2-y10 93T 68T 25T 73% +/dev/grid/node-x2-y11 92T 73T 19T 79% +/dev/grid/node-x2-y12 91T 70T 21T 76% +/dev/grid/node-x2-y13 94T 73T 21T 77% +/dev/grid/node-x2-y14 86T 70T 16T 81% +/dev/grid/node-x2-y15 91T 66T 25T 72% +/dev/grid/node-x2-y16 94T 64T 30T 68% +/dev/grid/node-x2-y17 92T 65T 27T 70% +/dev/grid/node-x2-y18 87T 72T 15T 82% +/dev/grid/node-x2-y19 91T 64T 27T 70% +/dev/grid/node-x2-y20 89T 70T 19T 78% +/dev/grid/node-x2-y21 86T 65T 21T 75% +/dev/grid/node-x2-y22 94T 64T 30T 68% +/dev/grid/node-x2-y23 88T 67T 21T 76% +/dev/grid/node-x2-y24 92T 64T 28T 69% +/dev/grid/node-x3-y0 85T 66T 19T 77% +/dev/grid/node-x3-y1 88T 64T 24T 72% +/dev/grid/node-x3-y2 93T 71T 22T 76% +/dev/grid/node-x3-y3 90T 68T 22T 75% +/dev/grid/node-x3-y4 87T 73T 14T 83% +/dev/grid/node-x3-y5 94T 64T 30T 68% +/dev/grid/node-x3-y6 92T 72T 20T 78% +/dev/grid/node-x3-y7 89T 69T 20T 77% +/dev/grid/node-x3-y8 91T 69T 22T 75% +/dev/grid/node-x3-y9 92T 66T 26T 71% +/dev/grid/node-x3-y10 93T 73T 20T 78% +/dev/grid/node-x3-y11 93T 67T 26T 72% +/dev/grid/node-x3-y12 88T 69T 19T 78% +/dev/grid/node-x3-y13 92T 68T 24T 73% +/dev/grid/node-x3-y14 91T 73T 18T 80% +/dev/grid/node-x3-y15 94T 64T 30T 68% +/dev/grid/node-x3-y16 85T 69T 16T 81% +/dev/grid/node-x3-y17 87T 68T 19T 78% +/dev/grid/node-x3-y18 88T 66T 22T 75% +/dev/grid/node-x3-y19 90T 72T 18T 80% +/dev/grid/node-x3-y20 90T 73T 17T 81% +/dev/grid/node-x3-y21 86T 73T 13T 84% +/dev/grid/node-x3-y22 86T 64T 22T 74% +/dev/grid/node-x3-y23 93T 69T 24T 74% +/dev/grid/node-x3-y24 89T 66T 23T 74% +/dev/grid/node-x4-y0 92T 71T 21T 77% +/dev/grid/node-x4-y1 89T 70T 19T 78% +/dev/grid/node-x4-y2 90T 69T 21T 76% +/dev/grid/node-x4-y3 86T 65T 21T 75% +/dev/grid/node-x4-y4 86T 67T 19T 77% +/dev/grid/node-x4-y5 94T 67T 27T 71% +/dev/grid/node-x4-y6 91T 66T 25T 72% +/dev/grid/node-x4-y7 94T 69T 25T 73% +/dev/grid/node-x4-y8 88T 64T 24T 72% +/dev/grid/node-x4-y9 88T 73T 15T 82% +/dev/grid/node-x4-y10 91T 72T 19T 79% +/dev/grid/node-x4-y11 86T 65T 21T 75% +/dev/grid/node-x4-y12 92T 72T 20T 78% +/dev/grid/node-x4-y13 92T 66T 26T 71% +/dev/grid/node-x4-y14 89T 67T 22T 75% +/dev/grid/node-x4-y15 92T 64T 28T 69% +/dev/grid/node-x4-y16 94T 67T 27T 71% +/dev/grid/node-x4-y17 85T 65T 20T 76% +/dev/grid/node-x4-y18 94T 72T 22T 76% +/dev/grid/node-x4-y19 94T 64T 30T 68% +/dev/grid/node-x4-y20 87T 72T 15T 82% +/dev/grid/node-x4-y21 93T 71T 22T 76% +/dev/grid/node-x4-y22 86T 69T 17T 80% +/dev/grid/node-x4-y23 90T 67T 23T 74% +/dev/grid/node-x4-y24 88T 71T 17T 80% +/dev/grid/node-x5-y0 89T 70T 19T 78% +/dev/grid/node-x5-y1 88T 72T 16T 81% +/dev/grid/node-x5-y2 85T 71T 14T 83% +/dev/grid/node-x5-y3 85T 68T 17T 80% +/dev/grid/node-x5-y4 86T 67T 19T 77% +/dev/grid/node-x5-y5 86T 65T 21T 75% +/dev/grid/node-x5-y6 87T 64T 23T 73% +/dev/grid/node-x5-y7 93T 68T 25T 73% +/dev/grid/node-x5-y8 94T 69T 25T 73% +/dev/grid/node-x5-y9 91T 69T 22T 75% +/dev/grid/node-x5-y10 89T 69T 20T 77% +/dev/grid/node-x5-y11 89T 65T 24T 73% +/dev/grid/node-x5-y12 86T 68T 18T 79% +/dev/grid/node-x5-y13 85T 68T 17T 80% +/dev/grid/node-x5-y14 89T 72T 17T 80% +/dev/grid/node-x5-y15 92T 66T 26T 71% +/dev/grid/node-x5-y16 89T 66T 23T 74% +/dev/grid/node-x5-y17 90T 67T 23T 74% +/dev/grid/node-x5-y18 93T 70T 23T 75% +/dev/grid/node-x5-y19 89T 67T 22T 75% +/dev/grid/node-x5-y20 87T 64T 23T 73% +/dev/grid/node-x5-y21 90T 67T 23T 74% +/dev/grid/node-x5-y22 94T 65T 29T 69% +/dev/grid/node-x5-y23 90T 67T 23T 74% +/dev/grid/node-x5-y24 89T 67T 22T 75% +/dev/grid/node-x6-y0 90T 69T 21T 76% +/dev/grid/node-x6-y1 89T 67T 22T 75% +/dev/grid/node-x6-y2 93T 69T 24T 74% +/dev/grid/node-x6-y3 92T 69T 23T 75% +/dev/grid/node-x6-y4 93T 64T 29T 68% +/dev/grid/node-x6-y5 91T 69T 22T 75% +/dev/grid/node-x6-y6 90T 65T 25T 72% +/dev/grid/node-x6-y7 93T 64T 29T 68% +/dev/grid/node-x6-y8 93T 72T 21T 77% +/dev/grid/node-x6-y9 88T 64T 24T 72% +/dev/grid/node-x6-y10 86T 68T 18T 79% +/dev/grid/node-x6-y11 92T 73T 19T 79% +/dev/grid/node-x6-y12 88T 65T 23T 73% +/dev/grid/node-x6-y13 93T 67T 26T 72% +/dev/grid/node-x6-y14 85T 67T 18T 78% +/dev/grid/node-x6-y15 87T 65T 22T 74% +/dev/grid/node-x6-y16 87T 67T 20T 77% +/dev/grid/node-x6-y17 86T 67T 19T 77% +/dev/grid/node-x6-y18 90T 65T 25T 72% +/dev/grid/node-x6-y19 92T 71T 21T 77% +/dev/grid/node-x6-y20 91T 69T 22T 75% +/dev/grid/node-x6-y21 91T 69T 22T 75% +/dev/grid/node-x6-y22 86T 71T 15T 82% +/dev/grid/node-x6-y23 92T 66T 26T 71% +/dev/grid/node-x6-y24 93T 69T 24T 74% +/dev/grid/node-x7-y0 87T 66T 21T 75% +/dev/grid/node-x7-y1 91T 64T 27T 70% +/dev/grid/node-x7-y2 94T 69T 25T 73% +/dev/grid/node-x7-y3 87T 68T 19T 78% +/dev/grid/node-x7-y4 94T 66T 28T 70% +/dev/grid/node-x7-y5 92T 72T 20T 78% +/dev/grid/node-x7-y6 92T 67T 25T 72% +/dev/grid/node-x7-y7 94T 67T 27T 71% +/dev/grid/node-x7-y8 91T 65T 26T 71% +/dev/grid/node-x7-y9 88T 66T 22T 75% +/dev/grid/node-x7-y10 85T 72T 13T 84% +/dev/grid/node-x7-y11 93T 64T 29T 68% +/dev/grid/node-x7-y12 90T 65T 25T 72% +/dev/grid/node-x7-y13 94T 64T 30T 68% +/dev/grid/node-x7-y14 94T 69T 25T 73% +/dev/grid/node-x7-y15 87T 68T 19T 78% +/dev/grid/node-x7-y16 88T 71T 17T 80% +/dev/grid/node-x7-y17 89T 64T 25T 71% +/dev/grid/node-x7-y18 87T 70T 17T 80% +/dev/grid/node-x7-y19 91T 72T 19T 79% +/dev/grid/node-x7-y20 94T 65T 29T 69% +/dev/grid/node-x7-y21 87T 69T 18T 79% +/dev/grid/node-x7-y22 91T 72T 19T 79% +/dev/grid/node-x7-y23 93T 64T 29T 68% +/dev/grid/node-x7-y24 85T 69T 16T 81% +/dev/grid/node-x8-y0 90T 68T 22T 75% +/dev/grid/node-x8-y1 88T 66T 22T 75% +/dev/grid/node-x8-y2 91T 67T 24T 73% +/dev/grid/node-x8-y3 86T 64T 22T 74% +/dev/grid/node-x8-y4 91T 73T 18T 80% +/dev/grid/node-x8-y5 92T 64T 28T 69% +/dev/grid/node-x8-y6 89T 64T 25T 71% +/dev/grid/node-x8-y7 87T 66T 21T 75% +/dev/grid/node-x8-y8 85T 71T 14T 83% +/dev/grid/node-x8-y9 88T 71T 17T 80% +/dev/grid/node-x8-y10 89T 71T 18T 79% +/dev/grid/node-x8-y11 89T 67T 22T 75% +/dev/grid/node-x8-y12 91T 66T 25T 72% +/dev/grid/node-x8-y13 88T 64T 24T 72% +/dev/grid/node-x8-y14 86T 71T 15T 82% +/dev/grid/node-x8-y15 93T 72T 21T 77% +/dev/grid/node-x8-y16 90T 69T 21T 76% +/dev/grid/node-x8-y17 86T 73T 13T 84% +/dev/grid/node-x8-y18 88T 64T 24T 72% +/dev/grid/node-x8-y19 88T 64T 24T 72% +/dev/grid/node-x8-y20 87T 73T 14T 83% +/dev/grid/node-x8-y21 85T 70T 15T 82% +/dev/grid/node-x8-y22 85T 70T 15T 82% +/dev/grid/node-x8-y23 90T 68T 22T 75% +/dev/grid/node-x8-y24 88T 73T 15T 82% +/dev/grid/node-x9-y0 89T 66T 23T 74% +/dev/grid/node-x9-y1 89T 65T 24T 73% +/dev/grid/node-x9-y2 85T 71T 14T 83% +/dev/grid/node-x9-y3 92T 69T 23T 75% +/dev/grid/node-x9-y4 92T 64T 28T 69% +/dev/grid/node-x9-y5 89T 67T 22T 75% +/dev/grid/node-x9-y6 93T 72T 21T 77% +/dev/grid/node-x9-y7 94T 65T 29T 69% +/dev/grid/node-x9-y8 87T 71T 16T 81% +/dev/grid/node-x9-y9 85T 65T 20T 76% +/dev/grid/node-x9-y10 92T 70T 22T 76% +/dev/grid/node-x9-y11 87T 73T 14T 83% +/dev/grid/node-x9-y12 88T 71T 17T 80% +/dev/grid/node-x9-y13 93T 71T 22T 76% +/dev/grid/node-x9-y14 91T 67T 24T 73% +/dev/grid/node-x9-y15 92T 64T 28T 69% +/dev/grid/node-x9-y16 87T 65T 22T 74% +/dev/grid/node-x9-y17 94T 65T 29T 69% +/dev/grid/node-x9-y18 94T 71T 23T 75% +/dev/grid/node-x9-y19 85T 64T 21T 75% +/dev/grid/node-x9-y20 92T 65T 27T 70% +/dev/grid/node-x9-y21 92T 73T 19T 79% +/dev/grid/node-x9-y22 91T 73T 18T 80% +/dev/grid/node-x9-y23 90T 64T 26T 71% +/dev/grid/node-x9-y24 85T 73T 12T 85% +/dev/grid/node-x10-y0 94T 71T 23T 75% +/dev/grid/node-x10-y1 86T 69T 17T 80% +/dev/grid/node-x10-y2 88T 71T 17T 80% +/dev/grid/node-x10-y3 93T 69T 24T 74% +/dev/grid/node-x10-y4 92T 72T 20T 78% +/dev/grid/node-x10-y5 85T 66T 19T 77% +/dev/grid/node-x10-y6 93T 66T 27T 70% +/dev/grid/node-x10-y7 89T 73T 16T 82% +/dev/grid/node-x10-y8 86T 66T 20T 76% +/dev/grid/node-x10-y9 90T 68T 22T 75% +/dev/grid/node-x10-y10 94T 68T 26T 72% +/dev/grid/node-x10-y11 92T 70T 22T 76% +/dev/grid/node-x10-y12 86T 65T 21T 75% +/dev/grid/node-x10-y13 91T 69T 22T 75% +/dev/grid/node-x10-y14 89T 69T 20T 77% +/dev/grid/node-x10-y15 88T 67T 21T 76% +/dev/grid/node-x10-y16 89T 70T 19T 78% +/dev/grid/node-x10-y17 93T 68T 25T 73% +/dev/grid/node-x10-y18 90T 66T 24T 73% +/dev/grid/node-x10-y19 85T 70T 15T 82% +/dev/grid/node-x10-y20 88T 71T 17T 80% +/dev/grid/node-x10-y21 89T 68T 21T 76% +/dev/grid/node-x10-y22 88T 72T 16T 81% +/dev/grid/node-x10-y23 89T 68T 21T 76% +/dev/grid/node-x10-y24 91T 64T 27T 70% +/dev/grid/node-x11-y0 86T 67T 19T 77% +/dev/grid/node-x11-y1 86T 73T 13T 84% +/dev/grid/node-x11-y2 86T 65T 21T 75% +/dev/grid/node-x11-y3 87T 69T 18T 79% +/dev/grid/node-x11-y4 86T 70T 16T 81% +/dev/grid/node-x11-y5 90T 73T 17T 81% +/dev/grid/node-x11-y6 94T 69T 25T 73% +/dev/grid/node-x11-y7 86T 72T 14T 83% +/dev/grid/node-x11-y8 91T 72T 19T 79% +/dev/grid/node-x11-y9 90T 67T 23T 74% +/dev/grid/node-x11-y10 89T 72T 17T 80% +/dev/grid/node-x11-y11 86T 67T 19T 77% +/dev/grid/node-x11-y12 88T 65T 23T 73% +/dev/grid/node-x11-y13 93T 72T 21T 77% +/dev/grid/node-x11-y14 91T 70T 21T 76% +/dev/grid/node-x11-y15 91T 64T 27T 70% +/dev/grid/node-x11-y16 91T 64T 27T 70% +/dev/grid/node-x11-y17 85T 67T 18T 78% +/dev/grid/node-x11-y18 90T 69T 21T 76% +/dev/grid/node-x11-y19 85T 71T 14T 83% +/dev/grid/node-x11-y20 86T 71T 15T 82% +/dev/grid/node-x11-y21 87T 73T 14T 83% +/dev/grid/node-x11-y22 91T 70T 21T 76% +/dev/grid/node-x11-y23 90T 69T 21T 76% +/dev/grid/node-x11-y24 86T 73T 13T 84% +/dev/grid/node-x12-y0 93T 65T 28T 69% +/dev/grid/node-x12-y1 88T 72T 16T 81% +/dev/grid/node-x12-y2 92T 65T 27T 70% +/dev/grid/node-x12-y3 94T 71T 23T 75% +/dev/grid/node-x12-y4 94T 64T 30T 68% +/dev/grid/node-x12-y5 91T 64T 27T 70% +/dev/grid/node-x12-y6 91T 65T 26T 71% +/dev/grid/node-x12-y7 93T 70T 23T 75% +/dev/grid/node-x12-y8 88T 69T 19T 78% +/dev/grid/node-x12-y9 89T 66T 23T 74% +/dev/grid/node-x12-y10 90T 70T 20T 77% +/dev/grid/node-x12-y11 89T 64T 25T 71% +/dev/grid/node-x12-y12 87T 70T 17T 80% +/dev/grid/node-x12-y13 86T 72T 14T 83% +/dev/grid/node-x12-y14 88T 67T 21T 76% +/dev/grid/node-x12-y15 88T 66T 22T 75% +/dev/grid/node-x12-y16 86T 69T 17T 80% +/dev/grid/node-x12-y17 90T 65T 25T 72% +/dev/grid/node-x12-y18 85T 73T 12T 85% +/dev/grid/node-x12-y19 94T 67T 27T 71% +/dev/grid/node-x12-y20 85T 66T 19T 77% +/dev/grid/node-x12-y21 86T 67T 19T 77% +/dev/grid/node-x12-y22 86T 67T 19T 77% +/dev/grid/node-x12-y23 87T 64T 23T 73% +/dev/grid/node-x12-y24 87T 64T 23T 73% +/dev/grid/node-x13-y0 85T 71T 14T 83% +/dev/grid/node-x13-y1 90T 71T 19T 78% +/dev/grid/node-x13-y2 86T 66T 20T 76% +/dev/grid/node-x13-y3 90T 67T 23T 74% +/dev/grid/node-x13-y4 92T 69T 23T 75% +/dev/grid/node-x13-y5 86T 68T 18T 79% +/dev/grid/node-x13-y6 94T 64T 30T 68% +/dev/grid/node-x13-y7 89T 67T 22T 75% +/dev/grid/node-x13-y8 88T 67T 21T 76% +/dev/grid/node-x13-y9 90T 68T 22T 75% +/dev/grid/node-x13-y10 88T 65T 23T 73% +/dev/grid/node-x13-y11 86T 67T 19T 77% +/dev/grid/node-x13-y12 94T 65T 29T 69% +/dev/grid/node-x13-y13 87T 67T 20T 77% +/dev/grid/node-x13-y14 86T 71T 15T 82% +/dev/grid/node-x13-y15 87T 73T 14T 83% +/dev/grid/node-x13-y16 91T 69T 22T 75% +/dev/grid/node-x13-y17 91T 67T 24T 73% +/dev/grid/node-x13-y18 91T 70T 21T 76% +/dev/grid/node-x13-y19 90T 73T 17T 81% +/dev/grid/node-x13-y20 91T 64T 27T 70% +/dev/grid/node-x13-y21 91T 68T 23T 74% +/dev/grid/node-x13-y22 88T 65T 23T 73% +/dev/grid/node-x13-y23 85T 67T 18T 78% +/dev/grid/node-x13-y24 93T 66T 27T 70% +/dev/grid/node-x14-y0 91T 67T 24T 73% +/dev/grid/node-x14-y1 94T 66T 28T 70% +/dev/grid/node-x14-y2 89T 70T 19T 78% +/dev/grid/node-x14-y3 85T 71T 14T 83% +/dev/grid/node-x14-y4 88T 68T 20T 77% +/dev/grid/node-x14-y5 88T 68T 20T 77% +/dev/grid/node-x14-y6 92T 73T 19T 79% +/dev/grid/node-x14-y7 86T 67T 19T 77% +/dev/grid/node-x14-y8 87T 71T 16T 81% +/dev/grid/node-x14-y9 85T 71T 14T 83% +/dev/grid/node-x14-y10 94T 64T 30T 68% +/dev/grid/node-x14-y11 92T 67T 25T 72% +/dev/grid/node-x14-y12 94T 73T 21T 77% +/dev/grid/node-x14-y13 92T 71T 21T 77% +/dev/grid/node-x14-y14 88T 71T 17T 80% +/dev/grid/node-x14-y15 89T 65T 24T 73% +/dev/grid/node-x14-y16 94T 71T 23T 75% +/dev/grid/node-x14-y17 94T 66T 28T 70% +/dev/grid/node-x14-y18 92T 69T 23T 75% +/dev/grid/node-x14-y19 93T 64T 29T 68% +/dev/grid/node-x14-y20 91T 72T 19T 79% +/dev/grid/node-x14-y21 89T 73T 16T 82% +/dev/grid/node-x14-y22 90T 72T 18T 80% +/dev/grid/node-x14-y23 86T 64T 22T 74% +/dev/grid/node-x14-y24 93T 72T 21T 77% +/dev/grid/node-x15-y0 90T 69T 21T 76% +/dev/grid/node-x15-y1 88T 70T 18T 79% +/dev/grid/node-x15-y2 93T 64T 29T 68% +/dev/grid/node-x15-y3 85T 73T 12T 85% +/dev/grid/node-x15-y4 88T 65T 23T 73% +/dev/grid/node-x15-y5 86T 65T 21T 75% +/dev/grid/node-x15-y6 85T 67T 18T 78% +/dev/grid/node-x15-y7 92T 64T 28T 69% +/dev/grid/node-x15-y8 90T 73T 17T 81% +/dev/grid/node-x15-y9 94T 70T 24T 74% +/dev/grid/node-x15-y10 90T 70T 20T 77% +/dev/grid/node-x15-y11 86T 67T 19T 77% +/dev/grid/node-x15-y12 86T 73T 13T 84% +/dev/grid/node-x15-y13 94T 73T 21T 77% +/dev/grid/node-x15-y14 85T 71T 14T 83% +/dev/grid/node-x15-y15 86T 70T 16T 81% +/dev/grid/node-x15-y16 87T 68T 19T 78% +/dev/grid/node-x15-y17 92T 68T 24T 73% +/dev/grid/node-x15-y18 86T 65T 21T 75% +/dev/grid/node-x15-y19 89T 65T 24T 73% +/dev/grid/node-x15-y20 89T 72T 17T 80% +/dev/grid/node-x15-y21 85T 72T 13T 84% +/dev/grid/node-x15-y22 89T 71T 18T 79% +/dev/grid/node-x15-y23 87T 72T 15T 82% +/dev/grid/node-x15-y24 85T 69T 16T 81% +/dev/grid/node-x16-y0 92T 68T 24T 73% +/dev/grid/node-x16-y1 90T 68T 22T 75% +/dev/grid/node-x16-y2 86T 66T 20T 76% +/dev/grid/node-x16-y3 89T 71T 18T 79% +/dev/grid/node-x16-y4 87T 71T 16T 81% +/dev/grid/node-x16-y5 88T 65T 23T 73% +/dev/grid/node-x16-y6 92T 72T 20T 78% +/dev/grid/node-x16-y7 88T 64T 24T 72% +/dev/grid/node-x16-y8 89T 68T 21T 76% +/dev/grid/node-x16-y9 85T 72T 13T 84% +/dev/grid/node-x16-y10 94T 67T 27T 71% +/dev/grid/node-x16-y11 85T 68T 17T 80% +/dev/grid/node-x16-y12 92T 70T 22T 76% +/dev/grid/node-x16-y13 94T 70T 24T 74% +/dev/grid/node-x16-y14 94T 72T 22T 76% +/dev/grid/node-x16-y15 89T 72T 17T 80% +/dev/grid/node-x16-y16 88T 66T 22T 75% +/dev/grid/node-x16-y17 90T 70T 20T 77% +/dev/grid/node-x16-y18 91T 67T 24T 73% +/dev/grid/node-x16-y19 88T 73T 15T 82% +/dev/grid/node-x16-y20 86T 66T 20T 76% +/dev/grid/node-x16-y21 90T 67T 23T 74% +/dev/grid/node-x16-y22 94T 71T 23T 75% +/dev/grid/node-x16-y23 85T 71T 14T 83% +/dev/grid/node-x16-y24 87T 68T 19T 78% +/dev/grid/node-x17-y0 91T 69T 22T 75% +/dev/grid/node-x17-y1 85T 68T 17T 80% +/dev/grid/node-x17-y2 89T 69T 20T 77% +/dev/grid/node-x17-y3 91T 68T 23T 74% +/dev/grid/node-x17-y4 87T 69T 18T 79% +/dev/grid/node-x17-y5 92T 70T 22T 76% +/dev/grid/node-x17-y6 85T 67T 18T 78% +/dev/grid/node-x17-y7 92T 72T 20T 78% +/dev/grid/node-x17-y8 92T 65T 27T 70% +/dev/grid/node-x17-y9 92T 67T 25T 72% +/dev/grid/node-x17-y10 86T 69T 17T 80% +/dev/grid/node-x17-y11 94T 70T 24T 74% +/dev/grid/node-x17-y12 94T 69T 25T 73% +/dev/grid/node-x17-y13 94T 73T 21T 77% +/dev/grid/node-x17-y14 87T 73T 14T 83% +/dev/grid/node-x17-y15 86T 67T 19T 77% +/dev/grid/node-x17-y16 85T 68T 17T 80% +/dev/grid/node-x17-y17 87T 71T 16T 81% +/dev/grid/node-x17-y18 89T 64T 25T 71% +/dev/grid/node-x17-y19 88T 70T 18T 79% +/dev/grid/node-x17-y20 86T 65T 21T 75% +/dev/grid/node-x17-y21 86T 64T 22T 74% +/dev/grid/node-x17-y22 93T 70T 23T 75% +/dev/grid/node-x17-y23 86T 66T 20T 76% +/dev/grid/node-x17-y24 89T 66T 23T 74% +/dev/grid/node-x18-y0 91T 73T 18T 80% +/dev/grid/node-x18-y1 90T 73T 17T 81% +/dev/grid/node-x18-y2 94T 68T 26T 72% +/dev/grid/node-x18-y3 85T 71T 14T 83% +/dev/grid/node-x18-y4 94T 73T 21T 77% +/dev/grid/node-x18-y5 93T 65T 28T 69% +/dev/grid/node-x18-y6 91T 70T 21T 76% +/dev/grid/node-x18-y7 86T 68T 18T 79% +/dev/grid/node-x18-y8 94T 68T 26T 72% +/dev/grid/node-x18-y9 85T 67T 18T 78% +/dev/grid/node-x18-y10 89T 70T 19T 78% +/dev/grid/node-x18-y11 90T 68T 22T 75% +/dev/grid/node-x18-y12 89T 67T 22T 75% +/dev/grid/node-x18-y13 92T 64T 28T 69% +/dev/grid/node-x18-y14 93T 65T 28T 69% +/dev/grid/node-x18-y15 89T 65T 24T 73% +/dev/grid/node-x18-y16 92T 66T 26T 71% +/dev/grid/node-x18-y17 86T 64T 22T 74% +/dev/grid/node-x18-y18 91T 68T 23T 74% +/dev/grid/node-x18-y19 85T 73T 12T 85% +/dev/grid/node-x18-y20 91T 67T 24T 73% +/dev/grid/node-x18-y21 90T 73T 17T 81% +/dev/grid/node-x18-y22 89T 68T 21T 76% +/dev/grid/node-x18-y23 88T 68T 20T 77% +/dev/grid/node-x18-y24 92T 67T 25T 72% +/dev/grid/node-x19-y0 92T 67T 25T 72% +/dev/grid/node-x19-y1 90T 64T 26T 71% +/dev/grid/node-x19-y2 92T 72T 20T 78% +/dev/grid/node-x19-y3 94T 64T 30T 68% +/dev/grid/node-x19-y4 89T 70T 19T 78% +/dev/grid/node-x19-y5 90T 66T 24T 73% +/dev/grid/node-x19-y6 86T 67T 19T 77% +/dev/grid/node-x19-y7 88T 72T 16T 81% +/dev/grid/node-x19-y8 94T 69T 25T 73% +/dev/grid/node-x19-y9 87T 65T 22T 74% +/dev/grid/node-x19-y10 90T 67T 23T 74% +/dev/grid/node-x19-y11 90T 64T 26T 71% +/dev/grid/node-x19-y12 89T 72T 17T 80% +/dev/grid/node-x19-y13 88T 66T 22T 75% +/dev/grid/node-x19-y14 85T 68T 17T 80% +/dev/grid/node-x19-y15 92T 73T 19T 79% +/dev/grid/node-x19-y16 93T 71T 22T 76% +/dev/grid/node-x19-y17 85T 70T 15T 82% +/dev/grid/node-x19-y18 91T 64T 27T 70% +/dev/grid/node-x19-y19 88T 68T 20T 77% +/dev/grid/node-x19-y20 90T 71T 19T 78% +/dev/grid/node-x19-y21 94T 67T 27T 71% +/dev/grid/node-x19-y22 87T 72T 15T 82% +/dev/grid/node-x19-y23 89T 68T 21T 76% +/dev/grid/node-x19-y24 93T 64T 29T 68% +/dev/grid/node-x20-y0 92T 68T 24T 73% +/dev/grid/node-x20-y1 89T 73T 16T 82% +/dev/grid/node-x20-y2 93T 64T 29T 68% +/dev/grid/node-x20-y3 90T 72T 18T 80% +/dev/grid/node-x20-y4 91T 64T 27T 70% +/dev/grid/node-x20-y5 90T 73T 17T 81% +/dev/grid/node-x20-y6 94T 69T 25T 73% +/dev/grid/node-x20-y7 88T 66T 22T 75% +/dev/grid/node-x20-y8 89T 68T 21T 76% +/dev/grid/node-x20-y9 91T 71T 20T 78% +/dev/grid/node-x20-y10 91T 67T 24T 73% +/dev/grid/node-x20-y11 94T 64T 30T 68% +/dev/grid/node-x20-y12 90T 71T 19T 78% +/dev/grid/node-x20-y13 88T 72T 16T 81% +/dev/grid/node-x20-y14 86T 70T 16T 81% +/dev/grid/node-x20-y15 89T 65T 24T 73% +/dev/grid/node-x20-y16 85T 67T 18T 78% +/dev/grid/node-x20-y17 92T 65T 27T 70% +/dev/grid/node-x20-y18 91T 67T 24T 73% +/dev/grid/node-x20-y19 86T 71T 15T 82% +/dev/grid/node-x20-y20 91T 70T 21T 76% +/dev/grid/node-x20-y21 85T 71T 14T 83% +/dev/grid/node-x20-y22 91T 70T 21T 76% +/dev/grid/node-x20-y23 93T 70T 23T 75% +/dev/grid/node-x20-y24 93T 66T 27T 70% +/dev/grid/node-x21-y0 87T 65T 22T 74% +/dev/grid/node-x21-y1 85T 65T 20T 76% +/dev/grid/node-x21-y2 92T 72T 20T 78% +/dev/grid/node-x21-y3 88T 68T 20T 77% +/dev/grid/node-x21-y4 87T 67T 20T 77% +/dev/grid/node-x21-y5 93T 68T 25T 73% +/dev/grid/node-x21-y6 93T 70T 23T 75% +/dev/grid/node-x21-y7 92T 65T 27T 70% +/dev/grid/node-x21-y8 91T 70T 21T 76% +/dev/grid/node-x21-y9 89T 64T 25T 71% +/dev/grid/node-x21-y10 87T 67T 20T 77% +/dev/grid/node-x21-y11 504T 496T 8T 98% +/dev/grid/node-x21-y12 88T 70T 18T 79% +/dev/grid/node-x21-y13 86T 70T 16T 81% +/dev/grid/node-x21-y14 92T 66T 26T 71% +/dev/grid/node-x21-y15 93T 64T 29T 68% +/dev/grid/node-x21-y16 93T 71T 22T 76% +/dev/grid/node-x21-y17 94T 65T 29T 69% +/dev/grid/node-x21-y18 87T 70T 17T 80% +/dev/grid/node-x21-y19 85T 64T 21T 75% +/dev/grid/node-x21-y20 86T 70T 16T 81% +/dev/grid/node-x21-y21 93T 66T 27T 70% +/dev/grid/node-x21-y22 92T 70T 22T 76% +/dev/grid/node-x21-y23 94T 68T 26T 72% +/dev/grid/node-x21-y24 90T 73T 17T 81% +/dev/grid/node-x22-y0 93T 72T 21T 77% +/dev/grid/node-x22-y1 91T 70T 21T 76% +/dev/grid/node-x22-y2 94T 64T 30T 68% +/dev/grid/node-x22-y3 92T 67T 25T 72% +/dev/grid/node-x22-y4 87T 68T 19T 78% +/dev/grid/node-x22-y5 87T 67T 20T 77% +/dev/grid/node-x22-y6 92T 69T 23T 75% +/dev/grid/node-x22-y7 85T 67T 18T 78% +/dev/grid/node-x22-y8 94T 73T 21T 77% +/dev/grid/node-x22-y9 89T 65T 24T 73% +/dev/grid/node-x22-y10 94T 68T 26T 72% +/dev/grid/node-x22-y11 508T 492T 16T 96% +/dev/grid/node-x22-y12 92T 70T 22T 76% +/dev/grid/node-x22-y13 88T 69T 19T 78% +/dev/grid/node-x22-y14 90T 65T 25T 72% +/dev/grid/node-x22-y15 91T 65T 26T 71% +/dev/grid/node-x22-y16 90T 73T 17T 81% +/dev/grid/node-x22-y17 93T 72T 21T 77% +/dev/grid/node-x22-y18 92T 65T 27T 70% +/dev/grid/node-x22-y19 89T 70T 19T 78% +/dev/grid/node-x22-y20 89T 69T 20T 77% +/dev/grid/node-x22-y21 91T 71T 20T 78% +/dev/grid/node-x22-y22 88T 73T 15T 82% +/dev/grid/node-x22-y23 88T 65T 23T 73% +/dev/grid/node-x22-y24 91T 72T 19T 79% +/dev/grid/node-x23-y0 92T 64T 28T 69% +/dev/grid/node-x23-y1 85T 72T 13T 84% +/dev/grid/node-x23-y2 89T 70T 19T 78% +/dev/grid/node-x23-y3 85T 70T 15T 82% +/dev/grid/node-x23-y4 94T 64T 30T 68% +/dev/grid/node-x23-y5 89T 67T 22T 75% +/dev/grid/node-x23-y6 89T 71T 18T 79% +/dev/grid/node-x23-y7 85T 64T 21T 75% +/dev/grid/node-x23-y8 90T 66T 24T 73% +/dev/grid/node-x23-y9 85T 67T 18T 78% +/dev/grid/node-x23-y10 85T 71T 14T 83% +/dev/grid/node-x23-y11 509T 491T 18T 96% +/dev/grid/node-x23-y12 89T 66T 23T 74% +/dev/grid/node-x23-y13 90T 64T 26T 71% +/dev/grid/node-x23-y14 91T 65T 26T 71% +/dev/grid/node-x23-y15 85T 68T 17T 80% +/dev/grid/node-x23-y16 86T 73T 13T 84% +/dev/grid/node-x23-y17 89T 65T 24T 73% +/dev/grid/node-x23-y18 92T 71T 21T 77% +/dev/grid/node-x23-y19 86T 73T 13T 84% +/dev/grid/node-x23-y20 94T 71T 23T 75% +/dev/grid/node-x23-y21 85T 69T 16T 81% +/dev/grid/node-x23-y22 85T 71T 14T 83% +/dev/grid/node-x23-y23 94T 70T 24T 74% +/dev/grid/node-x23-y24 90T 70T 20T 77% +/dev/grid/node-x24-y0 89T 71T 18T 79% +/dev/grid/node-x24-y1 88T 70T 18T 79% +/dev/grid/node-x24-y2 87T 73T 14T 83% +/dev/grid/node-x24-y3 90T 64T 26T 71% +/dev/grid/node-x24-y4 86T 71T 15T 82% +/dev/grid/node-x24-y5 85T 72T 13T 84% +/dev/grid/node-x24-y6 86T 71T 15T 82% +/dev/grid/node-x24-y7 92T 67T 25T 72% +/dev/grid/node-x24-y8 85T 71T 14T 83% +/dev/grid/node-x24-y9 90T 71T 19T 78% +/dev/grid/node-x24-y10 90T 67T 23T 74% +/dev/grid/node-x24-y11 503T 492T 11T 97% +/dev/grid/node-x24-y12 86T 65T 21T 75% +/dev/grid/node-x24-y13 87T 65T 22T 74% +/dev/grid/node-x24-y14 93T 70T 23T 75% +/dev/grid/node-x24-y15 87T 73T 14T 83% +/dev/grid/node-x24-y16 88T 66T 22T 75% +/dev/grid/node-x24-y17 85T 72T 13T 84% +/dev/grid/node-x24-y18 90T 69T 21T 76% +/dev/grid/node-x24-y19 89T 70T 19T 78% +/dev/grid/node-x24-y20 91T 72T 19T 79% +/dev/grid/node-x24-y21 87T 73T 14T 83% +/dev/grid/node-x24-y22 94T 64T 30T 68% +/dev/grid/node-x24-y23 88T 72T 16T 81% +/dev/grid/node-x24-y24 86T 65T 21T 75% +/dev/grid/node-x25-y0 90T 69T 21T 76% +/dev/grid/node-x25-y1 92T 68T 24T 73% +/dev/grid/node-x25-y2 88T 65T 23T 73% +/dev/grid/node-x25-y3 86T 67T 19T 77% +/dev/grid/node-x25-y4 86T 67T 19T 77% +/dev/grid/node-x25-y5 86T 68T 18T 79% +/dev/grid/node-x25-y6 88T 65T 23T 73% +/dev/grid/node-x25-y7 85T 66T 19T 77% +/dev/grid/node-x25-y8 89T 65T 24T 73% +/dev/grid/node-x25-y9 92T 66T 26T 71% +/dev/grid/node-x25-y10 94T 71T 23T 75% +/dev/grid/node-x25-y11 503T 491T 12T 97% +/dev/grid/node-x25-y12 90T 70T 20T 77% +/dev/grid/node-x25-y13 94T 65T 29T 69% +/dev/grid/node-x25-y14 92T 66T 26T 71% +/dev/grid/node-x25-y15 89T 65T 24T 73% +/dev/grid/node-x25-y16 85T 67T 18T 78% +/dev/grid/node-x25-y17 91T 67T 24T 73% +/dev/grid/node-x25-y18 92T 66T 26T 71% +/dev/grid/node-x25-y19 89T 73T 16T 82% +/dev/grid/node-x25-y20 93T 70T 23T 75% +/dev/grid/node-x25-y21 94T 73T 21T 77% +/dev/grid/node-x25-y22 93T 73T 20T 78% +/dev/grid/node-x25-y23 89T 66T 23T 74% +/dev/grid/node-x25-y24 86T 70T 16T 81% +/dev/grid/node-x26-y0 90T 64T 26T 71% +/dev/grid/node-x26-y1 92T 69T 23T 75% +/dev/grid/node-x26-y2 93T 69T 24T 74% +/dev/grid/node-x26-y3 85T 69T 16T 81% +/dev/grid/node-x26-y4 91T 65T 26T 71% +/dev/grid/node-x26-y5 93T 71T 22T 76% +/dev/grid/node-x26-y6 85T 72T 13T 84% +/dev/grid/node-x26-y7 94T 71T 23T 75% +/dev/grid/node-x26-y8 94T 68T 26T 72% +/dev/grid/node-x26-y9 90T 65T 25T 72% +/dev/grid/node-x26-y10 86T 69T 17T 80% +/dev/grid/node-x26-y11 508T 496T 12T 97% +/dev/grid/node-x26-y12 89T 65T 24T 73% +/dev/grid/node-x26-y13 91T 72T 19T 79% +/dev/grid/node-x26-y14 91T 67T 24T 73% +/dev/grid/node-x26-y15 87T 72T 15T 82% +/dev/grid/node-x26-y16 90T 64T 26T 71% +/dev/grid/node-x26-y17 93T 66T 27T 70% +/dev/grid/node-x26-y18 93T 73T 20T 78% +/dev/grid/node-x26-y19 91T 73T 18T 80% +/dev/grid/node-x26-y20 86T 65T 21T 75% +/dev/grid/node-x26-y21 94T 64T 30T 68% +/dev/grid/node-x26-y22 91T 65T 26T 71% +/dev/grid/node-x26-y23 89T 69T 20T 77% +/dev/grid/node-x26-y24 87T 65T 22T 74% +/dev/grid/node-x27-y0 94T 69T 25T 73% +/dev/grid/node-x27-y1 94T 73T 21T 77% +/dev/grid/node-x27-y2 91T 67T 24T 73% +/dev/grid/node-x27-y3 93T 73T 20T 78% +/dev/grid/node-x27-y4 85T 69T 16T 81% +/dev/grid/node-x27-y5 85T 67T 18T 78% +/dev/grid/node-x27-y6 87T 73T 14T 83% +/dev/grid/node-x27-y7 90T 66T 24T 73% +/dev/grid/node-x27-y8 94T 68T 26T 72% +/dev/grid/node-x27-y9 92T 66T 26T 71% +/dev/grid/node-x27-y10 94T 70T 24T 74% +/dev/grid/node-x27-y11 501T 494T 7T 98% +/dev/grid/node-x27-y12 87T 64T 23T 73% +/dev/grid/node-x27-y13 92T 72T 20T 78% +/dev/grid/node-x27-y14 90T 0T 90T 0% +/dev/grid/node-x27-y15 86T 71T 15T 82% +/dev/grid/node-x27-y16 85T 66T 19T 77% +/dev/grid/node-x27-y17 87T 68T 19T 78% +/dev/grid/node-x27-y18 89T 71T 18T 79% +/dev/grid/node-x27-y19 94T 72T 22T 76% +/dev/grid/node-x27-y20 85T 67T 18T 78% +/dev/grid/node-x27-y21 91T 69T 22T 75% +/dev/grid/node-x27-y22 87T 69T 18T 79% +/dev/grid/node-x27-y23 91T 65T 26T 71% +/dev/grid/node-x27-y24 92T 69T 23T 75% +/dev/grid/node-x28-y0 88T 71T 17T 80% +/dev/grid/node-x28-y1 88T 69T 19T 78% +/dev/grid/node-x28-y2 85T 68T 17T 80% +/dev/grid/node-x28-y3 89T 73T 16T 82% +/dev/grid/node-x28-y4 86T 67T 19T 77% +/dev/grid/node-x28-y5 89T 73T 16T 82% +/dev/grid/node-x28-y6 91T 69T 22T 75% +/dev/grid/node-x28-y7 88T 66T 22T 75% +/dev/grid/node-x28-y8 93T 64T 29T 68% +/dev/grid/node-x28-y9 89T 73T 16T 82% +/dev/grid/node-x28-y10 89T 69T 20T 77% +/dev/grid/node-x28-y11 505T 493T 12T 97% +/dev/grid/node-x28-y12 88T 67T 21T 76% +/dev/grid/node-x28-y13 92T 69T 23T 75% +/dev/grid/node-x28-y14 85T 65T 20T 76% +/dev/grid/node-x28-y15 92T 70T 22T 76% +/dev/grid/node-x28-y16 86T 68T 18T 79% +/dev/grid/node-x28-y17 88T 72T 16T 81% +/dev/grid/node-x28-y18 87T 72T 15T 82% +/dev/grid/node-x28-y19 85T 66T 19T 77% +/dev/grid/node-x28-y20 90T 72T 18T 80% +/dev/grid/node-x28-y21 86T 70T 16T 81% +/dev/grid/node-x28-y22 88T 69T 19T 78% +/dev/grid/node-x28-y23 93T 64T 29T 68% +/dev/grid/node-x28-y24 90T 67T 23T 74% +/dev/grid/node-x29-y0 91T 68T 23T 74% +/dev/grid/node-x29-y1 89T 67T 22T 75% +/dev/grid/node-x29-y2 86T 66T 20T 76% +/dev/grid/node-x29-y3 92T 66T 26T 71% +/dev/grid/node-x29-y4 88T 71T 17T 80% +/dev/grid/node-x29-y5 89T 72T 17T 80% +/dev/grid/node-x29-y6 92T 67T 25T 72% +/dev/grid/node-x29-y7 89T 64T 25T 71% +/dev/grid/node-x29-y8 91T 68T 23T 74% +/dev/grid/node-x29-y9 86T 73T 13T 84% +/dev/grid/node-x29-y10 85T 67T 18T 78% +/dev/grid/node-x29-y11 510T 497T 13T 97% +/dev/grid/node-x29-y12 86T 70T 16T 81% +/dev/grid/node-x29-y13 90T 69T 21T 76% +/dev/grid/node-x29-y14 85T 67T 18T 78% +/dev/grid/node-x29-y15 90T 71T 19T 78% +/dev/grid/node-x29-y16 94T 66T 28T 70% +/dev/grid/node-x29-y17 93T 69T 24T 74% +/dev/grid/node-x29-y18 90T 67T 23T 74% +/dev/grid/node-x29-y19 90T 69T 21T 76% +/dev/grid/node-x29-y20 89T 68T 21T 76% +/dev/grid/node-x29-y21 92T 71T 21T 77% +/dev/grid/node-x29-y22 94T 68T 26T 72% +/dev/grid/node-x29-y23 87T 64T 23T 73% +/dev/grid/node-x29-y24 91T 65T 26T 71% +/dev/grid/node-x30-y0 88T 70T 18T 79% +/dev/grid/node-x30-y1 94T 71T 23T 75% +/dev/grid/node-x30-y2 94T 65T 29T 69% +/dev/grid/node-x30-y3 93T 66T 27T 70% +/dev/grid/node-x30-y4 85T 73T 12T 85% +/dev/grid/node-x30-y5 90T 66T 24T 73% +/dev/grid/node-x30-y6 91T 69T 22T 75% +/dev/grid/node-x30-y7 88T 69T 19T 78% +/dev/grid/node-x30-y8 93T 68T 25T 73% +/dev/grid/node-x30-y9 89T 64T 25T 71% +/dev/grid/node-x30-y10 87T 66T 21T 75% +/dev/grid/node-x30-y11 501T 490T 11T 97% +/dev/grid/node-x30-y12 90T 69T 21T 76% +/dev/grid/node-x30-y13 91T 71T 20T 78% +/dev/grid/node-x30-y14 91T 73T 18T 80% +/dev/grid/node-x30-y15 87T 73T 14T 83% +/dev/grid/node-x30-y16 88T 72T 16T 81% +/dev/grid/node-x30-y17 90T 65T 25T 72% +/dev/grid/node-x30-y18 89T 73T 16T 82% +/dev/grid/node-x30-y19 89T 66T 23T 74% +/dev/grid/node-x30-y20 91T 71T 20T 78% +/dev/grid/node-x30-y21 92T 68T 24T 73% +/dev/grid/node-x30-y22 94T 71T 23T 75% +/dev/grid/node-x30-y23 91T 72T 19T 79% +/dev/grid/node-x30-y24 88T 67T 21T 76% +/dev/grid/node-x31-y0 93T 73T 20T 78% +/dev/grid/node-x31-y1 89T 64T 25T 71% +/dev/grid/node-x31-y2 90T 67T 23T 74% +/dev/grid/node-x31-y3 86T 67T 19T 77% +/dev/grid/node-x31-y4 89T 68T 21T 76% +/dev/grid/node-x31-y5 91T 70T 21T 76% +/dev/grid/node-x31-y6 91T 69T 22T 75% +/dev/grid/node-x31-y7 90T 71T 19T 78% +/dev/grid/node-x31-y8 93T 72T 21T 77% +/dev/grid/node-x31-y9 87T 65T 22T 74% +/dev/grid/node-x31-y10 90T 65T 25T 72% +/dev/grid/node-x31-y11 506T 494T 12T 97% +/dev/grid/node-x31-y12 89T 70T 19T 78% +/dev/grid/node-x31-y13 93T 65T 28T 69% +/dev/grid/node-x31-y14 93T 65T 28T 69% +/dev/grid/node-x31-y15 90T 72T 18T 80% +/dev/grid/node-x31-y16 87T 71T 16T 81% +/dev/grid/node-x31-y17 89T 65T 24T 73% +/dev/grid/node-x31-y18 86T 68T 18T 79% +/dev/grid/node-x31-y19 87T 73T 14T 83% +/dev/grid/node-x31-y20 85T 73T 12T 85% +/dev/grid/node-x31-y21 86T 72T 14T 83% +/dev/grid/node-x31-y22 94T 65T 29T 69% +/dev/grid/node-x31-y23 91T 68T 23T 74% +/dev/grid/node-x31-y24 87T 68T 19T 78% +/dev/grid/node-x32-y0 92T 67T 25T 72% +/dev/grid/node-x32-y1 85T 69T 16T 81% +/dev/grid/node-x32-y2 92T 72T 20T 78% +/dev/grid/node-x32-y3 92T 68T 24T 73% +/dev/grid/node-x32-y4 85T 69T 16T 81% +/dev/grid/node-x32-y5 85T 69T 16T 81% +/dev/grid/node-x32-y6 85T 72T 13T 84% +/dev/grid/node-x32-y7 86T 66T 20T 76% +/dev/grid/node-x32-y8 85T 69T 16T 81% +/dev/grid/node-x32-y9 92T 64T 28T 69% +/dev/grid/node-x32-y10 86T 64T 22T 74% +/dev/grid/node-x32-y11 508T 491T 17T 96% +/dev/grid/node-x32-y12 89T 66T 23T 74% +/dev/grid/node-x32-y13 89T 73T 16T 82% +/dev/grid/node-x32-y14 94T 70T 24T 74% +/dev/grid/node-x32-y15 93T 68T 25T 73% +/dev/grid/node-x32-y16 88T 73T 15T 82% +/dev/grid/node-x32-y17 87T 66T 21T 75% +/dev/grid/node-x32-y18 85T 73T 12T 85% +/dev/grid/node-x32-y19 94T 64T 30T 68% +/dev/grid/node-x32-y20 86T 73T 13T 84% +/dev/grid/node-x32-y21 93T 72T 21T 77% +/dev/grid/node-x32-y22 93T 67T 26T 72% +/dev/grid/node-x32-y23 94T 65T 29T 69% +/dev/grid/node-x32-y24 85T 71T 14T 83% +/dev/grid/node-x33-y0 88T 67T 21T 76% +/dev/grid/node-x33-y1 90T 69T 21T 76% +/dev/grid/node-x33-y2 85T 68T 17T 80% +/dev/grid/node-x33-y3 87T 73T 14T 83% +/dev/grid/node-x33-y4 93T 66T 27T 70% +/dev/grid/node-x33-y5 88T 68T 20T 77% +/dev/grid/node-x33-y6 85T 67T 18T 78% +/dev/grid/node-x33-y7 86T 69T 17T 80% +/dev/grid/node-x33-y8 86T 65T 21T 75% +/dev/grid/node-x33-y9 93T 68T 25T 73% +/dev/grid/node-x33-y10 85T 70T 15T 82% +/dev/grid/node-x33-y11 507T 491T 16T 96% +/dev/grid/node-x33-y12 91T 73T 18T 80% +/dev/grid/node-x33-y13 89T 72T 17T 80% +/dev/grid/node-x33-y14 94T 71T 23T 75% +/dev/grid/node-x33-y15 86T 66T 20T 76% +/dev/grid/node-x33-y16 86T 70T 16T 81% +/dev/grid/node-x33-y17 87T 69T 18T 79% +/dev/grid/node-x33-y18 89T 64T 25T 71% +/dev/grid/node-x33-y19 92T 67T 25T 72% +/dev/grid/node-x33-y20 86T 71T 15T 82% +/dev/grid/node-x33-y21 90T 70T 20T 77% +/dev/grid/node-x33-y22 86T 65T 21T 75% +/dev/grid/node-x33-y23 92T 70T 22T 76% +/dev/grid/node-x33-y24 92T 64T 28T 69% +/dev/grid/node-x34-y0 88T 69T 19T 78% +/dev/grid/node-x34-y1 93T 67T 26T 72% +/dev/grid/node-x34-y2 88T 65T 23T 73% +/dev/grid/node-x34-y3 90T 71T 19T 78% +/dev/grid/node-x34-y4 90T 67T 23T 74% +/dev/grid/node-x34-y5 85T 70T 15T 82% +/dev/grid/node-x34-y6 87T 72T 15T 82% +/dev/grid/node-x34-y7 92T 66T 26T 71% +/dev/grid/node-x34-y8 93T 65T 28T 69% +/dev/grid/node-x34-y9 90T 73T 17T 81% +/dev/grid/node-x34-y10 90T 64T 26T 71% +/dev/grid/node-x34-y11 504T 496T 8T 98% +/dev/grid/node-x34-y12 87T 73T 14T 83% +/dev/grid/node-x34-y13 92T 67T 25T 72% +/dev/grid/node-x34-y14 90T 70T 20T 77% +/dev/grid/node-x34-y15 88T 68T 20T 77% +/dev/grid/node-x34-y16 87T 73T 14T 83% +/dev/grid/node-x34-y17 90T 65T 25T 72% +/dev/grid/node-x34-y18 90T 73T 17T 81% +/dev/grid/node-x34-y19 91T 73T 18T 80% +/dev/grid/node-x34-y20 92T 72T 20T 78% +/dev/grid/node-x34-y21 85T 66T 19T 77% +/dev/grid/node-x34-y22 94T 66T 28T 70% +/dev/grid/node-x34-y23 87T 64T 23T 73% +/dev/grid/node-x34-y24 92T 71T 21T 77% From 2cecebac87ee8b3b444168950ce1644a08490f8f Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 00:51:59 +0100 Subject: [PATCH 088/100] 2016: d22: ex2: add solution --- 2016/d22/ex2/ex2.py | 101 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100755 2016/d22/ex2/ex2.py diff --git a/2016/d22/ex2/ex2.py b/2016/d22/ex2/ex2.py new file mode 100755 index 0000000..1249ba3 --- /dev/null +++ b/2016/d22/ex2/ex2.py @@ -0,0 +1,101 @@ +#!/usr/bin/env python + +import heapq +import sys +from collections.abc import Iterable +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +class Filesystem(NamedTuple): + size: int + used: int + + @property + def avail(self) -> int: + return self.size - self.used + + +def solve(input: str) -> int: + def parse_line(input: str) -> tuple[Point, Filesystem]: + raw_fs, raw_size, raw_used, raw_avail, _ = input.split() + size = int(raw_size.removesuffix("T")) + used = int(raw_used.removesuffix("T")) + avail = int(raw_avail.removesuffix("T")) + assert size == (used + avail) # Sanity check + *_, x, y = raw_fs.split("-") + return Point(int(x[1:]), int(y[1:])), Filesystem(size, used) + + def parse(input: str) -> dict[Point, Filesystem]: + return {node: fs for node, fs in map(parse_line, input.splitlines()[2:])} + + def neighbours(p: Point) -> Iterable[Point]: + for dx, dy in ( + (-1, 0), + (1, 0), + (0, -1), + (0, 1), + ): + yield Point(p.x + dx, p.y + dy) + + def dijkstra(start: Point, end: Point, points: set[Point]) -> int: + # Priority queue of (distance, point) + queue = [(0, start)] + seen: set[Point] = set() + + while len(queue) > 0: + dist, p = heapq.heappop(queue) + if p == end: + return dist + # We must have seen p with a smaller distance before + if p in seen: + continue + # First time encountering p, must be the smallest distance to it + seen.add(p) + # Add all neighbours to be visited + for n in neighbours(p): + if n not in points: + continue + heapq.heappush(queue, (dist + 1, n)) + + assert False # Sanity check + + def dist(p: Point, other: Point) -> int: + return abs(p.x - other.x) + abs(p.y - other.y) + + def has_angle(p: Point, other: Point) -> int: + return p.x != other.x and p.y != other.y + + def data_migration(start: Point, end: Point) -> int: + # Moving the data once is a 5 step move, unless it is on an angle, where it is 3 + # Assumes there's no wall between either points + return 5 * dist(start, end) - 2 * has_angle(start, end) + + df = parse(input) + # The data moves from the goal to us, hence `start` and `end` are "reversed" + start = max(p for p in df.keys() if p.y == 0) + end = Point(0, 0) + # The "hole" must be used to migrate the data to us + hole = next(p for p, fs in df.items() if fs.used == 0) + # The "walls" are nodes which are too big to move, effectively blocking us + walls = {p for p, fs in df.items() if fs.used > df[hole].avail} + accessible = df.keys() - walls + + return min( + dijkstra(hole, n, accessible) + 1 + data_migration(n, end) + for n in neighbours(start) + if n in accessible + ) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 526cb9d2e6da95861b065c29aaf0cdbbd064f67e Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 01:17:08 +0100 Subject: [PATCH 089/100] 2016: d23: ex1: add input --- 2016/d23/ex1/input | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 2016/d23/ex1/input diff --git a/2016/d23/ex1/input b/2016/d23/ex1/input new file mode 100644 index 0000000..74d33e1 --- /dev/null +++ b/2016/d23/ex1/input @@ -0,0 +1,26 @@ +cpy a b +dec b +cpy a d +cpy 0 a +cpy b c +inc a +dec c +jnz c -2 +dec d +jnz d -5 +dec b +cpy b c +cpy c d +dec d +inc c +jnz d -2 +tgl c +cpy -16 c +jnz 1 c +cpy 95 c +jnz 95 d +inc a +inc d +jnz d -2 +inc c +jnz c -5 From 7d9f0ae27f52ddb95c0868f0b4b878a6f79d6852 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 01:17:19 +0100 Subject: [PATCH 090/100] 2016: d23: ex1: add solution --- 2016/d23/ex1/ex1.py | 87 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100755 2016/d23/ex1/ex1.py diff --git a/2016/d23/ex1/ex1.py b/2016/d23/ex1/ex1.py new file mode 100755 index 0000000..80f79fb --- /dev/null +++ b/2016/d23/ex1/ex1.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python + +import collections +import enum +import sys +from typing import NamedTuple + + +class Op(enum.StrEnum): + CPY = "cpy" + INC = "inc" + DEC = "dec" + JNZ = "jnz" + TGL = "tgl" + + +class Instruction(NamedTuple): + op: Op + x: str + y: str | None = None + + @classmethod + def from_str(cls, input: str) -> "Instruction": + op, *rest = input.split() + return cls(Op(op), *rest) + + def toggle(self) -> "Instruction": + if self.y is None: + op = Op.DEC if self.op == Op.INC else Op.INC + else: + op = Op.CPY if self.op == Op.JNZ else Op.JNZ + return Instruction(op, self.x, self.y) + + +def solve(input: str) -> int: + def parse(input: str) -> list[Instruction]: + return [Instruction.from_str(line) for line in input.splitlines()] + + def resolve(y: str | None, registers: dict[str, int]) -> int: + assert y is not None # Sanity check + try: + return int(y) + except ValueError: + return registers[y] + + instructions = parse(input) + registers: dict[str, int] = collections.defaultdict(int) + + ip = 0 + registers["a"] = 7 + while True: + if ip < 0 or ip >= len(instructions): + break + instr = instructions[ip] + ip += 1 + match instr.op: + case Op.CPY: + assert instr.y is not None + if instr.y.isdigit(): + continue + registers[instr.y] = resolve(instr.x, registers) + case Op.INC: + if instr.x.isdigit(): + continue + registers[instr.x] += 1 + case Op.DEC: + if instr.x.isdigit(): + continue + registers[instr.x] -= 1 + case Op.JNZ: + if resolve(instr.x, registers) != 0: + ip += resolve(instr.y, registers) - 1 # Account auto-increment + case Op.TGL: + target = ip + resolve(instr.x, registers) - 1 # Account auto-increment + if target < 0 or target >= len(instructions): + continue + instructions[target] = instructions[target].toggle() + return registers["a"] + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 1c84f82f67dfc4b9ce5f5fbf3dfbffe973db0e4d Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 01:17:24 +0100 Subject: [PATCH 091/100] 2016: d23: ex2: add input --- 2016/d23/ex2/input | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 2016/d23/ex2/input diff --git a/2016/d23/ex2/input b/2016/d23/ex2/input new file mode 100644 index 0000000..74d33e1 --- /dev/null +++ b/2016/d23/ex2/input @@ -0,0 +1,26 @@ +cpy a b +dec b +cpy a d +cpy 0 a +cpy b c +inc a +dec c +jnz c -2 +dec d +jnz d -5 +dec b +cpy b c +cpy c d +dec d +inc c +jnz d -2 +tgl c +cpy -16 c +jnz 1 c +cpy 95 c +jnz 95 d +inc a +inc d +jnz d -2 +inc c +jnz c -5 From ea5c7d369b693e8f8b2fecab148d045c4d3e5a3c Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 01:17:46 +0100 Subject: [PATCH 092/100] 2016: d23: ex2: add solution --- 2016/d23/ex2/ex2.py | 53 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100755 2016/d23/ex2/ex2.py diff --git a/2016/d23/ex2/ex2.py b/2016/d23/ex2/ex2.py new file mode 100755 index 0000000..5a50705 --- /dev/null +++ b/2016/d23/ex2/ex2.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +import enum +import math +import sys +from typing import NamedTuple + + +class Op(enum.StrEnum): + CPY = "cpy" + INC = "inc" + DEC = "dec" + JNZ = "jnz" + TGL = "tgl" + + +class Instruction(NamedTuple): + op: Op + x: str + y: str | None = None + + @classmethod + def from_str(cls, input: str) -> "Instruction": + op, *rest = input.split() + return cls(Op(op), *rest) + + def toggle(self) -> "Instruction": + if self.y is None: + op = Op.DEC if self.op == Op.INC else Op.INC + else: + op = Op.CPY if self.op == Op.JNZ else Op.JNZ + return Instruction(op, self.x, self.y) + + +def solve(input: str) -> int: + def parse(input: str) -> list[Instruction]: + return [Instruction.from_str(line) for line in input.splitlines()] + + instructions = parse(input) + + num_eggs = 12 + c = int(instructions[19].x) + d = int(instructions[20].x) + return math.factorial(num_eggs) + c * d + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 7f9ed7325a42045f9a724e1a57f8c0a7b2ae8795 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 01:35:23 +0100 Subject: [PATCH 093/100] 2016: d24: ex1: add input --- 2016/d24/ex1/input | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 2016/d24/ex1/input diff --git a/2016/d24/ex1/input b/2016/d24/ex1/input new file mode 100644 index 0000000..619879b --- /dev/null +++ b/2016/d24/ex1/input @@ -0,0 +1,39 @@ +################################################################################################################################################################################### +#.#.........#.#.....#.#.#.#.#.........#...#.......#.....#.#.....#...#.......#.#...#.#.....#...#.....#.................#.#...#.....#.....#.....#.............#.........#.#.....#0#.# +#.###.#.#.#.#.#.#.#.#.#.#.#.#####.#.#.#.#.#.###.#.#.###.#.#.#.#.#.###.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###.#.#.#.#.###.#.#.#.#.#.#.#.###.#.#.#.#.#####.#####.#.#.#.#.#.#.#.#.###.#.#.#.# +#.......#.......#.#...#.....#...#.#...#...#.....#2#.#...#.#.....#...#...#.......#...#...#.....#.#.#.....#...#.#.....#.........#.#.#.....#.......#...#.....#.......#.....#...#...#.# +#.###.#.#.#.###.#####.#.#.#.###.#.###.#.#.###.#.#####.#.#####.#.#.#.#########.#.#.#######.###.#.#.#.#.#.###.#.#.#.#.###.#.#.#.#.#.#.#.###.###.#.#.###.#####.#.#.#####.#.###.#.#.#.# +#.....#...........#...#.......................#...........#.#...#.#.#.#.....#.#...#...#.#...#.#.........#...#.....#...#...#.....#.....#.....#...#.....#.#...#...........#.....#.#.# +#####.###.#########.###.#.#########.###.###.#.#####.#####.#.#.#####.#.#.#.###.#.#.#.#.#.###.#.###########.#.#.#.#.#.#####.#######.###.#.###.#.###.#####.#.#.#####.#.#.###.###.#.#.# +#...#.#1..#...........#.#.....#...#.#.....#...#...#...........#...#.......#...............#...#.......#.....#.....#.#...#.....#...#.#.#.......#.......#.............#...........#.# +#.#.#.#.###.#.#.#.#.###.#.#.#.#.#.#.#.###.#.#.#.#.#.#.#.#####.#####.###.#.#.#######.#####.###.#.###.#.#.###.#.#.###.#.#.#.#.#.#.###.#.#.###.#.#.#.#.#.#.#.#.#.###.#######.#.####### +#...#...#...#.....#...#...........#...#.#...#...#.#.#.#...#...#...#...#.#...#.#.......#...#...#.#.....#.#.....#.....#.....#.....#.#.#...#...#.#.....#.....#.....#.......#.#.#.....# +#.#.#.#.###.#.#####.#.#.#.#.#####.#.#.#.#.###.#.#.#.#.#####.#.#.#.#.#.#.###.#.#.#.#.#.#####.#.#.#.#.###.###.#.###.###.###.#.#.#.#.#.###.###.#.###.#.#.###.#.###.#.#.###.#.###.#.### +#...#...#...#...........#.........#.#.#.#.....#.#.#.#.#.........#.....#.#.......#.#.#...#.....#...#...#.......#.#.....#.#.....#.......#...#.#.#...#.#.#...#.#...#.#...#.#.#...#.#.# +#.###.###.#.#.#.#.#.###.#.#.#.#.#.#.#.#.###.#.#####.#.#.#.#.#####.#.#.#.#.#.###.#.#.###.###.###.#######.#.#####.###.#.#.#.###.#.#.###.#.#.#.#.#.#.#.###.#.###.#.#.#.#####.#.#.#.#.# +#...#.#...#.#.#.............#.......#.#...............#.#.#.....#...#.#...#.....#...#...................#.....#.#.#.....#.........#...#.#...#.......#...#...#...#.#.......#.....#.# +###.#.#.#.#.#.#######.#.#.#.#.#.###.#####.###.#.#.###.#.###.###.#.#.#.#.#.#.#########.###.#.#.###.#.#.#.#.#.#.#.#.#.###.###########.#.#.#####.#.#####.#.#.#.###.#.#.###.#.###.#.#.# +#...#.....#...#...#...#.#...#.....#.#.......#.....#...#...#.#.....#...#...#...#.......#.............#.....#...#.....#.......#.....#.#.#.......#.....#...#.....#...#.....#.#...#...# +#.#.#####.#########.#.#.#.#.###########.###.###.#.#.#.#.#.#.#####.#.###.#.#.###.#####.#.#.#####.###.#.#.###.#.#.###.#.###.#.#.#.###.#.#.#.#####.#.#.#.#.#.#.#.#.#.#.#####.#.#.#.### +#.........#.#...........#.#.#...#.#.....#.....#...........#.#.....#.....#...#.#...#.#.......#...#.#.......#.....#...#...#...#.......#.#.......#.#.....#...#...#.#.#.#4........#...# +#.###.#.###.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#############.#.#.#######.#.#.#.#.###.#.#.#####.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###.###.#.#.###.#.#.#.#.#.#.#.#.#.#.#.###.#.#####.#.# +#3........#...#...#.#.#.#...#...#.....#...#.#...#...#.#.#.#...#.....#.#.#.#.............#.........#.#.....#.....#.#.............#.#.#.#...#...#...#.#.............#.#...#.....#...# +###.###.#.#.###.###.###.#.#####.#####.#####.#.#.#.#.#.#.###.#.#.#.#.#.#####.###.###.#.###.#.#.#.#.#.#.#.###.#.###.###########.###.#.#.#.#.#.#.#.#####.###.#.#.#.#.#.###.###.#.#.#.# +#...#.......#.#.#...............#.........#...#.....#.#...........#.#.........#.....#.........#...#...#.........#.......#.......#.........#.....#.#...#...#.#.#.....#.............# +#.#.###.#####.###.###.#.###.#.###.#.#.###.###.#.#####.#######.###.#.#.###.#####.#.#.#.#.#.#.###.#.#####.#.#.#######.#.#.###.###.#.#.###.#.###.#.#.###.#############.#.###.#.#####.# +#.#.#...#...#.#...#.#...#...#.....#.#.........#.......#.............#.#...#.........#.#.....#.....#.....#...#.....#...#...#.....#...#...#.........#...#.....#.........#...#.....#.# +#.#####.#.#.#.#.#.#.#.#.#.#.#.#####.#.#.#.#.###.#.###.#.#.###.###.#.###.#.#.#.#.###.#.#####.###.#.###.#########.#.#.#####.#.#.#.#.#.###.###.###.#.#.#.#.###.#.#.#.#.###.#.#.#.#.#.# +#.................#...#...#.#...........#.#.#.......#.......#...#.#...#...#.#...#.#.#.......#.#.#...#...........#.............#.#...#...#.......#...#.#.....#...#.#...#...#.......# +#.#.#.#.#.###.###.#.#.#####.#.#.#.#####.#.#.#.###.#.#######.###.#.#.###.#.#.#####.#.#####.#.#.#.#.#.#.#.#.#.#.#.#.###.#.#####.#####.###.#.#.###.#.#.#.#.#.#.#.###.#.#.#.#.#####.#.# +#...#.#.#...#.....#.#.#.......#...#...#...#.......................#.#.....#.................#.....#.......#...#...........#...#...........#...#...#...#.....#.#.#...#.#.#...#...#.# +#.#.#.#.###.#.#######.#####.###.#.#.#.###.#.###.#.#.###.#.#.#.###.#####.#.#.#.#.#.###.#.#####.###.#######.#.#.#.###.###.#.###.#.#.###.###.#.#.###.###.#.###.###.###.#.#.###.#.#.#.# +#...#...#.#.#...#...#.#...#...#.#.....#.#...#.....#.....#.....#.#.....#.....#.#...#.#...#.........#.....#.#.....................#...#...#.#...#...#...#.#.....#.#...#.....#...#...# +#.#####.#.#####.###.#.#.#.#.#.#.#.#.###.#####.#.#.#.###.#.###.#.###.#.###.###.#.#.#.###.#.#.#.#.#.#.#.#.#.#.###.#.###.#.#######.#.#.#.#.#.#.#.#.#.#.#.#.#.#####.#.#.#.#.#.#.#.#.#.# +#.....#.#.#7..#.#.......#...#.#.....#...#.........#...#.#...#.......#.....#...#.#...#.#...#.#.#.#.#.......#.....#...#...#.........#.....#...#.....#.....#.#.....#.............#..5# +#.###.#.#.###.#.###.#######.#.#####.###.#.#.###.#.#.#.#.###.###.#.#.#####.#.#.#.#.#.#.#.###.#.#.#.#.#.###.###.###.#.#####.###.#.###.#.#.#.#.#.#####.#.#.#.#.#####.#.#.#.#.###.#.#.# +#.......#.....#.....#.#.......#.#.#...#...#6#.#.......#...#.#.#.....#.#.#.....#.....#.....#.....#.#...#.........#...#...#.#.......#.#.#...#.#...#...#.....#.#.....#...#...#...#.#.# +###.#.###.#.#.#.#.#.#.#.###.#.#.#.#.###.#.#.#.#####.#.#####.#.#.#.#.#.#.###.#.#####.#.#.#.#######.#.#.#####.#.#.#.#.#.#.#.###.###.###.#.#.#.#.#######.#.#.#.#.#.#.#.#.###.#.#.#.#.# +#...#.#...#.#.....#...#.....#...#.#.....#...#.#...#.#.......#...#.....#...#.......#.....#.#...#...#...#.#...#.....#.....#.........#.#.......#.#.......#.#.....#.....#.#...........# +#.#.#.###.#.###.###.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#######.###.#.#.#####.###.#.#.#.#.#.#.#.#.###.#.#.#####.###.###.###.#.#.#.#.#.#####.#.#####.#.#.#.###.#.###.#.#.#####.#.#.#######.# +#.#.#...#.......#.....#...#.#...#...................#...#...#...#...#.......#.#.....#...#...#.........#.....#...........#...#.#.#.#.#.#...#.........#.#.........#.#...#.....#.#...# +################################################################################################################################################################################### From d905dcc32d4ad031d658eb81dcb82c6207682efd Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 01:35:37 +0100 Subject: [PATCH 094/100] 2016: d24: ex1: add solution --- 2016/d24/ex1/ex1.py | 96 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100755 2016/d24/ex1/ex1.py diff --git a/2016/d24/ex1/ex1.py b/2016/d24/ex1/ex1.py new file mode 100755 index 0000000..a636b45 --- /dev/null +++ b/2016/d24/ex1/ex1.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python + +import collections +import heapq +import itertools +import sys +from collections.abc import Iterator +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +def solve(input: str) -> int: + def parse(input: str) -> tuple[set[Point], dict[int, Point]]: + spaces: set[Point] = set() + waypoints: dict[int, Point] = {} + for x, line in enumerate(input.splitlines()): + for y, c in enumerate(line): + if c == "#": + continue + p = Point(x, y) + spaces.add(p) + if c != ".": + waypoints[int(c)] = p + return spaces, waypoints + + def neighbours(p: Point) -> Iterator[Point]: + for dx, dy in ( + (-1, 0), + (1, 0), + (0, -1), + (0, 1), + ): + yield Point(p.x + dx, p.y + dy) + + def dijkstra(start: Point, end: Point, points: set[Point]) -> int: + # Priority queue of (distance, point) + queue = [(0, start)] + seen: set[Point] = set() + + while len(queue) > 0: + dist, p = heapq.heappop(queue) + if p == end: + return dist + # We must have seen p with a smaller distance before + if p in seen: + continue + # First time encountering p, must be the smallest distance to it + seen.add(p) + # Add all neighbours to be visited + for n in neighbours(p): + if n not in points: + continue + heapq.heappush(queue, (dist + 1, n)) + + assert False # Sanity check + + def waypoint_distances( + points: set[Point], waypoints: dict[int, Point] + ) -> dict[int, dict[int, int]]: + res: dict[int, dict[int, int]] = collections.defaultdict(dict) + for p1, p2 in itertools.combinations(waypoints.keys(), 2): + dist = dijkstra(waypoints[p1], waypoints[p2], points) + res[p1][p2] = dist + res[p2][p1] = dist + return res + + def traveling_salesman( + start: int, + points: set[Point], + waypoints: dict[int, Point], + ) -> int: + def list_travels() -> Iterator[Iterator[int]]: + for destinations in itertools.permutations(waypoints.keys() - {start}): + yield itertools.chain([start], destinations) + + distances = waypoint_distances(points, waypoints) + return min( + sum(distances[s][e] for s, e in itertools.pairwise(travel_plan)) + for travel_plan in list_travels() + ) + + points, waypoints = parse(input) + return traveling_salesman(0, points, waypoints) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From ea3b670d499a48ac2f90a064d6275d0d167fe29f Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 01:35:43 +0100 Subject: [PATCH 095/100] 2016: d24: ex2: add input --- 2016/d24/ex2/input | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 2016/d24/ex2/input diff --git a/2016/d24/ex2/input b/2016/d24/ex2/input new file mode 100644 index 0000000..619879b --- /dev/null +++ b/2016/d24/ex2/input @@ -0,0 +1,39 @@ +################################################################################################################################################################################### +#.#.........#.#.....#.#.#.#.#.........#...#.......#.....#.#.....#...#.......#.#...#.#.....#...#.....#.................#.#...#.....#.....#.....#.............#.........#.#.....#0#.# +#.###.#.#.#.#.#.#.#.#.#.#.#.#####.#.#.#.#.#.###.#.#.###.#.#.#.#.#.###.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###.#.#.#.#.###.#.#.#.#.#.#.#.###.#.#.#.#.#####.#####.#.#.#.#.#.#.#.#.###.#.#.#.# +#.......#.......#.#...#.....#...#.#...#...#.....#2#.#...#.#.....#...#...#.......#...#...#.....#.#.#.....#...#.#.....#.........#.#.#.....#.......#...#.....#.......#.....#...#...#.# +#.###.#.#.#.###.#####.#.#.#.###.#.###.#.#.###.#.#####.#.#####.#.#.#.#########.#.#.#######.###.#.#.#.#.#.###.#.#.#.#.###.#.#.#.#.#.#.#.###.###.#.#.###.#####.#.#.#####.#.###.#.#.#.# +#.....#...........#...#.......................#...........#.#...#.#.#.#.....#.#...#...#.#...#.#.........#...#.....#...#...#.....#.....#.....#...#.....#.#...#...........#.....#.#.# +#####.###.#########.###.#.#########.###.###.#.#####.#####.#.#.#####.#.#.#.###.#.#.#.#.#.###.#.###########.#.#.#.#.#.#####.#######.###.#.###.#.###.#####.#.#.#####.#.#.###.###.#.#.# +#...#.#1..#...........#.#.....#...#.#.....#...#...#...........#...#.......#...............#...#.......#.....#.....#.#...#.....#...#.#.#.......#.......#.............#...........#.# +#.#.#.#.###.#.#.#.#.###.#.#.#.#.#.#.#.###.#.#.#.#.#.#.#.#####.#####.###.#.#.#######.#####.###.#.###.#.#.###.#.#.###.#.#.#.#.#.#.###.#.#.###.#.#.#.#.#.#.#.#.#.###.#######.#.####### +#...#...#...#.....#...#...........#...#.#...#...#.#.#.#...#...#...#...#.#...#.#.......#...#...#.#.....#.#.....#.....#.....#.....#.#.#...#...#.#.....#.....#.....#.......#.#.#.....# +#.#.#.#.###.#.#####.#.#.#.#.#####.#.#.#.#.###.#.#.#.#.#####.#.#.#.#.#.#.###.#.#.#.#.#.#####.#.#.#.#.###.###.#.###.###.###.#.#.#.#.#.###.###.#.###.#.#.###.#.###.#.#.###.#.###.#.### +#...#...#...#...........#.........#.#.#.#.....#.#.#.#.#.........#.....#.#.......#.#.#...#.....#...#...#.......#.#.....#.#.....#.......#...#.#.#...#.#.#...#.#...#.#...#.#.#...#.#.# +#.###.###.#.#.#.#.#.###.#.#.#.#.#.#.#.#.###.#.#####.#.#.#.#.#####.#.#.#.#.#.###.#.#.###.###.###.#######.#.#####.###.#.#.#.###.#.#.###.#.#.#.#.#.#.#.###.#.###.#.#.#.#####.#.#.#.#.# +#...#.#...#.#.#.............#.......#.#...............#.#.#.....#...#.#...#.....#...#...................#.....#.#.#.....#.........#...#.#...#.......#...#...#...#.#.......#.....#.# +###.#.#.#.#.#.#######.#.#.#.#.#.###.#####.###.#.#.###.#.###.###.#.#.#.#.#.#.#########.###.#.#.###.#.#.#.#.#.#.#.#.#.###.###########.#.#.#####.#.#####.#.#.#.###.#.#.###.#.###.#.#.# +#...#.....#...#...#...#.#...#.....#.#.......#.....#...#...#.#.....#...#...#...#.......#.............#.....#...#.....#.......#.....#.#.#.......#.....#...#.....#...#.....#.#...#...# +#.#.#####.#########.#.#.#.#.###########.###.###.#.#.#.#.#.#.#####.#.###.#.#.###.#####.#.#.#####.###.#.#.###.#.#.###.#.###.#.#.#.###.#.#.#.#####.#.#.#.#.#.#.#.#.#.#.#####.#.#.#.### +#.........#.#...........#.#.#...#.#.....#.....#...........#.#.....#.....#...#.#...#.#.......#...#.#.......#.....#...#...#...#.......#.#.......#.#.....#...#...#.#.#.#4........#...# +#.###.#.###.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#############.#.#.#######.#.#.#.#.###.#.#.#####.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###.###.#.#.###.#.#.#.#.#.#.#.#.#.#.#.###.#.#####.#.# +#3........#...#...#.#.#.#...#...#.....#...#.#...#...#.#.#.#...#.....#.#.#.#.............#.........#.#.....#.....#.#.............#.#.#.#...#...#...#.#.............#.#...#.....#...# +###.###.#.#.###.###.###.#.#####.#####.#####.#.#.#.#.#.#.###.#.#.#.#.#.#####.###.###.#.###.#.#.#.#.#.#.#.###.#.###.###########.###.#.#.#.#.#.#.#.#####.###.#.#.#.#.#.###.###.#.#.#.# +#...#.......#.#.#...............#.........#...#.....#.#...........#.#.........#.....#.........#...#...#.........#.......#.......#.........#.....#.#...#...#.#.#.....#.............# +#.#.###.#####.###.###.#.###.#.###.#.#.###.###.#.#####.#######.###.#.#.###.#####.#.#.#.#.#.#.###.#.#####.#.#.#######.#.#.###.###.#.#.###.#.###.#.#.###.#############.#.###.#.#####.# +#.#.#...#...#.#...#.#...#...#.....#.#.........#.......#.............#.#...#.........#.#.....#.....#.....#...#.....#...#...#.....#...#...#.........#...#.....#.........#...#.....#.# +#.#####.#.#.#.#.#.#.#.#.#.#.#.#####.#.#.#.#.###.#.###.#.#.###.###.#.###.#.#.#.#.###.#.#####.###.#.###.#########.#.#.#####.#.#.#.#.#.###.###.###.#.#.#.#.###.#.#.#.#.###.#.#.#.#.#.# +#.................#...#...#.#...........#.#.#.......#.......#...#.#...#...#.#...#.#.#.......#.#.#...#...........#.............#.#...#...#.......#...#.#.....#...#.#...#...#.......# +#.#.#.#.#.###.###.#.#.#####.#.#.#.#####.#.#.#.###.#.#######.###.#.#.###.#.#.#####.#.#####.#.#.#.#.#.#.#.#.#.#.#.#.###.#.#####.#####.###.#.#.###.#.#.#.#.#.#.#.###.#.#.#.#.#####.#.# +#...#.#.#...#.....#.#.#.......#...#...#...#.......................#.#.....#.................#.....#.......#...#...........#...#...........#...#...#...#.....#.#.#...#.#.#...#...#.# +#.#.#.#.###.#.#######.#####.###.#.#.#.###.#.###.#.#.###.#.#.#.###.#####.#.#.#.#.#.###.#.#####.###.#######.#.#.#.###.###.#.###.#.#.###.###.#.#.###.###.#.###.###.###.#.#.###.#.#.#.# +#...#...#.#.#...#...#.#...#...#.#.....#.#...#.....#.....#.....#.#.....#.....#.#...#.#...#.........#.....#.#.....................#...#...#.#...#...#...#.#.....#.#...#.....#...#...# +#.#####.#.#####.###.#.#.#.#.#.#.#.#.###.#####.#.#.#.###.#.###.#.###.#.###.###.#.#.#.###.#.#.#.#.#.#.#.#.#.#.###.#.###.#.#######.#.#.#.#.#.#.#.#.#.#.#.#.#.#####.#.#.#.#.#.#.#.#.#.# +#.....#.#.#7..#.#.......#...#.#.....#...#.........#...#.#...#.......#.....#...#.#...#.#...#.#.#.#.#.......#.....#...#...#.........#.....#...#.....#.....#.#.....#.............#..5# +#.###.#.#.###.#.###.#######.#.#####.###.#.#.###.#.#.#.#.###.###.#.#.#####.#.#.#.#.#.#.#.###.#.#.#.#.#.###.###.###.#.#####.###.#.###.#.#.#.#.#.#####.#.#.#.#.#####.#.#.#.#.###.#.#.# +#.......#.....#.....#.#.......#.#.#...#...#6#.#.......#...#.#.#.....#.#.#.....#.....#.....#.....#.#...#.........#...#...#.#.......#.#.#...#.#...#...#.....#.#.....#...#...#...#.#.# +###.#.###.#.#.#.#.#.#.#.###.#.#.#.#.###.#.#.#.#####.#.#####.#.#.#.#.#.#.###.#.#####.#.#.#.#######.#.#.#####.#.#.#.#.#.#.#.###.###.###.#.#.#.#.#######.#.#.#.#.#.#.#.#.###.#.#.#.#.# +#...#.#...#.#.....#...#.....#...#.#.....#...#.#...#.#.......#...#.....#...#.......#.....#.#...#...#...#.#...#.....#.....#.........#.#.......#.#.......#.#.....#.....#.#...........# +#.#.#.###.#.###.###.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#######.###.#.#.#####.###.#.#.#.#.#.#.#.#.###.#.#.#####.###.###.###.#.#.#.#.#.#####.#.#####.#.#.#.###.#.###.#.#.#####.#.#.#######.# +#.#.#...#.......#.....#...#.#...#...................#...#...#...#...#.......#.#.....#...#...#.........#.....#...........#...#.#.#.#.#.#...#.........#.#.........#.#...#.....#.#...# +################################################################################################################################################################################### From fc5ef5f83f485c5ee57edb60c1be02dbbb8ce05f Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 01:35:51 +0100 Subject: [PATCH 096/100] 2016: d24: ex2: add solution --- 2016/d24/ex2/ex2.py | 96 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100755 2016/d24/ex2/ex2.py diff --git a/2016/d24/ex2/ex2.py b/2016/d24/ex2/ex2.py new file mode 100755 index 0000000..85e4e6a --- /dev/null +++ b/2016/d24/ex2/ex2.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python + +import collections +import heapq +import itertools +import sys +from collections.abc import Iterator +from typing import NamedTuple + + +class Point(NamedTuple): + x: int + y: int + + +def solve(input: str) -> int: + def parse(input: str) -> tuple[set[Point], dict[int, Point]]: + spaces: set[Point] = set() + waypoints: dict[int, Point] = {} + for x, line in enumerate(input.splitlines()): + for y, c in enumerate(line): + if c == "#": + continue + p = Point(x, y) + spaces.add(p) + if c != ".": + waypoints[int(c)] = p + return spaces, waypoints + + def neighbours(p: Point) -> Iterator[Point]: + for dx, dy in ( + (-1, 0), + (1, 0), + (0, -1), + (0, 1), + ): + yield Point(p.x + dx, p.y + dy) + + def dijkstra(start: Point, end: Point, points: set[Point]) -> int: + # Priority queue of (distance, point) + queue = [(0, start)] + seen: set[Point] = set() + + while len(queue) > 0: + dist, p = heapq.heappop(queue) + if p == end: + return dist + # We must have seen p with a smaller distance before + if p in seen: + continue + # First time encountering p, must be the smallest distance to it + seen.add(p) + # Add all neighbours to be visited + for n in neighbours(p): + if n not in points: + continue + heapq.heappush(queue, (dist + 1, n)) + + assert False # Sanity check + + def waypoint_distances( + points: set[Point], waypoints: dict[int, Point] + ) -> dict[int, dict[int, int]]: + res: dict[int, dict[int, int]] = collections.defaultdict(dict) + for p1, p2 in itertools.combinations(waypoints.keys(), 2): + dist = dijkstra(waypoints[p1], waypoints[p2], points) + res[p1][p2] = dist + res[p2][p1] = dist + return res + + def traveling_salesman( + start: int, + points: set[Point], + waypoints: dict[int, Point], + ) -> int: + def list_travel_loops() -> Iterator[Iterator[int]]: + for destinations in itertools.permutations(waypoints.keys() - {start}): + yield itertools.chain([start], destinations, [start]) + + distances = waypoint_distances(points, waypoints) + return min( + sum(distances[s][e] for s, e in itertools.pairwise(travel_plan)) + for travel_plan in list_travel_loops() + ) + + points, waypoints = parse(input) + return traveling_salesman(0, points, waypoints) + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 013f583944d586ef726f57ae2474c1822f556a3b Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 02:01:27 +0100 Subject: [PATCH 097/100] 2016: d25: ex1: add input --- 2016/d25/ex1/input | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 2016/d25/ex1/input diff --git a/2016/d25/ex1/input b/2016/d25/ex1/input new file mode 100644 index 0000000..7a978f6 --- /dev/null +++ b/2016/d25/ex1/input @@ -0,0 +1,30 @@ +cpy a d +cpy 15 c +cpy 170 b +inc d +dec b +jnz b -2 +dec c +jnz c -5 +cpy d a +jnz 0 0 +cpy a b +cpy 0 a +cpy 2 c +jnz b 2 +jnz 1 6 +dec b +dec c +jnz c -4 +inc a +jnz 1 -7 +cpy 2 b +jnz c 2 +jnz 1 4 +dec b +dec c +jnz 1 -4 +jnz 0 0 +out b +jnz a -19 +jnz 1 -21 From 7b161434a55acc7c39d9f41c2db6cdc7f29ec197 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 02:01:35 +0100 Subject: [PATCH 098/100] 2016: d25: ex1: add solution --- 2016/d25/ex1/ex1.py | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 2016/d25/ex1/ex1.py diff --git a/2016/d25/ex1/ex1.py b/2016/d25/ex1/ex1.py new file mode 100755 index 0000000..cd53244 --- /dev/null +++ b/2016/d25/ex1/ex1.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python + +import enum +import sys +from typing import NamedTuple + + +class Op(enum.StrEnum): + CPY = "cpy" + INC = "inc" + DEC = "dec" + JNZ = "jnz" + OUT = "out" + + +class Instruction(NamedTuple): + op: Op + x: str + y: str | None = None + + @classmethod + def from_str(cls, input: str) -> "Instruction": + op, *rest = input.split() + return cls(Op(op), *rest) + + +def solve(input: str) -> int: + def parse(input: str) -> list[Instruction]: + return [Instruction.from_str(line) for line in input.splitlines()] + + def next_signal_int(n: int) -> int: + res = 0b10 + while res < n: + res = (res << 2) | res + return res + + instructions = parse(input) + bc = int(instructions[1].x) * int(instructions[2].x) + return next_signal_int(bc) - bc + + +def main() -> None: + input = sys.stdin.read() + print(solve(input)) + + +if __name__ == "__main__": + main() From 656db880abe9987d1008e5a76873c2e19d4615b4 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 02:02:04 +0100 Subject: [PATCH 099/100] 2016: d25: ex2: add input --- 2016/d25/ex2/input | 62 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 2016/d25/ex2/input diff --git a/2016/d25/ex2/input b/2016/d25/ex2/input new file mode 100644 index 0000000..199164f --- /dev/null +++ b/2016/d25/ex2/input @@ -0,0 +1,62 @@ +Begin in state A. +Perform a diagnostic checksum after 12683008 steps. + +In state A: + If the current value is 0: + - Write the value 1. + - Move one slot to the right. + - Continue with state B. + If the current value is 1: + - Write the value 0. + - Move one slot to the left. + - Continue with state B. + +In state B: + If the current value is 0: + - Write the value 1. + - Move one slot to the left. + - Continue with state C. + If the current value is 1: + - Write the value 0. + - Move one slot to the right. + - Continue with state E. + +In state C: + If the current value is 0: + - Write the value 1. + - Move one slot to the right. + - Continue with state E. + If the current value is 1: + - Write the value 0. + - Move one slot to the left. + - Continue with state D. + +In state D: + If the current value is 0: + - Write the value 1. + - Move one slot to the left. + - Continue with state A. + If the current value is 1: + - Write the value 1. + - Move one slot to the left. + - Continue with state A. + +In state E: + If the current value is 0: + - Write the value 0. + - Move one slot to the right. + - Continue with state A. + If the current value is 1: + - Write the value 0. + - Move one slot to the right. + - Continue with state F. + +In state F: + If the current value is 0: + - Write the value 1. + - Move one slot to the right. + - Continue with state E. + If the current value is 1: + - Write the value 1. + - Move one slot to the right. + - Continue with state A. From ef539ad5cb4a475688ce921a2f49463a2ff6719a Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 20 May 2025 02:02:09 +0100 Subject: [PATCH 100/100] 2016: d25: ex2: add solution --- 2016/d25/ex2/ex2.py | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100755 2016/d25/ex2/ex2.py diff --git a/2016/d25/ex2/ex2.py b/2016/d25/ex2/ex2.py new file mode 100755 index 0000000..918e0ec --- /dev/null +++ b/2016/d25/ex2/ex2.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python + + +def main() -> None: + print("There is no part two...") + + +if __name__ == "__main__": + main()