Browse Source

add 2020 challenges 19 to 25

pull/1/head
Maya Herrscher 4 years ago
commit
61ab2df755
  1. 44
      AoC2020/AoC19.py
  2. 52
      AoC2020/AoC20.py
  3. 101
      AoC2020/AoC20B.py
  4. 130
      AoC2020/AoC20B2.py
  5. 51
      AoC2020/AoC21.py
  6. 58
      AoC2020/AoC22.py
  7. 46
      AoC2020/AoC23.py
  8. 49
      AoC2020/AoC23B.py
  9. 87
      AoC2020/AoC24.py
  10. 36
      AoC2020/AoC24DUMM.py
  11. 32
      AoC2020/AoC25.py
  12. 586
      AoC2020/input19
  13. 586
      AoC2020/input19m
  14. 1728
      AoC2020/input20
  15. 45
      AoC2020/input21
  16. 4
      AoC2020/input21t
  17. 53
      AoC2020/input22
  18. 358
      AoC2020/input24
  19. 2
      AoC2020/input25
  20. 2
      AoC2020/test25

44
AoC2020/AoC19.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)

52
AoC2020/AoC20.py

@ -0,0 +1,52 @@
#!/usr/bin/env python3
import sys
from termcolor import colored
def show(tile):
for line in tile:
print(colored(''.join(line), 'blue'))
print('\n')
def fliph(tile):
next = ['n'] * 10
for i in range(0,len(tile)):
next[i] = tile[len(tile)-i-1]
return next
def flipv(tile):
for i in range(0, len(tile)):
tile[i] = tile[i][::-1]
return tile
def rotate(tile):
next = [['o' for i in range(len(tile[0]))] for j in range(len(tile))]
for i in range(0, len(tile)):
for j in range(0, len(tile[1])):
next[len(tile[1])-j-1][i] = tile[i][j]
return next
def options(tile):
return [tile,
fliph(tiles[t]),
rotate(tiles[t]),
rotate(rotate(tiles[t])),
rotate(rotate(rotate(tiles[t]))),
fliph(rotate(tiles[t])),
fliph(rotate(rotate(tiles[t]))),
fliph(rotate(rotate(rotate(tiles[t]))))]
if __name__ == '__main__':
tilestrings = open(sys.argv[1]).read().split('\n\n')
tiles = {}
for tile in tilestrings:
tid, *data = tile.split('\n')
try:
tid = tid.rstrip(':').split(' ')[1]
except IndexError: continue
grid = [[c for c in line] for line in data if len(line) >= 1]
tiles[int(tid)] = grid
for t in tiles:
print(colored(str(t), 'red'))

101
AoC2020/AoC20B.py

@ -0,0 +1,101 @@
#!/usr/bin/env python3
import sys
import numpy as np
def toBits(l): return sum(int(b=='#') * (2**i) for i,b in enumerate(l))
def allSides(tile):
a,b,c,d = tile[0, : ], tile[-1, : ], tile[:, 0], tile[:, -1]
e,f,g,h = tile[0, ::-1], tile[-1, ::-1], tile[::-1, 0], tile[::-1, -1]
return [a,b,c,d,e,f,g,h]
def comb(tile):
return [tile,
np.fliplr(tile),
np.rot90(tile),
np.rot90(np.rot90(tile)),
np.rot90(np.rot90(np.rot90(tile))),
np.fliplr(np.rot90(tile)),
np.fliplr(np.rot90(np.rot90(tile))),
np.fliplr(np.rot90(np.rot90(np.rot90(tile))))]
def getRight(tile): return toBits(tile[:,-1])
def getLeft(tile): return toBits(tile[:,0])
def getBot(tile): return toBits(tile[-1,:])
def getTop(tile): return toBits(tile[0,:])
def matchRight(tile1, tile2):
for t in comb(tile2):
if getRight(tile1) == getLeft(t):
return t
def matchBot(tile1, tile2):
for t in comb(tile2):
if getBot(tile1) == getTop(t):
return t
if __name__ == '__main__':
tilestrings = open(sys.argv[1]).read().split('\n\n')
tiles = {}
for tile in tilestrings:
tid, *data = tile.split('\n')
try:
tid = tid.rstrip(':').split(' ')[1]
except IndexError: continue
grid = [[c for c in line] for line in data if len(line) >= 1]
tiles[int(tid)] = np.array(grid)
sides = {}
for tid, tile in tiles.items():
for x in allSides(tile):
bits = toBits(x)
if bits not in sides: sides[bits] = []
sides[bits].append(tid)
sides = {k:v for k,v in sorted(sides.items(), key=lambda i: len(i[1]))}
singles = {}
for bits, xs in sides.items():
if len(xs) == 1:
singles[xs[0]] = []
for sid in singles.keys():
matches = [x for side in allSides(tiles[sid]) for x in sides[toBits(side)]]
singles[sid] = list(dict.fromkeys(matches))
prod = 1
corner = None
for sid, single in singles.items():
if len(single) < 4:
prod *= sid
corner = sid
picture = [[None for x in range(12)] for x in range(12)]
matches = list(dict.fromkeys([x for side in allSides(tiles[corner]) for x in sides[toBits(side)]]))
matches.remove(corner)
for t in comb(tiles[corner]):
x, y = matches
x, y = tiles[x], tiles[y]
if matchRight(t,x) is not None and matchBot(t,y) is not None:
tiles[corner] = t
break
if matchRight(t,y) is not None and matchBot(t,x) is not None:
tiles[corner] = t
break
picture[0][0] = corner
for i, p in enumerate(picture[0]):
s = sides[getRight(tiles[p])]
s.remove(p)
if len(s) > 0:
tiles[s[0]] = matchRight(tiles[p], tiles[s[0]])
picture[0][i+1] = s[0]
for j in range(1, len(picture)):
z = sides[getBot(tiles[p])]
z.remove(p)
if len(z) > 0:
tiles[z[0]] = matchBot(tiles[p], tiles[z[0]])
picture[j][i] = z[0]
p = z[0]
print(picture)
pic = [[None for x in range(12)] for x in range(12)]
for i in range(len(picture)):
for j in range(len(picture[0])):
pic[i][j] = tiles[picture[i][j]]
print(pic)

130
AoC2020/AoC20B2.py

@ -0,0 +1,130 @@
#!/usr/bin/env python3
import sys
import numpy as np
#import matplotlib.pyplot as plt
def toBits(l): return sum(int(b=='#') * (2**i) for i,b in enumerate(l))
def allSides(tile):
a,b,c,d = tile[0, : ], tile[-1, : ], tile[:, 0], tile[:, -1]
e,f,g,h = tile[0, ::-1], tile[-1, ::-1], tile[::-1, 0], tile[::-1, -1]
return [a,b,c,d,e,f,g,h]
def comb(tile):
return [tile,
np.fliplr(tile),
np.rot90(tile),
np.rot90(np.rot90(tile)),
np.rot90(np.rot90(np.rot90(tile))),
np.fliplr(np.rot90(tile)),
np.fliplr(np.rot90(np.rot90(tile))),
np.fliplr(np.rot90(np.rot90(np.rot90(tile))))]
def getRight(tile): return toBits(tile[:,-1])
def getLeft(tile): return toBits(tile[:,0])
def getBot(tile): return toBits(tile[-1,:])
def getTop(tile): return toBits(tile[0,:])
def matchRight(tile1, tile2):
for t in comb(tile2):
if getRight(tile1) == getLeft(t): return t
def matchBot(tile1, tile2):
for t in comb(tile2):
if getBot(tile1) == getTop(t): return t
def parse_data(strings):
tiles = {}
for tile in strings:
tid, *data = tile.split('\n')
try: tid = tid.rstrip(':').split(' ')[1]
except IndexError: continue
grid = [[c for c in line] for line in data if len(line) >= 1]
tiles[int(tid)] = np.array(grid)
return tiles
def get_sides(tiles):
sides = {}
for tid, tile in tiles.items():
for bits in map(lambda x: toBits(x), allSides(tile)):
if bits not in sides: sides[bits] = []
sides[bits].append(tid)
return sides
def get_corners(tiles, sides):
singles = {}
for bits, xs in sides.items():
if len(xs) == 1: singles[xs[0]] = []
for sid in singles.keys():
matches = [x for side in allSides(tiles[sid]) for x in sides[toBits(side)]]
singles[sid] = list(dict.fromkeys(matches))
corners = []
for sid, single in singles.items():
if len(single) < 4: corners.append(sid)
return corners
def build_picture(tiles, sides, start):
picture = [[None for x in range(12)] for x in range(12)]
matches = [x for side in allSides(tiles[corner]) for x in sides[toBits(side)]]
matches = list(dict.fromkeys(matches))
matches.remove(corner)
for t in comb(tiles[corner]):
x, y = map(lambda v: tiles[v], matches)
if matchRight(t,x) is not None and matchBot(t,y) is not None: break
if matchRight(t,y) is not None and matchBot(t,x) is not None: break
else: tiles[corner] = t
picture[0][0] = corner
for i, p in enumerate(picture[0]):
s = sides[getRight(tiles[p])]
s.remove(p)
if len(s) > 0:
tiles[s[0]] = matchRight(tiles[p], tiles[s[0]])
picture[0][i+1] = s[0]
for j in range(1, len(picture)):
z = sides[getBot(tiles[p])]
z.remove(p)
if len(z) > 0:
tiles[z[0]] = matchBot(tiles[p], tiles[z[0]])
picture[j][i] = z[0]
p = z[0]
return picture
def countSM(pic, sm):
count = 0
y, x = pic.shape
ys, xs = sm.shape
for i in range(0, y-ys):
for j in range(0, x-xs):
if np.all(pic[i:i+ys,j:j+xs] | sm):
count += 1
return count
if __name__ == '__main__':
tiles = parse_data(open(sys.argv[1]).read().split('\n\n'))
sides = get_sides(tiles)
corner = get_corners(tiles, sides)[0]
p = build_picture(tiles, sides, corner)
print(p[0][0] * p[0][-1] * p[-1][0] * p[-1][-1])
pic = np.concatenate(tuple(np.concatenate(tuple(tiles[x][1:-1,1:-1] for x in r), axis=1) for r in p), axis=0)
grayscale = np.vectorize(lambda x: np.int8(x == "#"))(pic)
print(grayscale)
snake = \
[ " # "
, "# ## ## ###"
, " # # # # # # "
]
sneasnake = np.array([[c for c in line] for line in snake])
sneasnake = np.vectorize(lambda x: np.int8(x != "#"))(sneasnake)
for p in comb(grayscale):
print(countSM(p, sneasnake))
print(np.count_nonzero(grayscale) - 26 * 15)
# plt.show()
# plt.imshow(grayscale)
# plt.savefig("test.png")

51
AoC2020/AoC21.py

@ -0,0 +1,51 @@
#!/usr/bin/env python3
import sys
def parse(line):
line = line.split('(')
line[0] = line[0].split(' ')[:-1]
line[1] = line[1][9:-2]
line[1] = line[1].split(', ')
return line
if __name__ == '__main__':
ingr = open(sys.argv[1]).readlines()
ingredients = [parse(i) for i in ingr]
allergenes = []
for i in ingredients:
for a in i[1]:
allergenes.append(a)
allergenes = set(allergenes)
dicta = {}
for i in ingredients:
for a in i[1]:
if a not in dicta:
dicta[a] = [x for x in i[0]]
else:
copy = [x for x in dicta[a]]
for w in copy:
if w not in i[0]:
dicta[a].remove(w)
count = 0
for i in ingredients:
for n in i[0]:
b = True
for v in dicta.values():
if n in v:
b = False
if b:
count += 1
print(count)
dicta = {k:v for k,v in sorted(dicta.items(),key = lambda i: i[0])}
for w in range(len(dicta)):
for a, i in dicta.items():
if len(i) == 1:
for b, j in dicta.items():
if b != a and i[0] in j:
j.remove(i[0])
for k, v in dicta.items():
dicta[k] = v[0]
print(','.join(dicta.values()))

58
AoC2020/AoC22.py

@ -0,0 +1,58 @@
#!/usr/bin/env python3
import sys
def step(deck1, deck2):
new1, new2 = [x for x in deck1[1:]], [y for y in deck2[1:]]
if deck1[0] > deck2[0]:
new1.append(deck1[0])
new1.append(deck2[0])
else:
new2.append(deck2[0])
new2.append(deck1[0])
return new1, new2
def game(deck1, deck2):
while len(deck1) > 0 and len(deck2) > 0:
deck1, deck2 = step(deck1, deck2)
if len(deck1) > 0: return "1", deck1
else: return "2", deck2
def recursive_game(deck1, deck2):
comb = []
while True:
if len(deck1) == 0: return 'player2', deck2
if len(deck2) == 0: return 'player1', deck1
new1, new2 = [x for x in deck1[1:]], [y for y in deck2[1:]]
if (deck1, deck2) in comb: return 'player1', deck1
comb.append((deck1, deck2))
if len(new1) >= deck1[0] and len(new2) >= deck2[0]:
if recursive_game(deck1[1:(deck1[0]+1)], deck2[1:(deck2[0]+1)])[0] == 'player1':
new1.append(deck1[0])
new1.append(deck2[0])
else:
new2.append(deck2[0])
new2.append(deck1[0])
deck1, deck2 = [x for x in new1], [y for y in new2]
else: deck1, deck2 = step(deck1, deck2)
def score(deck):
count = 0
for i, n in enumerate(deck):
count += ((len(deck)-i) * n)
return count
if __name__ == '__main__':
decks = open(sys.argv[1]).read()
deck1, deck2 = decks.split('\n\n')
deck1, deck2 = deck1.split('\n')[1:], deck2.split('\n')[1:-1]
deck1, deck2 = [int(i) for i in deck1], [int(j) for j in deck2]
rdeck1, rdeck2 = [x for x in deck1], [y for y in deck2]
winner, windeck = game(deck1, deck2)
print(winner, score(windeck))
winner, wdeck = recursive_game(rdeck1, rdeck2)
print(winner, score(wdeck))

46
AoC2020/AoC23.py

@ -0,0 +1,46 @@
#!/usr/bin/env python3
from blist import blist
def destination(c, out):
while True:
if c-1>0 and c-1 not in out:
return c-1, order.index(c-1)
else:
if c>1:
c = c-1
else:
c = highest+1
def move(order):
rem = order
a = rem.pop(1)
b = rem.pop(1)
c = rem.pop(1)
_, dest = destination(order[0], [a,b,c])
rem.insert(dest+1, a)
rem.insert(dest+2, b)
rem.insert(dest+3, c)
if __name__ == "__main__":
#test_order = [3,8,9,1,2,5,4,6,7]
order = blist([1,9,8,7,5,3,4,6,2])
for x in range(10,1000001):
order.append(x)
current_index = 0
lowest = min(order)
highest = 1000000
#highest = max(order)
for i in range(10000000):
print(i)
move(order)
current_index += 1
last = order.pop(0)
order.append(last)
order = order[order.index(1):] + order[:order.index(1)]
print(order)
print(order[1]*order[2])

49
AoC2020/AoC23B.py

@ -0,0 +1,49 @@
#!/usr/bin/env python3
import sys
def destination(v, l): return (v - 2) % l + 1
def move(cycle, current):
a = cycle[current]
b = cycle[a]
c = cycle[b]
dest = destination(current, len(cycle))
if dest in [a,b,c]: dest = destination(dest, len(cycle))
if dest in [a,b,c]: dest = destination(dest, len(cycle))
if dest in [a,b,c]: dest = destination(dest, len(cycle))
cycle[current] = cycle[c]
cycle[c] = cycle[dest]
cycle[dest] = a
def score(cycle):
cups = []
current = 1
for _ in cycle:
current = cycle[current]
cups.append(current)
return "".join(str(cup) for cup in cups[:-1])
def solve(cups, num_moves):
# Current Cup is first cup in list
current = cups[0]
# Cycle[cup_value] = next_cup_value in clockwise order
cycle = {}
for i, cup in enumerate(cups):
cycle[int(cup)] = cups[(i + 1) % len(cups)]
for _ in range(num_moves):
move(cycle, current)
current = cycle[current]
return cycle
if __name__ == '__main__':
cups = [int(i) for i in list(sys.argv[1])]
print(score(solve(cups, 100)))
million = 1000000
new_cups = cups + [x for x in range(10, million+1)]
cycle = solve(new_cups, 10*million)
a = cycle[1]
b = cycle[a]
print(a*b)

87
AoC2020/AoC24.py

@ -0,0 +1,87 @@
#!/usr/bin/env python3
import sys
def neighbors(x,y,z):
r = []
try: r.append(floor[x+1,y-1,z])
except KeyError: pass
try: r.append(floor[x-1,y+1,z])
except KeyError: pass
try: r.append(floor[x+1,y,z-1])
except KeyError: pass
try: r.append(floor[x-1,y,z+1])
except KeyError: pass
try: r.append(floor[x,y-1,z+1])
except KeyError: pass
try: r.append(floor[x,y+1,z-1])
except KeyError: pass
return r
def day(floor):
copy = {}
for (x,y,z) in floor:
copy[(x,y,z)] = floor[(x,y,z)]
c = sum([i%2 for i in neighbors(x,y,z)])
if floor[(x,y,z)] % 2 == 1 and (c == 0 or c > 2):
copy[(x,y,z)] += 1
if floor[(x,y,z)] % 2 == 0 and c == 2:
copy[(x,y,z)] += 1
return copy
if __name__ == '__main__':
lines = open(sys.argv[1]).readlines()
for i, line in enumerate(lines):
lines[i] = list(line[:-1])
for line in lines:
for j, b in enumerate(line):
if b == 'n' or b == 's':
line[j] = line[j] + line.pop(j+1)
floor = {}
for x in range(-120, 121):
for y in range(-120,121):
z = -(x+y)
floor[(x,y,z)] = 0
for line in lines:
x, y, z = 0, 0, 0
for d in line:
if d == 'e':
x += 1
y -= 1
if d == 'w':
x -= 1
y += 1
if d == 'ne':
x += 1
z -= 1
if d == 'nw':
y += 1
z -= 1
if d == 'se':
y -= 1
z += 1
if d == 'sw':
x -= 1
z += 1
if (x,y,z) in floor:
floor[(x,y,z)] += 1
else:
floor[(x,y,z)] = 1
count = 0
for a in floor.values():
if a%2 == 1:
count += 1
print(count)
for _ in range(100):
floor = day(floor)
count = 0
for a in floor.values():
if a%2 == 1:
count += 1
print(count)

36
AoC2020/AoC24DUMM.py

@ -0,0 +1,36 @@
#!/usr/bin/env python3
import sys
if __name__ == '__main__':
lines = open(sys.argv[1]).readlines()
for i, line in enumerate(lines):
lines[i] = list(line[:-1])
for line in lines:
for j, b in enumerate(line):
if b == 'n' or b == 's':
line[j] = line[j] + line.pop(j+1)
for a, line in enumerate(lines):
for i in range(len(line)):
for j in range(i+1, len(line)):
x, y = line[i], line[j]
if (x == 'e' and y == 'w') or (x == 'w' and y == 'e') or (x == 'se' and y == 'sw') or (x == 'sw' and y == 'se') or (x == 'ne' and y == 'nw') or (x == 'nw' and y == 'ne'):
line[j] = ''
line[i] = ''
line.sort()
lines[a] = ''.join(line)
dict = {}
for di in lines:
if di in dict:
dict[di] += 1
else:
dict[di] = 1
count = 0
for a in dict.values():
if a % 2 == 1:
count += 1
print(count)

32
AoC2020/AoC25.py

@ -0,0 +1,32 @@
#!/usr/bin/env python3
import sys
if __name__ == '__main__':
key1, key2 = open(sys.argv[1]).readlines()
print(key1, key2)
key1, key2 = int(key1), int(key2)
v = 1
ls1 = 0
while v != key1:
v = (v*7) % 20201227
ls1 += 1
print(ls1)
v = 1
ls2 = 0
while v != key2:
v = (v*7) % 20201227
ls2 += 1
print(ls2)
ek2 = 1
for _ in range(ls1):
ek2 = (ek2*key2) % 20201227
ek1 = 1
for _ in range(ls2):
ek1 = (ek1*key1) % 20201227
print(ek1, ek2)

586
AoC2020/input19

@ -0,0 +1,586 @@
91: 94 94
122: 117 24 | 33 67
6: 117 40 | 33 47
70: 63 33 | 3 117
36: 17 117 | 44 33
111: 33 91 | 117 109
31: 33 69 | 117 41
54: 88 33 | 72 117
52: 33 32 | 117 82
58: 33 43 | 117 122
29: 97 117 | 126 33
129: 51 33 | 7 117
43: 33 35 | 117 97
8: 42
87: 26 33 | 128 117
83: 132 117 | 5 33
57: 126 117
105: 33 2 | 117 64
16: 97 33 | 53 117
110: 33 108 | 117 40
127: 24 117 | 35 33
119: 84 117 | 131 33
135: 109 117 | 126 33
88: 24 33 | 46 117
19: 33 46
64: 117 67 | 33 108
67: 33 117 | 33 33
126: 117 117
12: 43 33 | 50 117
10: 40 33 | 109 117
30: 14 117 | 54 33
108: 33 33 | 117 117
35: 33 94 | 117 117
59: 117 61 | 33 107
93: 50 33 | 76 117
128: 33 40 | 117 53
86: 56 33 | 70 117
115: 33 66 | 117 23
24: 33 117 | 117 94
5: 117 21 | 33 12
79: 33 40 | 117 46
113: 33 30 | 117 75
65: 117 96 | 33 74
1: 91 33 | 24 117
42: 18 33 | 45 117
74: 33 92 | 117 15
56: 129 33 | 101 117
73: 117 35 | 33 85
4: 114 117 | 125 33
63: 68 117 | 111 33
78: 33 108 | 117 91
62: 53 117 | 24 33
98: 109 33 | 85 117
136: 57 33 | 130 117
17: 126 33 | 35 117
7: 108 117 | 53 33
92: 117 109 | 33 67
75: 89 117 | 137 33
104: 33 120 | 117 77
66: 33 37 | 117 103
72: 117 126 | 33 108
106: 117 39 | 33 100
27: 117 60 | 33 1
123: 117 24 | 33 40
82: 124 33 | 76 117
46: 33 33
55: 9 117 | 87 33
100: 40 33 | 35 117
96: 33 116 | 117 38
25: 118 117 | 65 33
89: 22 33 | 102 117
45: 25 117 | 59 33
61: 33 49 | 117 27
109: 94 33 | 33 117
99: 117 33 | 117 117
28: 94 108
40: 117 117 | 33 117
34: 117 46 | 33 53
33: "a"
130: 47 33 | 40 117
112: 104 117 | 80 33
118: 105 33 | 95 117
69: 117 13 | 33 86
50: 33 40 | 117 67
60: 47 33 | 126 117
101: 84 117 | 123 33
21: 6 33 | 44 117
47: 117 33
84: 33 97 | 117 46
85: 117 33 | 33 117
71: 117 24 | 33 53
80: 106 33 | 93 117
125: 117 99 | 33 109
14: 33 98 | 117 20
107: 136 33 | 48 117
41: 113 117 | 115 33
15: 117 53
9: 33 79 | 117 72
132: 36 33 | 58 117
18: 33 112 | 117 83
133: 33 97
117: "b"
68: 33 99 | 117 35
49: 110 33 | 62 117
20: 46 117 | 67 33
90: 97 117 | 67 33
134: 117 85 | 33 91
26: 47 33 | 47 117
95: 117 10 | 33 135
103: 121 33 | 73 117
124: 117 126 | 33 91
38: 108 117 | 24 33
53: 117 33 | 33 33
81: 117 53 | 33 91
44: 46 117 | 40 33
114: 33 53 | 117 91
37: 33 16 | 117 90
2: 97 33 | 91 117
97: 33 117
76: 40 33 | 108 117
13: 52 117 | 55 33
39: 35 94
137: 33 133 | 117 134
131: 53 33 | 35 117
22: 33 108 | 117 97
11: 42 31
116: 126 33 | 40 117
32: 78 33 | 81 117
121: 117 91 | 33 46
48: 19 117 | 28 33
102: 108 117 | 99 33
51: 117 67 | 33 46
94: 33 | 117
120: 34 33 | 127 117
23: 33 4 | 117 119
77: 117 62 | 33 71
3: 33 128 | 117 29
0: 8 11
abbbaaaaaabbbaabababaaab
bbbaaababbaabbaabbbabbaa
aababbaaabbbababbaaaaaabbbbababb
bababbbabaaabbbabbbaaaaa
abaaababaabbbbbabaaabaab
aabababbbbababbbbbbaabaa
aabbbaabbbaabbaabaaaabbbbbabbbbbaaabbabb
bbabababaabbbaabbaabaaab
baababaaabaaaaaaabbabababbaabbaaaaabbaabbaaaabaaabbaabaaababbbaaabbbaaaabaaabbaabaaabbbb
bbbbbababbbababaaaaabbba
bbaaabbaaaabbbbbbbabbbaa
abbaabbabbabaaabaaababab
bbbbaabbbaaaabbabaaaabbabaaaaaababbbbbbabbabbabbbbbbbbbb
aabaaababaaabbbaababbbaa
aabaaabbabbbaabbbbaaaaabbabbabba
aabbaaaaaaabbbbbaaabbaab
bbabbaabbaaaaaaabaababbb
bbaabaabaababbaaaaabbbaabbbbbaaaaabaaabababaababababaababbbbaaaaaaaabbba
ababbbaababbbbaaabaaabbbbbbabaababaabababbbbabbbbbbbaaba
aabbbaababaabaabbababbaaabbbaaaabbaabbabbbaaabaa
bbabaaabababbbbbaaaabaab
bababbaabbbbabaabaaaabbbabbbbbaababbbbbbaabaabaa
baaaabbabababbbbbbabbbbbaabbabaaabbabbabbbbbbbbb
aaababbaaababbbabaaaaaabaaabbaaabbabbbbbaababbbb
baabaaabababbbabaaabaaab
bababbbbaaabbabaaaabbabb
babaabaabbaaaaabaaabbbbabbbaabbb
ababaabababbbaaababaabbb
abbbababbabbbabbbabbbababaababba
abaabababbbbbbababababab
bbabbbbbbbbbbbabaabaaaab
baaabbbaaabbababbabbbbaa
aabbabbbaabbaabbaaaabbba
aabababbaabbabbaabaabbbb
bababbbaababaabaaabbabbb
abbbbabbaabbbbbabbbabaaaababbbbaaaabaababbbbaaaabbbbababbabbaaaaabababbbbaabbbbaabbbbbba
bbbbaaabaabbaabbbbaabaab
abababaaaaaaaabaaaaaabbaabbbabbbaabbbaabababbbbb
abbaaabbbbbabbbbaaabaabb
aaabbaaabababbbabbbbbbbaaabbbbbabbaabbbaaaabbbaabbbaabba
bbaabbaaaaabaaaabaaabbabbaabbbbabbaaabbbabaaaaaaaaabbaabbbaababa
aaaababbaabbbbbbbaabababbabbbbba
aaaaaabaabababbbbababaaabbbaabba
aaabbbaabaabbaabaaaabbbb
bababaaabbbbbbbabbbbaabababaaabbaababbbbabbaaaab
baaaaaaaabbbaababbbababbaabababbbbabbaabbbbbaaaa
aabbbbbbaababaaaaabbbaba
abaaaababbaabbbaaaaaaabbbaabababaabbabbbbaababbb
abaaaababbbbbaaaabaabbbb
baaabbbabaaabbabaabbaaab
aaabaaaabbaaaaabbabababa
aabbbaababbaababbaaaaaba
baababaaaabaabaaaaaaaaab
bbaaaaababaaababaaabbaab
bbaabbbaaabaaabaabbbbbaabbbaaabaaaaabababaaabaab
bbabababbaaaaaabbabaabababbbbbaa
babbaabbaabbbbbaaabbbaba
bbbababababaababaaaababa
aaabaaabaabbaababababbbaaaababaabababbabaaaabaabbbabaabb
aabbbbbbbbaababbbbaababa
bbabbbabbbababbbbbaaaaba
babbbabbaabbabbbababaaba
bbaaaaaababbaaaabbaaaaabbaabbabbabbbbbabbaaaaaaabbaabbbaabbbaaba
bbabbbbbbaaabbaabbbaabba
abaaabababaaaabaaaababbaabbababb
bbbbbaaababbbbbbaabbbabb
abaaaaaaaaabaababaaaabaa
aababbaabaaabaaaaaabbbaababbbaaaaabaaaaa
bababbbaabbbbababbaabaabababbaab
abbabbaaaabaaabbbbbaaaaa
bbbbabaabaaabaaabbbaabab
aaaababbaabbabababbaaaaa
bbbbbababbbbabbaababbaab
aabbabbaaabbaaaaababaaba
abbbaaabbbaabbbabaaaaaabbbbbabbaaaababaabababbaabaababbb
bbabbaaaaaabaaabaaabbaabbbbbbaaaabbaababaabaaaabaabbaaaababababaaababbabbabaaabb
aaaabbabbbbbabbabbbabbbbbbaababbabbbbaabaaabbbbbababbaab
aabbbaaabbaabbbabbbbbbababaabbab
bbababbbaabbaabbabaabbaa
bbbbabbbababbbaabaaaaabbbabbabbaaaabbbbbaaabaaaaababaabbababbaaabaaabaaa
abbaabbabbbaaababaaabbabbaabaaaa
aaaababbbbbabaaabaaabbbbbaabbbaabbaaaaabababaaabbaaaaaaa
bbbbbbabbbabaabbbabaaaaa
baaabbbaaaaaabbabbaaabbaabbbbaaaabaabbaa
abbabababbababaaaababbbababbbbaa
abbbaaaabbabababbaaabbabaabaaaaa
bbbbbababaaabbabbbbbbaba
baabbbbababbbbbbaaabaabaaaaabaaabbabbbbbabbbbaaaaaabaabb
baabbaabaabaaabbbaaabbbb
bbbaaabbbaaabbababaaabbb
aabbbbbaaaaaaabbbaabbbaaaababbbaaaaaabbb
bababaabaabbbaaabbbaabab
aaaaaabbabbbbabaabaabaaabbbbbbabbabaabbaabbbbbbbbaaabbbb
bbaabbabaaabaaaaabbbaababababbbbbbbaabababaabbbabaaaaaba
aababaabababbbaaaaaaaaaa
babbaabbbbbabbbababababbbabbbbbabbbbabbbbbaabbbbaaaabbbabaabbbabbabaabab
abaabaaabbaabaababaababb
abbbababaabbbbbbaabaabab
babbbababbabbbbbbaaabaaaabaabbabaabbbabb
bbaabbbaaaabbbaaababaabb
baaabaaaabaabaaaaaababaa
ababaaaabaabbbaaabbaaabaabababab
baaaabbababbbaabaaabbbbaabbabbaabbabaabbabbbbbbaaaaababaababbbabbabaaaaa
bbaaaaabbbabaaaaabaabaaaaaabaababaaabbbabbaababbaabaabbaabaaabbababbbbba
bbbabbabbbabbbaabaabaaaababaaabbabaaaabbbbbababb
bbaabbbabbaabbabbbaaabbbabbaaaaaabaaabbaabbaaaaa
abbbaabbbbbaaababbabbbaa
babaabababbbabbabbbaaabaaaababab
bbabaabbbbabaaaaababbaaabbbaaabbbabaabaabbbbababbbbabbabbaaabbbbbaababaa
abbbbbaaabaabaaabaaaaaabbabbbaabbabbbaabaabaabaabbabbaaa
bbbaaabaabaabababaabaabb
babaabaabaaabbaabbbbabbaaaaabbabaabaabab
aabbababbaabaabbababaabaabbbbbbbabbabbbaababbbbbabaaabababaabbabbbabaabbbaaaabaa
babbababbbaababbabbbbbba
abbbbabbabbabbbbbbaaaabbabbaaaaabbbbabbbabbbbababbbbabaaabaabbbb
abbbaabaabbbaaabbaaaabab
bbbbabaababbaabbaabbaabbbbbbbaabababaaab
abbbaababaaabaaaababbaab
abababbaababbbbbaaaabaaaaabbaaaabaaabaab
aaaaaabbabbbaaabbbbbbabbbbbbbabbababaabbbbaabaaa
abaababaabaaaaaaaaaaaabbabaaaabb
baabbaabaaaaababbaaabaaaaabaaabaababababbbbbabbb
baaabbabbbbbababbbbaaaabbabaabbbabaabbaabbaabababbabaabbabbbbaabbabaaaba
aaaabbabaaababbabbabaabbbbabaaabbbbbaaabaaababbaabbbbbbb
baabbbbabaaaabbabaaaaaabaabbaaaabaabababbaaababb
bababbaabbabaabbaaaaaaaa
abbbabbbabbbaaaaababaabb
abaaaabaabbaaabbbbababbbabbaabbaabaababbaaaaaaab
bbaaaaabbbbbbbbabbbaaabababaaabbbbabbbba
bbbbaabbaabbbbbbbaabbbab
bababbbbbbabaabbbababaaabbbbbaab
bbaaabbaabbbaaaaaabbbaba
aaaaabbabbbaaabbbbaabbbaababababbaaababb
aabaabbbaaaaaaabababbbabbabbaababaababbbaabaabbabaaababb
abbaaabbbabaababaaabbbaababaabba
aaabbbaaabababbbbaaababa
bababbbbaaababbbaaabaabb
abbabbbbbaabbbbabaaabaab
aaababbbabbaabaabaaaabaababababb
bbaabbbabbaababbbbbababababbbbba
bbbabaaaabbabbaaabbbbaaaababbabbbaababba
bababaabbabbbbbbbabbbbba
abaabbaaaabbabaaabababbaaaaabababaababbbbaabababaabbbababbbaabaaaabbbabbbbbbbbabaabaaaabababbabb
aaabbabbbabbbabbbbaaaaaaaabbbababbbbbabababaabbaaaabababbbbbabababbbbbbbbbabbabbbaabaaaa
baabbbbaaabbbaabbabaaaaa
aabbaaaaaababbaaaababbaaaabbaaaaaabaabaa
bbbbbbbabbbababaabbaaabbbaaaabaababbbbab
baaabaaabaaaaaabaaaababbaabbbabbbbbbbbaa
bbbbbabaabaabababbbbbbbb
baaaabbaabaabababaababbb
abbbaabbbaaabbaabababbbbaabaabaa
aabaabaaabaaaabaaabbabaaaaabaaaabababaab
babbbabbbaabbababbbbbabbabbabbab
abaaabaabbaabbabbbabaabbbaaaaaba
abababbbbbabaabbbababbbaaaababab
aabaaabbbbbbbbbaabaababb
babbabbbabaababbaaabababaabaabbababaabbb
bababaaabaaaabbabbabbbabaabbabbaabbbabbbaabababaaabaababaaaabaab
bbaabbbabbababaaaaabaaaaaaaaaaaa
abbbaabbabbbbaaababbabaa
bbabbaababbaabbaabababbbbaabbaaaaababbab
bbbabbbaabbbbababaaabbabbabaabba
baabaababbabbbbbbbbaababbaaababbbbabaaba
ababaabbaaaaaaabaaaaaabaabbbbaaabbabbaabbabbaabababbababbaababba
babbaabbabbbbbaabbaaabbababbbaabaabaaaab
ababbaaababbbaabbaaabaab
aaabbbaabbabbaabbbabaabbaabbabbbbababbbaaababbabaaabaaababaaaaab
baabbbbbbbbaaabbbbbbbbaa
aaabbaaaabbabbbbbbbbbabbbbbbbbaaabaabbaa
babbbbbbaaabbbbbbabbbaaa
baabaababbbbabbaaabaabaa
aabbbbbbbbabbbbbbbbbbbbb
aaaaabbababbbabaaabababa
aabbabababbbaabbababbaab
bbabbbaaaabbbabbbbabbbabaaaabbabababaaba
bbabbbbbbbbbbbabababbbab
abbbababaabbbaabbaababaa
abbabbbbbbaabaabbbbbbbbb
aababaabbabababababaaabaaaabaabbbabbababbaababaa
baaaabbaaabaaabbaabbabaabbabaaaababbbbabbaababaababbbbaa
bbaabbaaaaabbbaaaababbab
abbbabbbaabbabbbbaaaaaba
ababbaaababbababbaabbaaabbaaaabb
baabbbabbabaaabbabbbaaabbbbaaaaaababbbbbbababaabaaabababaaaaabbaababbbaabaababba
abaaaaaaabababbbbaababaa
baabbbaabbaababbababaabb
aabbbbababababaaabaaaabbabaabbaaabbabaaaaabbbbbaabaaaabbaaababbbbabbaaaa
abababbabbaabbaabbbbabab
bbaaaaabbaabbaabbbaabbabbabbbaaa
bbbabaaabbababbbaabbbaabaaaabbbb
babbaabbabababababbaaabbababbbaaabaaabbbaabaaaaa
abbbaaaabbaabbaababababa
baaaaaabbbaabaabbbbabbbbaaaaaabaabbbbaaabbbaaaab
bbbaabbababababbbbaaabab
aabbaaaabbabbaabaabbbaaaaaaaaabbbbaaaaaabaaaabababbbbbba
aababbbabaaaaaaaabaaaabb
baaaabbabbbbabaabbbabaab
baabbbaababbaabbbbaaaaaa
babbbababaaabaaaaaababab
abbabbbbabbaabbaabbbaaaaabbbbabababaaaaa
bbbabbbbbabbbbbbbbbaabaa
aabbbbbbbbbbaabbaabaaabaabaababb
abababbbbaaaabbaaaaabbaa
baabbaaabbbabbbbabbbbabb
bbbaaababaabbababaabaababbbbbbaa
aaababaabababaabbababbaaaabaaabbaabbaaaababbbbba
aaaaaababbabaabbbbabbaba
baaaaaabbbabbbababbababb
bababbbaaaabbbbaaabbaaaaabaaaabbbabababa
babaabaaabbbaaaababbbaababaaabaababbbaabbabaabbbbbaaaabb
abbbbaaabbabbaabbabbbababbababababbaaababbbabbaaaaaaaaab
abbabababaabbabbaabbbbaa
bbaabbbabababaabbabaaabaababaaababaaabbb
bbbabaaaabaaabbbaababaaaaaaaaaabaaabaaab
baabbaabaabaaabbbbabaaabbbaabbbbbaababbb
babbbbbbabaaababbbaabbabbbbbbbaa
bbabaaabbbbbbababbabbbaa
bbaaabbbbbabbbbbabbbabaa
abbbabbbabbababaabaababb
bbbbbbbabbabbaababbbbabb
baabbababbaaaaabbbbbbaaaaaababaaababbbbbbbabaaaababbaaaa
bbbabbbbababbbbbaabbbbbbabaabbbb
babbabbaabaabbabababaabbaababbab
aaabaaaabbabbbbbaaabbbbaabbabbaaababaaab
aaaabbabbbbaaabbaababaab
aaaabaaabaabbabaaababbab
abbabbaaaaababaaaaabbbbaabbbaabbaabbbaba
ababbabababbabbbbbbbaaabbabababbabaaabba
bbaababbabbbbabababaabba
abbaabaababaaabababaabaabbaaabbbababbbaabbaaabbababaaaaaabbabaababaabbaababbbbbbababbaaa
bbbbbaaaabaababaabbaaaba
aaaaabbababbbaabaabbbaaababbababaaababaaaaaaabbbbaaaabab
aabbaabbbbababababbabababbbaaaabaabaaaaa
babbaabbabbbaaabababbabb
abbababaabababbaaababbaaaaabaaaabaabbbbbaabbaaba
abbbbaaabbbaaabaaaaaaabababababa
abbbaababbbbbbbaabbbaabbaabbabbbbbaaaaaaaaaabbaaabbabbba
abbbaaabaaababaaabbbaaaaabbababaaaaabaaaabbababbbabababa
bababbaababbabbbabbbbaaababbabaaaabaabaa
abbbababaaaababbbbbaabab
bbaaabbbabbaaabbbabababb
bbbbaaaabaaaaabbbababaaabaabaabbbbbbbbab
aaaaaababaabbabbbaaabbbb
bbbbbababaaaaaaaaaabbaab
aabbbaababababbabaabbaba
bbbaaababbabaaabbababbbaababaaaaabbabaabababbabb
ababbbbababbbabbaaababaaaabaabab
bababaaabaabaabaabaabaaaaaababbabaabbaaabbbbbbbb
aabbabbabaaabbaabbbbaaba
aaaaaabbbaaabaaababbbaaa
aaababbbaabababbbabbaabbbabbaaabaaaaaaaa
aaaabbababbbababaabababbabbbaaaabababbbbaaabaababbbabbab
babaababababbbbbaaabbabb
bbbbaabbbbbbababaababbab
babbbbbbaababbaaaababbaabbbbabbaaabaaabbbabababaaaaaaaab
aaaaaabbbabaabaabaaabbababaaaabaabbbbabababbbaaa
aaabaabbaabbbababaabaaaaababbaabaabaaaaa
ababbabababbbbaaaababbab
aabaaabbbbaaaaabbababbab
aaabaabaaabababbaaabbbab
bbabaabbaabbbaaaababaaab
bbaabbabbababbaababbaabbabbaababbbbbbaabaabaaaaa
abaaababbbababaaabbbbbba
aaaabaaabbbbbbbaaabbbaabaabaaaaa
bbabbaabaabbbaaabaaabaaababbaaabababbbab
bbabbaababbbaababbaaabbbbbababba
baaabbbaaabababbabbbbbbb
bbababaabaaaabbabbaabbaaaaababbaabbbabbababbbbbaabbbbbbb
aaaababbbbbabababaaaabbbbbbbaaba
aaababaaaabaaabababaababbabbababbbabaabbaaabbabbbabababbbbaaabaa
abababaaabababbbbbbbabbabbbaabbabaaabbbb
aabaaababaaaabbabbaaaaabbabaaaaa
babbbbbbbbababbbbbbbaaba
bababbabbababbbababbbbaa
bbaabaababbabbaabbaabaababbabababbaabbbb
aaabaabaaabaaababbbabbab
bbaabbabbababbabbbbbbbbaaabbbbab
bbbbbbbaabababbabbbbbaaaaaabbaaababbbbab
abbabbaabaabaabaabbaaaab
aabbbaaaabaaabababbbaabbbaaabaab
abaaaabaabbbbbaaababbbbabaabbbabaaababaa
ababaaaabaaaabbbaaabbaaabbabaaababaaabaabaabaabababababaaaaabbaa
aaababbabaabbbaabbaabaababbabbbbbbbbabaabbabbbba
bababbabaaabbbbbaababbaaaabbabbaaabaaaab
babbabbbababbbbbbbbbbaab
bbbaaababbaabbabaaabbbaabbbbabbaabbbaabbbbbbbbbbaaaabbaababbaaaa
aaaaaabbbababbbaababaaab
bababbbaabbbbbaabababaaaaaaaaababababababbbbbaabbbaabaaa
babbbaababbaaabbaabbbaaabbbaaabbaaababaababbbbaa
bbabaaabaaaaaabbaabaaaab
baaaaaabaaabbbbbbbaaaaabaaababbbaaaaababaabbaaab
aaabbaaaabbbaaababbabbab
aabbbaabbaabbabbbabbbaaa
baabaaaabbbaaaabbbabbaabbaabbaabbabbaabaaababbab
abaaaaabaaabbabbabababbbababbaaabbbaabbbbaaaaabaaaaabababbbbaaabaabbbbbb
bbabaaabbabbbabbbbaabbabaaaabaaabbaabbbbbaaababb
abaabaaaabababbbbababaaaabbbaaaabbbabaaaaaaaabaa
aabbabbabbababbbaaabaabb
bbababaabaaabaaaabbbaaaabbbabbaaabbbbabb
bbbabbabbabbbbbaaababaabbbbabbabbbababbbabbbababbababbabbbabbbbbababbaaababbbbaa
bbaababaabbaaaabbaaababb
abbababaaaabbbaaaaaababa
abbbaaabaaababaabaabbaababaaaabaababbabbbabbaaab
ababbababaabbbaabbbaaababaababbbbbaaaaba
bababbbbaaaabbababbabbaabababaabaaaabbbababababbaaaaaaab
bbbbabaaaabbaabbbbbabbbaaaababaabbbbbbaaaabaabbabbabbabb
aaaaaababaabababbbbbaabbbabbabbbbbabbabbbbbbbbaa
aaaabbabaaaabaaaabbbbbbb
aaaaaabbbbaaabbbbabbabbbaaaabbba
bbabaabbababbaaaabbbaaababababaabbbbbbbbaaaabbbaabbabaaa
abbbbaabaababbbababbbbba
aabbbaaabbaabaabbbaabaaa
baaabbabaabaaabbaabbbaabababbbab
abaabababbbbabaabbaabaabbaaababa
aaabbbbbaabababbbbababba
bababbabababaaaaabbbaabbbbabbabbabababab
bbaabbabaaaaabababaaabba
baabbaababbabbaaababbbbbbabbbabbabaabbaa
ababbbbaaababbbaababbaaaaabbababbbbbbbbbbbbbababbabaaaaa
bbabaabbbaaabbabbbbaabba
bababbbbbbbabbbbaabbbaababbababaabbbbbaaaaabaaab
abaabaaabbabababbbaaaaaa
bbbaabbbbbbaabbaabbabbab
bbabababbbbbbbabaabbbbaa
baaabbbababbaabbabbbbbaaaaaaaaabaaabaaab
abaaababbbbbbaaaabaaabbb
aaabbbbabaabbabbbbabbbbbabbabaaabaaababb
babaababababbbbbababaaab
abaababaababbababbbbabbb
bbbaaabbbababbaaababaabb
aaaababbaabbbaaaaabababbabbbbabb
abababbbbbbabbbabaabaabb
abaaaaaabaaabbaabbaabaabaaabbaababbababb
aaaaaaababbaababbaababbbbaabaaabbbababab
aaabbbaaaababbbabaaaaaba
babbbbbbabaaaaaabaabaaab
aaabaabaaabaaabbbbaabbabbaaabbbb
baaabbaaaaabaabaaaabaababbbabbbbbabaaaab
aaababbabaabaabababaaabaaababbbbbbaabbbb
abaaaaaabababbabbbabaabbbbbabaab
bbbbbabababbabbbbbaaabab
bbaaaaabbaabbaaabababbaababababb
aabbbbbbbaaabbabababaaba
babbaabbbbabaaaabbbbbbbababbbbaabbaabbbb
abbbaaabbaaaabbaaababbbaaabaaabaabaaabababaaabbabbbabbab
bbaabbabbbbababaaaabbaaaaaabbabb
aaabbbbabaaabaaababbbbba
aaabaaaaaabbabbabbabababbabbbaabbbabbbabaabbbbbabbbbaababbbabaab
aabbabaababbbabbbbbbabab
aabbaabaabbabaabaaabbabbbbbaaaabbabbbbaaabaaabaabbbabbbbaabbababababbabaabaabbaaaaabbbba
babbababbabaaabaababbbbabbabaaba
abaabbbaabaaaaabbabbbbbabaaababbbbbaaaaa
ababbbbaabbbbbaaaabbaaba
aabbabbabbbbabbabbabbaba
babbbaababbbbaabbaaabbbabbbaabbb
bbabaaaabbaabbbaabbaaaaa
bbbbbabbbbababaabbbbabbaaaababbbaaabaaba
aaaaaabbabbbaaaabbababbbaaaabbba
bbbbaabbbbaabbbaaaabbbaaabaaaabbaaaabbba
baabababbbbbbaaabaaabbbb
aaaaaabbbaaabbbaaaababab
baaaaaaabababaaabbaabbbb
bbaababbaaabaabaabbabbaaaabbbbbbaaabbabb
aaaaabbaaaaababbbaabbbbbabbaaabbabbbabbbabaabbba
ababbaaaaabaaabaaabbaabbabbababaabbabbbaaaabaaabbabbbaaa
abaabaaaabbbbababbbaabbb
baaabbaaababaaaaaababbaaaaaabbaa
aaabbaaabbaabbaaaababbbb
bbbbbabaaabbbaabaaabbbaabababaaaaaaabbbaabbabbba
baaaabbbabaababaaabaaabaabbbabbabbbbbbbb
aaaaabbabaabbbbbaabaaababbbbbbabbaaaaaaaaababaaa
abaaabaabbabababaaabbaba
aaabaababbaababbbbbababb
ababbaaababbbabbaaabbbabbaabaaabbabaabbaaaabaaab
babaabaaaabbababbbbabaab
abaaaaaaabbabbbbbbabbabb
baabbaaaaaaabaabbaababaabbbbbbbbbabbaaab
baaabaaaabaababababbbbabbaaaabaa
aaababbaaabbaaaababababb
bababbabaaaababbbababaaabbbbaaaa
bbaabaabbaaaabbabaabbbab
abbbabbaaaaaabbaabaabbba
aabaaababababbbaaabaaabaaabbaaabbaaabbbb
bbabababaababbbaabbbababaaabaababbbbbbaa
aaaaaabaaaabaaaabbbaaabaabbbbbbb
bbaaabbbabbbaabbbabbbabaaabaabbabaababba
baaabbaabbaaabbabaaaabbaaababbbaaababaab
abaabaababbbbababbbbbaab
babababaaaabaabaaaaaaabaabbababbaabbabbaaaaabaab
bababbbbbbaaabbaaaababbabbbbaaba
abbabbbbabbbabbabaabaabaabaaabaabbbbaababbaaabab
babbbabbbbbbbbbaabbabaaa
aaaabaaabaababababbbaaabbbabbbabbbbabbbbbbbabbaa
bbabaabbaabbabaaaaaababa
bababbaaaababbbaabaabbaa
babbabababbaabbaabaabbaa
baaaabbbbbabaabbbaabaaab
abbbaababaaaaaabbbbbbababbbbaaba
bbbbabbaabaabaabbabbbbbb
babbaaaaaababbbbaaaaaaababaabbab
baaaaaaaaabbababaaababaaabaaababbbbbbabaabbbbbaaaabbbbaaabaababbabbaabbbabbbbabb
baabbbbbbaabbabbaabbaaab
abbbbabaaaabbbbbbaabbbbbaabbabbbbbabaabbbbabaabbaaabaaab
aaababbbabbbabbabbbbbbbaaaabbbbaaaabaaab
aaabaaaaaaababaaaabbaabbababbabb
aaaaaabbababbababbbaabab
bbbbbaaaabbaaabbbbababaaaabababbabaaabba
babbbabaaaaaaabaaababbabbabbbbbaabbabababbaaaabb
babaaababbaaabbaaaabbbaabaaabbbbababaabb
abbbaababbbbabbababbababaaaabbaa
baabaaabbbaaaabbbbabaaba
bbbabbbbabbabbaaaabaabbbaababbaabbabbbbbaaaabbbb
bbaaabbbbababbaaabababaaabaaabaababbbabaaaaaaabbbbbaababaabababa
bbbaaaabbaaaaababbaaabaaaaabbaab
baabbaabaaabaaaabaaabaaabaabbabbaaaaaaabbaababaa
baaabaaaababbaaabbbbabbaaabaaabbaaabbbabbbbaaaaa
aaabbaaaaabababbbaaaaaba
aaaaaabababbbababbbbabbabababaabbbbababbbaabbbab
babbaabbbababbaabbbaabaa
bababbbbaababaabbabbbbbaabababaabbaaaaababbaabbaaaaaabbbabbabbabbababbaaaaaaaaabababaaab
abbababbaabbbbaaabaaababbbaabbabbbbbabba
baabbaaabaabbbbaaaabbbbaabaababbbbabbbaa
bbbabbbaabbbbaabbbbbbaab
aabbbaaaabababbabaabbabbbabaabaaabbabbba
aaabaababbaababbaabbaabbababaaaabbababbaaaabbbab
abababbababbabbbbabababb
bbaaabbbaaaaababbabbabba
baaaabbaaaabaabaaaababbbaaaabbba
bbbaabbbaaaabaaaaabbbbbbbbaaaaabbbababbbaabaaabaaaaabbaaaaaaaaababaaababbaabaabb
bbaabaabbaabbaaabbaaaaba
bbbbbbbaabaaaaaaabbabababbababbbabbbbaaababbbbabaaabaabb
aababababbbaaaaabbaabaaaabbbbbbb
baabaabbaababaabaaaaabbbbbbababbbaaaaaab
abbbabbbaaaaaababbabbaba
baabbabbbbbaaabaaaabbaaaaabbaabbaababaab
baabbaababbbaababbbbbabbabaaabbbababbaab
baabaabbbbaabaaabaaababb
abaaababaabbabbbaabbbbab
aaabbbbabbbbaaabaabbaaab
aababbaababbabbbbbabbbbbbaababba
bababaaaabbbabbaaababbbaaabaabbbbabbbbaa
aabbbaabaaabaabaabaabaabbababaaabaabbababaaabaaababaabba
baaaabaaaaabababaababbbaabbbaaabbbbbbbabbbbaaaababbbabaababaaaababbbbaaabaabbabb
abaaaabaabbabbaabbabbbbbbbaabbabaaabbaab
bbbbbbabaaabbbaabaaaaaba
babbbabbaabbaaaabbaaaaabbbaabbbbabaabbba
abbbaabbababbaaabaaaaaba

586
AoC2020/input19m

@ -0,0 +1,586 @@
91: 94 94
122: 117 24 | 33 67
6: 117 40 | 33 47
70: 63 33 | 3 117
36: 17 117 | 44 33
111: 33 91 | 117 109
31: 33 69 | 117 41
54: 88 33 | 72 117
52: 33 32 | 117 82
58: 33 43 | 117 122
29: 97 117 | 126 33
129: 51 33 | 7 117
43: 33 35 | 117 97
8: 42
87: 26 33 | 128 117
83: 132 117 | 5 33
57: 126 117
105: 33 2 | 117 64
16: 97 33 | 53 117
110: 33 108 | 117 40
127: 24 117 | 35 33
119: 84 117 | 131 33
135: 109 117 | 126 33
88: 24 33 | 46 117
19: 33 46
64: 117 67 | 33 108
67: 33 117 | 33 33
126: 117 117
12: 43 33 | 50 117
10: 40 33 | 109 117
30: 14 117 | 54 33
108: 33 33 | 117 117
35: 33 94 | 117 117
59: 117 61 | 33 107
93: 50 33 | 76 117
128: 33 40 | 117 53
86: 56 33 | 70 117
115: 33 66 | 117 23
24: 33 117 | 117 94
5: 117 21 | 33 12
79: 33 40 | 117 46
113: 33 30 | 117 75
65: 117 96 | 33 74
1: 91 33 | 24 117
42: 18 33 | 45 117
74: 33 92 | 117 15
56: 129 33 | 101 117
73: 117 35 | 33 85
4: 114 117 | 125 33
63: 68 117 | 111 33
78: 33 108 | 117 91
62: 53 117 | 24 33
98: 109 33 | 85 117
136: 57 33 | 130 117
17: 126 33 | 35 117
7: 108 117 | 53 33
92: 117 109 | 33 67
75: 89 117 | 137 33
104: 33 120 | 117 77
66: 33 37 | 117 103
72: 117 126 | 33 108
106: 117 39 | 33 100
27: 117 60 | 33 1
123: 117 24 | 33 40
82: 124 33 | 76 117
46: 33 33
55: 9 117 | 87 33
100: 40 33 | 35 117
96: 33 116 | 117 38
25: 118 117 | 65 33
89: 22 33 | 102 117
45: 25 117 | 59 33
61: 33 49 | 117 27
109: 94 33 | 33 117
99: 117 33 | 117 117
28: 94 108
40: 117 117 | 33 117
34: 117 46 | 33 53
33: "a"
130: 47 33 | 40 117
112: 104 117 | 80 33
118: 105 33 | 95 117
69: 117 13 | 33 86
50: 33 40 | 117 67
60: 47 33 | 126 117
101: 84 117 | 123 33
21: 6 33 | 44 117
47: 117 33
84: 33 97 | 117 46
85: 117 33 | 33 117
71: 117 24 | 33 53
80: 106 33 | 93 117
125: 117 99 | 33 109
14: 33 98 | 117 20
107: 136 33 | 48 117
41: 113 117 | 115 33
15: 117 53
9: 33 79 | 117 72
132: 36 33 | 58 117
18: 33 112 | 117 83
133: 33 97
117: "b"
68: 33 99 | 117 35
49: 110 33 | 62 117
20: 46 117 | 67 33
90: 97 117 | 67 33
134: 117 85 | 33 91
26: 47 33 | 47 117
95: 117 10 | 33 135
103: 121 33 | 73 117
124: 117 126 | 33 91
38: 108 117 | 24 33
53: 117 33 | 33 33
81: 117 53 | 33 91
44: 46 117 | 40 33
114: 33 53 | 117 91
37: 33 16 | 117 90
2: 97 33 | 91 117
97: 33 117
76: 40 33 | 108 117
13: 52 117 | 55 33
39: 35 94
137: 33 133 | 117 134
131: 53 33 | 35 117
22: 33 108 | 117 97
11: 42 31
116: 126 33 | 40 117
32: 78 33 | 81 117
121: 117 91 | 33 46
48: 19 117 | 28 33
102: 108 117 | 99 33
51: 117 67 | 33 46
94: 33 | 117
120: 34 33 | 127 117
23: 33 4 | 117 119
77: 117 62 | 33 71
3: 33 128 | 117 29
0: 8 11
abbbaaaaaabbbaabababaaab
bbbaaababbaabbaabbbabbaa
aababbaaabbbababbaaaaaabbbbababb
bababbbabaaabbbabbbaaaaa
abaaababaabbbbbabaaabaab
aabababbbbababbbbbbaabaa
aabbbaabbbaabbaabaaaabbbbbabbbbbaaabbabb
bbabababaabbbaabbaabaaab
baababaaabaaaaaaabbabababbaabbaaaaabbaabbaaaabaaabbaabaaababbbaaabbbaaaabaaabbaabaaabbbb
bbbbbababbbababaaaaabbba
bbaaabbaaaabbbbbbbabbbaa
abbaabbabbabaaabaaababab
bbbbaabbbaaaabbabaaaabbabaaaaaababbbbbbabbabbabbbbbbbbbb
aabaaababaaabbbaababbbaa
aabaaabbabbbaabbbbaaaaabbabbabba
aabbaaaaaaabbbbbaaabbaab
bbabbaabbaaaaaaabaababbb
bbaabaabaababbaaaaabbbaabbbbbaaaaabaaabababaababababaababbbbaaaaaaaabbba
ababbbaababbbbaaabaaabbbbbbabaababaabababbbbabbbbbbbaaba
aabbbaababaabaabbababbaaabbbaaaabbaabbabbbaaabaa
bbabaaabababbbbbaaaabaab
bababbaabbbbabaabaaaabbbabbbbbaababbbbbbaabaabaa
baaaabbabababbbbbbabbbbbaabbabaaabbabbabbbbbbbbb
aaababbaaababbbabaaaaaabaaabbaaabbabbbbbaababbbb
baabaaabababbbabaaabaaab
bababbbbaaabbabaaaabbabb
babaabaabbaaaaabaaabbbbabbbaabbb
ababaabababbbaaababaabbb
abbbababbabbbabbbabbbababaababba
abaabababbbbbbababababab
bbabbbbbbbbbbbabaabaaaab
baaabbbaaabbababbabbbbaa
aabbabbbaabbaabbaaaabbba
aabababbaabbabbaabaabbbb
bababbbaababaabaaabbabbb
abbbbabbaabbbbbabbbabaaaababbbbaaaabaababbbbaaaabbbbababbabbaaaaabababbbbaabbbbaabbbbbba
bbbbaaabaabbaabbbbaabaab
abababaaaaaaaabaaaaaabbaabbbabbbaabbbaabababbbbb
abbaaabbbbbabbbbaaabaabb
aaabbaaabababbbabbbbbbbaaabbbbbabbaabbbaaaabbbaabbbaabba
bbaabbaaaaabaaaabaaabbabbaabbbbabbaaabbbabaaaaaaaaabbaabbbaababa
aaaababbaabbbbbbbaabababbabbbbba
aaaaaabaabababbbbababaaabbbaabba
aaabbbaabaabbaabaaaabbbb
bababaaabbbbbbbabbbbaabababaaabbaababbbbabbaaaab
baaaaaaaabbbaababbbababbaabababbbbabbaabbbbbaaaa
aabbbbbbaababaaaaabbbaba
abaaaababbaabbbaaaaaaabbbaabababaabbabbbbaababbb
abaaaababbbbbaaaabaabbbb
baaabbbabaaabbabaabbaaab
aaabaaaabbaaaaabbabababa
aabbbaababbaababbaaaaaba
baababaaaabaabaaaaaaaaab
bbaaaaababaaababaaabbaab
bbaabbbaaabaaabaabbbbbaabbbaaabaaaaabababaaabaab
bbabababbaaaaaabbabaabababbbbbaa
babbaabbaabbbbbaaabbbaba
bbbababababaababaaaababa
aaabaaabaabbaababababbbaaaababaabababbabaaaabaabbbabaabb
aabbbbbbbbaababbbbaababa
bbabbbabbbababbbbbaaaaba
babbbabbaabbabbbababaaba
bbaaaaaababbaaaabbaaaaabbaabbabbabbbbbabbaaaaaaabbaabbbaabbbaaba
bbabbbbbbaaabbaabbbaabba
abaaabababaaaabaaaababbaabbababb
bbbbbaaababbbbbbaabbbabb
abaaaaaaaaabaababaaaabaa
aababbaabaaabaaaaaabbbaababbbaaaaabaaaaa
bababbbaabbbbababbaabaabababbaab
abbabbaaaabaaabbbbbaaaaa
bbbbabaabaaabaaabbbaabab
aaaababbaabbabababbaaaaa
bbbbbababbbbabbaababbaab
aabbabbaaabbaaaaababaaba
abbbaaabbbaabbbabaaaaaabbbbbabbaaaababaabababbaabaababbb
bbabbaaaaaabaaabaaabbaabbbbbbaaaabbaababaabaaaabaabbaaaababababaaababbabbabaaabb
aaaabbabbbbbabbabbbabbbbbbaababbabbbbaabaaabbbbbababbaab
aabbbaaabbaabbbabbbbbbababaabbab
bbababbbaabbaabbabaabbaa
bbbbabbbababbbaabaaaaabbbabbabbaaaabbbbbaaabaaaaababaabbababbaaabaaabaaa
abbaabbabbbaaababaaabbabbaabaaaa
aaaababbbbbabaaabaaabbbbbaabbbaabbaaaaabababaaabbaaaaaaa
bbbbbbabbbabaabbbabaaaaa
baaabbbaaaaaabbabbaaabbaabbbbaaaabaabbaa
abbabababbababaaaababbbababbbbaa
abbbaaaabbabababbaaabbabaabaaaaa
bbbbbababaaabbabbbbbbaba
baabbbbababbbbbbaaabaabaaaaabaaabbabbbbbabbbbaaaaaabaabb
baabbaabaabaaabbbaaabbbb
bbbaaabbbaaabbababaaabbb
aabbbbbaaaaaaabbbaabbbaaaababbbaaaaaabbb
bababaabaabbbaaabbbaabab
aaaaaabbabbbbabaabaabaaabbbbbbabbabaabbaabbbbbbbbaaabbbb
bbaabbabaaabaaaaabbbaababababbbbbbbaabababaabbbabaaaaaba
aababaabababbbaaaaaaaaaa
babbaabbbbbabbbababababbbabbbbbabbbbabbbbbaabbbbaaaabbbabaabbbabbabaabab
abaabaaabbaabaababaababb
abbbababaabbbbbbaabaabab
babbbababbabbbbbbaaabaaaabaabbabaabbbabb
bbaabbbaaaabbbaaababaabb
baaabaaaabaabaaaaaababaa
ababaaaabaabbbaaabbaaabaabababab
baaaabbababbbaabaaabbbbaabbabbaabbabaabbabbbbbbaaaaababaababbbabbabaaaaa
bbaaaaabbbabaaaaabaabaaaaaabaababaaabbbabbaababbaabaabbaabaaabbababbbbba
bbbabbabbbabbbaabaabaaaababaaabbabaaaabbbbbababb
bbaabbbabbaabbabbbaaabbbabbaaaaaabaaabbaabbaaaaa
abbbaabbbbbaaababbabbbaa
babaabababbbabbabbbaaabaaaababab
bbabaabbbbabaaaaababbaaabbbaaabbbabaabaabbbbababbbbabbabbaaabbbbbaababaa
abbbbbaaabaabaaabaaaaaabbabbbaabbabbbaabaabaabaabbabbaaa
bbbaaabaabaabababaabaabb
babaabaabaaabbaabbbbabbaaaaabbabaabaabab
aabbababbaabaabbababaabaabbbbbbbabbabbbaababbbbbabaaabababaabbabbbabaabbbaaaabaa
babbababbbaababbabbbbbba
abbbbabbabbabbbbbbaaaabbabbaaaaabbbbabbbabbbbababbbbabaaabaabbbb
abbbaabaabbbaaabbaaaabab
bbbbabaababbaabbaabbaabbbbbbbaabababaaab
abbbaababaaabaaaababbaab
abababbaababbbbbaaaabaaaaabbaaaabaaabaab
aaaaaabbabbbaaabbbbbbabbbbbbbabbababaabbbbaabaaa
abaababaabaaaaaaaaaaaabbabaaaabb
baabbaabaaaaababbaaabaaaaabaaabaababababbbbbabbb
baaabbabbbbbababbbbaaaabbabaabbbabaabbaabbaabababbabaabbabbbbaabbabaaaba
aaaabbabaaababbabbabaabbbbabaaabbbbbaaabaaababbaabbbbbbb
baabbbbabaaaabbabaaaaaabaabbaaaabaabababbaaababb
bababbaabbabaabbaaaaaaaa
abbbabbbabbbaaaaababaabb
abaaaabaabbaaabbbbababbbabbaabbaabaababbaaaaaaab
bbaaaaabbbbbbbbabbbaaabababaaabbbbabbbba
bbbbaabbaabbbbbbbaabbbab
bababbbbbbabaabbbababaaabbbbbaab
bbaaabbaabbbaaaaaabbbaba
aaaaabbabbbaaabbbbaabbbaababababbaaababb
aabaabbbaaaaaaabababbbabbabbaababaababbbaabaabbabaaababb
abbaaabbbabaababaaabbbaababaabba
aaabbbaaabababbbbaaababa
bababbbbaaababbbaaabaabb
abbabbbbbaabbbbabaaabaab
aaababbbabbaabaabaaaabaababababb
bbaabbbabbaababbbbbababababbbbba
bbbabaaaabbabbaaabbbbaaaababbabbbaababba
bababaabbabbbbbbbabbbbba
abaabbaaaabbabaaabababbaaaaabababaababbbbaabababaabbbababbbaabaaaabbbabbbbbbbbabaabaaaabababbabb
aaabbabbbabbbabbbbaaaaaaaabbbababbbbbabababaabbaaaabababbbbbabababbbbbbbbbabbabbbaabaaaa
baabbbbaaabbbaabbabaaaaa
aabbaaaaaababbaaaababbaaaabbaaaaaabaabaa
bbbbbbbabbbababaabbaaabbbaaaabaababbbbab
baaabaaabaaaaaabaaaababbaabbbabbbbbbbbaa
bbbbbabaabaabababbbbbbbb
baaaabbaabaabababaababbb
abbbaabbbaaabbaabababbbbaabaabaa
aabaabaaabaaaabaaabbabaaaaabaaaabababaab
babbbabbbaabbababbbbbabbabbabbab
abaaabaabbaabbabbbabaabbbaaaaaba
abababbbbbabaabbbababbbaaaababab
aabaaabbbbbbbbbaabaababb
babbabbbabaababbaaabababaabaabbababaabbb
bababaaabaaaabbabbabbbabaabbabbaabbbabbbaabababaaabaababaaaabaab
bbaabbbabbababaaaaabaaaaaaaaaaaa
abbbaabbabbbbaaababbabaa
bbabbaababbaabbaabababbbbaabbaaaaababbab
bbbabbbaabbbbababaaabbabbabaabba
baabaababbabbbbbbbbaababbaaababbbbabaaba
ababaabbaaaaaaabaaaaaabaabbbbaaabbabbaabbabbaabababbababbaababba
babbaabbabbbbbaabbaaabbababbbaabaabaaaab
ababbaaababbbaabbaaabaab
aaabbbaabbabbaabbbabaabbaabbabbbbababbbaaababbabaaabaaababaaaaab
baabbbbbbbbaaabbbbbbbbaa
aaabbaaaabbabbbbbbbbbabbbbbbbbaaabaabbaa
babbbbbbaaabbbbbbabbbaaa
baabaababbbbabbaaabaabaa
aabbbbbbbbabbbbbbbbbbbbb
aaaaabbababbbabaaabababa
aabbabababbbaabbababbaab
bbabbbaaaabbbabbbbabbbabaaaabbabababaaba
bbabbbbbbbbbbbabababbbab
abbbababaabbbaabbaababaa
abbabbbbbbaabaabbbbbbbbb
aababaabbabababababaaabaaaabaabbbabbababbaababaa
baaaabbaaabaaabbaabbabaabbabaaaababbbbabbaababaababbbbaa
bbaabbaaaaabbbaaaababbab
abbbabbbaabbabbbbaaaaaba
ababbaaababbababbaabbaaabbaaaabb
baabbbabbabaaabbabbbaaabbbbaaaaaababbbbbbababaabaaabababaaaaabbaababbbaabaababba
abaaaaaaabababbbbaababaa
baabbbaabbaababbababaabb
aabbbbababababaaabaaaabbabaabbaaabbabaaaaabbbbbaabaaaabbaaababbbbabbaaaa
abababbabbaabbaabbbbabab
bbaaaaabbaabbaabbbaabbabbabbbaaa
bbbabaaabbababbbaabbbaabaaaabbbb
babbaabbabababababbaaabbababbbaaabaaabbbaabaaaaa
abbbaaaabbaabbaababababa
baaaaaabbbaabaabbbbabbbbaaaaaabaabbbbaaabbbaaaab
bbbaabbababababbbbaaabab
aabbaaaabbabbaabaabbbaaaaaaaaabbbbaaaaaabaaaabababbbbbba
aababbbabaaaaaaaabaaaabb
baaaabbabbbbabaabbbabaab
baabbbaababbaabbbbaaaaaa
babbbababaaabaaaaaababab
abbabbbbabbaabbaabbbaaaaabbbbabababaaaaa
bbbabbbbbabbbbbbbbbaabaa
aabbbbbbbbbbaabbaabaaabaabaababb
abababbbbaaaabbaaaaabbaa
baabbaaabbbabbbbabbbbabb
bbbaaababaabbababaabaababbbbbbaa
aaababaabababaabbababbaaaabaaabbaabbaaaababbbbba
aaaaaababbabaabbbbabbaba
baaaaaabbbabbbababbababb
bababbbaaaabbbbaaabbaaaaabaaaabbbabababa
babaabaaabbbaaaababbbaababaaabaababbbaabbabaabbbbbaaaabb
abbbbaaabbabbaabbabbbababbababababbaaababbbabbaaaaaaaaab
abbabababaabbabbaabbbbaa
bbaabbbabababaabbabaaabaababaaababaaabbb
bbbabaaaabaaabbbaababaaaaaaaaaabaaabaaab
baabbaabaabaaabbbbabaaabbbaabbbbbaababbb
babbbbbbabaaababbbaabbabbbbbbbaa
bbabaaabbbbbbababbabbbaa
bbaaabbbbbabbbbbabbbabaa
abbbabbbabbababaabaababb
bbbbbbbabbabbaababbbbabb
baabbababbaaaaabbbbbbaaaaaababaaababbbbbbbabaaaababbaaaa
bbbabbbbababbbbbaabbbbbbabaabbbb
babbabbaabaabbabababaabbaababbab
aaabaaaabbabbbbbaaabbbbaabbabbaaababaaab
aaaabbabbbbaaabbaababaab
aaaabaaabaabbabaaababbab
abbabbaaaaababaaaaabbbbaabbbaabbaabbbaba
ababbabababbabbbbbbbaaabbabababbabaaabba
bbaababbabbbbabababaabba
abbaabaababaaabababaabaabbaaabbbababbbaabbaaabbababaaaaaabbabaababaabbaababbbbbbababbaaa
bbbbbaaaabaababaabbaaaba
aaaaabbababbbaabaabbbaaababbababaaababaaaaaaabbbbaaaabab
aabbaabbbbababababbabababbbaaaabaabaaaaa
babbaabbabbbaaabababbabb
abbababaabababbaaababbaaaaabaaaabaabbbbbaabbaaba
abbbbaaabbbaaabaaaaaaabababababa
abbbaababbbbbbbaabbbaabbaabbabbbbbaaaaaaaaaabbaaabbabbba
abbbaaabaaababaaabbbaaaaabbababaaaaabaaaabbababbbabababa
bababbaababbabbbabbbbaaababbabaaaabaabaa
abbbababaaaababbbbbaabab
bbaaabbbabbaaabbbabababb
bbbbaaaabaaaaabbbababaaabaabaabbbbbbbbab
aaaaaababaabbabbbaaabbbb
bbbbbababaaaaaaaaaabbaab
aabbbaababababbabaabbaba
bbbaaababbabaaabbababbbaababaaaaabbabaabababbabb
ababbbbababbbabbaaababaaaabaabab
bababaaabaabaabaabaabaaaaaababbabaabbaaabbbbbbbb
aabbabbabaaabbaabbbbaaba
aaaaaabbbaaabaaababbbaaa
aaababbbaabababbbabbaabbbabbaaabaaaaaaaa
aaaabbababbbababaabababbabbbaaaabababbbbaaabaababbbabbab
babaababababbbbbaaabbabb
bbbbaabbbbbbababaababbab
babbbbbbaababbaaaababbaabbbbabbaaabaaabbbabababaaaaaaaab
aaaaaabbbabaabaabaaabbababaaaabaabbbbabababbbaaa
aaabaabbaabbbababaabaaaaababbaabaabaaaaa
ababbabababbbbaaaababbab
aabaaabbbbaaaaabbababbab
aaabaabaaabababbaaabbbab
bbabaabbaabbbaaaababaaab
bbaabbabbababbaababbaabbabbaababbbbbbaabaabaaaaa
abaaababbbababaaabbbbbba
aaaabaaabbbbbbbaaabbbaabaabaaaaa
bbabbaabaabbbaaabaaabaaababbaaabababbbab
bbabbaababbbaababbaaabbbbbababba
baaabbbaaabababbabbbbbbb
bbababaabaaaabbabbaabbaaaaababbaabbbabbababbbbbaabbbbbbb
aaaababbbbbabababaaaabbbbbbbaaba
aaababaaaabaaabababaababbabbababbbabaabbaaabbabbbabababbbbaaabaa
abababaaabababbbbbbbabbabbbaabbabaaabbbb
aabaaababaaaabbabbaaaaabbabaaaaa
babbbbbbbbababbbbbbbaaba
bababbabbababbbababbbbaa
bbaabaababbabbaabbaabaababbabababbaabbbb
aaabaabaaabaaababbbabbab
bbaabbabbababbabbbbbbbbaaabbbbab
bbbbbbbaabababbabbbbbaaaaaabbaaababbbbab
abbabbaabaabaabaabbaaaab
aabbbaaaabaaabababbbaabbbaaabaab
abaaaabaabbbbbaaababbbbabaabbbabaaababaa
ababaaaabaaaabbbaaabbaaabbabaaababaaabaabaabaabababababaaaaabbaa
aaababbabaabbbaabbaabaababbabbbbbbbbabaabbabbbba
bababbabaaabbbbbaababbaaaabbabbaaabaaaab
babbabbbababbbbbbbbbbaab
bbbaaababbaabbabaaabbbaabbbbabbaabbbaabbbbbbbbbbaaaabbaababbaaaa
aaaaaabbbababbbaababaaab
bababbbaabbbbbaabababaaaaaaaaababababababbbbbaabbbaabaaa
babbbaababbaaabbaabbbaaabbbaaabbaaababaababbbbaa
bbabaaabaaaaaabbaabaaaab
baaaaaabaaabbbbbbbaaaaabaaababbbaaaaababaabbaaab
aaabbaaaabbbaaababbabbab
aabbbaabbaabbabbbabbbaaa
baabaaaabbbaaaabbbabbaabbaabbaabbabbaabaaababbab
abaaaaabaaabbabbabababbbababbaaabbbaabbbbaaaaabaaaaabababbbbaaabaabbbbbb
bbabaaabbabbbabbbbaabbabaaaabaaabbaabbbbbaaababb
abaabaaaabababbbbababaaaabbbaaaabbbabaaaaaaaabaa
aabbabbabbababbbaaabaabb
bbababaabaaabaaaabbbaaaabbbabbaaabbbbabb
bbbabbabbabbbbbaaababaabbbbabbabbbababbbabbbababbababbabbbabbbbbababbaaababbbbaa
bbaababaabbaaaabbaaababb
abbababaaaabbbaaaaaababa
abbbaaabaaababaabaabbaababaaaabaababbabbbabbaaab
ababbababaabbbaabbbaaababaababbbbbaaaaba
bababbbbaaaabbababbabbaabababaabaaaabbbababababbaaaaaaab
bbbbabaaaabbaabbbbbabbbaaaababaabbbbbbaaaabaabbabbabbabb
aaaaaababaabababbbbbaabbbabbabbbbbabbabbbbbbbbaa
aaaabbabaaaabaaaabbbbbbb
aaaaaabbbbaaabbbbabbabbbaaaabbba
bbabaabbababbaaaabbbaaababababaabbbbbbbbaaaabbbaabbabaaa
abbbbaabaababbbababbbbba
aabbbaaabbaabaabbbaabaaa
baaabbabaabaaabbaabbbaabababbbab
abaabababbbbabaabbaabaabbaaababa
aaabbbbbaabababbbbababba
bababbabababaaaaabbbaabbbbabbabbabababab
bbaabbabaaaaabababaaabba
baabbaababbabbaaababbbbbbabbbabbabaabbaa
ababbbbaaababbbaababbaaaaabbababbbbbbbbbbbbbababbabaaaaa
bbabaabbbaaabbabbbbaabba
bababbbbbbbabbbbaabbbaababbababaabbbbbaaaaabaaab
abaabaaabbabababbbaaaaaa
bbbaabbbbbbaabbaabbabbab
bbabababbbbbbbabaabbbbaa
baaabbbababbaabbabbbbbaaaaaaaaabaaabaaab
abaaababbbbbbaaaabaaabbb
aaabbbbabaabbabbbbabbbbbabbabaaabaaababb
babaababababbbbbababaaab
abaababaababbababbbbabbb
bbbaaabbbababbaaababaabb
aaaababbaabbbaaaaabababbabbbbabb
abababbbbbbabbbabaabaabb
abaaaaaabaaabbaabbaabaabaaabbaababbababb
aaaaaaababbaababbaababbbbaabaaabbbababab
aaabbbaaaababbbabaaaaaba
babbbbbbabaaaaaabaabaaab
aaabaabaaabaaabbbbaabbabbaaabbbb
baaabbaaaaabaabaaaabaababbbabbbbbabaaaab
aaababbabaabaabababaaabaaababbbbbbaabbbb
abaaaaaabababbabbbabaabbbbbabaab
bbbbbabababbabbbbbaaabab
bbaaaaabbaabbaaabababbaababababb
aabbbbbbbaaabbabababaaba
babbaabbbbabaaaabbbbbbbababbbbaabbaabbbb
abbbaaabbaaaabbaaababbbaaabaaabaabaaabababaaabbabbbabbab
bbaabbabbbbababaaaabbaaaaaabbabb
aaabbbbabaaabaaababbbbba
aaabaaaaaabbabbabbabababbabbbaabbbabbbabaabbbbbabbbbaababbbabaab
aabbabaababbbabbbbbbabab
aabbaabaabbabaabaaabbabbbbbaaaabbabbbbaaabaaabaabbbabbbbaabbababababbabaabaabbaaaaabbbba
babbababbabaaabaababbbbabbabaaba
abaabbbaabaaaaabbabbbbbabaaababbbbbaaaaa
ababbbbaabbbbbaaaabbaaba
aabbabbabbbbabbabbabbaba
babbbaababbbbaabbaaabbbabbbaabbb
bbabaaaabbaabbbaabbaaaaa
bbbbbabbbbababaabbbbabbaaaababbbaaabaaba
aaaaaabbabbbaaaabbababbbaaaabbba
bbbbaabbbbaabbbaaaabbbaaabaaaabbaaaabbba
baabababbbbbbaaabaaabbbb
aaaaaabbbaaabbbaaaababab
baaaaaaabababaaabbaabbbb
bbaababbaaabaabaabbabbaaaabbbbbbaaabbabb
aaaaabbaaaaababbbaabbbbbabbaaabbabbbabbbabaabbba
ababbaaaaabaaabaaabbaabbabbababaabbabbbaaaabaaabbabbbaaa
abaabaaaabbbbababbbaabbb
baaabbaaababaaaaaababbaaaaaabbaa
aaabbaaabbaabbaaaababbbb
bbbbbabaaabbbaabaaabbbaabababaaaaaaabbbaabbabbba
baaaabbbabaababaaabaaabaabbbabbabbbbbbbb
aaaaabbabaabbbbbaabaaababbbbbbabbaaaaaaaaababaaa
abaaabaabbabababaaabbaba
aaabaababbaababbbbbababb
ababbaaababbbabbaaabbbabbaabaaabbabaabbaaaabaaab
babaabaaaabbababbbbabaab
abaaaaaaabbabbbbbbabbabb
baabbaaaaaaabaabbaababaabbbbbbbbbabbaaab
baaabaaaabaababababbbbabbaaaabaa
aaababbaaabbaaaababababb
bababbabaaaababbbababaaabbbbaaaa
bbaabaabbaaaabbabaabbbab
abbbabbaaaaaabbaabaabbba
aabaaababababbbaaabaaabaaabbaaabbaaabbbb
bbabababaababbbaabbbababaaabaababbbbbbaa
aaaaaabaaaabaaaabbbaaabaabbbbbbb
bbaaabbbabbbaabbbabbbabaaabaabbabaababba
baaabbaabbaaabbabaaaabbaaababbbaaababaab
abaabaababbbbababbbbbaab
babababaaaabaabaaaaaaabaabbababbaabbabbaaaaabaab
bababbbbbbaaabbaaaababbabbbbaaba
abbabbbbabbbabbabaabaabaabaaabaabbbbaababbaaabab
babbbabbbbbbbbbaabbabaaa
aaaabaaabaababababbbaaabbbabbbabbbbabbbbbbbabbaa
bbabaabbaabbabaaaaaababa
bababbaaaababbbaabaabbaa
babbabababbaabbaabaabbaa
baaaabbbbbabaabbbaabaaab
abbbaababaaaaaabbbbbbababbbbaaba
bbbbabbaabaabaabbabbbbbb
babbaaaaaababbbbaaaaaaababaabbab
baaaaaaaaabbababaaababaaabaaababbbbbbabaabbbbbaaaabbbbaaabaababbabbaabbbabbbbabb
baabbbbbbaabbabbaabbaaab
abbbbabaaaabbbbbbaabbbbbaabbabbbbbabaabbbbabaabbaaabaaab
aaababbbabbbabbabbbbbbbaaaabbbbaaaabaaab
aaabaaaaaaababaaaabbaabbababbabb
aaaaaabbababbababbbaabab
bbbbbaaaabbaaabbbbababaaaabababbabaaabba
babbbabaaaaaaabaaababbabbabbbbbaabbabababbaaaabb
babaaababbaaabbaaaabbbaabaaabbbbababaabb
abbbaababbbbabbababbababaaaabbaa
baabaaabbbaaaabbbbabaaba
bbbabbbbabbabbaaaabaabbbaababbaabbabbbbbaaaabbbb
bbaaabbbbababbaaabababaaabaaabaababbbabaaaaaaabbbbbaababaabababa
bbbaaaabbaaaaababbaaabaaaaabbaab
baabbaabaaabaaaabaaabaaabaabbabbaaaaaaabbaababaa
baaabaaaababbaaabbbbabbaaabaaabbaaabbbabbbbaaaaa
aaabbaaaaabababbbaaaaaba
aaaaaabababbbababbbbabbabababaabbbbababbbaabbbab
babbaabbbababbaabbbaabaa
bababbbbaababaabbabbbbbaabababaabbaaaaababbaabbaaaaaabbbabbabbabbababbaaaaaaaaabababaaab
abbababbaabbbbaaabaaababbbaabbabbbbbabba
baabbaaabaabbbbaaaabbbbaabaababbbbabbbaa
bbbabbbaabbbbaabbbbbbaab
aabbbaaaabababbabaabbabbbabaabaaabbabbba
aaabaababbaababbaabbaabbababaaaabbababbaaaabbbab
abababbababbabbbbabababb
bbaaabbbaaaaababbabbabba
baaaabbaaaabaabaaaababbbaaaabbba
bbbaabbbaaaabaaaaabbbbbbbbaaaaabbbababbbaabaaabaaaaabbaaaaaaaaababaaababbaabaabb
bbaabaabbaabbaaabbaaaaba
bbbbbbbaabaaaaaaabbabababbababbbabbbbaaababbbbabaaabaabb
aababababbbaaaaabbaabaaaabbbbbbb
baabaabbaababaabaaaaabbbbbbababbbaaaaaab
abbbabbbaaaaaababbabbaba
baabbabbbbbaaabaaaabbaaaaabbaabbaababaab
baabbaababbbaababbbbbabbabaaabbbababbaab
baabaabbbbaabaaabaaababb
abaaababaabbabbbaabbbbab
aaabbbbabbbbaaabaabbaaab
aababbaababbabbbbbabbbbbbaababba
bababaaaabbbabbaaababbbaaabaabbbbabbbbaa
aabbbaabaaabaabaabaabaabbababaaabaabbababaaabaaababaabba
baaaabaaaaabababaababbbaabbbaaabbbbbbbabbbbaaaababbbabaababaaaababbbbaaabaabbabb
abaaaabaabbabbaabbabbbbbbbaabbabaaabbaab
bbbbbbabaaabbbaabaaaaaba
babbbabbaabbaaaabbaaaaabbbaabbbbabaabbba
abbbaabbababbaaabaaaaaba

1728
AoC2020/input20

File diff suppressed because it is too large

45
AoC2020/input21

@ -0,0 +1,45 @@
rlc lbmf frqz rtxgv ctzz dfkbnvp trnd nbtdp grj sthnsg hbqgv bltlff knqh pzznzt nbgvrls pdjkbf sxbjr mhrp pmqm vthsdx zqtgm pmh dnfgghrh grnrr zvbm qghp zqvthqt vgq qjdqhx ndcssdm cqbp pmdb nkz qvhq tlnz jptplj svr zqtlns lrsbsl mlsmqjln bjpkhx zgqf qfdh shmnj thn rfbtj snhph kjzl xgmrx frvx nsnqf dtlgvqjd bhrj hzpk jjpgkn rvqdx mkczhrp dpmp cdqr qrbnjtj ftllkgg mlpr rfghfc xrdq zccsfk hcdz rrsct qtqmdq rnmxqtx vcqghl nxj gsskhx rljfl ksqfmnl mrgz dbhfd qgqqvxlj sqr hxclz mkpjrjf xmfg (contains soy, sesame, dairy)
rspj hkndh zmfqpn nlqj chcgq dxnn xmfg rtxgv hcdz sthnsg qdxzlz dbhfd bfqr rprqg pmnzl snhph ngss nbgvrls qtqmdq lbdm mhrp qrbjb blq rzdgnv phkvc zdlp bbch jjpgkn lxvknl ccqf grnrr bchq vnschhzm hxclz bjpkhx jptplj qgqqvxlj hzpk bfszscr gdl nbqpf sqr qxqjpk kjzl nxj hprhbs qrbnjtj jcgkg zgqf pgqs ftllkgg zvpzkr htc vfblds rvqdx nkz xrv mlsmqjln pmdb pzfhg zqtgm pdjkbf phbz dtktjd thn jctbdm rlc qzcrtv cdqr bgpbjps hkngs dlhzp pbsv grjdnml ccjq bltlff dcrq khtmm nlltl (contains peanuts)
vnschhzm mhrp bhxd vfblds bchq xdz pdjkbf ggvgpc jcgkg nbtdp ksqfmnl hcdz sqr thn bjpkhx pmqm zccsfk bfqr nlqj rspj dpbq hbqgv frvx ndcssdm xnbvzq vvfcqdd jhjc rprqg vgq nsnqf bbch grnrr pzznzt fqjrtbm zjpbb qrbjb pxb xprjs qxqjpk qzfk snhph sthnsg xrdq hzpk htc bgpbjps mkczhrp zmfqpn bftz qtqmdq bhrj dcrq zvpzkr pgqs rfghfc zgqf rtxgv nbqpf hxclz hsmlvs qrbnjtj zvbm xnbcq plgvd ccqf lrsbsl rzdgnv knqh dpmp lxvknl xcfl qgqqvxlj ffjxl frqz (contains nuts, soy)
pmqm hcdz bchq grjdnml thn dbhfd phkvc ncvh rfbtj pzznzt vbqfd qghp slpfzvv zmfqpn bbch xrv snhph pvv vcqghl qzfk mhts ngss jqrzxr dlxf mkczhrp bgpbjps vvfcqdd khk pjmf jhjc mqxzt nsnqf mlsmqjln rdddzf bjpkhx xgmrx plgvd bltlff rfghfc zsnnbmb sbqf vfpdlb lxvknl rnjfd rnmxqtx nbqpf nnfnm grnrr sthnsg mkpjrjf kjzl qdxzlz ggvgpc nlltl zccsfk vvm (contains dairy)
dpbq cdqr xnbvzq nxj dvz zmfqpn zvpzkr xrv qzfk vnschhzm mrgz rtxgv vcqghl zsnnbmb grnrr tlnz ctzz plgvd pmnzl ggvgpc dbhfd svr mlsmqjln mkpjrjf lxvknl gdl snhph zgqf zvbm dfkbnvp jctbdm rvqdx xprjs cqbp ksqfmnl dctmr nsnqf vfpdlb lbmf pbsv fqjrtbm ffjxl dmqnlv pmdb qrbnjtj thn bjpkhx vvm bfszscr ptn khtmm pmh (contains nuts, soy)
zmfqpn snhph qxqjpk hcdz qvgfgzl thn qghp bfszscr sthnsg zvpzkr mlpr gdl xgmrx pmqm vthsdx bjpkhx vhphlsj trnd xlbnk lrsbsl nnfnm bltlff rprqg dlxf pmdb sthns pxb djtr qtqmdq dbhfd plkn rljfl dvz njtkz khk qzfk nsnqf pgqs bhxd zjpbb vkj (contains fish, soy)
phkvc jjpgkn dtlgvqjd zqvthqt vhphlsj hkngs xlbnk zqtgm bbch svr qrbnjtj pvv xnbvzq xrv ctzz vfblds zvbm phbz zmfqpn hxclz ptn snhph frqz pxvl rprqg nsnqf qvgfgzl chcgq vcqghl scvmh shmnj zjpbb kllsm qnmr hxzfxg ccqf ngss trnd cnvv blq dbhfd nlqj vnschhzm jcgkg xmfg rbvhh gpbbm nxj jqrzxr sthns thn sthnsg xdz hcdz vkj tbffk lndmtz zvpzkr khk qdxzlz (contains peanuts, wheat)
vfblds plgvd nnfnm dctmr mhrp nbvn sqr pmnzl jhjc nsnqf xnbvzq ctzz bkrd dnfgghrh sthnsg pmh plkn mlsmqjln dlhzp mqxzt cnvv qvgfgzl qrbnjtj zmfqpn ngss pgqs grjdnml xrv dbhfd zvbm tlnz qhjnv rfbtj fxc hsmlvs jctbdm rrsct bxcx htc pdjkbf grnrr hprhbs dtktjd xrdq ccqf bfqr mlpr hkngs qdxzlz mjdzb qzcrtv shmnj cqbp zsnnbmb bltlff rprqg phbz kllsm chcgq nkz zccsfk pjmf bjpkhx dvz hxzfxg frvx zjpbb qrbjb thn jqrzxr vcqghl (contains nuts, wheat, eggs)
vvm gzbqjg qhjnv zgqf vbqfd dlxf vfpdlb hxzfxg jqrzxr vfblds bjpkhx khtmm zmfqpn dlhzp qxqjpk thn qrbnjtj sthnsg bkrd zqtlns dnfgghrh dtlgvqjd dbhfd vthsdx mkpjrjf cqbp zvpzkr scvmh mjdzb mhrp qrbjb ptn xrdq nsnqf ccqf nxj ngss (contains sesame)
mhts dpmp zqtlns gnhj dfkbnvp gsskhx qrbnjtj gpbbm mkczhrp chcgq bftz thn ccqf snhph sxbjr dbhfd knqh dtktjd zjpbb sbqf rfghfc lxvknl rnjfd zmfqpn qnmr hkngs nsnqf hkndh xprjs xrv vkj sthns pmdb bhrj cdqr rfbtj grnrr frqz qdxzlz bhxd sthnsg hsmlvs (contains soy)
nsnqf bgpbjps rbvhh hxzfxg hkngs rzdgnv xnbcq hkndh plgvd xmfg rprqg pzfhg chcgq dpmp nlltl ffkts thn fqjrtbm shmnj snhph cqbp bjpkhx phkvc pgqs qrbjb sthnsg slpfzvv mkczhrp pjmf rtxgv bxcx xnbvzq frqz dvz hsmlvs jjpgkn qgqqvxlj bhxd htc qrbnjtj ccjq bftz zmfqpn tlnz gnhj qkvkn vvfcqdd jcgkg (contains eggs, nuts, soy)
sthnsg bkrd rlc hcdz rvqdx bjpkhx nsnqf mkczhrp vvm frqz vfpdlb dbhfd nbvn rtxgv gpbbm zmfqpn rbvhh zdvlmm qjdqhx vcqghl trnd thn bhxd nkz rnjfd ndcssdm xnbcq sqr dlxf ffjxl snhph pxvl lbmf blq zvpzkr cdqr kjzl rljfl (contains nuts, eggs, dairy)
hsmlvs bbch snhph mkczhrp ctzz mjdzb qtqmdq njtkz thn qgqqvxlj dctmr svr kllsm svdlq plkn khk dnfgghrh djtr sxbjr xrv lxvknl kjzl rfbtj pzfhg dtktjd lbmf qrbnjtj lndmtz pjmf rdddzf gnhj qdxzlz dlxf bfszscr zmfqpn hcdz xmfg nbvn bhrj pdjkbf mqxzt zqvthqt qjdqhx mrgz xgmrx xprjs bjpkhx rprqg sbqf rvqdx fxc ngss fqjrtbm jptplj pzznzt shkr nsnqf bgpbjps zjpbb vgq xnbcq ffkts pmh zvbm bchq qzcrtv pxvl qrbjb nnfnm ccqf sthnsg mlpr qfdh knqh (contains nuts)
kjzl mkpjrjf cdqr vfpdlb vbqfd sthnsg qrbnjtj phbz qhjnv rtxgv dxnn lbdm hkngs zgqf zlrxv rnjfd vkj lbmf jptplj dlhzp qxqjpk knqh bhrj mlpr mkczhrp ndcssdm zqtgm rljfl qfdh plkn fxc rbvhh dctmr vvm nlltl sthns qgqqvxlj pmh thn hxclz bjpkhx zccsfk njtkz rdddzf pzznzt zmfqpn dlxf jcgkg ngss ncvh sxbjr qzfk zqtlns dtlgvqjd bltlff rrsct frvx mhrp rzdgnv hsmlvs nbtdp khk ccjq xrdq pbsv nsnqf trnd pgqs cqbp pvv pmdb hzpk nbgvrls lndmtz hxzfxg snhph pxvl xrv sqr hcdz pzfhg (contains wheat)
pmdb dtlgvqjd bjpkhx khk mkpjrjf cnvv grjdnml sqr sbqf fqjrtbm hkndh zvpzkr hsmlvs rbvhh zmfqpn svr blq kllsm nbqpf cqbp pxb thn qrbnjtj pzfhg ccqf ptn qjdqhx ksqfmnl qhjnv ctzz hbqgv bftz qxqjpk ggvgpc mqxzt dtktjd jcgkg xdz khtmm pmh bltlff hxclz knqh jqrzxr mhrp mlsmqjln tbffk gpbbm shmnj ccjq vfblds rvqdx qvgfgzl qtqmdq bxcx hcdz lbmf rrsct bhrj zlrxv njtkz gsskhx mkczhrp rprqg rfghfc dbhfd xcfl lrsbsl rdddzf shkr dcrq xnbvzq xlbnk sthnsg vkj grnrr hkngs ncvh snhph nxj phkvc svdlq trnd dmqnlv vgq qkvkn ndcssdm rlc (contains peanuts)
hkngs hsmlvs dnfgghrh jjpgkn ffjxl htc xprjs rljfl ncvh shkr qtqmdq nbqpf pjmf zmfqpn pmnzl mkczhrp qrbnjtj qxqjpk sxbjr plgvd dcrq pdjkbf knqh lbmf pbsv pvv qhjnv svdlq zvpzkr rprqg jqrzxr phbz nsnqf lxvknl rnmxqtx zlrxv dbhfd jctbdm ptn gsskhx fxc hxzfxg thn lbdm bhxd gpbbm mlsmqjln sthnsg vkj trnd nkz bjpkhx vgq vfpdlb zvbm hzpk mqxzt zgqf hcdz rzdgnv zjpbb sqr bkrd pzfhg xnbvzq (contains wheat, soy)
rdddzf vfblds ngss nxj grjdnml dxnn xrdq bjpkhx qghp hcdz bnqzkgv lxvknl nsnqf bftz dpmp qrbnjtj bhxd qhjnv grnrr cdqr mhts ggvgpc gpbbm htc rfbtj vvfcqdd ptn pjmf ccjq svdlq xdz dtktjd thn kjzl jhjc tlnz shkr bchq mqxzt dcrq qgqqvxlj mjdzb bkrd xcfl vthsdx qzcrtv ccqf pxb pmdb njtkz sxbjr vbqfd vcqghl bhrj rrsct pxvl zmfqpn snhph sthnsg sthns dlhzp xnbcq qfdh frvx mkpjrjf zvpzkr nkz mkczhrp bxcx (contains eggs, dairy, soy)
blq mkpjrjf ftllkgg rlc qjdqhx rdddzf mlsmqjln nlltl vkj snhph dbhfd dcrq chcgq qgqqvxlj lndmtz qvhq dxnn sbqf ffkts ncvh thn mkczhrp lrsbsl grnrr scvmh bkrd nbqpf qkvkn nbgvrls bnqzkgv jcgkg xlbnk frvx gdl xrdq zdlp hsmlvs bftz plgvd nsnqf nbvn pxvl cdqr zgqf qrbnjtj lxvknl zlrxv bbch bjpkhx cnvv hxzfxg xrv sthnsg hxclz gpbbm phbz zccsfk vfpdlb pjmf (contains eggs)
snhph hbqgv qvgfgzl gsskhx ngss qkvkn hzpk vkj xrv rtxgv bjpkhx vvm qvhq gpbbm dtktjd njtkz rljfl bltlff bfszscr ggvgpc hxzfxg bnqzkgv ctzz rspj scvmh mhts mlpr jcgkg gnhj pjmf qghp trnd pzznzt rnmxqtx vhphlsj gdl jjpgkn ccjq bftz qjdqhx cqbp lxvknl bhrj nbvn sthnsg bgpbjps dpbq ccqf pmqm rzdgnv bxcx pmh pdjkbf frqz vgq frvx vthsdx jhjc shkr dtlgvqjd nxj xprjs qzfk slpfzvv dbhfd mhrp tlnz zdlp rprqg phbz nbgvrls qdxzlz rfbtj dnfgghrh htc thn bbch fqjrtbm ftllkgg vvfcqdd qrbnjtj vnschhzm mkczhrp zmfqpn vfblds bkrd (contains peanuts, soy)
dnfgghrh vnschhzm qrbnjtj rljfl pgqs bhrj vcqghl pxb dlxf bchq zmfqpn jptplj zdlp rfghfc frvx qtqmdq rfbtj slpfzvv plkn sthnsg rtxgv qhjnv qfdh qzcrtv mkczhrp qrbjb ggvgpc mkpjrjf ksqfmnl scvmh hcdz rspj jqrzxr khtmm dxnn pzfhg pdjkbf sbqf vgq zgqf khk vfpdlb ffkts ftllkgg pvv mhts bftz bbch shmnj gzbqjg qgqqvxlj zsnnbmb zccsfk zdvlmm qvhq dlhzp bltlff xnbcq jcgkg zjpbb bhxd hkndh njtkz bfszscr phbz qkvkn xprjs gpbbm snhph rrsct bjpkhx svdlq rvqdx lxvknl mqxzt vvm bnqzkgv fxc sthns tbffk svr nsnqf lbdm thn frqz (contains soy, eggs, nuts)
gsskhx lndmtz ksqfmnl snhph zccsfk rtxgv shmnj ccqf hbqgv zmfqpn nbtdp rdddzf xnbcq dcrq lxvknl ffjxl jqrzxr qrbnjtj rrsct knqh hcdz sbqf bjpkhx pxvl zqtlns blq thn svr ggvgpc hkngs vkj qnmr plgvd pgqs rnjfd sthnsg zlrxv sxbjr pbsv rspj pmqm pzfhg dbhfd (contains wheat, fish)
rlc mkczhrp frvx htc nsnqf shkr qzfk dbhfd qnmr gsskhx bftz rspj grnrr nlltl bbch vfpdlb vbqfd bfszscr rvqdx jcgkg hcdz hzpk kjzl fqjrtbm bjpkhx vnschhzm dpmp thn nbqpf dcrq mlpr jptplj qrbjb chcgq jjpgkn vhphlsj pxb dtlgvqjd zvpzkr snhph qxqjpk zmfqpn dvz sthnsg jctbdm hsmlvs gdl gnhj vfblds hxzfxg xdz shmnj nkz zjpbb dmqnlv hprhbs (contains dairy, wheat)
zvbm rfbtj gsskhx kllsm bfszscr ffjxl qhjnv xprjs qrbnjtj lbdm rlc sthnsg rnmxqtx jctbdm nbqpf dtktjd pxb nlqj dfkbnvp nkz vfpdlb hzpk ctzz cdqr xnbvzq mlsmqjln zdvlmm mkczhrp dtlgvqjd nbvn dbhfd trnd zccsfk qxqjpk rzdgnv qzfk plkn rfghfc bjpkhx rbvhh lbmf pmnzl bltlff hsmlvs zmfqpn qgqqvxlj qvhq bftz hcdz hkngs vgq vvm thn bbch ftllkgg snhph dpbq jptplj vthsdx (contains fish, sesame, dairy)
thn pzznzt vvfcqdd fqjrtbm dpmp bkrd zqvthqt bnqzkgv pbsv bbch qkvkn qjdqhx qvgfgzl hxzfxg gnhj fxc dcrq lbmf nsnqf xgmrx shkr nlltl grjdnml qfdh sqr vfblds sthnsg lxvknl pmqm nbgvrls qvhq qgqqvxlj qdxzlz sbqf qghp mqxzt lrsbsl rprqg khk zlrxv nbtdp qhjnv hsmlvs zmfqpn dctmr snhph vfpdlb qrbnjtj dlhzp ngss zjpbb trnd pmnzl bjpkhx qzcrtv hxclz xcfl dfkbnvp rbvhh qrbjb ndcssdm cnvv hkndh mkpjrjf bgpbjps xlbnk pzfhg rspj bfszscr ncvh svr zsnnbmb lbdm zgqf qzfk bftz ffkts pgqs zvpzkr ccqf vcqghl zqtlns hkngs gzbqjg (contains wheat, peanuts, nuts)
pdjkbf lrsbsl qdxzlz bjpkhx vfblds bxcx hprhbs sxbjr qvgfgzl dmqnlv mlsmqjln vnschhzm bhrj bltlff grnrr ffjxl pxb qvhq sthnsg plkn xnbvzq xrv mhrp qgqqvxlj shkr fqjrtbm nbtdp ccqf vvfcqdd zccsfk dctmr jqrzxr nsnqf snhph bgpbjps dvz mhts zgqf svr sbqf bhxd zmfqpn pzfhg jcgkg trnd pmdb pzznzt dfkbnvp cdqr jptplj zqtlns ffkts ftllkgg rlc jhjc pjmf rzdgnv dtlgvqjd djtr rnmxqtx cnvv pmnzl nkz qrbnjtj thn mjdzb (contains peanuts, fish)
sthnsg qzfk bkrd chcgq vnschhzm nsnqf trnd bjpkhx vhphlsj dfkbnvp bftz lrsbsl zlrxv snhph xprjs vcqghl rlc rzdgnv ptn thn qjdqhx jqrzxr gdl bltlff dmqnlv zvbm grjdnml kllsm shkr dxnn scvmh ffkts hkngs mhts vbqfd bfqr plgvd dbhfd dpbq nbvn ksqfmnl xnbvzq rfghfc khtmm rspj zqtlns cdqr xgmrx pgqs zmfqpn nbqpf hsmlvs qdxzlz vfblds gzbqjg jcgkg (contains eggs, nuts)
cnvv lbmf xmfg shmnj bftz zqtlns grjdnml nkz dcrq jqrzxr dxnn shkr hkngs plgvd sthns sthnsg rlc thn dpbq trnd djtr zmfqpn dtlgvqjd qrbnjtj kllsm dctmr pjmf gdl qhjnv bjpkhx bxcx xprjs bchq dlxf chcgq vthsdx svr snhph ffkts qxqjpk dlhzp plkn hbqgv nsnqf njtkz nlltl rfbtj bhxd (contains peanuts, nuts, soy)
jcgkg bgpbjps qkvkn rfghfc sthns xgmrx gdl grjdnml lbmf pzznzt knqh nnfnm qrbnjtj plkn qjdqhx phkvc dtktjd zmfqpn zqvthqt chcgq fxc dvz hzpk bhrj qvgfgzl ffkts xlbnk sqr lrsbsl ndcssdm zvbm dlhzp bjpkhx nbvn rlc qhjnv rtxgv dnfgghrh rrsct shkr blq kllsm vvfcqdd sbqf snhph bfqr ggvgpc mkpjrjf pmh bchq nsnqf cdqr bnqzkgv mrgz rbvhh sthnsg bxcx svdlq jhjc pmqm xdz pgqs jctbdm bkrd bfszscr ptn thn svr zqtlns qfdh (contains soy, dairy)
bchq jqrzxr hxclz pzfhg mjdzb rljfl qzfk svr zccsfk rnmxqtx qrbnjtj xdz phkvc dcrq bftz xcfl qvhq lndmtz rfbtj khtmm knqh bjpkhx ftllkgg xrv rlc rtxgv sbqf trnd gnhj sthnsg jhjc xlbnk nbvn zdvlmm nsnqf pzznzt blq fxc ffkts dvz qvgfgzl xrdq snhph sqr nxj qghp dtktjd zmfqpn dpbq qhjnv thn bgpbjps gdl bnqzkgv qjdqhx rprqg xnbcq vvfcqdd qkvkn fqjrtbm bltlff bfszscr zqtlns jctbdm jjpgkn frqz ncvh qfdh plgvd mkpjrjf xmfg grjdnml slpfzvv vhphlsj (contains wheat, soy)
vgq bjpkhx rzdgnv khk bbch sthnsg vfpdlb fxc htc dctmr qxqjpk hprhbs zdvlmm svdlq nbgvrls qgqqvxlj gzbqjg nbqpf pgqs nnfnm pzfhg qrbnjtj ccqf fqjrtbm chcgq rbvhh zmfqpn blq grjdnml qjdqhx zqtlns qghp bltlff lrsbsl vkj dbhfd xlbnk hkngs nxj mjdzb ncvh svr jcgkg mkczhrp njtkz xgmrx nsnqf shmnj qzcrtv cdqr zccsfk mlsmqjln thn (contains peanuts)
rspj htc bnqzkgv dbhfd dfkbnvp njtkz scvmh zdlp cnvv dvz rrsct qrbnjtj zmfqpn vgq rnjfd slpfzvv pmqm qtqmdq hzpk tlnz rtxgv hsmlvs jhjc zvpzkr qzcrtv plkn vfblds snhph dpbq dmqnlv qkvkn phkvc thn sthnsg pmnzl gdl jptplj fxc zvbm mkpjrjf bhxd rprqg bjpkhx kjzl dctmr bxcx vkj pvv qhjnv zqtlns djtr lxvknl (contains nuts, soy)
qvhq mlsmqjln zgqf qvgfgzl zmfqpn rzdgnv pxb phbz khk dbhfd nbgvrls ftllkgg vvfcqdd sthnsg grnrr bjpkhx frqz njtkz zdvlmm dlxf rtxgv pgqs nbtdp svdlq phkvc mkpjrjf frvx slpfzvv bbch snhph ggvgpc xnbvzq rvqdx dcrq nbvn jptplj tlnz hxclz xdz pzfhg qrbnjtj pmqm dvz rprqg nlltl xnbcq hprhbs xrdq nsnqf dpmp lbmf dnfgghrh bltlff rlc (contains fish, peanuts)
svr rfghfc bnqzkgv xdz hxclz jptplj dpbq zsnnbmb rzdgnv lrsbsl ptn jqrzxr scvmh blq mlpr qjdqhx thn gzbqjg xrdq pdjkbf vfblds ffkts xprjs kllsm pzfhg nbgvrls frqz qgqqvxlj dbhfd zvpzkr mkczhrp nnfnm rlc lbdm grjdnml snhph rspj shkr sbqf shmnj zccsfk mkpjrjf khk ftllkgg bgpbjps mjdzb ndcssdm bfqr pmdb phkvc xlbnk hzpk mhrp qhjnv slpfzvv dtktjd sqr xrv vnschhzm tbffk xnbcq bchq qtqmdq pxvl jhjc rljfl sthnsg dtlgvqjd zmfqpn qrbnjtj bfszscr ncvh dpmp cdqr pxb nbvn grj qvhq trnd bjpkhx ctzz pmh (contains sesame)
bkrd nkz nnfnm svdlq rnmxqtx zqtgm ffkts qvgfgzl vcqghl bgpbjps sxbjr fqjrtbm hsmlvs qgqqvxlj bnqzkgv zdvlmm rfbtj rlc mrgz mjdzb gsskhx snhph nlltl dlhzp tlnz mkczhrp mqxzt xprjs sthnsg frvx qrbnjtj xnbvzq pgqs dcrq svr vvm bbch mlpr ccjq qvhq nbtdp rspj bftz thn cqbp dlxf shkr pmnzl vnschhzm jcgkg zjpbb qfdh nsnqf xlbnk dtlgvqjd zvpzkr nxj cnvv lbdm mkpjrjf rnjfd rzdgnv qjdqhx nbgvrls gzbqjg chcgq blq hprhbs lxvknl qtqmdq lndmtz grnrr pxvl qnmr dbhfd ngss grj hbqgv vbqfd zmfqpn phbz khtmm dxnn pzfhg (contains fish, peanuts, soy)
hprhbs gnhj bchq vcqghl zqtgm bltlff ngss zvpzkr vnschhzm pxb nbtdp sthns ctzz lndmtz dxnn ncvh jctbdm rfbtj hsmlvs qrbnjtj khk nbqpf dbhfd qkvkn grnrr gsskhx zmfqpn vfpdlb jptplj dnfgghrh xrdq lrsbsl nxj qgqqvxlj frqz gzbqjg qxqjpk sthnsg vgq qdxzlz bfszscr thn bfqr grj bhrj rfghfc gdl vthsdx qzcrtv hxclz mkczhrp khtmm xcfl pvv tbffk qzfk ffkts bftz nsnqf pmnzl qnmr ggvgpc rprqg xdz dpbq chcgq vhphlsj pxvl mqxzt snhph (contains sesame, eggs)
lndmtz nlltl jcgkg pgqs scvmh ptn chcgq qvhq fxc xprjs hxclz zlrxv snhph xrv svdlq nbqpf gpbbm mhrp cqbp sxbjr khtmm dvz pxb dnfgghrh ftllkgg zgqf qdxzlz vbqfd tlnz bkrd zmfqpn cdqr bjpkhx qvgfgzl kllsm nsnqf xrdq lbdm ffjxl bfqr ctzz pmqm mjdzb pjmf frqz hbqgv htc jjpgkn nxj dpmp ndcssdm pmdb qnmr sthnsg qhjnv dpbq qrbjb qzfk vnschhzm bgpbjps frvx shmnj qrbnjtj nnfnm rdddzf vgq ggvgpc rprqg rrsct zqvthqt pxvl thn fqjrtbm hxzfxg zdvlmm zjpbb jptplj qxqjpk (contains wheat)
pbsv qjdqhx mjdzb bfqr zjpbb pmh qrbnjtj zdvlmm lbdm nnfnm vfblds bltlff thn vvm nkz pgqs qhjnv rfghfc dtlgvqjd knqh qkvkn zmfqpn hsmlvs bchq lxvknl sxbjr sthnsg khk hbqgv ngss qvgfgzl dlhzp mhrp pmqm rljfl ctzz qxqjpk fxc njtkz ndcssdm tbffk qgqqvxlj ggvgpc ffjxl pzznzt dbhfd snhph gnhj pmdb frqz bjpkhx dxnn bgpbjps lndmtz vvfcqdd cdqr (contains wheat)
vfblds snhph gpbbm jqrzxr qvhq gzbqjg pzfhg rbvhh zmfqpn rzdgnv lxvknl ccjq nbtdp gdl hcdz hzpk mhts vhphlsj grjdnml nsnqf rvqdx bjpkhx ftllkgg nbvn ctzz bxcx kllsm blq pmqm zvpzkr ncvh vthsdx svdlq dbhfd zgqf vvm pxvl grnrr fqjrtbm zqtlns rtxgv htc pvv qrbnjtj pdjkbf rfbtj sthnsg nxj jjpgkn zjpbb xrv pmdb nbgvrls ngss kjzl dpmp dfkbnvp ccqf vcqghl mlsmqjln (contains eggs)
htc mjdzb vcqghl zvpzkr rlc rdddzf pmh lbdm qrbnjtj xrv vhphlsj nkz zmfqpn vfblds nxj xprjs pxb bfqr bjpkhx dpbq snhph dfkbnvp rnmxqtx plkn nbtdp qfdh zvbm hkngs scvmh tlnz hxzfxg hsmlvs mrgz nbgvrls cdqr qkvkn kllsm bhrj pxvl bfszscr hxclz bchq ngss xnbvzq ndcssdm dnfgghrh frvx jqrzxr rfghfc trnd vgq dcrq bnqzkgv bltlff nsnqf dvz dmqnlv pzznzt zdvlmm ccjq sthnsg xdz ggvgpc sqr lndmtz pgqs sxbjr dctmr pzfhg gzbqjg zlrxv chcgq cqbp qrbjb cnvv dlxf ffkts mkczhrp bhxd thn rspj qzfk grjdnml jcgkg slpfzvv pdjkbf vvm mhrp (contains soy)
vfblds vvm snhph qnmr mlpr dmqnlv rrsct dpmp slpfzvv gsskhx sthnsg cnvv nsnqf pzznzt qdxzlz hxclz ffjxl bjpkhx dctmr ggvgpc ncvh qgqqvxlj dvz xlbnk dcrq cqbp zqvthqt phkvc zmfqpn tbffk blq mjdzb rljfl zqtgm lxvknl qfdh vvfcqdd khk rlc hxzfxg grnrr frqz bhxd pmh svr rspj qrbnjtj rfbtj ptn dlhzp pxvl xrdq tlnz qhjnv sxbjr qvhq bchq vbqfd pbsv hkngs hzpk gzbqjg qvgfgzl trnd hbqgv dnfgghrh pmdb knqh frvx rnjfd vkj pmnzl pvv dtlgvqjd rprqg dbhfd hcdz gdl bfszscr svdlq bftz ctzz zvbm ccqf (contains peanuts)
xdz kllsm zmfqpn vhphlsj bnqzkgv qrbnjtj zvbm sthnsg dlxf nbqpf dbhfd qrbjb pxvl dctmr mjdzb qtqmdq grjdnml jcgkg zqtlns nsnqf rfbtj nlltl cnvv nxj bfqr cqbp xlbnk zjpbb snhph pgqs pmqm qvhq plgvd khk dpmp plkn vvfcqdd qdxzlz rrsct qjdqhx gdl mhrp phkvc pmdb thn rzdgnv pmh pzznzt (contains eggs, nuts, wheat)
qghp dbhfd djtr mhts pxb sthnsg hsmlvs cdqr rnjfd mjdzb xprjs hkndh rrsct zgqf rfghfc vfpdlb bhrj pvv rfbtj bftz dlxf nnfnm qzfk jctbdm zmfqpn grnrr rspj pzznzt bjpkhx rnmxqtx xrv snhph mlsmqjln rprqg ccjq vvm qfdh mkczhrp nkz ffjxl dctmr mrgz dvz nsnqf bbch gnhj bkrd knqh nbvn chcgq ccqf jptplj tbffk dpbq rljfl tlnz bltlff rlc ngss mhrp vcqghl gdl zccsfk zdlp mqxzt thn zqvthqt njtkz vfblds hxzfxg qnmr sqr qzcrtv (contains soy)
frvx grj kjzl xnbcq shkr dvz zqtgm bltlff dpmp ptn dbhfd thn nlqj vhphlsj khk snhph qfdh jctbdm sthns dxnn bhrj vkj rljfl nkz qdxzlz sxbjr mkpjrjf zdvlmm qrbnjtj ccjq gnhj dmqnlv ggvgpc sthnsg xcfl qghp nbgvrls bgpbjps hsmlvs cdqr slpfzvv ftllkgg pxvl jcgkg tlnz rdddzf shmnj dpbq rbvhh fxc pxb ndcssdm zmfqpn zlrxv kllsm lbmf ksqfmnl gsskhx nsnqf hkndh pbsv xrv (contains eggs, wheat, soy)
nxj sthnsg zgqf dvz njtkz qxqjpk cnvv dbhfd pjmf mhts lbmf snhph ksqfmnl fxc dxnn bftz ptn nbtdp nbvn sthns gzbqjg jptplj pvv dcrq nsnqf hxclz svdlq plkn rprqg qtqmdq shmnj mlsmqjln cqbp mhrp dpbq jqrzxr gpbbm xnbvzq qrbnjtj cdqr htc pgqs bjpkhx xlbnk sqr jcgkg shkr nkz rfghfc xcfl sxbjr blq xnbcq dpmp zmfqpn qdxzlz grj vfpdlb nlltl lndmtz (contains peanuts)
jctbdm hxclz chcgq dlxf ccjq bjpkhx bbch zmfqpn dnfgghrh pjmf svr kllsm zsnnbmb ggvgpc dlhzp rnjfd qrbnjtj hkndh thn zvpzkr xnbvzq grj plkn zccsfk bkrd xprjs nbtdp zjpbb vbqfd dctmr hcdz rtxgv vvm nsnqf mhrp gsskhx dpmp qghp pvv snhph dbhfd jqrzxr (contains nuts, fish, dairy)

4
AoC2020/input21t

@ -0,0 +1,4 @@
mxmxvkd kfcds sqjhc nhms (contains dairy, fish)
trh fvjkl sbzzf mxmxvkd (contains dairy)
sqjhc fvjkl (contains soy)
sqjhc mxmxvkd sbzzf (contains fish)

53
AoC2020/input22

@ -0,0 +1,53 @@
Player 1:
15
31
26
4
36
30
43
39
50
21
25
46
6
44
12
20
23
9
48
11
16
42
17
13
10
Player 2:
34
49
19
24
45
28
7
41
18
38
2
3
33
14
35
40
32
47
22
29
8
37
5
1
27

358
AoC2020/input24

@ -0,0 +1,358 @@
seseswnwseneweseswseswnwnese
neneeneseneeeesenewwne
swswswneswsewswseswesewswseswneeswswnwsw
eneeswnwneneenwneneneeneneswnwneswne
seeseseeeeseenenenwswseweese
seswweseseseswseswneswwnwswswseneswnw
wswseswswneeswswsw
wnewnwnewwwwwwwwwsewwsw
wseswnenwneswwnwseeenwnwnwewesewse
seweseseneeeseeswsenwseeenwseeeew
seswswnwswswswnesesesewseeneseswsesesesw
wsenewsenwwnewswwewnwnwsewwwsw
swwwnewnwwseswswnwswenwswseeswesw
senenwswwnwnewwseseseswswwweneswwne
nwseseeeesweee
swwswswswwswswsweswnwwswsw
sewnwswneneneenenewneeneeneneswwee
swenenwswnwnenwnwnwenwnenesenwnenwnwnwwnw
eweeneswnesenesewneneeeneseneneew
enesesenwsweeeeeenwnwnwsweswew
nweeeswneswenwseswnweeeneenenesw
neeeswnwnenwnewnwnwswenwwwnwsesenw
neswnwenwneswnwnwnwneswnesenwnw
neeseeweneeswweeswneneneeneenenw
nenwnenwnenwewnewsenwnwnwnwnene
nwewnwnwwnenwnwwnwnwwnwwenwnwsenw
seseswsewneswseseseseseswwseseswe
eseswnewenwwnenene
wswneneswswsewnwseswswswseswswwwswswne
neeswneneewnenenenenwnewneeeneneswse
eneeneneneneeeneneenewsene
eneweewwsenesene
nwenwenwnwswnenwsenwnesenenenenwnesw
wesenesenewweewwwswwnwsew
eeswneeewsewneneneweneeneene
eeswswswnwweswnenwsw
swesewnwneswseesesesesesenwsenwesee
enwsenwnwswnwwnwseseseseeswewnesenw
eeseeeseenwseenweeeenwesese
nenwnwswneneswneenenwneneswnenwnwnwnenee
ewswwswwswewwnwwenww
swnenenwnenenenesenenesewnenwnenwesenesw
nwseeenwnwwnwnwenwswnwswnwnwneenwnew
ewwnwwwwnwswnwnenwsenwnwewnwww
eswwwseewsewweeswwnwnwwenwwwne
wswseswswswnenwswwswswnewswswse
nwnenwseseswsesesenwseseseweswew
swesweenenwnwnenwnenwwneneseenenwsw
wswwwswneswwwswwewnenwswwwew
wsewwwnwwwwnwsenenewnwewwsw
wswswwesweswnwswwwswswsweswswswsw
eswswwnwwswsesweswswswneswswnwnwsesw
neenwsewwswneseswwseswnwwwwswww
enwseweseseseeswseneneseswseswneee
swnwswswneseswswswsesewseseneneseswsee
wsenwwswwwnwswwwwneswewwneww
nweswsweeewnenesee
swsweswnwswseneswswswseswswswsw
swsewseswseeseneeswswwswswnenenwnesesw
seeeenenewenenenenesew
nwnesewsesesenwsesenwsenwnwnenwnenwnww
enwswsewnesesesenwe
nwnwnesenwwwwnwnw
nenesenewneenenenenwswneenesenenwnewne
wnwnesenenwesewsenenenenwneeeneswse
wwswswswswswswwswwswesww
enwsesesewseeesweneeeswesesweenw
wwnwseneneneeenewswnwnwneswsenewnwsenw
swswswswswswewswswwswsww
nenwwnenwsenwnwswseswnwneneseseesenww
seeseeseeeesenewseswweseseswnenese
wwsewwwewneeswnwwwewwwenesw
wenewseeeneneenenenenenwswswnenwnee
neswnwnwesesenwswewneewsenwesweswswse
nesweewswsewswnesewnewswwwwwsw
nwneeeneseneneeneswenenwswnewsenwe
swswswswnwswwswswesweeesenwswwswse
senenwewnenenenenwnwneneswneenenenewne
senwseneesweeesenenwseseseneewwe
ewwwwwnesenesenwnwsewsesenenewswnw
sewswswswseneswseseswseswneswswse
eenwneneeeeeewswneseneeew
swwwwseswswnweswwnwenenweenwseeene
eeneeeeswnwneseenwesweeenweee
enwwwwnwnwwwnwnwneseswswnwnwnwwenwnw
wwwswswswswwswewswsw
swwwwnesewswewwswneswseenw
seeneeeeeweeeseee
swneswwnwsenweswnweswswnwseeseseseswnw
swswseswnwswswsweseswnwswswswneswsesew
neneswswwwwwswwnwswswwswsesweswsesw
sweneswnesenenwnenwesenewnwnewnwwene
nwnwnenenwwnesweeswnwswseseneseewnw
nenwnenenwneneneswneneenenwswnenw
nwseswseswwwswnwneswswwswwwwswnese
esenwenwnwwnewnwnwneswnwnwwnwnwnwnw
wwwswsenwwswwwwwwnwnwwsewwe
wesenweneeeseswseeneswswnenwwesw
swswnwseseswsenwnenwnwseewweswswseene
swswnewswswneswswswsenwweswwswswswsww
eswwnenwnwneewenweswswnewweswese
seneenwsewwnwnee
swswswswsenwsweswswswenwswsenwswsesesw
nwnweenwnwnenwnwneswswnwnwsenwnwnwnwnwne
wnwwnwwwwwwsew
nwswnwnwnenenwnwnwswnwseneswnwnwnwne
newwneeeswseneeneneneneweeeenene
eeenwnwneeeeeeesweenwswwseew
esenewwwwnwswswswswwwnwswswswww
eeweeeseseeesee
wewwnenewswwneseswwnwwwseswswww
wweenenewswswnwwewwswwwswswsww
seseeswneesewnwsenwsesesesenwwswnwsee
nwnwnenwnenwnwnwsesenwnwnwwnwnenenwnwse
eswswseseswwswseseswswnweseswenwsesw
eeseneneeesenenwswwweewneenene
swsenwwswnwnwnwswnwenweneswneeneswnw
nenwenenewseneweewswneenesweene
swwwwwwwnwswew
seesenwesesesewnwsenweseseswseswsee
nenenwnwnenewnwnwnenwseswnwnwnwnenwseswse
neneeeenwwweseseswewseesenwswnw
enewesenenesenwwsesweneeneeneenenee
seeeeeneewseewseseeeeesesewnw
wwswswswswwwnwwewswsw
wswnwnenweswnwnwnwnwnwnwsenwewse
nwnwnwnwswnenenwenwenwnwneseswnwnwnenwne
ewswswswwnwswswwswnwswswswswwwsesenwne
wnwsenesenwsenwesewewseswnwnenwneswne
nesweenenwneeneseeeneneseenewneenw
nwswswswesenwsenwesweseswsewswesenwsw
sweswneneeneswnwesenwwnwseeseswwnw
enwnwnwnwnenwnwnwnenwwnwesewnwnwsenwnw
eneseweeeneneneswwseneswweswswsw
swswwwseneeseeewnwwseswnwswenwneswnw
senewwswsesenewnwseseswswswneseneswsesw
swnwnwnenwsenwsenwnwsenwnwwnwnwew
seseseseswneesenweseeseswsesenwsewsese
eewweeneneswswenenweneneeeesw
ewneneeeseeeneneesweswenweswene
wseeneseeswnwwesesesenwnwwsesee
sesesesewseseneseseswnesesesenwsesenwse
seseswseneneewseseseseseseesesee
swswsesenwneeseswsesesesesesesew
nenwseswswnesenewwnwenwseeeeneneenene
neswneswswnewnwswnwseneeneneenwenwne
swnwnwnwnwnwseenewnenenwnwnwnweewnwnw
swnwnewnwwnwnwwnewswwsewwnwswnewew
nwnenwswnenwnwnwnenesenwsenenwnenenesenwnw
nenwewseswneweesweseeenweswswnw
swsweswseeswwswswswneswwwnwnwswnwse
swwwswwsewenewsewswswwnewnwswnw
swenenwnweswnwswwswwwnwweswnewnw
nwnenwnwnwnwwenenwnwsenenewenwnwswnesw
neesewswnwswseswnwenenwwswswswswewse
seseseseeeseseseswnw
swswenwswnenwnwnenwnwnwsenenwnwnenenwnwnew
wseseeeseseneseswesesesesese
seswseseseseswneswnwwseseseswesw
nwnwnwnwenweswsesenwswnwnwnwnwnwewswnwne
swneneenenwnenenewneneeweeeeswnese
wwnwnewwwwwswwww
eseeeseeeeenwewseenwesenwwse
seswseswneswseswswswwseswsw
wneswseswswnwswneseswsweswneswwswswsesw
wswwnwnwnwnwnesweswseswseswenwwswew
neeeeswneeswnweeeeeeesweee
neswswnwswesenwsenesenwsewseewswswne
newseesesesenwsenwewsewsese
sewseenwseseseswseseeswseseseneenwse
weseneeeeeesewneseneeswewsew
wswnwnwsewnwnwenwewwnwsesenwnenwnwnw
senenenenenewnenwnwse
seseseseseswsesenesesesesewsenwseneese
swwneewwneswsewseseeneenwsenenese
swnwnwneswseswsweswewneswnewnweseswsw
swswswswseeswswnwseswswnw
nenwseneenwneneenwneneneswseseeneswenw
swneswswwswswseswswswswnweswewswswe
swnenenwneswenenewnwnwnenenenese
nwswswnewseswnwswnwwwesweeswesese
nwenwnwnwnenwnwnesenwnwnwswnwnwsesenese
sweewwnwswesewnenwswww
eweneeswwswneeneeeseesenenwnee
nwnwnwnwsewnwenwnwnweswwwnenwnwee
seswswswwswnwwseneswswswswneswwswnene
newnenenwnesenenesewneswnenwnwnwnenwne
sewnenenenwneeswwenwneswnese
swnwnwwnwnwnenwenenesenewneeswnenene
swnenenesenewneneswsewwwwneesesee
wewneneeneneswwwsenenesene
wenwswswswnwwenwwwwenewnwnwwww
wwewseswwwswswwwnewnewnwnwwwne
swswwswswnwswnwswseswswswnwswswswseeswne
wewswnweneeseseeweeeewwsene
swsewwsenwseswewneswsesee
seseswnwneneseesesesesesesenweewsesese
seseseseswnesesesenwswsesew
swnwseswewseswswswswswse
wwesenwnwnweswswnwneewswnwneewse
nwnwnwnwnwnesesenwnwsenewnwnwnwnwnwnwnw
wswwwnenwswseswewwswswwnwwswswsw
senenenewnenesenenenenenwenweese
swneneeneswenewswnenwnweneesee
neenenewneeewneneswseneseneneneene
swnewswswsenwwswseswnweswswnwsweswsw
ewwnwenwwwsewnwnwnwsesw
seswseswswswseswsesenwsese
neneswnweeeeeneeswwnwswseee
swnenwnenwnwneswenenenwnenenweneneswnee
nenenwnwneneneneswnenenwnwsenwnewesenwwe
wwnwnwnenwwwwewseeswwwnwnwswnwnw
neneeneeeeneneeeeewe
nwneswweswswnesweesenwswswswswsesewse
seewseneseneseseseswswewseeseenwsee
nwswseswswseseswseswseswse
swseewnwseswwwseeswswnesewneneese
nwneeseeeneeeeeeee
wwswenwwnwnwwwsenwwwwwnwsenew
weneneneeneneswne
nenwswneswswwswwwwwswenewwsesewsw
sesesenenwneswwenesenewesweswseeenw
sweewswwnwenwseseseenwsesw
enwneenwewsenwnwwsewwwsww
nwnweseneswneeneneneweswswwneseswnese
nweseswneeseenwnenenesesenwenenenwwe
nwwnwnwsenwnwnwenenwnwnwsenwswnwsenwwnw
wewwwwseswnwsewwwnenwwwwsenesw
seswseswswswswseseswnwswswesw
sweswwnewneneneneneseneneneenwenene
swwnwswswwwewswswenwwse
senwenwnwwnwesesenwwnwnwnenwsenwnwnwne
seseeeweseswwnenwsenesewnweseeese
nwwewwnwnenwswnwsewswwnewenwnwnwnw
eesweesenweewneeeeenwsweene
newswesenwnewswneswswswseswswnwswnesw
sesesewwsesewseseneeswsenesesenesese
nwnwwswnwnenwwnwwnwnwneseswesenwswnwse
wwnesewnwnesesewsewnwwneneswse
eeweneeneweneeseeewneeeene
neneswnenwnenenwnenenwnwnwene
wwwseswswneenewseswseswwswnenesese
nwnwnwnwseswwnwswnwnwsenwnwsenwsenenwnee
newswswwwwseseneswwswswnewswwww
seseseseneseseswswswseseesenesesewswnwse
eeseswweseeenwsenesesesesesewsesee
neenenenenenwnweesenwesenwenesenesee
nwnwnwnenwswnwnwsenwnwnwnenewnwnw
seswnewswswswswnwe
eswnewneeneneneenenenwnenewnwewswse
wnewnenenwnwseneneseswsewenwsesenwwwse
eeseseweneseseewnesewnesesesenw
seeneeeewseeeneewsesweeseee
seseseswswsenwneeswnwswseseseswseswswnese
sewwswswseneswnwwwwswwne
nwnwnwnenwnwnwwnwnweswnwnwswenw
seswnwseseswnwnwseseenenw
newsewswnwwwneswsewneeeseswnwwenenw
neneeswnenenewseesenewe
seswneswsesewseeswse
sesenwnewneneeeneneneenenenesewnenenenw
wwneneswewswswsew
sewwwnwnwnwwsenwnenwsesenww
nwwnwnenenwwnwwswswswewseneesenewwnw
eeswswneneneneeneeeeseeewneee
wsewswwwnenwswnwswwsenenwenenw
nwwnwwwwnwewnewwwsenwswwswenwne
swsenesenwsesesewseswneeseseseseswsenw
wswswswseeswswswswnwswneweseswswswswnw
wnwnwwnwnwwnwnwwnwwswnwwenwwese
swseesenwswnwsenwswsweeweenwneeenene
neswnenewneneneneneneneneswnesenenesew
wnwneenenewnenenesenwne
senwnwseenesewseswwseswsweswsenenwsee
nwnwnwwnwenwsweswwnwseenwwnwnwnwnw
neseneneneswnwswsenewnewneenwsewnenenese
nwseseswwswseesenesenese
swsenwsewwneesewweswnenwneenwwnwse
eswswwswnenewseseswnwseswswnewswswsesw
wewneseeswwwnwneewnwswwswswwsesw
swseeewseswwswswneswswnwswsw
seewswwswwswsenwnwswwswnewswswswsww
seswswswsesesenewswswsenwswswswneswswsw
enwwwwswswwwswsewswnwnwseeswnwwsw
seneseneswseswseseswwwsweseswnwesesese
eswnesweswswswswnwswswswswwwsw
eeeeweeseseneewe
swnenwenwnwnenesewwswnwnwnwnwne
seswneswswwwsewenewwswwswwwww
seswseseswswswswswsenwsesenwneeewseswswse
wwnwnwwwenwwnwnww
seswseeseeseeneesesesewnese
wnwnwwnesewwwswewsesewnwewwe
swnwseswswswnweswneweswswswswswswnesw
swseseseseseswswseswne
nwswwwwnwswnwsesewenewwsesenwnenw
swwnwsweeewnwnwwsweseswsw
nwnwnwnweswnwsenwnwnwnwnwnwnwnww
eswnenwswnwneeneee
enweneeeeeeesenenee
nwwnwweneeseenenenwnwnwwswswnenenw
eeeneseesweeeewenwesweeee
swswnewswwsesenwwswswwwwewneswswnesw
seseseseseseseesesewesesewe
neswwwwwneswwswwwwsewneneww
wsewwwwwwnwnwnwwnwnww
nenwneneneneneseneneenenenewneswnwesene
swnwseseswswswseweswsweswswnwnesewseesw
weswswneswseewwnwnwneseesese
eewwnwnweswww
swwwwwwwswsewwewswnewwneww
senesesesenwnwnwnenewsenwnwnewnw
nwnenwnwnenenwewseenwnwnenwnwwnewnw
wwwweswwseneneseenwseswnwwnwwwnw
nwnwwswnenwnwnwwwseewswnwnenweww
neswnwnewneneeneneneneneneneneseswnesene
eeenwewseeenwsewnwsewe
nwnwwnwwnesenwnwnwnwnwnwsenwnwswnenwnw
nwseswswswnewnenwnwneneenenwwneneeesw
nwnwnwnwwswsenweenwnweenwnwnwswnwnww
nwesweeeeenweeseweeeeewee
swseseswseswswswswnwnwswswsweneswswsese
swesesweeswswswnwwswswswsewse
wswswweseswswswenwswnwswswnwwwwsw
wsesesesenwswswnwseseseeseseesesesese
wsenewwwwwwwwnewsew
ewswwwwswwwwwnwweswww
enwwnwnenwesewne
wswswseswsesesenesesesese
swseseseswseseseswswnewe
swswnwnenenwswneneneneenenenenenwswnenw
eneeseeseenewseeseewe
nwneseswswswswswnwswswswswwneeseswswne
swswsesesesenwseseesenew
newnwsenwsenenwnwnenwnwnwnesenwwnwnw
eneenenewwneneneneneneseneenesene
wnwseweeenwswsewwneswwneenewewe
nwnwnwwwnwwneenwsenenwseswnwswwnwnw
nwnwswneneswnwnwnenwwnweswswwnwnenwnw
neneenweseswseeewneweneenweseee
eeneweseeeeenwsenweneeeeswswe
ewsewswnwwwwnwneewseswneenewswwe
eeweeesweeeneeeeswswseenwnwee
nwnweswswsewwsenesweswwnwnwenwswe
wwewwsesenwswnwwsenwnenwwnwsewwnw
eewsewwnewwwwneswwwswswswww
enwewswesenweenwneewseswseeee
sesenewswwwweneneseeswnwnenwneee
nwewnwsewnwnenwwnewwse
eseeseseeesesesenwseneswneneswesew
wswwseenewswenwwweswswnenww
neseswseseeswswswwswswnwsenwsweseswswse
eeswwenwnenwneeweseweswneswene
nenwnenwnwnwneneswnenenenwneenenwswseswnw
swneeeeseenweneseeweswneesenwenwsw
nwnwnwsenwwnwsenwnwne
newwnwsenwnewsewswnenwswwenenwnesese
senwsenwnesenwnewnenwne

2
AoC2020/input25

@ -0,0 +1,2 @@
1526110
20175123

2
AoC2020/test25

@ -0,0 +1,2 @@
5764801
17807724
Loading…
Cancel
Save