From 23b2e012803b4cb624820edba0ef147441217420 Mon Sep 17 00:00:00 2001 From: Cookie <19herrsch@informatik.uni-hamburg.de> Date: Tue, 30 Nov 2021 00:36:00 +0100 Subject: [PATCH] add remaining code and input files from 2020 --- AoC2020/code/AoC01.py | 20 + AoC2020/code/AoC02.py | 49 + AoC2020/code/AoC03.py | 41 + AoC2020/code/AoC04.py | 78 ++ AoC2020/code/AoC05.py | 23 + AoC2020/code/AoC06.py | 32 + AoC2020/code/AoC07.py | 61 + AoC2020/code/AoC08.py | 55 + AoC2020/code/AoC09.py | 39 + AoC2020/code/AoC10.py | 58 + AoC2020/code/AoC11.py | 141 +++ AoC2020/code/AoC12.py | 76 ++ AoC2020/code/AoC13.py | 54 + AoC2020/code/AoC14.py | 92 ++ AoC2020/code/AoC15.py | 19 + AoC2020/code/AoC16.py | 87 ++ AoC2020/code/AoC17.py | 122 ++ AoC2020/code/AoC18.py | 23 + AoC2020/code/AoC19.py | 92 +- AoC2020/code/AoC19B.py | 44 + AoC2020/code/Benes11.py | 45 + AoC2020/inputs/input01 | 200 ++++ AoC2020/inputs/input02 | 1000 ++++++++++++++++ AoC2020/inputs/input03 | 323 +++++ AoC2020/inputs/input04 | 1009 ++++++++++++++++ AoC2020/inputs/input05 | 927 ++++++++++++++ AoC2020/inputs/input06 | 2198 ++++++++++++++++++++++++++++++++++ AoC2020/inputs/input07 | 594 +++++++++ AoC2020/inputs/input08 | 633 ++++++++++ AoC2020/inputs/input09 | 1000 ++++++++++++++++ AoC2020/inputs/input10 | 102 ++ AoC2020/inputs/input11 | 98 ++ AoC2020/inputs/input12 | 774 ++++++++++++ AoC2020/inputs/input13 | 2 + AoC2020/inputs/input13ex.txt | 2 + AoC2020/inputs/input14 | 584 +++++++++ AoC2020/inputs/input16 | 267 +++++ AoC2020/inputs/input16ex.txt | 11 + AoC2020/inputs/input17 | 8 + AoC2020/inputs/input17ex.txt | 3 + AoC2020/inputs/input18 | 373 ++++++ 41 files changed, 11321 insertions(+), 38 deletions(-) create mode 100644 AoC2020/code/AoC01.py create mode 100644 AoC2020/code/AoC02.py create mode 100644 AoC2020/code/AoC03.py create mode 100644 AoC2020/code/AoC04.py create mode 100644 AoC2020/code/AoC05.py create mode 100644 AoC2020/code/AoC06.py create mode 100644 AoC2020/code/AoC07.py create mode 100644 AoC2020/code/AoC08.py create mode 100644 AoC2020/code/AoC09.py create mode 100644 AoC2020/code/AoC10.py create mode 100644 AoC2020/code/AoC11.py create mode 100644 AoC2020/code/AoC12.py create mode 100644 AoC2020/code/AoC13.py create mode 100644 AoC2020/code/AoC14.py create mode 100644 AoC2020/code/AoC15.py create mode 100644 AoC2020/code/AoC16.py create mode 100644 AoC2020/code/AoC17.py create mode 100644 AoC2020/code/AoC18.py create mode 100644 AoC2020/code/AoC19B.py create mode 100644 AoC2020/code/Benes11.py create mode 100644 AoC2020/inputs/input01 create mode 100644 AoC2020/inputs/input02 create mode 100644 AoC2020/inputs/input03 create mode 100644 AoC2020/inputs/input04 create mode 100644 AoC2020/inputs/input05 create mode 100644 AoC2020/inputs/input06 create mode 100644 AoC2020/inputs/input07 create mode 100644 AoC2020/inputs/input08 create mode 100644 AoC2020/inputs/input09 create mode 100644 AoC2020/inputs/input10 create mode 100644 AoC2020/inputs/input11 create mode 100644 AoC2020/inputs/input12 create mode 100644 AoC2020/inputs/input13 create mode 100644 AoC2020/inputs/input13ex.txt create mode 100644 AoC2020/inputs/input14 create mode 100644 AoC2020/inputs/input16 create mode 100644 AoC2020/inputs/input16ex.txt create mode 100644 AoC2020/inputs/input17 create mode 100644 AoC2020/inputs/input17ex.txt create mode 100644 AoC2020/inputs/input18 diff --git a/AoC2020/code/AoC01.py b/AoC2020/code/AoC01.py new file mode 100644 index 0000000..f96bb48 --- /dev/null +++ b/AoC2020/code/AoC01.py @@ -0,0 +1,20 @@ +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input01") as f: + lines = f.readlines() + + # make ints out of strings + numbers = ([0] * (len(lines) + 1)) + for n in range(0, len(lines)): + numbers[n] = int(lines[n]) + + # challenge 1 + for i in range(0, len(numbers)): + for j in range(i + 1, len(numbers)): + if numbers[i] + numbers[j] == 2020: + print(numbers[i] * numbers[j]) + + # challenge 2 + for i in range(0, len(numbers)): + for j in range(i+1, len(numbers)): + for k in range(j+1, len(numbers)): + if numbers[i] + numbers[j] + numbers[k] == 2020: + print(numbers[i] * numbers[j] * numbers[k]) diff --git a/AoC2020/code/AoC02.py b/AoC2020/code/AoC02.py new file mode 100644 index 0000000..02269c9 --- /dev/null +++ b/AoC2020/code/AoC02.py @@ -0,0 +1,49 @@ + +import re + + +# decode line into bounds and letter and password +def decode_line(l): + groups = re.compile(r"(?P\d+)-(?P\d+) (?P\w): (?P\w+)").search(l) + return groups + + +# check if valid with certain number of chars +def check_if_valid(lower, higher, letter, pwd): + if int(lower) <= pwd.count(letter) <= int(higher): + return True + else: + return False + + +# check if valid with chars on places +def check_if_valid2(lower, higher, letter, pwd): + # both = line.split(": ") + # cond = both[0].split(" ") + # times = cond[0].split("-") + # lower = int(times[0]) + # higher = int(times[1]) + # letter = cond[1] + # pwd = (both[1])[:-1] + if (pwd[int(lower) - 1] == letter) != (pwd[int(higher) - 1] == letter): + return True + else: + return False + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input02") as f: + lines = f.readlines() + + # count for challenge 1 + i = 0 + for line in lines: + if check_if_valid(*decode_line(line).groups()): + i += 1 + print(i) + + # count for challenge 2 + i = 0 + for line in lines: + if check_if_valid2(*decode_line(line).groups()): + i += 1 + print(i) diff --git a/AoC2020/code/AoC03.py b/AoC2020/code/AoC03.py new file mode 100644 index 0000000..8ee2865 --- /dev/null +++ b/AoC2020/code/AoC03.py @@ -0,0 +1,41 @@ + + +# count trees when going 1 down and 2 right +def tree_count(ls): + x = 0 + trees = 0 + for y, line in enumerate(ls): + if line[x] == '#': + trees += 1 + x = (x + 3) % (len(line) - 1) + return trees + + +# count trees when going dx right and dy down +def tree_count2(ls, dx, dy): + x = 0 + y = 0 + trees = 0 + while True: + try: + if ls[y][x] == '#': + trees += 1 + x = (x + dx) % (len(ls[y]) - 1) + y = y + dy + except IndexError: + break + return trees + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input03") as f: + lines = f.readlines() + + # Count trees on way down + print(tree_count(lines)) + + # Multiply trees on different slopes + print(tree_count2(lines, 1, 1) * + tree_count2(lines, 3, 1) * + tree_count2(lines, 5, 1) * + tree_count2(lines, 7, 1) * + tree_count2(lines, 1, 2)) diff --git a/AoC2020/code/AoC04.py b/AoC2020/code/AoC04.py new file mode 100644 index 0000000..dca8d9b --- /dev/null +++ b/AoC2020/code/AoC04.py @@ -0,0 +1,78 @@ +import re + + +# Valid Passport if all fields on it +def valid_passport(line): + # Must contain "byr:", "pid:", "iyr:". "eyr:", "hgt:" "hcl:" und "ecl:" + contains = ["byr:", "pid:", "iyr:", "eyr:", "hgt:", "hcl:", "ecl:"] + return all(i in line for i in contains) + + +# Bene's function for height +def valid_height(height): + match = re.compile(r"(\d+)(cm|in)").search(height) + if match is None: return False + num, unit = match.groups() + if unit == 'cm': return 150 <= int(num) <= 193 + if unit == 'in': return 59 <= int(num) <= 76 + return False + + +# Valid passport if fields also contain fitting values +def valid_passport2(line): + # Must contain "byr:", "pid:", "iyr:". "eyr:", "hgt:" "hcl:" und "ecl:" + contains = ["byr:", "pid:", "iyr:", "eyr:", "hgt:", "hcl:", "ecl:"] + if all(i in line for i in contains): + groups = re.compile(r"(?P\w+):(?P\S+)") + for (key, value) in groups.findall(line): + if key == "byr": + if not (len(value) == 4 and (1920 <= int(value) <= 2002)): + return False + elif key == "iyr": + if not (len(value) == 4 and (2010 <= int(value) <= 2020)): + return False + elif key == "eyr": + if not (len(value) == 4 and (2020 <= int(value) <= 2030)): + return False + elif key == "hgt": + pattern1 = re.compile(r"(1[5-8][0-9]|19[0-3])cm") + pattern2 = re.compile(r"(59|6[0-9]|7[0-6])in") + if not valid_height(value): + return False + elif key == "hcl": + pattern = re.compile(r"#([0-9]|[a-f]){6}") + if not pattern.match(value): + return False + elif key == "ecl": + if value not in ["amb", "blu", "brn", "gry", "grn", "hzl", "oth"]: + return False + elif key == "pid": + pattern = re.compile(r"\d{9}") + if not (pattern.match(value) and len(value) == 9): + return False + else: + if not key == "cid": + return False + return True + return False + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input04") as f: + lines = f.read() + lines = lines.replace("\n\n", '\t').replace("\n", " ").split("\t") + + sum(valid_passport(p) for p in lines) + + # count for challenge 1 + count = 0 + for l in lines: + if valid_passport(l): + count += 1 + print(count) + + # count for challenge 2 + count2 = 0 + for l in lines: + if valid_passport2(l): + count2 += 1 + print(count2) diff --git a/AoC2020/code/AoC05.py b/AoC2020/code/AoC05.py new file mode 100644 index 0000000..725ca68 --- /dev/null +++ b/AoC2020/code/AoC05.py @@ -0,0 +1,23 @@ + + +# Get ID +def to_binary(line): + line = line.replace('B', '1').replace('F', '0').replace('R', '1').replace('L', '0') + return int(line, 2) + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input05") as f: + lines = f.readlines() + nums = [to_binary(line) for line in lines] + + # Find biggest seat-ID + print(max(nums)) + + # Find missing seat-ID + for num in nums: + if (num in nums) and (num+2 in nums) and (num+1 not in nums): + print(num+1) + + for i in range(min(nums), max(nums)+1): + if i not in nums: + print(i) diff --git a/AoC2020/code/AoC06.py b/AoC2020/code/AoC06.py new file mode 100644 index 0000000..c55c6ee --- /dev/null +++ b/AoC2020/code/AoC06.py @@ -0,0 +1,32 @@ + + +# count answers in that group +def count_answers(line): + my_list = list(line) + my_set = set(my_list) + length = len(my_set) + return length + + +# count which answers were answered by all +def count_answers_all(group): + answers = group.split('\n') + + z = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', + 'u', 'v', 'w', 'x', 'y', 'z'} + intersect = z.intersection(* [set(answer) for answer in answers if answer != '']) + return len(intersect) + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input06") as f: + lines = f.read() + + # count answered letters + lines1 = lines.replace("\n\n", '\t').replace("\n", "").split("\t") + count = sum(count_answers(l) for l in lines1) + print(count) + + # count answered by all + groups = lines.split("\n\n") + count2 = sum(count_answers_all(g) for g in groups) + print(count2) diff --git a/AoC2020/code/AoC07.py b/AoC2020/code/AoC07.py new file mode 100644 index 0000000..054dd3c --- /dev/null +++ b/AoC2020/code/AoC07.py @@ -0,0 +1,61 @@ +import re + + +# find colours and the colours it can contain +def parse(l): + group = re.compile(r"(?P.*?) bags contain").search(l) + group2 = re.compile(r"(?P\d+) (?P.*?) bag").findall(l) + return group.group(1), group2 + + +# count what a bag of given colour can contain +def containments(colour): + if colour not in dic: + memo[colour] = 0 + + if colour in memo: + return memo[colour] + + total = 0 + for (x, y) in dic[colour]: + total += int(x) * containments(y) + memo[colour] = total + return total + + +# count number of bags, that can be contained +def number_bags(colour): + if colour not in dic: + memo2[colour] = 0 + + if colour in memo2: + return memo2[colour] + + total = 0 + for (x,y) in dic[colour]: + total += int(x) + int(x) * number_bags(y) + memo2[colour] = total + return total + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input07") as f: + lines = f.readlines() + + # make dictionary with the values + dic = {} + for line in lines: + key, value = parse(line) + dic[key] = value + + # for challenge 1 + memo = {"shiny gold": 1} + + count = 0 + for key in dic.keys(): + if containments(key) > 0: + count += 1 + print(count-1) + + # print for challenge 2 + memo2 = {} + print(number_bags("shiny gold")) diff --git a/AoC2020/code/AoC08.py b/AoC2020/code/AoC08.py new file mode 100644 index 0000000..c67b47b --- /dev/null +++ b/AoC2020/code/AoC08.py @@ -0,0 +1,55 @@ +import re + + +def decode(line): + groups = re.compile(r"(?P\w\w\w) (?P[+|-]\d+)").search(line) + return groups + + +def run(dict): + line = 0 + acc = 0 + while True: + (x, y) = dict[line] + if x == 'stop': + return acc + if x == 'nop': + dict[line] = ('stop', y) + line += 1 + if x == 'acc': + dict[line] = ('stop', y) + acc += int(y) + line += 1 + if x == 'jmp': + dict[line] = ('stop', y) + line = line + int(y) + if line > 632: + return acc + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input08") as f: + lines = f.readlines() + + memo = {} + + for n, line in enumerate(lines): + memo[n] = decode(line).groups() + + (x, y) = memo[405] + if memo[405] == ('nop', y): + memo[405] = ('jmp', y) + elif memo[405] == ('jmp', y): + memo[405] = ('nop', y) + + print(run(memo)) + + for line in memo: + for n, l in enumerate(lines): + memo[n] = decode(l).groups() + (a, b) = memo[line] + if memo[line] == ('nop', b): + memo[line] = ('jmp', b) + elif memo[line] == ('jmp', b): + memo[line] = ('nop', b) + if run(memo) == 'here': + print(line) diff --git a/AoC2020/code/AoC09.py b/AoC2020/code/AoC09.py new file mode 100644 index 0000000..d3b283c --- /dev/null +++ b/AoC2020/code/AoC09.py @@ -0,0 +1,39 @@ + + +# check if a number is valid (2 in the previous 25 numbers add up to it) +def check_if_valid(prev, num): + for i in prev: + for j in prev: + if i + j == num: + return True + return False + + +# find a continuous list of numbers that add up to the weakness found earlier +def find_sum(num): + for d in range(0, len(lines)): + for e in range(d, len(lines)): + if sum(lines[d:e]) == num and len(lines[d:e]) > 1: + return lines[d:e] + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input09") as f: + lines = f.readlines() + + # convert ti integers + for (a, l) in enumerate(lines): + lines[a] = int(l) + + # find weakness + weakness = 0 + + for k in range(25, len(lines)-1): + if not check_if_valid(lines[(k-25):k], lines[k]): + weakness = lines[k] + break + + # challenge 1 print + print(weakness) + + # challenge 2 print + print(min(find_sum(weakness)) + max(find_sum(weakness))) diff --git a/AoC2020/code/AoC10.py b/AoC2020/code/AoC10.py new file mode 100644 index 0000000..cd1365c --- /dev/null +++ b/AoC2020/code/AoC10.py @@ -0,0 +1,58 @@ + + +def adapter_chain(adapts): + jolt1 = 0 + jolt3 = 1 + for i in range(1, len(adapts)): + if adapts[i-1] - adapts[i] == 1: + jolt1 += 1 + elif adapts[i-1] - adapts[i] == 3: + jolt3 += 1 + else: + print(adapts[i] - adapts[i-1]) + return jolt1 * jolt3 + + +def memo(f): + memo = {} + + def f2(x): + if x not in memo: + memo[x] = f(x) + return memo[x] + + return f2 + + +@memo +def combinations(i): + j = 0 + if i == max(nums): + return 1 + if i+1 in nums: + j += combinations(i+1) + if i+2 in nums: + j += combinations(i+2) + if i+3 in nums: + j += combinations(i+3) + return j + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input10") as f: + lines = f.readlines() + + # convert to integers + nums = [int(line) for line in lines] + nums.append(0) + nums.sort() + + nums.reverse() + + print(adapter_chain(nums)) + + nums.append(nums[-1] + 3) + nums.reverse() + + + + print(combinations(0)) diff --git a/AoC2020/code/AoC11.py b/AoC2020/code/AoC11.py new file mode 100644 index 0000000..4a06be7 --- /dev/null +++ b/AoC2020/code/AoC11.py @@ -0,0 +1,141 @@ + +from copy import deepcopy + + +def test(array, x, y): + test = [] + if not x-1 < 0: + try: + test.append(array[x-1][y]) + except IndexError: + pass + try: + test.append(array[x - 1][y + 1]) + except IndexError: + pass + try: + test.append(array[x - 1][y - 1]) + except IndexError: + pass + + try: + test.append(array[x][y-1]) + except IndexError: + pass + try: + test.append(array[x + 1][y - 1]) + except IndexError: + pass + try: + test.append(array[x + 1][y]) + except IndexError: + pass + try: + test.append(array[x][y + 1]) + except IndexError: + pass + try: + test.append(array[x + 1][y + 1]) + except IndexError: + pass + + return test + + +def occupy_seats(array): + second = deepcopy(array) + changes = 0 + for x in range(0, len(array)): + for y in range(0, len(array[x])): + tests = test(array, x, y) + d = tests.count('#') + + if array[x][y] == 'L' and d == 0: + second[x][y] = '#' + changes += 1 + + if array[x][y] == "#" and d > 3: + second[x][y] = 'L' + changes += 1 + + return changes, second + + +def oob(space, y, x): + if y < 0: return True + if y >= len(space): return True + if x < 0: return True + if x >= len(space[y]): return True + return False + + +def visible_seats(space, y, x): + dirs = [(y, x) for x in [0, 1, -1] for y in [0, 1, -1]] + neighbors = [] + for a, b in dirs: + if a == 0 and b == 0: continue + step = 1 + + def pos(): + return (step * a + y, step * b + x) + + while (not oob(space, *pos())): + loc = space[pos()[0]][pos()[1]] + if loc == "L" or loc == "#": + neighbors.append(loc) + break + step += 1 + return neighbors + + +def occupy_seats2(array): + second = deepcopy(array) + changes = 0 + for x in range(0, len(array)): + for y in range(0, len(array[x])): + d = visible_seats(array, x, y).count('#') + + if array[x][y] == 'L' and d == 0: + second[x][y] = '#' + changes += 1 + + if array[x][y] == "#" and d > 4: + second[x][y] = 'L' + changes += 1 + + return changes, second + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input11") as f: + lines = f.readlines() + + for i in range(0, len(lines)): + lines[i] = list(lines[i]) + + lines2 = deepcopy(lines) + + while True: + c, lines = occupy_seats(lines) + if c == 0: + break + + count = 0 + + for line in lines: + count += line.count('#') + + print(count) + + while True: + c, lines2 = occupy_seats2(lines2) + print(c) + if c == 0: + break + + count2 = 0 + + for line in lines2: + count2 += line.count('#') + + print(count2) + diff --git a/AoC2020/code/AoC12.py b/AoC2020/code/AoC12.py new file mode 100644 index 0000000..a52604a --- /dev/null +++ b/AoC2020/code/AoC12.py @@ -0,0 +1,76 @@ +import re + + +def parse(l): + group = re.compile(r"(?P\w)(?P\d+)").findall(l) + return group[0] + + +def move_ship(direction, amount, east, north, facing): + array = ['N', 'E', 'S', 'W'] + amount = int(amount) + if direction == 'F': + direction = facing + if direction == 'N': + north += amount + if direction == 'S': + north -= amount + if direction == 'E': + east += amount + if direction == 'W': + east -= amount + if direction == 'L': + pos = array.index(facing) + pos2 = amount // 90 + facing = array[pos - pos2] + if direction == 'R': + pos = array.index(facing) + pos2 = amount // 90 + facing = array[(pos + pos2) % 4] + + return east, north, facing + + +def move_ship_waypoint(direction, amount, ship, waypoint): + amount = int(amount) + if direction == 'F': + ship += waypoint*amount + if direction == 'N': + waypoint += amount * (0+1j) + if direction == 'S': + waypoint += amount * (0-1j) + if direction == 'E': + waypoint += amount * (1+0j) + if direction == 'W': + waypoint += amount * (-1+0j) + if direction == 'L': + waypoint = waypoint * 1j**(amount // 90) + if direction == 'R': + waypoint = waypoint * (-1j)**(amount // 90) + + return ship, waypoint + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input12") as f: + lines = f.readlines() + + # make dictionary with the values + directions = [] + for line in lines: + directions.append(parse(line)) + + # current position [east / west, north / south, facing] + current = [0, 0, 'E'] + + for dire in directions: + current = move_ship(*dire, *current) + + print(abs(current[0]) + abs(current[1])) + + ship_position = 0+0j + waypoint_position = 10+1j + + for dire in directions: + ship_position, waypoint_position = move_ship_waypoint(*dire, ship_position, waypoint_position) + + print(abs(ship_position.real) + abs(ship_position.imag)) diff --git a/AoC2020/code/AoC13.py b/AoC2020/code/AoC13.py new file mode 100644 index 0000000..dc28f61 --- /dev/null +++ b/AoC2020/code/AoC13.py @@ -0,0 +1,54 @@ +from numpy import prod + + +def find_earliest_bus(start, buses): + i = start + next = 0 + for time in buses: + if time == 'x': + pass + elif int(time) - start % int(time) < i: + i = int(time) - (start % int(time)) + next = int(time) + return next * i + + +def time_to_bus(start, bus): + i = -start % bus + return i + + +def find_earliest_timestamp(timestamps): + dict = {} + for i in range(0, len(timestamps)): + if timestamps[i] == 'x': + pass + else: + line = int(timestamps[i]) + dict[line] = i + + t = 0 + kgV = 1 + for bus, wait in dict.items(): + while not time_to_bus(t, bus) == (wait % bus): + t += kgV + kgV = kgV * bus + return t + + #for n in range(1352008337, 1000000000000000000): + # ar = [(n + dict[b]) % b == 0 for b in dict.keys()] + # if False not in ar: + # return n + # print(n) + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input13") as f: + lines = f.readlines() + lines[0] = int(lines[0]) + lines[1] = lines[1].split(",") + + print(find_earliest_bus(lines[0], lines[1])) + + print(find_earliest_timestamp(lines[1])) + + diff --git a/AoC2020/code/AoC14.py b/AoC2020/code/AoC14.py new file mode 100644 index 0000000..2e36075 --- /dev/null +++ b/AoC2020/code/AoC14.py @@ -0,0 +1,92 @@ + +import re + + +def decode_line(line): + mask = re.search(r"mask = (?P[1 | 0 | X]{36})", line) + mem = re.search(r"mem\[(?P
\d+)] = (?P\d+)", line) + if mask: + return 'm', mask.group('mask') + if mem: + return mem.group('address', 'value') + + +def to_int(num): + new = 0 + for j in range(0, len(num)): + if num[j] == '1': + new += 2**(len(num) - j - 1) + return new + + +def comb(num, mas): + num = f'{num:036b}' + mas = list(mas) + num = list(num) + for i in range(0, len(num)): + if mas[i] == '0': + num[i] = '0' + if mas[i] == '1': + num[i] = '1' + + return to_int(num) + + +def execute(arg, val): + if arg == 'm': + global mask + mask = val + else: + memory[arg] = comb(int(val), mask) + + + +def comb_address(num, mas): + mas = list(mas) + m = to_int(mas) + + x = ['0'] * 36 + for i in range(0, len(mas)): + if mas[i] == 'X': + x[i] = '1' + x = to_int(x) + + num = num & ~x + comb = 0 + + for y in range(0, 2**mask.count('X')): + yield comb | num | m + comb = ((comb | ~x) + 1) & x + + +def execute_v2(arg, val): + if arg == 'm': + global mask + mask = val + else: + for ad in comb_address(int(arg), mask): + memory2[ad] = int(val) + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input14") as f: + lines = f.readlines() + + dec = [decode_line(l) for l in lines] + + memory = {} + + mask = 0 + + for d in dec: + execute(*d) + + print(sum(memory.values())) + + memory2 = {} + + mask = 0 + + for d in dec: + execute_v2(*d) + + print(sum(memory2.values())) diff --git a/AoC2020/code/AoC15.py b/AoC2020/code/AoC15.py new file mode 100644 index 0000000..5ba0d40 --- /dev/null +++ b/AoC2020/code/AoC15.py @@ -0,0 +1,19 @@ +def next(num, turn, memo): + if num not in memo: + memo[num] = (0, turn) + return 0 + memo[num] = (memo[num][1], turn) + return memo[num][1] - memo[num][0] + + +def solve(input, target): + memo, n = {}, input[-1] + for i, j in enumerate(input): + memo[j] = (0, i) + for t in range(len(input)-1, target-1): + n = next(n, t, memo) + return n + + +print(solve([16, 12, 1, 0, 15, 7, 11], 2020)) +print(solve([16, 12, 1, 0, 15, 7, 11], 30000000)) diff --git a/AoC2020/code/AoC16.py b/AoC2020/code/AoC16.py new file mode 100644 index 0000000..bd107a0 --- /dev/null +++ b/AoC2020/code/AoC16.py @@ -0,0 +1,87 @@ +import re + + +def decode_lines(l): + rules = re.compile(r"(?P\w+ ?\w+): (?P\d+)-(?P\d+) or (?P\d+)-(?P\d+)").findall(l) + my_ticket = re.compile(r"your ticket:\n(?P\d+[,\d+]+)").search(l) + nearby_tickets = re.compile(r"\n(?P\d+[,\d+]+)").findall(l) + + return rules, my_ticket.group('ticket'), nearby_tickets[1:] + + +def is_valid(ticket): + + count = 0 + + for value in ticket: + valid = False + for rule in rules: + if int(rule[1]) <= int(value) <= int(rule[2]) or int(rule[3]) <= int(value) <= int(rule[4]): + valid = True + if not valid: + count += int(value) + return count + + +def find_rule(rule): + for i in range(0, len(nt[0])): + valid = True + for ticket in nt: + value = ticket[i] + if not (int(rule[1]) <= int(value) <= int(rule[2]) or int(rule[3]) <= int(value) <= int(rule[4])): + valid = False + if valid: yield i + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input16") as f: + lines = f.readlines() + lines = "".join(lines) + + rules, mine, nearby = decode_lines(lines) + + nt = [tick.split(',') for tick in nearby] + + mine = mine.split(',') + print(mine) + + scanning_error = 0 + for ticket in nt: + scanning_error += is_valid(ticket) + + print(scanning_error) + + for ticket in nt: + if is_valid(ticket) > 0: + nt.remove(ticket) + + for ticket in nt: + if is_valid(ticket) > 0: + nt.remove(ticket) + + mem = {} + for rule in rules: + mem[rule[0]] = [False] * 20 + for r in find_rule(rule): + mem[rule[0]][r] = True + + rulebook = {} + + while True: + if len(rulebook) == 15: break + for i in range(0, 20): + count = 0 + for rule, value in mem.items(): + if value[i]: + count += 1 + if count == 1: + for rule, value in mem.items(): + if value[i]: + rulebook[i] = rule + mem.pop(rule) + print(rule) + break + + print(rulebook) + + print(int(mine[19])*int(mine[17])*int(mine[11])*int(mine[8])*int(mine[10])*int(mine[0])) + diff --git a/AoC2020/code/AoC17.py b/AoC2020/code/AoC17.py new file mode 100644 index 0000000..d50b9b1 --- /dev/null +++ b/AoC2020/code/AoC17.py @@ -0,0 +1,122 @@ +from copy import deepcopy +from termcolor import colored + + +def show(array): + for z in range(0, len(array)): + print(colored('\nz = ' + str(z), 'yellow')) + for i in range(0, len(array[z])): + print(colored(''.join(array[z][i]), 'blue')) + + +def show4(array): + for w in range(0, len(array)): + print(colored('\nw = ' + str(w), 'magenta')) + for z in range(0, len(array[w])): + print(colored('\nz = ' + str(z), 'yellow')) + for i in range(0, len(array[w][z])): + print(colored(''.join(array[w][z][i]), 'blue')) + + +def oob(space, z, y, x): + if z < 0: return True + if z >= len(space): return True + if y < 0: return True + if y >= len(space[z]): return True + if x < 0: return True + if x >= len(space[z][y]): return True + return False + + +def oob4(space, w, z, y, x): + if w < 0: return True + if w >= len(space): return True + if z < 0: return True + if z >= len(space[w]): return True + if y < 0: return True + if y >= len(space[w][z]): return True + if x < 0: return True + if x >= len(space[w][z][y]): return True + return False + + +def neighbors(space, z, y, x): + dirs = [(z, y, x) for x in [0, 1, -1] for y in [0, 1, -1] for z in [0, 1, -1]] + dirs.remove((0, 0, 0)) + for d in dirs: + if not oob(space, z+d[0], y+d[1], x+d[2]): + yield space[z+d[0]][y+d[1]][x+d[2]] + + +def neighbors4(space, w, z, y, x): + dirs = [(w, z, y, x) for x in [0, 1, -1] for y in [0, 1, -1] for z in [0, 1, -1] for w in [0, 1, -1]] + dirs.remove((0, 0, 0, 0)) + for d in dirs: + if not oob4(space, w+d[0], z+d[1], y+d[2], x+d[3]): + yield space[w+d[0]][z+d[1]][y+d[2]][x+d[3]] + + +def step(array): + next = deepcopy(array) + for z in range(0, len(array)): + for y in range(0, len(array[z])): + for x in range(0, len(array[z][y])): + c = [i for i in neighbors(array, z, y, x)].count('#') + if array[z][y][x] == '#' and not (c == 2 or c == 3): + next[z][y][x] = '.' + if array[z][y][x] == '.' and c == 3: + next[z][y][x] = '#' + return next + + +def step4(array): + next = deepcopy(array) + for w in range(0, len(array)): + for z in range(0, len(array[w])): + for y in range(0, len(array[w][z])): + for x in range(0, len(array[w][z][y])): + c = [i for i in neighbors4(array, w, z, y, x)].count('#') + if array[w][z][y][x] == '#' and not (c == 2 or c == 3): + next[w][z][y][x] = '.' + if array[w][z][y][x] == '.' and c == 3: + next[w][z][y][x] = '#' + return next + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input17") as f: + lines = f.readlines() + lines = [list(l) for l in lines] + empty = [[['.' for i in range(20)] for j in range(20)] for k in range(13)] + for i in range(0, 8): + for j in range(0, 8): + empty[6][j+6][i+6] = lines[j][i] + show(empty) + + for i in range(0, 6): + print(colored('\n\nstep: ' + str(i+1) + '\n', 'red')) + empty = step(empty) + show(empty) + + count = 0 + for i in range(0, 13): + for j in range(0, 20): + count += empty[i][j].count('#') + print(colored(count, 'cyan')) + + hypercube = [[[['.' for i in range(20)] for j in range(20)] for k in range(13)] for l in range(13)] + for i in range(0, 8): + for j in range(0, 8): + hypercube[6][6][j+6][i+6] = lines[j][i] + + for i in range(0, 6): + print(colored('\n\nstep: ' + str(i + 1) + '\n', 'red')) + hypercube = step4(hypercube) + show4(hypercube) + + count4 = 0 + for i in range(0, 13): + for j in range(0, 13): + for k in range(0, 20): + count4 += hypercube[i][j][k].count('#') + + print(colored(count4, 'cyan')) diff --git a/AoC2020/code/AoC18.py b/AoC2020/code/AoC18.py new file mode 100644 index 0000000..18b5bb5 --- /dev/null +++ b/AoC2020/code/AoC18.py @@ -0,0 +1,23 @@ +import ast + + +class RewriteName(ast.NodeTransformer): + + def visit_Mult(self, node): + return ast.Add() + + def visit_Sub(self, node): + return ast.Mult() + + +def evaluate(line): + line = line.replace("*", "-")[:-1] + line = line.replace("+", "*") + new = RewriteName().visit(ast.parse(line, mode='eval')) + return eval(compile(new, '', 'eval')) + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input18") as f: + lines = f.readlines() + print(evaluate(lines[0])) + print(sum([evaluate(l) for l in lines])) diff --git a/AoC2020/code/AoC19.py b/AoC2020/code/AoC19.py index 8fe281e..3b05696 100755 --- a/AoC2020/code/AoC19.py +++ b/AoC2020/code/AoC19.py @@ -1,44 +1,60 @@ -#!/usr/bin/env python3 - -import sys import re -def parse_rules(lines): - rules = {} - for line in lines: - rule, pattern = line.split(':') - alternatives = pattern.split('|') - rules[int(rule)] = [a.strip(' ').split(' ') for a in alternatives] - return rules def memo(f): - mem = {} - def helper(x): - if x not in mem: mem[x] = f(x) - return mem[x] - return helper + memo = {} + + def f2(x): + if x not in memo: + memo[x] = f(x) + return memo[x] + + return f2 + + +def parse(l): + srules = re.compile(r"(?P\d+): (?P\d+)\n").findall(l) + rules = re.compile(r"(?P\d+): (?P\d+) (?P\d+)\n").findall(l) + wrules = re.compile(r"(?P\d+): \"(?P\w)\"\n").findall(l) + crules = re.compile(r"(?P\d+): (?P\d+) (?P\d+) \| (?P\d+) (?P\d+)\n").findall(l) + csrules = re.compile(r"(?P\d+): (?P\d+) \| (?P\d+)\n").findall(l) + messages = re.compile(r"(?P\w+)\n").findall(l) + return rules, wrules, crules, srules, csrules, messages + + +def check_if_valid(message): + return 0 + @memo -def expr(rule): - if rule == 8: - return expr(42) + '+' - if rule == 11: - return '(?:' + expr(42) + '(?=a*(\1?+b)b*(\2?+c)))+\1' + expr(31) + ')' - global rules - if type(rule) is str: - try: rule = int(rule) - except ValueError: return rule[1] - pattern = rules[rule] - res = ["".join(expr(dep) for dep in alt) for alt in pattern] - if len(res) == 1: return res[0] - return "(" + "|".join(res) + ")" - -if __name__ == '__main__': - rules, messages = open(sys.argv[1]).read().split('\n\n') - rules = parse_rules(rules.split('\n')) - count = 0 - messages = messages.split("\n") - for m in messages: - if bool(re.match('^' + expr(0) + '$', m)): - count += 1 - print(count) +def build_regex(rule): + if dict[rule] == 'a' or dict[rule] == 'b': + return dict[rule] + if type(dict[rule]) == int: + return build_regex(dict[rule]) + s = "(" + for i, r in enumerate(dict[rule]): + if i == 2: + s += ")|(" + s += build_regex(r) + return s + ")" + + +with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input19") as f: + lines = f.readlines() + lines = "".join(lines) + r, w, c, s, messages = parse(lines) + rules = r + w + c + s + dict = {} + for rule in rules: + if len(rule) == 2: + try: dict[int(rule[0])] = int(rule[1]) + except ValueError: dict[int(rule[0])] = rule[1] + if len(rule) == 3: + dict[int(rule[0])] = int(rule[1]), int(rule[2]) + if len(rule) == 5: + dict[int(rule[0])] = int(rule[1]), int(rule[2]), int(rule[3]), int(rule[4]) + + print(dict) + print(build_regex(0)) + print(sum([check_if_valid(m) for m in messages])) diff --git a/AoC2020/code/AoC19B.py b/AoC2020/code/AoC19B.py new file mode 100644 index 0000000..8fe281e --- /dev/null +++ b/AoC2020/code/AoC19B.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 + +import sys +import re + +def parse_rules(lines): + rules = {} + for line in lines: + rule, pattern = line.split(':') + alternatives = pattern.split('|') + rules[int(rule)] = [a.strip(' ').split(' ') for a in alternatives] + return rules + +def memo(f): + mem = {} + def helper(x): + if x not in mem: mem[x] = f(x) + return mem[x] + return helper + +@memo +def expr(rule): + if rule == 8: + return expr(42) + '+' + if rule == 11: + return '(?:' + expr(42) + '(?=a*(\1?+b)b*(\2?+c)))+\1' + expr(31) + ')' + global rules + if type(rule) is str: + try: rule = int(rule) + except ValueError: return rule[1] + pattern = rules[rule] + res = ["".join(expr(dep) for dep in alt) for alt in pattern] + if len(res) == 1: return res[0] + return "(" + "|".join(res) + ")" + +if __name__ == '__main__': + rules, messages = open(sys.argv[1]).read().split('\n\n') + rules = parse_rules(rules.split('\n')) + count = 0 + messages = messages.split("\n") + for m in messages: + if bool(re.match('^' + expr(0) + '$', m)): + count += 1 + print(count) diff --git a/AoC2020/code/Benes11.py b/AoC2020/code/Benes11.py new file mode 100644 index 0000000..6cacf9f --- /dev/null +++ b/AoC2020/code/Benes11.py @@ -0,0 +1,45 @@ +#!/bin/env python3 + +from copy import deepcopy +import sys + + +def show(space): + for row in space: print("".join(row)) + print() + + +def neighbors(space, y, x): + dirs = [(y, x) for x in [0, 1, -1] for y in [0, 1, -1]][1:] + neighbors = [] + for a, b in dirs: + try: + neighbors.append(space[y + a][x + b]) + except IndexError: + pass + return neighbors + + +def next(space): + new = deepcopy(space) + for y in range(len(space)): + for x in range(len(space[y])): + occ = neighbors(space, y, x).count("#") + if space[y][x] == "L": + if occ == 0: new[y][x] = "#" + if space[y][x] == "#": + if occ >= 4: new[y][x] = "L" + return new + + +def count(space): + return sum(row.count('#') for row in space) + + +if __name__ == '__main__': + space = [list(line) for line in open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input11")] + while space != next(next(space)): + space = next(space) + print(count(space)) + print(count(next(space))) + print(count(next(next(space)))) diff --git a/AoC2020/inputs/input01 b/AoC2020/inputs/input01 new file mode 100644 index 0000000..e858abe --- /dev/null +++ b/AoC2020/inputs/input01 @@ -0,0 +1,200 @@ +1509 +1857 +1736 +1815 +1576 +1970 +1567 +1778 +1508 +1833 +1377 +1890 +1375 +1396 +1102 +1639 +1818 +1469 +1138 +1333 +1906 +1557 +1686 +1712 +1990 +1930 +1761 +1881 +1551 +1627 +1801 +1728 +1960 +1407 +1832 +1842 +1393 +1870 +1295 +1528 +251 +1945 +1589 +1850 +1650 +1793 +1997 +1758 +1477 +1697 +1081 +1825 +1899 +1171 +1104 +1839 +1974 +1630 +1831 +1671 +1723 +1811 +1489 +1647 +1486 +1107 +1786 +1680 +1942 +1640 +1112 +1703 +1315 +1769 +1966 +997 +2010 +1635 +1196 +383 +1986 +1860 +1743 +1756 +1555 +1111 +1823 +48 +1953 +1083 +1804 +1933 +1626 +1895 +1807 +1669 +1783 +389 +1821 +1883 +1114 +1587 +1941 +1725 +1646 +456 +1550 +1939 +1975 +1324 +1201 +1018 +1001 +1402 +1885 +1481 +1633 +1781 +1622 +1822 +1559 +1696 +1510 +1251 +1732 +1790 +1813 +1695 +1121 +704 +1964 +1984 +1763 +1656 +1183 +1771 +1276 +1764 +1810 +1992 +1213 +1840 +1318 +1965 +1943 +1549 +1768 +1506 +1949 +1739 +1852 +1787 +1570 +1988 +1357 +1909 +1837 +561 +1994 +1777 +1547 +1925 +1897 +1817 +1677 +1668 +1982 +1667 +1753 +1041 +1826 +1961 +1797 +1765 +1720 +1835 +1688 +1705 +1744 +1977 +1971 +1775 +1782 +1661 +1385 +1162 +1755 +1846 +1674 +1698 +1882 +1766 +1820 +1531 +1577 +1710 +1382 +1246 +1864 +1702 diff --git a/AoC2020/inputs/input02 b/AoC2020/inputs/input02 new file mode 100644 index 0000000..082b283 --- /dev/null +++ b/AoC2020/inputs/input02 @@ -0,0 +1,1000 @@ +13-17 s: ssssssssssssgsssj +7-9 p: pnlzhcppvl +5-6 z: zzbwrv +7-15 w: wwwwwcqwwwwwwwww +8-9 h: hhhhhhhhsh +12-13 l: mtrkqfllrglll +3-4 t: nntt +10-14 g: svgggggfhqggghlg +3-10 x: djxxxpmcxx +1-10 z: ztzzzgzzzz +3-4 j: jjjjj +3-4 c: fbhnsccbc +2-4 q: thql +15-18 w: tcwzpwzfwwqftvczbw +5-7 l: lblwblbmllqnlbl +3-4 b: bvbfnbb +4-5 f: ffgzf +7-9 c: cctcccccc +5-6 k: szkgsk +2-5 n: nqvnmgnqnsxfn +2-10 s: dsfsbsssltss +12-14 s: ssskrssssssfsxpsqsp +13-15 j: jjjjjjjjjjjjjjjj +16-17 l: jllclhllkgcpljzwk +6-9 f: fsffwffbffbfff +5-9 s: xtzscxsstcss +6-9 h: hmnhshhhhqhrthmh +3-6 x: xxxxxx +9-11 m: mcmmmktmtmmmmm +2-6 r: grrprrsmr +15-16 v: vvvvvvvvvvvvvvwdv +2-14 j: jmjdbhjjjjjjjxnjj +5-9 r: rrwrrrrrr +3-9 b: wbbcbvbtbbbbb +2-9 r: rrtjlplkrgmrrrrxq +9-12 s: sssshsmsssss +2-14 t: qzxxvthtthtthv +2-11 p: pvlsppwmgcspl +12-15 s: dsjqsshdssbssstsssss +3-9 k: tkkkpkkklk +7-15 s: sssssssssssssgsssss +6-9 x: xxxsxzxglpwxl +2-3 x: xxmh +7-9 g: ggsggggggg +4-17 t: vtttrrrhtghfjvnqtttj +1-2 n: jgnpn +11-12 k: vlkkbkkkkklk +9-12 v: vvvvvvvvwvvvv +10-11 j: jjjjljjjjvm +1-5 x: vvxlx +3-4 l: flll +10-11 q: qqqqqqqqqlq +4-5 d: vdvhmpdtrdhdzfdsgk +14-16 b: bbqbbbxbhrbpbtmhbbb +18-19 d: dzpnbxngpgsjtnvtcdd +2-16 v: jtrhtlfhvkbbflfq +15-17 q: qqqsqqqqqqjqqqlqm +5-6 q: tqrhtqqspdqvzqbx +4-8 b: lbbzbwtv +10-13 f: hrsnsfflfffsfjff +10-14 k: kkjkkkkkkkkkkkkkkhk +4-9 c: ccwcccccc +5-7 r: grkrrrwjrrgbdtd +8-12 p: tgspnljpfhtr +5-6 v: vvvvvvm +5-7 v: vvvvvvv +6-8 q: qqqqqdqqq +2-4 v: xfvqvlp +3-4 g: gghb +3-14 z: xflgzzrkzqzxzzxgd +1-7 g: ldsgswgdgdmjlggb +5-10 h: rhhmhhnbdhhqhwp +16-18 m: mmmmmmwmmmmmmmmmmmm +5-11 j: scssgcjjjjpzjjn +13-14 s: wznksvkfvfskfs +3-9 q: qdqqkqtbcnqqqsrklqbf +7-9 c: cccchcmcvdcczwt +15-16 g: gggdgggggggggggg +1-5 k: kkkkkk +7-10 q: qqqqqqqqqqqqq +3-12 b: bbbrhbspbrbfbbqbbbb +3-5 r: gczrgr +2-6 h: whnlvhsftp +8-20 h: fhhhsdfhhfzgmhpqhhjh +15-16 z: sbzzzzzzdzjbwhgb +4-8 h: jgtbmhwb +8-9 s: hssksrnhlsdslssvcsbs +2-6 v: vvvvvvv +13-14 x: xxxxxxxxxxxxnsbx +12-13 l: pgllllltpdfpxlll +2-17 v: vqnncnxkssmhvkzstzgp +4-5 r: rrrhw +8-11 p: pppdppphppp +6-7 t: lrmqtts +8-12 h: hhlthhhhhhhhhtrzh +9-10 g: jpgpmpcrwfkz +12-13 w: wwwwwwwwwwhwwww +5-13 l: jwtlqglllllxkllls +2-4 c: ncpcgd +3-7 l: llslllll +2-5 n: jdfwnn +3-5 z: xctxd +4-6 l: lllrll +6-7 q: fqqqqqqzqqqqq +9-12 c: gccwgwqlcxccchchcrcb +7-12 p: pppgpppppppps +10-16 g: xrgfggzzghtgxgbggg +7-11 d: tdddddqdwdgxldj +11-14 p: pppppbpppppppppp +1-2 j: jhjj +8-9 v: pvvvvvvvcgvq +5-6 n: qcrhnnkktxvdxcp +7-12 x: lfnxxxdxxxxp +10-12 s: sssssssssbsgs +2-3 x: rqhzxmjnjxx +13-14 w: wwwwvwwwwwwwqhww +10-11 t: dgttttgttttt +7-9 w: wdzwwwwjj +4-10 v: vvsjvvbvvncvvvvxv +6-8 w: wwwwwpwq +7-9 j: jtjjjjrjmxg +5-11 z: zzdgztshstzczw +1-4 s: ssss +3-10 p: pqppgrphrpkdmp +9-12 x: xxxqxxxlxxsx +3-4 v: nvswzv +3-9 d: vdjvdcxdkdd +2-10 v: vvjcvvvzvkb +11-14 g: gggzggggggjgghg +4-19 p: pppqppppppppppppppvq +3-5 n: ngznkgdpn +13-14 t: tttwtbtttttxxmttt +3-7 q: qnqqqqqtqqz +3-4 r: rkgr +9-12 l: lqkfljzllqtl +5-8 m: vpmmsnfmtxbcknlmpb +15-19 s: ssptssnhsksnszsdpqss +13-14 j: jsjjjjnjjjjjjjj +6-9 p: ppppppppz +5-8 r: tqzbnvgsvfrx +7-9 h: hhhhhhhhp +8-11 s: ssssssssssss +3-10 t: ttttttttttttt +4-5 g: ngtgg +7-8 n: tnnnnnnqn +12-16 x: bxxxxxzxxxxxxxbxx +1-3 z: zzzt +11-14 x: xxgxxxxxxxwcxfx +6-11 v: rgkkhpkjvvf +16-17 n: nfgnnnnnnnnnnnngvn +3-7 w: wkwwwww +5-16 g: ggggcggwgggggggggg +1-3 l: sjvjlkzrpn +17-19 p: pppppppppppppppptpd +2-6 b: vjjwbqbdbpwsbw +4-8 g: gggggjvgd +2-6 w: pzzpwdm +3-10 g: ggggcggggggg +1-3 v: vxvjcvcpslpfn +9-10 r: qrrwrrjrrr +5-10 m: qbmdzvqmxnnmmmtk +2-14 q: vqttpdjhqvkqzqxz +12-13 r: rrxbrrrrrcrptjrr +13-15 s: cscssssssssssssss +7-10 z: zxbrzxbdbhzzzfzz +2-16 n: skqkxqmqbvbrnspnrgq +14-18 b: bbxsbbdpbnbbbnbbbpbb +5-8 b: bmcrdhbbk +11-13 f: fffffffzfffwffb +5-6 w: wwbwlww +12-14 d: gzxclqbnmnxjlzd +13-19 z: fzzzctzzdsbgzzzzwzpb +2-12 w: lcwwtwwpwffdjqwms +9-10 x: hznxnxxxxxxxgkxx +2-4 g: cwfjtlgf +11-12 k: bqfkkkklkkkkb +2-4 l: llllgxk +5-9 m: cpwmqkzhxs +8-15 b: bbwlwkblvbwdvrjbgsb +3-4 f: ffmff +4-10 c: nqxcqcfcqc +10-12 d: ddqddddddtdhd +3-4 n: dghnnqnn +6-15 s: rsbxbrfmssdknppw +2-13 m: mmkmmmmqdmkmmm +8-12 n: nnnnnnnnnnnn +2-5 d: mdkwd +14-15 l: hllllllllllllgl +6-11 g: jgccfnggggpgkt +4-6 j: jjjtjjjjjj +9-12 v: hgpjjlvhvhljb +2-4 g: jfwdgfr +4-5 f: fhffffchf +16-17 j: jjjjjjjjjjjjjjjjj +1-4 t: tcttwtttttrkt +6-13 x: qmxfxxwxrxdxxxfvgv +6-7 c: cckpccc +3-10 m: qwmmpknsgmdmfvrcvw +2-4 r: rszv +1-7 q: qqqqqqqq +1-6 l: lzlmjl +11-12 q: mqqqqxbqqrqqqdqqbkq +8-11 h: jtvbhxhhphhhh +9-11 b: bbbbfbzbzbb +5-7 l: gljssxddzscvhwrlrb +3-6 c: fxcbccddxxcn +3-5 s: ssssz +17-18 n: jctqdsjchwknkffpnn +8-10 c: crtwbwcfcqkf +3-5 r: qrzqc +7-12 z: zzzzzzzzsfzsz +13-15 p: pppppppppzrllplp +11-12 h: nhhhhjhqhhplhhh +4-5 l: lllll +4-10 g: gggzgggggg +15-16 h: qhhhshrhhfhhhhch +5-7 k: jsrvnjlkq +16-17 p: pppplppppppppppml +13-14 m: xqhmjdmrmmmffr +6-11 c: cccccgccccrccccccc +9-10 l: llllllllxllt +8-9 b: bbbpbbbwbdnkbb +5-9 m: sfmmpmmmzn +5-15 k: kkkkkkkkkkkkkkkckkkk +3-4 h: hhhh +15-19 g: gggwgggrslgxjgfgbfs +12-13 d: dddddddddddxb +6-14 k: kkrgdvhscffwwm +14-16 m: zmmmmqmmmmmmmgmm +8-9 w: wwwwgwwww +1-12 x: xxxxxxxxxxxx +1-5 b: bwrbbfwgh +1-3 t: ftttttttttttttt +10-11 m: mwmmmwkmxsf +8-9 t: tqtttttttdtttt +7-8 z: hzbkpzfg +2-3 h: htblhdhh +3-4 p: pptnlpc +4-7 l: lqlnqhljt +12-14 n: nnnnnnnnnnjnnt +1-4 d: dszd +12-13 f: fvrffffffffkfff +9-15 t: bkzstqvtgtwxtzqttd +6-7 v: vrvvvkgv +6-9 n: knbpnnjnnsn +5-8 n: nznkzzqrbn +9-12 s: ssscssssgsqwsspssp +4-16 q: slqqqqqhqqqqqqdqc +1-3 d: gdttdd +2-6 h: hhqzmh +4-9 k: lkckkpbzkl +8-17 b: bbbbkbbpbbbbbbbbn +1-2 r: bqmrw +8-9 s: ztssqssbz +1-13 s: stbqmhspsdgjs +8-10 z: trnsmlxzmzzzz +6-8 v: vlxvgzbzvvv +3-6 c: xddhwtcbpcf +13-19 g: rjvsgpnfjvzlxxzzgxgm +5-9 m: qffpmxmfmk +14-15 c: dcfwcpxcmvpxxtcbmzhc +6-10 k: jkpbkvghpxksfkkk +2-3 j: jmgjjjj +7-12 z: szrznmkjxnzj +4-9 s: ssssssssss +2-4 h: hkqvfgpsxlnhtrqr +6-11 g: gggglrlgggwv +1-6 v: vrbvlvrvv +4-10 j: jjjjjjjjjz +3-12 k: kkjkkkkkfckgkkkkk +3-15 x: xxrxxxxxxxwxpxg +5-8 v: vvhvvdzvqfrvgqvt +5-17 z: zznzzzzzzzzzzzzvf +4-12 n: fdrncrggjlbgbmwv +6-17 d: tcddhdbdvtsnrdstd +1-10 m: mqljmgchlmsx +4-6 l: fbllbl +8-9 p: kpmtpphwp +3-6 j: sjjjjj +5-6 n: nnnnbs +7-12 p: ppqppngcphpk +5-15 x: xxxxgxxxxxxxxxqx +1-3 p: ppppm +3-6 w: wwwkwww +1-4 r: rrrx +3-4 z: zzznp +12-14 n: tnzwtmnnnnndnfnnn +9-10 d: ddfdddtdddd +4-14 l: hvllsgncmhxhwl +10-15 j: kxftfsmjvjgslsjpp +2-10 g: gtgvggqggggxggdg +1-9 v: cvnxhhffnbcv +1-14 c: ccccccccccccccc +3-8 q: fnqmkbhqtbjqvczq +2-4 v: fvphvgv +10-11 k: kkkkkkkkkpt +1-10 d: dddldkddmdd +4-6 x: xxxxxxxx +4-11 k: kxkfkkkskkrkmk +1-6 n: nlmngnkqww +1-9 j: jjjjjjjjsj +5-6 b: bbbbbb +9-11 q: qqnqqmqqqpq +4-7 r: drrrrsrrz +10-15 n: nnhncnpsnxtnpnqnnghn +3-6 d: ddddddd +4-7 x: bxvxbxjwxgx +1-2 n: cmpwsbjzghgndj +2-4 r: przczfjfrbwj +3-17 k: qbvmqxxffdfpkwxdgxv +7-12 v: llmjvscvjvpvp +2-7 z: vzxzxxz +9-18 r: srdrjcrrrvhrcqrrrr +7-8 f: rffffvtrfsqff +5-8 w: pdcwwvmwwwkzwwjwxks +3-4 c: cccc +15-19 c: cccccccnccclbnplccqc +2-13 f: fffffffffffffff +3-9 t: thrkzdttb +6-11 p: pppppgppppjp +5-8 q: qqqrqfqs +7-11 r: crprgtwwrzp +2-10 f: qfhgfftfdbfnlffffff +4-5 h: dhvvlcw +3-6 s: sffsfws +2-7 b: jrvxbhbp +10-11 w: wwwgwwwwwkb +5-9 d: dddddddddddddkdv +4-14 b: bbbbbbbbbbbbbbb +4-8 x: xxxxdxbqxc +5-9 l: phlkhlllbc +1-2 s: ssgskqvrsrwdt +19-20 x: xcxqxvxxxtstnqxhxxxx +6-7 x: gxxxxgb +4-5 c: cccccc +3-10 q: pzzjqjqpfbqws +4-10 t: ttdttsccttpt +14-18 c: ccrccccccccccccccrc +2-5 x: xxzqx +5-11 c: qbckpccckccccws +5-6 g: gggggg +3-5 n: wknbnnlnnq +9-13 j: jjxjjjnjjjdqjjj +5-9 s: smsxsrfss +2-4 v: vxphvvk +6-7 x: xxxqxxbbx +1-3 g: zrgtghjwd +4-5 n: nmntwnn +6-8 g: ggznggggg +4-5 k: tkkzs +9-10 g: hqdhggggqggk +12-16 w: wwztwmwwspwhmwwz +3-5 m: mmmvmjmmm +3-4 j: jjjj +6-16 z: kzbtzqrkzzcfhvpwjszx +3-9 f: ffwffffffff +13-15 b: bbbmsbbbbbbwbbbbwb +11-14 n: nnnnnnnnnnnnnnv +8-9 v: bvvflvvbjvbtjqrvsxf +1-5 g: gjgnggg +15-16 n: nnnnnnnnnnnnnnwvqnn +12-13 l: lllhllrlllllllll +5-6 l: llmlll +8-9 z: zzqzdzvzzzz +3-4 d: ntdd +4-5 b: sbndbkjxldqpzfbzbqx +2-5 t: bwcfzdlfslsd +4-5 d: dddddd +1-3 t: jtpt +10-12 q: qqqqgqqqqqqmqq +10-19 m: mmmmmmmmmsmmmmmmmgs +2-14 x: xxxxxgxvxmxxxbx +3-13 l: tzljvxspwxdnl +6-10 p: lhnppkpswrppgppzpppn +2-6 j: djgwjjhvpwkcgsfbf +10-11 p: ppppppppprpppppp +7-12 l: lvgcbnlclvjlk +6-11 z: zzzzzzzzzzn +3-5 x: xzvhxnpwbxgxx +4-6 h: hhlrhnl +8-10 b: brngbslhqhb +6-11 s: ssqjxsssdsssss +2-5 s: dbjdjknspbdldfbjd +10-16 z: ctzzzzznzcwzztzl +14-15 j: jjjjjjjjjjjjjjjj +9-13 d: qvdpwddddddddd +10-12 c: ccccchcccccq +3-5 x: xxxxx +13-14 t: ttstttztttttltt +3-16 k: qvfjklgzlwfwnbjklqdx +12-13 g: ggggggtgggggggvg +11-15 j: vqzjvzvxjhjnjtj +7-8 t: tttttttg +6-7 x: xxxxfmn +10-13 m: mmlmmgvfmmmdmmcmmq +7-14 w: wwkwwwwwwwmptwww +17-18 b: bbbbbbbbbbbbbbbbbb +2-8 c: kbvcnrpx +16-17 n: nnnnnnnnpnnnnnngl +10-15 k: kbkjkdkwpkkhkkksklx +2-12 p: pjhdkvwdltvqrhm +2-4 x: vxhxxk +3-5 m: mmfmf +6-8 n: ngnggfnwnn +9-16 b: bnbbbtcbbbvbbrbbbbb +2-8 p: ppphpzppcgptpprhpp +9-12 x: xxxxxxxxxxxx +5-7 d: dknbddd +7-9 r: rrrrrrrrj +3-6 f: fjmfxk +3-4 n: jnnnbjckggnpjnddhx +6-12 d: dznpsfdtdsdndjddvcdd +7-12 x: xxxxxxhqxxxbxbsx +1-2 k: kkfkkkk +4-7 l: lprlqllll +10-13 x: qxxqkjxxxxxxmz +3-8 f: rxfffwcff +4-5 s: cpscszdssc +5-6 t: tttftt +2-6 p: kpvtkprdqhxzpxrbfp +6-12 s: ksnsklwqfssdsbsss +6-7 l: lzlflfl +7-9 t: ttktttttt +8-14 d: hdddzndhsddpfpdxt +8-10 d: ddnddrddvxbzskddzd +11-13 v: mvhvrtvvvvzvrvdv +4-5 g: gggjw +3-6 m: xhmrpm +7-13 k: kkkkkkkkkkkkk +10-13 n: nnnnnnmnngnnnnnn +7-15 m: kcmtmjtmwjmcsbbms +13-16 j: jjjjjjjjjjjjpjjlj +2-4 n: nnmnkn +12-14 j: jjjjjjjjjjjdjj +1-2 c: cchc +9-12 m: mmmqbmlwmmjmzmmml +3-8 r: rrkkrrrt +4-5 k: wckknxkpkktmks +9-10 d: ddddpdddnpx +1-8 q: qmpmxzfqnqctwpprm +10-12 q: sgkfxhqjkqqq +5-11 p: rwpppdlmhpptkbrlp +1-2 d: lzrbxnlcsqhssgdpvjs +5-6 c: scccck +4-5 s: ssshxsssws +3-11 l: nslwgmxmtblzttxxg +10-11 z: zzzzzzzzzzz +7-8 j: bjjjjjqdbjj +7-8 d: glpfjbpdxd +2-4 k: wkvwrk +1-5 c: vtcgcbc +16-17 x: xxxxxxxxxxxxxxxxm +2-11 f: ffffffsfffffffffffff +4-8 m: mrmmmmmmmmmmmm +2-3 x: xvzxx +2-4 h: hxpn +13-17 x: xxxxxxxxxxxrxpxxxx +4-13 q: wcqqtwwmwqqtqmqtqrqq +10-12 d: dddtdqdnjxdzdfdd +13-14 f: jffffsffmffqjff +6-7 d: sxdvddddwqxd +5-11 d: ddddfdddddcdddd +11-14 b: bbbbbbbbbhlbbj +3-4 p: pfpp +4-7 j: jjjgwkgwnfffvfzfl +6-9 l: gknrmjgxtlzcbvkgxb +4-10 n: nnnnnnnnntnnnnnnxn +1-4 r: rjrr +3-4 m: nkmr +9-10 f: fffffffffff +2-6 r: rnhtml +3-12 q: qqkqqqqqqqqkqqqqq +3-10 r: rrnrrrrrrrrrrrrr +6-8 m: bmmmdmmmmdmh +10-12 g: ppdvvxgkhfskfqc +2-10 v: txpvkgvcbqvqfk +1-5 p: tqcvbtp +6-7 z: zzzzzzz +7-16 z: fdjbbkrzjzdbdblhxb +2-4 x: xlkz +4-11 m: glhknzmvqzfmnsbn +6-8 q: qhmdgqvq +8-16 t: tttdtttdtttttttbvt +4-7 v: vptcmgvvjvvvfvvmht +7-8 t: ttttttngt +5-15 t: ztgbttrntttdvgtptjdb +10-12 b: bvndbbbbbbbbbbbbtb +2-3 t: sbqts +12-16 w: wwwwwwwwwwwwwnwww +2-3 m: kmmr +12-15 k: kkmkrkkkkzkdkrgkk +5-13 h: hhhhzhhhhhhhzhhhh +16-17 l: lllllllllllllcllq +1-3 b: bbjb +2-5 t: vtjhmf +4-5 q: vzdqfd +2-3 n: nnnn +7-14 j: jpjjjjjjljjjjjjjj +12-15 j: crsjpjjjqjjfjkv +10-11 t: ttttttttttttt +1-2 j: jjbjsjvhbfssznf +9-13 f: ffmfffffzfffgfff +15-18 g: sgblrqdftpwzggvgqt +19-20 r: rrrrrrrrrrrrrrrrrrvj +1-4 j: mjlt +3-10 x: jxxxxxxxxgxxx +6-7 p: ppptppp +7-8 b: jbmnbmsc +2-6 f: zshfcbhsh +2-5 r: rrrqwtrvclf +3-8 g: chgtwlbg +11-15 n: knnhnnhnnnpnlknnkhnn +3-8 z: zkqlzzpmjph +5-10 b: bbbbhbbbbbbbbbbbbb +6-15 c: ccccdkrncwrcclc +6-7 c: ckcccwdhcc +12-13 t: ntttktttttftttt +5-8 j: jpjzcjjjjj +7-8 k: kpkkksbkkkkkr +9-12 s: sqssssbssxcs +3-7 p: pbbplhtfpktpnppx +5-7 n: ncnnnsn +4-6 s: sssrss +3-16 v: kvvvvvvczvvvvvvvkww +3-6 k: kkkpmk +8-9 h: hhhhhhhmb +7-9 c: czwcccmtckccc +5-7 t: tstglltkt +2-6 c: cccccv +11-14 z: zzzkzqzzzzzvzzz +3-4 d: ddch +4-6 j: jjjjjvj +5-9 c: cccccccccccccc +7-9 j: hjkwpjjbjfsq +4-6 t: tttlcdb +13-15 z: zzzzzzzzzsqzzgzzzkz +8-10 t: ptckdjtsptlmzrktwcw +2-5 n: tnbhnnkvnq +11-12 m: fqmmmmmqmtmkcmmvnwmm +7-8 z: zzzzztvl +6-7 j: jbpjjjjpxmqxcbwsjrjj +2-8 t: ttkdzfwdtflfswlkntt +6-11 j: rnjjjjjjjjj +10-13 f: fwhkbfdfffvfs +5-8 l: pflplntf +3-5 r: rrrrr +16-20 g: gggggggggggggggggggg +1-12 t: xtnsxbjtttxtt +7-9 r: zrrrrrkrnrrrrrrrrr +2-11 n: nrjnnnwnnprnnn +10-12 z: zzzkxzzhznzdz +7-13 d: pdcjdddqddlddcdkdxk +10-15 r: rrrbrrrmvrcphrrqr +1-3 l: rsll +7-8 x: xxxqvrxx +5-14 p: ppcdvppbppppjpbg +5-11 x: dxdxdhkxxvxqxxxfx +6-12 r: pvbfrhqrhftqrrxcrr +4-7 t: zdbtzst +1-13 k: kkkpkghkqkskk +5-17 g: gvggqgggggqmgxggfgg +12-13 l: llllwllllllwf +2-11 b: bbbbbbbbbbbbb +7-17 h: hhhhhhhhhhhhhhhhhh +2-3 w: lwww +2-3 s: vstcs +4-6 s: vssssxss +14-16 r: fmrrrrrrrrrrwwrvrr +6-7 g: dgwgggp +12-16 g: wggxgggrggggzgbgggg +7-9 s: tjhxrscnsscssssnms +3-12 n: nnnnnnnnjnnlnnnnn +7-8 b: zncbmbglqbbbbpgm +12-18 l: lllllllllllvlllllwl +10-16 q: qqqgqfqqqqqrrqgqq +1-7 n: nnnsnrnnnp +10-11 q: qqqqqbqqqqq +5-8 k: bnsfzkkwfkknkccwqkm +4-5 c: ccdcccc +5-9 z: nlsgzzzdz +2-3 k: xkgxhqkpftx +10-13 d: ddddddddhdddddddd +4-6 x: xmjxwxx +14-16 z: zzzzzzzzzzzzzrzq +3-14 n: qnznjvlzdnnrgwfr +7-13 s: sssxsspsssssrz +4-11 k: pkkkcklbkkkk +9-11 x: xxxxxxxxxxtx +4-6 z: zzjzzfz +3-6 d: zddddddz +10-20 c: smccccvcpbccbqcxbccq +13-15 m: mmmmmvmmmjmnnmlpsm +12-13 j: jjjjjjjjjjjjj +3-5 m: pmmbm +7-17 m: mmmmmwcmmdfqrmmhlmm +3-17 g: gcggnggbgdggggggg +10-16 b: sqpsqkfbnbqzswbb +3-4 w: wwwn +5-6 d: dddddpd +12-15 m: mmmmmmdmmmqlmnvms +13-15 j: jjjjjtjjjjjjzjcj +17-18 t: ttttttttjtttttttttt +17-18 d: dcddmchdwbqrllsxjdv +16-17 h: hshghhndnhhfhhhhh +3-5 g: ggggch +6-13 c: ccvccpccccccvcccccc +2-4 h: hbfh +3-9 l: lllptphml +2-3 s: xwrqssfzr +9-13 m: mktmmwmmmmrmmrqmmmcm +8-11 l: rkvxvrglltlc +1-8 q: jfqqxngqnqchq +2-6 x: zxgjxx +5-14 g: mlbgvdglrgcqjgz +4-5 t: tqgtv +2-6 s: ssfnzs +9-11 m: mxwhmmmmmmzm +1-5 d: dbhjzd +2-16 f: fffffffffffkffffff +6-10 b: dbbbbbbbbbbb +5-6 x: xxxmxxcx +7-8 l: lllpllcb +16-17 d: dzdddddddddddddddd +3-10 t: tklkqftnwcj +9-15 g: jccxpmfjgntpptgkkcvt +1-8 r: sdrwgcvprt +4-5 v: nhbwx +17-18 z: zzzzzzzzzzzzzzzzxsz +5-13 l: cbdklqhnklkmwhpp +4-5 f: fffff +1-4 q: qpwq +9-11 x: vxxgrgxxfvvgx +3-4 r: rrfd +3-16 x: sxqxxxxxxxxxxxxwxxx +5-8 s: ssssssss +5-13 b: jbbhqqbblbbbbfcb +17-18 p: ppppppppprpppwppphp +3-9 p: kdpnpfphppvffpwf +7-8 r: jvrrrrrnrpqrn +5-6 m: ncmmdxmm +10-11 v: vvvvvvvvvdl +3-8 g: jlsscggg +1-3 m: gwms +4-5 f: fpkvnf +6-15 j: zfdrxjgxtbkbbjjctmsk +5-6 v: qnnbvvwqvbwqblqd +2-5 v: kvhvt +2-6 x: lxrgsxg +6-8 s: sssxswsjsssxss +1-6 t: dxwjttnqkt +13-14 s: sssssssssssvjg +1-2 t: rtttnf +9-17 h: hjhhhvhhbhhwhhhhphd +2-3 m: mmmwcm +10-12 v: vvvvvvvvvvvv +6-10 j: flcjtzwhwsnjjjrjrj +3-8 d: ddmrddddd +5-8 c: ccccslcrwrc +13-14 s: hpsqtxvkrsssshh +11-15 t: hrxtjgtwtlmpqfx +11-14 l: llbxlsllllqrqlllzlb +3-4 c: crlcvcxwd +3-9 s: vjbsxhwwdvshfxstc +7-8 f: jfhnffbgsfjfwf +15-16 x: ksxqvfsvnxsgvwgpjzl +16-19 g: gggggggggggggggdggg +9-11 h: hhhhhchhzmqhh +2-6 f: kfdlcfrxftzgq +2-8 p: ppnppkpwwmgp +1-2 g: ggfgrg +1-7 n: nnnnnnqwnnn +5-6 h: hzjgthqphwhnjh +10-15 l: xlllllllvlllllll +3-4 l: lzjb +4-6 l: ldzlql +7-12 b: mzlbqzbrqjjbddr +10-13 t: tttttxtttpttt +4-6 d: dddddd +4-5 k: kzvkkrkf +1-2 h: fqml +17-18 f: jhtfdfgmnchprbwbfrf +3-10 s: sjsnsksbdsss +1-17 j: jgcbjmjjjjjcxsjjjjhj +15-16 k: tkjkjbkkrkkkklmgkj +2-13 k: kkkkfkqkkkkkkkkpkk +4-13 d: ddkkdtddzdnnddjdd +1-3 v: fxvnxdvxnrbjs +8-11 s: sssssssssspssssss +1-8 k: khkkkkkkhk +8-9 k: kkktmkkzk +4-9 w: wrqdfwxwnfwwwnmzww +3-5 l: lgtcvl +13-18 n: nnnnnnnnnnqnnnvnnnn +15-17 z: zzzzzzzzzhzzzzqzv +3-5 q: lxnqsvk +8-13 g: rzzwdlzgbcmggct +10-14 d: ddvdbddddnddpd +6-10 d: dphsszqrvz +8-16 b: bnbgfbkbbbqlbcbbgqbb +13-15 d: dddjddmqndddddddvjdd +8-11 q: tnhgqkqfpjhwqgktq +1-3 n: nnnbn +11-12 f: fwfffbfcvflff +7-8 s: sssglsvssvls +2-5 z: zzzzzzzzzqjzz +2-11 m: mhzrwphzxgj +4-6 k: kkkwkd +8-15 m: mrmmmmmzmmmmzmgmm +1-7 w: wwwwwwxwwww +1-3 l: nllllllll +4-5 m: zbshj +3-9 x: xssxqxxxsxkzx +5-9 d: dnpfhsdmrxbvgxqrs +7-12 r: vhrgcnxrvksg +8-10 c: ccccccctzv +16-17 l: lllllllllllllllhl +6-15 n: nnnnnnngnnfhwwzsnnn +6-19 z: zzzzzlzzzzzzzzzzzjv +7-12 b: bxfbbwsjtbbvbqvbmbpb +5-14 g: gggcjggggggggmgg +5-8 d: wdddddkdpd +4-17 x: xtxxxxxxxxxxxxxxmkx +4-10 c: cccccccccjcscv +9-11 v: ttjzfjldvvmswpqt +5-8 r: tjrwhzgfrkgfq +5-8 m: cvhsmnzmncsfmbqmm +7-8 z: krctfpzz +2-6 w: mlnlswvh +12-15 t: zrntxzttqlthfdttt +1-8 r: pkcsjkrrrzxxsfnjw +5-15 p: xbhpkpnngpqvpcwdppg +3-4 t: tttt +8-11 j: wjjjmjjjjjqp +8-14 h: gjslnklhhkhthxh +2-6 q: qqlqqq +3-6 p: pppgppppppppppp +7-11 l: llhllllrllllxldllll +11-12 d: lddkdddddddddd +4-12 z: zwlzzqsvvclw +15-18 c: tflkxflqccwkmlckck +8-12 h: hhhhrhhhhfwhhh +6-9 r: rrrmrjrrvkrrjrdr +8-19 k: tmdlkcktbkkskvkbkbz +1-13 s: ssssssssssssss +4-5 v: xtcfvx +1-15 s: shtssssswghsfsss +2-4 k: krkl +7-12 q: dxqqqhqqqtqj +1-5 r: rrrvvrrrr +5-9 t: ttrttftxztnhtvkcmtth +7-9 g: gngkcggrg +12-13 z: zzzzzzzzzzzbk +3-4 l: lslllc +4-5 t: pqchpk +5-6 h: hhhhml +15-16 h: qhhhhhhhhhhhhhhhhhmh +5-6 d: ddddfs +1-6 d: dthfdzddfnsdddm +14-15 d: ddddddddndhtddsdnddh +5-7 j: qjjjpjplljjc +2-6 q: qqqqqqq +3-4 b: bbbb +5-6 s: ssssjjs +1-6 b: bbbbfb +7-13 m: cpvmbbnnrmzwf +2-4 f: fnhn +6-7 d: gdktlddrdlvmqdtddpzv +4-5 w: cwlww +6-9 z: zmdrgzlmzx +5-10 m: mjbjmmmlmmwxm +2-4 s: ssnhht +8-16 t: tttttttdtttdtttjtt +3-5 z: wxgzhtswb +13-14 l: lllllblpllllchll +4-8 g: vggqzvggnggggggggg +8-9 h: hhthkshhpnhqhgh +4-7 l: hglxklpl +2-3 w: mkmgkwzwmw +6-7 h: hhhhhrz +4-6 f: tdffff +1-7 l: lmfhgqschjqglrvwwnnz +12-13 g: gggggggggggfhggg +2-10 m: ntmmmdjmmmsvmm +1-2 s: sqsssssssssss +3-8 f: frnthfcfxfft +7-16 w: wwwwwwmwwnwwwwmk +11-13 j: jjkjrjjjjjjjjjd +3-4 s: ssvc +3-13 t: ddttttnnqpqztzbbdv +3-5 g: gggggg +3-4 r: rrrzlklfljqvz +5-12 m: kdgmmrszqpfsbmz +11-14 g: gqgvzgxhgbtngxggh +7-16 k: qqptmhhfkhsgkhbmkx +5-8 p: ppppptppp +2-17 x: vxtxpvnxvlctrcpfxxx +2-3 w: bwmwjwwwwwtnqwxc +4-5 g: gggggg +4-7 z: znzwzzzs +4-5 v: kvvvv +10-14 r: rrrrrrrrrbrrrx +4-5 t: xtttt +4-11 w: wwwwwwdcmkrwx +6-7 c: ccccccjc +12-14 w: wkwwwwwwwhwlwwwk +5-9 s: hmssssssssss +2-4 r: rrrjsh +12-13 m: mmmmmmmmmmmmmx +3-5 s: sshsvssss +4-5 l: xllwnshchfdfk +16-18 w: wwpwwpwwwmwwzwwtwwww +2-9 c: zsfgbrrprlszrr +10-11 n: thnmfndnnbnnbhnnnn +13-14 v: vvvcvvvvvvvvvvv +3-4 n: rwcm +14-15 t: tttttztttttttpjt +5-8 j: jjjjwhjdj +5-8 f: fffffffm +6-7 z: zzqzzzz +12-19 j: kjrfnsjnhjdzgqpcjzvh +3-7 p: pxpdvcqdptxpvk +1-4 c: wccqj +1-2 w: pwsqhwjdhcm +2-3 b: bfbn +10-19 q: qqqqqqqqqtqqqsqrqqq +5-8 p: pppppppppppppppp +10-13 g: rjghslgbggkgjdgvp +3-9 z: fnnfzzdnf +9-16 g: tlgtgggggggggggqm +3-12 r: rrrvccrrvbdbncrrr +1-4 v: jvhbv +15-16 v: vvvdvvcvvvpvvvvvvvv +3-4 g: ggggg +7-8 w: wwwwwwmpw +4-9 s: gkxshzkpssc +2-8 q: pqttnpqqqfwqs +3-4 n: nlnp +3-4 h: phhh +16-18 g: hqsxhmmpfgggmgpqhrjg +15-17 w: wwgwwwwwwwwwwwmwl +7-9 x: xxxxxxmxv +1-7 s: ssssssbs +1-3 x: dxlxxx +3-6 p: wpxppq +5-7 c: clcclcfcbccc +3-5 s: sbmst +3-5 d: xqmdn +5-10 z: zbzwfddkzzc +18-19 d: dpdddddddddddddddwcv +3-4 r: rrrr +8-9 f: ffnffffwd +12-16 h: hxnlxghzkpcpdhqqvl +6-7 m: jngclmm +5-13 m: rmmmpmrmmmmmjmmmm +1-3 f: dfwfs +7-8 l: lclllwllll +16-18 j: jjjjjjjjjjpjnjjgjbj +12-15 f: fffffffffffnfftfffff +9-13 w: qbnpmklbwxdbbwkklpwb +1-3 j: mjkj +1-3 h: hphwdh +3-5 x: vrxxb +1-15 v: mvvvvvvvvvvvvvj +8-12 v: lvzfvzvvnjtvvvvvv +4-6 g: gggvggggg +13-20 l: zdllslnlxslqpnvgwlwm +2-4 l: lllhll +3-14 k: kckzddtzbmvkpkhb +4-5 k: hbkgbxzj +2-4 p: lppp +2-11 r: rrrrrbrrbrrrrwrrrwr +4-7 k: knkqkkk +7-8 r: njrrrrrrrr +4-7 h: phhhnhdhc +4-5 r: nsnrrfktwbbhrrrh +4-5 q: qqzvzsvkq +6-7 b: jbbbbbbbkbgb +5-11 f: ffffcfffffgff +12-16 v: vfvvqvvdvvvlhvzjvmzv +9-10 v: vvzvvtvvjgvv +1-7 v: vvvvvvvv +3-12 z: zmncxhrdzdmtcbxtlrzq +3-7 r: rbfbrjrr +12-13 n: nnnnnnnnpnnldnn +5-12 j: jjjjjjjjjjjlj +3-6 s: sssfsgss +13-17 h: hhhfhhhhhhhhvhhhhhhh +5-10 g: gggxkggggvg +1-4 b: hbbtb +14-15 t: tttttttttttttnb +7-14 d: ddddddddddddddhdw +15-16 d: rbdddbdwmjdhmpdd +7-13 s: kxpdntprmskcs +3-5 m: gmdmpj +4-5 j: jjjjjvjsj +1-14 q: qmqqqntqcqxmqsqkqq +4-5 q: tqxqq +8-11 m: mmmxmmmvmmv +5-8 q: qqqqrqqw +5-15 d: dqdddddddddddvspd +1-4 t: tttttt +12-15 z: dhzzxwfjgnzhzxt +8-11 v: kdnmfnmqvvdvqdlvk +16-18 s: sssssssssssssssjstss +2-5 c: ccwdccc +3-11 x: nxjxxxxxxxxxxx +13-15 v: vvvvfvvqvlvvvvvv +4-11 s: sssszssnqjsbsvs +9-18 j: gxhjjjjjnjjsjjjrjjjj +3-4 t: ttfttt +9-10 s: qzgxjhpsss +9-10 q: qqqqnrtxrqqsqqq +6-13 k: kkkrgspkkkpwjshmk +9-12 h: xhhhmhbhhhdhh +3-12 g: gfgggggjgggggggggg +13-15 z: zzfzzszzzzzzvzzzhzw +5-15 m: mzrmmmmndchfzmmrr +5-10 z: zzzzzzmzzh +4-5 s: wscfc +3-6 m: kmmtmm +5-7 h: hhhhchh +4-14 w: wwgwwwqwsfrjvmbwj +2-9 v: vwvvwvmjcqnxv +9-10 x: qxxhfxchrx +17-18 x: xxxxxxxxxxxxxxxxwp +4-6 v: vvvvvtv +11-14 l: lcqlclllllrlddxlzll +1-4 r: trrn +10-13 h: thnsxphnfgvhvq +11-12 s: sssssssssshsss +10-11 z: rqpzszzmzdz +3-6 q: qrqqqq +5-6 h: hhkhhhh +8-16 h: wqhjvhlgwtsgvlpf +3-6 f: gqfpcfsfhfjgrbqv +3-5 l: lqllsrjlv +6-10 v: vvvvvvkvjv +3-8 t: gtttcbnkxxstttd +2-6 j: jjjjbjz +10-15 j: ftwjtfzjmjsvwjj +8-11 d: ddsksddddzfd +2-3 b: bhngbb +14-16 c: mllmcbfxwxrqlcjcw +7-8 q: qqqqqqdv +5-6 s: slkzlfvg +3-5 q: qqqqq +3-12 p: pddpdpszrppxcpjgv +11-18 r: rrrrrrrrrrprqrrrrr +3-4 c: cscckcxcn +11-13 g: gvgwmlngggqggrtgtkg +5-7 b: smfpbbb +7-18 l: sqmlklvkqfjrgtqhzr +6-7 k: kkpqqfgz +7-9 n: fnndnnxnndn +11-12 c: ccccccccccxv +6-9 d: dddvdddddddvd +1-4 v: nvjfv +3-8 g: gggggggg +6-7 x: xxxxxxx +4-5 c: scccc +6-13 q: nchlfqqqlqnqqqtq +1-8 r: srrrrrrnrrrrrrr +4-5 p: sdpscpppp +9-11 r: rrrdrkrrrqg +3-5 m: xwmscmmm +7-11 r: rrrfrrrrkfrvrf +4-6 b: bbfbbb +4-9 v: rblrvrvpvz +2-8 w: wwwvwgwww +8-9 w: wwwwwwwwzw +16-18 t: ttttttttttttttttttt +8-9 n: nfrzsdjxr +1-2 w: wwfwwmfbww +2-4 s: dfsksft +1-13 d: dwdrccnddqmndcl +1-4 f: qfflf +3-7 d: dnddjpdfgc +3-5 l: lkglx +1-13 j: jjjjgbjtpjjhd +15-16 j: jjjjjjvjjjjjjjjjdjj +4-13 t: tttxztttttttkt +4-5 m: mmmmm +4-6 j: jgjrjwjfjx +8-11 t: ttbjttvttsttdqtn +14-15 w: wwwwwwwwwwwwwkjw +1-6 x: nrscxn +3-13 w: wwwwwvgnwbwwwwwwv +12-15 p: pppppppppppjpppppppp +5-11 v: vvvkvbvwkwnvvvsxvv +1-11 m: mmmmmmmmmmtm +10-11 c: cccccccccwc +5-8 f: xvgstwfxfhxknds +12-13 t: tttttztttttttt +4-17 k: vkpkfkkkqnkqnkgkkknk +9-12 k: kkwpzpdzxhxk +14-17 v: fgvvvvvvvvvvvjpvv +7-8 k: kndnqkkk +7-11 c: gfcbccccjvcskcmrcxc +4-5 n: ngtnr +3-12 k: mtcfszkdhkdkd diff --git a/AoC2020/inputs/input03 b/AoC2020/inputs/input03 new file mode 100644 index 0000000..22eee0b --- /dev/null +++ b/AoC2020/inputs/input03 @@ -0,0 +1,323 @@ +...............#...#..#...#.... +...#....##.....##...######..#.. +....#.....#.##..#...#..#....... +...#..........#.#....#......#.. +....#.#...#.#.......#......##.# +....#.#..........#.....#.##.... +##...#.#.##......#......#.#.#.. +#.#.#........#....#..#.#....... +..#...##..#..#.......#....###.. +.#.#..........#...#........#..# +.#..#......#....#.#...#...#.#.# +..#.........#..##.....#.#.##.#. +.#......#...#....#.....#......# +........#..##..##.........#..#. +.....#....###..#....##........# +.###...#..##..#.##......##...## +.#...#...#..#.#..#...##.....#.. +.......#....#....#.#...#....... +.##.......#.##...#.#...#..#.... +#.#...#......#....#.......#.... +..###...............####...#.#. +.##.#....#......#..#...#.#..#.# +.............#.#.#......##..... +#....#.#.#........#....##...#.. +...##....##...##..#...#........ +..##......#...#......#...###... +...#...##......##.#.#..#....... +#......#..#...#.#..#......#..## +.#..#..#........##....##....... +.#...........###.###.##...#.... +............#.#...........#.#.. +#...#........#...#...#..#.#.#.# +...#.......#.#.#..#.#.......... +......#..#..#....##..##..##.... +........##...#......#..#.#..... +..#.#.......#......#........... +#.#.....#......##..........#.#. +#.....###.#...#...#..#....#...# +.##.#...#............##.....#.. +###....#.#.....#.......##...... +##.......##.....#..#...#..##.## +....#.##............###...#..## +.###..#...##.#..#..##..#....... +.##.##..####.....#.........#... +....####..#...#....#.#...#..... +..##....#..#......#...........# +..........#......#..##.......#. +.................#.#.#........# +#.......##.#...##.......##.##.. +.#................#.#.....##..# +......#..#............##.#..... +...##............#.....#.....#. +##.###.#.......#....#.........# +......#.....#.#.#.#......#..... +......#.##......#......##...... +..#....#...#..#.....#..#....#.# +.#.##.##.....#.......#.......#. +...#..#.#......##....##..#..... +.#.....#......##...#..#.#....#. +..#......#....#..#..###.#.#.... +.....#........#.#...#..#.#..... +....#.#.......#...##.....####.. +#..#..##...#...........#...#..# +.#..#...#.....#.....#.#.....#.# +..##..###.....#...#.#.#.......# +#..##.##......###..#......###.. +#..#...#.......#....#.#...#.#.# +...........###..#...#..##....#. +.....#...........###.......#... +##......#.......#......##.#..#. +#.................#........#... +#.#.............#......#...#..# +......#.#....#....#....#....#.# +..#...#....#..#....#....#..#... +#....#......#..#...#..#....#.#. +..#.....#..#...#...#.......#... +.#........###..##.#..#......... +.....##.#.....#..###..#........ +...#...#.###....######......#.. +.###.#..#.....#.....#..#...#... +##..#.#......#.........#...#..# +###...##..###.......#..##.#.#.# +.#...................#..#...##. +.#...#...###...#.......#......# +....#.....##....#...##.#...#.## +..#....#......#...#..###....... +.........#..........##........# +...#.........##..#....#..###... +......#.##....#.#........#.#.## +....#..#...#.............#....# +#..#.....#.#.....#....#........ +....#..#...####.#.###..#....... +.....#....#....#..#..#.#.....#. +#..##....#.....#.#............. +.##...#..#.......#...##.###.... +##......#...##....#......##.... +#......#.#......#.#..#......#.. +.#...#......#............###..# +.#..#.#.....#.#.....#..#....#.. +.#............#...#..#..#...##. +...#...#....#.#.#....#....#.... +........#......###.#....##.##.# +......#.#..................##.. +..#..#........#..##..........## +.#...#.#....#####.#.#..#....... +.....#..#.#..#.....#.#........# +#.#..#..#.#..........#..#..#... +.##........#.#.......#........# +.....#....#..##...#......##.... +....#.##.##...##.#.........#.#. +...#...#..#.#.......#.......#.. +.................##..#......... +..##.##....#...#.##.......#..#. +....#...........#.....###....## +.#..................#.......... +....#.##....#......##.#..#.##.# +#......#..#.#....##...####...#. +#.....#.#.##...........#.##...# +.......#...##..#.........##.... +.#...#..........##......#..#.#. +#...#.#......#.....#........#.. +........#.....#.......##......# +.#..#...........#...#..#..#.... +......#.##......##.#......#..## +......#....#..#................ +##.#.......#......#..#....##.## +..#...###..#.......#...#.#....# +.....#...#.........#.....#..#.# +..#.....#.........#..#...#.#... +.#.........##..#.#...#.....##.. +..........#.#.#...#....#....#.. +....#.###.#..#..#..#.#........# +..#...##...##.#.#.....#.#..##.. +.#..#......#.####..#.......#..# +##.......#.....#.#.#..#...##..# +.##......##...##.........#..#.. +..#.##..#......#......#..#..#.. +..#..#.##..#........#....#.#... +##.####...##.#..##.........#..# +.#.......#.#..#.....#.##....... +........#.........#...........# +..#...#.####.....##.##.#....#.# +.....#..##.#..###.##.#.#...#... +#..##..##....#...#....#...#.... +.###.#....#..#.......#......### +.#....##.....#.#........#...#.# +#.#.#..#..#...#....#..#.....#.. +....##...#.##..#............#.. +##......###...#...#...#....#... +#.#...#.#..#..##.##..##..#....# +.#...#.#....#..##.#..##..#..... +.............#..#..#.#.....#... +#........#..........#....###... +..#..#......#...#........#..... +.#..#.............#.........#.. +#.....#....##..#..#.#.#..#..... +...#......#.........#.#....##.# +..#.......##....###..#......... +.#.......#......#.............. +.#...##.....##...###.#....#.#.. +......#....#.........#.......#. +##.......#..##....###.#.....##. +.....#......####.....#......#.. +....#....#..###....#.....##...# +...#...#.#........#.....#..#.## +#..#....#.#...###...##.....##.. +#.....##...#.#............#.... +##....#.......#.#.#....#.#.###. +#........#...#...####.#....#.#. +.##.#......#........#..#.....#. +...##.#.......#...#.#.##..#...# +......#.........##..#....#..... +.#......#...........#......#... +......#.#.#.#..#.#....#....#..# +##.................##...#.#.... +........#.........#..#..#...### +.#........#........#....#..#... +....###.##.##......#.#...#....# +#......#.#..............#...... +.......#..#....#..##.........#. +#............#....#............ +#...#.#.........##..###...##... +.#....#.#.#.....#..#..##....... +.............##.#.#.......#..#. +#...#..##.#..###.....##..#..... +...#.#.....#...#......##.#..#.. +#..........#.##.#...#...#.#...# +...#.#...#.........#.#..#.#..#. +#....#.................#....... +..#..#.#.#..#.#..##...#.#...... +..#....#.#.#...#.....#...#..... +#...#.###......#.......#..#..#. +#.#.##.##..............#.#.#..# +#..........#.#.........#.###... +...........#.......#.#..#...... +....#.#..#....#....#....##..... +#..#...##########.........#.#.. +..#.............##........#.#.. +#.#.##......#...#.#....##..##.. +..##..#.#.#....#......#.#..#.#. +.#.#...#................#...... +#...#...#.....##.#...#.......#. +.....##.......#...#......#.##.. +....#.##..........#.#.##....##. +...........##........#.#.#.#... +..#...........###.#....#..#.... +..#.#...#...#.#........#.....#. +.##......##.....#........#..... +....#.......#....#...#.##...#.. +.#.....##.....#...##........... +#....#.##.##...#...###.#####... +..#.#......#.#.......#....#..#. +..........#...#...........#.... +.........#..#...#...#......#.## +.#...#.#...#.###.##..#........# +#....#.....#.......##....#..... +#.....#..#.....#...##.......#.. +#.#.#.#.............#.....#...# +...#.....#.....#............... +..##.###.#.#........#.........# +...##..#.##..#....#.#...#.#.... +...##...#...##.#.........#.#..# +.###......#....#.........#.#... +###.#.#...#.......#...#.....#.# +...#.#.......#.....####........ +......#..#.....###.#....#..#... +..####...#...#..#......#...#... +#..............##....#......##. +..##..###...##..#.#.........#.. +#..#.#...#.......#.........##.. +..##....#......#...#..##....... +..#.#..#..###.....#.....#...### +.#..#.##.....##.#.#.#........#. +..#.#.........#................ +..#...........#.#...##.#...#..# +.....#........#..#.....#....#.. +#.#....#...........##.....#..## +##.......#.....#.....#.#......# +.##............####.#........## +....##.#.....#......#....#...#. +.#.#...##.#..##..#..........#.. +..........................#.... +##..##..#..#.#....#.....#...... +...#.#........#.#.##.#.....#..# +#..#....#...#..#...#........#.# +#.......#####...#..#..#.#...... +#.##....#......#......#..###... +..#.......#...........#.....##. +#...#....#..#......##...#...... +...##.#..##........#..###...... +##.#...........#.............## +#.....#..#.....#.....#......... +.#..........#..#......###...... +...#...#..##.......#...#...#.#. +..####......#.....#..#.#......# +....#..#.....#.#............... +.#.......#....#.....#..##....#. +.....#.........#..........##... +#...........#..#.....#........# +............#..##...#...#.#.... +##.............####...#.....#.. +.....#......#....##.#.....##... +...........#.....#.#..#.#...... +.#.#......#....#.............## +##...#.#.......##........#..... +#..#.....#.#.......####...#..#. +....#.#...#....#.###..#..#.#... +.....#.#..#......#.##.#####.#.. +.....#....##..........#......#. +#.......#........##.......##... +#...#..#..##.#....#...#...#.... +...#..##..#...#..........#..... +#..#....###.....#......##...... +...###......#.....#....#....... +#.#...#.#..###.####.......#.#.# +...#......#.#..##..#.....#..... +#.#............#.....##.#...... +#..#......##...##..#...#.#..### +#.....#...#..#..#....#..###.... +####..###....#..##....#..#..... +..##.#.....#.......##....#.#.#. +##..#.#.......#.#...##.#..#.#.. +..#.#.#.##.#.#.#...........#... +...#.##.....#....#..#.#..#..... +...#..#.........#..........#..# +#...#..#.....#.#.#............. +##.#....##.##...#...#..#..#..#. +....####..##..##.#..#...##..... +##.....##.#.#...#.#.......###.. +#..#.#....#......#.......##...# +#.#...............#..#..#...... +.....##...##..#........#......# +.#..#............##......#....# +......#.#..#..##.#......#.....# +..#.#.............#...#......## +....#.#..#..#...##...#..##..... +#.#.............#...#.#..#....# +#..#..#.##....#....#...#....... +....#..#..........#.....##...#. +..#####.......#...#..........#. +....#......##.......#..##.#.#.# +#...#.#.....#....#....##....... +..##.#.#..#.#...#.....##.....#. +#.#..#....#............#..#.#.. +...#.##..##..#.#...###......#.# +......##.......#....#......###. +....#..##.......#..#.#....#..#. +#............#..........##..#.# +..#.....#..#.#..##..#....##.#.. +.....#.....#....##.#.#......#.# +...####.......###..#...#.#....# +.#.##.....##.....##..#..#...... +...#..###..##.................. +##..##.....#.#..#..#.#........# +.#.#........##.........#....#.. +........#......###....#...#.... +......#...........#...........# +.#...###...#.........#.#...#..# +.....#..........#......##....#. +.#.#...#........##.......#.#... +.....##.....##....#...#...#..#. +..#.....................##...## +#..#.#......##...##..#......#.. diff --git a/AoC2020/inputs/input04 b/AoC2020/inputs/input04 new file mode 100644 index 0000000..265a60a --- /dev/null +++ b/AoC2020/inputs/input04 @@ -0,0 +1,1009 @@ +eyr:2029 iyr:2013 +hcl:#ceb3a1 byr:1939 ecl:blu +hgt:163cm +pid:660456119 + +hcl:#0f8b2e ecl:grn +byr:1975 iyr:2011 +eyr:2028 cid:207 hgt:158cm +pid:755567813 + +byr:2002 pid:867936514 eyr:2021 iyr:2012 +hcl:#18171d ecl:brn cid:293 hgt:177cm + +hgt:193cm +iyr:2010 pid:214278931 ecl:grn byr:1953 +eyr:2021 +hcl:#733820 + +iyr:2010 eyr:2020 hcl:#866857 +byr:1934 pid:022785900 +hgt:161cm ecl:oth + +hgt:166cm +hcl:#602927 +cid:262 ecl:brn pid:393738288 +eyr:2021 byr:1928 iyr:2010 + +ecl:grn hcl:#6b5442 +cid:317 byr:2001 +eyr:2023 iyr:2016 pid:407685013 +hgt:177cm + +hcl:#86127d ecl:grn pid:113577635 iyr:2018 +hgt:180cm eyr:2022 cid:59 byr:1921 + +byr:1984 eyr:2023 +iyr:2015 hgt:152cm cid:177 ecl:amb +hcl:#fffffd pid:379600323 + +hgt:154cm byr:1930 ecl:amb +cid:101 hcl:#fffffd pid:919013176 +eyr:2024 + +hgt:76in hcl:#a97842 byr:1920 pid:612193949 +cid:337 eyr:2026 +ecl:gry + +cid:262 iyr:2016 ecl:hzl hcl:#efcc98 +hgt:159cm eyr:2020 byr:1974 +pid:520627197 + +cid:302 eyr:1956 hgt:158cm hcl:#3355a2 pid:282247859 +iyr:2015 +byr:1979 ecl:gry + +pid:156126542 +eyr:2025 +ecl:amb hcl:#733820 hgt:187cm +byr:1938 iyr:2020 + +hcl:#341e13 byr:1952 ecl:blu iyr:2015 cid:230 eyr:2023 hgt:59in pid:955240866 + +pid:783635907 eyr:2020 hgt:186cm ecl:grn byr:1925 iyr:2013 hcl:#341e13 + +byr:1921 iyr:2019 eyr:2027 hgt:175cm +pid:355931973 hcl:#18171d +ecl:oth + +hcl:z +byr:1947 pid:164cm hgt:146 ecl:hzl +eyr:1976 iyr:2014 cid:160 + +pid:686203227 +iyr:2014 hgt:170cm +byr:1985 ecl:gry eyr:2023 +hcl:#c0946f + +hgt:192cm +iyr:2016 byr:1954 +hcl:#c0946f eyr:2022 +ecl:oth pid:371575068 + +iyr:2013 pid:877594317 hgt:72in +cid:236 byr:1922 +eyr:2023 ecl:brn hcl:#ceb3a1 + +hcl:#602927 pid:277638047 byr:1944 hgt:178cm iyr:2019 eyr:2028 ecl:blu + +ecl:hzl byr:1979 hcl:#a97842 iyr:2019 eyr:2022 cid:91 hgt:164cm pid:371132831 + +cid:346 iyr:2019 pid:335209743 hgt:178cm byr:1993 +ecl:hzl hcl:#341e13 eyr:2030 + +hcl:#ceb3a1 pid:863130968 byr:1964 ecl:brn +cid:94 iyr:2012 +hgt:153cm + +byr:1980 hcl:z eyr:2039 hgt:65cm +ecl:lzr pid:96101128 iyr:2024 + +iyr:2017 eyr:2027 +ecl:grn +byr:1956 hcl:#888785 hgt:174cm +pid:565437685 + +pid:769106108 cid:77 +eyr:2024 +hcl:#602927 hgt:164cm ecl:gry +iyr:2017 byr:1947 + +iyr:2019 +ecl:gry +hcl:#fffffd hgt:187cm eyr:2022 cid:212 pid:475618502 byr:1993 + +hcl:#623a2f ecl:grn +hgt:191cm pid:166515049 iyr:2018 byr:1971 eyr:2022 + +iyr:2011 eyr:2029 byr:2029 +hcl:2912ec +pid:15469000 hgt:150cm +ecl:#4ddfb1 + +ecl:grn byr:1941 pid:273390626 hgt:166cm eyr:2024 iyr:2010 +hcl:#888785 + +iyr:2015 ecl:amb eyr:2030 +hgt:156cm +cid:301 hcl:#18171d pid:677032916 +byr:1957 + +ecl:amb iyr:2010 +byr:1967 +eyr:2021 cid:128 pid:104999760 hgt:162cm +hcl:#c83b73 + +eyr:2028 cid:173 hcl:#7d3b0c +hgt:161cm pid:810244270 ecl:gry byr:1930 iyr:2013 + +byr:1975 pid:7243957480 eyr:2028 hcl:#cfa07d iyr:2019 hgt:184cm ecl:blu + +byr:1953 pid:807621409 eyr:2020 iyr:2017 hcl:#ceb3a1 ecl:blu hgt:157cm + +pid:976089116 byr:1920 eyr:2020 iyr:2011 hcl:#733820 hgt:166cm cid:330 + +pid:896621814 hgt:179cm ecl:blu +eyr:2027 +iyr:2014 +byr:1965 +hcl:#a97842 + +iyr:2015 +pid:827722366 eyr:2024 hgt:188cm hcl:#ceb3a1 byr:1963 +ecl:oth + +iyr:2014 +byr:1959 hgt:150cm hcl:#602927 pid:948589059 eyr:2027 ecl:oth cid:215 + +eyr:2029 +hgt:171cm iyr:2019 hcl:#e9317f byr:1926 +ecl:gry + +eyr:2020 +cid:260 hgt:155cm iyr:2011 +byr:1948 hcl:#602927 pid:651156700 + +eyr:2027 hgt:188cm +hcl:#873cdf iyr:2019 pid:738493109 byr:1979 +ecl:hzl + +eyr:2025 +ecl:oth iyr:2012 pid:563787480 +byr:1978 hgt:164cm +hcl:#18171d + +iyr:2012 eyr:2028 hgt:190cm ecl:blu byr:1971 +hcl:#6b5442 pid:758307028 + +cid:186 +ecl:amb eyr:2027 +iyr:2019 hcl:#c0946f hgt:165cm pid:904275084 byr:1997 + +pid:382971064 byr:1932 cid:77 iyr:2010 hgt:158cm ecl:brn +eyr:2027 hcl:#602927 + +hgt:156cm eyr:2028 pid:249987568 iyr:2020 +byr:1956 +ecl:grn hcl:#fffffd + +byr:1947 +pid:190618020 +ecl:blu +eyr:2023 +hgt:192cm iyr:2012 hcl:#b62955 + +eyr:2022 hgt:191cm pid:699194379 +hcl:#f0a94b iyr:2020 byr:1996 +ecl:gry + +ecl:brn hgt:69in +pid:368841807 byr:1971 eyr:2020 iyr:2020 +hcl:498a57 + +hcl:#cfa07d +iyr:2012 ecl:gry +pid:034993671 +eyr:2028 byr:1934 +hgt:156cm + +iyr:2013 hgt:65in byr:1937 hcl:#fffffd +ecl:blu eyr:2028 pid:777520867 + +hcl:#c0946f +byr:1965 +eyr:2023 pid:289861622 ecl:gry +hgt:185cm +iyr:2012 + +eyr:2023 hcl:#cfa07d +iyr:2012 hgt:62in pid:447717379 +cid:309 byr:1977 ecl:hzl + +byr:1934 +ecl:amb pid:385150170 +eyr:2025 hgt:178cm +hcl:#efcc98 cid:294 +iyr:2012 + +eyr:2029 +ecl:gry iyr:2015 pid:396708902 cid:107 byr:1983 hgt:160cm hcl:#341e13 + +hgt:158cm ecl:oth hcl:#cfa07d +pid:032310453 +iyr:2012 +byr:1945 +cid:60 + +pid:304883665 byr:1932 ecl:grn eyr:2022 hcl:#a97842 hgt:174cm iyr:2014 + +cid:321 hgt:186cm eyr:2022 hcl:#623a2f byr:1952 +iyr:2019 pid:857917879 + +hcl:#ceb3a1 hgt:157cm byr:2002 +iyr:2017 cid:245 ecl:amb +pid:142383109 eyr:2022 + +hgt:176cm +byr:1999 ecl:oth hcl:#5e0906 pid:101108193 eyr:2029 + +hgt:168in pid:8803058749 byr:2013 hcl:z iyr:2027 + +byr:1986 +eyr:2023 pid:108222056 +hcl:#c0946f iyr:2012 hgt:71in ecl:grn + +byr:1955 hcl:#a97842 ecl:blu +eyr:2020 pid:164459538 +iyr:2018 hgt:175cm + +byr:1950 +hcl:#341e13 +ecl:grn hgt:177cm cid:273 pid:473932418 eyr:2025 iyr:2010 + +pid:366720897 hgt:187cm hcl:#866857 +byr:1967 cid:178 iyr:2014 ecl:amb +eyr:2027 + +iyr:2018 +hgt:174cm +eyr:2024 +pid:478505944 byr:1938 hcl:#341e13 ecl:amb +cid:181 + +hgt:180cm pid:178969784 eyr:2025 ecl:brn +byr:1938 hcl:z +iyr:2013 + +iyr:2016 pid:447434977 hgt:71in hcl:#733820 +eyr:2023 ecl:amb byr:1950 + +cid:173 +byr:1945 ecl:oth iyr:2010 +hgt:163cm hcl:#a97842 eyr:2025 +pid:418871498 + +hcl:#623a2f +ecl:hzl byr:1937 iyr:2018 pid:017817627 eyr:2026 hgt:163cm + +hgt:162cm +byr:1982 iyr:2012 cid:123 pid:099838535 +ecl:hzl +hcl:#efcc98 eyr:2021 + +pid:041801541 ecl:brn +hgt:184cm iyr:2013 hcl:#6b5442 +byr:1969 +eyr:2020 + +ecl:oth pid:314689468 +hcl:#fffffd byr:1934 +eyr:2023 +iyr:2019 hgt:151cm + +eyr:2021 +pid:206164494 ecl:amb hgt:158cm iyr:2014 + +eyr:2024 hgt:162cm hcl:#cfa07d +iyr:2015 pid:269887041 byr:2002 + +hgt:179cm +byr:1953 hcl:#a87847 pid:966876004 iyr:2016 cid:193 eyr:2022 +ecl:oth + +ecl:blu cid:111 +iyr:2019 +byr:1955 pid:659491942 +eyr:2028 +hcl:#602927 +hgt:179cm + +eyr:2030 iyr:2011 ecl:oth cid:83 pid:160688997 byr:1994 hcl:#602927 +hgt:180cm + +ecl:brn eyr:2025 +hcl:#130738 iyr:2012 byr:1950 hgt:167cm pid:686738997 + +hcl:#c0946f +byr:1937 pid:208013639 eyr:2026 cid:309 hgt:155cm ecl:hzl +iyr:2015 + +ecl:amb +eyr:2022 pid:181247866 +byr:1949 hgt:191cm hcl:#18171d iyr:2015 + +hcl:#3fd612 eyr:2025 byr:1981 ecl:gry hgt:184cm iyr:2010 + +byr:1969 ecl:amb pid:770110016 iyr:2012 hgt:193cm hcl:#7d3b0c eyr:2020 cid:171 + +byr:1937 +hgt:162cm iyr:2020 ecl:blu hcl:#866857 eyr:2020 +pid:057170032 + +pid:516772675 iyr:2018 +eyr:2027 byr:1962 cid:233 hgt:176cm hcl:#623a2f +ecl:hzl + +pid:909808739 hgt:165cm iyr:2018 hcl:#18171d eyr:2028 ecl:hzl +cid:254 + +eyr:2025 +iyr:2011 hcl:#a97842 hgt:65in +byr:1981 ecl:blu pid:722094416 + +eyr:2027 hcl:#866857 byr:1953 pid:532811620 ecl:gry hgt:192cm iyr:2010 + +hgt:161cm hcl:#7d3b0c byr:1983 ecl:grn +pid:242124004 eyr:2021 +iyr:2017 + +eyr:2027 cid:240 byr:1955 pid:969478946 ecl:brn +iyr:2011 hcl:#341e13 + +iyr:2013 +eyr:2030 +pid:032502598 byr:1945 hcl:#efcc98 hgt:162cm +ecl:gry + +hgt:165cm ecl:hzl +pid:851962288 eyr:2023 +iyr:2020 hcl:#888785 byr:1981 + +hgt:170cm +hcl:#7d3b0c pid:897882367 +cid:207 ecl:hzl eyr:2030 +iyr:2020 + +iyr:2014 hcl:#623a2f +hgt:176cm eyr:2030 +byr:1932 +ecl:brn pid:676358652 + +iyr:1963 eyr:2034 +ecl:#698113 hgt:76cm +hcl:z pid:174cm byr:2029 + +hgt:181cm byr:1966 eyr:2022 hcl:#888785 ecl:amb pid:692426080 + +iyr:2019 hcl:#c0946f byr:1948 +eyr:2028 hgt:156cm cid:204 ecl:oth +pid:229984095 + +pid:859107750 hgt:188cm hcl:#efcc98 byr:1992 eyr:2029 ecl:amb +iyr:2010 + +pid:754939860 hcl:#602927 +hgt:164cm cid:261 ecl:gry byr:1966 eyr:2027 iyr:2011 + +eyr:2027 hcl:#602927 iyr:2019 hgt:71in pid:368543014 ecl:brn +byr:1991 + +byr:1934 hcl:#341e13 pid:410490656 cid:66 ecl:grt eyr:2028 hgt:188cm +iyr:2014 + +byr:1932 +ecl:amb +hgt:188cm eyr:2020 pid:29447176 iyr:1947 hcl:#a6304b + +byr:1980 +hcl:#733820 pid:800459957 hgt:191cm eyr:2020 cid:337 iyr:2010 + +eyr:2029 hgt:155cm byr:1994 hcl:#6b5442 ecl:grn iyr:2010 pid:978117883 + +iyr:2019 +byr:1958 +pid:466450124 ecl:grn hcl:#7d3b0c +hgt:182cm +eyr:2029 + +byr:1970 pid:810234340 iyr:2014 cid:247 eyr:2021 hgt:172cm +hcl:#cfa07d +ecl:blu + +eyr:2024 hcl:#7d3b0c byr:1930 cid:194 pid:216814907 hgt:63in ecl:gry + +byr:1946 ecl:gry pid:579575823 +hgt:170cm +iyr:2015 +eyr:2029 +hcl:#7d3b0c cid:88 + +byr:1936 +hcl:#6b5442 eyr:2020 cid:272 pid:752699834 iyr:2015 hgt:190cm +ecl:grn + +cid:85 iyr:2018 eyr:2025 ecl:hzl hgt:192cm byr:1996 pid:478812793 hcl:#602927 + +hgt:160cm byr:1968 ecl:hzl +hcl:#9b96f3 iyr:2016 eyr:2027 pid:054732103 + +hcl:#efcc98 +hgt:152cm pid:140347821 +cid:346 +eyr:2022 ecl:oth iyr:2010 byr:1931 + +hgt:187cm ecl:blu hcl:#fffffd +pid:061318772 byr:1969 iyr:2012 + +eyr:2021 +hgt:190cm +ecl:amb byr:1963 pid:158cm +iyr:2015 +hcl:#b6652a + +cid:144 hcl:#c0946f iyr:2013 pid:384713923 +ecl:brn eyr:2028 hgt:157cm +byr:1981 + +byr:1981 +ecl:gry +eyr:2027 hgt:150cm +pid:769266043 hcl:#006f93 iyr:2015 + +hgt:154cm +eyr:2022 pid:516617153 +ecl:amb byr:1993 +iyr:2020 +hcl:#341e13 + +hcl:#b6652a +byr:1943 +pid:323629477 cid:311 ecl:grn eyr:2030 hgt:182cm + +hcl:#7d3b0c hgt:70in byr:1996 +pid:205918254 eyr:2022 cid:178 iyr:2010 +ecl:brn + +byr:2001 +hgt:186cm iyr:2019 ecl:brn +eyr:2024 +hcl:#888785 +pid:218031016 + +ecl:oth +byr:1971 hcl:#a97842 pid:673909751 hgt:152cm eyr:2026 +iyr:2017 + +iyr:2017 byr:1966 cid:334 pid:#8a11cd +hgt:188cm eyr:2023 hcl:#ceb3a1 ecl:brn + +ecl:amb iyr:2019 pid:835997489 hcl:#b6652a eyr:2026 +hgt:154cm +byr:1989 + +eyr:2033 cid:288 byr:1951 +ecl:zzz iyr:1962 hcl:#cfa07d +hgt:72cm + +cid:238 hgt:162cm eyr:2020 byr:1995 +ecl:amb iyr:2010 pid:700982289 + +iyr:2010 +pid:741394760 ecl:blu eyr:2030 +byr:1934 hgt:68in hcl:#fffffd + +pid:434939593 iyr:2020 hcl:#cfa07d cid:282 hgt:168cm +ecl:blu byr:1939 + +hgt:154cm byr:1981 +ecl:brn eyr:2029 +iyr:2019 hcl:#602927 pid:329288264 +cid:307 + +iyr:2016 +hcl:#866857 +byr:1968 eyr:2029 hgt:152cm pid:347204193 ecl:brn + +ecl:hzl +pid:975616547 +hgt:166cm +iyr:2015 hcl:#efcc98 eyr:2020 +byr:1927 + +byr:1960 cid:309 eyr:2022 +hcl:#a97842 pid:186837033 +iyr:2019 hgt:156cm + +hgt:165cm ecl:hzl pid:776872855 byr:1923 +cid:313 eyr:2029 + +eyr:2021 hcl:#18171d +byr:1938 hgt:160cm iyr:2020 +pid:938987284 ecl:gry + +iyr:2011 +eyr:2026 +ecl:amb hgt:166cm +pid:727980371 cid:154 byr:1967 hcl:#888785 + +byr:1928 +ecl:grn hcl:#888785 pid:852102448 hgt:150cm eyr:2024 +iyr:2018 + +byr:1997 cid:201 ecl:gry +eyr:2020 +hgt:163cm hcl:#7d3b0c +iyr:2011 pid:052314445 + +ecl:hzl eyr:2024 pid:460808964 iyr:2015 byr:1965 +hcl:#c0946f hgt:189cm + +iyr:2010 cid:163 byr:1944 ecl:grn pid:731085710 +hcl:#efcc98 hgt:159cm eyr:2027 + +byr:1937 hcl:#ceb3a1 eyr:2026 ecl:hzl iyr:2019 +hgt:185cm + +iyr:2016 ecl:gry byr:1964 hcl:526fbd eyr:2023 pid:981371510 +hgt:71cm + +eyr:2028 hcl:#18171d +pid:264437557 +iyr:2014 byr:1987 hgt:168cm +ecl:gry + +pid:574867413 +hcl:#2b965f eyr:2025 hgt:154cm +byr:2001 ecl:hzl +iyr:2011 + +iyr:2020 +cid:212 +ecl:gry hgt:174cm +byr:1939 +eyr:2029 hcl:#cfa07d + +hcl:#b6652a cid:249 pid:447524365 ecl:brn hgt:177cm byr:1959 +eyr:2040 +iyr:2011 + +byr:1935 +ecl:amb hcl:#fffffd pid:270076583 cid:128 hgt:60in iyr:2016 +eyr:2027 + +hcl:#c0946f pid:149533201 cid:332 +ecl:blu byr:1935 hgt:185cm +iyr:2016 eyr:2025 + +hcl:#f27d9b cid:275 hgt:59in +byr:1928 iyr:2017 +pid:311342224 +eyr:2022 ecl:grn + +ecl:gry +byr:1985 cid:131 +hgt:191cm hcl:#6b5442 pid:957166785 iyr:2018 eyr:2029 + +pid:741921163 hgt:192cm byr:1982 +iyr:2012 ecl:blu hcl:#623a2f eyr:2020 + +byr:1995 hgt:164cm eyr:2027 ecl:gry pid:086846266 hcl:#ceb3a1 +iyr:2017 + +ecl:brn +hcl:#c0946f hgt:158cm +eyr:2020 +pid:548013549 cid:107 +iyr:2014 byr:1966 + +eyr:2021 hgt:192cm +iyr:2015 hcl:#888785 byr:1942 cid:104 pid:582902279 ecl:grn + +byr:1923 hcl:#fffffd +hgt:185cm pid:216803187 +ecl:amb +eyr:2030 +iyr:2020 cid:153 + +pid:129687562 hgt:156cm eyr:2020 cid:336 byr:1964 hcl:#733820 +iyr:2011 +ecl:gry + +iyr:2012 hcl:#866857 pid:814749853 hgt:156cm cid:155 byr:1924 eyr:2024 ecl:oth + +hgt:151cm pid:832407555 +cid:188 byr:1949 +iyr:2010 ecl:oth eyr:2022 +hcl:#adeffb + +cid:102 ecl:grn byr:1999 +hcl:#a97842 iyr:2013 hgt:173cm +pid:199221595 eyr:2029 + +byr:1963 +hcl:#fffffd pid:980136208 cid:230 ecl:amb iyr:2010 hgt:171cm eyr:2029 + +byr:1969 pid:524832668 hcl:#efcc98 +ecl:oth iyr:2019 eyr:2029 + +hgt:184cm hcl:#13682c eyr:2022 +iyr:2016 +byr:1944 ecl:amb +pid:764280754 + +hgt:162cm +byr:1922 eyr:2023 ecl:hzl pid:870409472 iyr:2012 + +hcl:#888785 byr:2008 +ecl:utc iyr:1921 pid:993871206 hgt:152cm eyr:2026 + +hcl:#18171d +byr:1924 +hgt:191cm +pid:130883621 iyr:2010 eyr:2028 + +byr:2001 hgt:185cm ecl:blu eyr:2020 iyr:2013 hcl:#888785 + +pid:043166927 cid:287 hgt:179cm iyr:2016 eyr:2021 byr:1960 ecl:amb hcl:#888785 + +ecl:oth iyr:2020 hgt:183cm +hcl:#fffffd byr:2013 eyr:2026 pid:042844334 + +pid:36857936 byr:1995 ecl:hzl hcl:#c0946f eyr:2025 hgt:162cm iyr:2011 + +iyr:2013 ecl:blu cid:92 byr:1946 pid:150720364 hcl:#7d3b0c hgt:180cm eyr:2027 + +cid:276 eyr:2020 iyr:2011 hgt:59in hcl:#6b5442 ecl:amb byr:1992 +pid:137604720 + +byr:1998 pid:239200796 hcl:#957b4b hgt:171cm iyr:2011 + +cid:176 +pid:872650041 byr:1987 hcl:#623a2f +hgt:69in +ecl:oth +eyr:2024 iyr:2015 + +pid:388875093 eyr:2024 +ecl:amb hgt:175cm +iyr:2019 byr:1970 hcl:#ceb3a1 + +pid:040506316 byr:1999 +cid:186 +hcl:#7d3b0c ecl:blu eyr:2022 +hgt:160cm iyr:2019 + +cid:54 +pid:314873473 iyr:2013 eyr:2020 hcl:#c0946f hgt:158cm ecl:amb + +iyr:2016 ecl:oth hcl:#fffffd +hgt:189cm eyr:2020 + +byr:1981 +hgt:163cm +ecl:brn +hcl:#7d3b0c iyr:2016 +pid:500276094 +cid:98 +eyr:2029 + +ecl:oth hgt:158cm +eyr:2023 hcl:#c0946f iyr:1966 pid:544377825 +byr:1938 + +cid:170 hcl:#733820 +iyr:2020 byr:1970 hgt:150cm pid:469096877 +eyr:2020 + +pid:144977701 hgt:180cm byr:1975 hcl:#cfa07d +ecl:oth cid:57 eyr:2022 iyr:2016 + +pid:591688826 hgt:156cm hcl:#a97842 +ecl:amb iyr:2011 byr:1955 +eyr:2020 + +hcl:#a97842 hgt:174cm +iyr:2012 eyr:2024 pid:928395919 ecl:blu byr:1927 + +ecl:amb hgt:156 hcl:#888785 iyr:2019 eyr:2021 +byr:1997 pid:980577052 + +iyr:2014 eyr:2028 +hgt:177cm ecl:oth byr:1930 pid:846909255 hcl:#602927 + +hcl:#efcc98 iyr:2015 +byr:1941 +pid:387565513 +ecl:gry cid:54 eyr:2026 hgt:166cm + +hcl:#fffffd iyr:2014 +ecl:brn pid:241522887 byr:1963 +hgt:178cm +eyr:2024 + +ecl:grn hgt:70in pid:202158837 eyr:2026 byr:1964 +iyr:2018 hcl:#c0946f cid:77 + +hgt:176cm iyr:2016 +pid:927969731 byr:1939 +eyr:2025 ecl:grn +hcl:#fffffd + +byr:1943 hgt:191cm ecl:hzl pid:422579553 iyr:2017 eyr:2020 hcl:#c2a152 + +eyr:2028 byr:1952 +pid:506339509 hcl:#602927 hgt:179cm +ecl:grn + +hcl:#341e13 iyr:2014 ecl:brn pid:823049712 eyr:2030 hgt:157cm +byr:1924 + +ecl:hzl +byr:1954 pid:146052548 cid:194 eyr:2030 hcl:#ceb3a1 hgt:183cm +iyr:2013 + +hcl:#6b5442 +eyr:2026 iyr:2014 hgt:65in ecl:hzl pid:694135829 byr:1920 + +iyr:2012 byr:1984 hcl:#623a2f pid:270343526 ecl:gry cid:246 hgt:185cm + +eyr:2026 ecl:grn +pid:853148268 iyr:2014 hgt:183cm hcl:#a97842 byr:1939 + +eyr:2021 hgt:182cm byr:1922 pid:199346431 cid:165 iyr:2016 ecl:hzl +hcl:#b6652a + +ecl:#47904b pid:66740994 +iyr:2025 +byr:2029 eyr:2023 hcl:a6b541 + +ecl:hzl +byr:1947 +hcl:#341e13 pid:466649892 eyr:2030 hgt:164cm iyr:2015 + +hcl:#a97842 iyr:2016 eyr:2029 +byr:1921 hgt:191cm ecl:brn pid:776471818 + +iyr:2014 pid:605101404 ecl:amb hcl:#7d3b0c byr:1991 eyr:2026 hgt:158cm + +byr:1995 cid:271 ecl:hzl iyr:2012 hcl:#18171d pid:723865532 +hgt:165cm eyr:2029 + +ecl:hzl +hcl:#7d3b0c byr:2023 +pid:83552498 eyr:2025 hgt:65cm iyr:2010 + +eyr:2022 byr:1975 hcl:#888785 hgt:165cm +cid:166 ecl:brn iyr:2013 +pid:261135534 + +byr:1999 cid:222 iyr:2020 ecl:hzl hgt:182cm pid:411279683 hcl:#1ca912 + +byr:1954 cid:273 ecl:#915d48 +pid:004261180 hcl:#cfa07d iyr:2018 hgt:167cm eyr:2021 + +hcl:#733820 byr:1931 iyr:2015 +cid:130 eyr:2029 hgt:183cm pid:962443962 ecl:gry + +hgt:192cm eyr:2029 +pid:643859724 +iyr:2016 ecl:blu byr:1951 + +hgt:155cm +pid:293590926 +hcl:#602927 eyr:2027 byr:1959 +iyr:2020 +ecl:amb + +ecl:oth hcl:#fffffd +pid:469517546 eyr:2026 iyr:2020 hgt:181cm +byr:1929 + +eyr:2026 iyr:2015 ecl:grn pid:644263519 +cid:254 hgt:64cm +byr:1944 hcl:#341e13 + +hgt:150cm hcl:#341e13 ecl:oth +eyr:2028 +byr:1922 +pid:618759433 iyr:2017 + +ecl:hzl hgt:169cm +hcl:z eyr:2035 pid:620999812 byr:1998 + +pid:897252903 hgt:158cm iyr:2011 byr:1987 cid:221 eyr:2030 +hcl:#efcc98 ecl:gry + +ecl:gry eyr:2027 +byr:1951 +iyr:2012 +pid:542287454 hcl:#6b5442 + +pid:#185456 +byr:2028 cid:148 iyr:1957 hcl:df9a7d ecl:grt hgt:101 +eyr:2036 + +hcl:#b6652a eyr:2023 +hgt:150cm cid:316 ecl:gry byr:1922 +pid:858150885 iyr:2013 + +hgt:181in +byr:1986 ecl:#b9ca4d +iyr:2014 cid:77 eyr:2026 +pid:277491106 + +byr:1996 ecl:oth pid:539623368 hcl:#602927 eyr:2024 iyr:2019 +hgt:179cm + +pid:499804970 hcl:#18171d ecl:grn +hgt:189cm eyr:2029 +iyr:2012 byr:1986 + +pid:093626459 eyr:2024 iyr:2018 +ecl:grn byr:1922 hgt:153cm + +hgt:179cm byr:1990 eyr:2026 hcl:#623a2f ecl:blu +pid:306676089 +iyr:2011 + +eyr:2022 ecl:oth +pid:894642127 +hcl:#5a9d3e iyr:2013 hgt:68in byr:1987 + +pid:059006259 byr:1953 +hcl:#7d3b0c ecl:oth iyr:2011 hgt:157cm eyr:2023 + +ecl:oth +pid:255405447 +eyr:2021 cid:130 hcl:#b6652a hgt:75in iyr:2020 byr:1959 + +cid:124 +pid:353288807 hcl:#7d3b0c +byr:1963 eyr:2020 ecl:oth +iyr:2020 +hgt:66in + +hgt:150cm +hcl:#3a4c6e pid:027677435 ecl:hzl cid:256 byr:1960 +iyr:2015 +eyr:2026 + +ecl:brn hcl:#c0946f +eyr:2028 pid:801870217 +iyr:2010 + +cid:170 hgt:175cm +eyr:2028 +pid:620159472 +iyr:2020 hcl:#7d3b0c ecl:brn +byr:1939 + +iyr:2019 hgt:161cm cid:152 ecl:brn hcl:#fffffd +byr:1938 +eyr:2030 pid:311625365 + +hgt:174cm hcl:#efcc98 +byr:1934 pid:389966928 ecl:amb eyr:2023 +cid:235 iyr:2018 + +iyr:2010 byr:1960 pid:556639427 ecl:grn +hgt:152cm +eyr:2022 +hcl:#623a2f + +iyr:2014 hcl:#623a2f +hgt:169cm +pid:243755754 ecl:oth eyr:2025 + +iyr:2016 hcl:#623a2f cid:152 +ecl:oth hgt:62in byr:1946 +eyr:2028 pid:007367220 + +iyr:2013 +ecl:oth hgt:163cm +byr:1987 +hcl:#2cc1fd pid:346162920 eyr:2028 + +pid:636103282 byr:1952 eyr:2029 ecl:oth +hcl:#fffffd cid:290 iyr:2013 hgt:63in + +eyr:2021 hcl:#866857 iyr:2013 byr:1951 +hgt:157cm +pid:258369047 ecl:amb + +byr:1983 iyr:2026 hgt:182cm eyr:2029 +hcl:#623a2f ecl:hzl pid:373940630 + +pid:283714222 +hgt:173cm ecl:gry byr:1939 +iyr:2015 cid:81 + +hgt:164cm cid:215 +ecl:amb eyr:2025 pid:459309210 +hcl:#ceb3a1 byr:1954 +iyr:2015 + +byr:1931 +ecl:oth eyr:2028 hgt:177cm +hcl:#6b5442 +pid:494763488 iyr:2015 cid:293 + +ecl:oth hcl:#fffffd hgt:188cm cid:252 pid:987529683 iyr:2020 byr:1945 + +eyr:2029 +pid:745721513 +iyr:2017 ecl:brn +hgt:184cm hcl:#a97842 + +eyr:2024 ecl:oth +hgt:153cm +iyr:2014 byr:1953 hcl:#888785 +cid:330 pid:532786321 + +hgt:180cm +pid:441199844 eyr:2023 ecl:grn hcl:#b6652a byr:1958 iyr:2012 + +ecl:brn +pid:835022632 hgt:174cm +byr:1928 hcl:#341e13 eyr:2028 +cid:176 iyr:2011 + +hgt:72in byr:1964 hcl:#ceb3a1 ecl:gry +iyr:2020 eyr:2028 +cid:180 + +iyr:2025 byr:1999 +eyr:2024 hcl:#c0946f +hgt:86 + +eyr:2023 byr:1974 pid:067761346 cid:178 ecl:hzl iyr:2020 hgt:168cm hcl:#6b5442 + +hgt:157cm ecl:gry eyr:2025 +pid:803912278 byr:1963 iyr:2011 hcl:#ceb3a1 + +hgt:190cm eyr:2026 ecl:grn +iyr:2012 +hcl:#c0946f byr:1929 + +eyr:2023 ecl:hzl pid:#fb639f +iyr:2030 +cid:132 +byr:2016 hcl:#ce01c8 + +eyr:2021 +pid:228596339 +byr:1974 +ecl:blu +hgt:174in iyr:2020 +hcl:#733820 + +ecl:amb hgt:165cm +byr:1953 hcl:#118493 pid:458049702 cid:99 +iyr:2019 eyr:2023 + +ecl:hzl pid:277988952 +eyr:2025 hgt:179cm byr:1992 cid:322 + +hcl:#a97842 eyr:2021 cid:261 +hgt:61in pid:162402242 +ecl:amb byr:1938 iyr:2016 + +hcl:#d125e3 iyr:2016 byr:1982 eyr:2027 +hgt:154cm +pid:365548961 + +iyr:2016 hgt:187cm byr:1980 pid:977322718 +eyr:2027 ecl:brn hcl:#ceb3a1 + +iyr:2010 ecl:oth +pid:455361219 hgt:153cm eyr:2027 hcl:#6b5442 +byr:1965 diff --git a/AoC2020/inputs/input05 b/AoC2020/inputs/input05 new file mode 100644 index 0000000..1de357f --- /dev/null +++ b/AoC2020/inputs/input05 @@ -0,0 +1,927 @@ +BBFBFFBRLL +FBFBFFBRRR +BBBFBFFLLR +BFBBFFBRRL +BBFFBBBRRL +BFFFFFBLRR +FBBBFBFLLL +FBBFBFFLRR +FBFFFFBRLR +FBFBFBFLRL +FFBBFFFLRR +BFFBBBFRRL +FFBBFBBRRR +BFFBBFFRRR +FBBFBBFRLR +BFFFFBBLRL +BFFBFFBRLL +BFFFBFFRLL +BBFFFBFRLL +FFFFBFBLLR +FBFBFFBLRR +FBBFFFFRRL +FBBFFFFLRL +BBFBFFFLRR +FFBFBBFLLR +FFFFBFBRRL +BFFFBBBLRR +BBFBFBFRRL +FFBFBFBRRL +FFFBBBBRRL +FBBBBBBLLR +FFFFFBFRLR +FBBFBBBRRL +FBBBBFFRLR +FFBBBFFRLR +FFBBBFFLRR +FFBBBBBRLR +FFBFFFBRLR +FBFBFFBLRL +BFBBBBFRRR +FBFFBFFRRL +BFFFBFFLRL +BBFBFBBRRR +BFBFBFFLRR +BFFFBBBRRR +FBBFFBFLRR +BFFBFBFLRL +BFBBBFBRRL +BFBFBFBRRR +FFFBBFFRLR +FFFFBBBLRR +BFBFFBBRLL +BBFFBBBLLR +FBFFFBFLLL +FFBFBBFRRL +FFFBBFFLLR +FBBFFFBRRL +FBFFBBBLRL +FFBBFBBLLL +FBBBBBBRRR +FBBBBFFLRR +FBFFFFFLLL +FBFBFBFLLL +BBFFBFBLRL +FBFBBFFRLR +FFFBFFBRLL +FFBFFBFRRL +FBBFFFFLRR +FBFFFFFRLR +FFFBFBBLLR +FBBBFFBRLL +BBFFBBFLRR +FBBFBBFLLL +FFBFBBBLRR +FFFFFFBLLL +BFFFBBFLLR +FFFFBBFLLL +BFBFBFBLRL +BFBBFFBRRR +BFBBFBBRLR +FFFBFFFLRL +BBFBBBBLRL +FFBFBBBRRR +BFFFBFBRLL +BBFFFBFRRR +BFFFFFFRRL +BFBBFFFRLR +FFFFBFBLRL +FBFBFFBLLR +BBFFFBFRLR +FFBBFFFRLL +FBBBFBFRRR +BFFBBFFLLR +FFFFBFBRRR +FBFFFBBRLL +FBBFFFBRLR +BFBFBBFLLL +BFFBFFBRRR +FFBBBFBRLL +BFBFFBBLLL +FFBFFBBLLL +FFBBFBFRLL +BFFFBBFLRL +BBFBBFFLRL +BFBBFFFRLL +BBFFFFFRLR +FFFBBFBLRR +BBFFBBBRRR +FBFFFBFRRL +BFBFFBFRRR +FBFBBFFLRR +FBBFFBFLRL +FBBBBFBLLL +BFBFFBFLRR +BFFBFBBRLR +FFBBBFBRRR +FBBBBBFLRL +BFBBFFBRLL +BFFBFBBRRL +BBBFFBFRRR +FBBFFBBRLL +BFFFFBBLLL +BFBBBFBRLL +BFFFBBFRLR +FFBFFFBLLR +BFBBFFFRRL +BFFBFBFRRR +FBFFBFBRLR +FBFFBBFLLR +BFFFFFBRRR +FFFFFBBRLR +FBBFFFBLLL +BFFFFFBRRL +BBBFFFFLRR +BFFFBBBRLL +BFFFFFBRLR +FFFBBBBLRL +FBBFFBBLRL +FBBBBFFLLR +BFBFBFBRLL +FBFBBFFLLR +FFFFFBFLLL +FBBBFFFRLL +BFBBFFFLLR +FBFBBFFRLL +FBFBBFBLLL +FBFBFFBRLL +BBBFFFBRRL +FFBBFBFLLR +FFFFFFBRLL +BFBFBFBRRL +BFFBFFBLLL +FBBFFFBRLL +FFFFBBBLLR +FFBFFFBLRL +FBFBBBBRRR +FFBFBBBRLL +BFBFBFFRRR +FBBFBFFRRR +FBBFFFBLLR +FBBBFFFLRR +BBFFFFFRLL +FBBBBBBRLR +BFBFBBBRLL +BBFFBBFRRL +BBFFFFFLLR +FFBFFFBRLL +BBFBBFBLLL +FFBFFBFLRR +FBBBFFBRRR +FBFBFBFRRL +FBFBFBBRLL +FFFFFFBRRL +FBBFFBFRLR +FBFFFBFRLL +FFBBFFBRRL +FBFFBBBLLL +FFFBFBFLRL +BBFFFFBRRR +FFBFBFBLRL +FBBBFFFLLR +FBBBFFFRRR +BFFFFBBRRL +BFFBBBFLLR +BBBFFBFRLR +FBFBFBFLRR +FFFFBFBLLL +BFBBFFBLLL +FFFFBBFRLL +FFBBFFFRRR +BBFBFBFLRL +FFBBBBBRRR +FBBBFBBLLR +FBBBFBBRRL +FBFBFBFLLR +BFFFBFFLLR +BBBFFBBLRL +FFFFFBBLLL +FBFBBBFLLR +FBFBFBBRRR +BFFFBBFRLL +BFFBFFFLRL +FFFFFBBLRR +BFFBFFBLRL +FBBFFBBRRR +FFBFFBFLRL +FBFFBBBLLR +BBFBBFBRLR +BFBBFFFLLL +FBFBBBFRLL +BFFFFBFLRL +BBFBBFFRRR +BBFBBBFRRR +FFBFFFBRRL +FFFFFFFRRR +FBBFBBBRRR +BBBFFBFLLR +BFFBFFBRLR +FFBFFFBLRR +BBFFFBFLRR +BBBFFFBLRL +FFBBFBFLLL +BBFBFFBRLR +BFBFFBFLRL +FBFFFBBLLL +FBBBBBFLLR +BFBFFFBLRL +FFFBBBBLLL +FBBFBBFRRL +FBBFFBFLLL +FFBBBFFRRL +BFFFBBFRRR +FFBFBBFRLL +FFFBFFFRLL +FBBFFFBLRR +BBFFBBBLLL +FBFFBFFRLR +BBFBFFFRLR +FBFBBFFLLL +BBFFFBBRLL +BBBFFBBLLL +BFBFFFFRLR +FBFBBFBLLR +FBFFFBFLLR +FFBBFBFLRR +BFFBFFFLLR +BBBFFFBRLR +BFBBBBBRRR +FFFBFFFRRL +FFBBBBBRRL +BBFBFBFLLR +BBFFFFFRRR +FBFFBBFRRL +FBFFBFBLRR +BFBFFFBRRL +FFFBFBFLRR +FFBBFFBRLR +BFFBFBFLRR +FBBBBBFLLL +BFBFFFBRRR +BBFBFBBRLR +BFFBFBBLLL +FBBFFFFRLR +BFBFBFFRRL +FFFFBBBRLR +FFFBBFFRLL +FBFFBBBRLL +FFBBBBBRLL +BFFFFBFRRR +FBBFBBFLRR +FFBFBFBRLR +FBFBFFBRRL +FFFFBFFLRR +BFBFBFFRLR +FFFFFFBRRR +BFBBBBFRLR +FFBFBBBLLR +FBBBFFBLRR +FFBFBFFLRL +BBBFFFBLLL +FFBFFFBLLL +BFBFFFBRLR +BFFFBFFLRR +FFBFBFFRRL +FFFFFBBRRR +FFBBFFFLLR +FBFFBFFRLL +FBFFBBFRLL +FFFFBBFLRL +FFFBFFFLLL +BFFBFBBRLL +FBFFFFFLLR +FFFFFBBRRL +FBFBFFFRRL +FBFBFBBRLR +FFBBFFBLRR +BBFFBFBLLR +BFFBFBFLLL +FBFBFFFLRL +FFFFBBFRRR +FFBFFFFRLL +FBFBBFBRRL +FBFBBFBRLR +BBFFFFBLRL +BFFFFBFRLL +FFBFBBFRLR +FFBFFBBLRR +BFFFFFFRRR +FBBBFBFLRL +FBFFBFBRRR +FBFFBFFRRR +BFBFBFBLLR +FBBBBBBRRL +BFBFBFBLRR +BBFFBFBLLL +BFFBBBBLRL +BFFBBBBLLR +FFBFFBBRLL +BBBFFBBRLR +BBBFFFFLLL +BFBBFBFLRL +BBFBFFBLLR +FFFBBFBRRL +BFBBFBBLRL +FFFFBFFRLL +FFBBBFFLLR +FFBBBFBRRL +FFBFFFFRRL +FBBFFFBLRL +BBFFFBBLRR +FFBBBBBLLR +BBFBBBBRLL +BFFFBFFRRR +FFFFBBBRLL +FFBFFBBLLR +BFBBFBFRRL +FFBFBBFLRL +FBFFFFBRRL +BFFFFFBLRL +FFFBBFBLLL +FBFFFFBLRL +BFBBFFFLRR +FBBBFBBLRR +BFBBBBBLLR +FFBFFBFRLR +FFBFBBBLRL +FBFFFBFRLR +FFBBFFBLLR +BBFFBBFRLR +BBFFFBBRRR +BBFFBBFRLL +FFBBFFBLLL +FBBBBFBLRL +FFFFBBBLRL +BBFBBBBRRR +FFBFBFBLLL +BFFFFBBLLR +BFFBFFFRLR +BFBFBFFLRL +FFFBBBBRLR +FFBBBBBLRL +BFBBBBBLRL +BBFFFFFLRR +FBBBFFFLRL +FBFBFFBRLR +BFFBFFFLRR +FFFFFBFLLR +BFBBBBFLRR +BFBBBFBLLL +BBFBBFBRRL +BBFFBFFLRL +BFBBBBBRLL +FBBFBBBRLR +BBFFBBBLRR +FFFBBFBLLR +BFFFBBBLRL +FFFBFBBRLL +BBFBBFFRLR +BFBFFBBRRR +FFFBFBFRRL +FFFBFFFLLR +BBBFBFFRLR +FFFBFFFRLR +FBBFBFBRRR +FFBBBBFRRR +FBBBFBFLLR +BBBFBFFLRL +FFBBFFFRLR +FFFBFFFRRR +FFBFFFFLLR +BFFBBFBLRR +FBFFBFBLRL +BBFBFBFRRR +BBBFFFFLLR +FBFFBFFLRR +BFFFFFFLLL +FBFBBFBRLL +FFBFBFFRLL +FBFFBFBLLL +FFBBBBBLLL +FFFFBFFLLL +FBBBBFBRLR +FFBBBBFLLL +FFBBBFFRLL +FFFBFBFLLL +BFBBBBBLLL +FBBFFFFRRR +BFFBBFBRLR +FBFFFBBLRL +FBBFBFBLRR +BBFFFFBLLR +FFBBBBFLRR +FFBFBBFLRR +BBFBBFBRRR +FBFBFBFRLL +BFBFBBBLLL +BFBBBFBRLR +FFFBFBFRLR +BFBBBFFRRR +FFFFBBBLLL +BFBFBBBRRR +FBBBBFFRRL +BBFBFFFLLL +FBBBFBFRLR +BFBBBFFLLR +FBFFFFFLRL +BFBFFBFLLL +BFFFFBFLLL +BFBBFFBLLR +FBBFBBBRLL +FFFBBBFLRR +FBBBBFFLLL +FFBBBBFLLR +BFBFBFBLLL +BFBFBBFRLR +FBBFBBFRLL +FBFFFBFLRR +BFFBBFFRRL +FFFBBFBLRL +FBFFFFFRLL +BFFFFBFRRL +FFFBBBBRLL +BFFBFFBRRL +FBBFFFFLLL +FFBBFBBLRR +BFBFFFBLLL +BFBFFFFLLR +BBFBFFBRRR +BBFBBFFRLL +FFFBBBFLLR +BFFBBBBRRR +FBBBBBBLRR +FFBFFBBLRL +FBBFFBBRLR +BFFFBFFRLR +FBBBFFBLLL +FFFBFBFRLL +BFFBFFFRRL +BFFFBFBRRR +BFBFFFFLRR +FFFBFBBLRR +BBFBBBFLLL +FBBFBFFRLR +BBFFBBFLLL +FBFFBBFRRR +BFFFBFBLRL +BFFFFBFLRR +BFFFFBFRLR +BBFFBBBRLR +FBBFBFBRLL +FBFBBFFRRL +BBFFBFBLRR +FBBFFBBLRR +BBFFBFBRRL +FFBBBBFLRL +FFFBFBFLLR +BBBFFFFRLR +BFBFFBBRLR +BFFBBFFRLR +BFFFFFFLRR +BBFFFFBLRR +FFFFBFFLRL +FBBBBBFLRR +BFBFFFFRRR +FBBBFBFLRR +BFBFBBFRLL +FBBFBBFLLR +FBFFFFFRRR +FBBFFBFRLL +FBFBFFFRLR +FFBBBFBLLR +FBBBBFFLRL +BBFFFFBRLL +FBBBBBFRRL +FBBBBFFRLL +BBFFBFBRLR +FBFBFBBRRL +FBBFBFBLLL +FBFFBFBLLR +BFBBBFFLLL +FFBFFBBRRL +BBFBFBBLLL +FBBBFFFLLL +FBFBBBBLLL +FBFFBFFLLL +FFFBBFFLRL +BBFFBBBLRL +BFFFBFBRLR +BBFFFFBRLR +BBFBBBBLLR +BFFBBFBLLR +FFFBBFBRLL +BBFFFBFRRL +FFBFFFBRRR +BBFBFBBRLL +FBFBFBBLLR +FBBFFBFRRR +FBBBFFBLLR +BFFFBBBRRL +BFFBBFBLRL +FBFFBBFLLL +BFBFBFFRLL +BFBBBFBLLR +FBFFBFFLLR +FBBFBFFLLR +BFBFFFBLRR +FBBFFBBLLL +FFBFBFFLLL +FFBBFFBRLL +FFBFFBFRRR +FBFBFFFRLL +BBFBBFFLLL +FBFBBBBRLR +FFFBBBFRLL +FFBFFBFLLR +BFFFFBBRLR +FFBFBBBRRL +FFFFBFFRLR +FFBBFFFLLL +FBFFFFBLRR +FBBBBFBRLL +FBFFBBBLRR +FFFBBFBRRR +BFBBFBFRRR +BFFFBFBLRR +BFBFFBFRRL +FFFBBBBRRR +FBBFBFFRRL +BFBBFFBLRR +FBBFBBBLRR +BFBBFBBRRR +FFFFFBFLRR +FBFBBBFLRR +BBBFFFFRRL +BBFFFBFLLL +BBBFFFFLRL +FFBBBBBLRR +BBBFFBFLLL +FBFBFBBLRR +FFFBFFBLRR +FFBBBFBLLL +BBFFFBFLLR +FFFFBBFRRL +FBFBBFBLRL +BBFBBFFLRR +BFBFBFBRLR +FFBFFBFRLL +BFBBBFFRRL +FFBBFBBLRL +FBFFFFFRRL +FBFFFFBLLR +FFBFBFFRLR +BFBBFBFRLL +FBFBBBFRRR +FBFBBBBLRL +FFFBFFBRRL +BFFFBFBLLR +BFBFBBFLRL +BBFBFBBLLR +BBFFFFFLRL +FFFBBFFLRR +BFFBFBBLRR +BBFFBBBRLL +BFBBFBBRLL +BFFBBBFRRR +FBFBFFFRRR +FBFBFFFLLR +FFFBBBFLRL +BBFBBFFRRL +BFFFFFFRLR +FFBBBFBRLR +FFFFBBBRRR +FFFBFBBRLR +FBFBFFBLLL +BBFBFFBLRR +FBFFFFFLRR +FFFBFBBLRL +FBBBBFBLLR +FBBBFBBLLL +FFBBBBFRLL +FBFFFBFRRR +FFFBFFFLRR +BFFBFFBLLR +BBFBBBFRLR +BFBFFBBLRR +FFFBBFBRLR +BFBBFBFRLR +FBFFFBBLLR +FBFBFFFLRR +BFFFFBBRRR +BBFFFFBLLL +BFFBFFBLRR +BFBFFBFLLR +FBFBFBBLRL +BFFBBBFRLL +FFFFBFBRLL +FFBFFFFLRR +FBBFBBFRRR +BFFFBFBRRL +BFFFFBBLRR +FFFFFBBRLL +FBFFBBBRRR +FFFBBFFLLL +FFBFBFBRLL +BFFBFBBRRR +FFFFBBFLRR +FBBFBBFLRL +BBFFBBFLRL +FBBBFBFRRL +FFFBFBBLLL +FFFBFFBRLR +FFFFFBFLRL +BFFFFFBLLL +BFFBBFFLLL +FBBFBFBRLR +FBFBFBFRLR +FBBBBFBRRR +BFFFFFFLRL +BFBFBBBRLR +FBFBBBBRRL +BFBBBFFLRR +BFBFFFFRLL +BBFFFBBLRL +BBFFFFBRRL +BBFBFBBRRL +BFFBBBFLRR +BBBFFFBLLR +BBFFBFBRLL +FBBFFBFRRL +BFFFFFFLLR +FFFFFBBLLR +FBFBBFFLRL +BBFBFBFLLL +BBFBBBBLRR +FFBFFFFLLL +FBFFFBBRRR +BBFBFBBLRL +BFBBBBBRLR +FBBFBBBLRL +BBFBBBFRRL +BBFBFFFLRL +FFBFFFFRLR +FFFFBFFLLR +FBFBBBBLLR +BFBBFBFLLR +FBFFBBFRLR +BFFFBFBLLL +FBFBBBBLRR +BBFBFFFRRL +FBFBBBFLRL +BFFBBFBLLL +BFFBBBBRLR +FBBBFBBLRL +BFBBBFFRLL +BFBBBFBLRR +BFBFBBFRRL +BFBBFBFLRR +FBFFBBFLRR +BBBFFBFRLL +BBFBBFBLRL +BBFBFFFLLR +FBBBBBFRLL +FBFBFFFLLL +FFBFBFBLRR +FBBBFFFRRL +FFFFBBFRLR +FFBFBBBLLL +FBBFBFFLLL +BBBFFFBRLL +BFBFBBBLLR +BBFBBFBLLR +FFFFBFFRRL +FBFBBBFRLR +BFFBBFBRRR +BFBFBFFLLL +BFBBBFBRRR +FBFFBBBRLR +BFBBFFBRLR +BBFBBFFLLR +FFBBFBFRRR +BBFFFFFRRL +FBBFBBBLLR +BBBFFFFRLL +FBFFBFBRRL +BFFFFFFRLL +FBBBBBFRLR +FBBBBBBLLL +BFFFFFBLLR +BBBFFBFLRR +BFFFFBBRLL +BFBBFFFLRL +BBFBBBBRLR +FBFFBBBRRL +BBFFBFFLLR +BFFFBBBRLR +BFBBFBBLRR +BBBFBFFRLL +FBFFFFBRRR +BFBBBFFLRL +FBBFFFFRLL +FFBBFBBLLR +BFFBFFFRRR +BFBFFBBLRL +FBFBBBFLLL +FBBFFBBLLR +FBBBFBBRLL +FBFFFFBRLL +FBFBBFBRRR +FFBFFBBRRR +FBBBFFBRRL +FFBFBBFLLL +FFBFBFBRRR +FFBBFBFRLR +FFBBBBFRRL +FBBFFBFLLR +FBBFBFBLRL +FFBBBFFRRR +FFBFBFFLLR +BBFFBFBRRR +BFFBBBBRRL +FFFFFBFRRL +FBFFBFFLRL +FBBBFBFRLL +FFBBBFBLRR +FFFBFFBLLR +BFFBFBFRLL +FFFBFBBRRL +BFFBFFFRLL +FBBBFFBRLR +FFFBFBBRRR +BBFBFFFRLL +BBFFBFFLRR +BFFBFBFRRL +FFFBFFBLRL +BBBFFBFLRL +BFFBFBBLLR +FFBFBFBLLR +FFFBFBFRRR +FFBBFFBLRL +BBFFBBFLLR +FFBBFBBRLL +FFBBBBFRLR +FFFFBFBLRR +FFBFBFFLRR +BFBBBBBLRR +FBBFBFFLRL +FFFFFFBLRR +BFBBBBFLRL +BBBFFBBLLR +BFFFBBFRRL +FFFFBBBRRL +FBFFFBFLRL +BBFBBBBLLL +BFBBBFFRLR +BFFBBBBLLL +BFFFFFBRLL +BBFBBBBRRL +BFBFBBBLRR +FBFBBBFRRL +BFBFFFBRLL +BFFBBFBRRL +FBBBBFBLRR +BFBBFFBLRL +FFFFFFFRRL +BFBFBBBRRL +BFBBFBBRRL +FFBFBFFRRR +FFBBFFBRRR +FFFBBBBLLR +FBBFBFBLLR +BBFFFBBLLR +FFFBBBFLLL +FFFBBFFRRL +FFFBBFFRRR +FFBBFFFLRL +FBFBBFBLRR +BFFBBFBRLL +FFBBFBFLRL +FFFBBBFRLR +BBFBBFBRLL +FBFBBFFRRR +BFFBBFFLRL +BBFFBFFRRR +BBFBBBFLRR +FFFBBBFRRL +BBFFBFFRRL +FFBFBBFRRR +BBFFFBBRLR +FFFFBBFLLR +FFFFFFBLRL +BBFBFFFRRR +BFBFFFBLLR +FBFFFFBLLL +FBBBBFFRRR +BFFFBBFLRR +FFBBFBBRLR +BFFFBFFRRL +BBFBFFBLLL +FBBFBFFRLL +BFBFFBBRRL +BFFBBBFLLL +FBFBFBFRRR +BBFFBFFLLL +BFBFBBFLLR +BBFBFBFLRR +BFBBFBBLLR +FBBBFBBRLR +BFFFBBBLLL +BFBBBFBLRL +BBBFFBFRRL +FFFFFFBLLR +BFFFBBBLLR +BFBBBBFLLL +BBFBFBBLRR +FBBFBBBLLL +BBFFBFFRLR +FFFBBBBLRR +BBBFFFFRRR +BFBBBBFRRL +BBBFBFFLRR +BFBBBBFLLR +BFFBBBFLRL +BBFBBBFRLL +FFFFFBFRRR +BBBFBFFLLL +BFFFBBFLLL +BFFBFFFLLL +FFBFFBFLLL +BBFBFBFRLR +FFBBFBFRRL +BBFBFFBLRL +FBBFFBBRRL +BFFBFBFLLR +BFBFBFFLLR +BBBFFBBLRR +FBBBBBBLRL +FFBBBFBLRL +FFBFFBBRLR +BBBFFBBRRL +BFBBFBBLLL +FBFFBFBRLL +BFBBFBFLLL +BFFFBFFLLL +FBFFFBBRLR +BBBFFFBLRR +BBFFBBFRRR +BFFBBFFLRR +BFBFFFFRRL +FFFFFBFRLL +FBFBBBBRLL +FBFBFBBLLL +FFFFBFFRRR +FFBFFFFRRR +FBFFFBBLRR +FFFFBFBRLR +BFBFBBBLRL +FBBFFFFLLR +BFFBFBBLRL +FBBFBFBRRL +BBFFBFFRLL +BBFFFBFLRL +FFFBBBFRRR +BBBFFBBRRR +BFFBBBBRLL +BBFFFBBRRL +BFBFFBBLLR +FFBBBFFLLL +BFBBBBFRLL +FFBBFFFRRL +FBBBFFBLRL +BFFBFBFRLR +BBFBFFBRRL +FBBBBBBRLL +FBBBBBFRRR +BFFBBFFRLL +BBFFFFFLLL +BBBFFBBRLL +FFFBFFBLLL +FFFBFFBRRR +FFBFBBBRLR +FFFFFFBRLR +FBFFFBBRRL +BFFFFBFLLR +BFBFBBFRRR +FBBBFBBRRR +BFBFFFFLLL +BBFBBFBLRR +BFBFBBFLRR +FFFFFBBLRL +FBBFFFBRRR +FFBBFBBRRL +BFFBBBBLRR +BBFBBBFLRL +FBFFBBFLRL +BBBFFFBRRR +BBFBFBFRLL +BFBFFBFRLR +BFBFFFFLRL +BBFBBBFLLR +BFFBBBFRLR +BFBBBBBRRL +BFBFFBFRLL +BBFFFBBLLL +FBBBBFBRRL +FFBFFFFLRL +FFBBBFFLRL +FBBBFFFRLR diff --git a/AoC2020/inputs/input06 b/AoC2020/inputs/input06 new file mode 100644 index 0000000..b3eb36f --- /dev/null +++ b/AoC2020/inputs/input06 @@ -0,0 +1,2198 @@ +xtpmjeuayzkflcdo +zdaeyxlpftkmojc + +ifnkhzalvprjtyus +lmihuzrytjns +uilmsotygbnhrzj +uwslqctjnirzxhy + +lhuydwqxaempbisrnfcjtvz +rvtcegbhljadfpxzsiuyqwnm +rzyvtefjdsplucmqbinahxw + +whlxgytuoaidpfrsbvmkjqez +iwfghlytovbpdemzanjq +mpejclwhqziatybogvdf + +qsmuehbvfiwlkx +gtmdsbrqfwhk + +lagwjpd +dpglwja +qgdawplj + +faqjpheg +acnfgtkzj +msjdfox + +gsqhdrcvyxbp +yhvgpsqxcbdr +drqvgxhyspcb +cgqrypdhbxvs +hbdxgyscjqprv + +bgahiyplewc +qaprike +aojpszixe +airpksoe +mpzaiek + +ihyudtfbjqnxop +poyiuqjdlhmtxb + +gw +bg +g + +zxjgytpsnol +tfuexgspvdkb + +zmisajphc +paifmh +ipnhdma +dbacphmi +omhpwailkyv + +ind +jd +olxtyd +daylkbtox + +hjmdrgevkztwfsx +gsm +gsapioqm +ngoaqms +omlqgys + +qfxwksiyluhvgnaotd +hqnrauzcdifeoglsyt +dgnfqsaytlihmou + +brmeuyxlagqsz +zfkiyxnloagjeqwh + +whqgiduclktrebyfp +kcirhydwebpfqgtul +tfclebygmdnuriqkwhp +ytfipklgubqwdrehc + +yubh +dhu + +sncvemkuwhi +wizhecnxlvbkms +ykvshenmicwu + +dlfbyscp +oruaxtg +rowqu +gze +i + +hgtejbrcxdolv +lbmhepjxsvdrqcgo +jelrbohcdxvngf + +wrqxeocjni +lnirqcoxjwk + +xmshq +mhqxs +shxqm +mxsqh +hmqsx + +rbwdsfcgute +oa +lqizp +kxvjyz + +gxikepca +cigaekx +xkgacei +kceigxa +ecxikag + +ltpzifo +ozitrslp + +tixaqjd +qtw +ctrlqfznmg +wqtbk + +uyi +nuiy +iyu + +nwid +zkmf + +oqerdmwk +dmorkew +meorkwd + +gjvkzlbrxiyotpfqedu +xtqfgluozkvimrydpjeb +rzbfjotiuqkpgxvldey +ixkptzqdouvbgrlyefj +pvxqydniuegjwbartfkolz + +rkhexctuiopsjlzw +thxscuzrdlpjekiwo +sjihrzuwkcoelxtp +rtjcusoipxewklhz +sokecrwuzpxltihj + +sdqlwfuo +uqsdlwfo +slqdufow +oafswqdlu +wfquosld + +qksticygoejwnvhf +lnkipymvstjqzgfcaorxw +fwqgcyovjteisdkn + +fjcywhvqdirxblzkaegpumnsto +qjigrmzsfexaholvnutcbywpdk + +qgbaphtxuf +khpug +ipuzshgky +pmgshu + +fjpvbdtlcugxizhwsrokmaqy +fgznwthadpvkxrsbqcyom + +oqet +toeq + +mrfhtwenxykibpsoj +qlucvsmroghwzpbtadx + +aspnfmxi +ivlgfmy + +mznti +tnzmi +itnmz + +hlmx +xhlmp +lmxh +lmxh +lxguhm + +fhmcgwtsj +jtomcfzwklh +wfybihtjcm + +pkwqvtgzmjsenudxifbc +gwdfhjicypnmltroeqavk + +euklmi +iumerlh +uimkle +iunzmelcv + +fkumqizsynacr +nqzxycskufaih +asfpckruyinqz + +ibpehrotv +pehovrntbi +voehitbpqr + +cvqsfartyxkw +snvwkazcfqritxy +frayckvwtqxus + +preot +ezj +eju +uezcd + +qvwmxcnhpzjyadkbisotu +hnoxjqyudkgapbiwcmtsz +qklozhpyvrcxwjsitudbnma + +gmspxjbwnray +wypmxsgjr +drlpsjgmxy +xykgesrjpvhm +xjmsypgro + +ncexy +nycex +xneyc + +ej +kre +lesxzt +gphfre +e + +oribjg +bu +kvq + +vnfpsmwc + +qd +qd +dq +dq + +rsc +rpaszc +ecrsom + +bofltugqahsjyzew +osahjqwtlzevb +ojxtvlnqhrswzeab +bajepotzqhvwsl + +elyhw +lwytrh +ljwyh + +cboxndurmi +hjzslvq + +wiozfcehptsxjrqmlbky +fzgilbuhktasdmvo +zileftmnhpcskbo + +qeabixvh +awgkoqejh + +ncrshioxklvumztdqfewpbg +vekofqmgclxzsdbuhwipnt +nlzxouwtmkfsgqcdbehipv +ibpwlqnmzfhkosuvtcxgd +wphavfyloszidgjbmxqtukcn + +zat +cilkbqxr +nzwsgy + +z +d +d +d + +v +m +v +v + +fjeayswno +jefwuxnoc + +iugjno +jugmenoi +ncuiogj +ojfguin +jiugno + +mcr +cmuq +cm +cm + +rvwgteoxlnqpu +onubqretvwxgpl +agitsumplxnzrkoeqvw +oleurpvnxcgtqdw + +ajedfrwstqn +pmnw +cwn +gcnbw +uvnw + +l +zqxij +prlu +ek +l + +rpht +whk +okhcbfw +whomk + +hlkyo +kp + +dnl +ldn +dnl +nld + +bgor +dlou +mdvn +cyzkw +vjentu + +trxvafpwesciqombhlkgjndy +oamdvntbsgcfphlkrwzyeqjx +kovjselaqpfnmyrxbzcthdguw + +van +ltexgv +dfcjoskzyriw + +jusk +a +lxg +hvnwf +exus + +fawkveqgsrbjzlncxyhot +rklfzsvbwhxetjcaoqg +rakjszvgtxbfhwqodlec +sxpzekgwjdocbqtrvlhaf +fzrlsavojxmcbktgeuhwq + +eitrvamwxfckzgqdoljyhnsb +yiptlazkxdwnmohujsecr + +xoyvn +noyx +fotnyax +noxy +noyqx + +nfvogds +fnsgvy +sqjvgfn + +mjcekdpwxr +xkuphcmrg + +by +by +bytda +yb + +mefouswzphqrdvn +cdbyjmintfpgxlk + +lemysjcrknvfpzwoxhqaig +yodnmfwpkjurscbtezqv + +zw +saqv +kbermi +lwvo + +oi +io + +zdyk +ckdy +jyu + +eldnugikcpxvwm +gcxdpukeln +ucnkdhxegljp +rdkegcnupxl + +uxokmrefyw +fyrwucohsnxem +rmbfeyuwxjoth +lquwdiyaropmexf +uweyxofmr + +jhoufbsc +juodbchs +bcuwljhos +sbujhcfoz +ubosjdhce + +nuyhefxwclzsobmjvrgt +uvyswnqfgxemobrclzjth +cydtgefhwnisjorumvlzbx +nbcghyjtsvkwzroefuxmla +leitjyscbuzrxmvowhgfnd + +c +sc + +fc +fc +cf +fc +cf + +iupatydhxkvmbjrl +hbptrxjliaymud +udxeyjrkbphamilt +yuspxdmtiajlqrbh + +hjgkstroxypi +melkwdhiqbypjxc +isxfgjyohpk + +jcshpztfgoynimedwxrqba +izjtbypodrxfwgcqahmsen +mqwgbpzhijdonfryxetcas +nfywrtdoejsxzaipghbmcq +mgrazowyxfecspntdhqjbi + +pzctfawmn +hzinstwv +zntipwh +wjvtzfubnm +zknyqrltgxow + +bxtvgjkreoupqzayh +jezpkhrovugaqtxby +htxbojraqzpuvnykegs + +jakdyhimbtwxlncsg +bjnkcmatgwyxidlhs +mycwkdighnablsxjt + +smokt +eunfogxytclshm + +r +r + +pdasnreog +uyljkar + +whriktcn +ujewkhdfrs +mxdfrhgkw +fwhkrp + +h +hw +h + +xmvjkhoebzqs +osvxbzheqmkj +szekvxjobmhq +hezjmxqbsokv +voekqxjbshzm + +kzysiheptuxgob +zhyxepbwsugikot +goxkzsebyphitu +hsuxotzbpikgey +sbgtoeyizkhupdx + +gdrqitano +rqdiaotgn +daogqtirn +atgoqdrni + +dluy +fm +dry + +nyseo +jenyo +ovyne +nyeox + +zawiflvhpjgomecdrk +iloejmrghpkwfzcadv +hfwejokzirldvpcgma +dihcwlmgoefkrazjvp +ephokwjzicdflvgmra + +gyubiopxhflqkrvcwtszmj +cfmwxogquzyhtsbvpkjil +qxmgoflbyjzwucphksitv +fjzixwusycvbhgqomtpkl +hgmtcbszywpvukjqoxifl + +jkvthqorywsux +qwukhroxytjvs +wktonyqjvuxi + +esmpgqur +rspqm +sqmpr +sprqm +rspmq + +e +e + +vkamztjcdqhroblnyw +tmoqwyzharjvbdnlc +ojynamchbztdlqvsrw +whjrocnadetmlqyzbv +jlmqcyxbdvzhoawrntu + +yljxnwtpirgqe +rtwyxij +iywjtxr +yrjwzxit + +qovbwdzhlif +dbuvhifyzqw + +yaeigdrovcqmnbxfw +vpwnimfaexocyqgdr +nivqcoemawydxrgf +wmxfiornakcgvtuqdhye + +ctywzurhk +rtyzwuchk +wrycuhmtkz + +z +vz +zma + +gcrivmshxknuwot +hqgwunvkitsorfx + +ulmkvwz +qlkfmczovysuw +dumwaljrvzk +nuwzkmilv +wluntvmkzx + +ydw +qwstbd +jhd +idxfn + +defbuaptricmwk +nylgehpvsu + +zkelcmpdatj +tacjldxkem + +hjvmubrtyzpwnskexflod +bdgfcwkmtzxrqoupnljhiva + +eubykwhqdxivgmfpzjcnors +qcrexkjnmibzhsvfoydgpuw +rejovgknxuwymhfcpidzqsb +qgzkjwiepyhosmvrxdubncf + +jfqsrwzg +csyuoabhvikmd +nejsz +eqxs +jsgwl + +vkfjpozcxm +qsephmdo +aormp +eqponhym + +tdhaizeyqfcvm +yvzgctnph +vkojgzbhtypcs +wbcyhxnvtzs +hztvcyp + +yehaqkotbnzlj +qohzbyjltnieak +lhkyqzjbeotans + +msvofdluxnpht +otmnflzvds +slmtnzodvf +tflsjivnomd +tdonmsfvl + +hyqoneaujczkmwlx +ynkheqzwfaolc +nhkzqalyewco +wznkfcaeyohlq +yechalzpoqsknw + +mnebgrhqjlkpod +ecxgvlwdfzhiabstj + +rgjhy +dqgh + +inel +heniy +ndei +edin + +yomqetfwnpixh +lqsvgkdcizjyfb + +qksm +qms +smq +sqm + +xpigmrvtc +mdcxgrip +rmzgxcip +xigmcrp +ugflmyircxbp + +uaibcnygjvroqxtmkz +aunrkmxqbzjgwyeod +qxmogsazkujrcnby +qojxaybszlrcuknfmg + +recwyhnda +nchryaw + +gi +ig + +tzq +bkj + +rz +r +qr + +bkdftxjvrioq +xkodfbivrtq +biqtovdxkfr + +zxybwjcqvkmt +swaeftrnhd + +vk +vkw +kv +vk + +jmpli +jpgim +jmoipw + +uliwvnpmk +lwvinmk +mvnwleik + +h +h +h + +aizpyuhrsm +rmiuzdbhy +iruhmtzy + +fsc +c +c +zuag + +kinylrdqtf +yilkfrdwxqno +rynlkfdiqp + +ruskgfcylowvmjiahezb +gsicyhqnxfpjrlt + +awgx +gawx +xagw +axgw +awxg + +iu +u +u +u +xsu + +xr +d + +z +z +z +z + +epdf +d +d + +vdlrbif +cjsotfdwexh +qdrfa + +qwfkdupgvszibt +smpzetkihb + +slvfkubejdcowqr +ruwedaqcvolbfpsigj +jblrauwseokvdcf +vxhntcrfzubwdosjel +oslwdmvcjebfru + +wnkaszlfjgupvbxmhocrt +nbohjymstlfrvxckgu + +ampvjczwtn +rchznpfjvaw +zpcjnwtva + +slqon +ados +losn + +mvuy +uxogtvmcqp + +ql +yopbdme +swhkg +iwlcq + +pdfuvyqokgxsbzhacirjlm +pgdakovmurfcyisqbljzhx +ypifcvlojsagrxdqzubhkm +pjyfozrlcxhvbgdiukasqm +lphfyuskrqioacxgdvjzbm + +vjq +oqjv +jqv +jqvb +qjv + +u +u +u +u + +mife +eaxz + +wukfghacoqi +kjcphli + +elmf +xogzbpwcmds + +udrqzjglkefhcimptvanyx +fnczjgaekihwyuvldqsrxtmp +banxpouvchgikqemtdfzjrl + +bdzvtqygucirm +ibyzgcvtumd + +poxgflmjweuqhktcazb +ugzfcjeqkwnbmoatph +qyjtwbfgouzhcpamek + +o +ov +o +o +o + +actbd +czose +zcpys + +btwhfmpi +umhtbfiw +imfwhbt + +afolhyqvxeg +qohvcregl +rvhclosqge +hcoeqglv + +ozqibfhewgpndavmly +wnlzepyoivkxqfbgamdh +oiztbvmlfnaqyhdgewp +egvlmrwpqdiyozanfbh +zkpnwmfydlheaqivbogu + +jnl +njl +ljn + +a +qtn +ntzr + +eohmibyp +yokm +owumy +kojmy +nomay + +ebx +dapbe +dbex +erb + +btrkcljqxdm +dtbrck +dkrucbt +tbrcdk + +igvhpejrmxkcofznuyb +oygpxuvbjzrkcnhiem + +mj +my +mj +m +dmw + +ljxhmbda +ahdjxblm + +umqytpknxl +uondmpyblqt +abndmyuphtq +nwgmiujyszqeptf +nbprlqvycutm + +ebxpwykcgiuhv +yxgwehcpvbkui + +fpalrvgksjn +pxchrbnkfajvdg + +dsunk +gtwuse +xvlbcmhufi +sozgqpue + +trn +e +e +ey +a + +vwdazum +mauvgzw +fuzwpvmiaq + +ihowsqrbxdetuvcgajf +sdojqeaiwygfubxrkv + +abzi +fbajiu +baicf +rsbyeliad +azib + +nscxriyzoapflkwj +ptrnscyfjdxazoiwlk +zxraykosfjlpcinw +zoplikjyxwcvnsgraf +zcspbroxlikfawynj + +vqefizng +ix +dcs +apoujwtylk +nbg + +thvu +utvh +vuth + +cb +qb +znisjautvpo +e +rmk + +yps +ps +sp +pds + +htldayejcm +qgwmjit +tmsj + +qw +qnzpei +tjq + +gmri +rimg +gqeimrt + +nvoqdje +nvojeqd +nojevqd +njeoqdv +qndovje + +mdhvwfnarbpksjt +dftsmnvrjpkwbha +dmtnhbrypzvjsfakw + +xnctqbezompvi +tcivzqxjemo +trmizegvcqxo +yeozqitcjxmv + +rpvezm +pmre +reopimut +vmpezr +hpermz + +dshourgilv +hovgluedis +ugvsohldi +dshvuiglo + +xufdhyst +tuh +htkbuwv + +uyhmkzgprft +lptqenbofxwk + +klhnprixqc +ptyfsz + +gbdilsxjvyuceqnw +vguqmicyjlnoxstkzdb + +ajbvdz +jbdavz + +qwoaltfyjecup +bikznrxehdsvgl + +il +il +lai + +hnxbpeudogywqjtzf +xrfwsypilokbghmn + +lnprticjufgk +tkgifnrcpluj +jkptrinlcgfu +ntruckifpjgl +kjutlfcrpnig + +pjxn +d + +cehjgirskzdfupnayqbtx +tfcrbgqoxipjnshyu +ircpljyuqgbnthxmsf + +elknv +kjle + +rlfimhpjtxcbgqysnkev +fxmpjhcvnqgtsykbrlie +geilpnftyhdqrmvbckxsj + +iwrhjuxaylt +rutxwihlja + +xgjqs +jlgbxz +gjsxb +jxnhtg + +rojtvpudx +rdpoxtjv +vjrpxdot +doxtvjpr +xdtrojpv + +hwpaqudromg +pfqarht +pnqhear +pxrenahq +eapqthvr + +nrhfdzetwixcjsqlbupko +btijqrefckosadwlnxyhu +hievkwjcoqtrdbxunsfml + +odhzjpkrxueqymavltbsc +vchxyqjdsmfrupoanezltbk + +xsdmczyvhojibkarqeplgfn +cjrzmybhfvdakqexngsplio +yogeivplzxmqskfcdrnhajb + +jhtogzx +zoxjght +xtjhozg +ghtzoxj +ztoxhgj + +edvbanpitmhjgwxrofklyu +cpemyxlabkdjinzrg +yadxlqkepbrgnjim + +yq +mj + +gbylw +zuc + +glbsezpfrdxu +krzfoxgcbdsp +jfrgxsdbzpo +gzsrpbdfx +rzxfgspdb + +srwzajgvukpflidxn +sdialkfnjqvrxwzp +fakwsjmnbldtrvopyxzi +zrifwvjnacxspedkql + +qfbszxo +zqsbfox +bozqfxs +fosbxzq +xofbzsq + +lfgirdtnsbmuhx +fuirqanhzmtdwxcs +pxhinjvuflrdsmt + +kd +bdkc +dk + +ysakvxpc +xascbykpz +ygkstxp +ikfspxyeh + +sxewnt +anwezrxstqkgp +weysxnftij +stnxhwe +tesxwnv + +ozpbw +plyobt +bjcdnoavuh + +vuhczmygikjqtnwelxsap +ljhsbinurypwxmkqgca + +ktlucpm +clupktf + +lfx +uqrmedh + +tdbnijescrzghomwvkfuxq +nsriukmjqeavxlzwgtofd +ekyoupxdzflqntrimjwvsg + +jhdtvxrg +vtgjrdhx +txrgdvjh +txrdhvgj +rgtvjdxh + +rfjl +bl + +rp +pr +pr +qpr +pr + +qatusrmofjiv +kovrwcgijz +jivolnry +tjylrnmoiv + +bscyonuaed +eckjonawsbz + +sl +ls +ls + +dcypgbktwevhju +fhlopxgejscqziambnt + +glwuep +welpug +lguewmp +wugelp +lgwpue + +cbnprvmgujfeahkod +gcjinupbmrehvakdfo +upyjvnhcamfokdrbeg +oueagfpkmljrvnchtbd + +ngoqjkxyeztcar +tawokezjqyxn +qetojylkxaznvdfp +qzcanobyxesthkj +oyzetagnqukjx + +oluzdqyevricxgpbjh +jczoidqgpuhbrylvex +eoawvlqpzidybgcusx + +gbkhxr +xgbkvhr + +gynjrlazuhdsiebpm +zwgmvhr +xtfgrmhzq +wgtzrkcmh +mohrzg + +ips +eiop +spi +blcipw +pie + +m +mg +rmib + +brelhau +aerulhb +eularhb + +ntjcb +hlpfq +mhlfp + +gkbzfmjinp +rwfq +wcftl +cotf + +pcklviqyxumegznob +gsqecynpzlimoxukbv + +hu +uhl +hu + +mzktplnxfqwrd +dplwmzfrtqknx +frqpmkdxtnlziw +kyxwlztrjdsfqnmp +twzlqxkprfdmne + +afblckugpyzwvh +chfuvgklywz +pxkwuvlychgdf +igshyklvecwfur +qcvtwgylunkfhj + +jvbsuodzptghycqkx +thjxozkvudqsgby +yeqodxvpbukthzjgs +jutnksfqbvodzglxyh + +amodbsxrzg +apbcgrskzinm +awmgtzhbsr +qvsgzbeamjlrx + +rwaisemcuqxo +lrojvqxczigbsmay +facqkrmiusxo +mxdsoaqcuri + +rbvzikynfoxctwghdupaem +bytwuofvzknrqagmixdpchse +vxgtnrukcidoepfbyzahwm +dzwgutvhaocryeinmkpbxf + +fbp +c +auyk + +lbmyuotpcnsikvgrx +ycvhpkibmtsflxegunr +gpibcmtsulxarknzjv +gpkimtovlxnrscub +dxkbghlnctswevrimpu + +qok +iqz +qetpgrwyd +qnsco + +ioud +udiopc +mzsfhdiu + +ueikvmsr +hkvmrjuiase +evsxikplfrom +krzmgisev +iesgmvkur + +kdwbteoufy +wbdfokuy + +dbsj +dbfqgjek +dhbjp +pdbjo +jbd + +ywnmpicadove +vawkoyice +vyaocqwie +aeiryxvwco +tecoiywav + +grqoevckijwfmspahltuz +zwgcvraqfimotjlhsekp +okeahcrpmjsigtqwlzvf +rmcielqkwpogfthsvzja +iotprlamgjqfecwsvzhk + +pdwxajyokg +jrsdkwgxbfae + +dqlsnwreptfjxcybv +ujlpmzqrikgyantvse + +wjc +cj +cj + +tvzla +wacevhg + +bq +bq +qub +qb +fqdbs + +yks +sbyeuf + +mgntlwyv +tqzvgn +gnktipzv + +apkwmxjluocsvzi +ixzqpcsalkmowvj + +bajuygnrwt +yubjgatrwn +gtjuwnbary +wajbgntyru +yrnbgwjuta + +bmcwie +cibjwme +bweimc +eiwcmb + +dbkylhiwzusm +ujkistmfwcldh +vrsplkinguhmwqxd +wiysuchkzolmd + +dxkrutihaz +uiarkhtdxz +uzdksihtxarb +krihuztxad +rakhjxiztud + +vhfsnzep +fsckleqdhirjyp +fshwpaeuogmx +behftsp + +gxotrha +karogh +dohgnaqjm + +mvs +my + +fbgqisx +sfilvgax + +gcvwlreubdmo +mrfcwgblvudho +vdicaompgulwtrn +cvglyduohwbjrem + +axfqlgezschyiubm +xeyabhzilqusfgc +fzixqebhyslacgu +fqyucihzxgblpeas +cxqvtwrkfhbzauliysjge + +lnxj +alwoycs +uqedvgz + +ztkagdloihcmvjen +ovcdmjekgazhtnli + +mpohrwbesqfvd +kdehobasjwrq +suebmqvdrowh +hdewrbpusoqf + +fnebwpxqjzrukgo +alfwgtnhzrejdvmu + +con +on + +tamhynfpc +mcrhflnpujxtk +pmvicnhgsdwot + +leiyrvjncqphbftdo +ldorbvncyhpfiqej +oqhnyaipjrlegcvfdb +clibfjpnyedovhqr +idfrhbevkjloycnqp + +bfchelm +lbhf + +b +qst + +vpngb +gvbj +gnavbcu +nlgvb +sidbvg + +tkpwsnedf +bxrvmltfaonhkezwyp +etkjwupgcnifq + +ypvk +ypk +pwyk +kyp + +farmkwguisvzbljdcqtnoe +irtcfvmbndwejgaoqzuks +omjvzkdnugcesafiqtwbr +bocntzgfuwksarjmivqed +wrtznsgijemqdkfuoabvc + +a +epn + +xcpqb +xszwbeujqv +bxdzejv +bq +iyrltkbf + +vpolaxmcutnk +ovctkpumnl + +od +tuod +od + +okcewuzdtplshgxb +czkpdgohbwlseuxt +epbzodlgtuwkschx +wtbgdmzjohpxulckse +stbuhgdokewxclzp + +oubmwaygzsvrpeiktq +nuaqotbmgcvrejdshkizwpy + +kxw +kwd +wk + +afysdhlriocjxq +yafqcrdxlohsjiz +sofqizhlxypdcjra +sjmqylwcahrofibedux + +fkwbvap +jgdkzrwfvo +wifnkev +kbncvwxfp + +gkhstvwcadxfrp +atfrwdksmphbvgx +rcdhgkvspawtfx + +vbmzqp +r + +ewluxs +mosuqlxwg +rwuclxsi +xsilwu + +qpdjbnyi +mackzh + +vwmsy +dctoz + +xgidfke +dqxfik +davf + +gwluyxi +ihoxnbazsmj +qypwitvkxcdeflr + +yibzorjh +hbijqrzf + +xwednlczvukoftbmajphg +wlvjfuzkapbnghdmcoex +noajcfhzgmvkweupdblx + +dvhytk +mljydszthqk +cyftakh + +zrhupwkt +hgrlusqofkyvipztdbn +hpcrzkumta +kerutxhpaz +pkzucwthr + +wmyaf +lmhgou + +rhwitl +eztgnli +dlti + +svzxbogmhnteu +smzypvbelngjoucx +zebvognsmxuid +obuveznmgxs + +djcqa +qadj +ajqd + +lvpe +epl + +nxevifrzshgutcqdm +rqvxcgnutiesdzmhf +rteshnfuvizglxwcj +fuchnevszixtrg + +vmnhsx +mwhp +smheg + +k +k +k +k +kj + +cmki +dkacm + +jhomeuldz +drozch +dsziqwxph +bhmzdtrl + +umxh +xhp +hqx +xh +xh + +vfmrzqltn +qtzlrv +lzavurtq +vzlrqtf +vzrtql + +jflmxkwv +xlmwkvfj +wilkxjvfm + +tyrsw +fsajp + +pkchzmtelv +tcezkhvmpl +ptevlczmkh + +ifxnytesvzbgwqhc +thbgxsqwyfiznemv + +j +wi +hen +i + +lgjzaswrpcvednutqko +newpozcqlkjsvrdaug + +izmhfde +dghestzmi +ivhuwdzmej + +icsjrlghtvayp +chysgvpletijr +pijtvryshglc +hijscpgvqrtly + +nyrtchmao +cboztuhpflkq +exjgsvidw + +z +z +z +z +z + +azvph +tedzxmvh +yuzvh + +vfqzjhp +jzqbflhvp +pzqkvdjihf +vjzfqexhaynp +qvjotzuhfp + +kawzqvehnldpfyjms +qwgjsvmlyfedhpnkza +lqmwjfpsknhvyaezd + +plrjckxaihbn +xbcnfhpauktir +hxbekmqwzidnaoc +sgynjacxhkib + +elstkqybopx +qpldszxenu +philxrvacem + +zfqvwapib +vyuwqtaizlfmr +fwxaqizoknc + +fcxkg +kgucf +cfgwk + +bifpnhqodgzy +qeudfpyozihng +ihqgyofndzp + +gbdlhztckxvfmp +bdflhegkvmtapxz +gkvdtbfhxlzcpm +fblkphjzxvgmdt + +mbkqegcvysdat +dgamlysetcbq +gcyedbmsqat +stdcmgbqeya +mdgaseytbqc + +mbanitlspwd +idohstranwluby +tlfihanjszbwdq +csvwnatkibeldx +gdlnbawsit + +koc +aklh + +nwforsix +rfoinxgsq +ponu + +frkqweaplmyjtszc +evqlhgdnofpbsx + +xmjafe +nasx +gvtoirb + +fh +ahcvf +fubh +hf + +cnziuowlvd +wdulnczo +clnuwozid +usnolwdcz +lzuodcnw + +qzvo +ozqv +ozqv +ovqz + +petyqas +ysap +ypsjia + +as +jrd + +vczyxagnhlik +axhcklzgviny +rnlayxcgvzkhi +hcnizvgklyxa + +bhzyoer +odrnzth +bdrzpxohf +onrzh +ozmrwgh + +dwbikvq +qbdkivw +kvwbdiq +bqitkvdw + +zaiwc +nzdipc + +hupmeoy +feonhpym +pojmytcehkz +mhpoey +pehoyfmn + +iexqrjdunpmhkzsvcy +tzjhxenvdqmpbcuykris +xyenuidspclvmkhjzrq + +eputvsadhcwmxilyzrf +xhldizuwfpryamsctev + +vruljzbpqwkimgcdnhox +dvrhjzwlubxgqmpnokci +rogckbmzwlnjphxdvqiu + +mflxyrdnaiojwh +hvxdjufmlwgryioq +hialwfmxdoryj + +zqjyx +qyjxz +guyrjxczq + +jkptbc +ctpnbk + +djoxvsbktw +zhryojfgxnpamtbiqc +keloxbwjtu + +waeixkdunptl +atejnixwk +yaiwnebzktjx +nraxetkwi + +srvltzm +artzpiml +zmfrutld +trmzl +rzfltm + +upews +uwesp +ewusp +upwes +uwsep + +gmqadcilxpustz +zmdaputbsglxcki +gtudmizpcaxsl +audigpclmsxzt +zcxasluogptmdin + +mjxvndbfygluqh +vbpdxunmh + +thlqwmnfyvxkcjaibro +wnohvfbukmtcjrqxlyai + +iauh +dh +pqsnwke +td +t + +k +k +k +k + +tnirszcf +tprnchfolzi + +vyf +vftay +pvof + +nrzbpfdae +ofanrjbep +avnprbemfo +bgaufphxern +tbncrqeafjzidp + +wbosukfnidm +bptmsnodiuef + +fop +pfo + +ztfplvdymqciuarewxgkn +vwufqxyerpcoitnadlmgzk +ndlwgymuirapzxketqvfhc +gwecvyqdmlraunxjiktpzf + +ozjs +tmqezknf +rmvcn +hydpigwulb +es + +umlvzepcx +vuxmeclzp +vlzuexcpm +zmecpvulx +mpzvulcex + +oeixhj +iexhoj +jexoih +iohvejxnk +ihexjo + +uzw +zsb +zu +zp + +mrqanvodfx +rnqmdvfa +abdptrgzflyhnvs + +pjivzyacou +vnapjyzuwbf +ajpuvzy + +yrbptzgsevaomukldqxwicnj +ksatveqludrmbjngoixwycz +zdrigcyauxvmlsektbqojnw +lrwdgumyojnqcaizxsebkvt + +ipsc +picl +ptcasgi +pgvci + +u +e +j +e + +gz +ezj +ibolpzf +zg +z + +ihsemv +ocaj +gu +kidw +vmultwkr + +xka +x +xq + +vdyzsapbwntmxojfqiclek +dfhscbwpqxltmjzoga + +aiswlquvcmhy +cusylqwiav + +jmowrpbflkcysdzt +fvaxlbkmdiowjtzrqp +lpuwrjkohfdtmsbzge + +jgrqosxzyuki +skhoquigzrypjbx +zysixgukrqjo + +tesvcrwaqzmfnyb +fbeciswqrzmta +wmqerlfczatbps + +hx +xvjh +xh +xurcwzh +hvx + +kzh +kzh +khz +khz +zhk + +rezwblynpvodigmj +ltzreviupnybgqdjkm +zjervlnixmydgspb + +abfcgeymizjdnxklrtqs +czqemlanjpfsohryxg +xjfnqyeagrsuczlmh + +myrqdea +mdtkp +wjudvohlmn +pmdc +mkd + +x +n +n +n + +obpuqvwmnx +mwnqbxvupo +oqwpnuxvmb +uxmpwbqvno +qmpuxbvnow + +xzesnocrmaqtfvlkby +ltzxykcnbfaqvmesor +cstoenkyfmplzqxgvab + +qwkuhcmvrlg +hlkrmuygwqxv + +rkgvmfyz +sqnc +dohxti + +pkufhtwxvnjqd +fshdqpizmvtoewculnb +phgduwftvqn +dqajtyhprvgufnw + +qwzkrhs +zulqk +qvozjkyga +ntcbqlkz + +ucgmdbajz +xtg + +nx +xn + +kajgbcyoetfiplx +twloixgaekbjpfcy +jlifxpbtoycagek + +mrspqwdnuye +yujewnrasqmp + +mafzxkliquynsropbtgejhcw +mrxfnicjwelukgzqtspahybo +xryozujfakinebpqwslhtmgc +poschfkrtxjwegimuzqyalnb +omtswhzuijaxlpgeybknrfqcv + +qs +sq +lqs +sq +sqpi + +apfgtns +ryigfnsq + +vjz +ql + +pftkg +dyncoulih +bzpg +f +g + +qhc +ehxdzqc +qgb +qjrvlsf +cdqtb + +rusxpwgebjtqc +lgdzuinwvje +lfjwmgoeuadz + +dafvyi +iylefg +flciy + +echxoit +ytup +thxasiod + +singvkzjohmct +njvcmzthkigps +gmnjsdctizvhk +psmvjkhzogictn + +xjgukmfnls +sukxjf +xfudbsejnkv +ubhmjksfzx +stxpqfucjkioaw + +tq +tq + +bleyvp +ebypv +yewvpdb + +xsjbancl +asq +as + +inl +ny +vn +sbtf + +ihgvopwqzydftlxcbjm +xpdhgjtqybocekl +uhogsrjblpdxcyqtn +rqbltpahkjgcodyx + +tzagysvdrebjhnlmu +djugelzvrsnabt +brsculznevdjtag +udbzxjgtievarnsl + +icalhfwu +uafcliw +waulzfic +auilcwf +filcuwma + +qetcajuhmpbkvsdi +khpwjutmvcyesbadqi +bpvucajhidemqtsk + +f +m +m + +bxqtkhwynlezfp +moptexhzfabwcy +dzkryhtpbvqxefw + +gyznickf +ws +o +abd +shj + +moqsnucx +mnucxqso +qoxcsnum +mjcsnqxuo + +yad +cday +dya +ady + +acsl +la +ila +lavwj +al + +eq +eq +teq +qe + +ypgtbcqnio +vwj +jwu +rk + +b +b +b +uab +b + +vpnjtyldieokwc +dlyifcjxzmvgbhwnper + +cpxasmqgytkbl +lqstpbgmkiza +bgamkdtsplq +jatqcxlsyubkpmgrw +ksgqpdltafnbcm + +vikupeozmxgqw +kexgjzvmwuqoip +wzgvoimkpexqu +kuwgizqxompev + +dbctojnhsz +mpochelwauvbjdqrn +bhdjonscz + +tmxgo +ogxmt +ogmtx +gtxom + +ogdzpe +dzpgeo +zopdeg + +ajit +rintad + +xtjghyrzcfl +atfzxcyrljq + +dl +arl +arlg +pl +mwoklu + +w +k +w +w + +tzycrupmsh +trucmzsphy +husmrczpty +mryuczptsh +zuyjtpmrhsc + +txbpilyem +lbtzex +xgehlbtw +eclmbxt + +aiwbpzesk +yugvlxojqd +ichwa +inz + +bdes +sedb +sueqfbd +dbes +rbeds + +xbzefntus +snypzbfmeku + +skjrbtqewpyg +iqjkyxaswe + +hdegjifr +jwxrahfmbei +irfqolet +eairzfnhs + +p +sp +p + +g +x +xv +ia + +jozvgcpk +vpo +opfv +pov + +owgfclzraqikb +rkbqalfico + +djsyxnkw +ws +wgs +wlsg +svpfwu + +oyjlxstrebvpfhmd +opfrjctbnemyvd + +lpqebxykmfdsnt +emfnsdxptbkyq +mdobqptnkjxfeys + +waktzxvocjruilhgym +uvtakjblqwsyoghzp +yklvjwniutehzgoa + +fhqgy +yqhfg + +brlsfdopmqyng +fnlrdpbosqymg + +lyksz +rzyk + +jamvlpcydqzu +azdcpmvquylj +zlqmpydvuacj +cydluaqmzvjp +lmqzdvajuycp + +nuixfj +ixozbutyj +isxlpkqhwrmvj +jincxga +jenidx diff --git a/AoC2020/inputs/input07 b/AoC2020/inputs/input07 new file mode 100644 index 0000000..34dbd9c --- /dev/null +++ b/AoC2020/inputs/input07 @@ -0,0 +1,594 @@ +light beige bags contain 5 dark green bags, 5 light gray bags, 3 faded indigo bags, 2 vibrant aqua bags. +faded purple bags contain 4 shiny green bags, 2 mirrored olive bags. +drab tomato bags contain 4 shiny coral bags. +mirrored crimson bags contain 4 bright maroon bags. +faded magenta bags contain 2 clear bronze bags, 5 dim brown bags, 3 striped cyan bags. +vibrant beige bags contain 1 pale silver bag. +plaid lavender bags contain 5 striped teal bags, 2 vibrant tan bags, 3 clear bronze bags, 3 light black bags. +posh maroon bags contain no other bags. +dotted yellow bags contain 4 plaid turquoise bags, 2 plaid lavender bags, 1 dotted violet bag. +posh fuchsia bags contain 5 mirrored gold bags, 2 faded bronze bags, 2 faded coral bags, 1 vibrant maroon bag. +dotted chartreuse bags contain 1 pale magenta bag. +muted beige bags contain 2 drab cyan bags. +dark olive bags contain 4 dull gold bags. +posh yellow bags contain no other bags. +dotted turquoise bags contain 5 striped indigo bags, 2 pale cyan bags, 5 light violet bags, 2 plaid silver bags. +wavy black bags contain 1 light cyan bag, 3 pale tomato bags. +striped plum bags contain 5 wavy maroon bags, 2 dim violet bags, 5 shiny tan bags. +shiny olive bags contain 5 vibrant aqua bags. +dim indigo bags contain 3 dull indigo bags, 2 light crimson bags, 2 dark magenta bags, 2 vibrant tomato bags. +drab tan bags contain 4 vibrant lime bags, 1 faded turquoise bag. +muted black bags contain 4 dull crimson bags, 2 posh tan bags, 4 shiny blue bags. +plaid red bags contain 5 clear blue bags, 3 plaid white bags, 4 dark magenta bags, 1 dark purple bag. +pale black bags contain 2 faded beige bags, 1 striped black bag. +striped red bags contain 3 vibrant green bags, 4 plaid blue bags, 2 drab brown bags. +dotted fuchsia bags contain 1 striped orange bag, 5 dotted maroon bags, 4 posh turquoise bags, 2 drab white bags. +plaid green bags contain 3 posh magenta bags, 4 dark black bags, 3 clear chartreuse bags. +dark violet bags contain 2 clear teal bags, 5 muted cyan bags, 2 shiny coral bags, 5 faded teal bags. +striped gray bags contain 3 bright salmon bags, 5 mirrored brown bags. +dull aqua bags contain 5 mirrored cyan bags, 1 mirrored olive bag. +light indigo bags contain 4 dotted salmon bags, 5 faded lavender bags, 1 dark teal bag, 2 dull purple bags. +dark aqua bags contain 1 clear tan bag, 5 muted turquoise bags, 3 drab orange bags. +drab orange bags contain 5 mirrored gray bags, 5 muted red bags, 3 muted gray bags. +wavy beige bags contain 1 light beige bag, 5 wavy coral bags. +dark gray bags contain 4 shiny violet bags, 3 dull tomato bags. +dull indigo bags contain 4 wavy coral bags, 3 dim plum bags, 2 shiny cyan bags, 2 vibrant bronze bags. +drab gray bags contain 4 drab silver bags, 1 vibrant bronze bag, 3 faded red bags. +dotted gold bags contain 2 faded silver bags. +muted chartreuse bags contain 3 clear turquoise bags, 5 muted turquoise bags, 4 dark crimson bags. +dark orange bags contain 4 shiny coral bags, 5 mirrored fuchsia bags, 5 mirrored teal bags. +light olive bags contain 4 shiny coral bags, 1 pale purple bag, 2 posh yellow bags, 5 shiny gray bags. +dotted silver bags contain 3 dotted purple bags. +muted bronze bags contain 4 striped silver bags, 1 posh plum bag, 1 muted blue bag, 5 shiny violet bags. +striped magenta bags contain 4 dark purple bags, 2 dull tomato bags, 4 mirrored lavender bags. +vibrant violet bags contain 1 plaid purple bag, 2 mirrored olive bags, 3 dotted bronze bags, 2 posh turquoise bags. +muted cyan bags contain 2 dotted crimson bags, 1 muted red bag, 1 plaid lavender bag. +striped black bags contain 1 plaid white bag, 5 pale cyan bags, 4 posh plum bags. +wavy blue bags contain 3 plaid plum bags, 1 shiny bronze bag, 1 shiny magenta bag, 2 vibrant cyan bags. +bright gold bags contain 2 mirrored indigo bags, 3 faded cyan bags, 3 posh beige bags, 1 faded indigo bag. +dim magenta bags contain 1 dark black bag. +dotted magenta bags contain 1 posh tomato bag, 4 striped white bags, 2 posh fuchsia bags, 1 mirrored tan bag. +light lime bags contain 1 mirrored fuchsia bag, 1 dull cyan bag, 1 mirrored chartreuse bag, 2 dotted beige bags. +faded crimson bags contain 1 muted blue bag. +dim tomato bags contain 2 plaid black bags, 3 striped black bags. +wavy tan bags contain 3 wavy gray bags, 2 striped indigo bags. +plaid beige bags contain 2 bright yellow bags, 1 dark gray bag, 5 dotted gray bags. +bright coral bags contain 2 drab white bags, 3 bright maroon bags, 2 dotted tan bags, 4 shiny salmon bags. +plaid tomato bags contain 3 clear white bags, 2 clear coral bags, 1 mirrored blue bag. +striped chartreuse bags contain 4 pale green bags, 2 muted crimson bags. +dim salmon bags contain 5 posh magenta bags, 5 dark red bags, 4 dull teal bags, 4 plaid gray bags. +plaid aqua bags contain 5 dark black bags, 1 light chartreuse bag, 1 dotted maroon bag. +faded silver bags contain 2 plaid silver bags, 1 shiny teal bag, 3 clear purple bags. +drab red bags contain 2 mirrored brown bags. +faded brown bags contain 5 shiny plum bags. +vibrant indigo bags contain 2 vibrant bronze bags, 2 wavy orange bags. +pale salmon bags contain 5 dull cyan bags, 2 wavy orange bags. +drab olive bags contain 1 striped beige bag. +vibrant white bags contain 4 shiny gold bags. +striped teal bags contain 4 faded green bags, 3 mirrored brown bags. +posh beige bags contain 3 posh yellow bags, 1 dull yellow bag, 2 posh maroon bags. +pale violet bags contain 3 shiny teal bags, 5 drab purple bags, 5 light turquoise bags, 4 pale tan bags. +light turquoise bags contain 4 dim lavender bags. +muted yellow bags contain 4 dim crimson bags, 2 wavy gray bags. +mirrored maroon bags contain 5 wavy silver bags, 5 dull aqua bags, 1 faded black bag, 1 faded cyan bag. +drab lavender bags contain 4 drab tan bags, 4 pale violet bags, 2 wavy indigo bags. +light salmon bags contain 2 dim magenta bags, 5 dull orange bags. +drab turquoise bags contain 5 shiny gold bags. +vibrant magenta bags contain 5 wavy maroon bags, 4 dotted gray bags. +clear violet bags contain 1 bright red bag, 2 faded plum bags. +clear beige bags contain 5 faded purple bags. +light silver bags contain 4 vibrant gray bags, 2 wavy gray bags, 4 drab salmon bags. +dark coral bags contain 5 bright plum bags. +pale white bags contain 3 posh tomato bags, 1 clear purple bag, 2 posh crimson bags. +vibrant yellow bags contain 5 posh gold bags, 2 plaid turquoise bags, 5 muted blue bags. +drab yellow bags contain 3 bright salmon bags, 3 clear blue bags, 1 faded indigo bag. +pale red bags contain 5 drab olive bags. +muted lime bags contain 1 vibrant fuchsia bag, 1 shiny coral bag, 2 mirrored violet bags, 5 wavy gray bags. +faded chartreuse bags contain 2 muted tomato bags, 5 dotted gray bags, 1 faded cyan bag, 1 dotted plum bag. +dark beige bags contain 3 dotted violet bags, 5 bright silver bags, 4 posh magenta bags, 4 faded fuchsia bags. +pale olive bags contain 3 plaid red bags, 5 posh maroon bags. +vibrant brown bags contain 1 plaid white bag, 3 dotted gold bags, 2 faded chartreuse bags. +bright orange bags contain 2 shiny magenta bags. +light coral bags contain 3 faded black bags, 4 faded coral bags, 4 plaid teal bags, 1 dull aqua bag. +dull silver bags contain 2 drab salmon bags, 2 shiny violet bags, 1 dull aqua bag, 5 faded black bags. +striped cyan bags contain 1 faded purple bag. +dim beige bags contain 5 wavy violet bags. +dotted coral bags contain 4 dim salmon bags, 5 clear beige bags, 2 shiny bronze bags, 2 light tan bags. +faded aqua bags contain 3 bright magenta bags, 3 posh olive bags. +mirrored tan bags contain 5 plaid silver bags, 5 striped gray bags. +striped beige bags contain 4 dull yellow bags. +wavy coral bags contain no other bags. +dark indigo bags contain 1 drab olive bag, 2 faded cyan bags, 5 dim yellow bags. +dark white bags contain 1 vibrant gray bag, 3 mirrored plum bags, 5 clear lavender bags, 1 shiny purple bag. +muted maroon bags contain 1 dim blue bag, 1 pale silver bag. +dotted gray bags contain 1 mirrored teal bag, 2 shiny gold bags, 5 drab gold bags. +dull tan bags contain 4 bright silver bags, 4 pale lavender bags, 3 wavy gray bags. +dark chartreuse bags contain 2 wavy tan bags, 1 striped orange bag, 1 posh salmon bag. +wavy gray bags contain no other bags. +drab brown bags contain no other bags. +dotted red bags contain 2 shiny yellow bags, 1 muted yellow bag, 2 pale lime bags. +bright black bags contain 4 striped gray bags, 2 dull yellow bags. +clear tan bags contain 3 shiny gold bags, 1 dark magenta bag, 5 bright aqua bags, 1 clear maroon bag. +dim silver bags contain 2 pale green bags, 3 clear orange bags, 2 pale white bags, 1 posh yellow bag. +mirrored chartreuse bags contain 1 wavy gray bag, 5 shiny magenta bags, 2 plaid purple bags, 2 dotted beige bags. +striped indigo bags contain 5 pale bronze bags, 1 muted blue bag. +dull plum bags contain 2 plaid red bags, 5 bright plum bags. +striped tan bags contain 3 vibrant aqua bags, 2 muted blue bags. +dotted teal bags contain 3 vibrant tan bags, 3 bright plum bags. +wavy white bags contain 2 muted black bags, 2 muted tomato bags, 4 bright gold bags. +muted lavender bags contain 3 clear beige bags. +striped salmon bags contain 1 faded coral bag, 1 clear green bag. +vibrant tomato bags contain 3 shiny violet bags. +dim olive bags contain 2 faded tan bags, 3 mirrored maroon bags, 3 dark crimson bags, 5 muted cyan bags. +dotted lime bags contain 5 muted violet bags, 3 light beige bags, 2 drab brown bags. +striped purple bags contain 2 dull gray bags. +wavy tomato bags contain 1 posh crimson bag, 5 vibrant tan bags, 3 bright maroon bags. +bright lavender bags contain 2 mirrored lavender bags, 4 shiny cyan bags. +faded turquoise bags contain 3 dull gray bags, 5 dull yellow bags, 5 dotted bronze bags, 4 vibrant aqua bags. +vibrant olive bags contain 4 dull violet bags, 5 dark coral bags. +bright cyan bags contain 3 bright turquoise bags. +pale aqua bags contain 5 shiny green bags, 3 clear silver bags, 4 muted tan bags. +vibrant cyan bags contain 2 vibrant maroon bags, 5 plaid magenta bags, 1 light black bag, 5 bright maroon bags. +striped lime bags contain 4 faded red bags, 3 mirrored brown bags, 4 dim plum bags, 4 wavy silver bags. +pale gold bags contain 5 posh plum bags, 1 dull tomato bag, 3 dark teal bags, 4 shiny black bags. +drab black bags contain 5 pale brown bags. +wavy maroon bags contain 1 dull yellow bag, 4 dim crimson bags, 1 dim lavender bag, 2 drab brown bags. +plaid gold bags contain 2 dotted gray bags, 2 pale orange bags, 5 mirrored brown bags. +shiny gray bags contain 3 faded lavender bags, 3 drab yellow bags, 3 wavy green bags. +bright beige bags contain 2 drab turquoise bags. +muted red bags contain 4 wavy gray bags, 5 mirrored lime bags. +bright violet bags contain 5 striped cyan bags, 2 pale blue bags, 1 clear plum bag. +plaid bronze bags contain 5 muted green bags, 5 posh gray bags, 1 dull silver bag, 4 faded black bags. +shiny gold bags contain 4 wavy green bags, 2 mirrored teal bags, 4 dark tomato bags, 2 faded beige bags. +plaid cyan bags contain 5 bright green bags. +posh green bags contain 5 mirrored beige bags. +dull purple bags contain 5 dull blue bags. +pale fuchsia bags contain 4 mirrored cyan bags, 1 faded red bag, 5 wavy green bags. +wavy olive bags contain 5 dotted olive bags, 3 shiny tan bags, 4 dotted magenta bags, 2 clear violet bags. +faded tan bags contain 3 plaid teal bags, 5 muted tomato bags. +pale blue bags contain 4 faded plum bags, 5 wavy green bags, 3 shiny violet bags, 2 faded black bags. +vibrant blue bags contain 1 shiny yellow bag, 2 clear tan bags, 5 posh crimson bags. +mirrored beige bags contain 5 shiny magenta bags, 3 pale blue bags. +dark maroon bags contain 4 bright green bags, 5 faded bronze bags, 1 faded indigo bag, 3 dotted teal bags. +plaid violet bags contain 4 posh yellow bags, 3 faded cyan bags, 1 mirrored lime bag, 2 striped black bags. +wavy indigo bags contain 5 dotted aqua bags, 1 drab salmon bag, 5 bright cyan bags, 4 dotted purple bags. +dull violet bags contain 1 vibrant tomato bag, 4 plaid blue bags, 5 shiny plum bags, 2 dotted aqua bags. +dotted salmon bags contain 5 plaid gray bags. +drab salmon bags contain 4 faded yellow bags. +light maroon bags contain 5 bright cyan bags. +drab cyan bags contain 2 dark beige bags, 1 dotted purple bag, 5 dark coral bags. +faded salmon bags contain 4 clear bronze bags, 4 muted green bags, 1 faded plum bag, 4 bright silver bags. +clear turquoise bags contain 5 shiny silver bags, 5 striped maroon bags, 5 posh chartreuse bags. +clear silver bags contain 5 vibrant fuchsia bags, 5 vibrant lime bags, 5 faded red bags. +muted magenta bags contain 3 dotted teal bags, 3 wavy orange bags. +striped aqua bags contain 4 bright green bags, 2 mirrored maroon bags, 5 muted gold bags, 2 pale brown bags. +drab magenta bags contain 5 vibrant tomato bags, 1 wavy violet bag. +clear yellow bags contain 4 drab salmon bags. +striped gold bags contain 3 dull salmon bags. +posh black bags contain 2 dim black bags, 4 plaid crimson bags. +drab fuchsia bags contain 1 drab turquoise bag. +mirrored fuchsia bags contain 5 shiny cyan bags, 4 dim crimson bags, 2 drab brown bags. +pale lavender bags contain 1 shiny lavender bag, 4 mirrored fuchsia bags, 1 wavy silver bag, 1 bright black bag. +light teal bags contain 2 vibrant fuchsia bags, 4 mirrored indigo bags. +light cyan bags contain 5 mirrored cyan bags, 1 faded fuchsia bag. +wavy lavender bags contain 1 faded gray bag. +clear purple bags contain 4 light red bags, 3 shiny teal bags. +mirrored coral bags contain 2 bright tomato bags, 4 drab fuchsia bags, 4 pale salmon bags, 1 wavy teal bag. +muted crimson bags contain 2 faded lime bags, 2 wavy plum bags, 5 bright gold bags. +plaid silver bags contain 4 wavy coral bags, 3 shiny violet bags, 5 faded beige bags. +posh orange bags contain 4 dim blue bags, 4 mirrored lime bags, 1 muted chartreuse bag. +dotted olive bags contain 4 dim plum bags, 5 bright aqua bags. +vibrant black bags contain 3 dark purple bags. +dim turquoise bags contain 3 shiny coral bags, 4 dotted indigo bags, 4 muted yellow bags, 4 dull bronze bags. +light gray bags contain 1 plaid silver bag, 4 faded purple bags, 3 faded green bags. +muted white bags contain 2 faded yellow bags, 4 dark white bags, 3 drab green bags, 4 dim yellow bags. +pale gray bags contain 4 pale brown bags, 3 dotted indigo bags, 1 mirrored indigo bag, 1 bright silver bag. +dull brown bags contain 1 plaid silver bag, 2 pale bronze bags, 3 dark magenta bags, 5 posh yellow bags. +bright indigo bags contain 4 dull red bags, 5 dark yellow bags. +dotted purple bags contain 2 muted yellow bags. +bright salmon bags contain 2 vibrant orange bags, 4 vibrant bronze bags, 4 shiny coral bags, 3 drab brown bags. +shiny chartreuse bags contain 1 dotted red bag, 4 wavy lavender bags, 2 muted aqua bags. +light brown bags contain 3 dark teal bags, 3 faded lime bags, 5 bright coral bags, 5 plaid red bags. +dim orange bags contain 4 clear lime bags, 2 plaid teal bags, 4 plaid lavender bags. +wavy teal bags contain 3 drab chartreuse bags. +posh purple bags contain 4 striped salmon bags, 2 mirrored black bags. +dim cyan bags contain 5 mirrored fuchsia bags, 5 dotted bronze bags, 1 light violet bag. +clear fuchsia bags contain 3 dim yellow bags, 1 pale yellow bag. +muted fuchsia bags contain 2 mirrored beige bags, 4 dull black bags, 5 mirrored red bags. +striped bronze bags contain 3 muted violet bags, 4 dull brown bags, 4 drab silver bags, 5 dotted maroon bags. +bright silver bags contain 2 drab gray bags, 3 wavy coral bags, 4 posh yellow bags. +light tomato bags contain 1 muted green bag, 3 bright indigo bags, 1 wavy blue bag. +dark red bags contain 1 dim brown bag. +vibrant fuchsia bags contain 1 shiny gold bag. +vibrant crimson bags contain 4 dull olive bags, 1 striped orange bag. +clear lime bags contain 5 dull crimson bags. +clear lavender bags contain 2 dotted gold bags, 3 light crimson bags, 3 mirrored red bags, 2 dark purple bags. +dark silver bags contain 4 muted silver bags. +posh white bags contain 3 light maroon bags, 5 dotted brown bags, 5 light yellow bags. +dark gold bags contain 4 muted plum bags, 4 posh silver bags. +dotted cyan bags contain 4 shiny magenta bags, 3 drab red bags. +plaid chartreuse bags contain 3 posh fuchsia bags, 4 light white bags. +dim lime bags contain 2 dull green bags, 5 posh magenta bags. +shiny indigo bags contain 5 light violet bags, 3 plaid orange bags, 2 drab turquoise bags, 5 striped beige bags. +bright tan bags contain 3 dotted fuchsia bags, 1 dim yellow bag, 2 mirrored violet bags, 2 plaid silver bags. +mirrored green bags contain 2 plaid turquoise bags, 5 bright turquoise bags, 5 light lime bags, 5 plaid white bags. +light purple bags contain 2 striped silver bags. +shiny violet bags contain 4 dull yellow bags, 1 faded red bag, 3 pale lime bags, 4 drab brown bags. +pale coral bags contain 5 drab indigo bags. +faded olive bags contain 4 posh tan bags, 3 striped orange bags, 3 wavy gold bags. +wavy cyan bags contain 3 mirrored teal bags. +wavy magenta bags contain 5 bright coral bags, 2 dark black bags, 1 muted beige bag. +wavy green bags contain 2 light violet bags. +shiny purple bags contain 5 wavy orange bags, 3 striped turquoise bags. +wavy orange bags contain 2 bright turquoise bags, 3 mirrored lime bags, 5 light violet bags. +shiny crimson bags contain 5 plaid olive bags, 2 mirrored turquoise bags, 3 posh lavender bags, 4 muted bronze bags. +dark tomato bags contain 3 posh maroon bags, 5 dotted purple bags, 1 shiny violet bag, 2 drab silver bags. +clear green bags contain 1 light black bag. +clear indigo bags contain 5 vibrant crimson bags. +muted coral bags contain 2 mirrored black bags, 4 dull silver bags. +clear teal bags contain 1 posh tan bag, 3 faded plum bags, 3 wavy maroon bags, 1 mirrored lavender bag. +shiny tomato bags contain 1 clear tomato bag, 5 bright gray bags, 1 striped cyan bag, 5 vibrant lavender bags. +shiny silver bags contain 2 dim violet bags, 2 striped teal bags, 2 mirrored beige bags, 3 drab turquoise bags. +posh indigo bags contain 5 drab fuchsia bags. +dull lime bags contain 5 vibrant cyan bags, 5 vibrant chartreuse bags. +mirrored lavender bags contain 2 drab gold bags, 5 vibrant aqua bags, 1 plaid teal bag. +faded coral bags contain 2 clear tan bags, 4 faded green bags, 2 faded fuchsia bags, 3 drab brown bags. +mirrored purple bags contain 1 plaid black bag, 5 dim teal bags, 4 muted bronze bags. +bright lime bags contain 1 light lavender bag. +pale turquoise bags contain 2 striped silver bags, 2 muted tan bags, 4 vibrant lime bags, 4 faded lime bags. +posh cyan bags contain 4 bright salmon bags. +wavy bronze bags contain 1 drab olive bag, 5 plaid orange bags, 1 wavy silver bag, 2 faded bronze bags. +light tan bags contain 3 faded violet bags. +mirrored brown bags contain 2 pale lime bags, 2 dull gray bags, 5 dotted bronze bags. +posh lime bags contain 4 dotted beige bags. +drab maroon bags contain 5 wavy gray bags, 4 posh magenta bags, 2 dull gray bags. +light yellow bags contain 4 striped lime bags, 3 faded purple bags, 1 plaid silver bag, 2 muted violet bags. +vibrant silver bags contain 3 posh purple bags. +mirrored plum bags contain 1 muted salmon bag, 4 light salmon bags, 2 faded brown bags. +mirrored gray bags contain 1 wavy silver bag, 1 dotted maroon bag, 4 posh maroon bags, 3 muted blue bags. +light blue bags contain 5 striped magenta bags, 2 dim plum bags, 4 muted tomato bags. +dim violet bags contain 4 dotted maroon bags, 1 pale lime bag, 2 mirrored brown bags, 2 bright salmon bags. +dotted violet bags contain 2 dim maroon bags, 3 faded beige bags. +shiny red bags contain 1 wavy gray bag, 3 clear bronze bags. +dotted black bags contain 4 pale fuchsia bags. +mirrored gold bags contain 3 pale cyan bags, 1 dark green bag, 5 plaid white bags, 1 drab black bag. +shiny plum bags contain 1 posh crimson bag, 5 bright yellow bags, 1 dull indigo bag. +dotted brown bags contain 5 dotted black bags, 2 clear yellow bags, 1 mirrored violet bag, 4 shiny gold bags. +faded orange bags contain 3 posh indigo bags, 3 bright magenta bags, 2 light teal bags, 2 bright turquoise bags. +mirrored tomato bags contain 1 dim bronze bag, 1 bright salmon bag, 4 dark purple bags, 4 light olive bags. +dotted orange bags contain 3 faded brown bags. +dull red bags contain 1 plaid black bag. +dim purple bags contain 3 vibrant purple bags, 2 dim cyan bags, 3 clear tan bags, 5 wavy beige bags. +dull coral bags contain 5 drab chartreuse bags. +dull black bags contain 1 vibrant bronze bag. +pale crimson bags contain 4 striped brown bags. +faded green bags contain 2 shiny gold bags, 5 dim maroon bags. +shiny bronze bags contain 4 dull turquoise bags. +dotted tomato bags contain 3 clear teal bags, 2 wavy crimson bags, 4 clear tan bags. +pale purple bags contain 2 shiny aqua bags. +bright teal bags contain 2 drab salmon bags, 4 dim yellow bags, 1 drab maroon bag. +pale tomato bags contain 3 striped black bags, 2 mirrored fuchsia bags. +striped silver bags contain 1 wavy turquoise bag. +dim gold bags contain 5 dim crimson bags, 4 dim violet bags, 2 striped bronze bags. +light orange bags contain 2 mirrored turquoise bags, 5 bright crimson bags, 4 pale tan bags, 1 drab teal bag. +wavy salmon bags contain 3 plaid orange bags, 2 faded cyan bags, 3 clear purple bags, 5 dotted orange bags. +vibrant chartreuse bags contain 2 plaid red bags, 3 dull aqua bags, 1 mirrored brown bag. +striped orange bags contain 4 dim crimson bags, 2 wavy coral bags, 1 dim plum bag. +light black bags contain 2 clear bronze bags, 2 posh cyan bags, 1 vibrant fuchsia bag. +dark salmon bags contain 2 vibrant tan bags, 1 shiny chartreuse bag. +drab gold bags contain 4 dim crimson bags, 2 light violet bags, 1 vibrant orange bag. +bright bronze bags contain 3 clear green bags. +dim coral bags contain 3 dark red bags, 5 dim lavender bags. +dull orange bags contain 5 drab black bags, 1 dotted violet bag, 3 dim blue bags. +clear brown bags contain 2 dark red bags, 1 dull turquoise bag, 1 mirrored red bag, 5 wavy beige bags. +muted tan bags contain 3 dotted teal bags, 3 mirrored cyan bags, 5 faded fuchsia bags, 2 drab white bags. +faded lavender bags contain 1 muted silver bag, 1 mirrored brown bag, 3 dark tomato bags, 3 pale lime bags. +dim bronze bags contain 1 bright yellow bag. +wavy lime bags contain 4 bright aqua bags, 5 wavy silver bags. +dark black bags contain 4 dark green bags. +faded lime bags contain 1 faded lavender bag, 5 plaid gray bags, 3 posh turquoise bags, 5 faded bronze bags. +drab lime bags contain 1 light cyan bag, 4 dotted red bags. +dull olive bags contain 3 dim plum bags, 3 pale lime bags, 4 posh yellow bags, 5 shiny violet bags. +clear black bags contain 1 faded fuchsia bag, 3 posh aqua bags. +dark crimson bags contain 2 dotted beige bags. +faded cyan bags contain 5 clear blue bags. +pale tan bags contain 4 posh aqua bags, 5 dim yellow bags, 2 light chartreuse bags. +light red bags contain 3 faded fuchsia bags, 5 dotted purple bags, 2 mirrored indigo bags, 3 shiny violet bags. +muted olive bags contain 5 posh tan bags, 4 faded tan bags. +plaid yellow bags contain 4 faded coral bags. +clear tomato bags contain 3 plaid salmon bags, 2 faded lavender bags. +vibrant maroon bags contain 3 muted lime bags, 4 vibrant fuchsia bags, 4 drab yellow bags. +posh red bags contain 5 posh cyan bags, 2 faded black bags, 1 bright crimson bag, 5 wavy plum bags. +mirrored silver bags contain 5 dull aqua bags. +wavy yellow bags contain 3 faded white bags, 1 dotted fuchsia bag. +light plum bags contain 1 vibrant bronze bag, 4 vibrant green bags, 1 plaid turquoise bag, 4 posh cyan bags. +shiny lime bags contain 1 posh tomato bag, 4 mirrored cyan bags, 2 plaid white bags, 3 shiny aqua bags. +light gold bags contain 1 drab silver bag, 3 clear brown bags, 2 wavy fuchsia bags. +dotted indigo bags contain 2 plaid teal bags, 1 dull yellow bag. +bright fuchsia bags contain 3 faded teal bags, 2 faded silver bags, 3 dim red bags, 1 muted lime bag. +mirrored black bags contain 5 muted violet bags. +dark magenta bags contain 5 dim crimson bags. +shiny yellow bags contain 3 clear tan bags. +muted orange bags contain 3 striped bronze bags. +dull bronze bags contain 1 dotted gray bag, 2 clear bronze bags, 5 light turquoise bags. +mirrored blue bags contain 3 shiny coral bags. +vibrant turquoise bags contain 2 pale blue bags, 4 shiny beige bags. +pale green bags contain 1 posh crimson bag, 2 drab gold bags, 3 drab brown bags. +striped yellow bags contain 5 mirrored red bags, 4 plaid salmon bags, 4 muted salmon bags, 5 faded tan bags. +faded tomato bags contain 5 clear blue bags. +faded teal bags contain 2 posh teal bags, 3 light violet bags, 5 dotted olive bags, 3 shiny teal bags. +clear blue bags contain 3 dull yellow bags, 3 light violet bags, 2 wavy coral bags, 4 shiny cyan bags. +dotted blue bags contain 5 muted coral bags, 4 muted salmon bags. +shiny lavender bags contain 2 dotted crimson bags, 4 light lime bags, 1 posh cyan bag. +mirrored magenta bags contain 3 mirrored fuchsia bags, 3 clear teal bags, 4 muted fuchsia bags. +faded yellow bags contain 1 dim crimson bag, 3 dull cyan bags. +muted teal bags contain 3 dull red bags. +light lavender bags contain 4 striped orange bags, 2 mirrored beige bags. +posh chartreuse bags contain 2 dark purple bags. +pale beige bags contain 4 pale silver bags, 2 striped crimson bags. +pale lime bags contain no other bags. +faded blue bags contain 1 mirrored red bag, 3 drab cyan bags, 3 dull yellow bags, 5 plaid plum bags. +dull maroon bags contain 5 light blue bags, 3 dull crimson bags, 3 clear yellow bags. +dim plum bags contain no other bags. +drab beige bags contain 5 light black bags, 1 striped teal bag, 4 mirrored violet bags. +pale orange bags contain 4 clear chartreuse bags. +dotted beige bags contain 4 dark yellow bags, 3 light black bags, 5 bright aqua bags. +plaid salmon bags contain 3 posh silver bags, 2 wavy violet bags, 3 striped tan bags. +clear gray bags contain 4 wavy purple bags. +drab coral bags contain 2 faded silver bags, 3 light fuchsia bags, 2 dull indigo bags, 3 drab cyan bags. +dark yellow bags contain 2 mirrored fuchsia bags. +posh turquoise bags contain 2 dim lavender bags, 1 muted yellow bag, 4 bright plum bags. +bright tomato bags contain 5 striped orange bags, 3 bright turquoise bags, 3 dull yellow bags. +drab silver bags contain 2 light turquoise bags, 3 mirrored indigo bags, 4 vibrant orange bags. +clear cyan bags contain 4 muted cyan bags, 2 faded silver bags, 3 faded yellow bags, 4 faded crimson bags. +mirrored orange bags contain 3 dark green bags, 5 drab salmon bags, 4 posh gray bags. +muted gray bags contain 2 mirrored lime bags. +pale brown bags contain 4 dull gray bags. +wavy silver bags contain 5 faded red bags, 5 muted silver bags. +dull blue bags contain 1 dotted olive bag, 4 muted violet bags. +dull magenta bags contain 4 muted silver bags, 4 posh salmon bags, 4 plaid tomato bags. +dark cyan bags contain 5 shiny purple bags, 3 vibrant coral bags, 1 posh green bag, 2 dull cyan bags. +shiny turquoise bags contain 3 pale white bags, 5 dotted black bags. +dark green bags contain 4 dim maroon bags. +posh magenta bags contain 2 pale brown bags. +dull salmon bags contain 5 posh magenta bags, 5 dotted indigo bags, 4 drab orange bags, 5 mirrored gray bags. +dull gray bags contain 5 wavy coral bags, 5 vibrant tan bags, 5 mirrored olive bags. +dull turquoise bags contain 3 clear black bags, 5 striped indigo bags, 3 shiny white bags, 2 faded fuchsia bags. +striped violet bags contain 2 faded white bags. +muted brown bags contain 2 dim cyan bags, 4 drab black bags, 5 clear bronze bags, 1 shiny green bag. +drab plum bags contain 2 dark teal bags, 5 plaid lavender bags, 4 mirrored blue bags. +striped green bags contain 1 mirrored olive bag, 3 clear green bags, 3 dim yellow bags, 3 muted red bags. +bright white bags contain 5 shiny coral bags, 5 faded fuchsia bags. +vibrant tan bags contain no other bags. +faded white bags contain 4 pale crimson bags, 1 plaid green bag, 5 faded bronze bags. +clear orange bags contain 3 bright cyan bags, 4 dotted green bags, 3 faded purple bags, 3 faded black bags. +drab chartreuse bags contain 5 wavy gray bags, 4 muted turquoise bags. +mirrored aqua bags contain 2 bright crimson bags, 4 mirrored magenta bags, 3 clear teal bags. +wavy crimson bags contain 5 posh yellow bags, 3 clear blue bags, 1 striped lime bag, 2 faded cyan bags. +shiny black bags contain 4 dim cyan bags, 3 striped beige bags, 3 posh beige bags, 4 bright gold bags. +wavy brown bags contain 2 wavy coral bags, 3 shiny yellow bags. +pale plum bags contain 3 drab olive bags, 1 light turquoise bag. +drab green bags contain 1 mirrored orange bag, 5 dark turquoise bags, 5 posh chartreuse bags, 2 pale magenta bags. +drab teal bags contain 5 faded silver bags, 4 striped brown bags, 4 drab purple bags. +dull gold bags contain 1 dark orange bag, 4 faded lime bags. +posh gray bags contain 1 posh cyan bag, 2 plaid crimson bags, 1 plaid olive bag, 2 bright yellow bags. +dim red bags contain 3 posh chartreuse bags, 4 drab white bags, 2 bright green bags, 4 drab yellow bags. +dull chartreuse bags contain 1 drab fuchsia bag, 2 dull crimson bags, 4 light coral bags. +plaid magenta bags contain 1 mirrored silver bag. +drab crimson bags contain 3 faded tan bags. +faded bronze bags contain 4 dim plum bags, 4 faded fuchsia bags, 4 bright aqua bags, 2 vibrant orange bags. +plaid gray bags contain 3 light fuchsia bags, 1 dotted turquoise bag. +vibrant bronze bags contain 1 wavy green bag, 2 muted yellow bags. +clear maroon bags contain 3 dim plum bags, 4 light red bags, 5 wavy silver bags. +drab blue bags contain 1 plaid gray bag, 5 mirrored gray bags, 5 shiny magenta bags. +posh bronze bags contain 3 muted crimson bags, 5 wavy gray bags. +dim black bags contain 1 bright green bag, 3 dim maroon bags, 4 mirrored cyan bags, 4 faded black bags. +vibrant green bags contain 4 vibrant blue bags, 4 wavy gold bags, 5 vibrant fuchsia bags, 3 muted yellow bags. +dim teal bags contain 5 faded fuchsia bags, 3 striped lavender bags, 2 pale lime bags, 4 clear maroon bags. +posh silver bags contain 2 shiny magenta bags. +plaid blue bags contain 2 pale brown bags, 4 drab brown bags, 2 drab plum bags, 1 wavy maroon bag. +dim fuchsia bags contain 3 dark purple bags, 4 shiny red bags, 1 clear chartreuse bag, 2 pale gold bags. +muted turquoise bags contain 4 striped maroon bags, 1 dim lavender bag, 2 clear beige bags, 3 wavy maroon bags. +shiny beige bags contain 4 shiny red bags, 1 vibrant bronze bag, 5 plaid chartreuse bags, 3 mirrored teal bags. +muted blue bags contain 3 pale lime bags, 4 dim crimson bags. +faded black bags contain 4 striped beige bags, 4 muted blue bags. +muted plum bags contain 5 drab white bags, 2 dull cyan bags, 1 light gray bag. +dark tan bags contain 2 light aqua bags. +clear white bags contain 5 dotted plum bags. +dotted aqua bags contain 4 posh turquoise bags, 5 bright aqua bags. +posh gold bags contain 5 pale crimson bags, 4 light fuchsia bags, 4 plaid turquoise bags. +bright turquoise bags contain 3 mirrored brown bags, 2 dotted black bags, 3 dull indigo bags, 4 plaid white bags. +light white bags contain 5 mirrored brown bags, 2 dim magenta bags. +posh crimson bags contain 1 bright green bag, 3 posh yellow bags, 4 posh turquoise bags, 4 vibrant aqua bags. +muted silver bags contain 1 dotted purple bag, 2 posh yellow bags, 5 mirrored indigo bags, 4 shiny violet bags. +pale indigo bags contain 2 mirrored aqua bags, 1 vibrant tomato bag, 5 striped violet bags, 2 shiny white bags. +vibrant aqua bags contain 5 pale bronze bags, 5 posh yellow bags, 2 dull cyan bags, 2 bright silver bags. +posh brown bags contain 2 bright green bags, 4 mirrored fuchsia bags, 4 dotted salmon bags. +shiny orange bags contain 2 faded lavender bags, 3 dull yellow bags. +shiny fuchsia bags contain 2 striped teal bags. +dark lavender bags contain 4 mirrored teal bags, 5 plaid gray bags. +vibrant teal bags contain 3 drab orange bags, 1 plaid red bag, 4 clear cyan bags. +dotted lavender bags contain 5 pale gray bags. +plaid lime bags contain 5 bright maroon bags, 2 dim tomato bags, 2 mirrored teal bags. +dim white bags contain 3 plaid turquoise bags, 2 faded red bags, 5 striped orange bags. +shiny coral bags contain 2 posh turquoise bags. +posh coral bags contain 4 bright salmon bags, 4 dim coral bags, 1 pale fuchsia bag. +drab aqua bags contain 1 vibrant maroon bag, 4 muted green bags, 5 muted red bags. +dim crimson bags contain no other bags. +vibrant purple bags contain 5 dark teal bags, 3 muted crimson bags. +dull fuchsia bags contain 5 dull aqua bags, 3 clear silver bags. +dotted green bags contain 3 dull tomato bags, 3 drab black bags, 5 dim red bags. +muted green bags contain 4 light cyan bags, 2 light red bags, 3 posh turquoise bags, 3 dark orange bags. +wavy aqua bags contain 4 faded white bags, 5 dim brown bags, 2 plaid salmon bags. +light magenta bags contain 4 dotted black bags, 3 posh blue bags, 2 bright coral bags. +light aqua bags contain 1 light yellow bag, 1 plaid gray bag, 1 vibrant cyan bag, 4 dotted aqua bags. +dark purple bags contain 2 plaid silver bags, 2 muted gray bags, 1 clear maroon bag. +wavy violet bags contain 4 plaid white bags, 5 dull red bags. +faded plum bags contain 5 posh beige bags, 2 light turquoise bags, 5 vibrant orange bags. +dull beige bags contain 2 dark blue bags, 2 shiny green bags. +clear crimson bags contain 1 vibrant salmon bag. +drab violet bags contain 4 faded purple bags, 4 plaid turquoise bags. +dull white bags contain 4 striped brown bags, 5 wavy black bags. +dark teal bags contain 3 faded fuchsia bags, 2 dotted maroon bags, 4 plaid orange bags. +dark blue bags contain 3 shiny bronze bags, 4 bright yellow bags, 1 vibrant bronze bag, 5 dull blue bags. +vibrant salmon bags contain 4 drab aqua bags. +plaid coral bags contain 2 drab salmon bags. +vibrant gray bags contain 3 dark purple bags, 3 vibrant green bags, 2 clear teal bags. +clear gold bags contain 3 mirrored green bags, 4 plaid gray bags, 1 bright gray bag. +posh salmon bags contain 2 shiny bronze bags, 3 faded coral bags, 3 mirrored chartreuse bags, 3 vibrant green bags. +wavy red bags contain 1 posh brown bag. +faded red bags contain 5 dim lavender bags, 4 bright plum bags, 4 striped orange bags. +striped lavender bags contain 4 dull black bags, 4 dark crimson bags, 1 posh turquoise bag, 4 light beige bags. +dull tomato bags contain 2 wavy silver bags, 3 muted yellow bags, 3 wavy maroon bags, 2 dotted black bags. +shiny salmon bags contain 1 wavy turquoise bag, 4 dull green bags, 5 dull aqua bags. +pale yellow bags contain 1 dull gray bag. +clear olive bags contain 1 posh crimson bag, 4 pale crimson bags. +clear coral bags contain 4 dark orange bags, 4 dim crimson bags. +dark bronze bags contain 4 mirrored silver bags, 3 light plum bags. +bright aqua bags contain 1 vibrant tan bag, 3 clear blue bags, 2 shiny violet bags. +striped blue bags contain 5 muted tomato bags, 5 muted magenta bags, 5 drab white bags, 3 pale crimson bags. +dim lavender bags contain 2 posh yellow bags. +dim green bags contain 2 mirrored chartreuse bags, 5 plaid orange bags. +plaid maroon bags contain 1 dark magenta bag, 1 posh beige bag, 5 drab plum bags, 5 bright aqua bags. +pale maroon bags contain 1 clear bronze bag, 1 plaid blue bag. +clear salmon bags contain 1 dark coral bag. +shiny magenta bags contain 3 vibrant aqua bags, 3 dim maroon bags. +mirrored yellow bags contain 4 wavy black bags, 4 pale gray bags, 4 mirrored magenta bags. +shiny green bags contain 3 striped lime bags, 2 posh yellow bags. +dim aqua bags contain 4 dotted aqua bags. +mirrored olive bags contain 1 muted blue bag, 5 vibrant tan bags, 5 posh yellow bags. +mirrored violet bags contain 1 plaid orange bag, 4 drab salmon bags. +pale chartreuse bags contain 2 muted tomato bags, 3 faded indigo bags. +striped maroon bags contain 4 shiny lime bags. +muted indigo bags contain 4 dim magenta bags, 3 muted orange bags, 2 dim beige bags, 4 vibrant purple bags. +dim maroon bags contain 2 pale bronze bags, 4 bright aqua bags. +pale teal bags contain 5 dark gray bags, 2 dark tomato bags, 1 dull red bag. +posh aqua bags contain 3 mirrored lavender bags. +vibrant lime bags contain 2 wavy silver bags. +dark turquoise bags contain 2 wavy black bags. +vibrant gold bags contain 2 striped brown bags, 2 faded indigo bags. +faded maroon bags contain 4 mirrored tan bags, 3 posh beige bags, 5 posh orange bags. +faded fuchsia bags contain 1 bright salmon bag. +light fuchsia bags contain 2 dull black bags. +striped coral bags contain 1 dull green bag, 2 muted beige bags, 2 bright coral bags, 5 wavy orange bags. +bright brown bags contain 4 plaid gold bags. +plaid olive bags contain 2 dim coral bags. +dull yellow bags contain 3 drab brown bags. +posh tomato bags contain 3 dotted purple bags. +clear magenta bags contain 1 mirrored brown bag, 5 dotted plum bags, 1 light coral bag, 2 drab maroon bags. +faded indigo bags contain 1 drab gold bag. +plaid white bags contain 5 mirrored fuchsia bags. +bright green bags contain 1 posh beige bag, 5 dark green bags, 4 dull aqua bags. +bright gray bags contain 3 light lavender bags. +posh violet bags contain 2 vibrant tan bags, 5 pale magenta bags, 3 posh white bags, 5 mirrored gray bags. +dull teal bags contain 1 dull brown bag, 2 drab gray bags, 2 shiny cyan bags, 1 mirrored lavender bag. +shiny cyan bags contain 1 bright plum bag, 1 shiny violet bag. +posh plum bags contain 4 drab brown bags, 4 mirrored olive bags, 4 dim maroon bags, 4 striped orange bags. +plaid fuchsia bags contain 5 drab blue bags. +dull green bags contain 1 mirrored red bag, 1 bright turquoise bag, 2 dark beige bags. +bright chartreuse bags contain 5 dim white bags, 2 faded red bags. +faded beige bags contain 5 posh turquoise bags, 5 vibrant tan bags, 2 posh yellow bags, 4 mirrored indigo bags. +dim chartreuse bags contain 1 posh magenta bag, 2 dotted crimson bags, 5 clear black bags, 4 striped olive bags. +drab indigo bags contain 5 striped orange bags, 1 pale chartreuse bag, 2 mirrored indigo bags, 4 clear purple bags. +light bronze bags contain 4 muted red bags. +shiny teal bags contain 3 faded beige bags, 2 striped beige bags, 2 mirrored olive bags, 5 plaid white bags. +shiny white bags contain 2 wavy silver bags, 3 plaid turquoise bags, 1 dim plum bag, 4 posh plum bags. +pale silver bags contain 2 pale cyan bags, 5 muted teal bags, 5 plaid turquoise bags, 2 clear coral bags. +dim yellow bags contain 2 vibrant tomato bags, 3 bright salmon bags, 4 dull gray bags. +mirrored indigo bags contain 5 posh yellow bags, 5 faded red bags. +clear bronze bags contain 1 posh turquoise bag, 3 faded black bags, 3 shiny coral bags. +mirrored turquoise bags contain 2 mirrored teal bags, 4 striped black bags, 4 dull teal bags, 4 clear black bags. +mirrored red bags contain 3 clear purple bags, 5 light red bags, 5 mirrored beige bags. +bright olive bags contain 3 vibrant plum bags. +drab white bags contain 4 dim lavender bags. +clear red bags contain 5 dark gray bags, 1 shiny green bag, 2 striped brown bags, 3 plaid olive bags. +vibrant red bags contain 2 dull bronze bags, 2 dotted magenta bags, 5 dark red bags, 1 drab magenta bag. +striped crimson bags contain 4 dull silver bags, 4 dark gray bags, 4 light red bags, 2 posh chartreuse bags. +dotted tan bags contain 4 shiny lime bags. +plaid orange bags contain 1 wavy maroon bag, 2 drab brown bags, 5 dull black bags. +clear plum bags contain 2 muted yellow bags, 5 faded turquoise bags, 1 faded beige bag, 1 dull aqua bag. +mirrored bronze bags contain 5 posh magenta bags. +mirrored cyan bags contain 4 striped orange bags, 3 wavy gray bags, 1 mirrored olive bag, 2 dim lavender bags. +striped white bags contain 4 striped aqua bags. +bright red bags contain 4 dotted gray bags, 4 dark green bags, 4 shiny aqua bags, 4 shiny indigo bags. +dim blue bags contain 1 dull black bag, 4 dotted turquoise bags. +dotted bronze bags contain 5 mirrored indigo bags, 4 wavy coral bags. +muted gold bags contain 4 wavy plum bags. +clear aqua bags contain 2 clear teal bags, 4 mirrored crimson bags, 1 dull silver bag, 3 bright crimson bags. +dim brown bags contain 3 clear green bags, 5 bright cyan bags. +bright plum bags contain 3 striped orange bags, 2 pale lime bags. +bright blue bags contain 1 shiny violet bag, 4 wavy gold bags. +bright maroon bags contain 1 striped indigo bag, 3 striped beige bags, 1 shiny teal bag. +pale cyan bags contain 1 dull gray bag, 2 mirrored lime bags. +wavy chartreuse bags contain 5 dark red bags, 5 plaid fuchsia bags, 2 dim salmon bags. +dull cyan bags contain 2 dim lavender bags, 3 dull yellow bags, 5 dim crimson bags, 5 dull gray bags. +shiny brown bags contain 3 wavy aqua bags, 2 faded lime bags. +dim tan bags contain 5 pale orange bags, 2 mirrored blue bags. +drab purple bags contain 1 vibrant bronze bag, 4 pale magenta bags. +wavy fuchsia bags contain 3 bright aqua bags, 2 dim lavender bags, 4 pale lime bags. +mirrored teal bags contain 4 dull yellow bags, 2 faded black bags, 3 pale blue bags, 5 wavy coral bags. +plaid brown bags contain 4 posh chartreuse bags, 2 dark beige bags. +plaid tan bags contain 3 pale turquoise bags, 3 dark teal bags. +posh tan bags contain 2 faded yellow bags, 3 dim tomato bags, 1 dotted olive bag, 1 light violet bag. +plaid plum bags contain 5 muted yellow bags, 2 dim crimson bags. +plaid purple bags contain 2 posh magenta bags. +wavy gold bags contain 2 shiny teal bags, 2 mirrored lime bags. +striped tomato bags contain 5 shiny maroon bags, 3 mirrored lime bags. +vibrant lavender bags contain 1 bright turquoise bag. +muted violet bags contain 2 dull tomato bags, 4 mirrored lavender bags. +light crimson bags contain 4 drab violet bags. +bright crimson bags contain 3 drab silver bags. +muted purple bags contain 3 dim aqua bags. +posh lavender bags contain 4 mirrored magenta bags. +posh olive bags contain 2 bright salmon bags, 2 faded violet bags, 2 wavy indigo bags, 2 vibrant yellow bags. +muted aqua bags contain 4 bright red bags, 3 vibrant crimson bags, 3 dotted red bags. +shiny aqua bags contain 2 mirrored lavender bags. +bright yellow bags contain 2 muted gray bags, 4 plaid turquoise bags, 1 dull yellow bag, 5 wavy green bags. +light chartreuse bags contain 5 vibrant bronze bags, 5 posh magenta bags, 2 dotted salmon bags, 3 plaid red bags. +striped fuchsia bags contain 4 dull plum bags, 5 mirrored silver bags. +dull lavender bags contain 4 mirrored lavender bags, 2 plaid crimson bags, 4 dotted turquoise bags, 2 drab purple bags. +mirrored lime bags contain 2 pale lime bags, 4 light turquoise bags, 5 bright plum bags. +wavy turquoise bags contain 1 pale bronze bag. +pale magenta bags contain 2 dull teal bags, 2 muted red bags. +dotted plum bags contain 5 light red bags. +drab bronze bags contain 5 muted blue bags, 1 faded teal bag, 3 faded yellow bags. +plaid teal bags contain 4 wavy maroon bags, 5 pale brown bags. +plaid indigo bags contain 5 light olive bags, 4 clear salmon bags, 1 wavy lime bag, 4 drab black bags. +shiny blue bags contain 3 bright turquoise bags, 3 mirrored red bags, 1 pale brown bag, 2 dark violet bags. +striped turquoise bags contain 4 pale tomato bags, 1 light turquoise bag. +mirrored white bags contain 4 dim chartreuse bags. +dark fuchsia bags contain 2 dotted lavender bags, 5 pale gray bags, 5 light crimson bags, 5 shiny lavender bags. +posh blue bags contain 5 dark orange bags. +shiny tan bags contain 5 bright magenta bags, 2 clear beige bags, 1 pale lime bag. +dark lime bags contain 1 shiny magenta bag, 2 muted cyan bags. +bright magenta bags contain 3 clear blue bags, 3 wavy indigo bags. +dotted crimson bags contain 2 wavy turquoise bags. +dotted maroon bags contain 5 dark green bags, 1 striped lime bag, 1 dotted black bag, 5 striped beige bags. +dark brown bags contain 3 pale white bags. +vibrant coral bags contain 5 plaid olive bags, 5 dim maroon bags. +posh teal bags contain 5 shiny white bags. +plaid crimson bags contain 1 dark coral bag, 2 dotted beige bags, 1 dotted gray bag. +mirrored salmon bags contain 1 plaid lavender bag, 2 striped orange bags, 4 clear purple bags. +vibrant orange bags contain no other bags. +vibrant plum bags contain 1 pale red bag, 2 drab plum bags. +dim gray bags contain 5 dull salmon bags. +shiny maroon bags contain 3 dim plum bags, 4 pale black bags, 3 dark red bags, 4 light maroon bags. +muted tomato bags contain 1 pale bronze bag, 3 dim crimson bags, 3 striped beige bags, 3 muted yellow bags. +dotted white bags contain 5 striped red bags. +wavy plum bags contain 2 dull indigo bags, 3 plaid turquoise bags, 1 dull silver bag, 5 clear tan bags. +light violet bags contain 3 dim crimson bags, 2 drab brown bags. +muted salmon bags contain 2 clear yellow bags, 3 faded plum bags. +plaid turquoise bags contain 4 faded yellow bags. +pale bronze bags contain 2 dim plum bags, 1 posh maroon bag, 4 dim lavender bags. +clear chartreuse bags contain 1 clear salmon bag, 4 faded purple bags, 5 mirrored tan bags. +bright purple bags contain 5 clear salmon bags, 5 shiny red bags, 5 dotted aqua bags, 1 wavy plum bag. +faded gold bags contain 2 faded indigo bags. +striped brown bags contain 1 posh magenta bag, 2 dull olive bags, 3 dotted purple bags, 1 dark beige bag. +faded gray bags contain 3 shiny green bags. +wavy purple bags contain 2 dark beige bags, 2 dotted bronze bags. +striped olive bags contain 1 clear tan bag, 2 dim salmon bags, 2 dotted gold bags. +dull crimson bags contain 2 drab red bags. +dark plum bags contain 1 dark blue bag, 2 light yellow bags, 2 striped silver bags. +faded violet bags contain 4 dotted gray bags, 5 muted blue bags. +plaid black bags contain 2 posh aqua bags, 5 plaid orange bags. +light green bags contain 4 muted silver bags, 2 muted tomato bags, 3 mirrored teal bags. diff --git a/AoC2020/inputs/input08 b/AoC2020/inputs/input08 new file mode 100644 index 0000000..2526508 --- /dev/null +++ b/AoC2020/inputs/input08 @@ -0,0 +1,633 @@ +acc +37 +acc -1 +nop +512 +acc +0 +jmp +60 +acc -3 +nop +317 +jmp +130 +acc +22 +acc +34 +jmp +486 +acc -18 +nop +610 +acc -14 +nop +274 +jmp +439 +acc -6 +acc -1 +acc -4 +acc +7 +jmp +175 +nop +179 +jmp +197 +jmp +76 +acc -1 +acc +24 +jmp +472 +acc +8 +acc -15 +acc +0 +jmp +551 +acc +46 +acc +27 +jmp +1 +acc +45 +jmp +153 +acc +14 +jmp +207 +jmp +1 +jmp +557 +nop +424 +jmp +571 +nop -19 +nop +9 +acc +2 +acc +29 +jmp +14 +acc -10 +acc +43 +acc +43 +jmp +75 +jmp +311 +jmp +517 +acc -6 +acc +13 +jmp +140 +nop +348 +acc +0 +jmp +275 +jmp +52 +jmp +110 +acc +11 +acc +15 +jmp +13 +acc +7 +jmp +216 +jmp +174 +nop +24 +acc -16 +acc +46 +acc -17 +jmp +519 +acc -15 +acc +46 +acc -4 +jmp +309 +acc +14 +acc +36 +acc -15 +jmp +244 +acc +37 +acc +43 +jmp +146 +jmp +260 +jmp +217 +acc +39 +jmp +454 +nop +16 +nop +255 +acc +31 +jmp +13 +acc +38 +acc +45 +acc +24 +jmp +534 +acc +13 +acc +44 +acc +34 +jmp +286 +jmp +1 +acc -12 +jmp -45 +jmp +147 +acc -2 +acc +24 +nop +391 +acc +11 +jmp +242 +acc +1 +acc +28 +jmp +423 +acc +5 +jmp +319 +acc +45 +nop +350 +acc +34 +acc +7 +jmp +47 +nop +32 +acc +2 +acc +0 +jmp +252 +acc -4 +acc +23 +jmp +452 +acc -5 +acc +48 +jmp -104 +acc +38 +jmp +172 +acc +7 +acc +31 +jmp +5 +acc +19 +acc +12 +acc +26 +jmp +232 +acc -12 +nop +121 +nop +80 +acc +46 +jmp +126 +jmp +82 +nop +69 +jmp -128 +acc +18 +acc +45 +acc +14 +acc +45 +jmp +219 +jmp +422 +acc +2 +acc +40 +acc +13 +jmp +450 +acc +48 +jmp +172 +acc +19 +acc -10 +jmp +69 +nop +336 +nop -6 +jmp +265 +jmp -136 +jmp +350 +acc +31 +acc +39 +nop +389 +nop +404 +jmp +16 +acc +13 +nop -41 +acc -2 +acc -14 +jmp +159 +jmp -111 +acc +40 +acc +36 +acc -17 +jmp -143 +acc +36 +acc +29 +acc +19 +acc +0 +jmp +159 +jmp +279 +acc +31 +jmp +346 +acc +15 +nop +173 +acc +48 +jmp -183 +acc +16 +acc +31 +jmp +418 +acc -13 +jmp +280 +acc +30 +nop +229 +jmp -139 +acc +0 +acc +9 +jmp +354 +acc +12 +jmp +310 +jmp -129 +acc -8 +jmp -96 +acc -3 +acc +1 +jmp +51 +jmp +303 +acc +28 +jmp -186 +acc +36 +acc -10 +nop +72 +nop +345 +jmp +200 +acc +6 +acc -14 +jmp +87 +nop +318 +jmp +273 +nop +309 +acc +50 +jmp +147 +jmp +387 +acc +38 +nop -169 +acc +44 +jmp +28 +nop +208 +nop +43 +acc +26 +acc -13 +jmp -160 +jmp +233 +acc +22 +jmp +357 +jmp +374 +acc -6 +acc +38 +jmp +100 +jmp -36 +acc +38 +nop +330 +acc +46 +jmp -43 +acc +34 +nop +239 +acc +45 +acc +15 +jmp +48 +acc +49 +acc +20 +acc -5 +acc +41 +jmp +70 +jmp +211 +jmp +144 +acc +29 +acc +36 +acc -15 +jmp -24 +jmp +1 +jmp -17 +acc -18 +acc +27 +acc +34 +jmp -21 +jmp +1 +acc +35 +acc -5 +acc +24 +jmp +337 +nop -240 +jmp +180 +acc -1 +nop +49 +jmp +260 +acc +40 +acc +42 +jmp -165 +acc +31 +acc +30 +nop -234 +jmp +27 +acc +45 +acc +48 +acc +44 +acc -19 +jmp +70 +acc +20 +acc +18 +jmp +219 +acc +46 +jmp -85 +acc +43 +acc +21 +jmp -4 +acc +37 +acc +26 +acc +16 +jmp -257 +acc +39 +acc +7 +jmp -260 +acc +42 +acc +10 +acc +36 +acc +47 +jmp +2 +jmp -249 +acc +20 +acc -1 +acc +21 +jmp +74 +jmp +31 +acc +32 +jmp +64 +acc +34 +jmp -255 +acc -8 +acc -2 +acc +26 +jmp -102 +jmp +229 +acc -14 +acc +25 +jmp -154 +acc -15 +jmp -92 +nop -37 +acc -5 +acc +50 +acc +43 +jmp +73 +acc +1 +acc -17 +acc +19 +acc +24 +jmp -319 +nop -225 +jmp -304 +acc +49 +acc +5 +acc -17 +jmp +14 +acc +42 +acc -9 +acc -10 +acc +45 +jmp -125 +jmp -46 +acc +13 +acc +11 +nop +199 +acc -19 +jmp -159 +acc +1 +jmp +253 +acc +7 +jmp +233 +nop -76 +acc +31 +acc +44 +jmp -18 +acc +47 +nop +227 +jmp +178 +nop -22 +jmp -44 +jmp +24 +nop +122 +acc +20 +acc +43 +jmp -81 +acc -15 +acc +10 +acc +40 +jmp +108 +acc +45 +jmp +35 +acc +44 +jmp +36 +nop -2 +nop -320 +jmp +1 +acc +47 +jmp -6 +acc -16 +acc +49 +nop +56 +jmp +104 +acc +40 +jmp -159 +acc +30 +jmp +56 +acc +47 +acc -6 +acc +47 +acc +2 +jmp -102 +acc +45 +jmp -262 +acc +36 +acc +42 +acc -17 +jmp -90 +acc +18 +nop +7 +acc -14 +jmp -194 +acc +16 +acc +31 +acc +26 +jmp -257 +acc +25 +jmp -367 +jmp +69 +nop -102 +acc +47 +jmp -356 +nop -105 +acc +6 +jmp -42 +acc +40 +jmp -368 +acc +42 +jmp +84 +acc +17 +acc +14 +acc -17 +acc -14 +jmp -80 +acc +42 +acc +11 +acc -14 +jmp -77 +acc -12 +acc +8 +acc -19 +jmp -206 +acc +6 +acc +18 +nop +94 +acc -2 +jmp -330 +acc -15 +jmp -367 +acc -15 +acc +40 +jmp +143 +jmp -178 +acc -1 +jmp +140 +acc +13 +acc +47 +jmp -271 +acc +29 +nop -30 +nop -344 +jmp -251 +jmp +98 +acc +45 +acc -17 +acc +5 +jmp +1 +jmp -299 +acc +34 +acc +7 +acc +7 +nop +16 +jmp -106 +jmp -399 +jmp -291 +acc -4 +acc +26 +jmp -376 +nop -444 +nop +59 +acc +27 +nop +89 +jmp -188 +acc +21 +nop -246 +acc +6 +jmp -24 +acc +35 +jmp +1 +jmp -361 +acc +48 +acc -5 +acc +19 +jmp +74 +jmp -56 +jmp +43 +acc +50 +nop -275 +acc +39 +acc -11 +jmp -258 +acc +8 +jmp -190 +acc +46 +jmp +1 +nop -188 +acc -15 +jmp +12 +nop -5 +nop -444 +acc +0 +jmp -129 +acc -11 +acc +28 +jmp -452 +acc -4 +acc +24 +nop -176 +jmp -56 +acc +47 +acc +33 +jmp -432 +jmp -19 +acc +32 +jmp +1 +acc +7 +nop -179 +jmp -49 +nop -66 +acc +20 +jmp -122 +acc +1 +acc +10 +acc +16 +jmp +40 +acc +11 +acc +6 +jmp -454 +acc -2 +acc +12 +nop -228 +jmp -165 +acc +42 +nop -212 +acc +49 +jmp -286 +acc +42 +acc +24 +acc +38 +jmp -440 +acc +29 +acc +8 +acc +21 +jmp -288 +acc +2 +jmp -427 +acc +17 +acc +45 +acc +33 +jmp -333 +acc +6 +jmp -445 +nop -283 +acc -18 +jmp +1 +jmp +1 +jmp -492 +jmp +53 +acc +26 +jmp -107 +nop -377 +jmp -155 +acc +22 +jmp -523 +jmp -127 +acc +2 +nop -168 +acc +15 +jmp -343 +acc +34 +acc +0 +acc +0 +jmp -241 +acc +30 +acc +40 +acc +46 +acc -11 +jmp -216 +acc +31 +jmp -86 +acc +34 +acc -15 +nop -4 +jmp -74 +acc -1 +acc +13 +acc -2 +jmp -119 +acc +21 +nop -516 +acc +24 +jmp -580 +nop -200 +acc +18 +jmp -318 +acc +0 +nop -483 +acc +15 +acc -9 +jmp -30 +jmp -462 +jmp -476 +acc +18 +acc -14 +jmp -91 +acc -6 +acc +32 +nop -611 +acc +8 +jmp -613 +acc +23 +acc +7 +acc +30 +acc +48 +jmp -222 +jmp -326 +acc +46 +nop -108 +acc +17 +acc -16 +jmp +1 diff --git a/AoC2020/inputs/input09 b/AoC2020/inputs/input09 new file mode 100644 index 0000000..fd6cff0 --- /dev/null +++ b/AoC2020/inputs/input09 @@ -0,0 +1,1000 @@ +21 +41 +40 +48 +6 +37 +31 +10 +50 +9 +44 +45 +36 +34 +13 +17 +32 +16 +8 +35 +30 +42 +29 +24 +11 +14 +83 +22 +15 +23 +18 +19 +20 +21 +91 +25 +33 +26 +27 +28 +38 +34 +31 +32 +45 +64 +30 +35 +29 +60 +36 +37 +47 +39 +67 +40 +51 +46 +48 +61 +52 +53 +54 +55 +63 +59 +75 +62 +65 +83 +76 +108 +91 +88 +104 +82 +77 +95 +106 +86 +127 +97 +114 +100 +171 +105 +113 +162 +130 +121 +124 +137 +233 +208 +201 +153 +159 +163 +287 +211 +188 +172 +290 +186 +183 +313 +197 +205 +267 +218 +266 +261 +430 +245 +258 +323 +398 +331 +312 +335 +316 +573 +471 +355 +450 +455 +417 +401 +463 +380 +402 +415 +423 +721 +476 +503 +625 +557 +628 +1027 +639 +643 +647 +715 +816 +778 +735 +770 +757 +781 +782 +795 +803 +817 +825 +838 +891 +899 +979 +1131 +1060 +1185 +1196 +1267 +1358 +1282 +1492 +1362 +2012 +1505 +1641 +1516 +1694 +1737 +1599 +1612 +1598 +1898 +1790 +1663 +2076 +2407 +1878 +2866 +2191 +2672 +2381 +2629 +3336 +2798 +4270 +3743 +2867 +3146 +3668 +3262 +4464 +3197 +4284 +3261 +5744 +5160 +4044 +4999 +3541 +7545 +4285 +8026 +4989 +6203 +5010 +6842 +5826 +5665 +5944 +6013 +7209 +10886 +11494 +6459 +6458 +6802 +6738 +7305 +10159 +7585 +7826 +9485 +8530 +8551 +9274 +12471 +9999 +12285 +11213 +10675 +18111 +18743 +12402 +19611 +12472 +14988 +12917 +17311 +13260 +13196 +18036 +28017 +14890 +16115 +15411 +16356 +19764 +20487 +17825 +20674 +28758 +21212 +21888 +23077 +25663 +29616 +27362 +24874 +25389 +25668 +40377 +28671 +50439 +26456 +28607 +30301 +36085 +31005 +31526 +43493 +59059 +37589 +38312 +39037 +42562 +43100 +48574 +44965 +73963 +50263 +70354 +68367 +57461 +51057 +52124 +55063 +55127 +66386 +59612 +73401 +82425 +62531 +108186 +69115 +75901 +77349 +158449 +80874 +81599 +147703 +88065 +93539 +100092 +101320 +118510 +103181 +131646 +106120 +106184 +107187 +122143 +128528 +155000 +133013 +135932 +179082 +138432 +145016 +182085 +235874 +158223 +182919 +162473 +181691 +181604 +194859 +199659 +221691 +302046 +237766 +209301 +250671 +213307 +341835 +268945 +255156 +261541 +271445 +324098 +274364 +283448 +296655 +339914 +491514 +320696 +339827 +344077 +713205 +539486 +376463 +394518 +408960 +459457 +478246 +422608 +496755 +463978 +468463 +516697 +526601 +611272 +544989 +545809 +614278 +557812 +840832 +734345 +812210 +1191451 +660523 +1009787 +1017732 +921452 +1418207 +770981 +932441 +1083131 +882065 +946709 +886586 +1563541 +1013452 +995064 +1084413 +1554776 +1090798 +1427874 +1103621 +1881650 +1218335 +2059167 +1698796 +1592964 +1431504 +1547109 +1653046 +1657567 +1692433 +3613943 +1703422 +2515917 +1768651 +1828774 +2539632 +3734252 +2008516 +2079477 +2085862 +4308283 +3967512 +2194419 +2321956 +2535125 +2649839 +2765444 +3204676 +2978613 +3024468 +3315760 +5855392 +3854513 +3350000 +3395855 +3472073 +5717811 +3837290 +3597425 +3908251 +4087993 +4330472 +5087400 +4165339 +4280281 +4516375 +4729544 +4844258 +4857081 +5885125 +5415283 +5744057 +6711615 +6913185 +6340228 +6665760 +6745855 +8637795 +7069498 +12550885 +7745541 +7925283 +7927897 +7505676 +7996244 +11602936 +8445620 +9909396 +8681714 +9124539 +9245919 +10473601 +9701339 +10272364 +16373517 +17762334 +12084285 +18516121 +13086083 +14268125 +13411615 +18197647 +14575174 +16194037 +15251217 +18200261 +21304275 +15433573 +32337508 +16677958 +24177521 +17127334 +17806253 +17927633 +18370458 +18947258 +53641783 +28662832 +25523581 +25170368 +25495900 +27517858 +35194079 +26497698 +30538949 +34875605 +41689937 +29826391 +30684790 +31929175 +33239826 +37982233 +32111531 +35048416 +34484211 +34933587 +53564537 +35733886 +53833200 +37317716 +62711937 +51019481 +51993598 +52688226 +61755566 +56324089 +54015556 +82948656 +65733206 +60365340 +60511181 +61937922 +62613965 +64040706 +65169001 +86477809 +90670459 +118733538 +70667473 +69417798 +118262011 +87727484 +73051602 +88337197 +89311314 +118079655 +103013079 +104681824 +123355699 +118056262 +120876521 +124551887 +127782966 +135151004 +148238665 +129209707 +166619746 +153352020 +133458504 +154480315 +140085271 +142469400 +143719075 +228422468 +157145282 +177038798 +264637158 +162362916 +272928782 +193993138 +207694903 +247151224 +222738086 +238932783 +242608149 +245428408 +390785384 +360612884 +262668211 +419646947 +269294978 +493059626 +282554671 +273543775 +384733701 +351138420 +371031936 +300864357 +461670869 +319508198 +582009863 +356356054 +588803176 +401688041 +416731224 +430432989 +603507278 +481540932 +536211986 +488036557 +629899829 +531963189 +542838753 +545222882 +551849649 +556098446 +574408132 +658277476 +593051973 +949707426 +620372555 +657220411 +675864252 +1058908452 +721196239 +832121030 +1081088530 +818419265 +847164213 +1017752918 +1172738582 +1024248543 +1570079981 +731031916 +1152335744 +1871412756 +1074801942 +1475639676 +1097072531 +1126257781 +1268916225 +1194780687 +1388252327 +1213424528 +1296236807 +1578196129 +1333084663 +2064116579 +1539615504 +3045719657 +1549451181 +1665583478 +1748784834 +1755280459 +2280483097 +2482340753 +3634196560 +3213372669 +1805833858 +2646523712 +2463054269 +4801000116 +2934499703 +2601676855 +2583033014 +2937703508 +3298236015 +5761290284 +4031791934 +3045021641 +4195974893 +3089066685 +3205198982 +3215034659 +4754650163 +4086316955 +3414368312 +5668253251 +3561114317 +4268888127 +7846021757 +4388866872 +4407510713 +4452357570 +5046087283 +12253532470 +5184709869 +5517532717 +5520736522 +8818972537 +9800737446 +8841224442 +7285041578 +6606135958 +6134088326 +6503434997 +8676398840 +6629402971 +6776148976 +6975482629 +11013646671 +7949981189 +7830002444 +11183659689 +8657754999 +13293582012 +8796377585 +9453597996 +9498444853 +10230797152 +18174843693 +12126872480 +11038269239 +14453416186 +12637523323 +15942796577 +13419129904 +12910237302 +12740224284 +16506401284 +13751631605 +13405551947 +14579384160 +16626380029 +14805485073 +15779983633 +22283418630 +22193822280 +19027174737 +23948506541 +18249975581 +18952042849 +32449197861 +36035050235 +21269066391 +34894839426 +23165141719 +23675792562 +25377747607 +41157731240 +25650461586 +26159354188 +32286384917 +26145776231 +29531615238 +27157183552 +27984936107 +29384869233 +37979217586 +53333375774 +76498517493 +55035330819 +55544223421 +37202018430 +64426454664 +39519041972 +111393356919 +44944858953 +94554372791 +44434208110 +46840934281 +52696756957 +51523523838 +51796237817 +51809815774 +80685792405 +52305130419 +53302959783 +54130712338 +58916484471 +55142119659 +67364086819 +66586887663 +75181236016 +76721060402 +81636226540 +82146877383 +83953250082 +84042952711 +105926950155 +84463900925 +89379067063 +96741096770 +95957731948 +105112775557 +104114946193 +201853872327 +107447250078 +108445079442 +212560025635 +105608090202 +113047196809 +196826317141 +109272831997 +114058604130 +121729007322 +133950974482 +286317773252 +177593958488 +158357286942 +192398329524 +202349186972 +167996202793 +193494013256 +195306017218 +194987157265 +185336799011 +390293174483 +200072678141 +481623790470 +209723036395 +213055340280 +214053169644 +214880922199 +218655287011 +282054806923 +227105800939 +615574764952 +223331436127 +235787611452 +326353489735 +292308261424 +335951245430 +350755616466 +343694085953 +353333001804 +404710193660 +380323956276 +378830812267 +380642816229 +385409477152 +395059835406 +545008776746 +409795714536 +422778376675 +436386776407 +427936262479 +445761087950 +433536209210 +441986723138 +632810423389 +951526010382 +925118684813 +459119047579 +528095872876 +618661751159 +817029592636 +736165093618 +724336902182 +812367021477 +733975818033 +759154768543 +1353054947292 +788626526803 +766052293381 +1361505461220 +804855549942 +832574091211 +837731977015 +1060746685868 +861472471689 +875522932348 +879297297160 +1713745211616 +1201141491681 +1193094865612 +1195284141197 +987214920455 +1077780798738 +1740769768849 +1352637569192 +1593482076745 +1458312720215 +1483491670725 +1595448289722 +1667923823963 +1670306068226 +3224261439574 +1627524765070 +2941804390940 +1848687392144 +1637429641153 +1694046562900 +1699204448704 +1866512217615 +2657520988681 +1754820229508 +2445527640670 +2064995719193 +2273064939935 +2180309786067 +2182499061652 +3258090584805 +3732919543156 +2810950289407 +3078939960447 +3152359283115 +3177538233625 +3111016435795 +3222973054792 +3565716666319 +4781322504021 +3621332447123 +5468471278088 +4455564001587 +3331476204053 +3759042282093 +3393251011604 +3454024678212 +3819815948701 +4991260075474 +4510523359863 +4245305505260 +5405472116444 +4362808847719 +4993449351059 +5261439022099 +7321473649270 +5889890249854 +6256478194072 +9026804563567 +6263375718910 +6288554669420 +12312733724744 +9221366453907 +6785500882265 +6724727215657 +7441148395824 +6847275689816 +9710502872284 +7699330183472 +9656626730514 +12690590258946 +8445284753686 +10501783699332 +8608114352979 +13211363899124 +9238754856319 +10626184566629 +12614617465511 +10254888373158 +11517917216171 +13135830359236 +12146368443926 +19963201969857 +12551930388330 +13074055551685 +13013281885077 +13510228097922 +13572002905473 +23178114954959 +14165875611481 +15292560443502 +19234298919608 +23639466451706 +16144614937158 +20997215142016 +17053399106665 +17684039610005 +17846869209298 +18863002726137 +24698298832256 +21385123300245 +36775296810942 +41323506061711 +23765116471080 +23664285660097 +33139429652800 +25159650329003 +42843689939008 +25565212273407 +32976600053507 +26523509982999 +27082231003395 +27737878516954 +29458436054983 +33028878337618 +31437175380660 +33991484146456 +39069162910250 +54361723353752 +34737438716670 +34900268315963 +44929100212693 +36709871935435 +93430886264002 +61982499319358 +55023648328390 +62638146832917 +47429402131177 +52647443276802 +51683160312002 +50724862602410 +60302650990077 +52088722256406 +53605740986394 +65592672893249 +54261388499953 +56540667058378 +57196314571937 +60895611435643 +64466053718278 +116317535495659 +118727442218231 +86988990572369 +69637707032633 +107732053121254 +71610140251398 +98692371254793 +84139274066612 +104330603588804 +98154264733587 +124661355361023 +99112562443179 +141250379072322 +102408022914412 diff --git a/AoC2020/inputs/input10 b/AoC2020/inputs/input10 new file mode 100644 index 0000000..6d882dc --- /dev/null +++ b/AoC2020/inputs/input10 @@ -0,0 +1,102 @@ +99 +128 +154 +160 +61 +107 +75 +38 +15 +11 +129 +94 +157 +84 +121 +14 +119 +48 +30 +10 +55 +108 +74 +104 +91 +45 +134 +109 +164 +66 +146 +44 +116 +89 +79 +32 +149 +1 +136 +58 +96 +7 +60 +23 +31 +3 +65 +110 +90 +37 +43 +115 +122 +52 +113 +123 +161 +50 +95 +150 +120 +101 +126 +151 +114 +127 +73 +82 +162 +140 +51 +144 +36 +4 +163 +85 +42 +59 +67 +64 +86 +49 +2 +145 +135 +22 +24 +33 +137 +16 +27 +70 +133 +130 +20 +21 +83 +143 +100 +41 +76 +17 diff --git a/AoC2020/inputs/input11 b/AoC2020/inputs/input11 new file mode 100644 index 0000000..19fa32a --- /dev/null +++ b/AoC2020/inputs/input11 @@ -0,0 +1,98 @@ +LLLLLLLLL.L.LLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLLL +LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLL.LLLLLLL.LLLLL.LLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LL.LLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLL +LLLLLLLLLL.LLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLLLL.LLLLL.LLLLLLL.LLLLL.LLLLLL.LLLLLLLL +LLLLLLLLL.LLLLLL..LLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLLL.LLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLLL +LLLLLLL.L.LLLLLLLLLLLLLLLLLLLLLLL.LLLL..LLLLLLLL.LLLLLLLL.LLLL.LLLLL.LLLLLLL.LLLLL.LLLLL.LLLLLLLLL +LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLL.LLLLLLL.LLLLL.LLLLL.LLLLLLLLL +L.LLLL.L..L.LL....L......L...LL.LL..L....L...LL.LL.L.LL.LL..LL............L..L...LL.L.L.L..LLL...L +LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.L.LLLLLL.LLLLLLLLLL.LLLL.LL.LLLLL.LLLLLLLL.LLLLLL +LLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LL.LLLL.LLLLLLLLL.LLL.LLLL..LLL.LLLLL.LL.LLLL.LLLLL.LLLLLLLLLLLLLLL +LLLLLLLLLLLLLLLLLLLLLLLLL..LLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLL..LLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLL +LLLLLLLLL.LL.LLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLL.LLLLLLL.LLLLL.LLLLL.LLLLLLLLL +LL.LLLLLL.LLLL.LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL..LLLLLLLL..LLL.LLLLL.LL.LLLLLLLLLL.LLLLLLLLLLLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLL +....LL.....LL..LLL..L......LL.LL......L.....L.....LL.LLLL..L.L.......LL.LL.....L.........L...L..L. +LLLLLLL.L.LLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLL.LLLLLLLLL +LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLLLLLL +LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLL +LLLLLLLLL.LLLLLL.L.LLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLLL +LLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLLL.LLLLLLLL.LLLLLLLLL +.LLL....L....LL....L..........LL.L................L...L...LL......L.....LLLL...LL..L.....L.L..L.L. +LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLL.LLLLL.LLLLLLLLLLLLL.LLLLL.LL.LLLLLLLLLL.LLLL..LLLLLLLLL +LLLLLLLLL..LLLLLLLLLL.LLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLL.LLLLL.LLL..LLLL +LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL +LLLLLLLLLLLLLL.L.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.L.LLLLLL.LLLLLLLLLL.LLLLLLL.LLLLL.LLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLL.LLLLLLLLL +.L.LL..L.....L...L...L.L...L..L..L.L.L.L........L..LL....L...L...L.....LL.L............L..L..L.... +LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLL.LLLLLLL.LLLLLLLLLLL.LLLLLLLLL +LLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLL.LLLLLLLLLLLLLL.LLLLL.LL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.L. +LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.L.LLLL.LLLLLLLLL.LLLLLLLL.L.LLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLL +LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.L.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLLLLL.LL.LLLL..LLLLLLLLL +LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLL.L.LLLLL.LLLLLLLLL +L.L..L.L..L.....LL...LL..LL..L.L...L...L.....L...L.......L...LL.............LL.LL.LL....L.L.LL.L.. +LLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLL +LLLLLLLLLLLLLLLL.LL.LLLLL.LLL.LLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLL.L.LLLLL.LLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLL +.........L.L.L.LL.LLLLL..LL..LL......LL.L.L.L...L.L.....L.LL.....LLL.L.L.L.....LL...L..L....L..L.L +LLLLLLLLL.LLLLLL.LLLLLLLL.L.LLLLL.LLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLL.LLLLLLL.LLLLL.LLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLL..LLLLLL.LL.LL.LLLL.LLLLL.LLLL +LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLL.LLL.LLLLL +LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLL.LLLLL.LLLL.LLLL +.L.........LL....L..LL.LLL.LL.L...L..L.....LLLL..........L.LLL...LLLL.L..L.L.LLL...LLL..L.L......L +LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLL.LL.LLLLLL +LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLL..LLLLLLLL.LLLLLLLL.LLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLLL +LLLLL.LLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLL.LLLLLLLLL +.LL.L.LL.LLL.LLL.L....L....LL..L.L............L.....L.....L....LLLL..L......L.L...LL...LL.L...L.L. +LLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLL.LLLLL.L.LLLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL.LLL.LLLLLLL.LLLLLLLLL +LLLLLLLLLLLLLLLL.LLLLLLLL.LLL.LLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLL. +L.LLLLLLL.LLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLL.LLLLL.LLLLLLLLL +.L..L.L....L.........L.L...L..L.L..LL.........L.L....L..LL...L....L.L...LLL.L.LL.LL.L..L...LL....L +LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLL..LLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLL +LLLLLLLLLLLLLLLLLLLLLLLLL..LLLLLL.LLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLLLLLL +LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLL.LLL.LLLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLL +LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLL.LL.LLLLL.LLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.L.LL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLL.L.LLLLL.LL.LLLLLL +LLLLLL.LL.LLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLL.LLLL.LL.LLLLL.LLLL..LLLLLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLL.LLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLLLLL.LL.LLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLLLL +.LL..L....L.....L......LLL......L...LLLL....LLL......L..L......L..LL...LL...L......LL.LL....L..L.. +LLLLLLLLL.LLLLLL.LLLLLLLLLL..L.LL.LLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLL...LLLLLLL.LLLLLLLL.LLLL.LLLL.LL.LLLLLLLLLLL.LLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLL +LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLL +LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLL.LLLLLLL.LLLLL.LLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLL +...L.LL..........L....L.L.L....L......LL..........L.L.....LL..LL..L..L..L..L...L..L..L..L.....L... +LLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLL.LLLL..LL.L.LLLLLLLLLLLLL.LLLLL.LLLLLLLLL +LLLLLLL.LLLLLLL..LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLL.LLLLLLL..LLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLLL +LLLLLLLLL.L.LLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLL.LLLLLLL.LLLLL.LLLLL.LLLLLLLLL +LLLL.LLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLL.LLLLLLL.LL.LL.LLLLL.LLLLLLLLL +LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLL.LL..LLL.LLL.L.LLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLL.LLL.LLLL.LLLLLLLLLLLLL.LLLL.LLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLL.LLLLL.L.LLLLL.LLLLLLLLLLLLLLL +..L..L.LL..L.L..LL...L.L...L....LL..L.....L..L..L..L.....LL.L..L.LL......L.LLLL.LLL.LL.....L.L.... +LLLLLLL.L.LLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLL.L.LLLLLLLLL +LLLLLLLLL.LLLLLL.LL.LLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLL.LLLLLLL.LLLLLLLLLLL.LLLLLLLLL +LLLLL.LLL.LLLLLLLLLLLLL.L.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLL.LLLLLLL.LLLLLLLLLL.LLLLLLLLLL +LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLL.L.LLLL.LLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLL +LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLL.L.LLLLL.LLLLLLLLLLLLLLL +LLLLLL.LLLLLLLL..LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLL +LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLL.L.LLLL.LLLLLLLLLLL.LLLL.LLLLL.LLLLLLLLLLLL.LLLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL.LLLLLLLLLL.LLLLLLL.LLLLL.LLLLL.LLLLLLLLL +L.LLLLLLL.LLLLLL.L.LLLLLL..LLLLLLLLLL.LLLLLLLLLL.LLLLLLLL.LLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLL +LLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLLLLL.L.LLL.L.LLLLLLLLLLLLLLL +.LLLLLLLL.LLLLLL.LLLLLLLL.LLLL.LL.LLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLL.LLLLLLLLL +LLLLLLLLLLLL.LLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LLLLL.LLLLLLL.LLLLL.LLLLL.LLLLLLLLL +LLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LL.LLLLLLL.LLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLL.LLLLL.LLLLLLLLL +LLLLLLLL..LLLLLL.LLL.LLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLL.LLL.LLLL.LLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLL diff --git a/AoC2020/inputs/input12 b/AoC2020/inputs/input12 new file mode 100644 index 0000000..7b923fc --- /dev/null +++ b/AoC2020/inputs/input12 @@ -0,0 +1,774 @@ +E2 +L180 +S4 +R90 +S1 +F49 +N2 +F18 +N2 +L180 +S5 +L90 +E3 +N2 +F11 +L180 +N5 +W3 +L180 +W2 +N5 +F80 +R90 +F89 +N1 +L180 +N2 +R180 +E4 +R90 +S1 +L90 +N5 +R180 +N2 +F17 +L90 +E2 +F58 +W5 +L90 +W3 +N3 +F78 +L90 +N4 +L90 +F15 +W1 +R90 +S1 +W4 +R90 +F41 +W4 +S4 +F37 +E5 +S1 +E3 +F19 +R90 +S1 +W4 +S2 +E2 +L180 +F51 +W5 +R90 +F76 +E2 +F40 +N4 +R180 +E5 +N3 +F72 +S4 +R90 +F99 +E3 +F76 +W5 +R90 +E2 +S5 +R180 +F76 +N4 +L180 +F10 +F83 +S1 +F46 +L90 +S5 +E1 +S1 +F14 +N4 +E1 +R180 +E1 +R180 +S3 +F52 +L90 +S4 +L90 +W3 +F18 +S2 +F81 +L180 +F76 +L180 +W1 +S2 +F73 +N2 +F77 +W1 +F28 +L180 +N2 +F76 +L180 +W5 +F61 +N4 +E2 +R180 +S2 +L90 +F14 +R180 +N5 +E4 +F11 +E1 +L90 +N3 +E3 +F58 +W3 +F72 +W1 +N2 +W5 +F44 +L90 +W4 +F37 +L90 +F4 +W5 +N3 +F57 +N4 +L90 +S2 +F43 +S4 +W3 +S5 +F84 +S2 +L90 +N1 +R180 +W3 +L180 +N2 +W3 +R90 +N2 +R90 +F66 +L90 +F73 +E4 +S2 +L270 +W2 +E2 +S4 +E1 +R90 +W1 +F49 +L270 +F70 +S3 +W1 +N2 +E1 +F65 +W3 +R90 +F27 +E5 +F80 +S4 +W5 +F68 +E5 +R90 +F94 +W2 +L90 +F37 +L180 +E1 +F38 +N2 +F15 +N4 +E3 +L90 +E1 +R90 +S1 +E5 +N4 +N2 +E4 +L270 +N4 +R90 +E1 +S4 +E4 +F71 +E2 +R180 +N5 +E3 +F17 +L90 +N2 +W1 +L90 +F62 +W1 +F85 +W1 +L180 +F33 +S4 +W1 +N5 +F81 +W2 +R90 +S2 +F49 +L180 +S5 +F4 +W4 +N3 +W1 +F17 +R90 +W4 +N4 +E4 +N3 +L90 +S2 +R90 +S3 +L90 +E4 +R90 +S5 +F88 +S1 +L180 +N5 +E5 +F55 +R90 +F81 +E5 +L180 +R90 +F55 +R90 +W5 +F13 +R90 +N5 +F58 +L180 +S5 +F27 +E4 +S3 +F42 +R90 +F39 +W3 +S3 +F31 +S4 +L90 +W1 +S3 +W3 +N4 +W2 +S3 +L90 +F61 +E1 +F23 +S2 +F31 +S3 +L180 +W1 +N1 +L90 +N3 +F81 +E2 +N1 +R90 +F64 +S4 +F88 +E1 +N5 +W1 +S3 +F10 +N5 +L90 +F58 +S1 +R90 +E3 +L90 +N4 +F94 +S1 +W1 +S4 +L90 +F51 +L180 +N4 +R90 +L90 +N4 +F66 +W2 +S3 +S3 +W4 +F68 +L90 +F42 +E1 +F43 +R90 +N3 +F20 +E1 +N3 +E4 +N3 +F4 +S4 +R180 +W1 +R270 +N3 +F86 +L90 +E5 +F84 +N3 +W3 +F16 +L90 +N2 +E3 +L90 +S5 +E5 +F53 +L270 +N2 +F91 +R90 +E5 +N4 +F57 +E5 +S5 +F61 +S4 +F89 +E3 +N3 +N5 +F3 +S5 +F59 +E5 +F66 +R180 +S1 +W1 +N2 +R180 +S4 +E2 +L90 +N1 +W2 +F13 +L90 +E5 +F6 +W3 +F78 +E1 +F7 +W1 +N4 +W5 +F58 +R90 +E4 +N3 +E5 +N3 +W1 +S3 +R90 +F16 +L90 +F93 +R270 +N5 +F2 +W1 +S3 +F54 +R270 +F18 +R180 +F95 +L90 +W1 +E4 +N2 +W1 +L90 +S2 +L90 +W2 +S4 +F92 +W2 +S3 +R180 +N5 +E3 +N5 +E5 +F22 +F88 +S3 +E2 +R90 +S5 +W1 +L90 +E4 +F77 +N1 +W3 +F14 +E3 +R90 +W1 +F21 +N1 +F58 +W4 +N2 +R90 +N2 +W4 +F68 +W5 +N3 +L90 +F22 +R90 +F90 +F84 +S5 +F30 +N1 +W4 +R90 +F17 +R90 +W4 +S5 +E2 +N1 +F92 +N2 +R180 +N5 +E2 +R90 +F38 +R90 +F15 +E5 +N4 +N4 +E4 +S4 +F92 +R90 +F22 +S3 +W4 +N3 +E1 +R180 +F96 +L90 +E1 +N1 +F9 +W2 +N4 +F17 +N2 +R90 +F76 +S2 +F5 +S5 +F34 +R90 +F7 +N4 +F83 +N5 +L90 +W1 +S3 +R90 +S3 +W2 +S3 +F51 +N5 +W4 +F8 +E3 +F10 +N5 +F39 +S3 +E2 +L90 +E5 +L90 +N5 +E2 +N3 +F42 +S3 +F38 +N5 +F19 +F97 +W2 +R180 +S4 +E4 +S2 +W3 +F39 +W4 +F70 +S1 +W1 +R90 +F41 +L90 +E1 +N1 +E3 +W5 +F13 +E4 +F2 +R180 +F27 +E4 +N2 +L270 +E1 +N3 +W4 +F81 +W3 +R90 +E1 +F57 +S5 +R90 +F13 +L180 +N5 +F98 +F32 +N3 +R90 +N3 +W3 +S3 +W3 +N4 +F73 +L180 +N1 +E4 +F7 +E4 +R90 +N4 +R90 +S2 +E5 +F32 +S2 +N5 +W3 +R90 +W5 +S2 +L90 +F4 +R270 +N5 +E3 +L90 +S5 +F24 +N4 +R90 +F27 +L90 +F16 +R90 +N2 +R90 +N3 +L90 +S3 +L90 +F85 +S3 +F47 +N1 +E1 +N3 +R270 +S2 +L90 +F50 +L90 +S2 +F23 +N4 +L180 +E3 +F91 +R90 +E1 +W4 +F81 +W5 +R90 +F46 +E1 +W1 +F91 +N5 +W5 +N3 +W1 +L90 +F60 +S2 +L90 +E1 +F82 +S3 +W5 +N5 +F90 +E3 +S1 +F61 +E4 +F98 +R180 +F8 +R270 +F73 +W4 +L90 +W5 +L90 +F86 +W5 +L180 +F61 +N5 +F88 +E2 +L270 +F90 +N5 +F21 +R270 +F40 +L90 +W1 +N2 +L90 +E2 +S5 +E2 +S1 +E5 +N3 +F51 +S1 +F58 +W3 +L180 +F13 +R90 +N1 +F79 +W2 +F61 +R90 +F22 +E2 +N5 +F1 +S4 +F99 +S1 +S3 +E2 +F97 diff --git a/AoC2020/inputs/input13 b/AoC2020/inputs/input13 new file mode 100644 index 0000000..b08527f --- /dev/null +++ b/AoC2020/inputs/input13 @@ -0,0 +1,2 @@ +1002578 +19,x,x,x,x,x,x,x,x,x,x,x,x,37,x,x,x,x,x,751,x,29,x,x,x,x,x,x,x,x,x,x,13,x,x,x,x,x,x,x,x,x,23,x,x,x,x,x,x,x,431,x,x,x,x,x,x,x,x,x,41,x,x,x,x,x,x,17 diff --git a/AoC2020/inputs/input13ex.txt b/AoC2020/inputs/input13ex.txt new file mode 100644 index 0000000..d76f619 --- /dev/null +++ b/AoC2020/inputs/input13ex.txt @@ -0,0 +1,2 @@ +939 +7,13,x,x,59,x,31,19 diff --git a/AoC2020/inputs/input14 b/AoC2020/inputs/input14 new file mode 100644 index 0000000..98121d1 --- /dev/null +++ b/AoC2020/inputs/input14 @@ -0,0 +1,584 @@ +mask = 1X11X010X000X0X101X00100011X10100111 +mem[40278] = 36774405 +mem[51306] = 55175378 +mem[31036] = 805355 +mem[8433] = 48148 +mem[58481] = 45466 +mask = 1000101X11001XXX00X01110X1X000XX0100 +mem[42362] = 2765432 +mem[20493] = 213778 +mem[52954] = 756325 +mask = 10010000X00X1010000101X0010X001X1X10 +mem[34108] = 155448 +mem[19047] = 166539692 +mask = 1X0000111X0X10100X10X1110010X0100000 +mem[44380] = 108787272 +mem[50688] = 178803 +mem[13224] = 18328 +mem[47270] = 41220136 +mem[1679] = 5379693 +mem[25086] = 5316 +mask = 100010X011001X1000X1000XXX0000X010X0 +mem[8433] = 12191 +mem[45074] = 466358 +mem[57607] = 88673989 +mem[1764] = 3258736 +mask = X0011010110010010000X00100100X1001X0 +mem[42636] = 8106931 +mem[26732] = 819582135 +mem[61324] = 115576 +mem[46608] = 259438 +mem[62850] = 325 +mask = 11XX001111001X1001110X1XXX1110001X0X +mem[52922] = 2111 +mem[39872] = 2919426 +mem[49237] = 13351029 +mem[25369] = 403711 +mem[25714] = 525 +mem[11361] = 930295699 +mask = 100010001100X110X0111000X000X00X0000 +mem[55023] = 398985 +mem[1543] = 794 +mem[47160] = 65745 +mask = 1000001011X010XX00001001010X11101X01 +mem[3993] = 6186451 +mem[15936] = 678 +mem[12520] = 889 +mask = 110010XX10X0101X01X011X1010X00001100 +mem[21281] = 1112 +mem[1813] = 834 +mem[23778] = 88 +mem[877] = 4305190 +mem[41759] = 688804 +mem[31991] = 4165476 +mask = 1000X0101X001010000X10X00X00X01X00X1 +mem[62604] = 118285948 +mem[25086] = 804036 +mem[52954] = 414491 +mem[61838] = 14920 +mem[12372] = 14382 +mask = XXX1X00010001000X00X101X001000X01111 +mem[38767] = 23779 +mem[15107] = 3739 +mem[19591] = 35246 +mem[64406] = 27640 +mem[47997] = 1470326 +mask = 1011101011X0X1X100X0X11110010100X011 +mem[57638] = 42095143 +mem[18633] = 7407282 +mem[23584] = 1861 +mem[9800] = 35320 +mem[25647] = 17074 +mask = X0XX10X0100X1010X000X00011X100001101 +mem[19475] = 11720838 +mem[22303] = 3396 +mem[31371] = 963 +mem[27119] = 913 +mem[48910] = 28628571 +mem[48457] = 3430746 +mask = 1000101X1XX011010000010001000011XX00 +mem[42746] = 439123 +mem[26673] = 186688 +mem[9335] = 104841 +mem[47814] = 814 +mem[31051] = 23 +mem[26161] = 192849624 +mask = 110000X1X100101X011X001X0011XX011001 +mem[10584] = 8361 +mem[21594] = 83379 +mem[47043] = 458757662 +mem[1767] = 3878 +mem[37986] = 5338251 +mem[59740] = 779934 +mem[22725] = 495512 +mask = 10110X10100010X1011010X00010X11101X1 +mem[32885] = 15961 +mem[49329] = 11659 +mem[49589] = 883656 +mem[58578] = 3299 +mem[13410] = 16573 +mem[57567] = 56589 +mem[17446] = 2435 +mask = 100100001XX01110X00010000X100101X0X0 +mem[46571] = 57904 +mem[64234] = 1904852 +mem[17836] = 917 +mem[3697] = 79951109 +mem[17934] = 311 +mem[62943] = 105198 +mem[43632] = 127650 +mask = 110X001X00001X100X001X011100X01X0X01 +mem[32984] = 5679479 +mem[2985] = 52007072 +mask = 1000X01011001100XX0000X1110X00010101 +mem[52709] = 46005248 +mem[64106] = 148 +mem[10607] = 177262862 +mem[1672] = 768 +mem[55771] = 114128471 +mem[102] = 407505 +mask = X0X01010X1X011000X0000000X1001101X10 +mem[24357] = 37895788 +mem[4818] = 12679 +mem[1895] = 677 +mem[19538] = 1012377512 +mem[51317] = 290 +mem[26273] = 3433 +mask = 100X0X10X101100X1X10X111111001001X00 +mem[30547] = 1084 +mem[55023] = 38977 +mem[62922] = 235723 +mem[26793] = 2101257 +mem[3343] = 846 +mem[23767] = 749476 +mask = 10001XXX11X01101X0101X11101X1110X010 +mem[61302] = 2841122 +mem[54867] = 8646 +mem[50226] = 130817 +mem[48234] = 29376 +mem[39560] = 605311 +mask = 110010101X001X1X000000000X0001110X10 +mem[44651] = 1982752 +mem[46095] = 7221 +mem[22548] = 1154372 +mask = 11X100X0XX101010X00011101110X1010X01 +mem[28851] = 10138786 +mem[40188] = 9003080 +mem[46594] = 260547019 +mem[13047] = 644 +mem[61575] = 318501037 +mem[17933] = 130721 +mask = 10X000111X01X010XX1X0XX11001010001X0 +mem[17836] = 11610 +mem[60798] = 17334088 +mem[18040] = 8111502 +mem[5507] = 3549486 +mask = 100010101X001XXX00X0X10001X10111X01X +mem[1101] = 1830700 +mem[12750] = 44919 +mem[61081] = 1145728 +mem[221] = 98190 +mem[5230] = 1674762 +mask = 10110101X0X0100001X01101X1111X011011 +mem[63476] = 774 +mem[38765] = 6583 +mem[53101] = 425799 +mem[2689] = 76519 +mask = 1X0X0X001XX010100000X1X0X1000X010100 +mem[63306] = 25107559 +mem[29367] = 7911 +mem[33854] = 333886 +mem[34129] = 1601023 +mem[19106] = 105039 +mem[20340] = 33500 +mask = 1XX11X10100XX00X0X001010011010010111 +mem[17552] = 318 +mem[52954] = 755503843 +mem[45796] = 251387 +mask = 110010X01000101001000101X100001X010X +mem[19611] = 4546530 +mem[94] = 16405 +mem[37449] = 16299407 +mem[63044] = 1717 +mem[60882] = 53035 +mask = 1X111010100010X10X00X110XX0010010XX1 +mem[46825] = 38742 +mem[1559] = 2601 +mem[17127] = 10125964 +mem[45796] = 17645381 +mem[57067] = 650 +mem[12750] = 7052753 +mem[51876] = 223481 +mask = X00X1010110010010X000X000110X0X0X00X +mem[20021] = 98402475 +mem[62492] = 59443811 +mask = 100X101X100X1010000100010X000010X011 +mem[11361] = 790603 +mem[32392] = 1461971 +mem[16860] = 55486 +mem[48278] = 118088 +mem[6887] = 436990 +mem[44042] = 244740 +mask = 1000X01XX100X10000XX1X0011001XX01110 +mem[20112] = 2750699 +mem[12269] = 52907343 +mem[42636] = 6065 +mem[17001] = 169286 +mask = 10X1101X1X001X010X00011X0X0111001X11 +mem[37947] = 96 +mem[63306] = 7396 +mem[5465] = 1081 +mem[14662] = 1011 +mem[65279] = 131 +mask = 110100111100XX1X0111011110101000000X +mem[37780] = 7990 +mem[31512] = 40679485 +mem[14491] = 737737 +mem[30998] = 124949091 +mask = X1011X001000101XX0001X0X00111101001X +mem[33157] = 12243 +mem[56747] = 419147 +mem[11586] = 6256 +mem[64708] = 76550 +mem[37957] = 243778 +mem[5091] = 2456 +mask = 11X110X0X0001011X0000X0000100101X0X1 +mem[25324] = 2093940 +mem[36379] = 2777325 +mem[54213] = 228702576 +mem[32976] = 5846431 +mem[29430] = 119936 +mask = 1101010000101000X0001111100XXX111X11 +mem[31402] = 7431602 +mem[2073] = 7956 +mem[36885] = 3966 +mem[32392] = 37896 +mem[6832] = 173996362 +mem[53853] = 16478619 +mem[65160] = 667963 +mask = 100XX10X100X101X0X00000011X00X110X00 +mem[62304] = 3584301 +mem[57317] = 963348 +mem[16414] = 7872061 +mem[34763] = 1271472 +mask = 10XX001011000100000010X0100X01100111 +mem[48910] = 527784663 +mem[6555] = 360 +mem[52875] = 2675 +mem[18803] = 524 +mem[42703] = 3789970 +mask = 1X0100101X00X00X011100X1X11100X0101X +mem[45317] = 6806741 +mem[48723] = 23187771 +mem[34283] = 291852 +mem[29981] = 115905 +mem[63917] = 245041 +mask = 10010X0011001X10000000001X1001X10XX0 +mem[24836] = 124320580 +mem[13017] = 387784 +mem[49496] = 6149582 +mem[40990] = 3612867 +mem[42530] = 414515530 +mask = 11010XX01100X001XX1100X00001XX001011 +mem[49876] = 340001 +mem[12520] = 447064754 +mem[31346] = 2199326 +mem[38744] = 3174513 +mask = 100X101XX100100100101X000X00011111X0 +mem[58504] = 161861 +mem[51785] = 352 +mem[5035] = 14642386 +mask = 10XX0011100X101010110001110X11001X0X +mem[55328] = 912776 +mem[54729] = 404668417 +mem[1081] = 1230593 +mem[43126] = 275450 +mem[9568] = 6977 +mem[38414] = 258888 +mem[17523] = 628 +mask = 11011X10110010001110110X0XX1XX001101 +mem[14522] = 3706 +mem[23442] = 84315 +mem[60757] = 7650 +mem[64106] = 4820 +mem[12365] = 24537836 +mem[46911] = 2142190 +mem[60482] = 14617749 +mask = 11X1001111001X10X11100X000X010100110 +mem[30003] = 4640103 +mem[46235] = 8912631 +mem[28941] = 239 +mem[3232] = 2552211 +mem[14072] = 24479 +mem[45848] = 97107 +mem[27490] = 7267061 +mask = X00XXX1111X01101X0101110001XXX101110 +mem[50700] = 61091 +mem[2006] = 46171 +mem[54190] = 13801104 +mem[437] = 700 +mem[25806] = 370455 +mask = 1X00X0X0X00010100X00X00X010XX1100101 +mem[23418] = 3953103 +mem[4151] = 16351752 +mem[33858] = 2781804 +mem[40347] = 48747047 +mem[24323] = 185098 +mem[13410] = 3244984 +mem[22024] = 2046007 +mask = 101110XXX1001X01X100X1XX000111111111 +mem[42442] = 6862901 +mem[37947] = 133 +mem[52715] = 90558 +mask = 1X0XX0X0100010X0000X010X010X0001010X +mem[41622] = 3864588 +mem[37947] = 2574041 +mem[36379] = 282 +mem[7539] = 1884 +mem[43885] = 252462770 +mask = 1X0000XX110XX0X0X01101X0100X11101010 +mem[31739] = 122014445 +mem[12525] = 35483 +mem[49565] = 120526 +mask = 10000X00111X1010X0X00X0001X001X111X0 +mem[50] = 184186855 +mem[26970] = 28009237 +mem[43747] = 57180 +mask = XX01X010110X1XX101X11011X00101000011 +mem[34649] = 23812 +mem[19379] = 739289 +mem[9427] = 290837028 +mask = 1000001101X0X1000011111XX000101X11XX +mem[53212] = 976414185 +mem[54319] = 309721 +mem[61044] = 26059565 +mem[58543] = 112 +mem[47508] = 485916879 +mem[58912] = 603 +mask = 11X100000000100X000011101X001X0X0011 +mem[12536] = 1079539 +mem[60933] = 890 +mem[38277] = 24422421 +mem[31503] = 275497096 +mask = 10111010111011110X001111X0X01XX0X011 +mem[36315] = 732755 +mem[12521] = 5283380 +mem[14593] = 11354059 +mask = 110X10001000100X00001100X10000001XX0 +mem[178] = 10049489 +mem[58352] = 1284 +mem[55836] = 13364 +mem[8955] = 148648 +mask = 1001001X110010X01111001X0001010X1101 +mem[51286] = 424 +mem[24896] = 685 +mem[35764] = 984973816 +mem[1767] = 21227 +mem[58224] = 509700911 +mem[54139] = 681 +mask = 10X0101001001100X010X11001110X1X1101 +mem[4197] = 3959433 +mem[28314] = 4080074 +mem[64406] = 2275763 +mask = 10111011110011010XX0X111X00X1111111X +mem[53633] = 24715 +mem[12901] = 288197152 +mem[61838] = 365048 +mem[9985] = 113625770 +mask = 1000101011X0110X00000XX001XX0X1XX011 +mem[18728] = 2722863 +mem[62115] = 373062209 +mem[24406] = 14575043 +mem[1135] = 1658799 +mem[36109] = 27585 +mem[43154] = 932674865 +mask = 1X00001X1100101000XX01110001X01010X0 +mem[38443] = 2595746 +mem[45834] = 8200415 +mem[32618] = 2473 +mem[45317] = 204863 +mem[36385] = 1258950 +mem[1559] = 178687 +mem[7129] = 274257 +mask = 1X01X010110X1000111X11X00X1101011X01 +mem[64351] = 89231 +mem[23767] = 2060338 +mem[8182] = 3870 +mem[55067] = 3498 +mem[27490] = 113212315 +mask = 10000010110010100001XX01000X1XX00000 +mem[22484] = 465878 +mem[199] = 492230203 +mem[40351] = 41069 +mem[40347] = 28883121 +mem[54190] = 132583179 +mem[45157] = 1230 +mem[3262] = 763080 +mask = 1001010110011011X0X0100011X00X00X011 +mem[9068] = 1859901 +mem[65291] = 1860 +mem[4025] = 21940594 +mask = 11010X00X0X01X000000111010X0X1111X01 +mem[33551] = 154606 +mem[11586] = 6143673 +mem[55294] = 602657 +mem[25418] = 1846 +mem[31307] = 32063880 +mem[20048] = 1695818 +mask = 1X111X10110010110100110X110110X00000 +mem[24896] = 9413794 +mem[37579] = 13947393 +mem[62604] = 5335 +mem[9937] = 13537 +mem[14199] = 601827 +mask = 111110101X00X0110X000110X000101000X0 +mem[48234] = 1067197062 +mem[43126] = 1849938 +mem[26161] = 32826701 +mem[42432] = 2056 +mask = 10001X10110011000X100001X1100X000000 +mem[35283] = 15811124 +mem[6943] = 592604 +mem[25032] = 189694567 +mem[36455] = 163580 +mem[23535] = 61178 +mem[28952] = 363311 +mask = 1XX0000000001X10000X100001001X10X1X1 +mem[14987] = 1027 +mem[59069] = 14400510 +mem[27100] = 13017 +mem[70] = 22529 +mem[9653] = 120954062 +mask = 1X001X1010001010X001X0101000X1100001 +mem[36385] = 7634 +mem[51785] = 373478 +mem[62871] = 1219093 +mem[48687] = 720 +mem[46211] = 184017955 +mem[44651] = 4180012 +mask = 1X111X1X1100110100X0X11X011100010101 +mem[30714] = 86493051 +mem[9781] = 6458038 +mem[44042] = 196093756 +mem[54852] = 49986 +mask = 1X0X001XX10010X0XX11001100X1000100X1 +mem[59055] = 8554849 +mem[30511] = 238 +mem[59740] = 291 +mem[46825] = 4021 +mem[57257] = 47883555 +mask = 1001XX0X100X10000000X101XX0101X1X011 +mem[57317] = 3753201 +mem[36109] = 89435982 +mem[2071] = 92612 +mem[51306] = 3807708 +mem[60626] = 16185176 +mem[6288] = 52787155 +mem[51876] = 5014 +mask = 10X10X0X10X0100X0X00010X100111010000 +mem[47779] = 2632 +mem[44258] = 3287861 +mem[55067] = 554823 +mem[5507] = 16374932 +mask = X00000X01X0X101001XX00011010X010X110 +mem[15082] = 734057 +mem[20325] = 9406 +mem[43154] = 681 +mem[14046] = 2718549 +mem[36608] = 18836 +mask = 10001XX1110XX10X00X01100001011001010 +mem[64106] = 948524 +mem[63156] = 717606237 +mem[21756] = 8193201 +mem[61081] = 12060571 +mem[26182] = 1980 +mask = 100XX0X011001X0X00100101010100X100X0 +mem[40347] = 7113 +mem[20846] = 1812874 +mem[52954] = 31235865 +mem[15176] = 73255675 +mem[33551] = 45182604 +mask = 1000101X1000100000001001X10001010X1X +mem[53536] = 78486 +mem[14207] = 25081 +mem[6943] = 406911928 +mem[20627] = 33813239 +mem[52083] = 5810 +mem[51593] = 2963 +mask = 100XX01010X0100100XX1X0X011001111110 +mem[50540] = 521342322 +mem[25666] = 517512832 +mem[19475] = 60787116 +mask = 100X1010XX0011X000100010X0X1X0111X11 +mem[44296] = 11404 +mem[19921] = 12860 +mask = 10011000XX0X100000X1X10X001X00X10X10 +mem[15030] = 28046260 +mem[36124] = 53286373 +mem[18115] = 57486 +mem[14821] = 6413 +mem[46807] = 4097123 +mem[5230] = 758650 +mem[47154] = 2777 +mask = 1001X0101X0010000X11011X01001XX11101 +mem[61830] = 63370 +mem[31503] = 16024 +mem[12525] = 246729437 +mem[33593] = 115066 +mem[46594] = 59939695 +mem[178] = 6489337 +mask = 110XX000100010000000100110110XX0XX01 +mem[61044] = 1681 +mem[48145] = 78509 +mem[14662] = 317884442 +mask = 10010011110XX01000111011011X1011X111 +mem[63129] = 26 +mem[3729] = 72549 +mem[60816] = 33039 +mem[5097] = 620696594 +mem[24325] = 1480 +mem[52500] = 507 +mem[9653] = 77992342 +mask = 10X11010XX00X00100X0011X100X110X0011 +mem[50406] = 75245910 +mem[65160] = 121691 +mem[10605] = 5972898 +mem[31113] = 122549 +mask = 10X0111111101101001X1XXX1X0011101010 +mem[32648] = 13078 +mem[16040] = 42554293 +mem[49180] = 14823 +mem[12178] = 18873 +mem[45060] = 58303 +mem[49248] = 59412 +mask = 1000X010110X101001100X0010100100011X +mem[14950] = 106014 +mem[41759] = 6142194 +mem[53704] = 2925 +mask = 1000001011001010000X10010000X110X10X +mem[38572] = 30247028 +mem[23767] = 23066 +mem[32618] = 542388 +mem[10770] = 411 +mem[16831] = 40856 +mem[13505] = 2142 +mem[28786] = 140994490 +mask = 1100X0X000001XX00100X0010110X0X01X01 +mem[17768] = 45460151 +mem[4197] = 705 +mem[2953] = 12201 +mask = 1000000011XX10X00X0010X1011X111X0111 +mem[18985] = 29719899 +mem[45172] = 258207909 +mem[49882] = 85394924 +mem[21653] = 603 +mem[31300] = 37290319 +mem[5035] = 5768 +mem[6427] = 15769266 +mask = 10010011110010X0111101X000000101X0X1 +mem[47082] = 157766 +mem[13410] = 3842391 +mem[58172] = 2576 +mask = 10X000001000101000011101X0X000XX1001 +mem[3121] = 198929928 +mem[59740] = 16383 +mem[12269] = 37852 +mem[18190] = 1240 +mask = 10000XX001000100XX0X100X1010110110X0 +mem[9713] = 1435 +mem[50404] = 1789 +mem[28429] = 3239 +mem[178] = 2804 +mask = 1000010010X11011X0X01X0111010011X0X0 +mem[44077] = 202823 +mem[30483] = 3929 +mem[25920] = 10040 +mem[221] = 135771 +mask = 10X0X01111001100000000000100X0001X1X +mem[9427] = 152879 +mem[38057] = 11090 +mem[58564] = 32957206 +mask = 110X0010110X1X100010101X00100X001010 +mem[30968] = 2095418 +mem[3121] = 139148 +mem[53666] = 26824 diff --git a/AoC2020/inputs/input16 b/AoC2020/inputs/input16 new file mode 100644 index 0000000..a9c89fa --- /dev/null +++ b/AoC2020/inputs/input16 @@ -0,0 +1,267 @@ +departure location: 36-626 or 651-973 +departure station: 38-134 or 142-966 +departure platform: 32-465 or 489-972 +departure track: 40-420 or 446-973 +departure date: 38-724 or 738-961 +departure time: 30-358 or 377-971 +arrival location: 48-154 or 166-965 +arrival station: 48-669 or 675-968 +arrival platform: 27-255 or 276-965 +arrival track: 37-700 or 720-955 +class: 50-319 or 332-958 +duration: 35-822 or 835-949 +price: 40-791 or 802-951 +route: 42-56 or 82-968 +row: 40-531 or 555-968 +seat: 49-681 or 695-962 +train: 31-567 or 593-953 +type: 42-840 or 855-949 +wagon: 31-165 or 176-962 +zone: 48-870 or 896-970 + +your ticket: +127,89,149,113,181,131,53,199,103,107,97,179,109,193,151,83,197,101,211,191 + +nearby tickets: +835,933,819,240,276,334,830,786,120,791,301,770,249,767,177,84,838,85,596,352 +193,697,654,130,5,907,754,925,817,663,938,595,930,868,56,128,598,197,381,452 +922,462,747,775,599,787,765,815,298,930,198,89,654,353,56,285,571,411,560,419 +515,287,391,452,91,319,143,614,50,910,450,926,617,288,922,137,738,761,248,751 +50,945,117,899,420,675,177,521,774,677,56,279,768,391,282,151,107,920,904,976 +595,243,760,96,816,786,600,940,347,413,132,722,16,668,896,250,815,619,804,186 +244,907,377,226,188,595,509,406,777,691,791,383,247,122,609,597,340,803,817,512 +773,222,819,757,50,562,108,867,195,455,389,454,564,581,557,622,897,914,54,927 +778,865,451,741,520,199,355,870,723,513,618,784,377,413,758,124,296,180,566,584 +861,236,213,302,196,637,525,840,530,926,905,341,812,222,749,104,677,459,150,200 +455,446,440,402,309,143,497,382,198,246,511,228,243,129,317,491,932,109,516,102 +117,177,462,196,283,777,655,122,780,111,94,153,391,335,433,455,306,810,344,790 +292,349,232,999,463,240,209,101,530,662,805,209,148,505,501,287,560,499,815,593 +744,128,616,866,777,54,467,94,125,662,89,84,909,528,181,521,784,555,347,659 +721,909,415,252,53,346,499,564,584,857,283,911,201,897,420,939,867,420,447,280 +639,416,317,392,837,127,775,382,300,407,809,666,836,774,399,666,698,526,558,116 +261,522,939,567,244,97,152,129,401,305,772,184,390,835,294,240,776,947,816,149 +902,560,193,118,556,512,181,379,975,448,101,677,839,756,901,695,297,355,669,866 +291,293,103,788,403,778,379,101,107,458,110,720,104,990,809,927,838,211,304,287 +657,152,125,945,816,395,263,308,409,783,414,496,507,663,252,403,348,611,417,456 +743,410,117,779,933,282,113,948,756,622,111,309,286,764,656,703,867,341,791,782 +782,664,761,491,350,6,940,920,700,213,932,234,193,182,839,754,760,516,343,297 +669,724,496,285,767,519,601,160,178,96,105,351,245,127,613,337,113,313,101,108 +616,207,838,618,912,149,184,344,761,222,302,660,625,669,221,778,792,89,786,759 +144,280,907,336,910,821,129,130,334,85,301,319,900,312,858,277,391,662,626,169 +751,514,769,242,515,154,176,194,281,381,153,386,299,178,731,457,120,243,492,239 +339,767,662,838,171,840,234,226,295,184,187,779,916,384,396,780,496,942,512,128 +398,613,661,280,743,92,397,305,115,924,698,335,210,523,620,753,454,141,613,305 +897,462,92,234,779,253,291,921,401,838,249,123,747,596,738,510,78,276,559,114 +141,788,283,409,860,103,337,838,343,560,150,595,332,930,820,810,756,220,147,406 +557,926,230,778,124,459,722,86,118,240,220,914,353,129,803,688,215,407,749,817 +341,217,561,516,559,14,188,491,870,762,505,112,235,391,864,745,768,124,306,310 +406,901,417,338,598,766,390,746,613,922,405,518,618,783,738,336,561,50,667,633 +900,145,607,820,681,755,562,763,337,287,454,742,741,604,982,347,517,661,902,384 +188,205,505,85,446,449,198,418,84,773,832,748,943,221,212,607,378,123,383,945 +766,502,87,305,522,202,679,212,86,653,808,531,929,180,865,934,785,486,201,723 +219,457,386,55,51,975,99,252,208,418,929,82,354,783,189,721,112,184,127,392 +505,744,933,145,123,565,770,924,105,185,913,134,306,835,567,524,909,863,982,786 +898,915,562,289,117,675,399,567,146,104,780,54,465,519,600,897,878,605,307,242 +243,82,367,720,918,378,936,621,944,743,503,104,511,231,410,336,458,769,448,296 +557,408,526,564,347,655,937,222,745,381,297,942,740,931,527,305,540,415,497,380 +305,286,567,239,311,741,924,385,309,861,937,245,302,154,486,919,790,277,563,465 +750,303,55,310,809,755,397,561,616,941,806,134,144,399,624,449,716,806,240,465 +717,99,203,664,679,766,399,225,603,384,51,312,213,604,462,176,609,181,453,414 +19,205,300,230,835,88,944,82,558,904,459,490,679,523,790,213,917,89,614,276 +805,574,240,335,489,911,200,510,723,756,602,191,496,408,651,248,123,742,904,761 +127,508,607,102,691,945,278,151,96,453,145,56,497,118,419,840,222,594,190,862 +748,355,206,107,523,929,656,592,246,101,754,748,455,343,782,109,698,280,227,678 +669,920,353,389,514,625,511,387,342,817,105,819,491,511,491,910,248,402,531,273 +387,250,565,507,561,225,976,319,51,662,531,514,896,118,620,776,195,614,501,786 +654,384,741,923,746,90,304,913,494,153,114,19,222,755,179,930,835,770,813,660 +150,563,931,349,148,242,400,186,500,946,273,564,131,752,339,838,240,528,210,521 +399,358,410,683,596,739,96,802,870,394,513,249,786,292,180,315,404,89,909,496 +696,227,820,194,594,626,867,80,112,279,762,230,276,177,390,97,391,783,247,297 +211,912,146,563,86,597,942,282,527,561,577,905,127,947,388,662,901,184,755,134 +655,664,803,743,290,866,132,783,131,205,855,124,743,388,819,485,822,791,611,201 +319,287,151,242,233,297,519,313,499,390,459,138,812,814,345,558,770,87,414,292 +724,498,521,236,465,109,229,377,406,915,683,614,679,224,410,781,774,802,752,196 +594,821,633,105,282,502,661,188,95,750,245,224,508,669,758,55,760,300,516,415 +820,279,351,815,226,869,522,745,939,778,459,118,944,914,629,897,558,618,340,308 +856,663,612,870,499,180,82,720,909,658,621,128,791,937,939,59,94,401,252,751 +86,497,561,88,455,183,918,352,309,410,301,987,301,859,310,492,697,295,335,292 +514,749,530,492,600,991,933,152,668,102,655,88,206,244,791,411,254,771,617,678 +820,913,288,509,343,784,622,667,155,353,903,817,447,300,811,803,911,195,403,743 +208,294,652,763,448,562,788,204,626,503,837,454,809,406,272,460,222,770,775,597 +614,494,747,93,211,334,625,349,295,290,346,764,408,98,406,290,16,382,83,790 +115,739,773,219,129,492,225,674,464,95,931,516,806,495,303,602,555,662,566,228 +530,909,98,897,142,84,714,420,937,186,613,149,839,210,397,818,87,948,292,126 +286,305,949,506,497,119,219,395,612,223,454,667,663,514,346,391,127,174,521,501 +941,511,915,626,99,82,727,92,188,215,130,357,790,619,839,133,838,495,521,390 +210,939,811,495,599,188,354,150,610,753,446,143,698,291,153,382,903,130,916,4 +182,131,231,126,839,745,195,413,153,669,133,234,309,209,514,818,485,397,748,947 +298,391,617,920,457,680,219,320,945,699,923,781,779,335,869,282,292,336,350,85 +212,419,986,314,721,315,659,133,249,144,756,463,924,667,862,450,143,181,334,388 +911,861,791,867,453,664,498,780,355,493,397,693,98,555,384,209,940,868,345,286 +557,661,515,494,816,942,404,244,507,143,654,764,696,402,124,150,167,200,102,509 +512,828,389,566,242,922,931,565,780,301,410,503,183,343,778,626,84,146,129,221 +128,599,202,289,910,519,907,498,488,748,149,777,745,596,611,456,120,53,678,283 +724,191,613,300,806,865,124,778,104,750,758,597,604,747,764,157,195,177,680,932 +227,457,50,283,143,741,523,134,680,947,558,600,761,617,226,416,136,923,211,405 +379,338,307,56,626,761,379,855,997,454,303,864,869,941,610,192,339,868,351,566 +280,696,698,596,592,896,509,124,401,723,418,748,555,501,937,408,404,608,143,253 +940,186,411,464,387,602,184,354,142,757,220,184,223,182,301,442,378,740,738,142 +450,123,938,377,91,548,837,626,594,593,418,790,297,82,124,190,254,531,345,397 +762,508,206,357,224,830,761,912,624,245,667,247,247,618,290,938,107,910,288,55 +773,318,906,301,383,856,202,866,562,305,181,152,52,382,313,906,228,825,188,769 +55,502,393,821,937,942,936,147,516,458,182,502,919,788,173,402,395,565,932,860 +199,607,614,404,663,392,668,504,142,462,205,299,787,318,771,126,211,694,194,526 +184,805,452,594,857,706,230,88,771,337,755,341,748,654,315,213,502,407,309,380 +283,696,709,111,761,460,558,190,700,118,898,723,697,566,176,318,865,776,296,230 +607,394,753,122,353,293,298,207,903,349,106,496,333,984,920,461,758,699,334,749 +460,406,771,196,106,507,499,558,656,357,506,813,857,784,303,634,941,312,786,914 +919,769,919,451,94,672,406,743,113,101,739,596,182,332,555,89,185,698,291,530 +933,460,248,279,314,897,763,748,669,767,383,121,764,244,58,402,902,658,124,496 +917,761,769,307,698,396,190,171,747,523,555,453,933,501,594,301,98,601,750,608 +621,791,125,51,748,799,187,216,598,420,151,380,658,658,720,201,464,317,109,604 +219,491,747,92,625,97,430,284,453,196,619,454,382,448,948,334,499,557,944,109 +294,614,334,623,302,501,502,821,702,357,699,839,784,278,761,403,235,401,412,228 +817,346,595,489,124,791,616,209,384,751,132,492,587,598,855,814,603,316,378,123 +941,302,130,240,609,171,179,417,565,870,623,194,698,297,499,410,409,345,116,279 +295,600,557,696,603,266,599,219,407,779,220,450,314,198,807,610,462,319,750,863 +407,945,134,813,113,392,495,243,600,123,116,249,145,387,398,228,104,696,393,140 +180,382,801,816,625,787,564,528,128,392,94,745,655,594,278,759,754,899,661,680 +785,760,409,666,241,529,940,702,668,938,755,240,393,293,356,134,669,836,498,677 +939,596,856,666,821,141,912,566,744,818,912,525,382,276,312,819,420,751,287,603 +802,306,558,23,125,286,811,816,840,287,915,838,931,561,936,608,785,214,754,354 +384,923,914,314,197,301,745,154,109,391,519,254,23,912,393,899,352,451,593,394 +758,921,446,145,238,857,413,946,785,506,170,651,912,276,927,531,218,804,317,153 +758,216,767,508,344,900,565,192,293,338,906,857,235,662,665,395,119,561,665,701 +901,930,675,446,815,418,116,741,802,743,869,569,317,287,784,389,783,91,386,240 +234,564,224,896,812,813,391,625,174,185,53,923,221,744,492,784,751,382,493,788 +395,285,582,85,108,822,770,593,222,129,355,277,227,119,334,82,757,944,305,760 +511,489,253,491,451,676,416,821,204,924,2,668,496,126,384,755,178,378,388,665 +456,170,773,52,604,379,203,817,103,149,521,561,152,932,663,597,458,316,84,905 +301,680,903,109,151,90,200,184,858,100,236,398,238,555,312,612,308,228,771,164 +821,930,489,278,284,840,599,344,347,658,790,781,605,998,606,458,456,865,503,122 +404,319,212,755,55,655,20,864,930,599,625,817,924,906,523,745,507,108,901,905 +721,185,420,209,192,177,641,680,89,242,300,927,352,191,395,284,384,698,563,463 +773,819,906,781,900,109,413,137,776,147,213,240,227,924,307,316,652,339,496,900 +453,696,743,738,297,609,913,414,418,920,406,665,152,939,233,123,993,399,561,50 +346,619,815,511,347,410,771,559,276,160,747,450,354,50,941,194,900,945,819,393 +307,215,145,224,446,246,373,378,237,769,607,233,201,203,615,199,527,229,123,97 +756,381,107,564,868,788,751,626,567,309,764,948,394,284,155,245,944,742,460,512 +839,912,234,179,611,88,416,527,899,499,598,499,154,187,789,741,905,704,388,663 +122,490,769,285,898,699,606,99,462,809,132,915,132,453,664,786,453,239,104,687 +205,508,835,860,757,740,337,54,917,413,513,814,905,942,319,556,156,353,199,113 +524,379,898,817,941,721,521,379,185,744,458,904,8,898,56,567,219,229,237,763 +56,294,235,525,243,761,244,315,311,696,818,301,460,100,182,268,307,608,925,408 +722,791,290,565,593,508,493,114,114,934,949,739,936,195,765,520,509,591,195,415 +907,247,773,940,904,655,299,342,920,712,930,280,318,758,460,339,311,858,700,838 +901,669,307,254,461,120,89,625,869,839,229,248,616,307,306,412,644,232,739,244 +484,417,751,344,281,319,666,607,216,811,669,491,679,194,679,277,238,741,242,404 +51,597,721,154,200,781,936,528,145,335,718,301,224,926,934,142,205,606,278,803 +304,761,682,295,783,56,558,127,786,218,247,756,449,205,389,459,116,494,681,222 +613,738,216,566,816,117,576,530,92,390,771,453,234,393,920,518,458,309,531,790 +748,231,498,54,347,599,923,419,125,940,446,489,200,186,616,240,609,856,985,134 +914,121,405,618,523,87,740,337,655,381,88,392,291,525,588,238,150,306,203,558 +91,447,563,514,181,745,561,273,593,54,108,911,410,787,738,807,811,786,818,741 +582,681,675,285,605,786,947,379,918,110,749,811,399,614,333,610,524,308,738,653 +185,654,505,942,199,381,96,202,281,51,922,898,446,922,555,916,316,124,180,438 +609,740,919,997,940,199,531,284,934,338,567,864,310,909,814,840,144,761,96,864 +818,386,868,512,603,215,222,187,213,896,105,224,898,249,103,601,125,156,219,767 +621,814,419,132,564,421,661,385,357,525,720,949,904,205,521,918,659,248,557,408 +153,757,867,181,455,653,112,528,997,127,788,245,520,921,207,510,611,118,354,925 +698,808,207,924,212,401,332,764,523,622,353,918,908,930,831,750,250,724,802,803 +860,613,749,767,927,816,836,765,338,411,914,123,290,355,699,169,669,868,356,855 +285,228,602,489,155,745,910,211,99,298,394,215,209,722,660,412,352,654,188,602 +946,768,914,56,902,277,379,867,109,221,557,273,624,813,449,607,383,752,344,820 +764,461,772,284,381,756,740,386,126,189,494,833,292,741,298,411,745,347,617,318 +386,244,262,607,333,398,746,514,920,176,146,868,489,86,338,197,839,197,558,458 +411,94,134,246,789,345,606,304,208,490,820,157,277,838,920,490,339,651,240,249 +530,593,780,571,781,528,299,117,253,749,247,405,346,396,221,143,305,595,289,505 +810,238,236,240,105,769,130,601,500,742,901,611,949,519,981,84,348,98,940,387 +523,111,354,462,866,460,409,988,102,494,409,857,837,133,52,132,667,932,779,314 +623,840,558,924,197,493,820,679,664,146,88,121,758,745,511,834,86,789,567,624 +814,772,286,810,347,513,602,668,456,244,355,815,619,420,719,626,616,525,243,389 +695,452,238,377,624,159,530,282,236,215,292,508,521,146,224,88,699,133,564,392 +211,115,456,405,225,238,766,818,857,246,181,114,94,116,146,354,7,301,529,318 +386,451,529,298,56,180,219,440,738,756,406,607,225,936,720,456,761,417,617,464 +131,254,947,401,818,343,97,801,835,119,739,205,96,822,666,929,86,753,209,110 +607,929,251,769,231,809,859,783,830,142,344,280,99,107,503,388,507,498,489,926 +738,676,310,805,922,190,2,205,742,492,767,927,595,868,523,652,251,142,216,348 +660,105,652,509,402,666,758,317,89,864,212,495,503,758,567,91,668,748,227,982 +754,609,116,529,866,623,747,355,355,561,132,203,515,93,458,921,364,216,410,103 +817,523,195,112,567,494,855,507,400,170,655,340,295,817,921,906,279,280,527,291 +342,916,496,82,296,562,289,204,941,769,994,206,697,781,785,213,204,907,561,316 +342,598,124,756,495,745,821,295,250,764,980,224,806,102,665,293,558,603,459,922 +802,754,204,806,348,775,91,461,318,784,667,652,526,686,451,922,697,127,409,903 +919,142,395,397,491,897,133,739,662,498,816,248,663,199,386,580,651,566,314,745 +511,528,611,255,104,603,610,901,446,834,515,250,920,563,92,344,402,820,928,902 +616,127,183,213,412,748,922,195,898,147,120,51,353,412,912,904,617,315,0,125 +254,906,53,695,212,64,513,281,143,908,214,249,357,860,808,749,51,941,414,695 +210,278,396,307,222,517,313,919,675,502,297,511,318,561,915,398,665,900,866,826 +523,121,291,749,396,911,409,453,232,20,53,351,805,305,183,296,927,680,282,740 +941,785,354,184,494,491,788,546,812,784,83,287,341,784,667,82,908,333,122,667 +288,912,757,617,594,781,283,115,620,106,741,237,126,354,603,415,24,305,816,808 +399,211,698,300,769,503,837,281,457,225,142,491,288,448,91,869,834,904,751,287 +606,763,472,55,204,618,696,299,384,101,935,182,337,909,115,458,345,598,56,760 +347,740,452,252,130,151,921,939,112,334,904,481,508,210,303,742,866,314,216,903 +240,921,212,168,379,679,104,459,835,724,897,276,452,748,522,510,127,145,739,861 +598,287,503,184,668,790,160,396,341,617,595,520,810,604,698,748,788,531,461,123 +687,791,517,289,915,771,453,516,764,209,87,505,818,666,749,721,903,491,112,112 +127,239,178,119,495,363,393,352,839,742,204,114,229,247,127,126,278,96,462,775 +992,869,120,92,525,115,766,866,516,277,461,766,812,564,83,621,865,282,805,755 +184,452,295,112,219,787,223,855,761,858,301,307,379,398,201,593,268,130,666,516 +461,908,730,126,807,332,667,855,454,910,948,180,840,455,918,507,912,226,778,152 +222,698,98,410,0,612,497,297,280,599,783,835,116,787,178,334,930,387,121,563 +149,463,127,348,214,921,19,722,514,927,186,147,868,603,341,559,419,463,343,651 +131,160,204,382,202,810,595,341,614,280,509,248,150,676,509,933,556,176,297,762 +819,411,292,522,187,212,54,96,662,665,901,617,594,455,914,556,419,452,986,448 +664,678,816,450,862,408,514,369,514,512,318,411,86,920,904,506,176,859,218,312 +669,699,101,91,231,210,135,113,516,128,614,145,656,348,923,391,603,664,530,133 +598,835,289,617,677,210,790,832,105,614,809,130,452,934,351,113,287,304,461,604 +301,567,144,815,193,929,305,527,112,597,870,169,416,149,747,229,900,865,767,513 +242,821,858,302,781,111,238,687,249,555,211,607,113,522,773,207,462,337,808,908 +280,940,197,279,382,91,785,723,619,110,995,296,768,289,902,595,447,82,622,869 +98,50,496,804,237,821,168,414,148,231,238,408,224,419,698,110,621,189,107,243 +403,386,352,415,856,342,559,186,897,676,384,710,351,519,515,558,802,721,353,784 +779,940,540,606,213,695,675,449,99,199,202,187,286,92,131,945,110,789,698,246 +763,99,174,678,901,855,287,777,191,223,232,757,319,230,413,808,623,524,653,396 +144,226,312,455,193,900,820,206,669,779,815,677,856,738,749,115,684,462,918,230 +722,778,832,337,221,390,243,818,668,666,345,118,930,239,564,90,523,762,183,84 +652,559,491,564,54,214,790,385,690,498,559,698,116,304,356,244,254,746,738,754 +446,450,152,447,313,840,678,602,312,131,494,751,347,53,462,918,214,426,145,665 +284,297,332,750,153,306,394,728,334,124,287,401,416,448,243,700,131,282,213,565 +420,691,652,859,515,406,205,340,387,697,662,918,224,402,501,133,310,785,897,338 +856,222,176,420,752,152,115,299,753,568,349,653,762,784,348,245,230,233,130,104 +524,565,563,185,291,600,403,243,131,219,617,720,120,102,367,524,196,500,758,54 +238,312,73,356,785,934,414,130,838,302,149,286,232,416,133,52,772,782,594,401 +186,289,463,252,299,981,118,856,415,899,292,904,920,751,410,143,922,530,771,450 +564,770,90,948,121,345,680,697,942,626,907,286,776,334,188,914,729,898,808,284 +908,154,283,131,102,190,458,118,151,152,305,810,613,305,176,663,463,265,595,680 +515,400,105,415,817,488,221,448,766,189,93,520,224,772,596,919,307,609,491,105 +222,401,192,457,298,665,945,51,179,608,394,597,869,56,248,299,439,354,754,742 +524,187,771,335,653,562,290,896,85,812,303,292,555,776,136,944,132,220,507,229 +338,595,198,51,749,113,677,919,236,412,518,817,652,104,908,724,673,934,133,557 +742,758,462,864,654,131,744,619,489,752,243,936,177,678,721,729,859,214,563,902 +899,456,231,335,386,147,656,287,197,238,279,313,603,450,408,747,329,926,762,203 +775,182,314,144,527,576,196,510,121,781,356,356,763,351,497,179,917,310,127,393 +776,751,456,147,776,309,381,389,122,782,656,739,212,396,133,148,293,119,939,474 +133,97,903,248,669,490,302,946,270,248,922,526,396,292,664,776,418,927,787,788 +172,518,525,290,668,508,202,82,111,452,940,152,91,145,118,219,611,206,501,103 +721,143,218,681,296,290,809,897,191,599,143,499,298,224,991,282,111,919,346,355 +764,656,931,415,119,218,103,469,385,127,789,54,652,97,514,303,864,724,335,56 +857,758,788,651,861,457,310,153,206,501,82,489,696,197,696,362,287,98,179,458 +561,233,349,319,741,749,205,531,339,615,302,898,300,911,694,914,676,353,771,655 +902,782,159,200,83,52,245,455,96,380,925,354,679,406,395,253,504,699,462,555 +418,305,185,918,514,651,561,241,151,990,187,720,409,764,814,524,392,772,84,208 +155,222,301,285,97,221,595,129,388,512,456,219,867,815,228,818,107,788,182,205 +768,154,738,249,559,729,312,347,505,199,749,224,936,940,454,203,230,804,528,782 +183,185,417,122,354,700,919,557,232,607,741,922,213,599,778,797,505,245,855,121 +402,623,786,408,451,689,896,87,761,782,192,652,251,232,193,55,765,228,754,227 +374,377,248,626,299,930,142,738,782,752,285,214,121,513,180,357,767,191,449,107 +279,790,379,116,777,209,691,118,622,213,741,51,209,929,197,664,346,655,403,154 +825,304,202,555,857,447,564,210,724,755,696,516,133,742,393,931,455,565,122,771 +751,197,183,522,402,230,293,948,771,232,160,948,864,561,897,218,819,202,655,249 +202,527,311,241,861,527,234,129,770,6,102,802,86,521,750,808,196,85,229,500 +911,103,945,207,519,333,867,464,489,152,865,996,104,450,668,204,303,147,126,176 +433,189,317,461,942,278,180,665,618,188,664,928,668,54,251,195,299,400,146,235 +774,212,205,511,315,558,990,125,416,932,396,771,661,465,54,382,752,207,353,563 +95,236,566,117,112,246,522,643,738,665,528,86,340,749,802,528,835,98,146,463 +283,908,141,177,780,251,114,282,101,90,948,99,747,446,652,290,355,282,905,740 diff --git a/AoC2020/inputs/input16ex.txt b/AoC2020/inputs/input16ex.txt new file mode 100644 index 0000000..c629bd3 --- /dev/null +++ b/AoC2020/inputs/input16ex.txt @@ -0,0 +1,11 @@ +class: 0-1 or 4-19 +row: 0-5 or 8-19 +seat: 0-13 or 16-19 + +your ticket: +11,12,13 + +nearby tickets: +3,9,18 +15,1,5 +5,14,9 \ No newline at end of file diff --git a/AoC2020/inputs/input17 b/AoC2020/inputs/input17 new file mode 100644 index 0000000..8e1cf1a --- /dev/null +++ b/AoC2020/inputs/input17 @@ -0,0 +1,8 @@ +#.#.#.## +.####..# +#####.#. +#####..# +#....### +###...## +...#.#.# +#.##..## diff --git a/AoC2020/inputs/input17ex.txt b/AoC2020/inputs/input17ex.txt new file mode 100644 index 0000000..17630fd --- /dev/null +++ b/AoC2020/inputs/input17ex.txt @@ -0,0 +1,3 @@ +.#. +..# +### \ No newline at end of file diff --git a/AoC2020/inputs/input18 b/AoC2020/inputs/input18 new file mode 100644 index 0000000..5746c1f --- /dev/null +++ b/AoC2020/inputs/input18 @@ -0,0 +1,373 @@ +(8 + 5 + 5) + (8 + (2 * 6) + (6 * 6 * 9 * 8) + 3 + 9 * 8) +(7 + 7 + 3) * 8 * (5 + 9 + 4 + (7 + 8 + 3 * 3 + 9 + 7) + (7 + 6 + 6) * 8) * (4 + 5 * 9) +8 * (3 * (3 + 8 + 4 * 9) + (7 * 9) * (3 * 3 * 3 + 6 * 8 * 2) * 7) + 5 + 2 +2 * (2 + 9 + 6 * (5 + 9 * 2 * 2 * 5 * 5) * (6 * 9 + 4 + 8 + 4 * 9)) +3 + 2 +2 * ((5 * 5 + 9 * 5 * 3 + 7) + (8 * 8 + 4) + 7) * 7 +8 * 3 + 4 +(5 * 3 * (9 * 9 + 4 * 3) + 2) * (3 + 2 * 2 + (8 + 6) * 3 + 7) +((6 + 4 * 5 + 9 + 7 + 9) + 2 + 4 * 3 + 5) + 5 * 4 + (5 * (2 * 5 + 3 + 8 + 4) * 5 * 8) * 8 + 9 +5 * 7 * (2 * 7 * 2 * 4 + 9) + 8 + 3 + 7 +2 * (8 + 9 + 5 * 2) +3 * 2 + 6 * (6 + (4 + 9 + 7 * 8 * 5)) * 9 +8 + (3 * 5 + (5 + 3) * (2 + 8 + 6) * 2) +(8 + 3 * 2 * (5 * 2 + 3) * 8) + 6 + ((8 + 8 + 4 * 6) * (5 * 4)) + 7 +2 * (6 * (3 * 5 + 3) + (2 + 9) * 8) + 6 * 4 * 7 +(2 + 7 + 9 * (3 * 3 + 4) + 5 * 5) * 9 * 4 +8 + 9 * 5 + 3 * 2 + 7 +2 + 9 * 4 + (3 + 9 * (6 + 2 * 2) + 9 * (8 + 8 * 3)) * 8 +9 * ((2 + 7) * 4 + 8 + 9 * 9) + 8 +(3 * 7 + (8 * 7) + 4 * (3 + 3 * 7 + 7 + 6)) + 2 + 9 * 8 +9 * (7 * 6 + (2 + 4 * 2 * 9 + 4)) + 9 * 5 * 3 * (6 + (6 + 8 + 8 + 2 * 5) + 5 * 3) +(6 + 5 * 6) * (3 + 8 * 6) + 8 + 7 +(5 * (5 * 2 + 4 * 4 * 5 + 2) * 9 + (2 + 6 * 4 * 2 + 3) * 6) * 4 + ((3 * 7 + 3) + 7) * 8 * 6 * 2 +5 + 7 + 9 + 6 * 9 * 3 +8 + 2 * 2 * (8 * (4 * 9 + 4 * 8 * 8) * 3) +5 + 5 + 3 + 3 * 7 + (8 + (3 * 9) * 8 * 3) +6 * 8 + (5 * 8 * 4 + (4 + 7 * 4 * 4 * 4)) * 6 * 8 +6 * 2 + (2 + 9 * (2 + 2 + 4 * 5 + 6) * (4 * 9)) + 2 * 4 + 6 +2 + (8 + (4 + 7 * 5 * 5 + 4)) * 7 + 5 * (2 * 3 * 5 + 6 * 9) +2 * 3 + 5 + (2 + (7 + 5 * 3) * (4 * 3)) +(9 + (3 * 7 * 3) * 9) * 6 +4 * (2 * 3 * (4 * 3)) * 6 + 7 * 8 * 3 +((7 * 6 + 6) + 8) + 8 + (5 + 7 + 4 + 5 + 8) + 5 + 4 +(9 * 7 + (3 * 9 + 7 + 5)) + 7 * 2 * (3 * 8 + 6) * 2 + 7 +9 * 2 * (5 * (5 + 6 * 6) + 8 * 8 + 7) * (4 + 2) * 7 * 4 +3 * (9 + (2 * 6 * 4) * 8 + 9 * (9 * 5 * 9) + (2 + 4)) + 2 + (7 * 3 * 3) + 8 + ((2 + 6 + 7) * 9 * (3 + 6 * 5 + 5) + 7 + 3) +2 * 3 + 8 + 3 + (9 * (3 * 7 * 5)) +(2 * (6 * 7 + 9 * 6 + 9) * 6 + 2) + 5 * 9 +(5 * 3) * 2 * 4 * 6 + 9 * (6 * 7 + 9 + 5 * 9 + 8) +2 * 3 * ((8 * 8 * 7 * 7) * 2 * 7 * 5 + 4) * (3 * (3 + 4 * 7 + 4) + 7 * (2 * 2) * 8) * (6 + 6 * 7 + 6 * 7) +9 * 6 * 9 + 6 * 4 + ((7 * 5 * 8 * 6 * 3) + 2 + 2) +(9 + 7 * 6 * (3 * 8 * 7) * 9 + 9) * 3 +6 * 5 * 9 * 5 * 9 * 9 +3 + 9 + 8 * 7 * 8 + 4 +(3 * (9 * 5 + 8 + 5 + 9)) * 2 * 7 +(2 * 9) + (4 * (6 + 4 * 3 * 7 + 4) + (9 * 9 + 8) * 7 + 3) + 7 +(5 * 7 + 2 + 4) * 2 * 8 + 7 +((7 + 3) + 7 + 3) + 5 + 2 +3 * 4 * 7 + ((2 * 2 + 9 + 5 * 9) * 9 * 7 * (3 * 4 * 9 * 5)) + 9 +7 * 7 + 9 * (4 * (8 * 8) + 4 + 2) * 4 +7 + (4 + 7 + 9 + 3 + 7) + 8 + 7 * (6 + 8 + 9 + (9 + 2 * 5 + 7) + (4 * 9) * (2 * 6)) +5 + 9 * (2 + (7 + 5 * 4 * 3 + 4 + 4) + 8 * 8 * (4 * 8)) +6 + ((4 * 4) + (2 + 4 + 5 + 9 + 4 * 7) + (6 + 7 * 4 * 7 * 9 * 2) + 8 * 8 * (7 * 4)) + 4 + 9 + 8 +(6 + 4) + (3 * 9 + 3) * 4 * 9 * 9 * 8 +(6 * 8) * 8 + 4 * 4 +7 * 5 * 9 * 7 + 8 + (3 * 8 * (6 * 4 * 7) * 9 * (8 * 3 * 7 + 4 + 7)) +(2 * 8 * (7 + 5 * 3 * 6)) * 5 +6 * (8 * 9 * (3 * 9 + 4) * 7 * 3 * 6) + 3 + 6 +5 * 7 + 5 + 6 * 4 * (3 * 2 + 4 + 6 * (9 * 4 + 3 * 4 * 3 * 3) + 2) +2 * ((4 + 3 * 8 * 2 + 2 + 8) + (6 * 6 + 5 * 4) + 7 + (4 + 4 + 5 + 3 + 5)) + 8 + 7 + 2 + 6 +(5 + 6) + 8 * (8 + 6 + 6 + 8 * 8) * 7 * 9 + 7 +(3 * 3 + 4) * 7 + (2 * 8 * (5 + 4 * 3 * 6 * 7 + 6) + 9 * 6 * (5 * 2)) * 8 * 6 * 2 +7 * 2 +(4 * (4 + 5 + 7 * 9 * 7 * 2) + 5) * 7 * 7 * 3 + 7 + 8 +2 * 2 * 6 * 9 * (9 * 5 * 4) + (6 + 2 + 7 * 2 * 6 * 3) +9 + 6 + ((4 * 6 + 7 * 8 + 3) + 9 + 8 * 9 + (4 + 4) + 7) * 6 + 3 +5 * 2 + ((4 + 2 * 6) + (7 + 9 * 4)) * 7 + 4 + 2 +(8 + 6) * 9 + ((4 + 2 + 8 + 7) + 9 * (6 * 8 + 8 * 7 + 5)) +2 * (7 + 6) + 3 * 3 * 9 +(4 * 8 + (8 * 4 * 2 * 7 * 8) + 5 + 9) * 7 * 3 * 5 + 7 +7 + 8 + 5 * 2 * (3 + 3) +5 + 5 * (4 * 4) +2 * (9 + 2 + 9) * (3 * 7 + 2 + 4) +(9 * (8 * 5 + 5 + 4)) * 7 + 6 * 9 + 8 + 3 +(3 + 2 + 4 + 2 + (5 * 3) + 3) + (4 * 5 + (2 * 5 * 5) + 9) * 3 * 4 +4 * (5 * 8 + 3 * 5 + 5) + 5 + 4 +(6 + 5 * 4 + 9 + 8 * 6) + 3 * 5 + (8 + (2 + 4) + 2 * 7 + 3) +5 * 2 * ((3 + 2 + 2 * 7) + 8 * 8) * 4 + 3 * 8 +6 + 4 + (4 * 2 * 3 + 7 + 3 * 9) * 2 + 7 + 7 +2 + 3 + (3 * 3 + 8) + 8 + (4 + (5 + 8 + 5 + 4) * 9 + (6 * 8 + 7)) * 6 +5 * 2 + 4 * (6 * 6) +8 + 4 + (8 * (5 * 5 * 8 + 3 + 5) + 8 * 5) + ((9 * 3 * 4 * 8) + 9 * 7 * 7) * 3 + ((9 * 5 * 4 * 8) * 2 * 2) +5 * 9 * 6 + (9 + 9 + 8 + 8) * 9 +7 * 6 * 8 + 6 +3 + 5 + 3 * (5 + 3 * 4 + (8 * 4 * 9 + 3) + 4 * 5) + 4 +6 + 7 * 8 * 3 +4 + 4 + ((9 * 9 * 5) + 3 * (4 + 9)) * 9 + 9 +4 + 5 * 3 + (5 * 6 + 4 * 2 + 8) + ((3 + 3 + 9 + 3 + 3) + 5 + 5 * (7 + 6 + 3 * 7) + 9) +3 * 5 * (2 + 5 * 9 + 3) * 7 + (9 * 6 + 5 * 5) * 7 +(9 * 2 * 3) * 5 * 9 * 9 + (2 + 2 + 8) * 4 +5 * (7 + 7 + (5 * 2 * 3 + 3 * 4 * 8) * 4 + (7 * 6 + 9 * 3 * 9 * 9)) + 6 + 2 + 6 + 9 +(9 + 5 + (9 + 7 + 4 + 7 * 7 + 3) * 3) * (5 + (2 + 2 + 4) * 3 * 6 * 5 + 2) * 3 * 4 +9 * (5 + 6 + 9 + 2 + 6 + 4) + 7 + 3 * 2 + (7 * 7 * 8 + 7 * 3 + 2) +((9 + 4 + 7 * 4 + 4 + 7) + 6 + (3 + 7)) * 4 + (8 * 2 + 3) + 2 * 3 +(6 + 8) * (7 + 3 + 9 + 2 * 5 * 8) +(9 + 6 * 2 * (6 + 8 + 2 * 9 * 9 * 2)) + 7 * 6 +(4 + 9 + (7 * 8 * 8 * 4) + 6) + 6 + (8 + 9 * (9 * 5 * 6) * 5 + (4 * 2 + 2) * 7) +8 * (2 * (5 + 2 + 6 + 9) + 8) * 8 + 8 + 6 +6 + 8 * 4 * 2 + 2 * 3 +4 * (6 + 6 + (6 * 8 * 6 + 8 * 6 + 5) + 2 * 4) * 2 * 9 + 3 +4 * (4 + 4) + (5 + (2 * 3) * (4 + 4 + 7 * 4 + 2 + 3) * 6) * 8 * 4 +3 * 2 + (3 * 9 * 9) +((5 * 3 + 7) * 5 + 7 + 6 + 2 + 3) * 5 + (9 + (8 + 4 + 2 * 2 * 9) * 8 + 9 * 5) + 7 * 3 * 9 +(3 + 3 * 2 * 5) * 2 * 6 +8 + 6 + 2 + 9 * (6 + 5 + 4 * 9 + (4 * 7 + 4 + 9 * 6 + 4)) + 5 +5 * 7 * (9 * 5 * (8 + 4 * 2 + 5) + (8 + 6 + 7 * 3)) + 2 * 9 +(8 * 7 * 2 * 2 * 8 + 6) + ((8 * 7 * 2 + 4 + 5) * 2 + (7 + 8)) + 3 + (9 * 6 * (6 * 9 + 4) * (8 * 9 * 3 * 2 + 3) + 7 * 5) * 2 +(2 + 7 * 9 * 6) * (5 + (7 + 8 * 5 + 5 + 4) * 4 * 4 * 2 + 6) + 3 + 2 +(6 * 5 + 3) * 5 + 7 + 9 +(3 + 7 + 6) * 4 * (8 + 9 * 9 * 7 * (9 + 2) * 8) * 9 + (8 + 3 * 2 + 4 + 9) * 8 +4 + ((7 * 5 * 9 * 5 * 7) * (5 + 4 * 3 + 4 + 3) + (7 + 5) + 9) + 9 +6 * ((4 + 9 + 8) + (5 * 4 * 6) * 6) * (4 + 5 * 2 + 8 + 2 * 3) * 8 +4 + 4 + 4 +8 + (8 + 2 + 8 + 4) + (2 * (7 + 7 + 8) + 7 * 5 * 7 + 6) * 3 +(2 + 7 + 7 + 2 * 3) * (7 + (6 + 6 * 4 * 6) + 6 + 3) + 5 +6 + ((2 * 8 * 8) + (5 + 2 + 4 * 6 + 7 + 5) * 2 + 3 * 4 + 9) * 3 +(4 + 6 + (6 + 7) + (2 + 3 + 3 * 4)) + 4 + 2 + 7 +(9 * 3 * 9 + 3 + 2) + (9 * (2 + 2 + 2)) * 6 + 6 * 9 +3 * 9 * 8 + 8 * (5 * 6) * (4 * 5 + 3 + 6) +(4 * 9 + 2 * 6) * 4 * (9 + 7 * 3 * 5 + 2) * 3 * 4 +(5 + (4 * 5 + 6 * 4) * 5 * 7 * 8 * 4) * 3 + 8 +2 + ((8 + 3 + 3 + 8 * 6) + 5 * 6 + (3 * 7 * 4)) * 8 + 4 + 6 +6 * 4 * 4 * (3 * 9 + (4 * 4) * 4 + 5) * 5 +8 * (8 * (8 * 2 * 7 * 8 * 8)) +3 * 9 + 5 * ((6 + 6 + 2 * 3 * 7) * (2 + 9 * 3) + (4 + 5) * 5) * 7 * (7 * 4 + 6 * (8 + 4) + 9) +2 + (2 * 4 + 4) + 8 + (5 + 6 + 3 * 3 * 2) +(5 * (7 + 2 + 5 * 7 * 6) * 8 + (3 * 8) * 4) * 3 +(5 * 2 * (4 + 8 * 5 + 8) * 4 + 4 + 2) * 7 + 6 * 8 + ((7 * 7) * 4) +3 + ((9 + 8 * 6 + 8 * 4) + 3 * 6) * 5 * 5 * 4 * 2 +(4 * 3) + ((6 * 4 * 5) * (9 + 7 * 4 + 2 + 2)) + (6 + 6 + 3 + 2 * 2 + 4) * 7 +5 + (4 + 8 * 5 * 8 * 3) * (6 * 5 * 3 * (2 * 7 + 9 * 3 * 3 * 2) * 3) * 3 +((4 + 2 + 3 * 8 * 2) * 4 + 6 * 2) * ((5 * 8 * 6) + (6 * 3 * 8 * 8) * 7 * (6 + 2 * 9)) +(4 + 2 + (4 * 7 + 3 + 6 * 7 * 4)) + 6 * 7 * 9 +5 + ((2 + 7 + 7 + 3) * 6 * 5) + 6 * 3 * 6 * 7 +7 * ((4 * 4 * 4 + 3 + 3) * (4 + 4 + 6 + 3 + 3 * 9)) + 4 * 6 * 8 + ((4 + 6) + 4 * 6 + 6 + 3) +9 * (4 * 4 + 5 + 3 * (9 * 7 * 5)) * 6 + 4 * 2 + 6 +(5 * 6 * 4 * 4 + 6 * (5 * 4 + 4 + 5 + 4 * 7)) * 6 +((3 + 3) + 7 * 3) * 6 * (2 + 5) +(2 * 3 + 3) + (5 * (3 + 2 + 3 + 4 + 8 * 7) * 7 * (4 * 5 * 7) * 8) * (7 + 2 + 2) * 7 * 2 + 7 +3 * 6 * 7 * 5 * (9 * 5 * 5) +2 + 8 + ((6 + 2 * 4 * 2) * 8 * 4) + ((5 + 5 + 6) * 7 + 6 * 9 + 6 + 9) +2 * 7 + 2 * 6 * 6 * ((6 * 5 + 7 + 4 + 4 + 2) * 4 + 8) +5 + (2 + 7 * 7) * 3 + 3 +(5 + (9 * 8)) * 6 + 4 + 3 * 6 +6 * (8 + 5 + 3 * 5) * 8 + 4 + 8 + (4 * 5 * (6 + 8 + 5 + 2) + 6) +4 * 6 + (8 + 3 + 5) + 8 +((5 + 6 * 3 * 5) * (8 + 7 + 6 + 5 * 7 * 7) * 8 * 5) * (3 * 7 + 5 * 8 * 2 * 5) + (2 + 7) * 2 +(3 + (8 * 9) + 5 + (8 + 9 * 7)) + 4 * 4 * ((8 * 6 + 9 * 9) + (2 * 6 * 8 + 5) + 8) * 3 +3 + 6 * (8 * 9) * 9 +9 * 9 + 4 * (8 + 5 * 5 * 7 + 4) +4 * ((4 + 6 * 9 + 9 * 2 * 5) + 2 + 2 * 9 * 6) * 7 + ((8 + 2 * 6 + 3 * 2) + 4) + 6 +4 + (5 * 9 + 8) * (8 * (6 + 9 * 9 + 3 * 3) + 9 + 2 * (7 * 2) * (5 + 8 * 5)) + 2 +(4 + 5 + 6 + 6 + 8 * 8) + 2 * 7 * 4 * (5 * 2 + 6) * 7 +(8 + 2 * 3 + 8 * 2 * 9) * 6 + (6 + 6 * 2 + 6) + 9 +5 + 7 + (2 + 5 + 4 + 4 * 2 * 6) +((4 * 7 + 7) * 8 * 9 * 8 + (3 + 7 * 3 * 5) + 9) * 3 * 5 +(6 + 9 + 5 + 3 + 5) * ((6 + 5) * 8 + 4 * 2) +3 + 6 * (4 + 8 + 5 + 2) + 8 * ((4 + 6 + 6 + 4) * 4) * ((6 * 6) * 3 * 6 + 8 * 7) +(9 * 2 + 5 * 5 + 5) * (3 * (7 * 3 * 9) * 2 * 5 * 4) * 4 +7 * ((4 + 7 * 8 + 2 * 5 * 9) + (3 + 8 * 5 + 8) * 2 + 2 + (2 * 6 * 8) * 7) + (8 * 5) * (2 * 2 * 4 * 5) + 7 +7 * 3 * 2 * (3 * (7 + 3 + 3 + 9 * 7) * 5 + 4 * 2 + 7) * 7 + (3 * 7 + 8 * (8 + 2 + 9 * 5) * 9 * 3) +4 + 7 + 9 * (6 + (4 + 9 + 6 + 7 + 4) + (6 * 3) * (3 + 3 + 9 * 4 + 8 * 4)) +(2 + 7 * 9 * (8 + 5 + 2 + 5 * 7 * 3) * 9 + 5) * 4 + 7 +7 * 8 + 2 + 7 + (3 + 7 * 8 * 2) + (6 + 7 + 3) +3 + 3 + (5 * 4 * (2 + 9 + 5 + 8 + 3 + 7) * 4) * 6 + 8 + (3 * 8 * 9) +5 + (9 + (8 * 5 * 7 + 3 + 2) * 3 + 4 * 6 + 6) + 6 * 9 + 7 +4 * (4 * 3 * (4 + 6 + 2 * 8 * 7)) * 5 * 6 +5 * 5 * 9 * (9 + (8 + 3 * 4 + 3 + 6 * 6) + 7) + 7 +9 * 4 * 6 + (4 + 9 * 6 + 4) * (8 + 5 + 9) * 3 +7 + 7 * (3 * 7 * 3 + 3 * (4 * 2 * 6)) + (3 + 7 * 6 + (5 * 6) * 5) * (8 + 5) * 7 +7 + 4 + 7 * 2 +5 + 7 * 2 * 9 + (4 + (5 * 3 + 6 * 6 + 3 * 3)) +4 + (3 + 3 + 7 + 2 * 8) + (6 * 7) +((6 + 8 * 6) * 9) + 8 + (5 + (3 + 6 + 9) * 5) + 3 * 3 + 5 +6 * (2 + 6 * (8 * 9 + 3 * 4 * 7) * 9) * 9 +(8 * 7 * 6) * 7 + 7 * 6 + 3 +3 * ((4 + 4 * 6 * 4 * 4 + 5) * 3 * 6 * (3 * 7 + 8 + 5 + 2) * (5 + 5) + 6) + 8 +5 * (6 * (9 + 5 + 7 + 8 * 4) + 9 * 3) * (3 * 8 + 3 + (6 * 4 * 3) * 7 * 7) + 5 * (6 * (7 * 4 + 9)) + (8 * 5) +6 * 8 + ((4 * 4 + 4) + 9 * 4 + 8 + 5) + 6 +((5 * 6) * 4 * (6 + 3 + 7) * (5 + 7 + 5 * 5) + 6) * 7 +(4 * (2 * 9 * 6 * 8 * 9) * (5 * 4 * 3) + (5 * 7)) + 3 + 7 +(5 + (3 + 5 * 5 + 2 + 8 * 5) + 7 * 8 * 6 + 7) * 9 * 3 + 7 * 4 +(7 * 4 + 4 * 7 + 4) * 6 + 3 +6 + 4 +(6 * 3 * 9 + 8 + 7 * 5) + ((5 * 9 * 6 + 6 * 7) * (4 * 7 + 9 * 7 * 8) + 2 + (5 * 7 * 7 + 9 * 5) + 4 + 9) * 5 + 5 + 4 * 6 +7 * (9 * 2) * (4 + 7 * (2 * 6 * 6)) +(7 * 2 + 4) * 2 + 8 + 7 + 3 * ((4 * 7 * 7 * 6) * (8 * 4 * 7 * 2 * 7 + 5)) +4 * 9 * 9 + 2 + (3 + (8 + 8 + 8 + 3 + 9) + (5 * 7 + 5 * 3 + 4 * 8) + 6 * 3 * (3 + 3 * 6 * 8)) +3 + (9 * 9 * (5 + 9) + 8 * 6 + 3) * 9 + 5 + (7 + 9) +(5 * 7) + 5 * 4 * 6 * 5 * 7 +9 * (4 + 4 + 3 + 3 + 6) +3 * 8 * (9 + 3 + 6 + 6 + 8 + 5) + (4 * 2) +3 + 6 + 4 * 6 * (9 * 8 * (7 + 6 * 8 + 9) * 4) + 9 +4 * 6 * (6 * 8 * (2 * 8 * 5 + 5) + 8) +9 * 5 * 4 * 9 + (3 + 9 * 4) + 6 +5 + 7 + (2 + 2 * (2 * 8) * 2 + 6 + 8) + (9 * 3) * 7 +5 + (2 * 3 + (8 * 8 * 2 * 2 * 7 * 7) + 7 + 8 * 4) * 2 + 4 +8 * ((6 + 3 + 6 * 3 * 7) + (6 * 5 + 2 * 3 * 4 + 9) + 2 * (9 + 7 * 7)) + 7 +7 * (7 * 5 * 3) + 2 + (2 * 6 * 5 * 4 * 3 + 2) +7 + 8 * 4 * 2 * 9 + (8 * 2 + 7) +((4 * 8) * 5 + 2 + 3) * ((8 + 4) + 5) + (6 * (9 + 4) + (2 + 4 * 8 * 9 + 3 + 6) * 5) * ((9 + 9 * 3 * 5 * 8 * 9) + 9 + 3) + 2 +2 * ((8 * 3 + 5 + 7 + 3) * 9 + 7 * (2 * 6 * 6) + (7 * 7 + 4 * 9 * 8) * (9 + 9 + 3)) + (3 * 7 + 5 + (5 + 4 * 7) + (2 + 9 + 3 + 5 + 2 + 2) * 2) + 3 + 3 * 4 +(6 + 3 * 9 * (7 + 6) * 6) * 5 + 3 * 9 +(6 * 9 * (6 + 7 + 6)) + (7 * 8) * 7 * 3 + 5 + ((3 + 2 + 5 * 5) * 9 * 8) +5 * (8 * 9 * 8 + 9 * (5 + 4 + 9 + 5 + 9 + 4)) + 9 + 4 * 3 +(8 * 3 + 8 * 3) + 3 + 9 + 8 * 9 +(2 * 9 * 4) * 4 + (2 * 4 * 8 + (6 * 2 * 7 + 6) * 7 * 8) + (5 * 5 * 8 + 8) * 5 +(7 * 7 + 2) + 7 * 6 +5 + 2 * 6 + 8 + (3 + 4 + 9 + 6) +5 + 8 + 8 + 5 * (3 * 3 + 8 * 9) + 6 +4 * 4 * ((4 * 4) * 7 * 3) + 6 + 8 +3 * 6 + (8 + (8 + 9 + 4 * 5 * 2) + 5 + (3 + 5)) * 3 +5 * 3 + (6 + 5 * 4 * 2 * 2) + 9 * 6 +5 + 3 + 8 + 6 +7 + (9 + 3) + 6 +(9 + 5 * 5) * 7 + 9 * 7 * 4 + 9 +7 + (8 * 8 + 9 + 3) + 4 + 9 + 4 +8 + ((9 + 3) + 9 + (9 * 9 + 2 + 9 + 7 * 2) * 8 + 5 * 2) * 6 +(3 * 7 * 3 * 2) * 2 * ((5 * 8 * 7 * 2 + 2) * 9 + 8 * (4 * 5) * 2) + 9 * 6 * 9 +3 + 9 + (3 + 7 + 2) * 3 * 9 * 8 +(7 * 9 * 7) + 9 + 5 + ((5 * 8) * 6 * (3 * 8) * (7 * 8 * 6 * 2) + 5 * (5 + 5)) +3 * 7 + (6 + 4 * 5 * 3 + 4) +3 * 4 * 2 + (4 + 3 + 3 + 7 * (6 * 4 * 7) * (6 * 4 + 5 * 3 * 2)) +6 + (8 * 4 * (2 + 5 * 9 + 3) * 7 * 8) +8 + (9 * 7 + 3) + ((2 * 8 * 4 + 9 * 3 * 5) + 3 + 3) * (3 + 9 * 7 * 3 * 2) + 3 +2 * 9 * (5 + 8 + (8 + 3 * 9 * 7 * 2 * 4) * 8) * (5 + 7 * (5 + 7 + 2 * 9 + 8 * 4) * 3 + (7 + 7 + 5)) * 9 + 3 +(8 + 9 + 7 + 5) * (8 * (4 + 7 * 4 * 3 * 3 * 9)) * 4 +((8 * 7 + 3) * 2 + 2) * (4 + 9 * (4 + 2 + 6 * 4 * 4 * 7)) + 5 * 3 +9 + (6 * 6 * 8 + 5 + 6) * 8 * 7 * 2 * 4 +7 + 5 * 9 * (3 * 7 + 2) + ((7 + 5 + 5 + 3) * 5) + 9 +(9 + 7 * 4 * 8) + 8 +8 * 5 + 5 * (3 * 2 * 7) +7 * 8 * 5 + (9 * 8 + 7 * (9 + 5 * 7) + 4 * 4) * 5 + 8 +(3 + 9 + 6 * (7 * 5) + 5) + 8 * 5 + 8 + 4 +8 * 6 + (6 * (4 * 7 + 2) + 4 * 2) * 2 +(3 + 8 * 8) + (6 * 7 + 8 + 2 * 3) * (5 + 5) * (5 * 9 * 2 + 8 + 8 * 9) +9 * (6 + 4 + (7 + 6 + 7 + 9 * 8) * 6) * 6 * 5 * 3 * 9 +((3 + 9) + 4 * 3 * 3) * 5 + 6 * (6 + 5 * 5) +3 * 2 + ((3 * 3) + 6 * (4 + 8 * 4 * 3 + 6) + 4) * (9 * 4 + 2 * (5 * 4 + 2 + 4 + 7)) * 2 * (7 * (6 + 8 * 5) + 7 * 8 + 2) +(4 + 8 + 5) * ((3 * 2) * 9 + (5 * 6 * 7 + 6 + 8) + 4 + 9 + 6) + 5 * 6 + 4 * 6 +(3 * (3 * 9) * 2 + 6 * 8 + 6) * 5 +((9 * 8 * 4 * 4) + 5) + (2 + 8 + 6) * 4 +(3 * 9 + 6 + 3 + 6 * 7) + 4 * 7 * 7 + 6 + 9 +3 * 3 * 5 + 5 * 9 + (3 * (3 + 3) + (3 + 9 + 5 + 4 + 9)) +9 * ((6 + 9 * 5 + 3 + 2 + 4) + (8 + 5 + 4 * 6 * 6)) + (6 * 4 + 9 + 8 + 5 + 7) +9 * (8 * 8 * 4 * 8 + 4) * 7 +5 * (5 * (6 * 6 + 4 + 7) * 5 * 2 * 5 + 6) + (4 * 5 + 2 + 6 * 6 * 9) * (2 * (5 * 6 + 7 + 8 + 2)) +7 * 7 * 3 * 8 * 7 +2 + 2 * 9 * (9 * 2 * 2 * 4 + (3 + 4 * 2 * 9 + 9 * 6) * 8) + 4 + 9 +(6 + 7) * 4 + 3 * 6 * (9 + 2 + 3) +4 * (6 * 3 * 4) * ((4 * 3) * 7) * ((8 * 7) + 8 + (6 * 9 * 3)) +(4 * 4 + 7 + (6 * 6 + 5 * 8) * (8 + 2 + 3) * 8) + 7 +2 * (5 * (3 + 7 * 2) + 5 + 8 * 7) * 6 + (9 + (2 + 6 + 9 * 4 + 3) + (9 * 8 * 5 * 6 * 3 * 4) + 9 + 7 + 8) + 8 +((7 + 5 + 2) + 6 + 6 * (4 + 8 + 8) + 5) * (4 * 4 * 9 * (4 * 5) + 2 + 5) * 7 +2 * 6 + 7 * (7 + 2 + 5 + (5 * 3 * 4 * 9 * 6 * 7) * 9 + 3) + 5 +9 + 6 * 7 + ((8 + 2 * 5 + 3 + 5) + (7 + 2 + 9 * 2) + 5) + 5 * 6 +8 * (7 * 3 + 7 + 7 + 8) * 3 * (5 * 4 * 2 + 4 * 2) +7 + 7 + 3 * 8 + ((5 + 3 * 7 + 2 * 4 * 4) * 8 * 4 + 7) +8 + 8 + 4 * 3 + 9 * (2 + 5 + 3 * (6 * 2 + 5 + 2 + 2)) +7 * ((2 * 5 + 4 + 9 * 2) + 8 * 8) * 2 * 9 * 3 +5 * 8 + ((2 * 9 * 8 * 7 + 5) + 2 * 8 + 7) + 5 +(8 * (9 + 5 * 3 * 5) * (3 * 3)) + 5 + 2 * 5 + ((4 * 5 * 5 + 3 * 9 + 7) * 5 * (6 + 9 * 5 * 8) + 7) * 8 +(4 + (9 * 9) + (4 + 4 * 6) * 5 * (9 + 2)) * 3 + 9 +6 + 3 * 3 * (8 * 3 * 5 * (7 + 4 + 6 * 8 + 6 * 9) + 9) +8 + (6 + 7) * 4 * 6 +(4 * 5 * 8 + 3 * 2) + 2 + (7 + 2 + 3 * 7 + 6 + 7) * 5 +5 + (2 * 7 * 6 + 2 * 9 * 6) * 2 * 3 + 3 +8 + (3 + 6 + 2) + 5 + 7 + 4 +5 + 9 + ((4 + 9 * 8 * 2 + 7) * 7 + 6 * 9 + 9) * 7 +((8 * 7 * 9 + 8 + 9 + 9) + 2 + 5) + 9 + 3 + 4 +8 * 6 * (4 + 2 + (4 + 3 * 5) + (7 * 4 + 9 * 9) + 9 + 4) * 4 +9 + 3 * 6 * 6 + (9 * 9 * 4 + (7 + 9 + 5 + 7 + 3)) + ((8 * 9 + 9 + 2) + 8 * (8 * 7 * 3 + 6 + 2 * 4)) +6 * 3 * 9 + (7 * (6 * 5 + 2 + 7)) +5 + 8 * (3 + 5 * (6 * 9 + 5 + 9 + 5)) +4 * 7 * 8 * (4 * (7 + 2 + 7 * 8 + 6 + 6) * 6 + 3) +7 + (4 * 6 * 8 + 9 + (6 + 2 + 4 * 7 * 2)) +3 + 7 * 5 * 3 * (9 * 4) + 6 +(6 * 8 * 9 + 6 + 5) * 9 + 5 * 4 * 7 +9 + 4 +3 * (3 * 7 * (3 + 3 * 9 + 3 + 5) + 6) +5 + 3 * (2 * 5 * 3) * 4 * 8 +6 + ((8 * 7 * 6 + 2 + 5 + 2) + 2) * 7 + 5 +3 + (9 + 2) * (4 + (9 + 8 * 2 + 5 + 5 + 5) + 7) * 4 * 2 + 5 +7 + 6 * 7 + 8 * (5 * 7 * 9 * 9 + 2) +(9 * (3 * 8 * 9 * 8 + 7)) * 3 + 2 + 2 +(4 + 3 * 7 * (9 + 9)) + 5 + 9 +2 * 2 * (7 + 6 + 8 + 5 + 8 * 3) + 9 + (4 + 9 * 5 * 7 + 2 + 7) * 9 +3 * 2 * (5 * 8 * (5 + 6) * 7 * 2) + 7 +9 * 2 * 7 * (9 * 5 * 8 * (5 * 8 * 4 + 5 + 3)) +(8 * (3 + 2 * 4 * 4 + 4 * 2) + 2 + 8 + (7 * 3 * 6 * 6 + 5 + 9) * 9) + 5 + 7 * 9 +(5 * 3) + 3 * 2 +7 * 2 * 9 * 9 * 8 + (7 + 4 + (3 * 6 + 6 + 2) + 5) +9 + ((6 + 2 * 9 * 2) * (7 * 4 * 6 + 3 * 7) + 5 + 9) + (5 + (5 * 4 * 5 * 8 + 8) + 5 * (3 * 2 * 2 + 4 + 3 * 4)) +(6 * (8 + 9 + 3 * 3)) + 7 * 6 * 4 + (9 + 4 * 2) + 4 +((2 + 2) + (8 * 7 * 6 + 4 * 2 + 6) + 3 + (5 + 8 + 2) * 2) + 6 * 9 + 2 +(3 + 6 + 7 * 2) * 9 + (4 * 9 + (2 + 6 + 4) + 4) + 6 + 9 +2 + 3 * 3 + 8 + (4 * 4 + 5 + 4 * 4 + 8) * 6 +(9 * 3) + 9 +8 * 9 + 4 * (7 * 6 + 3 * 3 + 5) * 8 +9 + 6 * 7 + 3 * ((8 + 3) + 9 * 3 + 8 + (3 + 7 + 7 * 4) + 7) + 4 +9 * 2 + 9 * ((8 + 7 * 8 + 7 + 7 + 4) + 4 * (9 * 8 + 3) * 2 + 4 + (5 * 5 * 5 + 2 + 2 + 9)) * 7 +3 + (8 + (6 * 9 + 6 + 9 + 4 + 9) + 5 * 2 + 6 + 6) + (9 * (8 * 2 + 8 * 8 * 9)) +5 * (5 + 9 * (8 * 4)) * (7 * 6 * 8) + 2 + 3 +9 * 5 +6 + 6 + 9 + 4 + (4 + 9 + (3 + 2) * 2 * 6) +(6 * 4 * 7 * 3 + 7) + 5 * (8 * 4 * (4 + 8 * 4) * 9 * 2 * 3) + 9 + 9 * 2 +(8 * 4) + (5 * 4 + 4 * 4) * ((5 * 4 * 3 + 8) * 8 * 3 * 3 * 9 * 5) + 3 * (4 * 9 * 6) +8 * 4 * 6 + 2 +(7 + 2 + 3 * (8 + 3)) + 2 + 9 * (2 * 2 * (4 + 6 * 6 + 3 * 2 * 8) + 7 + 7) + 8 * 7 +3 * (6 + 4 * (5 * 4 + 5 * 4 * 5 * 2) * (5 * 4) + 9) + 4 + 6 + 4 * (5 + 6 * (2 * 7 + 6 + 2)) +9 + 8 + (3 * 6 + 7 + 8 * 9 * 4) * 8 * 9 * ((3 * 8 * 8 + 9 * 7 + 6) * 4 * 2 + (2 * 2 + 4 * 3) + (6 * 6 + 9 + 9 + 8) * (8 + 8 * 4)) +5 + (7 * 6 * 6 * (3 * 2 * 3 * 6 * 7 + 7) * 7) +9 * 9 + 3 * ((7 * 6 + 5 + 4) * 8 * (7 * 8 + 5 * 8) * (4 + 4 + 8 * 8 * 7 * 7) + 3 + 8) * 6 +2 * ((4 + 2 * 9) * (8 * 3) * 7 + 9) * 6 * 5 +(3 * (7 + 7 * 2 + 9) + (3 + 8) * 5 * (2 * 4 + 5 + 6 * 9) * 2) + 5 + 8 +2 * (2 + 8 + 5 * 6) * 2 + 7 +7 + (6 + 3 + 5 * 6 + 7 * 2) +4 + 2 * 3 * (6 + 3 + 5 * 4 + 2) * 9 * (8 * 7 * 5 * 8) +5 + (4 * 2 * 4 + 3 + 7 + 5) * 7 + 7 +8 + 2 + 4 + 7 + 2 +9 + 4 * 7 +6 + 5 * (5 + 9 * 7 * 6 * 5 + 7) * (7 + (6 * 9 * 7 + 5 + 6 * 4) + (9 * 9 + 7 * 9)) * 4 + 5 +7 * 7 * (8 * 3 * 3 + 9) + ((2 + 2) + 7 * 7 + 7 + 7 + 3) * 8 +2 + (4 * 7 * (7 * 5 * 4 + 5 + 5 + 5) + 7) + 5 + (6 + (9 + 6 + 6 * 3 + 3 + 5) * 2 * 9 + (3 * 7 * 5 + 5)) * (5 * 4 * 2 * 6) * ((7 + 4 + 7 * 2) * 7 + (5 + 7 * 7 * 3 * 4) * 8) +((3 + 4) * (9 + 5 * 7 + 5 * 7 + 5) * 4) * 6 * 4 + 9 +(6 * 9 + 5 + (6 + 8 * 8 * 6 + 6) + 6 + 7) + 7 + 5 * 2 + 2 +8 * (7 * 4 + 5) * 8 +5 + 8 + 9 + (6 + 8) + (6 + 4 * 4 * 4 * 5 + 5) * 5 +4 * 6 * 9 + 8 * (2 * 5 + 2 * (6 * 2 + 4 + 7 * 6 * 2)) * ((7 * 3 + 6) + (2 * 9 * 6 * 8 * 5 + 6) + (8 + 8 * 2 * 9 * 7 + 2) + 8 * 7) +4 + 4 + 7 + 5 + 2 +3 + (8 * 2 * 4) * 8 * (2 + (8 * 5 + 3 * 4 + 4)) * (2 * (5 * 6)) +7 + 8 + 7 + (2 * 7 * 7 * (9 * 8) * 5) +5 + 7 + 9 + 4 * (8 + 6 + 9 * (3 + 9 * 3 + 5 * 3) * 5 + 4) + (8 * (3 * 8)) +4 * 2 * ((8 + 8 + 4) * (9 + 9) * 5 * 4 + 5 * 9) * 2 +4 + 3 * 4 * 4 * 6 +4 + 8 * (5 + 2 * 3 * 8 * 6 * 9) + 6 +2 + 7 * (8 * 4 * 8 * 2 * 8 + 6) + 7 + 2 +5 + 3 + ((8 + 3) * 6 + (6 * 2 * 9 * 8 * 8 + 3) + 8 * 2 * 7) + 9 + 3 * ((4 + 9 * 5) * 3 * 4 * 3 * 2 + 9) +7 + (8 + (5 + 6 * 4 * 5 + 4 + 2) + (4 * 2) + 3 * 5 + 9) * 5 + 6 * 6 +7 + 3 * (9 + 3 + 5 + 2) * 9 +8 * 3 + (9 * (4 * 3 * 4) * 6 + 4 * 7) + 5 * 5 + (4 + 5 * (3 * 4 * 8 + 2 + 3 + 2)) +(7 * 2 * (7 + 8 * 4 + 7)) * 9 + 5 + 9 +4 * 7 * 5 + 3 * 5 +9 * 4 * 4 + 2 * (7 * (7 + 8 * 6 * 9 * 4) + (8 + 2) * 3 + 9 + 5) + 2 +8 * 7 * 5 + ((5 + 7 + 8 + 4 + 7) + 7 * (9 * 2 + 2) + 9) + 6 +5 + 4 + (4 + 5 * 5 * 2) +6 + 7 * 2 +9 + (5 + 6 * (3 + 3 * 4 + 3 * 4) * 4 * (8 * 2 + 6 + 6)) * 3 * 3 + 3 + 4 +((3 + 6) * 8 * 5 + 8 * 2 * 9) * (4 * 7 + (5 + 6 + 5 + 9 + 4)) + ((5 + 6 * 3 + 2 * 8 * 3) + 2 + 9 + 7) + ((6 + 5 * 5 * 2 + 7) * 9) * 7 +2 + 3 + 6 * (4 + 2 + 8) * ((2 * 8 + 4) + (2 + 3 + 3 + 8)) +(6 * 2) + 5 * 9 + 2 + ((5 * 7 + 4) * (7 + 4 + 4) * 2 * 7 + (5 + 7 * 2 + 3 + 5) + (6 + 4 + 2)) * 6 +4 + (5 * 3 * (6 * 7 * 8 * 4 + 5) * 3) + 2 * 7 +((4 + 7 * 9) * 3) + 9 * (6 + 3 + 8 + 2) +4 * 2 + 2 * (9 + 9 * 3 + (9 + 7 * 3 * 3 + 4 + 7) + (8 + 5) + 8) + 8 +5 + (8 * 4 + 9) * 2 + 2 * 2 * 5 +(5 * 8 * 3 * 5 + (3 * 2 + 9 * 5) * 6) + 5 + 8 + 3 * 2 +8 * (2 * (4 + 6 * 3 * 6 * 2 * 2) * (7 + 4 * 9 + 3) + 9) +6 * ((4 * 3) * 6 * (5 * 5 * 6 + 6) + (3 * 2) * 5 * 3) +8 + (3 * 6 + 4 + 9) * 2 +2 * 8 * 4 * ((3 * 3 + 9 * 7 * 5) * 7) + 2 +(6 + 9 * 2 + 4) * 4 * 4 * 3 + 6 * 8 +2 * 7 * 7 + (3 * 8 + 5) + 5 + 7 +3 + (9 * 2 + 6 + (4 + 8 + 9 * 5) * 4) * 8 +9 * (7 + 8) +8 * (7 + 8 + (5 + 5 * 8) + 7 + 3) + 6 +(4 + 2 + 7 * 5) * 9 * 3 + 8 + 7 + ((9 * 4 * 4) + 4 * (6 * 3 * 3 * 6)) +(2 * 8 + (8 + 4 * 9 * 6 * 2) * 7) * 9 * 6 * 5 +9 + 7 + (4 + 5 + 6 + 3) + 3 * 6 +(8 * 2) + 4 + 3 + 7 * 2 +(4 * 4 + 4) + 8 +6 + 4 + 8 +3 * (5 + (2 * 6 * 5 + 7 * 6) + 7 * 2 * 8 * 8) + 8 * 4 +8 * 7 * (3 * 4 + 6 + 2 * 9 + 9) * 3 + (3 + 5)