Inputs, solutions, and other scripts

This commit is contained in:
OMGOMG 2021-11-11 09:21:11 +01:00
commit 7f2143020c
67 changed files with 14792 additions and 0 deletions

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
*.sw?
__pycache__/
tmp
a.out
README.pdf
EMDAER.html

17
README.md Normal file
View File

@ -0,0 +1,17 @@
# Advent of Code 2020 solutions
A set of 25 puzzle inputs and 50 puzzle solutions, two for each day. Most of
these were written within an hour of the puzzle's release. The puzzles can be
found [here](https://adventofcode.com/2020/), although only the first one is
visible until you solve it.
Most solutions output just two lines, the answers to part 1 and 2, but some
provide more information or a rudimentary animation.
Run a solution by passing the input as an argument:
```./four.py input4```
Or via the standard input:
```./fifteen.awk <input15```

64
eight.py Executable file
View File

@ -0,0 +1,64 @@
#!/usr/bin/env python3
from functools import reduce
import numpy as np
import re, sys
import sys
def lst(l): # get nice mutable tuple from line
ins, num = l.split() # space separated fields
num = int(num) if num[0] == '-' else int(num[1:])
return [ins, num]
def nxt(acc, ip, ins, num, size):
size += 1 # NO LOOP AROUND THIS TIME
if ins == 'nop':
return acc, (ip + 1) % size
elif ins == 'acc':
return acc + num, (ip + 1) % size
elif ins == 'jmp':
return acc, (ip + num) % size
else:
return 'fish'
def repmachine(lines):
acc = ip = prev = 0
done = [False for i in range(len(lines))]
while True:
if done[ip]:
return prev
done[ip] = True
prev = acc
acc, ip = nxt(acc, ip, *lines[ip], len(lines))
def machine(lines):
acc = ip = 0
done = [False for i in range(len(lines))]
while True:
if ip == len(lines):
return acc
if done[ip]:
return None
done[ip] = True
acc, ip = nxt(acc, ip, *lines[ip], len(lines))
def fix(ins):
if ins == 'jmp':
return 'nop'
if ins == 'nop':
return 'jmp'
return ins
fn = sys.argv[1] if len(sys.argv) > 1 else 'input8'
with open(fn) as f:
lines = [lst(l.strip()) for l in f.readlines()]
print(repmachine(lines))
for i, l in enumerate(lines):
svi = l[0]
l[0] = fix(l[0])
if machine(lines):
print(machine(lines))
exit()
l[0] = svi

27
eighteen.bash Executable file
View File

@ -0,0 +1,27 @@
#!/bin/bash
addmul="[0-9]+\ [+*]\ [0-9]+"
singpar="\([0-9]+\)"
part1=0 part2=0
while read -r l
do
m="$l"
m=${l//(/((}
m="(${m//)/))})"
m=${m//\*/)*(}
((part2+=m))
while [[ $l =~ $addmul ]]
do
l=${l/"$BASH_REMATCH"/$((BASH_REMATCH))}
if [[ $l =~ $singpar ]]
then
l=${l/"$BASH_REMATCH"/$((BASH_REMATCH))}
fi
done
((part1+=l))
done
echo "$part1"
echo "$part2"

32
eighteen.py Executable file
View File

@ -0,0 +1,32 @@
#!/usr/bin/env python3
import re, sys
class ltr:
def __init__(self, n):
self.val = n
def __add__(self, x):
return ltr(self.val + x.val)
def __sub__(self, x):
return ltr(self.val * x.val)
class flip:
def __init__(self, n):
self.val = n
def __truediv__(self, x):
return flip(self.val + x.val)
def __sub__(self, x):
return flip(self.val * x.val)
def toltr(l):
return re.sub(r'(\d)', r'ltr(\1)', l.replace('*', '-'))
def toflip(l):
return re.sub(r'(\d)', r'flip(\1)', l.replace('*', '-').replace('+', '/'))
fn = sys.argv[1] if len(sys.argv) > 1 else 'input%s' % 18
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
print(sum(eval(toltr(l)).val for l in lines))
print(sum(eval(toflip(l)).val for l in lines))

83
eleven.py Executable file
View File

@ -0,0 +1,83 @@
#!/usr/bin/env python3
from functools import reduce
import re, sys
import sys
import numpy as np
empty, seat, occ = 0, 1, 2
def tpl(l): # get nice tuple from line
return [seat if x == 'L' else empty for x in l]
def pp(*args):
print(*args)
def p(image):
for y in range(image.shape[0]):
for x in range(image.shape[1]):
sys.stdout.write('.L#'[image[y][x]])
pp()
pp()
def frob(image):
padded = np.pad(image, 1)
sur = sum(padded[offy:offy+image.shape[0], offx:offx+image.shape[1]] == occ
for offy in range(3)
for offx in range(3)) - (image == occ)
# sod it
new = (occ if np.any(sur == 0) and np.any(image == seat) else
seat if np.any(sur >= 4) and np.any(image == occ) else
image)
new = np.zeros(image.shape, dtype=int)
for (y, x), c in np.ndenumerate(image):
new[y][x] = (occ if sur[y][x] == 0 and c == seat else
(seat if sur[y][x] >= 4 and c == occ else
c))
return new
def throb(image):
pads = max(image.shape)
padded = np.pad(image.astype('uint32'), ((pads, pads), (pads, pads)))
sur = np.zeros(image.shape, dtype=int)
for y in range(image.shape[0]):
for x in range(image.shape[1]):
for offy in range(-1, 2):
for offx in range(-1, 2):
if offx == 0 and offy == 0:
continue
for step in range(1, pads + 1):
if padded[pads+y+offy*step][pads+x+offx*step] == seat:
break
if padded[pads+y+offy*step][pads+x+offx*step] == occ:
sur[y][x] += 1
break
new = np.zeros(image.shape, dtype=int)
for (y, x), c in np.ndenumerate(image):
new[y][x] = (occ if sur[y][x] == 0 and c == seat else
(seat if sur[y][x] >= 5 and c == occ else
c))
return new
fn = sys.argv[1] if len(sys.argv) > 1 else 'input11'
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
arr = np.asarray([tpl(l) for l in lines], dtype=int)
#p(arr)
while True:
new = frob(arr)
#p(new)
if (new == arr).all():
pp(sum(sum(new == (np.ones(new.shape) * occ))))
break
arr = new
arr = np.asarray([tpl(l) for l in lines], dtype=int)
while True:
new = throb(arr)
#p(new)
if (new == arr).all():
pp(sum(sum(new == (np.ones(new.shape) * occ))))
break
arr = new

25
fifteen.awk Executable file
View File

@ -0,0 +1,25 @@
#!/usr/bin/awk -f
BEGIN {
RS=","
}
{
spoke[$1]=NR
}
END {
nxt = 0
i=NR
while(++i <= 30000000) {
if(!(i%1000000))
printf "."
if(i == 30000000)
print "\n"nxt
else if(i == 2020)
print nxt
prev = nxt
nxt = spoke[prev] ? i - spoke[prev] : 0
spoke[prev] = i
}
}

11
first Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
if [[ $# = 1 ]]; then
day=$1
else
day="$(date +%d | sed 's/^0//')"
fi
read -r answer < <(tail -n 1)
curl -D - "https://adventofcode.com/2020/day/$day/answer" -H "Cookie: session=$(cat cookie)" --data-raw "level=1&answer=$answer" | grep '<article>'

14
five.awk Executable file
View File

@ -0,0 +1,14 @@
#!/usr/bin/awk -f
BEGIN {
FS=""
}
{
sum=0
for(i=1;i<=10;i++) {
sum *= 2
if($(i) ~ /[BR]/) sum++
}
print sum, $0
}

15
five.py Executable file
View File

@ -0,0 +1,15 @@
#!/usr/bin/env python3
import sys
def bp(l):
return sum(2**(9-a) * (b in 'BR') for a, b in enumerate(l))
fn = sys.argv[1] if len(sys.argv) > 1 else 'input5'
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
print(max(bp(l) for l in lines))
sl = sorted(bp(l) for l in lines)
print(next(a+1 for a, b in zip(sl, sl[1:]) if a + 1 != b))

8
five.txt Normal file
View File

@ -0,0 +1,8 @@
poppy:~/fondue/aoc/twenty(uio)$ ./five.py|sort -n|awk '{print $1 - NR, $1}'|less
poppy:~/fondue/aoc/twenty(uio)$ second<<<539
poppy:~/fondue/aoc/twenty(uio)$ ./five.awk input5 |sort -n|awk '$1!=(a+1) {us=a+1} 1 {a=$1} END {print $1; print us}'
poppy:~/fondue/aoc/twenty(uio)$ bc < <(echo 'ibase=2'; tr FLBR 0011 <input5) |sort -n |awk '$1!=a+1 {us=a+1} {a=$1} END {print $1; print us}'
poppy:~/fondue/aoc/twenty(uio)$ bc< <(echo 'ibase=2';tr FLBR 0011 <input5)|sort -n|awk '$1!=a+1{s=a+1}{a=$1}END{print$1"\n"s}'

15
fivereduce.py Executable file
View File

@ -0,0 +1,15 @@
#!/usr/bin/env python3
import sys
from functools import reduce
def bp(l):
return reduce(lambda a, b: a*2 + (b in 'BR'), (0, *list(l)))
fn = sys.argv[1] if len(sys.argv) > 1 else 'input5'
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
sl = sorted(bp(l) for l in lines)
print(sl[-1])
print(next(a+1 for a, b in zip(sl, sl[1:]) if a + 1 != b))

14
fivesub.py Executable file
View File

@ -0,0 +1,14 @@
#!/usr/bin/env python3
import re, sys
def bp(l):
return int(re.sub('[FL]', '0', re.sub('[BR]', '1', l)), base=2)
fn = sys.argv[1] if len(sys.argv) > 1 else 'input5'
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
sl = sorted(bp(l) for l in lines)
print(sl[-1])
print(next(a+1 for a, b in zip(sl, sl[1:]) if a + 1 != b))

45
four.py Executable file
View File

@ -0,0 +1,45 @@
#!/usr/bin/env python3
import re, sys
def dic(l): # get nice dictonary from line(s)
ssf = l.split() # whitespace (' ' or '\n') separated fields
dic = {a: b for a, b in (x.split(':') for x in ssf)}
return dic
def ok(dic):
nec = 'byr iyr eyr hgt hcl ecl pid'.split()
return all(n in dic for n in nec)
def inrange(x, min, max):
return x >= min and x <= max
def goodheight(h):
try:
unit = h[-2:]
n = int(h[:-2])
return unit == 'in' and inrange(n, 59, 76) or \
unit == 'cm' and inrange(n, 150, 193)
except:
return False
def ok2(dic):
return True if \
(ok(dic)
and all(inrange(int(dic[y]), a, b) for y, a, b in (('byr', 1920, 2002),
('iyr', 2010, 2020),
('eyr', 2020, 2030)))
and goodheight(dic['hgt'])
and re.match('^#[0-9a-f]{6}$', dic['hcl'])
and dic['ecl'] in 'amb blu brn gry grn hzl oth'.split()
and re.match('^[0-9]{9}$', dic['pid'])) else False
fn = sys.argv[1] if len(sys.argv) > 1 else 'input4'
with open(fn) as f:
pgphs = f.read().split('\n\n')
ct = sum(ok(dic(p)) for p in pgphs)
print(ct)
ct = sum(ok2(dic(p)) for p in pgphs)
print(ct)

60
fourteen.py Executable file
View File

@ -0,0 +1,60 @@
#!/usr/bin/env python3
from functools import reduce
import sys
def tpl(l):
me, rest = l.split(' = ') # e.g.
return me, rest
def mask(m, n):
orm = reduce(lambda a, b: a*2 + (b == '1'), (0, *list(m)))
andm = reduce(lambda a, b: a*2 + (b != '0'), (1, *list(m)))
return (n & andm | orm)
def bmask(m, n):
orm = reduce(lambda a, b: a*2 + (b == '1'), (0, *list(m)))
res = (n | orm)
return res
def setmem(d, adr, ghost, val):
if ghost == []:
return
g = ghost[0]
orm = 2**g
andm = ~(2**g)
d[adr|orm] = val
d[adr&andm] = val
setmem(d, adr|orm, ghost[1:], val)
setmem(d, adr&andm, ghost[1:], val)
def address(s):
a = int(s[4:-1])
return a
def ghosts(m):
g = [(35 - i) for i, j in enumerate(m) if j == 'X']
return g
fn = sys.argv[1] if len(sys.argv) > 1 else 'input%s' % 14
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
_, m = tpl(lines[0])
t = [tpl(l) for l in lines]
d = {}
for a, b in t:
if a == 'mask':
m = b
else:
d[a] = mask(m, int(b))
print(sum(d.values()))
d = {}
for a, b in t:
if a == 'mask':
m = b
else:
setmem(d, bmask(m, address(a)), ghosts(m), int(b))
print(sum(d.values()))

20
gettoday Executable file
View File

@ -0,0 +1,20 @@
#!/usr/bin/env bash
year=2020
day="$(date +%d | sed 's/^0//')"
case $# in
2)
year=$2
day=$1
specifyyear=_$year;;
1)
day=$1
esac
file=input$day$specifyyear
#cd ~/repos/aoc/twenty/
curl -s -o $file -H "Cookie: session=$(cat cookie)" \
https://adventofcode.com/$year/day/$day/input
git add $file
git commit -m "input day $day $year" $file >/dev/null # cron appreciates silence

200
input1 Normal file
View File

@ -0,0 +1,200 @@
1046
1565
1179
1889
1683
1837
1973
1584
1581
192
1857
1373
1715
1473
1770
1907
1918
1909
1880
1903
1835
1887
1511
1844
1628
1688
1545
1469
1620
1751
1893
1861
511
1201
1641
1874
1946
1701
1777
1829
1609
1805
1678
1928
1398
1555
1675
1798
1485
1911
1974
1663
1919
1635
195
1441
1525
1490
1151
1406
1408
1095
1085
1097
1976
1987
1498
1753
1603
1933
1729
1106
1929
1832
1744
1914
1643
1571
1391
1953
1790
1797
1938
258
1957
1858
1506
628
1109
1113
1768
1649
1669
694
1803
1849
1395
1754
1421
1575
1632
1998
1693
1499
1550
1771
1902
1801
1549
1459
1826
1927
1507
1718
647
1922
1432
1625
1904
1691
1427
1519
1949
1514
1749
1616
1898
1696
1917
1661
1787
1440
1796
1560
1956
1823
1815
1557
1730
1951
1548
1527
1881
1727
1530
1460
1360
1583
1662
1954
1890
1855
1752
1935
1601
1767
1812
1990
1445
1908
2001
1544
1814
1634
1532
1788
1521
1638
1470
1524
1394
1674
1314
1588
1429
1745
1416
1637
1942
484
1467
1764
1743
1401
1471
1458
1335
1866
1399
1393
1708
1694
1447
1972
1478
1182
1672
1813
1546
1535

100
input10 Normal file
View File

@ -0,0 +1,100 @@
46
63
21
115
125
35
89
17
116
90
51
66
111
142
148
60
2
50
82
20
47
24
80
101
103
16
34
72
145
141
124
14
123
27
62
61
95
138
29
7
149
147
104
152
22
81
11
96
97
30
41
98
59
45
88
37
10
114
110
4
56
122
139
117
108
91
36
146
131
109
31
75
70
140
38
121
3
28
118
54
107
84
15
76
71
102
130
132
87
55
129
83
23
42
69
1
77
135
128
94

97
input11 Normal file
View File

@ -0,0 +1,97 @@
LLLLLLLLL.L.LLL.L.LLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLL
LLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLL.LLL.LLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL
L..LL.L.L....L..L.L....L.....L.L.L......L..L..L....L.LL.......L.....L....L..L................L....
LLLLLLLLLLLLLLL.LLL.LLL.LLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL..LLLLLLLL.LLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLL.LLLLLLLLL.LLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLL.LLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LL.LLLLLLLLLLLL.LLL.LLL.LLLLLLLL.LLLLLLLL.LLLLLLL..LLLL.LLLLLLL.LLLL.LLLLLL.LLLLL.LLLL.LL.LLLLLLLL
LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLLLL.L.LLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLLLLLLLLLL.LLLL.LLL.LLLLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLLL.LLLL.LLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLLLLL.LL.LLLLLLLLLLLLLLLL
.LLLL..L.L..L....L.LLL...LLL..L.L....L.L.L...L.....L...L.....L...L..L...LL...L..LLL..L...L....L..L
LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLL
LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLL.LLLL..LLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL..LLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLL
.....LL...LL..L...L..L..LL.L..LLL...L..L.LLL...LLL..L.....L...L.....L........LLLL..LLL.....L....L.
LLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLLLLLLLL.LL
LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLL.LL.LLLLLLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLL.L
LLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLL.LLL.LLLLLLLLL.LLLLLLL.LLLL.LLL.LL.LLLLL.LLLLLLLLLLLLLLLL
LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.L.LLLLL.LLLLLLLL
....L..LL.L.L......L..LL.......LL......L..L...L..L.........LL....LL.LLL..LLLL..L..L.......L....L..
LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLL
LLLLLLLLL.LLL.L.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLL.LLLLLLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL
.LL..LLLLL.LL.L...L...L...L....LLLL...LLLL.LL...LL...L.LL...LL..LL.L..L......L....L.L.L.L...LL...L
LLLLLLLLL.LLLLLLLLLLLLL..LLLLLLL.LLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLLLLL.LL.LLLLLLLLLLLLLLLL
LLLLLLLLL.LLLLL.L.LLLLL.LLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLL.LLLL..LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLL.LL.LL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLLLLL.LLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLL.LLLLLLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLL.LLLLL.L.LLLLLLLL
....L.........LL...L.L..LL.L.L..L......L.L.L...L....L.......LL.LL....L.L...L....L...L....L...L....
L.LLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LL..LLLL
LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLL..LLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.L.LLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL
LLLLLL.LL.LLLLLLLLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL
LLL..L.L........L...L..L.LLLLLLL..LLLL..L...L..L.L..LLL....L..L.LLL..L...L..L.......L.LLLLLL.LL.L.
LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLL.LL.LLLL.LLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLL.LL.LL.LLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLL.LLL.LLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL
L...L.....LL....L.L.LLLLL.....L....LL..L.....L...L.L.LL.......LL...LL............L.L..L..LLL..LL..
LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLL.LLLLL.LLLLLLL.LLLLL.LL
LL.LLLLLLLLLLLL.L.LLL.LLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LL.LLLL.LLLLLL.LLLLL.LLLLLLL.L.LLLLLL
LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLL.LLLL
LLLLLLLLL.LLLLL.L.LLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLL
LLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLL.LLLLLL..LLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL
LL...L.........L..LLL........L.L..L....L.L.L....LLLL.LL.L....LL....L.LL.LLL..L..L....LL.L......LLL
LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.L.LLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL
...L........L....L.L.LL.LL.L.L.....L.L..L.....LL....L..L.L.L..L..L.L...L.........L.LL.LLLLL..L....
LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLL..LLLL.LLLLLLL.LLLLLLLLLLL.LLL.L.LLLLLLLLLLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLL.L.LLLLLLLL
LLLLLLLLL.LLLLLLLLLLLLL.LL.LLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLL..LLLLLLL
LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL
..LLLL.L..LL.L......LL.L...L.L..L....LLL.........L....L.......LL.LLL.L.L.....LL.L...L.LLL....L....
LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.L.LLL.LLLLLLL.LLLL.LLLLLL.LLLL..LLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.L.LLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLLLLLLLLLLLLL.LL.LLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLL
LLLL.LLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL
LL...LLLLL.....LL..L.....L....L......L.L........LL......LL.LL..L..LLL.L...L..L..L.L.....LLLL...LLL
LLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLL.LL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLL.LLLLL.LLL.LLLLLLL.LLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLL
.LL..L.....LLLL.LL..L.LL....L.LL...L..LL......L..LL...LL..L.L.LLLL...LL.L..L..LLL.L.L.....L.LL.LL.
LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLL.LL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLL.LLLL.LLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLL.LLLLL.LL
LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLL.LLLL..LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLL.L.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL

759
input12 Normal file
View File

@ -0,0 +1,759 @@
F70
S4
E3
S4
L90
N4
R90
W3
F75
S5
L90
E1
S4
F98
N4
R90
S3
L90
W1
F39
W2
L90
E1
F99
S3
E5
F63
N4
F26
E1
R180
F58
N3
F4
E1
F45
E4
R90
E3
F76
S1
F22
R90
N1
W1
F76
W1
N5
E3
L180
S5
F87
W4
L90
F9
S2
F11
N4
L180
S3
R90
F92
L90
S1
E4
R90
W1
F1
S2
L90
F27
N3
E1
N1
E3
L180
S1
S5
R180
W5
W5
F60
S5
W5
L270
N3
R90
F65
S5
F53
W5
L90
N1
W5
L180
F87
W2
R180
S2
F77
N1
F81
L180
E5
N5
W4
L90
W4
L90
E3
N2
L90
W2
S1
F19
W1
F82
N4
R270
E5
L90
N3
R90
F81
L270
W3
R90
L270
N3
F53
E2
F84
R90
S2
F39
R180
N1
L90
F11
S2
W5
F20
W1
N4
R90
F76
E3
S5
E3
S5
W5
S2
L90
N3
E3
S5
F27
W1
L90
F65
W3
R180
F84
W2
N5
F43
L180
W3
F11
W2
R90
N1
R90
N5
W1
S4
N4
F88
N3
F87
W3
L90
F77
S5
F18
N4
F97
E5
S5
R90
F94
N5
L180
F8
N4
R90
W2
N2
L180
F4
R90
W4
S3
R90
F38
S3
E1
N5
F4
E3
R90
S4
F95
E5
F77
F32
W5
F3
R90
N1
W3
F96
L270
N2
E2
F30
S3
W2
R90
F57
R90
E1
R90
N5
E1
N4
W4
N1
W2
F47
N5
W3
L90
N4
F50
E3
R90
F27
N3
F78
N2
R90
F100
S3
F67
R90
N4
R90
N4
F88
S4
E2
S2
F31
S5
R90
W3
R180
W2
F97
F31
N1
L90
S4
F50
N3
W2
L180
F85
L180
E3
L90
F95
N4
L90
E1
S2
R180
N2
F19
N5
E5
S1
W5
R90
N1
L180
F76
S4
E5
S2
S5
E3
F53
L90
S3
E4
S1
E1
L90
F54
W1
S1
E2
N1
R90
S3
R90
F63
L90
W4
L90
F47
L90
E5
F23
W2
F97
E3
L90
N4
F54
W3
S4
W3
S2
F67
W1
S4
R90
S5
R90
W4
L180
L90
S4
F19
F42
S4
F91
R90
L180
F64
L180
W4
R90
F32
N3
F18
E2
L180
N4
E2
N1
E4
N4
F54
W5
F50
N3
L90
N5
R90
F100
E4
N1
E3
L90
F8
L90
E4
L270
F95
L90
F44
E5
R90
F79
N5
F61
S2
F71
L90
F4
N3
F25
L180
F7
W4
F96
R90
S1
R90
W1
F9
N2
W5
F1
R90
N2
F36
W4
R90
F96
W2
F26
S2
F28
E4
N1
F33
N5
F51
W2
S1
F40
N3
F67
E3
S2
R90
W1
S3
E3
L90
F75
E3
N5
E2
F52
E3
F7
N4
F4
S4
L90
S2
W5
F85
F7
L180
E1
L90
E2
S3
R180
N3
E2
R90
N5
F6
N2
L90
W1
R90
R90
F91
E2
N4
R90
S2
E3
S3
L90
W3
F61
S1
L90
W3
N2
E1
R180
E2
W5
R90
F65
N4
W3
F54
E1
N3
E5
L180
S4
N3
E5
R90
S3
R90
S4
W4
F31
S5
R90
N2
E3
F49
F47
W3
F79
R270
W2
F90
S3
F73
L180
F14
W4
F27
R90
F75
L90
N5
R90
N4
L90
N4
E2
S1
W1
S4
W5
W1
F7
W5
L180
E1
S1
F82
F36
N2
L90
E1
L90
S4
L180
N2
W3
F21
R270
F18
R180
F93
L90
W2
F4
E1
R90
E2
S3
W4
F30
E1
F69
W5
R90
E2
L180
S4
W1
N1
E3
L90
E3
R90
F69
R90
S2
L90
N4
F13
L90
E2
L90
N2
W2
N5
S4
F70
R90
F67
E4
F62
L270
F98
L90
E5
F15
E5
R90
W3
E2
F25
R180
F7
L180
W4
S3
F42
R180
R270
N1
R180
S2
F37
E2
F72
N5
W5
F61
F43
W3
R90
R270
N5
R270
E4
L90
W4
F31
F43
L180
S3
W4
R90
F20
E2
S5
L90
F75
R90
F52
W3
L90
N5
W5
N4
R90
F52
W3
F91
E1
N2
F81
R90
E2
L90
F24
E2
L180
E1
F55
E1
L90
E5
R90
F23
S3
R180
S3
F8
L180
S1
N3
F90
N5
W3
N4
L90
N3
W5
R90
E4
S4
F89
W3
N2
R90
F18
R180
W5
E4
F100
N4
F40
E3
S2
E2
F16
R90
S2
L180
F58
W1
F70
S1
R90
W3
L90
S4
F48
R90
W1
N5
E3
R90
E1
L90
F1
R90
N1
E3
F39
W3
R90
E3
L90
N5
R90
S3
W4
R180
E1
S3
F56
L90
F98
N2
W4
F67
R90
W3
S1
F33
R90
F42
L90
R90
E4
R90
E3
F74
E4
R270
F62
S5
L90
E4
F21

2
input13 Normal file
View File

@ -0,0 +1,2 @@
1004345
41,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,37,x,x,x,x,x,379,x,x,x,x,x,x,x,23,x,x,x,x,13,x,x,x,17,x,x,x,x,x,x,x,x,x,x,x,29,x,557,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,19

578
input14 Normal file
View File

@ -0,0 +1,578 @@
mask = 00X10101X110010011XX0X011X100000X010
mem[13197] = 47579321
mem[37394] = 374943
mem[48509] = 418284
mem[29793] = 191792725
mask = 00100X001010010111XX010X10X01100001X
mem[378] = 9637
mem[41083] = 1858241
mem[36394] = 762
mem[40101] = 15295
mem[50670] = 9179863
mem[30384] = 164245
mem[11676] = 393669095
mask = 0XX000X1111001010X10XX1101XX00X00100
mem[17956] = 854
mem[57595] = 179871
mem[50596] = 207644327
mask = X100XX0111X0X1X01101X0X0110010101011
mem[26867] = 1012
mem[3061] = 514891024
mem[35973] = 512
mask = 01X000111110010X1110X00110000X00000X
mem[3707] = 123619
mem[37107] = 7325808
mem[31906] = 102168
mask = XX00XX0101100X011100000XX00100000X00
mem[38336] = 2917310
mem[7166] = 313228
mem[41771] = 2741721
mem[52154] = 89454
mask = 11001111X110X0XX10XX11101111000X0111
mem[35611] = 58725
mem[40227] = 8442431
mem[10029] = 7334
mem[13345] = 87327004
mask = 0XX0X0001010011011010XX0X110XX01X001
mem[4868] = 493430
mem[40452] = 18191
mem[4567] = 330532
mem[13580] = 1662243
mask = 001X00011000X1X0X1X0110X110111001011
mem[2096] = 25174
mem[15283] = 994663544
mem[16002] = 1359
mem[4240] = 704816
mask = 01000011101001001010110X10011X11XX01
mem[16210] = 279177
mem[8996] = 6470256
mem[31049] = 1371071
mem[20425] = 9683526
mem[24986] = 142094045
mask = 0X001X01X1X0110X10XX0X01X00101111010
mem[61471] = 23661
mem[57520] = 246980
mem[57446] = 4169790
mask = 001000X11110010111X000X00X0011X01001
mem[25460] = 1461
mem[528] = 48572826
mem[61442] = 1487
mem[60708] = 1804
mem[51588] = 36111
mask = 0X000001111001010X1011100100001X0X0X
mem[45713] = 3807909
mem[26867] = 6236
mem[39186] = 3023142
mem[46212] = 5671589
mem[28686] = 10375260
mask = 00X0000XXX10X1011100X100001X0X100010
mem[7272] = 1073
mem[35482] = 1877478
mask = 01X00XX11110X11X110X1000010XXX101110
mem[28892] = 2154970
mem[33403] = 34104
mem[56124] = 11230
mem[11265] = 484054168
mem[36422] = 1080979
mask = 00000001X11001X1110001X01000101XXXX0
mem[8445] = 2387
mem[55775] = 8215
mask = 110001101110110X10010X00XX1X01010100
mem[49202] = 4152007
mem[49938] = 4676666
mem[58184] = 43886544
mem[35840] = 8484248
mem[25642] = 1980350
mem[37918] = 1692542
mem[44918] = 43860354
mask = 0X000X011110010X1100X10X100X1X111100
mem[24669] = 15051033
mem[43432] = 1054
mem[64706] = 21834
mem[27336] = 773822
mem[24406] = 420
mask = 00XX01111X1001001X0001101001111101XX
mem[48221] = 256859
mem[1361] = 145480785
mem[8221] = 32962081
mem[11649] = 327597066
mem[6355] = 3866
mem[33696] = 951794
mask = X10XX0010110011010111100X010X000000X
mem[51014] = 577
mem[38304] = 7416
mem[34256] = 3748
mem[12926] = 306
mem[39297] = 1823498
mask = 0000X00XXX10011XX000000X10X010100001
mem[18788] = 7298
mem[39644] = 7675
mem[33093] = 416832
mem[5195] = 6722351
mem[28000] = 53707945
mem[5336] = 77314873
mem[992] = 134079888
mask = 0000X101110X010011X0000000X011X1X101
mem[8536] = 401336
mem[1632] = 1267
mem[6456] = 581
mem[31682] = 20542
mem[27729] = 726
mem[49447] = 37811
mask = 0X0X00111XX001XX111X1011010X100X0111
mem[38677] = 9808
mem[54045] = 28545
mem[30384] = 49811
mem[62515] = 19422
mem[14508] = 49363
mask = X100X1X1011X1111011X01101000X11XX101
mem[59468] = 387
mem[37138] = 121701873
mem[18728] = 2624430
mem[28293] = 5039090
mem[32321] = 839768
mem[28535] = 647
mask = XX100X0010100XX1110X11000110X100X00X
mem[2147] = 1562
mem[25832] = 275992750
mask = 110XX0X10110X11X10X1110X10100X000000
mem[22152] = 470276298
mem[60732] = 716
mem[52727] = 1427169
mem[16196] = 9596060
mem[3910] = 28432777
mask = 01X0001111100X101110110X011XXX01X011
mem[8221] = 60956
mem[1223] = 293
mem[24130] = 777493
mem[62002] = 3900
mem[20316] = 26105612
mem[58295] = 528344031
mem[12465] = 1159
mask = 11000X011110010010011100100XX111100X
mem[59580] = 3601634
mem[31173] = 325319
mem[28284] = 2285676
mem[57595] = 8662764
mem[32672] = 4111107
mask = 01000001X1100101XX0X01101X1X00011X0X
mem[33093] = 4612
mem[61749] = 5692
mem[28188] = 26420039
mem[59026] = 1325
mem[37032] = 149
mask = 01000X11111001X11110011X111X01100X01
mem[23793] = 131971
mem[10420] = 848652
mem[10469] = 33394600
mem[23001] = 1875
mask = 01001111011X1X1XXX1X001XX11100011X10
mem[38294] = 371641
mem[17261] = 72227824
mem[41143] = 213405737
mem[54246] = 1445548
mem[41901] = 1849824
mask = 0X00110X01101100XX101011001110XX1101
mem[42925] = 176752065
mem[17255] = 12010392
mem[37437] = 64942
mem[57253] = 827582
mask = 11X10X101111XX0010X10101100100010110
mem[14344] = 6638562
mem[40266] = 89477554
mem[9511] = 1133
mem[53072] = 748643130
mem[4567] = 372
mem[26565] = 4739
mask = 00010XX1X11X010X11X000100111001X1110
mem[4247] = 17837
mem[18674] = 2031700
mem[47487] = 89684677
mask = 110X1X11011X101110111101XX01001100X0
mem[22046] = 3445
mem[55657] = 29187
mem[38510] = 159862
mask = 0100000X11X00100110X01101X0011001100
mem[12772] = 3394234
mem[30255] = 47301946
mem[55181] = 11825301
mem[2096] = 239
mem[6355] = 66264
mem[62103] = 62751352
mask = X100010XXX10X1001110001001X10X100X0X
mem[18880] = 12756
mem[52727] = 58449492
mem[52620] = 106260805
mask = 01000X011110010XX110X11001100X000XXX
mem[5734] = 3770
mem[46419] = 12806425
mem[26866] = 6566928
mask = X1001XX101101X1X10111X0X1111001101X0
mem[54847] = 8045
mem[61036] = 1672
mem[32929] = 87423486
mem[48539] = 13896
mem[14353] = 7009065
mem[16446] = 32987614
mask = 00100000X111110X1110X101100000100X00
mem[23863] = 4070
mem[52234] = 498973
mem[20235] = 1706949
mask = 00X000011110X100110X11100X0X10X01010
mem[44286] = 26378
mem[30741] = 14368000
mem[7396] = 88194752
mask = 0X001X01X11011X0101X1010XX01X01000X0
mem[6834] = 2670580
mem[15903] = 6945101
mem[10104] = 2517
mem[65020] = 61602027
mem[55142] = 1143278
mem[38596] = 1333
mem[17509] = 153504934
mask = 00XX0X01111XX10111X00X10X0111011110X
mem[568] = 1625
mem[30255] = 248279
mem[11912] = 538
mem[12028] = 520033
mask = 0010XX011X00X10011X001XX1100X1000001
mem[15654] = 120
mem[4292] = 57554
mem[2096] = 346664
mem[1248] = 10995
mem[48539] = 656539
mem[19181] = 147211
mask = 1010010X110001001100X1X00X0011010X01
mem[11344] = 4845730
mem[60639] = 25030928
mem[1005] = 12960528
mem[47688] = 107547855
mem[17509] = 728745
mask = X00000011X10X10X11000101101000000100
mem[46621] = 1608
mem[5562] = 15064109
mem[28385] = 1651
mem[5734] = 288099689
mem[49319] = 97558812
mem[37739] = 1161
mem[52727] = 1992490
mask = 0001010XX110010X110000X01X10X011XX1X
mem[37366] = 735085354
mem[1739] = 409
mem[12604] = 754989
mask = 00000X011110010011000X001X0100XX0000
mem[29851] = 8508
mem[44133] = 1998890
mem[24804] = 6068
mem[59260] = 1198469
mem[59580] = 10413954
mask = 00110111X01X010010X00000X10X00110110
mem[55579] = 418284890
mem[7573] = 1800
mem[26096] = 1469134
mem[44133] = 25531796
mem[39628] = 7076590
mask = 0000000111X0010111X001011XX0000X1X00
mem[24778] = 24875864
mem[10420] = 3072761
mem[2096] = 2762
mem[30148] = 6696
mem[17770] = 13204967
mask = 0011010101X00X0X1100X000110011100101
mem[57742] = 21044093
mem[33266] = 56667
mem[61442] = 1636
mem[51870] = 1018197644
mem[40469] = 77760
mask = X0X001XX11000X0011X00100010011X00X01
mem[11504] = 438885
mem[53777] = 6130
mem[17770] = 808014
mask = 000X001111100101XX100010X010X1100100
mem[35611] = 1215
mem[10397] = 301
mem[10866] = 8375216
mem[2499] = 10472
mem[63504] = 270966
mem[7719] = 2064
mem[41088] = 343764913
mask = 010X1X00X1X0X1101X0X00111101001X0101
mem[20597] = 773
mem[14657] = 294987038
mask = 00XX0001X110010111100000X01010100111
mem[43170] = 365
mem[55657] = 4882105
mem[44170] = 628956
mem[10429] = 947957
mem[272] = 36059
mask = 0X000011X0X0010X1X1011110100101XXXX1
mem[3910] = 2312
mem[47735] = 89421
mem[2197] = 32972549
mem[49938] = 7005
mask = 00000100X100X100111X0101011X11010101
mem[54400] = 830
mem[43977] = 2412350
mem[18229] = 19157634
mem[19181] = 879884567
mask = 000101X11X100100X100011X000100110001
mem[37237] = 104037633
mem[29167] = 1094
mem[6308] = 6007
mem[21610] = 80462437
mem[2261] = 345450311
mask = 0X0000X1111001011110X01X1XX01010X0XX
mem[10892] = 85035
mem[38510] = 42597708
mem[30752] = 2960
mem[30416] = 123661909
mem[49045] = 913
mem[4292] = 75
mem[17509] = 1382
mask = 1X00X00111X001X0100101001X110X0001X0
mem[56241] = 8276
mem[40782] = 243373
mem[42397] = 43237586
mem[13015] = 399
mem[23129] = 735838
mem[1385] = 4448
mask = 0000X011000XX100X110111101X110X010X1
mem[13015] = 247
mem[42378] = 546670
mem[8214] = 63809
mem[22410] = 155149
mem[55264] = 454543598
mem[28778] = 69088880
mem[48061] = 12489909
mask = 0XX0X000XX1001X01101001000000100X1X1
mem[7551] = 11717790
mem[6107] = 50467
mem[30752] = 4249755
mem[17228] = 33884
mem[59957] = 32163540
mask = 1X0X0X10111X01001X0101011X0X0X0101X0
mem[45349] = 1879078
mem[31733] = 88189
mem[12577] = 546676501
mem[53419] = 16199
mem[59921] = 2546
mask = 0010001X110001X1X110100101X111000000
mem[19998] = 179736
mem[22061] = 30001652
mem[41371] = 16212851
mem[64355] = 622251640
mem[23129] = 98852
mem[56429] = 266
mask = 00000X0X11X00XX1100001X0100010X0X100
mem[37241] = 450
mem[64833] = 219911344
mem[16713] = 626602448
mask = X1X01011X11010111011XX000001X01XX100
mem[47336] = 15388
mem[56124] = 582872
mem[28686] = 27406190
mem[34623] = 13146
mem[30384] = 229541309
mask = X00X011X11100100110X00110001XXX00000
mem[18660] = 3353
mem[30741] = 10036798
mem[47487] = 4090
mask = 00X0000X11100X011X0001101001X10X10X0
mem[52567] = 730515
mem[16156] = 10615261
mem[29580] = 957414770
mem[26765] = 19
mem[24655] = 510031974
mem[24669] = 30
mem[46781] = 5769
mask = 0X0010011110111010X000X0X11X101001X0
mem[63285] = 8050
mem[46893] = 981797
mem[46022] = 984778
mem[31931] = 67780
mem[23543] = 3153
mask = 1100X001X11001X01001X100111X01X0X100
mem[53172] = 13616323
mem[31500] = 117639
mem[59037] = 106552607
mem[54562] = 3408946
mem[57159] = 411910
mem[2824] = 61677145
mem[47313] = 520051559
mask = X100010111100100XX0XX110100001010101
mem[37739] = 3912032
mem[12772] = 884026
mem[2217] = 4238
mem[57159] = 28391
mem[17146] = 3998
mask = 00000001111001X11X000110101X1X11X100
mem[11649] = 516652
mem[21190] = 526
mem[6364] = 274816
mem[25567] = 190071
mask = XXX00000X111010111001001111000X00000
mem[25786] = 934
mem[22026] = 215203
mask = 0010000110X0110X11X001001101110X0011
mem[59392] = 400
mem[59580] = 927
mem[15208] = 18515970
mem[59444] = 245687
mem[36248] = 893
mem[59134] = 20240
mask = 0X0XX1X11110X1011010000110000010000X
mem[11344] = 223586488
mem[41434] = 519191086
mem[15028] = 1492592
mem[25631] = 247281
mask = 11X0XX1011101000X0011X00X101X1111000
mem[21825] = 1675
mem[2371] = 663473
mem[37724] = 4339
mem[54246] = 855
mem[9392] = 56579
mem[35552] = 14454
mask = 0100010111100100111X110X00X01000X1X0
mem[44516] = 482691
mem[26528] = 1559
mem[53886] = 89643332
mem[3478] = 12699372
mask = 0011010111X00100XXX0XX1X10XX10100001
mem[27239] = 413074512
mem[15589] = 3001
mem[10011] = 1136
mem[59026] = 852921
mem[5283] = 213015528
mask = 00X0000XX11XX10111X0000001X000101000
mem[17298] = 4088539
mem[54369] = 505389469
mem[8221] = 132829
mem[55115] = 5055
mem[56330] = 1932140
mask = 01X00001111001010110111001X00010X0XX
mem[37467] = 127273625
mem[38432] = 3166735
mem[52727] = 998
mem[42925] = 1733202
mask = 11010011011011X01X01010XX10110110000
mem[26085] = 233531
mem[57079] = 1526
mem[53172] = 385838419
mem[29614] = 254712697
mem[25466] = 735
mem[27081] = 7719
mask = 01000000111X0XXX1101X11X001101X01100
mem[55941] = 72432190
mem[16199] = 10097889
mem[45349] = 10650
mem[62515] = 8214
mem[59468] = 965897
mem[16653] = 386447843
mem[49447] = 413274
mask = 01000X011110X1XX1XX10X001111000X1000
mem[59209] = 14316
mem[50790] = 705222705
mem[45621] = 232211796
mask = 010X111101111XX1101000X1011000111011
mem[48891] = 3231894
mem[37241] = 49993
mem[47016] = 3806
mem[10469] = 12758
mem[43871] = 17980
mask = 0XX00XX11110010011X0010X1X011100X000
mem[28733] = 801341049
mem[12772] = 20002640
mem[30741] = 2248
mask = 0101X01110100X0111XX11110011000XXX01
mem[17803] = 65414
mem[45439] = 13886371
mem[16184] = 130293
mem[29313] = 1782
mask = 01000111111001101X0110000001XX1X1111
mem[34404] = 202755
mem[43413] = 1045
mem[48841] = 381434549
mem[37238] = 230052
mem[10175] = 421554
mem[11939] = 15850
mask = X0XX0011X110010X011000010111110X1XX0
mem[54847] = 160031
mem[53915] = 5111
mem[6036] = 17132
mem[36183] = 1360055
mem[47658] = 127563
mask = 00100X1111X0010101101X11X11111001X10
mem[25937] = 8673
mem[12926] = 834
mem[43356] = 732346
mem[5734] = 393
mem[3822] = 30383
mask = 110001101110XX00100100XX0X11X1XX010X
mem[821] = 185158312
mem[64509] = 264189683
mem[15199] = 1037709
mem[635] = 437556
mem[31141] = 14726605
mem[40468] = 47196
mask = 00000001XX1001001X0000X01001X0001100
mem[46740] = 8071
mem[43144] = 14187193
mem[51555] = 382
mem[30741] = 4087
mem[45411] = 1430
mem[14377] = 7364
mask = 11X00110111001001001100X10X1XX00X100
mem[62803] = 979004797
mem[4838] = 343
mem[23241] = 4426
mask = 001X0101X1100100X1X0X110110XX01001X0
mem[10799] = 5745
mem[14789] = 34632
mem[27068] = 8863
mask = 001001011XX0010011000111010X10XX0100
mem[31173] = 109895
mem[25936] = 4493
mask = 00000011111X0101X1X01100X00000100000
mem[32612] = 14472
mem[22702] = 713
mem[22779] = 126887839
mem[43168] = 251908
mem[11504] = 47004
mem[7399] = 2215129
mem[63129] = 4367
mask = 010001010X10010X111XX1X0111100101X0X
mem[3663] = 187207677
mem[52928] = 200
mem[38852] = 8397
mem[31461] = 223838656
mem[64706] = 4205924
mem[26237] = 218385741
mem[57402] = 258615472
mask = 11X0X0X1011001XX1001111X011100XX0000
mem[55334] = 323423
mem[5833] = 33097
mem[26924] = 272
mem[42957] = 47976862
mem[18798] = 61419
mem[19947] = 1287
mask = 1100X101011X10111X11X000111100111XX0
mem[64472] = 224734
mem[18079] = 526
mem[60870] = 3322170
mem[4013] = 578
mem[2606] = 83684765
mem[17048] = 2503
mask = 0010000XX0000100110000011X0001X0X00X
mem[37789] = 94286
mem[2499] = 13318890
mem[29793] = 78507
mem[45621] = 3626886
mem[34770] = 2407
mem[54400] = 38740
mask = 0010X10111000100110001X0X1000100X101
mem[11265] = 1297549
mem[16410] = 948310
mem[33093] = 893977
mem[17298] = 53047
mem[45439] = 14869
mem[21212] = 870451788

1
input15 Normal file
View File

@ -0,0 +1 @@
11,18,0,20,1,7,16

268
input16 Normal file
View File

@ -0,0 +1,268 @@
departure location: 33-679 or 691-971
departure station: 48-646 or 671-966
departure platform: 37-601 or 619-950
departure track: 41-863 or 875-973
departure date: 37-145 or 168-965
departure time: 26-246 or 257-972
arrival location: 30-542 or 556-960
arrival station: 30-75 or 89-954
arrival platform: 48-274 or 299-958
arrival track: 41-561 or 567-957
class: 40-237 or 243-952
duration: 33-317 or 336-972
price: 47-365 or 381-957
route: 29-415 or 435-951
row: 45-762 or 784-972
seat: 34-888 or 914-968
train: 50-502 or 513-960
type: 45-802 or 825-961
wagon: 44-458 or 475-963
zone: 28-721 or 735-972
your ticket:
53,67,73,109,113,107,137,131,71,59,101,179,181,61,97,173,103,89,127,139
nearby tickets:
556,988,567,847,219,631,519,625,634,639,362,750,703,882,798,931,177,888,59,312
190,445,591,270,798,677,575,789,880,880,748,788,6,597,475,746,172,221,925,97
437,141,105,837,357,587,363,309,185,887,181,833,929,945,716,445,247,800,795,65
593,594,96,761,314,258,851,560,224,788,403,635,829,946,857,572,383,67,944,160
939,408,531,121,885,513,556,762,757,261,847,596,713,527,645,84,693,348,847,487
105,877,638,130,451,336,197,188,711,695,320,245,879,57,518,853,354,57,705,217
274,835,350,884,258,637,834,145,199,269,943,508,405,231,645,624,385,622,210,537
313,365,269,879,96,718,887,571,383,635,894,484,266,389,628,634,458,271,752,408
591,449,223,337,492,75,922,579,489,60,738,775,364,696,355,174,413,216,354,175
586,837,358,790,108,268,739,180,215,477,831,700,570,940,61,382,196,982,107,312
568,596,52,791,556,947,145,72,402,384,746,941,95,312,644,907,916,452,398,184
142,478,886,862,213,788,315,704,192,707,699,335,862,485,212,118,221,346,344,398
91,21,269,525,136,624,340,944,458,99,792,488,716,560,693,746,691,876,698,538
190,227,645,202,383,916,797,88,802,675,271,793,785,943,539,446,678,735,229,218
147,600,245,521,587,642,354,119,745,878,744,259,700,110,124,486,630,701,707,265
715,757,411,397,699,755,83,637,640,120,260,89,264,264,496,518,620,837,245,916
741,695,405,860,556,55,111,574,831,716,920,359,638,873,678,601,412,943,360,484
192,139,396,360,439,540,103,481,679,340,542,597,947,538,357,560,581,182,608,451
117,346,940,631,354,355,65,116,357,787,878,559,789,784,262,701,453,340,255,558
743,304,621,312,770,691,138,261,695,494,633,833,747,624,479,145,313,760,536,600
480,497,784,853,846,134,217,204,859,170,493,535,559,539,133,182,452,872,580,532
860,861,415,351,933,920,385,107,109,266,990,264,200,568,881,640,798,753,490,582
878,844,938,274,232,307,196,109,719,102,568,761,997,93,114,168,587,529,268,708
736,522,134,704,357,441,676,501,857,531,191,917,542,66,267,220,627,982,172,569
171,345,89,943,258,678,939,738,397,672,396,530,194,408,614,123,499,883,393,717
560,887,761,937,520,702,209,437,629,797,860,302,578,794,212,103,773,186,338,539
633,586,66,835,533,801,205,50,395,746,336,359,751,560,573,98,74,310,722,312
353,354,856,582,835,755,447,879,518,71,447,861,637,586,81,938,339,259,57,488
679,884,542,943,128,93,740,110,830,748,784,468,949,789,226,880,826,172,748,713
542,178,826,494,941,880,361,404,89,50,305,223,914,206,716,53,608,878,942,193
404,751,924,842,208,831,176,761,225,695,129,704,829,750,195,746,492,702,625,774
104,675,103,476,107,495,184,127,353,588,735,476,415,553,645,360,920,300,222,581
361,595,320,592,798,177,590,311,836,140,634,364,199,263,309,677,388,453,784,525
405,534,694,305,756,752,337,645,343,578,825,406,74,184,831,634,736,212,577,9
403,59,268,259,411,336,558,841,359,406,96,702,849,784,185,841,316,924,789,11
270,305,937,393,196,699,712,129,567,485,535,717,590,659,801,595,94,624,193,244
357,230,257,226,393,834,63,122,385,914,583,826,829,162,642,302,270,72,884,125
119,797,408,302,358,920,588,525,72,52,698,60,266,447,307,486,856,455,80,392
94,885,239,399,759,104,861,486,692,595,343,209,840,178,446,355,521,193,572,739
946,718,918,179,173,585,946,120,827,797,721,188,134,949,686,494,708,572,620,497
832,841,850,497,590,573,530,638,304,914,106,531,833,457,704,580,749,632,551,593
515,68,397,128,232,382,300,569,949,859,235,70,527,475,510,834,232,265,317,207
181,442,204,793,455,439,90,561,998,489,705,860,840,391,90,479,190,436,391,216
674,829,106,259,861,635,587,509,395,458,716,756,671,145,191,215,529,173,115,936
691,557,450,519,212,184,89,639,450,799,679,802,540,504,171,676,105,948,140,761
130,341,915,105,588,861,934,643,120,92,752,119,111,310,888,710,408,897,495,220
940,113,619,789,129,853,314,299,800,568,124,595,588,455,394,115,755,87,518,90
884,620,942,949,226,634,945,920,918,764,447,75,620,757,619,752,135,599,125,583
220,307,629,757,495,878,887,140,792,558,58,382,393,364,259,206,811,625,626,273
16,571,58,171,497,578,351,721,852,57,760,626,832,66,497,404,944,847,211,535
75,751,410,71,304,215,145,163,66,404,121,875,62,477,493,412,103,196,938,131
883,834,262,203,68,209,177,199,340,645,491,808,718,739,569,207,716,196,748,111
933,706,635,561,941,575,414,736,244,795,398,517,834,61,111,348,737,207,482,253
739,693,845,718,576,179,312,862,171,623,308,621,494,302,92,89,242,588,521,207
182,644,924,828,826,698,319,591,745,712,121,235,63,365,787,523,75,96,213,311
711,834,244,348,197,381,746,849,576,406,839,592,755,221,314,522,210,392,880,242
127,627,826,786,620,339,880,344,916,344,542,209,919,584,443,210,884,826,994,640
710,71,101,110,185,90,232,557,583,209,679,439,264,431,834,70,792,129,310,795
101,758,596,311,208,398,831,644,452,557,492,197,522,825,323,386,197,527,599,534
119,214,703,590,596,449,526,576,542,932,349,719,531,256,558,478,641,212,414,702
710,314,578,300,172,527,383,938,531,639,479,984,572,107,791,536,791,850,120,634
778,527,301,677,557,695,629,310,534,119,589,760,363,56,212,271,526,794,595,877
944,229,883,317,94,267,845,692,599,58,408,886,573,926,645,317,658,171,691,236
709,338,494,919,876,454,642,169,139,489,398,640,497,539,234,383,801,66,581,321
492,538,230,841,258,108,937,3,787,111,740,341,936,597,304,841,93,513,739,478
640,799,139,336,113,695,210,231,639,584,557,189,304,224,408,481,627,240,940,928
480,134,348,708,583,531,403,145,561,940,949,287,337,185,760,394,134,589,531,128
110,400,168,852,578,768,392,838,693,261,435,832,497,230,114,223,397,170,521,561
386,595,743,300,643,686,357,527,761,209,477,578,497,354,218,858,644,754,693,802
475,389,921,993,202,855,798,348,72,212,397,918,131,599,937,178,63,186,228,135
792,721,568,481,475,883,500,533,398,529,631,195,354,202,502,307,119,581,658,573
351,53,339,204,176,203,62,385,529,226,742,489,119,933,306,936,55,995,207,925
169,755,718,68,567,800,625,786,756,412,101,64,99,62,629,542,155,513,696,447
246,354,625,401,490,695,641,517,410,309,178,92,743,214,21,717,71,263,856,542
107,214,403,573,392,708,132,261,305,708,436,399,63,68,95,384,266,449,868,879
204,336,884,930,439,917,610,210,133,477,181,268,583,584,173,198,696,142,393,204
203,268,219,96,189,201,533,832,139,559,274,408,71,66,221,699,113,406,429,194
445,587,482,694,571,136,309,444,839,720,87,200,98,919,56,260,932,404,112,218
57,360,877,300,389,835,343,112,172,527,51,575,586,231,862,929,727,246,177,231
65,919,315,640,534,586,700,352,54,703,396,476,636,494,528,313,901,168,140,69
581,862,859,827,114,850,359,640,236,257,95,243,705,357,851,556,271,211,320,90
195,90,310,560,600,692,802,177,402,232,601,358,623,443,919,989,272,588,410,130
589,200,550,787,757,915,124,269,405,364,502,133,928,415,571,568,413,797,453,581
213,112,489,738,760,887,457,268,447,528,698,70,224,733,479,630,131,838,500,802
206,596,130,445,523,204,115,104,641,443,678,57,309,696,341,452,801,608,939,790
172,121,596,700,126,718,629,357,572,381,181,116,497,349,52,506,825,257,800,343
145,144,559,143,863,757,880,850,144,398,929,132,23,625,191,930,271,920,355,362
623,921,755,539,481,707,853,128,180,720,523,94,458,314,394,839,939,209,807,102
918,927,573,83,209,404,212,437,96,406,827,834,526,934,717,114,597,691,494,264
217,403,616,930,837,826,486,637,878,537,452,196,640,704,619,518,855,760,741,839
59,626,110,413,182,506,178,54,213,601,886,66,705,754,521,501,386,855,622,145
570,981,518,740,212,400,739,487,707,884,435,751,571,99,450,583,397,301,676,718
400,122,844,703,509,578,137,528,577,520,115,342,480,880,674,183,300,129,573,336
222,946,110,695,245,556,53,709,202,271,184,58,826,239,847,122,454,188,790,720
570,95,574,197,494,349,299,116,849,915,777,850,119,591,390,137,51,456,91,192
85,833,452,314,226,439,637,535,576,737,258,921,131,568,272,599,144,925,215,453
193,521,996,486,751,208,676,916,178,210,752,108,184,237,499,343,74,673,69,443
488,441,135,169,207,750,57,622,486,73,945,139,559,446,209,266,327,127,64,707
567,450,542,203,830,711,796,715,213,225,62,385,829,631,752,128,914,690,634,304
218,343,524,338,696,222,99,438,875,557,144,590,236,2,353,591,671,125,180,55
496,457,838,753,575,451,854,930,862,97,131,115,87,577,596,575,391,397,676,525
561,845,817,437,518,65,714,174,491,735,190,739,786,413,858,885,742,521,581,881
485,749,711,523,123,881,50,100,391,856,561,798,792,712,741,452,520,517,456,911
697,691,469,713,836,91,675,457,339,854,492,169,584,116,881,89,392,591,475,880
237,457,688,454,495,204,170,69,827,102,361,263,107,138,884,755,308,73,575,827
944,705,643,262,201,743,719,579,402,299,129,675,929,362,891,917,387,632,515,223
917,52,99,123,937,100,104,751,523,224,67,115,186,750,211,123,976,788,705,735
624,63,73,343,844,559,412,596,836,883,273,221,934,58,447,570,259,835,512,443
683,947,735,145,845,568,790,128,117,273,122,124,597,90,352,60,182,673,401,114
348,397,802,934,110,715,986,346,313,235,488,597,756,622,406,399,452,798,596,535
844,301,884,70,516,855,257,401,535,754,266,624,736,528,578,229,91,791,462,918
844,921,85,203,455,922,259,585,404,74,568,750,446,59,568,541,635,441,243,405
232,703,873,245,884,304,946,105,632,825,265,880,274,217,717,119,362,311,300,626
56,917,423,514,949,178,171,382,578,928,718,265,923,129,570,60,272,299,914,74
585,918,497,752,489,620,559,105,181,694,479,912,501,201,400,640,61,933,343,365
168,625,55,101,847,915,364,710,75,272,245,386,143,102,830,212,190,772,257,92
720,59,408,534,233,513,338,582,692,413,491,986,70,571,100,759,170,177,188,355
845,790,263,381,189,352,74,894,476,137,641,674,588,487,112,759,110,523,442,918
268,990,640,851,520,347,169,524,210,219,143,715,60,701,708,596,673,235,214,536
207,91,743,537,538,835,135,450,570,362,840,427,233,788,691,496,342,914,736,875
672,393,351,272,936,701,349,872,485,246,793,924,762,264,790,533,704,382,355,597
858,257,521,120,585,787,89,265,187,935,556,449,195,711,265,837,211,746,775,837
310,455,447,415,351,586,626,387,403,700,389,211,645,178,192,931,981,393,205,383
938,847,384,914,110,191,58,860,928,623,91,202,52,936,242,559,527,243,931,677
885,92,396,630,231,719,212,643,936,5,145,524,784,359,189,192,93,220,101,72
863,476,398,939,435,271,350,266,391,171,406,708,58,526,542,714,570,692,412,864
894,316,124,878,497,557,591,643,125,114,915,452,356,94,383,793,518,411,743,590
195,395,415,792,572,269,719,216,511,104,829,676,699,800,315,798,442,502,267,245
447,721,105,983,714,885,516,796,598,580,740,745,625,301,204,207,791,735,361,53
939,360,919,317,56,884,679,126,494,435,585,761,642,207,843,795,21,740,235,560
798,485,185,752,410,135,481,924,709,257,52,365,401,144,212,483,526,568,737,512
736,632,189,395,788,124,483,805,339,502,486,441,246,125,569,207,64,752,453,226
271,303,392,918,519,387,836,883,677,396,301,937,177,491,129,314,18,224,384,796
944,942,791,595,341,801,103,695,696,349,236,646,640,756,72,108,867,184,589,883
237,185,582,561,267,932,139,630,585,696,632,853,55,852,934,679,710,169,154,92
97,187,54,299,134,239,932,924,916,220,139,143,947,65,625,184,125,308,358,926
525,72,17,926,936,833,703,497,743,587,138,313,493,230,206,576,101,446,863,587
141,316,135,345,500,933,186,264,91,513,114,683,95,855,388,126,575,225,388,515
790,118,235,228,51,399,913,56,922,933,748,784,593,624,675,785,117,362,834,677
713,855,539,747,920,352,186,315,588,532,571,788,345,571,501,833,93,175,996,232
497,99,347,188,539,856,508,928,264,449,363,398,68,385,592,585,317,760,452,90
226,172,65,738,199,927,679,56,171,401,442,731,863,627,835,794,885,679,557,488
762,144,847,975,877,341,542,454,784,717,842,487,173,214,227,139,861,741,388,495
197,72,397,573,878,521,257,475,940,396,442,317,934,803,856,517,394,305,574,943
305,263,985,537,882,829,930,593,741,314,118,191,317,698,835,914,534,861,485,338
74,840,527,752,352,626,626,851,143,388,888,614,944,624,577,932,937,144,440,571
948,755,488,72,914,644,478,887,919,317,607,675,847,134,845,700,579,497,178,922
919,623,671,747,702,75,832,129,854,942,932,97,102,709,918,837,519,335,244,719
52,619,197,230,557,833,888,609,619,358,451,593,170,835,790,234,353,168,839,216
705,72,491,222,718,921,64,228,319,598,181,850,800,700,169,57,582,267,502,597
697,95,542,301,601,173,443,344,833,878,681,832,518,260,673,411,218,520,646,789
98,936,71,245,531,457,408,558,880,259,932,121,494,334,343,832,391,762,134,317
64,860,236,480,863,577,569,574,220,925,508,356,400,444,918,180,400,674,358,941
344,534,348,634,931,631,502,852,92,525,869,599,574,535,303,113,306,530,949,588
141,415,251,539,50,643,721,582,130,299,480,483,791,243,516,491,111,838,532,392
61,93,694,61,339,706,105,753,236,353,923,301,975,920,639,117,638,66,188,570
862,921,828,219,243,68,537,97,923,840,198,534,788,486,222,234,138,4,122,646
838,92,119,920,177,84,593,337,171,388,530,582,337,757,787,514,916,828,99,364
713,590,565,559,948,931,631,181,883,573,629,55,735,502,401,172,344,939,303,361
453,309,514,107,478,311,558,534,628,557,943,530,741,180,736,876,740,209,686,855
349,177,645,91,191,344,162,501,246,96,210,883,116,481,365,537,638,389,582,271
387,442,838,140,449,581,344,407,631,101,720,272,307,637,848,240,109,265,884,357
208,362,585,387,948,205,946,248,833,127,533,315,65,457,693,231,825,561,712,517
753,261,266,187,600,441,170,919,453,136,58,67,524,125,339,572,523,55,898,577
703,585,66,312,485,979,523,214,831,244,405,245,303,853,679,136,96,193,262,599
829,853,532,347,329,875,193,236,639,540,884,215,184,56,946,348,691,457,191,243
483,382,313,830,217,193,766,127,135,835,190,835,739,396,715,172,857,526,95,702
205,97,24,719,411,337,221,585,207,736,232,502,876,941,214,115,885,626,458,916
863,935,182,673,885,273,440,641,302,671,311,193,413,682,69,636,303,440,530,394
487,50,53,855,759,222,349,690,199,542,97,888,675,130,713,634,109,704,701,799
483,227,345,328,697,945,173,342,274,672,944,299,576,485,66,359,169,100,272,201
388,846,449,218,718,324,207,301,63,570,585,455,678,499,527,129,67,518,500,835
570,213,94,531,582,520,748,114,530,576,736,792,878,602,105,60,825,794,382,569
701,270,11,933,556,274,179,515,858,750,534,638,202,600,387,131,406,796,221,483
240,641,483,89,561,363,516,839,234,801,710,540,833,437,637,761,493,184,699,844
927,799,884,944,218,192,755,273,138,557,934,208,123,350,135,213,689,415,637,223
506,169,623,358,484,486,924,624,496,710,578,926,588,916,596,60,310,360,595,525
753,861,781,941,519,66,634,178,846,144,863,350,207,134,835,528,920,828,224,802
826,264,404,92,404,524,356,884,860,838,315,442,591,145,360,884,592,516,720,3
92,394,65,403,983,220,839,397,630,258,263,832,587,120,302,634,855,497,646,923
759,55,112,849,270,502,190,915,699,515,383,91,947,894,625,95,260,212,830,109
701,74,408,388,630,895,169,59,592,752,485,59,303,795,710,936,596,269,348,482
484,338,672,224,858,144,751,833,303,744,975,181,488,175,875,94,199,302,440,587
698,193,435,408,61,475,397,219,842,112,749,202,8,560,412,714,923,300,261,390
919,231,450,876,531,700,573,103,206,875,305,760,761,446,920,384,80,346,744,572
409,133,876,195,485,857,863,64,840,227,659,675,301,169,801,641,263,928,181,838
219,540,410,347,712,70,880,841,479,636,581,159,594,716,205,305,454,302,699,169
527,720,944,944,847,784,170,699,120,123,500,359,445,863,773,178,479,521,439,363
519,129,229,259,439,184,398,484,922,942,856,629,412,339,862,126,503,692,520,691
210,936,579,785,542,62,935,571,757,600,340,537,721,106,236,7,709,52,917,55
637,458,354,856,698,439,677,767,499,884,936,926,523,456,214,747,453,582,491,443
739,273,230,346,83,202,204,120,640,108,523,173,174,405,557,675,790,748,489,407
446,258,348,246,447,884,866,880,920,560,884,116,946,91,594,89,69,452,559,405
132,921,145,231,60,702,209,346,458,519,749,948,206,100,849,711,70,125,488,680
852,219,99,199,923,936,855,272,646,233,599,388,777,310,569,490,123,312,738,355
840,91,578,483,400,65,350,310,496,929,441,208,835,863,103,111,740,929,717,84
261,91,747,393,855,128,718,732,523,938,299,339,715,182,227,56,67,720,205,51
712,339,841,111,574,435,842,168,168,646,263,496,229,395,561,490,350,586,241,396
719,757,652,879,225,706,218,795,212,70,71,263,745,447,246,834,170,626,594,187
514,532,744,401,533,308,62,861,128,497,540,415,515,100,793,858,14,397,876,933
630,751,733,517,353,791,501,299,56,633,945,231,703,192,586,89,258,536,169,181
114,198,71,877,931,258,623,707,983,122,344,186,143,53,691,390,176,716,180,171
705,313,175,51,233,455,190,262,385,51,928,228,393,699,883,442,789,510,524,601
637,623,119,263,758,593,514,575,825,514,455,248,205,517,716,679,931,382,740,499
311,179,337,96,128,839,519,66,642,125,236,714,845,102,190,200,708,157,760,177
615,458,141,631,938,519,476,475,601,847,714,126,541,216,671,484,743,478,274,208
186,436,391,673,583,639,669,541,929,923,398,229,751,753,383,798,789,533,441,361
264,924,910,530,446,387,920,180,187,313,499,524,587,452,105,516,516,346,556,853
98,947,363,120,589,948,846,215,475,485,523,864,934,709,524,486,886,705,354,71
639,542,619,437,409,243,196,535,700,595,354,240,258,884,352,532,946,123,709,756
181,799,435,216,452,852,300,528,832,404,882,555,862,672,342,215,74,235,715,888
798,595,642,695,490,701,949,89,441,542,533,101,737,671,217,774,90,593,877,854
100,698,886,442,720,177,338,448,76,392,55,698,587,386,742,845,477,315,269,341
299,359,481,518,839,830,301,336,336,172,173,88,756,311,576,569,834,359,860,692
717,520,860,627,706,218,559,713,234,859,944,563,211,536,826,357,55,640,695,136
337,270,90,878,759,57,573,941,301,337,533,451,884,70,494,596,196,357,856,609
63,946,696,779,536,704,514,914,53,583,715,96,198,882,748,227,487,693,586,348
574,187,498,93,175,832,248,357,837,539,835,539,794,348,304,522,833,948,439,338
712,676,198,693,317,484,90,242,832,717,888,848,485,356,199,692,787,452,675,454
65,621,622,407,918,492,681,337,528,217,707,929,537,315,477,525,537,145,757,862
879,90,311,402,352,227,237,260,913,704,114,397,708,403,363,636,826,485,383,183
189,493,389,929,344,857,211,708,775,567,456,224,72,525,402,311,358,755,170,116
482,475,535,216,717,533,995,926,128,260,885,748,212,265,596,439,576,887,834,187
542,116,483,715,169,132,760,653,306,540,847,516,235,389,529,831,386,388,636,313
273,499,454,626,627,693,845,638,191,405,239,174,198,177,636,236,123,879,702,136
437,498,789,317,737,442,65,490,482,336,15,270,437,938,757,934,843,513,845,561
58,447,137,170,643,439,384,691,701,92,204,647,827,246,266,691,258,201,192,558
742,357,344,758,524,800,625,329,398,691,115,587,943,100,305,89,519,134,305,694
561,918,199,175,929,202,674,742,136,57,391,128,497,995,233,394,306,435,221,200
720,269,919,8,221,230,559,382,759,412,184,644,347,588,538,572,757,71,262,135
324,182,260,832,786,246,855,559,445,262,487,571,860,625,355,917,145,450,396,235
709,260,392,537,262,174,491,595,926,133,793,413,840,223,394,385,532,213,587,730
787,390,401,832,198,360,107,456,573,797,675,478,800,86,487,630,945,747,219,931
761,92,825,692,642,176,262,544,310,875,737,348,625,64,916,310,437,224,753,258
762,848,300,583,933,442,242,883,476,386,674,401,888,74,259,107,935,119,350,700
194,169,495,644,497,107,386,676,786,273,736,89,885,941,444,307,751,483,454,661
301,862,125,261,527,571,999,922,355,218,834,523,193,188,517,105,945,206,839,522
348,742,641,735,259,948,228,438,879,584,219,518,114,235,96,331,74,855,183,701
704,882,510,678,243,859,515,925,623,448,848,202,846,587,121,310,436,691,236,697
845,453,939,349,884,940,0,621,933,188,73,204,440,918,207,671,629,735,487,627
879,694,125,501,580,274,451,885,834,397,146,104,185,173,528,717,590,412,350,936
944,91,450,631,262,501,196,401,199,946,105,236,634,765,66,385,582,437,262,581
924,594,156,702,128,858,133,695,140,486,399,534,115,627,748,560,518,700,883,206

8
input17 Normal file
View File

@ -0,0 +1,8 @@
#.#..###
.#....##
.###...#
..####..
....###.
##.#.#.#
..#..##.
#.....##

372
input18 Normal file
View File

@ -0,0 +1,372 @@
(2 + 6) * 2 + 2 + 4
6 * 2 * 6 + (8 + 8 * (5 + 4 * 7 + 6 + 6 + 3)) * 8
2 * 7 * 3 * 6 + 2
(2 * 4 + 2 + 8) * 4 + 7 + 6 * 7
7 * ((7 + 4) + 7 * (3 + 4 * 8 + 7 * 8) * 2 * (4 + 3 + 9 * 5)) + (9 * 6) + 8
7 + 3 * (9 * (3 * 7 + 8 * 4) + (4 * 5 + 7)) * 9
9 + 9 + 3 + 7 * 3
(4 + 9) + 8 + 4 * 9 * (6 + 4 * 4 * 3 + 9 + 4)
5 * (6 * 4 * (8 * 4 * 4 * 9) + 6) * 7 + (8 + 3 + (8 * 3 * 6) * 5 * 5)
6 * 6 * (6 + 6 + 6 * (8 * 4 * 2 + 8 * 6) + 4) + 3
5 * 4 + 3 + (2 + 6) * 8 * 4
(8 + (3 * 7 * 4 + 4) * 2) + (8 * 8 * 4 + 6 * (8 + 9 + 7 + 9 + 5 + 3) * 4) * 5 * 4 * 3
9 * 7 + 6 * 9 + (3 * (7 * 5 * 6 * 3 + 3 * 8)) * 7
5 * 8 * 7 * 9 + 5 + (9 * (4 + 4 * 2 + 9 * 7) * 3)
(6 * 3 + 9 + (2 * 4 + 4 * 3) + 3) + (9 + (5 + 4) + 8) + 6 * 9
6 * (8 * (2 + 3 * 6 + 6 + 9) + (7 + 6 + 2) * 9 * 9)
(7 * (8 + 3 * 8 + 5 + 2 + 2) * (9 * 9 * 3 + 4 + 5) + 5 + 6 + 8) * 5 * (5 + (6 + 3 + 4 * 3 + 6) * 3) * 8 * 3
9 * 8
7 + ((6 * 7 + 5 + 8) * (5 * 9 + 9))
3 * 8 + 7 + 7 + (3 * 5 + (9 + 3))
(2 + (5 * 2 + 5 + 8) * 8 * (7 * 7) + (7 + 4 * 2 * 6 * 8 * 2) + (9 * 3)) + (2 * 2 * 6 * 6) + 5 * (5 + 5 + 6 + (6 * 3 + 8)) * 7
7 * (7 + 7 * 8 + (9 + 9) + (5 + 5 * 8)) + 4
8 + ((5 * 4 + 5 * 9) * 2 * (9 * 6 + 9 + 3) * 5) * 2 * (5 * 6 + (2 * 2 + 2 * 5 + 3 * 7) + 7 + 8)
(8 + 9 * 6 * 6 + 4 * 6) * 9 * 4 * (9 * 7 + 2 + 5 * 3 + (2 * 3 + 8 + 5 * 7 * 8)) + 2 * 9
(4 * 9 * 9) * (2 * 9 * 2) * 3 + 6 * (2 + 6 * 4 * 7 + 8 + (6 * 7 + 6 + 4)) + 6
(5 + 2 * (7 * 2 + 6 * 8 + 4 * 5) * 2 + 8) + 8
3 * 6 * 8 + 2 + ((3 + 7 + 4 + 2) + 9 * (2 + 5 * 4 + 4 + 6) + (7 + 8 + 3 * 4 * 2)) * 9
(2 + 7 * 7) * (7 * 8 * 9) * ((5 * 4 + 5 + 2 + 6 + 7) * 7)
(6 + 2 + (9 * 2 + 2) * 7 * 7) * 2
7 + ((8 * 3 + 3 * 2 * 6 * 5) + 7) * 8 + 4 + (6 + 5 + (2 * 2 + 5 * 3) + 5 * (5 * 6 + 4 + 7 * 3)) + 8
7 * 7 * 8
7 + 7 * 4 + ((6 + 9 + 5) + 3 * 5 * 7 + 7)
2 * 3 + (8 + 5 * 3 + 8 + 7 * 2) + (2 * (5 + 2 + 5 * 6 * 2 * 7) + (6 + 8 + 7 * 5)) + 9 * 4
5 * 5 + 6 * 6 + 7 * (5 * (2 + 6 + 6) * (5 * 9 + 8) + 7 * (9 * 5 * 8 + 2 * 4))
((7 * 6) + 8 * 9 + 8 + 9) * 8 + 7
4 + 5 + (8 * 7 + 8) + (3 + (2 * 2) * 9 + (7 + 7 * 9 + 8))
(7 * (4 * 5 * 9 + 4 + 8 * 7) + (8 * 7 + 9 + 9)) + 2
9 * 4 * (2 * (6 * 9) + 3)
((7 + 4 * 6 + 4 + 6 * 4) * 6 + 3) * 2 * 2 + 5 * 7
((6 * 5 * 9 + 7 + 9 + 4) + (7 + 2 + 7 * 3) * 9 + 9 + (7 + 7 * 9 * 5 * 3 + 6)) + 7
4 * ((6 + 2 * 9 + 6 + 3 * 3) * (6 * 8 * 7 + 5 * 4)) + 8 * 8 + 7
(5 * 3) + 3 + 4 * (5 + 8 + 2)
6 + 3 + 5 + 4 + 4 * 4
2 * (3 + (8 * 9 * 3 * 3 + 8) + (9 + 7) * 7 * 2) + (5 + 4 * 7 * 2 * 3 * 6) + 7 * (7 * 4) * (4 * 5 + 6 + (6 * 3) + 6 * 5)
3 + 7 + 8 * 3 + (3 * 2 * 4) * 9
9 + (2 + 2 * 6 + (9 * 9 + 6 + 8 + 5) + 4) + 2 * ((7 + 2 + 6 + 7 + 3 + 4) + 2 + 8 * 3 * 3) + 9
3 + ((6 + 5 + 6 + 7 + 9 * 4) * 9 * (2 * 6 * 6) * 6 + (9 * 9 + 8 * 9) * 2) * 6 + 3
(2 + 8) * 7 * 3 + 9 * (7 + 6 * 7 * 4)
(5 + 2 + 2 * (3 + 5 + 5 * 9 + 2) + 5 * (9 + 8 + 2 + 2 * 4)) + 6 + 6 * 3
3 * 5 + 6 * (8 * 3 * (7 + 8 + 6 + 4 + 9) * 7) * 7
2 * 9 * 8 * (6 + 5 + (3 * 9 + 6) + 3 * 4 * 4) + 2
3 + 8 * (4 + (3 * 5 + 6 * 2 * 7) * 2 * 2 + 2 * 5) + 2
((6 + 9) + 3 * 3) + 9 + 3 * (8 * 2 * 6 * 5) + 2
7 + 5 + (7 + (2 * 3 * 4) + 2 * (5 + 8 * 2 + 4 * 4 + 7))
2 + (4 * 9 + 7 + 8 * 4 + 4) * 9 + 5 * 5 * 8
5 + 5 * (3 * (2 + 5 * 3 + 7 + 5 + 3) + 6 * 9 * 7 + 6) + (7 * 8 * (9 * 9 * 9) * 2 * 9 + 2)
9 + (9 + (8 * 7 * 7 + 6) + 9 + 6 + 4) + 9 + 5 * 2
4 + (6 * 9 + (8 * 7 + 8 * 6) + (6 + 8)) + 2 + (4 * 3 + 6)
8 + 5 + 3 * (9 + 7 + 2 + 7 * 4) * 6
(3 * (9 + 9) + 7) + (6 * 8) * ((7 + 7 + 4 + 5 + 6 + 6) + 8 * 7) * 8 + (2 + 7 + 4 + 5 + 9)
(5 * (8 + 9 * 2) * (3 + 5 * 7 + 9) * 6 + (8 + 3 + 5) * (9 * 9)) + 6 * 5 + 6
((6 + 5 * 9 + 3 * 6) + (3 + 4 + 8) * (5 * 4 + 4 + 6) * 2 + 9) + 6 * 5 * 4 * 4 * 5
5 + (7 * 9 + 9 + (9 * 4 + 5 * 9 + 5) + 5) * 7
5 + (3 * 3 + 6 * 9 * 5 * (7 + 5 + 2)) + (8 * (4 * 2)) + 9 * (7 * 6 + 8 + 5 + 9 + 6) + ((6 + 2 + 5) + (4 + 3 + 3 + 2 * 3 + 4) * 3 * 9 * 3)
7 * (2 + 2 + 6 + 7 * 7) * 2 * 7 + (8 * 7) + 5
2 + (7 * 6 + (4 * 2 * 9 + 3) + (2 + 5)) + 8 * (2 * 2 * (8 * 3 * 3 * 6 + 2) + 7) * (8 + (7 + 4 * 6 + 5 * 9) + 4)
((6 * 3 * 6 + 3) * (3 + 4 + 9 * 6 + 6) + 4 + 2 * (9 * 9 + 4) * 3) + 4 + 6
8 + ((5 + 7 * 5 * 8 + 9) + 4 + 8 * 4 * 5) + ((3 + 4) + 3 * 7 + 9) + (6 + 2 * 9 + 5) + 9
(9 + (8 * 5 * 7 * 4 * 2 * 7) + 8) + 8 * 7
9 * (4 * 7) + 8
3 * 6 * (5 + (5 * 5 + 6) + 2 * 5 + (8 + 2 * 4 + 9 + 4)) + 8 + 7
((6 + 8 * 2) * 2 + (4 + 2 + 5 + 9) + 9) + 2 * (8 * (2 + 9 + 5 + 4)) + 9 + 4 * 2
4 * 5 * 4 * (3 * 4 + 4 * (5 + 3 + 8 * 2 * 7 * 5) * (6 * 4 * 8 + 5 * 9 * 8) * 9) + 7 + 2
8 * 6 * 9 + 3 + (6 * 7 * (6 * 7 + 6 * 6) + (9 + 3) * (7 * 7 + 9))
3 * (9 + 7 + (5 * 9 + 4))
5 * (2 * (5 + 4 * 2 * 6) * 4 + (5 + 3))
7 * ((3 + 8 + 8 + 2 * 2) * 5 * 6) * (7 * 2 + (6 * 4 * 9 * 5 * 9)) * 7
(5 * 5 + (3 + 3 * 8 * 4) + 8 * 4) * (5 * 9 + 4) * 9 * 7 + 5 * ((2 + 7) * 9 + 5 * 4 + 3)
9 * 4 + ((3 + 9 * 3 * 2 + 9) + 4 + 6 * 2)
2 * (6 + 6 + (7 + 6) * 2 * 2 + 4) + ((2 + 3 + 5) * (2 + 9 * 9 + 7) * 4 * (2 + 4 + 6 * 3 * 9 * 3)) + 3 * 4
(8 * 7 + 6 * 6 * 7 + 9) * 8
9 + 8 * ((2 * 9 + 9 + 5 * 2 + 5) + (8 * 3 + 7 * 5 + 7) + 9 + 2 + 8) * 8 * (5 + 4 + 8 + 4 * 6) * 8
6 + 6 * 2 + (6 * 9 * 5 + 6) * 3 + (5 * 4 + 8 * 6 + 9)
5 * 6 + 7 + (7 * 4 * 4 * 8 * 8)
(6 + 5 * 3 + 3) * ((9 + 7 + 6) * 4 * 6 * 6 + 4)
5 * (2 + 7 + 5 + 2) + 6 * 5
7 + 5 + ((7 * 3) + 5 + 9 * 8) * (3 + 2 * 7 + 7 * 5 * 8) * 7
3 * 9 + (5 + 8 * (6 + 8 * 6) * 4 + 3 * 4) * (2 + 6 * 5 * 3) * 8 * 7
9 + 8 + 2
(3 + 4 + 6 + (5 * 6 * 8 + 4 + 5 + 7) + 6) * 9
4 * 3 + 9 + 3 * (5 * 4 + (7 + 4 * 2 + 8 + 2 + 6))
7 * (2 * 6 + (3 * 5 * 7 + 4 + 6)) * 5 + 9 * 4 + 6
((7 + 4 * 5) + (5 + 5 * 5 + 7 * 6 * 9) * (9 * 3 + 9 * 3) * (6 * 6 * 2 + 5 * 7) * 3) + 6 * 4
((9 * 7) * 8 + 4 * 8 + 5 + 5) + ((2 + 4 * 3 + 4) * 9 + 2 * 5) + 6 + (4 * 6 + 2 * 9)
(4 * 3 * 3 * (9 + 9 + 9 + 3 + 6 + 9)) + 9
((6 + 2) + 9 * 4) * (2 * 7 + 5)
2 + (4 * 8 * 8 + 8 * 9 * 9)
((2 + 6 * 4 * 8 + 5) + 2 + 7) * 9 * ((3 * 8 * 7) + 3 * 9)
((4 + 9 * 5 + 7 + 8 * 8) * 6 + 6 + (5 + 8) + 4) * 8 * (5 + 4 + (5 * 3) * 5 * 6 * 4) + 8 + (2 + 9 * 7 * (5 * 8 + 4 + 2 * 8 + 5))
5 + (8 * 6 + (2 + 5 + 9 * 8 + 9) * (9 * 2 * 4 + 6 * 5 + 2) * (3 * 8 * 7) + 9)
2 + 8 + 7 + 6 * (3 + 4 + (6 + 7 * 2 + 9) * 7) * 7
7 * 8 + 7 + 4 * (5 + 6) * 3
7 + 5
(2 + (6 * 3 * 3) + 2) * 5 + 7 + 8 * 6
(6 + 6) * 3 + (2 * 4 + 3 + (3 + 9) * 9)
(5 * 4 + 3 * 8 * 9 + 4) + 5 + (6 + 9 + 3) + (9 + 8 * 3)
5 + 4 * (6 + 5) + (3 + 9 + 4)
4 * 5 + 5 + 7 * 5 + (6 + (4 * 6 * 8 + 7 * 4 * 6) * 9 + 2 + 3)
7 * 9 + 6 * (8 * (8 + 6 * 4) * 4) * (7 * 2) + 6
(3 + 5 * 9 * 8 * 4 + 2) * 3 * 6 * 3
3 + 8 * 3 + (3 + 3) * 3
2 * 8 * 8 * (2 * 7 * 9 * 4)
(5 + 7 + 9 + 7 + 4) + (5 * 9) * 3
8 * 9 * 5 * 4 * 3 + ((6 + 9 * 5 * 7 * 2) + 5 * 4)
(7 + 3 * (8 + 2 * 3 * 9 + 2 + 9) * 6 * 9 * 2) * (4 * 4) * (2 * (4 * 8 * 5) + 3) * 2 + 4 * 9
7 + 8 * 6 * (9 + (4 + 8 * 5) * 2 * 3 * 7) + 6 + 8
(7 + 7 + 7 * 9) * 2 * 4 + 5 + 5 * 6
(2 * (3 * 8)) + (5 + 4 * 4 * 3)
(5 * 7 * (5 * 7 * 9 + 3 * 3) + 7) + 3
9 + 9 + 8 + 8 * ((3 + 3 * 6 + 4 * 4) + 2 * 3) + 6
(2 + (2 * 2) + 9 + 7) + (5 + (8 + 4) * 3 * 3) + 4 * 5 + 4 + 3
6 + (5 * 3 * 7) * 6 + ((5 + 6 * 4 + 3 * 5 * 9) * 4 + 8 + 2) + (8 * 6 + 5 + 2 * 2)
9 * (5 + 7 + 9 + 9) + 7 * 3 + 4
(6 * 8 + 5 + 8) * 2 + 2 * (4 * 2 + 8 + 5) + 7 + ((5 * 5 * 3 + 6 * 5 * 8) + 6 * 3 + 2 * 7)
(3 + (6 + 4 * 6 * 7 * 4) + 5 + 2 * 6) + 5 + 6 + 3
6 + (8 + 9 + 5 * 5 + 5 * 2) * 6 * 8
(5 + 2 + 2 * 3 * (4 * 2)) + 8 * 5 + 6 + 3
7 * (8 * 3) + (7 + 5) + 2 + 8
5 * 4 + 8 * ((9 * 9 * 3 + 3 + 9 * 8) + 2 + 5 + (7 + 3)) * (3 + (7 * 3 * 6 * 5) * 8 * (6 * 6 + 2 + 9 + 5) * 2 + 5) + (2 + 4 + 5 * 8 * 7 * 6)
5 + (8 * 6 + (7 * 2 + 9 + 6) * 8 * 2) + 3 * (9 * (5 * 2 * 3) * 5)
(2 * 8 + 4 * (7 * 8 + 2 + 5 + 3) * 4 * 3) + (7 + 5) + 9 * 9 * 2
((3 + 7 + 9) + (8 + 8) + 6 + 4) + 4 + 8 + 7 * (4 * 3 * 6 + 7 + 8 * 2)
9 * (4 * 3 * 8 + 8) * 3 + (4 * 8 + 6)
7 * ((4 * 3) * 6 + 6) + 5 * 3 * 3 + 9
4 * (5 * 4 * 3 * (2 + 5 + 6 + 2 * 2 + 6) * (5 * 6 * 2 * 7 * 7) * 6) * 2
7 * 7 + (8 + (7 * 6 + 7) + 2 + (4 + 5 + 6 + 4) + 2 + 9) + 3 + 3
8 + ((4 * 6 + 2 + 7 + 9 + 5) * 3)
3 * 7
(5 * 7 * 4 + (7 * 6) * 9 + 4) + 5
(2 * 5 * 9 * 6 * 5 + 7) + (3 + (3 * 6 * 7 + 5 + 2) + 4 + 5) * 6
9 + ((8 + 9) * 5) + (3 * (7 * 7) * (7 + 8)) * ((8 + 3 * 5 * 8) * 9 * 9 * (6 * 8) + 7) + 8 * 3
7 + (7 + 9 + 9 + 3 + (8 * 2 * 9 * 6 * 7 * 4) * 6) * 7 + 9
(9 * 5) + 3 * (2 + 6 * 4 * 6 + 4) + (2 + 5 * 3 + (3 * 7 + 6 + 8)) + 6
(8 * 2 + 8 * 6 * (4 + 3 + 2 * 3 * 4)) + (7 * 4)
(2 + 3) + 7
3 + 3 * 8 + 9 + (9 + (6 * 5 + 7 + 6 + 9 * 6) * 8) + 5
2 + (6 + 8) * 3 * 3 + 2 + 3
5 * ((4 + 8) + 2 + 7)
(3 * 8 * 9 + (9 * 3 + 8 + 2) + 2 * 5) + 7
4 + 9 * 3 * (4 + 2 + 4)
5 * 6 * (6 + (7 * 2 * 4 * 5 * 4) + 6 + 5 + (6 + 9 + 7 + 8 * 3) + 3) + 2 * 2 + ((6 + 5 * 9 * 8 * 3 + 4) * 4)
6 + 8 * 9 + 6 + (5 * 9 + 9 + 7)
(6 * 6 + (8 + 5 * 5 * 9) * 9) + 2 * 4 + (9 * 4) * 8 * 7
((5 * 3 * 8 + 6) + (2 * 8 * 4 * 6) + (6 + 8 + 5 + 4 * 5)) * 7
9 * ((4 * 4 * 6 + 3 * 2) + 3 * 6) + 5 + 7 + 7 + 3
6 * 3 * 6 * 9
6 * 7 + 9
3 * (6 * 8 + 3 + 7 + 8) * (3 + (3 + 2 * 3) * 6 * 8) * 8 * 8
3 * (9 + 6 + 7 + 9)
6 * (5 + 6) * 5 + (8 + 5) * 3 * 7
6 + 2 * ((7 * 2) * (7 * 9 + 8 + 2 * 3 + 5) + 6 + 3)
5 * 3 * 2 + 7 + (6 * (3 + 3 + 3) * 5 + 6)
5 * (2 + 7 * 7) * 3 + 3 * 9
7 + 4 * 9 * ((8 * 5) * 8 * 4 * 4 * 4)
(5 + 4 + 9 * 9) * (4 * 3 + 2) + 2 * 9 * 7
8 + (6 * 3 * 8 * 7 + 8) * 2 + 5 * 5 + 3
4 + 8 * 8 + (4 + (8 * 5 * 6 * 2))
((3 + 2) * 4 + (7 * 5) + (8 + 5) * (5 + 6 + 5 * 7 + 9)) + 4 + 6
(6 + 2) + (8 * 4 + 3 * 4 * 7) + 5 * 2 * ((4 + 9 * 6 + 8 * 8) + 6 * 9 + 2)
7 * 9 * 9 + (6 * (3 * 8 + 3) + 6 + 5 * (4 * 9 * 7 * 9 + 4 + 3)) + 9 * 5
5 * 9 * 3 * 9
(6 + (7 * 8 + 4 + 9 * 7) + 8) + 6 * (2 + 7 * (6 * 3 * 9 + 2 * 3)) + 7 * 5
9 + (5 * 4) * 6 * (8 * 8)
2 + (8 + 8 * (9 * 6 * 6 * 8) * 2 * 5) + 9 * 9 + 8
((9 + 3 + 9 * 3) + 9) * 9
6 * 7 + (2 + 5 * (6 + 6 * 4 * 5) * 3 * 7 * 5)
6 + (5 + (2 * 4 * 2 + 7) * (3 * 7 * 9 * 5 * 4 + 7)) + 6
2 * (9 + 7 + (5 * 4) + 3 + 9)
8 * 9 * (6 * 6 * 9 * 5 * 5 * 9) * 4
(7 * 2 + 4 + 2) + 9 + ((9 * 7 + 4) + 6 * 5) * (5 * 8 + 8 + 2 + 2) * 3
7 * (8 * (6 + 7) * (7 * 9 * 2) + 2 + (8 * 6 + 9 * 5 * 3 + 8) * 2)
((8 + 7) * 9 * 5 * (3 * 2)) + 4
7 * 7 + 3 + 8 * (3 * (7 + 8 + 9) + 8 + 3 * 3 + 8)
(4 + 5 * 7 * 3) + (2 * 4)
9 * (3 * 7 * 6) * (5 + 8 + 3 * 2 + 5) * 2
7 * (6 * (8 + 5 * 9 * 3 + 8 * 4) * 9 + (8 + 9 + 5)) * (8 * 6) * (7 * 3 * 8 * 9) + 9
8 + 6 * 5 * 6 + 3
2 * 7 * 9 + 6
(2 * 8 + 2) + 4 + 8 + 9 + 7 * 4
(7 + 3 * 8 + 4) + (4 + 8 * 6) * 8 * ((6 + 5 + 2 * 6) + 3) * 2
((4 + 2 + 8 + 9) + 3 * 8 + (2 + 5 + 8 + 3 * 6)) + (8 + 7 * 9 + 6 + 9) + 9 + 5
(6 + 7 + 9 * 8) * 4
(2 + 7 * 7 + 8) * (7 * 2) + 9
(8 * 5 + 3 + 5 + 8) * 5 * (2 + 9 + 4 * 8 + 8) * (3 * 6 * 6 * (4 * 4 + 5)) * 6
5 + ((3 * 5 * 7 * 3) + (5 * 2 * 8 + 6 * 9)) + 4 + (2 * (9 * 9 + 5))
4 + 3 * 2 + 2 + 8 + 4
(8 + 2 * 8 + 5 + 5 + 9) + 4 + 5 * 9 + 6
5 + 9 + 7 + 6 + 6 + (4 * 3 * 7 + 5)
9 + 3 + 4 * (2 * 6 + 8 * 3) * (4 + 6 * 7 * 3 + 6) * 4
8 + 9 + 2 + (9 + 9 * 3 + 4) * (3 * 8 + 9 + 3 * (3 * 2)) * (3 * (3 + 9 + 4 + 2 * 4 * 6) + 6 * 8 * 9)
6 * (7 * 8 * 8 + 5 * (2 + 6 + 9 + 4 * 9))
9 * (7 + 5 + 9) + (5 * (7 + 7 + 5 * 3 * 7 * 4) * (6 * 9) + 4 * (6 + 4 + 6 * 7 * 9)) * 4 + 6 + 6
(4 + (7 * 7) * 2 + 4 * 3) + 8 + (3 * 9 * 8 + (5 * 6 * 2) * (7 * 6) * (5 + 4 + 2)) * 9
((2 * 6) * 7 * (4 + 7 + 9 + 3) * 6 + 6) + 4 * 8 + 6 * 8
(6 * 2) * (4 * 5 * (9 + 9) + 7) * 6
7 * 2 * 4 + 4 + 5 + (9 + 3 + 7 * 8 + 5)
8 * (9 + 7) + 5 + 9 * (4 + 5)
8 + 7 * (5 + (6 + 6 + 3 + 5 * 8 * 7) + 3) * (8 + 5 * 4 + 9 * 2) * 2 + 7
3 + (5 * 2) + 5 * 4 + (5 * 5 + (9 * 2 + 8 * 8) * 6 * 8 + 4) + 6
8 + 9 * ((2 * 8 * 9) * 3 + 9)
6 * (5 + 5) * 5 * 4 * 3
(6 + 2 + 3 * 5 + 6) + 8 + 9 * (3 + (9 + 5 + 4 + 9 + 4)) * 2 + (3 * 5 * 2 + 2 * 2 + 3)
(8 + (5 + 4 + 9) + 8) + (9 + 5 * 2 + 7 * 8 * 7) * 6 + 9 * (2 + 7 * 6)
2 + 6 * 5 * (6 * 6 * 7 + 4 + 4 + (7 + 6 * 2 * 5)) + (2 + 5 * 8 + 4) * (5 + (2 * 2) + 9 * 2 * 6)
(8 + (9 + 8 * 5 * 3 * 8) * 7 + 4 + 7 + (7 + 3 + 9 * 7 + 3)) + (4 * 6 * (9 + 9 * 4 + 5) * 6) * (5 * 8 * (5 * 7 + 4 + 7 * 5)) + 9 * 6
2 * 4 * 3 * 6 * (8 * 9 * (5 * 8 * 6)) * 7
4 + (4 * (7 * 6 + 2 * 8 + 2)) * 7
(4 + 8 * 8 * (3 + 8 * 7) * 3 + 8) * 7
8 + 5 + (7 * 3 + 5 * 4) * 6 + 9
7 + (5 + (3 * 6 * 8 * 9) * 6 + 7 + (4 * 5 + 8 + 4 + 7 + 5)) + 3 + 6
(9 * 6 + 2 + 6 + 6) * (8 + 7 * 3) + ((4 * 4 + 3 + 6 * 9 + 5) + 4 * 3 + 5) * 3 * 6 + 4
8 * 3 * 2 * ((4 * 4 + 5 * 4) + 9 * 6 + 5 * (7 * 7)) * 2 + 7
8 * 7 * (6 + 6) + (3 * (4 + 8) + 4 * (2 * 4 * 5 + 9 + 7 + 9) + 6) + 4
4 + (5 + 6 + 4 * 8 + 7 + 9) + ((5 + 7 * 5 * 5) + 4) * 4 * 2
5 + 9 + 4 + ((4 + 4 * 5 * 2 * 5 * 5) + 5 * 5 * (5 * 3 * 8 + 6 + 4) * 8)
7 * 2 + 4 * ((9 + 9 + 9 + 4 + 6 + 5) + 7 + (5 * 5 + 6 * 8 + 8) * (5 + 6 + 7 * 6 * 4 * 6) * 9 + (3 * 6 + 7 * 4)) + 9
(4 + 9 + 5) + (7 * 2 * 7 * 5 + 5) * 8 * 6 * 2
(4 + (3 * 9 * 5) + 8 + 7) * 9 + (3 * 8 + (5 + 7) + 8 * 3)
(4 + 9 * 8 * 2 + 3 + (7 * 3)) + 6
8 + 4 + 5 * 2 * (2 * 9 * (4 + 5) * 3 * (7 + 3 + 6 * 5 * 6 + 2))
8 * 5 + 8 + 8 + (4 * 6)
4 + 2 * 9 + (3 + 8 * (7 * 2 + 5 + 4 * 8 * 5)) * ((5 + 6 * 7 * 4) * 7 * 8)
3 + 4 + 3 * 4 + 6
(5 * 5 + 2 * (7 + 5 + 4 * 7 + 8 + 6)) * ((5 + 5 + 3 * 4 * 5) * 2 + 2 + 4 + 4 * 5) * 9 + 6
(3 * 9 + (5 * 6 + 5) + 4) + 2
(7 + 6 * 8 + 7 + (8 + 5 * 4 * 6)) * 2 + 4
5 * ((4 * 9 + 9 + 5 * 6 * 4) + 4) + (4 * (3 + 4))
5 * (4 + 2 + 2 + 9 * 8 * (4 + 7)) + 9 + 7
8 * (5 + (5 + 8 + 5) + 2) * (9 * 4 * 5 * 7)
(4 * (2 + 8 + 7 + 9 + 6 * 7)) * 5 * 8 * 6 * 2
(2 * 4 * (2 * 5) + (9 + 2 + 4 + 6) + 4) + (2 * 3 + (7 + 9 + 7 + 2) * 7) + 5 + 9 + 2
2 * (8 + 3 + 9)
4 * 3 * 7 + 4 + (7 + 8 + 2 + 7 * 8)
3 + 3 + (8 * 7)
6 + 7 * 3 + 6 * 2 + 4
(9 * 3 * 5 * 9 * 3) * 6 * ((2 * 5 + 2) * 5) * 8
(2 * 6) * 2 * (8 + 5 * (2 + 4 * 6 * 6 + 2 + 4) * (9 * 5 * 8) + (8 + 7 + 6 + 6) + 5) + 6 + (5 * 3 * 3 * 7 * (6 * 2) + (9 + 4 * 7 * 2 + 5 * 6))
(2 * 5 + 4) * 6 + 8
5 * 4 + (9 * 6 * 3 + 7 * 6) + (9 * 2 + 7 * 5) + 8 + 3
8 + (6 + (9 * 2 + 9 * 4 + 2 * 9) + (7 + 7 + 2 + 8) + 7 * 8) + 7 * 7
(3 * 2 + 8 * 9 + (3 * 2 * 6 * 6 + 3)) * 9 + 9 * 8 * 5
(3 + 4 + 6 + (7 * 6 * 7 + 2 + 6)) * 2 + 5 * 9
6 + 9 + (8 * 4 * 8)
9 + 7 * (5 * 5 * 8) + 7
2 + 8 + (4 * 7 * 4 * (7 + 2) + 2 * 7) * 8 * 9 * (5 * 8 + 8 + 6 + 4 + 5)
3 * 3 * ((9 * 6 + 2) + 7 + 9 * 5 + 2) * 7 + 9 + 9
(4 * 6 + 7 * 6 * 4 * 8) + 4 + (2 + 6) * 9 * (2 * 3 * 5 + 7) * 2
6 + (4 + (2 * 9 + 9 * 5 * 6 * 3)) * 6 * 8
(8 * 2) * (7 + 7 + (4 * 2 * 2)) * 8 + 4 + 7 * (2 * 2 * (2 + 6))
4 + 7 + 9 * (3 + 6 * 8 + 3 * 4 + 2) + 9
8 * 8 * 7 * 5 * 3 * 6
8 * (2 + 6) * (8 * 7 + (7 * 5 + 5 * 4) * 5 + 5 + 5) + ((7 * 8 + 2 * 3) + 8 + 4 * 4 + 3) * 9
(2 + 7 * 4 + 9 * (6 + 9) * 9) + 2 * 4 * 8
(6 * 5 * 6 + 3) * 4 * 3 * 3
3 * (3 * (3 * 3 + 5 + 4 + 7 + 8) + 9 * 9) * 4 + 4 * (9 * 8)
7 + 5
((6 * 7) * 8 * 5 + 3) + 8 * 8 * 6 * 7 * 8
(9 + 4) * 4 * (7 + 6 * 2 * 7) * 9 * 2
6 + 5 + (5 * 5) + (3 + 3)
5 + 6 + (9 + 3 * (3 + 9 * 4 * 2 * 9)) * 2 + (9 + 7 + 8) * 4
8 + 2 + (7 * 4 + 8 + (3 + 2 + 2 * 4 * 9) * 4)
6 + ((8 * 6 + 5) * 8 + 9 * 3 + 5) * 6 + 9
(5 * (8 * 6 * 3 + 8 * 7) * 2 + 2 + 2) + (6 * 5) * 7 * 5 + 8
(7 + 9 * 6 * 5 * 2 * 3) + 9 * (2 * 2 + 6 * 5 * 5 + 8) + 8 * 8 * 4
5 * 9 * (6 * 4 * 3 * 7) * 5 + 9 + 5
7 + 7 + (6 * (8 + 2 * 7 * 9 + 4) + (8 + 9 * 5 + 3 + 9 * 4) + 4) * 9 + 8 * (5 + 5 + 9)
((9 * 2 * 5 * 7 + 8 + 7) * (6 * 8 + 3 + 5 * 6 + 4) + (3 + 2 * 6 + 7 * 7 * 9) * 5) + (6 + 4)
7 + 2 + 8 + (6 * 8 + 7) * 2
9 + (3 * 6) + (3 + 8)
3 * 3
4 + (2 + 4)
2 + 8 * 4
4 * 5 * (5 * 7 * 6 * (3 + 5 + 6 + 5)) * (8 + 7 + 5 * (2 * 6 + 9 * 5) * 2 + 8)
6 + 6 * 2 + ((9 + 6 + 2 + 5 + 7) * 8 + 2 + 2 + 3) * 4
3 + 6 * 8
5 * 3 + 6 + 8 * ((6 * 4) + 4 * 6 + (4 + 5 + 4) + 3 + (7 + 2 * 8)) * (6 + 2 * 4)
3 + 3 * 2 * 2 * 2 * ((5 * 5 * 9 + 5 * 3) + 4 + 5 * 9 * 6)
(7 * 6 + 6) * (5 + 4 * 6 * 8)
4 + 7 + (4 + 5 + 7 * 6) * 3
8 * ((5 * 6 * 5 + 9 + 3) + 6 + (4 * 8 + 7 + 5 + 7) + 6 * 5 + (4 + 9 * 5 + 2))
(9 + 5 + 6 * 7 * 4) + 8 * 3 + 4 * 7
(2 * 2 * 4 + 4 * 4 * 5) * 3 + 6 * 3 * 4 + ((8 + 2) + 4 + 6 * 2)
(9 + 4 + 9) + 7 * 9 * 6
7 * 3 + (9 * 2 + (2 * 6 * 8 + 3 * 2) * 5 * 5 + 7)
8 + 7 * 6 + 3 * ((6 * 6 + 3) * 3 + 5 * 5 * 8) * 7
3 + 6 + ((2 + 5 + 7) + 5 * 2 + 9) * 7 * 2
2 + 3 * 3 * ((9 + 3 * 3) + 7 * (3 * 4 * 7) * 8 * 9) * 3
8 + 7 * 2 * 2 * 3 * (8 * 5 + 8 * 2 * (7 + 2 + 3) * 7)
8 + 4 + 8 + ((3 + 7) * (5 + 9 + 9 + 5 + 7) + 6 * 4 * 7)
((7 + 8 + 3 * 9) * 9 * 4 * 4 + 8 * 8) + 2 * 6 * 6 + ((8 * 9) + 2 + 9)
5 + ((8 * 2 * 5 + 4 + 8) * 9 + 6) + (2 * 5 + 3 * 9 * (2 * 5 * 5)) + 2 * 5
2 * ((2 * 5 * 8 + 9 * 6 * 4) * 5 + 5 * 6 * 2) * (9 + 6 + 9) * (5 + 3 + 5 + (8 + 9) * (6 + 3 + 2 * 6 * 3)) * 9
5 + 5 + (4 * 5) + ((3 * 8 + 8 * 6 * 2 * 4) + 3 + 9 + 5 + 2) * 2
(9 + 9 + (3 * 6 + 6 * 2) * 9 + 4) * (7 * 4 + 3) * 4 + 3 + 9
4 + (7 * 2 + (5 * 3 + 9 * 7) + 8 * 9 * 7)
6 + ((7 * 9) * 9 * 3 * 6 + (7 * 8 * 7)) + (9 * 9 * 5) * ((6 + 6 + 4) + 4 + 5 * 7) + ((2 * 9 * 9 * 9 + 3 + 5) * (6 + 2) * (6 + 5 + 9) + 2) * 6
7 * 9 + 2 + ((2 + 5 + 5) * 4) * 9 + 3
9 + 5 + 5 * (8 + 7 * 7) + (7 + 8 * 9 + 4 + (8 + 8)) * (3 + (2 + 4 + 5) * (3 + 7 * 5 + 7 + 2 * 6))
4 * 2 * (7 * 6) + 3
(3 * (6 + 4 * 6 * 8) + (2 + 4 + 8 * 5) + 3 * 4) * 6 + 8 + 3
8 * 4 + 9 + 7 * 4
5 * 3 * 9 * 9 * 5 * (6 + 2 + 4 + 5 * 9 * 7)
3 * 9 * 3 + 9
5 * (6 * (4 + 5 + 5 + 9) * 3) + (9 + 2 * 5 + (8 + 3 * 2 + 9) + 2) * 3
3 * (5 * (2 + 3 + 6 * 3) + 6) + 2
7 + ((7 * 3 * 4 * 5 * 3 + 2) + (6 * 3 + 7 + 6 + 9) * 3) * (7 + 7 * 3 + 8 + 2 + (3 * 5 + 5)) + (7 * 5 + (5 * 3) + 7 + 2 + 8) * 5
4 * 4 * 6 + 4
8 * (5 + 4 + 7 + (9 + 9 + 5)) * 3 * 7 + 2
4 * (7 + (6 * 4 * 4 + 6 * 8 + 5) + (3 * 5 + 8 * 6 + 5) + 4) * 7 * 4 * 7
2 + (5 * 6) + (5 + 4) * 8
9 * ((6 * 2 + 5) + 8 + 6 * 8 * 8 * 6) + 8 * 5 * 9 + 4
3 + ((5 + 3) + 7 * (3 + 5 * 3 + 9 + 5) * 6 * 6) + 2 + 5 * 9
4 * (8 + 4 + 2 * 8 + 6) + 9
(5 * 9 * 6 * 6) * 8 * 4
(9 * 7 + 8 * 3 * 8) + 9
8 * 9 + 4 + 2 * 9 * 2
5 * (2 + 7 + (2 + 7 * 5 + 2) * (3 * 5 + 5 * 7 * 8))
6 + (4 * 6 * (9 * 5 + 9 + 7) * 6 + 4) * 4 * 6
8 + 9 * 8 + (2 + 8 * (5 * 7 * 7 * 9 + 8 + 4) + (6 * 4 * 9 * 8 * 4 * 9)) * 7 * (3 * 9 + 8 + 2 * 4 * 8)
(9 * 7 * 4 + 5 * 8 * 7) + 2 + 4 + 3 + (5 + 5 + 8 * (4 + 2 * 7 * 8) + (7 + 2 + 6 * 5 + 2 + 5) * (4 + 3 * 8))
6 * 2 * 5 * 2 + (6 * 8) * (2 + 8 + 3 + 7 * 6)
(7 * 9) + 4 * 7 + (5 * 9 + 7 * 3 + (2 * 4 * 9 * 9 * 6)) + 8
6 * 4 + (5 * 6) * 7 + 6 * 7
(4 + 7 + 8 * 9 + (6 * 9 + 8) * (8 * 9 * 5 + 4 * 9 + 3)) * 2 * 3 + 6
6 + 5 + 9 * (6 + (8 + 8)) * 4 + 2
9 + (2 * (7 * 9 + 2 + 9) + 2) * 3 * 8 * ((4 + 6 + 9 + 5) * (5 + 2 + 9 + 3 + 5 * 9) + (8 * 2) * 3) + 9
(9 + (3 + 8 + 7 * 2) * 6 + 6 * 8 + 7) * 3
((4 * 4 * 9) * (3 * 6) * 3 * (8 * 4 * 5) * 5) + 2 + (9 * 5 + 8 * (7 * 4 + 9 + 3 * 3 + 2) + (3 * 4 * 9)) * 7 + 9
2 + 3 * (3 * 4 + 4 * 3 + 2 + 7) * 8 * 9
((6 * 7) + 3 + 7 + 3) + 4
(5 + 3) + 2 * (8 + 4) * 3 + 7 + 9
(8 + 5 + 5) * 6 + 6 * (5 + (7 * 6 + 7 * 6 + 3) + 2 + 5 * 6 + 6) * 3
9 + 2 * 5 + (8 + (8 + 6)) + 8 + (4 * 2)
(5 * 5 + 5) * (4 * 5 + 2 * 3 + 4) + 9
5 + (9 + (8 + 9 * 2 * 9 + 8) * 5 + (4 + 4 + 4 * 6) + 4) * ((3 + 9 * 7 + 8 * 2 * 7) + 3 + 6 + (3 * 3 * 7 * 2 + 3) + 2) * 5
2 + 6 + 5 + (6 * 3 * 9) + 2 * 9
8 * 7 + 9 * 2 + (3 + 7 * 6)
7 * 6 * (7 + 8 * (2 * 5)) * 2
9 * 6 * (8 * 8 * 4) + 6 * 6 * 5
9 * 5 * 9 + ((2 * 7 + 8) + (2 + 4 * 2 + 9 * 3 * 6) * (9 + 8)) + 8
2 * ((7 * 6 + 9 + 5 + 2 + 3) + 6 * (8 + 3 + 9) * 2 * 3 + 7) * 3 * (6 * 9 * 2 * 4) + 5 * 6
4 * (7 * 4 * 4 * (4 * 2)) + 4 + (3 * 9 * (5 + 2 * 7 + 8 + 8) + 5 + 6 + 5)
3 * 7 + 7 + (7 + 7) * 4 * ((8 + 4 * 3 + 7 + 3) * (2 * 3 + 4) + (2 * 6 * 3 + 6 * 2 + 7))
8 + 2 * 5 * (2 * 7 + 9 + 3 + (7 * 2) * 4)
4 + (9 + 3 + 5) * (6 * 3 + (6 + 8 * 2) * 5 * 4) + 3
8 * 2 * (5 * 9 + 4) + 5 + ((7 * 7 * 2 + 5 + 3 * 9) * 8) * 9
2 + 8 + 8 + 4 * ((7 + 9 * 7 + 5) * 5 + 2 * 9 * (2 + 2 + 7 * 7 + 4) * 3) + 5
(7 * 8 + 8) * 8
8 * 6 + 8 + 3 + 2 + (8 + 9 + 2)
6 + 4 * 9 * ((9 + 9 * 2) * (5 * 7 * 3 + 4 * 6 * 6))
(9 + 4 + 7) + 2 + ((8 * 8 * 8 + 7) + 3 * 3 + 8 + 5 * (9 * 7 + 3 + 2 + 2 + 9))
(9 * 2 + (6 * 4 * 8 * 9 * 9 + 5) * 2) * 7 + 4 * (6 + 7 * 5 * 5 * 6 * (9 * 3 + 8))
8 * (7 + 5 * (8 + 3 + 9) + 6 + 6) + 2 + (4 * 2 + 8 * (3 * 4) + 7) + (2 + 4) * 8
(6 * 4 * 7 * 7 * 6 * (5 + 6 + 4 * 8 * 9)) + 7 + (8 + 3 + 6 + 8) * 8 * 5
4 * (4 + (7 + 3 * 2 + 9)) * 3 + 6 * 7 * 4
9 * (8 * 6 + 7 * 9 + 4 + 9) * 7 * 4 + 8
((8 * 7 * 6 + 4) * (4 + 9 * 5 + 8 * 2 * 7) * 2 + (6 * 3 + 9 + 6 + 5 * 7)) * 4
5 + 2 * ((7 * 8 * 6 * 4) * 4) * 4 * 4 + 9
5 + (2 + 2 + 3 * 5) + 2 * 2 * (7 * 7 * 2 + 4)
8 * (7 + (9 + 5 * 6 * 6) * (6 + 5 + 7)) * 3 * 6
(7 * 7 * 2 + 3 + 9) + 3 + 7 * 4 + 8 + 4
5 * (7 * 6 + (8 + 5 + 2) + 7 * 7) * (6 * (2 + 5 * 4) + 4 * 7 + 4 * (6 + 7)) + 2

617
input19 Normal file
View File

@ -0,0 +1,617 @@
101: 118 64
83: 132 118 | 108 2
61: 19 2
33: 126 2 | 68 118
80: 2 48 | 118 91
47: 38 2 | 64 118
40: 25 2 | 93 118
18: 38 2 | 108 118
2: "a"
74: 118 108 | 2 12
41: 118 17 | 2 58
56: 125 2 | 132 118
66: 12 2 | 27 118
62: 118 52 | 2 125
58: 2 128 | 118 99
89: 110 2 | 3 118
30: 118 85 | 2 21
20: 2 70 | 118 111
85: 118 115 | 2 52
98: 118 46 | 2 10
12: 118 2 | 43 118
99: 102 118 | 56 2
127: 2 119 | 118 100
53: 125 2 | 108 118
15: 2 27 | 118 108
22: 95 2 | 61 118
109: 115 2 | 46 118
90: 76 2 | 121 118
37: 15 118 | 23 2
27: 118 2 | 118 118
104: 2 46 | 118 12
32: 64 2
26: 35 118 | 32 2
123: 131 2 | 89 118
21: 118 132 | 2 115
95: 112 118 | 125 2
79: 88 2 | 60 118
34: 107 2 | 133 118
6: 2 101 | 118 110
55: 118 112 | 2 64
10: 2 118
115: 2 118 | 2 2
39: 2 61 | 118 81
42: 92 118 | 124 2
105: 38 2 | 10 118
7: 10 2 | 27 118
106: 87 2 | 1 118
75: 118 46
28: 2 71 | 118 16
120: 118 27 | 2 112
100: 69 2 | 109 118
102: 46 118 | 132 2
5: 39 118 | 51 2
14: 57 2 | 96 118
8: 42
25: 118 59 | 2 67
3: 19 118 | 52 2
59: 2 74 | 118 83
87: 118 72 | 2 78
130: 111 2 | 117 118
112: 2 43 | 118 118
116: 118 38 | 2 108
17: 2 122 | 118 29
124: 41 118 | 40 2
11: 42 31
38: 43 43
44: 118 123 | 2 114
23: 12 2
29: 2 113 | 118 129
121: 2 10 | 118 19
93: 2 26 | 118 36
13: 19 118 | 46 2
107: 118 132 | 2 10
54: 118 27 | 2 12
63: 2 105 | 118 82
84: 2 37 | 118 73
52: 118 2 | 2 118
50: 118 111 | 2 9
111: 118 112 | 2 27
82: 118 46 | 2 108
118: "b"
133: 115 2
103: 34 2 | 22 118
36: 66 2 | 65 118
31: 33 118 | 79 2
69: 12 2 | 115 118
122: 54 118 | 66 2
114: 6 118 | 80 2
92: 118 14 | 2 44
0: 8 11
117: 132 2 | 108 118
76: 64 2 | 27 118
126: 2 28 | 118 127
113: 125 2 | 19 118
43: 118 | 2
46: 118 118 | 2 118
132: 118 118 | 2 2
49: 118 130 | 2 50
129: 19 118 | 27 2
24: 2 27 | 118 52
119: 118 47 | 2 98
91: 19 118 | 10 2
35: 115 118 | 46 2
57: 2 63 | 118 90
125: 118 118 | 43 2
108: 118 118
4: 115 118 | 19 2
94: 112 2 | 115 118
1: 2 55 | 118 75
9: 38 118 | 112 2
71: 2 18 | 118 53
60: 103 2 | 86 118
51: 116 2 | 24 118
128: 24 118 | 117 2
45: 118 2
16: 104 2 | 62 118
70: 118 115 | 2 45
77: 118 13 | 2 94
131: 61 2 | 107 118
68: 2 49 | 118 84
86: 118 97 | 2 30
78: 118 38 | 2 12
88: 5 2 | 106 118
81: 2 45 | 118 52
64: 2 2
19: 2 43 | 118 2
110: 132 2 | 64 118
96: 2 77 | 118 20
67: 104 118 | 4 2
65: 115 118 | 38 2
73: 118 110 | 2 120
72: 64 2 | 115 118
48: 2 46 | 118 10
97: 7 118 | 133 2
aaaaaababababbbbbababaab
aaababbabbbbbbabaaaabbaaabababaabababaaa
abaabababaababbaaaabbaaabaabbbaa
aabbaaaaabbbaabbaabbbabbbabaabbbaaabaabababaaabb
bababbbbbaaaaaababbbabbb
bababbaabbaaaaabbaabbabbbabbabbbbbbbbbababbbabab
aaabaababbaabbbbaaabaaabaabababb
babaaababbbaabaaaabababa
aaababbabbbbbaabaababbaabbababbbabaabbbbabababaaaaabbaab
baabbbbabaabaababbbbbabaabaabaabbaaaabab
bbbbaaabbabbbbabaaaabbabbbbbabaaaaaabbaa
bbababbbaabbaabaababbbab
bbaabbbabbbaababbbabbabb
abbaabbaaabbbaaaaabaabababbaabbababaabbbaaaabbaa
bbaababbbbbbbaabbbabaaab
baabbbaabbababbbababaaabaabbaabb
baaabbbababbbabbabbaabaa
bbaaabaabbbababbbbbbbabb
aabaabbbabaaaaabbbbaaaaa
babbbaaababbbbaaaabaaabbbabaabba
abbabbbbaabbaaaaabbbbbaabbbbbabbbaabaabb
aabbbbaaaabaaabbaabaaababbbbbabbbbaababa
abaaaabaabbaaabaabaaaabbabaaabaaaaabaaab
babaabbbbaaabaabbbababbbaabbababaaaaabababbbbaababbbbbbb
ababaaababaaaabbbababaab
bbbbabaabbbabbabbabbabbaaaabbaab
abababbbaaabababbbbbabbbaabbbabbbabaabaababbbbabaababbbb
bbaaaababaabbaabaabbababaabbbbba
abbaabaaabaaabaabababbbbbbaabaaaabbbabababbababbbabaabaabbabaaaa
bbbbaabaaaabaabbabababab
abbabbaabbbbbababbaabbbb
bbbbaabbababbbbbbbbbaabaaabbabaaaabaaaba
bbbbbaaaabbaabbbaaabbaaaabaabbaabbbbbabb
bbaaabaabbbbbbbbabbbbbaa
baabbbbaaababbababbaaabb
aaaababbbbaababaabbbbbbbaababbbb
aaaaabababaaaababbbaaaaa
abbbaabbbababbaaabaaabaa
bbbbbababbbbaabbaabaaaba
aabbbabbbbbababbaaaabbba
aabaaaaabbaaaabababaabab
bbbbbaaabbbabbabaabaaaab
bbbabbbaaabbbabbaabaaabbbbabbababbabaabbbbababab
abaababbabaabbaaaabbbbbababbbbaaababaaaabbbbabba
abaababbbbbababbabaaaabbababababaaabaaab
baaabbabaabbbabbaaaabbabbabababbbbbabaabaababbbbbababbba
bababbabbbbbbbaaaabbbabaabaaababbbbaaaaa
baabaaabaaabaaaabbaaaabb
bbbabbbbbabbbbbaababbaab
bbaaaabaaabaababbaaaaabbbbaaaabb
abbabbaabaaaaaabbaababaa
aaaaaaaaabaaaaabaaaabbabaabababa
bbbbaabaabbabbaabaabaabb
bbbbabbababaabbbabaaabbb
aaabaabbaabbaaaabbbaaaaa
abbabaaababababbbbbbaabaabbbaabbaaabaaaaaabbabaaabaabaaa
baaaabbbbabaaabaabaababbabaaaaaaabbabaaabbabbaab
abbbaabababbbaaababbbbaaabaabbbbbaaaaaababbabaaaabbbbbaabbbabababbabbaaa
aaaaaaaaaabbbaaabbabbaab
bbabbbaabbabbbbabbaababaaaabbabaaaabaaba
abbaaaaabbaaaaabbbaababbaabbbababababbbabbabbbbabbbaaaabaabaabab
bbbabaabaaabbaaabaabaaabbaabbbbb
aaabbaaabbabababababbaabbabaaaaabbbaabbbbabaabab
abaabbbbabbbbaaabaaaabab
abbaababbbbababbababaaaa
bbbbbaabbbabbabaababaaaa
bbbaabbaabbbbbabaabbbabbabbbaababaababbbaaaaabbbbaaaaaba
aabbbabbbaabbaaaaabbaabb
aaabbaaaabaaaabaabbbabab
bbbbaababbbbbaabaaaaababbabbbaababbabaab
baabbbbabaabbaabbabaabaaabaabbabaaabaaaaababbbabaababaaa
bbbbaaaabbbabbbbabbbbbaa
abaababbbbbbababbababababaabaaababbbbbaa
aaabaaaabbaabaaaabbbabaa
bbbabbabaabbababbaabbbaababbaaaaabbabaab
aabaaabbabbbbabaabaabaaa
bbbbaabbabababbbaaaaaababababaaabbbababa
bbbabbbabbabaabbaaabbbbb
abaaabbabaaababbaaabbbab
bbbbabaabaaabbbbaaaabbabbbaaabaababbbaab
abbaaaabaababbabaabaababbbabbaab
aabbabbaaaabbbbababaaaab
abbbabbaabbbbababbbbbaabbababbabaaabaaabababbbab
bbabaabaabaaaabababbbbbb
bbbbbbbbaaababbaabbbaaab
bbaabbababbbbaaabbaaaabb
babbabbbbaabbabbababaaba
baaabaabaaabbbbaababbbbaaaabbbaaaaabbbaabbbababaaabbbaab
aaaaabababbabaaabaaabbbaabababababaabbba
baaaabbbaaabbaaabaababbabababbababbabbaabaababbaaaabbabaaababaaa
babbbaaaabbaabbbbabbbbbb
bbbbbaaabbaabbbabaaaabba
abbbabaabbbbabbaabaabaaabaaaabbabbbaaaabbbaabbabababbaabbaaaabaa
babbababaababbababbababa
abaabbbbabbaabababbaaaaa
bbbabbaaaaabababbbaabbaabbababaabbbabaaa
abaaaabaababbbbbaabaaaaabbbabbbabbababab
aababbababbaabbbbbbbbabb
bbababbbaabaaaaabbababbabababbabbbabbaaa
abbbbabbbababbbaaaaabbabbbabbbabaaabbbaabbbaabbaaaaaabba
ababaaabababbbbaaaaabbababbbbaab
baabbbbabaaabaaaabaababaaaabbaba
baababbabbbbbabbbaabaabb
bbbababbbababbaaaabaabbbbbbbbabaabbaaabb
baabaabaababbaaaababaaabbbbbbbba
babbaababbbbababbaabaabb
aabbbabaaabbaaaaabbaaabababaabba
bababbbbbaabaaabbbaababa
bbbababbbaabbabbabbbaabaabababaa
bababbaaaabaabbbbbbbaaab
bababbabaabbaaaabbbaaaba
baabbaabaabaabababaaaaaababaabab
baabaaabbbaabaaabbbbbbab
abbbbbbabbaabbbabbaabbbaabbaabbababbaabb
babbbaaaabaabbbbaabbaabb
baabbbababbbababbabaaaaabbababab
babababbaaabababbbbababbaaaababa
abbbbaaaaabbabbaabbaaaaa
bbbbabaababbbbaaaaaaaaab
abbabbaabbbbaabbbabaabbbbaaabaaaaaaabaabbbbbbbaa
bababbbbbbababaaaabaabba
bbbbbaabbbabaababaaaabab
aaabaabbbbaababbaababbbaabbbbbbabababbab
aaaaaaaaabaababbbbabbaab
abababbbabbabaaabaaabbaabbaaaabb
babbbaaabaabaaaaabbbaabaabbbbbbaaaabbabbabbbabab
babbabbbbbbbaabbaaaabaaa
baabbbbaabbbabbabbaabaab
bbbbabbabbababbabbbabbabbabbbaaaaaaabbabaaaaaabb
abbaabbbababbaaabaaaabaa
babbbaaababababbbaabbbbb
bababbaaaaababbaaabbaabb
bbbbabbbbbaabbaaabbbabbabababbbbbababbabbabbabba
abbabaaabbaabbaababbbbaaaaababbaabbababb
baababbabbbbababbbbabbabbbbbbaaaabbaabba
babbbbbaabbabbbbabbaabba
baaaabbbabaabbbbbaaaaabbbbbabbabaaaabbbabbaaabab
abbabbbbbbbaababababaaaa
baaabaabbbbbababbabaabbbbbbbbbbabbabbaab
bbbbbaabbabaaabaaababbabbabbbbabaabaabaa
bbaaaaababbbbabababbabbbaaababbb
aababbbaabbbaabbabaababababaaaab
bbbabbbbaaaaababaabbbbba
bbabaabaabbbabbabbbbbaabbbbbabababaaaababbbaaaabbbbbbabb
bbbbbabaabbbbababbababab
bbbaabbaabbbbbbabbbabbbaabbbbaaaabababab
baaabaaaabaaaabaaababbaabaabbabbababbbbabbaaabab
baaabaaaaaabaaaaabbbbabb
abaaaababbabbabaabaaaaaababbaaaaabbbbabb
baaabbbababababbaaaabbbb
aaabbbaaabaaabbababaabbbbbaabaabbbaaabbb
bbbababbaaababababbbbaaaaaabaabbbaabbbbb
abaabbbbababbbbaabbaabbbaabaababbbbaaaba
aabbbabbabaabababaabaaabbbbabbaaaaabbbbbbaaaabab
aaaaabaaabaababababbbbbb
bbbbababbaabbbbababababaabbbaaab
baaabbbbaaabbaaababbaabb
aabbbabbbbbbbaababbabbab
babaabaaabbbbbbaabaaaabbbbaabaaaaabbaabaaabbabbb
baaaabbbaabaabbbaaaababb
aabbababaaabababbabbabbaaabaabaaaababaaa
abbbbbabbaabaaababbbaabbabbaabababababbbaaaabbabaabbbbbabbabbbaabbbaaaba
baababbaababbaaaaaaabbba
bbbbaabbbaaaabbbbaaaaaaa
bbbbababaaaaaabaaaababbb
aabaaaaabbaaaaabbbbababbbbbaabbabbbbbabb
bbbbaababaabbabbabbbaabbbbbbaabaabaabbbbabbababbbbbaaaaa
abbaaaabbbabbabaababbaaaaababbabababbbabababbabb
bbababbbbaaaabbbabbbbbaa
bbaabbaabbbbabaaabbbbaaababababbabbbbbaabbaabaab
bbaabbbabbbbbaaaaabbabaabaaabbbbababbbbb
baababbabbbababbbbbbbbab
abbbbbbaaaabbaaaaaaaabba
bbaabbbababbabbaaaaabaab
bbbaabaababbbbbabbabbaaa
bbababbbabbbaabbbaabbbbb
bbaaaabaaaabaaaaaabbabbabaaabbaabbbababa
aaabababaaabbbbaabaaabbb
bbaababbaabbabbabaababbb
babbbabbaabbabbaaaabbaaabbbaabaababaaabbaabbbbabbbaaaabb
babbbbababbbaababaababbb
bbbbabbabababababbbbaabaaabaabbbabbaabbbbbaabbaabbabaaaabbbaaaba
aabaaaaaabbaaaabbbbababbbbaaabaabbaabbabbbabbbaa
bababbaabaaabaaabababbbbbbaaabbbabbababa
aaabbbbaaaaaaaaabbbaaabb
bbbbabbabbbbaabbbaaabbaabbbaaaabbaaaabab
babaabaabaaaabbbbaaaabba
abbbaabbbabbabbbbaaabaaaabbabbaabbbaaabb
bbbbaabbaababbabaaabbaaaabaabbaaabbabbab
abbbbaaaabbbaabaabaaaaaabbaaaabaaabababa
baaabaaaabaaaaababbabbbbbababbba
baabaaaabbaaaaabaaababbaababaabbaabaabaa
baaababbbaabbaababbbabaa
babbbbaaaaababbababbbbbb
bbaabaaaaabbabbabaaaabbbaabaaabbbbabaaaaabbababa
baabbbaaaabbaaaabbaaaabb
baabbbbabaabaaabaabaabaa
bbbabbbbbbbabbaaababaaababbabaab
aaaaaabaaabbbbaaabaaabaa
ababbbbaabbaababaababbbb
abaaaaababbbbbabbbbbbbba
aababbbabbaaaaababbbbbaabbabaaabaaababaa
aaabaaaaabbbabbaabaaabbb
bbaababbbbbbaabaabbaaaaa
bbababbbbababbaabaaabbbbabaaaaababbbbaabaaaabbba
abbabaaabbaabaaaababaaaa
aaabaabbabaaaababaaabaaaaabbbabbbabbbbabbbabbababaabbbbbaababababababaab
abaabababbababbbbbbaaaba
abbbbababbaabbbaaaababaa
aaaaabaaaababbbaaaaabbba
abbaababbbbabaababaababbbbabaabbbbbbbbaa
abbbaaaabbbbabbabbaaaaaabaaabaababbaaabbababaaaaaabbaaabbbabbaaaaababababababbbbbaaaabab
ababbaaababaabbbbabaaababbbaabbb
bbbaabbabbbaabaaaabbbbaaaaaaabaaaababbabbbabbbbaabaabbaabbbababa
bbbbaabbabbbbabababaaaab
aaabbaaaaabaaaaababbbbbabbabbbab
bbbbaaaaabbbbbbabbaababa
abaaaabbbbababbabaaaabbbbabbbbbabbababaabbabbbabaabaabbabababbba
baaabbbabbbabbaabbabaaab
aaababababaabbbbbabaaaab
bbaaabaaaabaabbbbabbbabababaaaaa
abababaaaabbbbaabbabbbaababbbbaaaaaaaabbabababbbbaaaabaa
baabbbbabaababbabbabbbba
baabbbaaaabaabbbabababab
abaababbbbbababbaababbabababbbab
baaabaabbabababaaaaaaaaaabbabbbbbaaaabba
baaaaabbbaaabbbababaaaaa
baabbaaabbaabbabbabbbbbb
babbababaaabababaabbaabb
bbbabbbbaabbabbabbbaaaaa
bbbabbabababbaaabbbaaabb
aaabababababbaaabbabababbaaabbabaaaaabbbbabbbbaaaaabbaab
aabbbbaabaaaabbbbbabbbaa
bbaabbaaaaaaaababbaabbaabbaabaaabaaaaaaaababbaab
bababbaabbaaaaabbabaabbaababababaaaaababaabbaabbbbabaaabbaaaabbabaabbbbaabbabbbb
baabaababbbbaaaababbbbbb
baaabbaaabbbaabaaaaaabaabbbabbababbaabbbaaabaaaaaaaabababbbaabbbbbbaaaabababbabbbababaab
aaababbabbaabaaaaabaaaab
bbbabbabbbbbababaabbabbababababbaababbbaaababaaa
babbbabbbbaaaaabbbaaabaabbbaaaaa
bbaaabbabbaaabaaaaaabaab
bababbbbbaabbaaabaaabaaabababbabbaabaabaabaaabaa
bbbbbabababbbbaaaaabababaaaabbabaabbbbab
bbbbaaaaaababbbaabaaaabbaabbaabb
babaabaabbaaaaabbaabaabababbbbbaababbaaabaaaabbbbbbbbbabaabaabaa
babbbabaaaaaaaaaaababaaa
bababbabbabbbbbaaaababbb
abbaaababbaaaababaaababa
bababbaabaaababbbbbbaaaabbbaabababbabbba
baaabbbbaabbbaaaaaaabbababaaaaaaabbabbababbbaaaaababaabb
babbbabbbbababbaabbbaaaabaaabbbabbababbabbbbbaabaaaaababaaabaaaa
ababbbbbbbbbabbaaabaabaa
bababbaababbbbaaaaababababaaaaabbbaaabbb
bbbbbaabbbaabbaaaaabababbaababab
aabaaabbabbabbbbaabaaaaaaaabbbbb
bbaabbabbbbbabbaababaaba
aaabbbbaaabbabbababaabbbaabbababbabbaaabaabbbbba
babbbbabaaaabbabbbbbbabb
babbbabaaabaaaaaaabbbbaababbaabaaababaababbaaaaa
aaabaaaaaabbabbaaabbbabaabbaaabaabbaaaaa
babababbbbbbabaaabbbbbbaababaaaaaabaabaa
aabbabbababbbaaabbbaabbb
aabbaaaaabbaaaaaaaabbbaaaaababbbbbbabbabbbbabaabababaaaaababbbaaaabbbaab
bbbabbaabbbbaaaaabaabbba
babbbabbaabaabbbaabbabbb
abaaabbabaaaabbbaaaaabaaababaaabbabbbabaabaaabababababab
aabbaaaabbbbbaaababbaabababbaababbaaaabaabbabbbaabbaaabbbbabababbaaaaaaa
bbbbbbbbbbaaaababbbbbabbaaabaaababbbababaaabaaba
aabbbababaabbaaaabbaabba
bbbbbaabbbbaabbabbbbbababaabbbbbaaaaabba
abbabababbbabaababaaaabbbbbaaabbbaabababbbaabbbabbaabababbabbbba
aabbbabbababbbbbaaabbbab
bbbbbaaabbbababbbbbabbbaaaabbababbabbbaa
bbbabaababbaabbbabbbbabb
bbaabbbaaabbababbababaaa
abbabbbbbbaaabbaabbbabbb
abbbbaaaaabbaabaabbaabba
bbababaabbbabaabaababaabbbaaaaabaababbaababbaabbaaabbbabbabaaaaa
baaabbaabbbabbabbaabaabb
bbbabbbbabbbbabaababaaababbabbbabbababab
bbbbbaaababaaabaaabbbababbababababbaabba
baabbaababbbabbabaabbabbabbbabaaaaabbabb
bbbbbaaabbbabbaabbabbaab
babbbababbaaaaabbabbbbbb
abaaaabaaaababbaaabababa
bbbababaaaabbbbabbbbabbaaabbaaaababbaaaababbaaaaabbaaaaa
abbabbaaaaaabbabbbaaabab
bbbaabababaabbbbbabaabab
babbbaaaababbbbbbaaaabba
bbaababbbbbbababbbaabbbb
aabbbbaabaaabbbbababbaaabaaabbababbabbbbbbabaaaa
bbababbabababbaabbaaabbaabaaabbabaaabbaaaaaabaaaababaaaaabbbbbaabbabaaaaaabbabaaaaaabaab
baaabbbbbabbaababbbaaaaabbbaaabaabbaababbaababbbbbbbbbbaaabbabbaabbaabbaaababbbaaaaabbabbbbbaaba
aaaaaaaabaaaaabbbaabbaba
baaaabbbbaabaaaababaaaaa
baaaabbbbaaaaaabaaabbbbabbabaabaababbabaaaaabaabababbbaa
bbbbabbbabaaaabaabbabbaaabaabaaa
baaabbaababbbbbaaabbaabaaabaaabbabaabaaabbabababababaaba
bbaaaababaabaabaaaabbbaaaabbaaaabbbbbabb
bbbbabbbbbababbbbbabaaab
bababababbbbaababaababbaababbbbbaabaabba
bbaabbbaaaaaaababababbba
bbbbaabaabaaaababbabbabb
bbbaabbaabbbbaaaababbabb
abbaaaabbaabbabbaabbbbaabaabbaba
abbbbbbabaaaaababbaaabababbbbabbaabbbbba
babbabbabbbaabaabbbaabaabbaaaaaababbbbbb
abbaaaabababbaaaaaabbbbb
bbaaaababbaaabbaabbbbbbaabbaaaabbbabbaabababbbaabaabbbbb
aababaabababbabbaaabbaababaabbbabaaaabbaabbaaabbbbbbaabbaaababbabababbaaaaabaaba
bbbbaabbbbaabbaaaaababbaabbbaabbbbbabaaa
abbbbababbbaababbabbbaaabaabbaabbbbaaabb
aaaaababbaaabbabaabaabaaaaabaabaabbbabaaabbbabaababaabaa
aabbbbbbabaabaababaaababbabbbabbababaabaaaabbabb
bbaabaaabaaababbaaaaabababbaabbbaaababbbbababaaa
bbabaaabbabbbabaabaaaaaababbbababaaaaaaaaaaabbabbabaabbabbbaaaabaaaababb
baaaabbbbaaabbabbabbbbbabaaababbaabbbabbaaabbbabbbabbbbbaabaabaa
babbaabababbbaaabaababbaababbabbbbbabaaabbabaaababbbabbbbbbababaabbaaaaa
abaabbababaabbabaaaabaaa
bbababbaabbaaababaabbaba
baaabbaaaabbababbaabaabb
aabbbbaabababbabbbabaabaaaaaaabb
bbbabbaabbbbaabaaabababb
aaabbbbabababbaabaaaabab
abababbbbbabaabbbbbaabbabbabbaabbbaaaabb
aaaaaaaaabbaaabaabbaaabb
babbabbaabbbaababbabbbba
aaaaaabaaabaaabbbabababbbbabbabb
babaaabbbbbabaaababbabaabaaaabab
aaababbbababbbaaababbaabbbbbababaababbbaaabaabbabaababbbbbaabbbbbabaaabababbbbaaaaaabbabbbababaa
abaababbaabbaaaaabbbaaaa
abbaaaababbabaaabbaabbabbaabbbaabaababaa
aaaaabaaaabbaaaaabababaa
baaaaaababaaaabaababbaaaaaabbbabbaababababaaabaaabbbbabbaabaaabb
bbbbabaabbbbbaabbabbaabaabbaaabbbbabaaaababbbaab
abbabbbbabbabaaaabbabbba
baaabbbbbabbababaaaabbbb
abaabababaaabbaaaaabaabbabaaaaabbabbababbbaababa
abaaaabaaababaabbabbbbaabaabaabaaaabaaaababaaabbaabbbaabbbbaabbb
bbaaabbabbbababbbaaabbaaaaababbb
bbaaabbabaabaaaabbabbabaaaaaaaaaabbaaaabbbabaabaababbababbbbbbba
aababbbabbababbbabaabbba
aabbbabbbaaabbabbbbbbbbbbbbabaababbaababababbbaaabbaabaa
aaaaaaaaabaaaaaabbbabbaababbbaaaaaabaaab
bbaaabaabbabbabaabbabbaaababbaab
abaaabbaaaabbaaaabaabababbbbbbaaaaabbbbb
baabbaababaababaaabaaabbabaaabaa
bbbabbbabbababbbaaababaa
bbabaabbbbbbaababbabbbbb
abbbbababbbabbaaabbbabab
baaabbbababaabbbbbabbaab
aaaaaaaaaabaaabbababaabb
bababbaaabbaabbbaabbaaab
babbaababbaaaabaabaababbaaaabaaa
bbbabbabaabaaabbaaaabbabababbaaaabaaabbb
aabaaaaababaabaaaaaababb
aabbabababbaababaaaababb
bbbbabbabbbaabbabababbbbbbaaaabababaabbaaaabbbbbaabbbbba
ababaaabababbbbaabbaaabbabbbbaaaaabbbaabbbabbabaabaabaab
aabbababbabbabbbaaabbaba
abaabbabbaabaaaabbbaaabb
babaaabaaabbaababbbabaaa
bababbabbaabbabbaabbaaaaaabaaabbabbabbbbaaabbaba
babbabbaabaabbabaababbbb
babbbbaaabaaabbabbaabbbabbbbabbbbbabaababbbbaaababaabaaabbabbbaaaaaabaab
baabbaabbbbbbaaabbabbbbb
bbbababbbaabbbaabaabbbbabbababbbbaaaaabbaabbbaab
aabbaaaaabbabbaaababbbbbbaabbbbaaaaabbbbbbababab
baabbabbaaabbbaabbbbabababbaaabb
babbabbbbbaaaaabbbaaaaaaaaaabaaabaaaaaaaaabbbbbbbaaaabbbababaabbaabbbaaa
bbbaabbabbabaabaabaabbaa
abbaaaabbbbabbabbaabaaaaabaaaaabbbbabbabbaababaaabaabbbaaabbabbb
bbbabaabbbbaababaaababaa
aabaabbbbaabaabbbabaaaaaabbbbbbb
aaabaaaabaaabbaabbaabbbaabababab
abbaaabaabaaaabaabbbbbab
aaaaabaabaaabbaaababaabaaaaaabbabbaaabbbaaaaaababbbbaabbbaabaabababbbaababababab
bbbbaaaabbbaabaaaabaaabbababbaaaaaaabbbababaaaabbbbaaaab
bbbabaabbbaaaaabbabbaaab
abbaaaabaaaaaabaaabbbbaaabbbbaababaabbba
baabbaaaaaabbaaabaababbb
aaabaabbbabbaabababaabbbaabbaababaabaaababaaabbb
bbabaababbbabbabaabbaaab
bbaaaaabbbaabaaaaaabbaaa
bbbbbaaabbbabaabbaababbabaaaabbaabbababa
aabbbbaabbaaabaababbbbbababbbbbaabbaabbbbaaaabbbababbaab
aabbbabbaaabbaaabaababbaabaaaaaaababaaabaaabbbbaaabaaabaaaabbaabababaaaabaaabababbbaaaab
aaabaaaabbbbabaaababbbbbabbaaaaa
abaabbbbabbaaabaaaaaabaabbbbbbaa
bbaaabaaaaaabbabaabbbbab
baaaaaabaaababbabbbbaaab
bbabaabbbabbbaaaaabbabbaaabbaababbabaabbaaabaaaaaaabaaba
abbbbbaabaabbbabbabbaaaabaaaaaba
aaabbaaabbbbaaaababaabbbbbbabbbaaabaaabbbaabbabaaabbaaab
babbaababbbbaaaabbbbaabaaabbbbaaabbabbba
baababbabbaaaaabbbababaabbabbaaa
aabbababbbaaaabaabbabaaabbbbbaaabaaabbbaabbbabab
abbbaabaabaabaababababbaabbbbaabbbabbaabbaabbaaa
baaabaaabaaabaaabaaaaaba
bbbabaabaabbbabbbbabbaaa
bbaaabaabbbbaaaabbabbabaabbababb
abababbbabaaabbabaaaabbbaaaabbabbaababbabbaabbbb
bbbbbaababbaaaabbaaabaababbbaaab
baabbabbbbaaaababaabbaaabaababaabaaaabab
baababbaabbbbbbaaabbabbabbbbababbabbbbbbaabbaabb
baabaaaabaaabbbaabababbbaaabbaba
abaabbabbaabbaaaaaabaaababbaabaabbbaaaaa
baabaaaaabbaabbbabaabbba
bbbaabbababbaabaaaaaaabb
bbbbabaababaabbbbbababaabaaabaabaaaabbaa
aabaababbaabbbbababbaabababaabaabaabbaaaabababab
abaaaaabbbbaabaabaabbaba
bbbbaabbbaabaaabaabbaababaabbabbbabaaaaaaaabaaba
aabbabbaabaaaaaabbabaababbbaabaababaaabb
abaaaababbbaabaaaabaaaaabaabaaaabaaabaaaaaaabaab
aaaaaabaaabbbababbbbbababbbbababaabbbaab
bbbabbababbaabbbabababaa
baabbbaaaababbbabbbaaaba
baaaaaabaabbbabbbaaaaaabababaaba
bbbbaaaaabbbabbabbbbaabaaaaaababbbaabbbb
aaabababbaabbaaaaabbbbab
abbbbaaabbaabbababaaabbabaaaabba
bbaaaababaaabbaaabbbaaaa
ababbbbbaaaaaabaabbabbbbaaabbbbbabababaa
bbabaabaabbabaaabbbaabbb
aababbbaabbbabbabaaabbbbbbabaabaabbbbaaaabaabbaabababaab
aababbabbabbabbaabaaaaaabbbababbabbabbbbabbaabba
aabbbbbababaaababbaaabaababababbbabbaaabaaabbbaabbbabbab
ababbbabbabaaabaabaabaaababaaaaa
abbbbbbabbbaabbaabbabaaabbbbabaaabbbbbaa
bbaaaaabaabbaabaaabbabaa
bbbbaabbabbbaababbaababa
babababbababbbbabbabbaaa
aabaabbbaaabbbaabbbbabaaabbababa
abbbbbabaaabbaaaaabbbabaabbbbaaabbbaaabbbaaababa
baabbaaaaaabaabbbaabbbaaaaabbbaaaabbaababaaaabbbaaaabbba
abaaabbaababbaaababbaabaaaaaabababaabaab
bbbabbabaababbbabaababaa
bbaabbabbbbaabbabbbbaaab
abbbbabababbbabbbbbbabbbbbabaaaaabbaaabb
aabaabbbbbbbaabbabbabbbbaabaabbbbaabbaaaabaabbabaaaababbabbabbab
aabaaaaabaaabaabbbabbaabaababbabbbaababababbbbab
baabaabaabbaababababaaba
aabaaaaaabbbbbabbaabaabb
aabaaabbaaabbbbaaaaaaaaabaaaaaba
babbbabbbbbbabbaaaabbaaabababbbbabbbaabbbaababbabbaabbbbabbbbbaabaaaabba
baabaababaaabbbbabbaabba
bbababaabbaabbbaabbbaabbababaaabbababbaaabbbaaabbbaabbbb
abaaabbabbaaabbaaabaabaa
babababbabbabbbbbababbaaaaabaabbaabaabbbabaaabababababaabaababab
bbabaabbaababaabbbaabaaaabbbbaabaaaaaabb
aababbaaabababbbbababbbbbbbbabbaabbaaaaabaababaa
abaabbabbaaabbaabaaabbba
bbbbaabaaababbababbbbbaa
baaabbbbbbbbbaaabaabbaaabbaabaab
aabbbababbababaaabbbaabbbbabaaab
bbbaabaaabbbabbaabbbbaaaabbbaabbabababbaabbbababbbaabbbb
aababbbabbabaababaaababbaabbbbaabbaabababbaaaabbaababaaa
bbaababbbabaabaaaabbbbbb
bbbabbbbabbabaaaababbbbabbbabaababaabbbbaababbbbabbbaaababbbabaabbabbbaa
bababbbbaabbaaaabbabbbab
bbabbabaaabaabbbaabbabaa
baabaaaaababbaaabbbbbabb
bababababbbbabbaabbaaaabaaabbabb
baaaaaababaaaaabbbaaabbb
ababbbbababababaabbabbab
baabbbaaabbabbbbbbaaaabb
bbbabaabbbaabbbabbabbbbb
aabaababaaaabbabbabbabaa
bbbbbabaabbbaaaabbaababaabaaababbbaabbabaababaaabbbaabaa
abbbaababababbbbabababba
bababbabbbbbabbabbbaababbaaabbabbabaabbaaabbbaabababbbaa
baabbbaabbbabbbbbbaaabab
abbbaabbaabaaabbbbbbababbbbbaabbbabaaabbabbbaaababbabbab
bbbbaaaaababbbbbaabbabbabbbbbaababbababbbabbaaaabbabaaab
bbbabbbbbaabaaababbbbaaaabbbabbbabbbabab
abbbaababbbbbbbbaaaabbabbaaabbbb
bbbababbaabbbabaabbbabab
ababbaaabbaaaaabaaaababa
bbbbabbaabaabbbabbabbbbbbbbbabbbaabbbababaaaabbaaaaaaabbbbaaaaaa
bbabaabbabababbbaaabbbaabaaabbaaabababbbabbbaaaaaaaabbaa
aaaaaaaaaaabbbbaaaabbabbaaaaabba

1000
input2 Normal file

File diff suppressed because it is too large Load Diff

1728
input20 Normal file

File diff suppressed because it is too large Load Diff

33
input21 Normal file
View File

@ -0,0 +1,33 @@
lfqhssm pcxzx jrs rxhv mhtc dvc jvd ttvtr srvzpc thzbt jfkhrp zxstb tkpqpb lcplblp jflxtnp jnqgtrq zdfl kdxht dfxfqs qdths cnzz drcj stjr jtrrnz rlh ljfsmv ptrj rdnsghf kllgt dgtxv zpxvch rfnzl xszpg qmbn nfff cxzrtx fvmzmrd szsdbv mcmrzs hfdxb slgnk szsmh zngdbgf hgndp pxxjmds pdbcdp zczv hvkvz mhzbkt qjhmth gmstmh tvmpdqp ztbgdkd xdfjsm hbfnkq fxzgqn ljclf mpzq mxsbp cjdcn jgjx gnbxs sqrk tlqtz mdghb npvv nkrpv thvbm dfdr srgh xkvgj fmj smxk khqvlxn nkvdvs tnd fqgl dhlmfn rzvj ljvx (contains dairy, sesame, nuts)
tfshb zxstb thzbt dfxfqs prkc qxst nzdmcf mxsbp cjdcn hfdxb hbfnkq dfdr fdknsl nvrndt hhrdrl mcmrzs nkrpv szsdbv jgkvfl slfpcp dvc nfff bmttzd snlhkm nkvdvs sdts qftpx thd qxc zpxvch rdnsghf zpp jrnqx cqvqlp tvmpdqp lbzg kcvzks grzdp zhdtt mdghb zdfl qmbn kllgt mhtc gnbxs mk fmj jmc smxk sqrk fbkpkv mhzbkt nltxdhr hjnx thtsvz fstx ffmq dvffd jfkhrp mdlr rgpvhb (contains nuts, eggs, dairy)
txvg zjlxft fstx mk rkrqrk flrn cqvqlp ptrj pxxjmds tlst jxj fmkmrk xxgd lfrt mhtc drcj njpx fqgl kllgt hfdxb nltxdhr ztbgdkd cnzz qxc hjnx pcxzx ljclf gqsnd svbvqlq ljvx jfkhrp ndqgjs jrs cgrjf thd jrnqx slfpcp tcxz bfrj bdclf jtnfbh zxstb rlh lbzg jvd thvbm nvrndt jtrrnz cxzrtx khqvlxn vnrnn slsdck mhzbkt jlfmg zdfl gnbxs bmxlldv sstvx (contains dairy, soy)
pxxjmds qdths mjpqlvj szsdbv rknm tnd sdts fstx sstvx zxstb lgfmt pdbcdp thtsvz vxmvk mdghb jrs rfnzl smxk rrlszk jgkvfl ljclf gmstmh lfrt fxzgqn hbfnkq tlqtz crrgj rtpgqd jmc rxkt zpp qnvml lgcrd zpxvch ltnqh fdrgkrx gqsnd grzdp ljvx zczv mhtc jnqgtrq srgh qlcvd cgrjf jrnqx hfdxb mxsbp srvzpc kpn lbzg qjhmth njpx crbbk jlfmg bmxlldv hkchvb dxbmdj zpvkl dvffd kllgt srj sqrk jvjtrxt ndqgjs rxhv jflxtnp jvd ffmq bghtk bhrv cxzrtx fnfm zvmnd xbjqr kkdzxr bdsxbd mxprt cqvqlp pbqn cmfjr (contains wheat, nuts, sesame)
hgndp qnvml mhtc krgmpn zpp fdknsl gqsnd xhxrg tlqtz hvkvz ltnqh tkpqpb bmxlldv srvzpc slgstf fvmzmrd ttvtr jtrrnz dgtxv jrnqx zhdtt lgfmt kclh xxgd jnqgtrq hbfnkq kllgt slfpcp xszpg hfdxb ljclf rxhv bfrj zxstb ztbgdkd jtnfbh hqqzdc dfdr mtlcq lgcrd xkvgj ndqgjs rxkt lfqhssm dctgv ljvx zczv szsdbv tfshb bghtk zjlxft (contains fish, soy)
mhtc zpp qdths slsdck rxhv fmj hbfnkq cqvqlp kpn jlfmg nnxxsjh rlh flrn slfpcp ljclf gmstmh srgh jtrrnz tlst lvtrmn hhrdrl sstvx nkvdvs dgtxv zczv vmfhv jrnqx fnfm bdclf slgstf tlqtz cgrjf stjr krgmpn tkpqpb rrlszk bmpt ljvx dvffd tnd gqsnd dfdr ztbgdkd npvv svbvqlq rgpvhb qpktd sdts fqgl qmbn gvtvmn kdxht hfdxb rxkt kcvzks kllgt rzvj slgnk qxst khqvlxn qxc rtpgqd szsmh qnhvn tzxmtx fdrgkrx vxmvk kkmvg gnbxs (contains wheat, dairy)
lfqhssm hhrdrl tcxz srvzpc hbfnkq jrnqx kcvzks sxtfvrhl zhdtt dvc jvd rkhs rkrqrk fbkpkv vmfhv rltxnqf rgpvhb bhrv slsdck dhhf sqrk mxsbp dvffd slsqp tlqtz nltxdhr tvmpdqp cxzrtx crbbk jfkhrp zxstb mk stjr fqll mhtc dctgv xhxrg rdnsghf hfdxb xqnrcg xbjqr slgstf qmbn qxst ztr kllgt hvkvz fdknsl xszpg npvv nzdmcf szsdbv zgcncf qpktd bdsxbd zpvkl xdfjsm ncgn ttvtr jrs gqsnd pdbcdp hgndp bmxlldv zmdl ljvx rfnzl txvg qjhmth (contains dairy, wheat, nuts)
hbfnkq kpn mk hfdxb szsmh kkdzxr rfnzl jflxtnp lgfmt sstvx qxst dhhf npvv zngdbgf nnxxsjh mjpqlvj jfkhrp ljvx krgmpn ztbgdkd smxk jtrrnz bdclf vhchv zpvkl gnbxs nvrndt zbkjjkz qjhmth jmc pdbcdp fmj rkrqrk mpzq kllgt gfgmz crrgj dfdr jrnqx dnjt lcplblp nfff jgkvfl fnfm dctgv mcmrzs slsdck mxprt szsdbv dfxfqs mhtc hvkvz (contains wheat)
bghtk hkchvb nkrpv rlh jrnqx zvmnd hfdxb hbfnkq qxst mdghb jfkhrp jlfmg lbzg tnd ljvx krgmpn ptrj xdfjsm tlqtz slsdck dgtxv fdrgkrx xkvgj qdths szsdbv kkmvg mhtc nvrndt fvmzmrd mhzbkt jnqgtrq pbqn nnxxsjh zxstb ljfsmv nzdmcf cnzz fmkmrk dfdr jtnfbh kllgt ttvtr (contains nuts, fish, soy)
lgcrd ljvx mhzbkt zpp bdsxbd hjnx jnqgtrq fvmzmrd jtrrnz rxhv zvmnd xszpg mhtc zbkjjkz hbfnkq lvtrmn qdths gnbxs flrn dctgv txvg hfdxb qjhmth sdts zgcncf nltxdhr tcxz jlfmg jrnqx lcplblp fmj cgrjf mpzq gvtvmn jflxtnp jgjx qlcvd mjpqlvj kllgt cnzz jmc zjlxft jgkvfl slgstf ttvtr fqll pdbcdp srgh vxmvk sxtfvrhl rknm rdnsghf bmpt kcvzks szsmh srvzpc zmdl rltxnqf dhlmfn (contains dairy, peanuts, soy)
zpvkl fdknsl xkvgj fvmzmrd lfqhssm txvg bdclf hbfnkq jgkvfl bmxlldv qxc dhhf xxgd gvtvmn hvkvz srgh dhlmfn zjlxft svbvqlq jtrrnz rgpvhb jtnfbh mhtc nvrndt sdts bghtk gnbxs kkmvg gfgmz dgtxv mxprt fdrgkrx jmc jvjtrxt fstx sqrk hgndp mhzbkt jflxtnp szsmh zvmnd gqsnd crrgj tnd vnrnn srj vmfhv rfnzl hqqzdc slgnk szsdbv thzbt slgstf ljvx kllgt nltxdhr zgcncf jrs kpn fxzgqn dnjt jnqgtrq jrnqx zpxvch slfpcp ltnqh zxstb dctgv sxtfvrhl qdths (contains wheat, nuts, peanuts)
tfshb cxzrtx tvmpdqp sqrk qlcvd rltxnqf gnbxs bdsxbd lbzg fmkmrk ffmq dhlmfn jrnqx crrgj ljclf lfrt stjr jvd hbfnkq hhrdrl dvc srvzpc flrn bfrj kllgt fdrgkrx zpvkl sdts ljvx qnvml npvv nltxdhr pbqn vhchv zmdl nfff pxxjmds xdfjsm jrs hkchvb svbvqlq hfdxb rlh jxj vmfhv zxstb kkmvg bghtk mxprt (contains fish, nuts, peanuts)
zdfl fqll ljfsmv dfdr ljvx slfpcp jgjx mxsbp mpzq smxk stjr hjnx jmc kcvzks slgstf bfrj bdclf hqqzdc zczv mk rdnsghf jnqgtrq ltnqh cmfjr xqnrcg szsdbv hhrdrl dgtxv gnbxs pcxzx ptrj zjlxft dvc tzxmtx mjpqlvj fvmzmrd bmpt ztbgdkd tlqtz tlst kllgt zmdl gfgmz sxtfvrhl hfdxb bmxlldv vnrnn ncgn kkmvg nltxdhr ztr hbfnkq drcj dhlmfn cqvqlp rknm vmfhv nfff npvv mdlr jrnqx cjdcn sqrk krgmpn mxprt gmstmh xxgd mhtc nvrndt fmkmrk zhdtt rkrqrk (contains eggs, sesame)
cmfjr qlcvd bhrv zjlxft cnzz crbbk qnvml dfdr zxstb ljvx nkvdvs szsmh tkpqpb kllgt kcvzks fqgl tlst hvkvz srj fvmzmrd lcplblp qnhvn jlfmg qftpx slgstf tfshb drcj xxgd kkdzxr rxhv dvc vtbxs slsdck nkrpv gmstmh bmpt zmdl vnrnn dgtxv bghtk mdghb vhchv lfrt ptrj dnjt gfgmz vxmvk smxk bdsxbd thvbm qxst tlqtz zdfl dhhf mk dhlmfn rrlszk njpx sxtfvrhl hfdxb ztbgdkd zczv zhdtt xkvgj txvg slgnk lgfmt hqqzdc tvmpdqp rlh ffmq jrnqx gnbxs pxxjmds mhtc lvtrmn (contains sesame, eggs)
zvmnd kkmvg jgkvfl pbqn grzdp svbvqlq gnbxs mdlr rkrqrk szsdbv kllgt bmttzd rzvj qpktd vhchv srvzpc ncgn crbbk hfdxb qftpx srgh mpzq njpx dhlmfn hjnx mhtc srj tkpqpb ndqgjs jvjtrxt jtrrnz jrnqx sxtfvrhl snlhkm bfrj khqvlxn mhzbkt dgtxv jrs slsqp cxzrtx bghtk rtpgqd zczv nfff zjlxft zxstb xbjqr cnzz dfdr dxbmdj lcplblp qnhvn lfqhssm bdclf ffmq hbfnkq mjpqlvj gmstmh fxzgqn jnqgtrq lgfmt jflxtnp (contains peanuts, sesame)
crbbk hjnx thd ljclf ttvtr xkvgj slgnk srvzpc rfnzl tvmpdqp txvg fqll cjdcn mpzq crrgj vmfhv zhdtt sstvx ztr zxstb ljvx dctgv kcvzks jmc zngdbgf cgrjf kkdzxr rknm jnqgtrq xhxrg zjlxft cnzz xxgd lbzg dfxfqs jgjx jrnqx gmstmh dfdr lfrt snlhkm khqvlxn gnbxs gvtvmn zgcncf svbvqlq mhtc hfdxb dhhf hbfnkq bmttzd jvd (contains sesame)
jfkhrp dhhf slsqp jtrrnz mjpqlvj mdlr zmdl sdts mpzq tzxmtx bhrv nvrndt nzdmcf flrn tkpqpb krgmpn bmttzd zngdbgf nfff zxstb jrs khqvlxn jflxtnp tfshb slgnk ltnqh rdnsghf hjnx fstx hkchvb xbjqr fdknsl ljvx rlh kkdzxr smxk hbfnkq jgkvfl thzbt mhtc xdfjsm lfqhssm hhrdrl zvmnd gnbxs srgh rtpgqd sqrk jrnqx gmstmh rfnzl xhxrg njpx qmbn rknm fqgl rgpvhb lcplblp qxst qjhmth bmxlldv fvmzmrd ndqgjs zjlxft qftpx qpktd jmc mcmrzs slgstf rkhs dgtxv hfdxb nkvdvs (contains peanuts, nuts, eggs)
vhchv jtrrnz kkmvg bdsxbd zxstb kcvzks rxkt gmstmh sqrk mtlcq gnbxs lcplblp qftpx qnhvn drcj zmdl tvmpdqp nfff ljvx mhtc cmfjr dvc kllgt txvg qnvml slfpcp stjr pdbcdp fqll zpcqb slgnk zczv ljfsmv jrnqx fmkmrk rrlszk rlh xqnrcg dctgv srvzpc flrn zgcncf vtbxs lvtrmn hbfnkq xxgd hqqzdc jlfmg snlhkm mcmrzs xhxrg fmj cqvqlp bfrj srj sxtfvrhl (contains nuts)
nnxxsjh slgstf srj mhtc prkc njpx thd tzxmtx hkchvb fqgl zxstb mdlr qxc fmkmrk krgmpn bmttzd kllgt zgcncf cmfjr nzdmcf rdnsghf ptrj mxprt gfgnx lgcrd txvg snlhkm ljfsmv mxsbp vxmvk ffmq bdsxbd stjr pcxzx qnvml kkdzxr jxj jrnqx sdts dctgv dvffd fdknsl cnzz flrn qdths crrgj fstx fbkpkv zpvkl slsdck hqqzdc jflxtnp rxkt kclh bhrv gfgmz dfdr jvjtrxt lgfmt pbqn ljvx bghtk jvd xdfjsm kkmvg gnbxs ttvtr bfrj tlst jgkvfl cxzrtx hbfnkq (contains dairy, nuts)
jgkvfl bhrv ztbgdkd mcmrzs mk thvbm gnbxs xbjqr kllgt thd sstvx zxstb cjdcn jnqgtrq hbfnkq slfpcp jrnqx szsdbv hfdxb rlh xdfjsm lvtrmn kcvzks rknm mhzbkt hhrdrl tvmpdqp ptrj slsdck lgcrd zhdtt bmttzd slsqp lcplblp rrlszk slgstf rzvj crrgj hqqzdc gqsnd jtrrnz ljclf zpp crbbk ndqgjs mhtc tnd qlcvd npvv srj smxk rkrqrk hgndp (contains sesame, dairy)
rlh fdrgkrx mxprt jvd thd jflxtnp mtlcq rgpvhb rdnsghf svbvqlq flrn zhdtt zjlxft jtrrnz mjpqlvj hqqzdc mdghb mhzbkt bmpt lgfmt crrgj tkpqpb slgnk smxk lgcrd rltxnqf bhrv qdths vnrnn slsdck zngdbgf fstx jrnqx hbfnkq cgrjf gnbxs bmxlldv xdfjsm ljvx ztbgdkd dfdr nvrndt sxtfvrhl qmbn snlhkm nkrpv bdclf fqll qjhmth zvmnd tlst tcxz ttvtr xqnrcg grzdp mhtc jnqgtrq tvmpdqp dhlmfn rxkt xxgd kdxht nzdmcf xbjqr ndqgjs ptrj dctgv thvbm pcxzx zgcncf zdfl zmdl dxbmdj cxzrtx hgndp nfff fmj hkchvb bghtk kllgt cqvqlp fqgl zxstb txvg (contains eggs, dairy)
zpcqb crrgj rkhs jtrrnz lvtrmn mhtc vtbxs thtsvz vhchv rxkt lfqhssm ljvx xqnrcg dvc hkchvb thd sdts nkvdvs jvjtrxt drcj rxhv bhrv slsdck tlqtz gvtvmn cnzz ndqgjs qxst hbfnkq pcxzx kllgt hqqzdc fnfm smxk mxsbp bmpt jgjx tzxmtx jtnfbh jflxtnp khqvlxn zngdbgf slfpcp szsmh ptrj zjlxft fdrgkrx kclh dfdr rknm fbkpkv zpp jrnqx nkrpv vmfhv mdghb zgcncf qlcvd srgh xxgd mk kpn gnbxs kcvzks dnjt rlh hjnx kkmvg rrlszk lbzg tfshb npvv bmxlldv zxstb zhdtt rkrqrk zpvkl zbkjjkz zvmnd xdfjsm (contains eggs, fish, dairy)
mhtc hbfnkq jxj bhrv ljclf hfdxb jflxtnp njpx tzxmtx khqvlxn prkc cnzz bdclf kllgt cgrjf vxmvk xbjqr qnvml rltxnqf ljvx rkrqrk nltxdhr rlh dfxfqs gfgmz ndqgjs jrnqx qftpx fvmzmrd vhchv snlhkm srj ljfsmv dgtxv xxgd kclh dvffd szsdbv lgfmt zpp rxkt hjnx mxsbp thd krgmpn sqrk fbkpkv zxstb kpn hhrdrl dvc mpzq lbzg qdths ltnqh lfqhssm gvtvmn mhzbkt zngdbgf jlfmg (contains wheat)
jtnfbh mdlr cqvqlp kllgt hfdxb cmfjr vmfhv mjpqlvj rrlszk zpp jmc nfff srgh jrnqx xszpg qnvml slgstf hbfnkq drcj kpn rlh lbzg dvc mhtc hvkvz zdfl fbkpkv cnzz fqll zxstb dfxfqs vxmvk dhlmfn pcxzx ztr ffmq jvjtrxt cjdcn sstvx xkvgj jlfmg gnbxs bdsxbd cxzrtx kkdzxr snlhkm pdbcdp (contains sesame)
jrnqx qnhvn khqvlxn jlfmg kdxht rgpvhb cqvqlp qdths xszpg lgfmt ndqgjs grzdp hfdxb rkrqrk nltxdhr npvv krgmpn pbqn mhtc tzxmtx kclh dxbmdj fvmzmrd srgh mpzq kkmvg pcxzx fstx gnbxs slgnk jrs ttvtr ljclf nkrpv dvc bfrj kllgt rkhs thzbt qnvml fdknsl cmfjr hhrdrl hgndp xqnrcg jnqgtrq hbfnkq drcj tkpqpb gqsnd fmkmrk thd slgstf rknm nfff qxc vhchv kpn ljvx ptrj jflxtnp flrn qjhmth lvtrmn nzdmcf tlst fqll (contains sesame, dairy)
flrn rltxnqf cqvqlp gqsnd bghtk krgmpn jlfmg hfdxb xbjqr zjlxft fstx ljvx kllgt qxc npvv jxj jgjx srgh cmfjr mhtc dhlmfn sqrk svbvqlq tfshb zxstb vmfhv hbfnkq jmc jvjtrxt xkvgj kkmvg cxzrtx sstvx stjr ffmq thtsvz jrnqx zbkjjkz tkpqpb (contains nuts)
xhxrg hbfnkq kllgt hjnx mk nkvdvs dvc jnqgtrq lgfmt mhtc dxbmdj bdclf grzdp qnvml ljfsmv cqvqlp kclh rrlszk xxgd xbjqr thvbm smxk zbkjjkz fbkpkv rkhs mtlcq qxc gnbxs njpx bhrv snlhkm ljvx jrnqx zpcqb zxstb tcxz thd vxmvk slsqp ljclf txvg krgmpn jflxtnp rgpvhb (contains sesame, fish)
ljvx thvbm grzdp dfdr tfshb dgtxv ztr dhhf gvtvmn ndqgjs mdlr rlh zdfl zngdbgf zxstb mhtc rknm zpxvch jfkhrp hfdxb mjpqlvj nnxxsjh njpx lfrt nzdmcf jnqgtrq gqsnd gmstmh hbfnkq lcplblp jtnfbh khqvlxn sxtfvrhl slsdck crrgj jrnqx rrlszk thd slfpcp zvmnd mpzq pbqn hgndp stjr txvg gfgnx cjdcn xszpg kllgt mhzbkt kpn rfnzl (contains soy, eggs, dairy)
dvc tkpqpb vtbxs zbkjjkz bmxlldv pbqn rknm bhrv jflxtnp jmc kclh zvmnd dctgv hfdxb sstvx gnbxs zdfl hhrdrl tfshb mxsbp rgpvhb qftpx npvv slsqp dgtxv hjnx mhtc hqqzdc mxprt szsdbv xdfjsm gfgnx xhxrg pdbcdp qmbn zxstb jtrrnz thvbm ndqgjs svbvqlq gvtvmn drcj fvmzmrd zhdtt bfrj cjdcn zpcqb zjlxft slgstf rdnsghf lbzg cgrjf lgcrd hbfnkq ljclf rxkt thd rrlszk fdrgkrx smxk kpn qnhvn ttvtr bghtk jfkhrp thzbt jgjx ztr snlhkm jrnqx flrn pxxjmds njpx grzdp sdts zgcncf jrs mjpqlvj ljvx fmj dxbmdj jgkvfl (contains fish, eggs)
jrs xhxrg ljvx hbfnkq dfxfqs zpp mhzbkt mhtc lgfmt bhrv zpxvch dxbmdj kllgt ttvtr dctgv dfdr prkc gnbxs kdxht ffmq qpktd fvmzmrd gfgmz stjr vhchv thtsvz vnrnn kpn zxstb sstvx hjnx xxgd krgmpn qftpx rtpgqd thvbm fstx jrnqx tzxmtx ncgn svbvqlq slgstf rdnsghf qmbn tvmpdqp hgndp dhlmfn xkvgj jxj (contains wheat, nuts, dairy)
cgrjf hfdxb vtbxs qpktd zngdbgf bhrv kclh jvd zdfl nnxxsjh nzdmcf fmj cqvqlp zmdl kkdzxr xqnrcg rzvj ljvx thzbt nkrpv lcplblp kllgt rlh tkpqpb dxbmdj mhtc sxtfvrhl tzxmtx thvbm slgstf zpvkl zxstb txvg jflxtnp hbfnkq ljfsmv zpcqb jmc jrnqx dvffd jgkvfl xszpg dgtxv cxzrtx khqvlxn fbkpkv zpxvch tfshb slfpcp lgfmt smxk dnjt jfkhrp bdsxbd bfrj pxxjmds gfgnx drcj (contains dairy, soy, fish)
slgnk qftpx hfdxb qjhmth nfff fmkmrk qlcvd tlst fxzgqn ndqgjs lbzg rxhv lfqhssm gvtvmn jtnfbh ltnqh tnd gfgmz ttvtr rdnsghf rkhs kllgt mhtc hbfnkq tfshb nnxxsjh mjpqlvj rrlszk hqqzdc fstx jvd mk lfrt thvbm kpn grzdp rkrqrk dhhf zngdbgf txvg njpx zxstb vnrnn krgmpn srvzpc nzdmcf mpzq bmttzd dgtxv hvkvz rtpgqd srj vmfhv jrnqx dnjt cnzz nkvdvs vhchv xszpg ptrj zpxvch qmbn svbvqlq kdxht kkdzxr npvv stjr fbkpkv xqnrcg slfpcp snlhkm jlfmg zhdtt bfrj thzbt mtlcq fnfm fmj xdfjsm zgcncf jmc pxxjmds gnbxs qxst dfxfqs (contains eggs, soy)
tfshb rxkt tlqtz fmkmrk mtlcq dxbmdj zxstb rdnsghf fnfm qjhmth zpvkl jrnqx njpx cmfjr svbvqlq mhtc hhrdrl ptrj cjdcn vmfhv gfgmz hfdxb ffmq nnxxsjh mxprt gnbxs zpcqb rkrqrk szsmh hbfnkq bmttzd cnzz fvmzmrd kkmvg zdfl kllgt zjlxft thd dfdr prkc kclh (contains wheat, dairy, peanuts)

53
input22 Normal file
View File

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

1
input23 Normal file
View File

@ -0,0 +1 @@
362981754

394
input24 Normal file
View File

@ -0,0 +1,394 @@
swswwneswswswswseswewwswswsewseswneesw
nwenwnwsenwnwsewswnenw
swswwswswswewswswnewswsewwswswwsw
nwswswswswwneswsweswenwswswwsewswswswsw
sewnwnwwwnwenwnwsenwnwwwnw
sesesesweswseeseswnwswwswwseseneswnw
wsenweneswseseseeeeseeneeseeeese
neenwneneseneeneeeneseswnwnweesenene
swneswsewwwwwwswwswwswneswswwsw
swwwswswswweswswnewswwswsewnwswwsw
eswnweneeenwnwnenweeseeeweswswee
wneneseswswwseseswswnwseeeswseseswsw
wnwesenwswnesewnwneeswenwnwnenwnwwnw
swswswswswswswseswesenwseswwswweswnwne
nwwenwswnwnwnwwnwnwnwenenwnwsenwnwnenw
nwwnenwwnwnwenwwnwwwwsewnwwsew
wsenwwswwswesweeseneswnwswne
wsenwnewnwnwseenwnwsenewsesewewne
nwsesenwwnwsenwnwnwnwnewswenwnenwnwnwne
eesenwnewesenwneswseeseseeesweew
seseswsenenwswswswseswswswswseseeswwsw
nenwnenwnwenwswnwnwnwne
nwswsenwseewswsenwseseesweswnesenw
wnwwswenwsewwnwwwnwnww
seswnwsenwnwseswseseswseseeseseseenwse
esewswwwswwnewswwwwswwwwnww
eneseeeeeneewseneeneenweeee
wneswwswwswswnwwwswswswneswsewswswe
swswneswswsweswswswwwnwsweswswswswswsw
nesenenwnwnesewnwnenwswnesenwnwnenwnwne
neneswnweneeenwnwwnwseseeeneewswsew
nenwseneeseneneswneeeeeeneenwenw
neeswswnwseswswsesenwswswswswneseneswse
wswewswwswwsewnwwneswwswswsenew
nwnenwseswneseswswswswnwsesesweneenw
sesweseseseseseswnwseseseeseeesenwse
wneneswneenwwewnesenenweneneew
swswseseeneseswswswsenwswswsesesenwsesw
seewwwwwswwneswswswswnewwwnwnwsw
swwwsewwwnenewwnenwnwsewneseswe
neneseswsesenwseswwswsweswseswswseswswsw
swwnwwswswswwwswneswwwwwswewe
enewewneeseeeeeeeseneweesee
swnwnewnewswswswseswnweswswnwsene
swenwneeeneeesenwseesewneenwwneee
wnwnweswwnwwwnwswewwnwseswneew
swseeeeseeenewweesesenweese
nwsenenwnwnwsenwwsenw
eesewwwseeeneeseneeseeenweese
eeneeswneswneesweenenwneneneneenew
senwenenwswswseseneeswswswwwwsenwwenw
wwwnwnewwwenwwnwnwsewnweswsewse
nwnwnwnwnwnwnwnenwswnwnwsenwnenw
neseeenewnewsenenew
senwnwnwwnwnwnwswnewnwnenwwnwnwnwsenw
seswseeseseswnewseneswseswwnwseneswne
seseseseseneneseswseew
nwneenenwsweneeeweswseswenenenese
wnwnwnwnwwnwnwnwewswswnenwnwwnwww
wwnwswwneswswwnewwwsewseeenww
wnwenwsenwnenwnwnenesww
senewneneneneneseneswnweneneneneneee
sewnwsenwnwnwsenenwwnwwewwnwwnww
eseneswwwswswswswswswenwswsweswswsesw
nenewswweseeneeseeweeeeneswnwsw
swswnwwwsewseswswswnwwswseswwneswsw
nwnewnesenwnesenwwnwnwnewenwnewsenesw
seeswnwenwseseewseeeseneeswseesenwsw
swswseswswswsweseswswsenwswswnwswswseese
wswswwnwnwwswswseewswwweneswnwwse
eswseswswswwwwswnwwnwewnwwneww
swswsesenwneweseenweeseeswnwnweswse
wwwswneswwnewwswswswwwewwnwsew
wneswnenenewnenenenenenweswnweenew
enwnwnwnwnwnewnwnwnwnwenwnwnwnwwnw
eeeesenweeeeeesewewenwee
seseseeseeseseenwnwsesesesesenweswse
sesewnweenwnesenwnwswnwnenenwswwnesenwnw
swnwseswwswwwwwnenwswswsenwswewne
weseswsewswswseseneseseneesesesewse
senwwnewnwnewsenewseswswwwwswseww
swnwneneswswwneesenenwenwwneswneneeee
wswnwswnwneswswwsweswseneswsweewsenw
seneseseneswseweesenwseseenesewesese
seeesweeenwenweseseseeeeseee
seseseeseeenwnwseseseseswsesesewsesese
swnenwswenwnwnwenwnweswswweneswsenwne
swswnenwnenweneneseeewnenwnwswnwswnenw
swseseseseseseesesenenwseswseseseseseswnwsw
eneseeseseeseseeseseewse
swnenwswwswseswswswswswswswswswwswsew
eswnenewswswnweeeeeeeeeeseee
swwneswsenwnwsewnwnenewnwnwsenw
nweneeesweeneneneneswneeneenenee
eeeeseneeswew
nwnwnwnwnewnwnenwnwnwnenwnenwe
newswneswswsewnwswswswwwswswswseswsw
nweswswswseswseswseseswswnw
sesenesesesewseeseseweeesesewsew
swseseswswswswswneswseswsw
neseseswseseswsewwseneseswsenwewsesw
eenwwwwswswswswnenwseswswseswswww
seseseswseseneseeseseseee
esweesenweeesenenweesesweeee
eswseeewseeeeeeeesewewwenw
nwewwsewwwwsenwwnwswnewwwnwnw
swsewwwwswswswswnwwwwswsweesww
wsewswsenwneeswwwwenwwswweswswwne
eseswseneesesenwseesesewesesesene
neeeswnwseeswnweesenenwenenewene
seneneseeneeeneeeeenwneeenenew
eneenwenweneneneneneeneseswwse
neeesenwswswwwswnwsewnwswwwswswsw
swnwswswswseswswneseswswswsesenewswwswne
neneneeneneneneswnesenwswneneneneeneene
nwswnenwnwnwnwnwnwsenewnwnenwnenwnwnwnw
weeeeeeeeneeeesweeeeeew
nwnwnenwnwnwnwnwwnwswesenwnwnwnwnwnwnwnwse
nenwwwnwnwnwnwnwnwneswnwnwnwnenwnesee
wswnewneneewesewweseeswnewnwwsew
nwneseswnewneneneneneeneneswnenwwnenene
senwesenenewnwnenwnwnwnwnenwwnwnw
senesesweneeewneseswsewe
swwwwnewswwswwswswesewwswswswnw
weenwnwnwseneneswseenwnwnwnwnenwswnenene
seswnwesweeeeenweesee
wswwwwwwswewswsewnwswwnewwww
wwwwwnwsewnesewwwwnenwsewsenwwe
seswnewsenwwnwwesw
seenwsesesenwswsenwsenweswswswswnwswenw
seswnenwneneswsenwswwwesw
wnwwwwwwewnwwsw
swsenwsenwnwnenwwenwwswseseewsenww
enwswnwnwnwnwnwnwnwsewnwswsenenwneenew
neneseneewnenwneneenewnenenenwnenenene
nwnwwnewnwnwnwnwseeswswsenesenwwnwne
swneeswswnwswsenwnwswseneseeeswswswne
swweswneswswneswsesewnw
swwswenwneswseseswsesesesesenwseswnese
wnwnwseweenenwnwsenwswneenwnesenene
swswseseswswsewswswseesesesw
neseeeewwnwnenwseeeeswee
swnwneeswwneswswsewswewswsewswwwww
nenwesesesesesewwneswsweseweesesee
nesenesewnwwnwnwsenewnwwnenenwenwsene
swenwenwneeeswsweeseneeneneswe
swswsewneswswwswswwsww
nwnwnwnwnwnwnwnwsenenwnwnw
nwnwewnwwnwnwnwnwnwswnwenwnwnw
senwswnwwnesenwswneswnwwwsenwsenenee
neswseswenenwwnwnwnenwwnwenwnwnenwne
nenwnenenenenwnenenenesenwnenene
neesenenewnenesenenewneneeneneenenene
nwwnenwnwneenenenenenwnwnenenewseenene
senenewsenwnwnwnwnenwnenenwnwnewnenwnwnwse
ewnwwnwwwwsew
swseswwwswswwswneswenewswwswswswswswsw
sweneeeseeenwneseswseswseeneeswese
nwwnenwnwnenwnwnwnwnenwnwnwsenwnwswnwneswe
eeeeeeeweneeweeseeneeee
swenweseswenwnwswswnwnenese
nwwnwneeswsenwwsenwnenwenwwnwwnwnw
nenewseswwnenenewneseneesenenwnenenene
nenenwnenenenwnesenwnesenenenene
nenenenenewneneneneneseneneneswnenwnewse
wseseseseswsesesesesenwswenwseesenwne
eenesewneneseenenenesenewneeewne
seseswwseeswnwseswseweswswswswneswse
neeneneneneseswneneewneneneenenewene
eesenweesweeesesee
wseswwnwwwnwwnwneenenwnwswnwsenwnewe
wwnwewswwweswwwswswwwsweww
esweewweenwseswesweneeenwene
eewneneneewneneeeneneneneenee
seneseseseeseswsenwwseseseeseseseewse
eeneeneesenewneneneee
swwswenwswswswswswswsweswswswnwswswsw
wnwswweewwwnwwswwwwenwwnw
nweneseewwwwseenwenenwnwenwswwnw
eeesweseeweeeenwseneeewesenw
eenewneeeeseewseeeeeeee
ewseswneeeseneeenewenene
senwnwnwnenenwnenwnenwnwnwnwnw
nwnwnwnenwnwswnwwnwnwnwswnwnwnwne
nwnenwneswnwnewswnwseenenenwnenenenese
nwswnwnwnwwenwesenwswwnwnweneseswese
nwnwwwwsewweneswswwwsewnwnwenenw
esenwesesesweseseswsenwseseseseseenwsesw
eeeneeeseeseeeesewsweneewswe
ewswsweeeneeenweeneeewneseneee
seseseseseswsesesesesesenwsenwswswswsenw
neenwwsweeneswsesesesesewwseneesw
eseswweeseeneswnweeeeeseneese
swswnwswswnwseswswswnwswsweswsweswneesw
seseenwwnwneneweeseswseseswseswsenwse
seneseswswswswswswswseseseseswsw
eeewseseneseseseseseeeeseese
enwnwnwnwswnwnwnwnwnwnwnwwnwwnw
seseseswnwseseeseseeeeesese
swneswseswswwswswwneswswswswwswswsw
wwwsenwwwnwswnwwwswewnwwwnwe
seseswneneseswswneseswswsenwsesesesesesew
senwswswswsweeswnwse
senwnwenwnwneswwnweswnwnenweeswnwnww
neeswesewesewnwnwnewswseswseseswne
nwwwnwwsewnenwnwwnwnwnwsewwnwwnw
wwswnwwswneswwwwwwewwwwsww
swwseseseeseswwnewseneneswseswsw
eewsewseeseeneseseeneeseseeee
swswseneseswwseseseswne
swswnweswswswnwswswswswswswswswesw
seneseswsewseseswseswseseseswsesene
swsesesesesesewsesesewseeseseseenwse
swswnweneeeeeneenweeswenweeese
seeeewnweswneeeneeeeeenwneeee
nenwnenenwnwswesesesesewneneswwwewse
swswswnwnwsweswwwsweswwswswswswswswsw
wnwenwnenwenenwseswsesewswnw
neswswseswswseseswnwseswswswswswswswswswnw
neeseesesewseswnwesweswnewneewnwe
seseseewnweeseneseeseseseesesesese
nwneneneeswneneweeneneneesesenwne
neneneneneneseswnewneneseneneneneenewne
wwnwwewnwnenwnewwswwnwsewwnw
eeseeseswnenweseesenweeswesesesw
wswsweswswwnwswswswsw
eswseneneswseswswsenwswwwneswwwswse
enwseseseseseeswsewesenewwse
nenenewswseseenenenwneswwnewswneeneenw
swwnwneseeesweswswseeneenwnweswne
eeseeseenweesesesesese
swwenwsweneswsesweswswswswswswswnwswswnw
swwesenenewnwneneeswnwneeswnwswnenwe
swswswsesesweswswswswnwswsw
wnewwwsewswseeewnwwswwnewewnew
neeseneseswenwseseseeswswsewsesenwenw
swnenesewswswneswswwswswswwswswneseswsww
seswneneeeneneneswwneseswnenwneswnenenw
senweswwswswwwwwwwwnewwwswsew
wnwwwwsenwwnewenwwwwnwwnwwew
neneeseswswnenewseneneenenewnenwneneww
senenwnwseseneswnwswnwwwewwswnwneeww
sesesesesenwseseesesesesewswseseswese
sesesesesewneswseswswswswseswswnwseswswe
senwnwneneneenenenwwneswnwnenenenenwnw
wnwnwwwnenwwwsenw
seesewwweeseeeseeeseseeseee
swswswswseswseswsweseseswswwswewswnwne
eseeeeswseseenwseesesesweesesenw
nwnwswnwenwwewnwnwnewnwnwnenwnwswnw
seswnenwwenwnwnwnwnwnwnwnwnwnwnenwnwnw
wwseswwwswewswnwwnewneswwenwnw
seseswseeswswsenwsesewswneswseswseseswsw
swswswswnwswseseseneswseseswswswswnwneswsw
wwewnwwwsweseswwwwwwwwwnese
swswnwneweswswswswswneswswewswsw
wnenwewewwwnwnwnewnwsewseeswwne
neswsenenweenwweseeeswseeewsew
esesenwswsesesesenenwsewsesenwsesesee
swsesenwwnweeswnesewwseenw
eeneeneneenwneneeesesweneeeeew
nweseneneneswenesewnwwswswnenwnwsese
swnwswewwwneseswwsweswwswswswesw
swseseswseswseseswseneswswneswwwsesese
wwwwswnwnwsewwsenwnwnwswnwenwnwnwnenw
wsweswswwnewsweneswswswswwswswwnw
neeswnweneneneenwnwewwswnwnwwnwnenw
nwenwnwnwnwnenwnenewse
swewwwneeswneneseneseneneeenenwneenw
eenenenesenwneeseneneneswsenenewnenwne
wsweseeswneeweneneneeneeeeneee
nwnwnwsenenwnwnwnwnwswnwnwnw
neneenwnwneswwnenwseswesenwenewnwne
eswneswswwswneswswswswnwsw
nweeswsweseeeeeeseenweeeeenwe
weneswsweswswswswseswwswswseswswsww
senwswswswswseswsewweseswsenwswswnenesw
sesenwsesesesesesesesese
swnenweenwneeeeeseenwwswswe
neenenwsenwweswnenwnwnenwnenwwnenenw
sewseseswseneneseeseswsenwwnesesesene
nwwswwnwwwwswwwsewwewnewew
nesewwwseseewnwseeswwsesenesenene
weeneeseseeesweewe
swswswswseseseswseneeneseseswnwsw
neseseseweseseseseenwsesesesesesesese
seswswsweswswswswswwsweswswswswswnwsw
wwwwsewsewnewwwwnwwwwww
nwneswnwnenwnenwnwnenwnwnenenenw
seenesesewsweeneneneneenenenwnewe
nwwnwnwnwswwnwnwnwnwenwnwnw
newseneseewnwnwseneneneneeneneneswnew
neeeeseeeneswneswweneswnenewneene
nwswswnwenenwswnwnenenenenwnenwnenenwnw
eseeeeseeeseweeeeeeenw
swsenwwswnweneswewsenenesesenweese
seeeeseseewswsenweseneseeseeesenw
neseswwseseneweseseseseswsesewsesenesese
newesenwnwewnwnwnwwewseseswwwwnw
seswneswneenwswneswswwenwseswwswswwsw
nenwnwnenenwnesenwne
sewseeeseeeseee
esweweenweeeeseweeneneeesw
ewswnenwswnwsenwwwwseewewseswww
wwneneneseseswsesenwe
wswneswwswewewsenwenwnewweseswsw
wswwwwwnwnwnewww
senwnwnwnwnwnwwnwnw
senenenwnenwnenwnewnwnwnenwsenwnenenenwsw
nenwsenwnwnwnwswnwsenwnwnenwnwnwnwseenwesw
seseswwneseeswnwswswneeswsewswswnew
swwewwwseneenewswwswswsenwswswsw
nwnwsenweeneneneeeneweeswseneswne
swswnewwswswenweseswewsweswswewsw
wseswnwswseswnwnwswswnenweeswswneswse
wnenwswnwnenwenenwnwnwnwnwnwnesenenwnwne
eswsweswneweswenenwswnwwnwnwsenwnese
neeeneeeeneesweeneeweenee
swwneswesewswwswwnwneswseneswsenwsw
ewswswwswwwwwswwswseswwnewswe
nwsewsesweewseseseseseswseswsesesesese
enwnwnwswnenwwnwewnwnewswnwenwseswsw
wwsewwneswwwsenwwnewsewswnwnew
eeeneeswswnwneeseneseeneeewene
seseswwseeswsesewneeseseswsesenesenwsesw
wswswswswswwseswnwswswneswsw
wneswswwnwnwenewwwwwwnwswnwesenwne
swnwnwnwnwnwnwenwnw
swswnenenenenenenenenewwseneneneneenenene
nwwwwnwwenwnwnwwwwwweswwnww
swnwnwnwnwnwnwnwnwnwnwnwnwne
seseseseeseeesewsene
enwnwwnwnwnwnwnwnwnwnenwnenwnwnw
wswnewwwwswwweswwwwwswwew
sesewswswseswseseneswse
sesenweweeeseeneeeseesesweee
swswswswswswswswwweswswesenwnweenwse
swswswnwswwswseswseenenesweswwswwsw
seseeswnweseseswswsenwnwnwseesenwnwww
wnwnwwwwwsenewwnwwnwnwsene
swesenwseseswnwseseswnwswsweseseseswswsese
senwwenwnwnenewnwsenenwnenweewswse
eeenenwenesenewneweneeeeesenwe
senwwneseseseseseseseseesesesesesesese
ewnwswnwswenwswnesewseseneseswswsesw
nesenenweeeeeswwnenwnesweeneenene
neeswwewnweenwewneswsesenwwseee
nesenwseesenwnwswnwsenwnwswenwnwnenwnenw
senenenwnenenewsewnenwnenwnwnwneenewsene
wwwswswwnewwwswswswsenewwwww
neseseenweenesewswsewwseswseseseesw
seseseseseneseseswsesenesesesesesenewwse
swseswswswswswswwseeswseswswsw
swnewnewsesewneswwswwnw
seesesesenwseseswseseseseneeseswseee
neneneneneneseneenwwnenenenenenenwwne
seseewenwenwseeseseeeeseeneeneesw
neswsweeseeseneeesesenwswewnwe
seneswnwwnwwwwnwnenesewenwnwwwnwww
newnwnewswwwwwwwswwswwswwwsew
swseswwnwwwwwswsewswswenwwsw
wnenwnwewsenwnewsewwswnenwsewwswnw
nenwneswnwnesenenwnewsenenwneswnenwnwenw
wwswnwnwnwwwwwwnew
swswswnesesenwseswsewweneneswnesewse
swwsewwwwwwswwneswnenwwwnewsw
nwnwsenenenenenenenwnenenesenenwnwenwsw
sesesenweswswseseseswswswswswnwseswese
wsewwnwwwewnewwwsewwwwww
swseswswwnwesenwswswsenee
sesweseesewsewswswseseseswneseseswsesw
nwsenenenwnwnwwnwnwnwnwenwnenwnwnenwnwsw
nwwnwsesewwewneseswwwnw
eeseseseeseseeswenwseeeseeeenwsw
nwwnewwwsewwsew
wwnewwwwswswwneswswwwneswwwse
wswswswswswswswnwswwswswseneswneseswwsw
nenwnwwseeweswswswswnwnwwewneeswswse
nwnwnwenwsenweswwnenwnwsewnwwwnwnwnwne
eseswwnwneenwsewswsenweswwneswnenw
wswswswnwswneswswwswsenew
swwsesewnwwnwwswswwswwwswsww
wwswesewswswswswnenwswswswnewwwsw
swwwswseswswwswneswswnesweswneswswswsw
swnwnwswnwnenwwwwswnwwnwnwenwnwne
seeseseesesesenwswsesenwswsesesesesese
seeeseseseseseeseesenweswwseewsese
enenenenenewneseseswnenwswnenenenwnenene
swwweswesweswnwnweneenweseswene
senenwnenwsweweenweseneswseneswwnw
nesewneneswwneseneesenenenwnenwnwswse
swnesesewnenwwwnwnwenesewwweseew
nenenesesenwnwnenewnenwsenenwnwnwnenwne
nwseseeeseesenwewseeeseseseenwsw

2
input25 Normal file
View File

@ -0,0 +1,2 @@
17773298
15530095

323
input3 Normal file
View File

@ -0,0 +1,323 @@
....##..#........##...#.#..#.##
.#.#..#....##....#...#..##.....
##.#..##..#...#..........##.#..
.#.##.####..#......###.........
#.#.#...........#.....#...#....
#.......#....#.#.##..###..##..#
.#...#...##....#.........#.....
..........##.#.#.....#....#.#..
.......##..##...#.#.#...#......
.#.#.#...#...##...#.##.##..#...
........##.#.#.###.........##..
#.#..#.#.#.....#...#...#......#
.#.#.#...##......#...#.........
.#..##.##.#...#...##....#.#....
.##...#..#..#......##.###....##
.....#...#.###.....#.#.........
#.##..#....#.#.#.#.............
........#...#......#...#..#....
##..##...##.##...#...#.###...##
#.#....##.#...###......#..#.#..
..#.....#.##......#..........#.
#.......#..#......#.....#....#.
.....###...........#....#.##...
#.#........##.......#.#...#.##.
.#.#.#........#........#.#.....
#..#..##.....#.###..#.#.#.##..#
..#.#...#..##.#.#.#.......###..
........#........#..#..#...#...
##............#...#..##.##...#.
#....#.#.....##...#............
............#...#..#.#.#....#..
#.#.#...##.##.#....#....#......
................###.....#.....#
##.#####.#..#...###..#...###...
...#.....#...#.#....#...#..#...
.......#....##.##.#.##.........
..#..#..##.....#...#.#.....#...
...#...#.#.##.#..###.......#...
...#...........#.#####..##..#..
#.#...#........####..#......#.#
#..#.##...........#.#......#.##
#.#..#....##..#..##.#..........
.....#..#.....#........##..#...
...###.......#.##.......#......
...##..#..#...#....#.###...#...
....####....#........#.##.#.#.#
#....#.....#.###.##...##..##.##
.##.#...#.##.#......#..##.#....
...#.............#.............
..##..##.#.....#........##....#
#.....#....#.......####...#..#.
..#...#..#...#...##.#....##....
.#...##....#....#..#....#......
##..#.#...##......#..#.......##
..#...#.##..#.....#.#...#..#.#.
#..##....#..........#..........
.#........#..#......#......#.#.
...##.#.........#.#....#.#...#.
#.....#.#..#...#...#..#...#...#
#.........#.#.........##.......
.#.......#......#.........###..
.#..#..##...........#.....#..#.
.#....................#.....#..
.##.....#....#....#.###.....#..
...##.#.....#.#....#.........#.
.........##.....#.....#.##..#..
......#......#.#..#..###...#..#
..##...#.#..#...#.#....#.......
..#..##.###.#..#..#..#......#..
.....##...##.........#...##...#
###.#..##....##...##.#..###....
#...#.#..##......##...#.#..#...
..........#....###....#........
#.#.#.#.#.....#..##.##.....#...
.##.....#...#.....#......#.....
.#..........#.#.............#..
.#..##..#.#..##...#....#.##...#
..#.#..........#...#..........#
.#.......#.......#...#..#.....#
##.#...##...#......#.#..#......
#####..#....#..#...#...#.#.....
....#.......#.#..#.............
#..#..#.#.####...#....#....##..
#..#.##.#......#...#......#....
#...##.##...#....#..........##.
..#..#.......##.#....#...#.#...
.....#.##..............##.....#
..##.##...##.....#.........#.#.
.#....##...##...##..#....##..#.
.#...#....#..#......#.#........
#....#.#.#..............#....##
..##..#..#....#####.#....#.#.##
#....#...#.##..#.##.........###
#..#..#....#...............#.#.
#....##...##........##.##.#.##.
......#......##....##.....#.###
#...##..#..#.....#.#........##.
..#.#.##...#...#....#..###...#.
#..##..#.###..##.#.#....#......
..###..#.##........###.....#...
#.............#.............#..
.#.##....#..##.#...#....#.#####
###.....###.#......##..#..##...
.#.#......##.#....#....#.#..#..
###..#..#....#......###.##.....
......#.......#......#..##..##.
..#..#...#..#....#.##....#.#..#
.......##..#........#.#.##.....
.#...#..#........#..#.#..#..#.#
.#..#.##.......#......#...#.#..
.##..##......##.#...#......####
.....#....#......#.....#......#
..........#.#.#...##.#..#.#....
...#.......##......#..#.#.##...
.###..#.#.#....................
##...#...#.##............#.....
....#....#.##...#..#.#...##....
..#.#....#.###...#...#.#.####.#
..#..#.#...#.#......##.........
#..#..####.##.#.#..###....#...#
....#..........#.##.#..#.#.#.#.
#.#.##.........#.....##...#..##
#......#...#.##.#......#..#.#..
#...#........#..#..#...##...#..
.....#.####..##..#.#.##..#...#.
#..#........#........#...#....#
...........#..#.....#.#.#.#....
....#......#....#...#....##....
.#.#..#...#.#....#..#.#....##.#
....#...#...#.##..#...#..##...#
#######...............##.....##
.#.#..............#....#..#.###
#......#.#......###....###.....
##..#...#.##..##..##.#....#....
#....##..#..#...#.#.#...#......
..........#..#.##..##.##.#..##.
....#.#.#.....##........#..#...
..###...#.....##.##.....##..##.
....#.#..#.#.......#.......#...
..##.#..#.....##...###...#...#.
..#.........#...##...#...#..#..
..#..#..#..#..##.#...##..#.#...
...##..#..##..#..####...#.....#
............#............###...
.#.#.###.#.....#.#.#..#.###..#.
...#.........#.....####........
....##.#..##.#.............#...
....#.##.....#..#.....#......##
..........#.............#...##.
#..#.....#.......##..###.......
..##.#...........#.......#..#..
...#...#.#.##.###....#.#..#....
...#..........##..#..#..#...###
.........#.....#..##.....#..#..
#........#...#...#..#.#....##..
.#.#.....####..#.##.#..........
###.......##..#.##...#.....#...
..###.##.#..#..#..#.....##...#.
.........#.....##.#..#..##.....
#..#..##...###..............#..
#....#.#....#..#.....#..####...
####..#.....##...#..#.#.#.#...#
...#....#.....#.##.#.#.#....##.
..........#...#.....###....#.##
#....#.#.#....#..#..#.....#....
.....#.#...#......#....#......#
.####....##...#...#......##..#.
.#...#..#....#..#..............
##.#...##...#.##..#......#.....
..####.##..#....#.#......#.#.##
........#.....##...#.#..##....#
....#.#.#.#.###...#.#...##...##
#.....#...####.#....#.#........
..#.....#...##.........###.....
....#....#....#..#......#####.#
###.....#..#.#.#......#.##.#...
....#.##......#..#.#...........
.#....#....#.#..#.......#...##.
...................#.#.#..#....
##...#.....#........#....#...#.
........##......#...##.#..#.#.#
#.#..###...#....#.#...#.......#
#..........##......#..#..#.....
.............#...##.#...#......
#..#....##..#.........#..#.###.
.....#..........#....##.#...##.
###....................#.#.##..
#........##...##......#....###.
#....#.............#....#...#..
##.......##.#.......#....#..#..
##...#............#..#.#....##.
..#.#..#...#####..........#....
..#.........##.....#.#...####..
....#..............#...........
..#...#.#.#..#.......##.#.#.#..
....#.##.....##..#.....#..####.
#...#...#...#.......#.........#
......#..#.####...###.#.#.....#
.......#..#..#.....#.#..##.#..#
.#......##..#............#.....
.#........#.#....#....#........
.....#.#..#.##.#..##....#..#...
#.#...........#....##.....#....
..#..#..##.###..##..#..###.#.##
##.#..#...##.#.........#...#.#.
......#..#..##...#....#...#.##.
#.##.......................#...
.......#..#..#.##..##......#...
..#.#...#.....#..###....#...#..
##..#.....#..#..#.##.....#...##
#...##...###...#.#..###....#...
...#.#.#..####.....#...##....#.
.#.#..##.....#..#.....##..##..#
#...#..........#.##.#.#........
..##....#.##....#..##......#...
....#..........###.....####..##
...........###....##.#.#.#.#...
...#......................####.
#.#.#...#.#.#.#.#......#.....##
..###...#.####...#..##..#....#.
....#....#.......#...#.........
.#.###.............##..#...#...
....#.#....##...#.....#.##.....
#.......##.....#.#.....#....##.
....##.....###..#.#..#....#...#
......#..##...#......#.....#.##
.#.....#.##.###....#.....#..###
...#..#.###.#....#..#..#...##.#
...##..#...#..#.#.#..#...#.....
##.####...##..#.#.#....#.......
..##..#.#.......##.#......##.#.
....##....#....#..#....#..##.#.
..##..........##....#...#.#..#.
#.#...#.#.###.#.#..##.#...#....
.....#..#.............#...#...#
....#.#..#...##...#....#.##....
#..#...#.###.....#...#.....#.#.
#####....#....#....#.......#.##
#...##....##.#.#...#.....##.#..
#.......#...#..#..#...#....#...
....#......#.#..........#....##
#.###...#.#..##..#.##........#.
#..#.....##.......#..#..#.#....
...#...#.##...#....#.#.#.#...#.
...##..#.#....#......###......#
#.#....#...#..#..#....#........
..#..#.#...##..........#.###...
#..........#...#..#....#....###
..#..#.#....#..............#...
...#........#...#.#....###.#..#
....#.#.#................#..#.#
..#........##.#....#.#..#......
...##..#..#.......#..#......#.#
..#..#....#.........#....#.##..
#.....#....###.#..#..#...#...#.
..#..##.###.#..##....#.###.....
...#...####..#........###.#....
.........#.#...#..#..#.#.......
.##.........##.#..............#
..#.#.#.....###........#.#.#..#
....##..#....#....#.#..#.......
#.#.....#...#........##........
.##.#.#..#..#.#.#.........#....
#.....#..#.##...#...#..........
##..#....#....##.#..#.........#
................#.##.#......#.#
..#..#.#........##...###..#...#
##........#.......#...##.##..#.
##....#.....#..##....#.......#.
#.#....#.#........#..#.........
......##......#...#.....#.##...
###....#..........##.#.#......#
......#...###.........###..#...
.####....#...##..#.#.....#...#.
.##...#...###....#...#.#..###..
#..#......##...#.###..###...#..
#....#.#.#..#....##...#.##..#..
..#.....#...#..........#.##.###
#.....#....###.......##..##.#..
#..##...#..#....#.###......#...
#..#........##..#.....#.#.#....
#.##.#.#..#....#.#.............
.#...............#....##.......
.#.##......##........#...#..#.#
.#...#....#....#...#..#...##...
.....#..###...##........#.#....
...#.......#....##..#..#....#..
...###....#........#..#.###.#..
......##..##..............###.#
.......#.####..##....#.#....#..
#...#......#...#..#.....##....#
.#..#..###....#..##.##.#.......
#......##......#..##....#..##..
.....#..#.#......##.##..##.....
...#..#.......#......#.........
....#..####......#..#....#...#.
..#.#..#...#....#....#.......#.
####..#........#.###...##.#.#.#
.......##........#.#.#...##....
...#.........#..#.#..##....#...
.....#..#...#.#....#...#.#.##.#
#..##.....#.....##.......#...#.
.......##.#.#.....#....#......#
...#...#.##...#......#....#....
..#..#.#...#..#.....#...###.#..
.........#...#..#.......##.....
..##...................#..#.###
.##.##..#.#...#.#....#.....##..
#.#...##...#...#...##..#......#
....#..#...#.....##.#.....#..##
##.#..........###..#...#..#....
...##....#.##....#......#......
.....#.........#....#.#.......#
.......#............#.#.....#..
..#..#...#..#####..#....##.....
...##......##...#.#........##..
.....#..###...##.#.#.##.#...#..
..#.#.#..##..#.##...##.#.#.....
......##...#..##......#.#......
......................#........
#...#..#....#..#.#.##.#.....#.#
.#......#.#....#.#.#..#....#...
.#..#.#.#..#....#..............

1100
input4 Normal file

File diff suppressed because it is too large Load Diff

771
input5 Normal file
View File

@ -0,0 +1,771 @@
FFBFFBFLLR
BFBFBFBRLR
FBFFBFBRRL
BBFFFBFLLR
BFFFFFBLRL
BFBBFBBRLR
FBFBFBBRRL
FBBBFBFLRL
BFFFFBBRRL
FBBBBBFLLR
FBFFFBFLLR
FFBBBFBLRR
BFFFBBFLRL
FFBBBFBLLL
FBFBBFFLRR
FBFBBBBLLR
FFBBBFFRLR
FBFBBFFRRL
FBBBFFFLRR
FFBBFFBLLR
BFBFBFBLLR
BFBBFFFLLL
FBFBBFBRRL
FFBBFFBLRR
FFFBFBBLRR
FFFFBBBRRL
BFBBBBFRLL
FBFBBFFLLR
FFFBFBBLLR
FFBFBBBRRL
BFFBBFFLLR
BFFFBBFLLR
FBBFBBFRRR
FFFBBFFRLL
BFBFBBFRRR
FBBFFBBRLR
FBFFBBFRRL
BFFFFBFLLR
BBFFBFBLRL
FBFBBBBLRL
FBFBFBFRLL
FFBFBFFLLR
BFBFBBBRLR
BFBBFFBLRR
FFBFBFFLLL
FFFFBBBLLR
FFBBBBBLRR
FFBFBBFLLR
BFFFBBBRLL
BFBFBFFLRR
FBBBBFFRLR
BFBFFBBRLL
FBFBBFBRRR
BFBFFBBLLL
BFBFBBFLRL
BBFFFFBLLR
FFFBFFFRLL
FBFFFBBRLL
FFFBBBBLRR
FBBBFBBLRL
BBFFBFFRRR
BFFBFFFLRR
FBBBBBBLLR
BFBBFFBLLL
BFFBBBFRLR
FBBBFFFLRL
BBFFFBFRRL
BBFFBFFRRL
FFBBFFFLRR
BBFFBFBRLR
BBFFFFBRLR
FFFFBBFLRL
FFBBBFBRRR
FFBFBBFLRR
FFFBBFBRRR
FBFFBFBRRR
BFFFFFBRRR
BFBFFBFLRL
FFBBBBBLLL
BFFFFBBRRR
FBFBFFBRLR
FBFFFFBLLR
FFFBFFFLLL
BFFFFFFLLR
BBFFFFBRRL
FBBFBBBRRL
BFFFFFFLLL
FBFBFFBLRR
FFFBBFFRLR
FBBFFBBLLL
BFBBBFFLRL
BFBFBBBRLL
FBFBBFFLLL
FFBBFFBRLL
BFFFFBBLLR
FFBBFBFLLL
FFFFBBBRRR
BFFFBBBLLL
BFFBBFBRLR
FFBBBFFLLR
FBBBFFBRLR
FFBFBFBRLL
FFFBFFFLRR
FFBBFBBLRL
BFFBFBFLRR
FFBFFFFRLR
BFBFFFFLLL
BFBBFBFRRR
BFBFBFFRLL
BFFFBFBRLL
FFBBFBFLRR
FFBFFFFRRL
BFBBBBFLLL
BFBFBFBRRR
FFFFBBFLRR
FBBBBFFLRL
BFBFFFBLRL
BFFBBFBRLL
FBFFBBFLLL
BFBBBBBLRL
FFBFBBBLLR
FBBFFBBLRR
FFBFFFBRRR
FFFBBBBRRR
FBBBBBBLRL
FFFBBFFLLL
BBFFBFBLRR
BFFBFFBRLR
FFBBFBBRLL
BFFBFBBRLR
FBFBFBFRRL
BFBBBFBRLL
FFFFBBBLRR
BBFFFFFLLR
FFBFFFFLLL
BFBBFBFRLR
FFBBBBFRLR
BFBFBBBLRL
FBBFFFFRLL
BFFFBBBLRL
FBBBBFBRLL
FFBFFFFRRR
BFFFBFBRLR
FBBBFBBLLL
FFBFFBBLLL
FBFFFBFRLL
FFFFBBBRLR
BBFFFBBLLL
BBFFFFBLRL
FBFBBBFRRL
BFBFFBBRLR
FBBFFBBLLR
BFFBBFFLLL
FFBFBBBLLL
BFFBFFFRRL
BFBBBFBRLR
FBFBBBFLLL
BFFBBBBLRR
BFFBFBFLLL
FFFBBBBLLR
BFFFBFFLLR
FFFBFBBRLL
FFBBBBFRRL
FBFBFBBLLR
BBFFBFFLRL
FBFBFBFLLR
FBFBFFFLLR
BFFFBFFLRR
BFFBFFBRRR
FFFFBBBLLL
FBBFBFFLLR
FFBBFBFRRL
BFBFBBBLRR
BFFFFFBRLR
BFBBBBFRRL
FFFBBBFLRR
FBBFBFBRLL
FFFBFFBRLR
BFFFFFFRRL
BFFBFBFRRL
BFBBBBBRRL
FBBFBFFRLL
FFBFBBBRRR
BBFFFBFLRL
FBBBFBFRRR
FBFFFFFLRL
FFFBBBBRLR
FBFFFFBLRR
FBBFFBBLRL
BFFFBBFRRL
FFFBFBFRRR
BFFBFFFRLL
BFBFBFFLLR
BFFBFBFRLL
FFBFFBBLRR
BFBBBBBLLR
FBBBFFBRRL
FFBBBFFRLL
BFFBFBFLLR
FFBBBBFRLL
BFBFFFBRLR
FBFFFFBLRL
FFFBBFBRLR
FFFBBFFLLR
BFBBBBFLRR
FFBFBFFRRR
BFFBBBBRLR
FBFFFFFRRL
BFFFFFBRLL
FFBBBBFLRL
BFFFBFBRRL
FFBFBFFLRL
FFFBFFBLLR
FBBBBFBRRL
FFFFBBFLLR
BFBFFBFRLR
FBFFBFBRLL
BFBBFBFLRL
FBBFBBFLLL
BFFFFFFRLL
FBBBBBBRLR
BFFFFBBRLL
FBFBBFFLRL
FBFFBBFLLR
FBFBFBBLLL
FFBBBFBLRL
FFBBBBFRRR
FFFFBBBLRL
BFBBBBFRLR
BFBFBBFLRR
FFFBBFFRRL
FFFBBFFRRR
FBBBBFBRRR
FFBBBBBRLL
FBBBFFBRLL
FBFBBFBLRR
BFFFBBBRRR
BFFBBBBLLR
BFFFFBFRLR
FFBFFFFLRR
BFBBBFBLRR
FBFFFBBRLR
FFBFFBFLRR
FFFBFBBLLL
BFFBFFBRLL
FBFFFBFLRR
FBBBFBFLLL
FBBFFBFLRR
FFBFBFBRLR
FFBBBBBRRR
BFFBFBBRRL
BFBFFBBRRR
BFFBBFBLRR
FBBFFFBRLL
FBBBBFFLLL
FBBBBBFLRR
FBFFBBBLLL
BFFBFFBLRR
BBFFFFBRRR
FBFFFBBLLL
FFFFBFBRRL
FBBFBBBRLR
FBFBFBFRLR
FBFFBFFRRR
BBFFFBFRLL
BFBBBFFRLR
FBBFFFFRRL
BBFFFFFLLL
FBBFFFBRLR
FFBFBFFRLR
BFBFBBFRRL
BFBBBBFLLR
BFFFBBFLRR
FBFBFBBLRR
FBBFFFBLRR
BFBFFBFLLR
BFBFBFBRRL
FBFBFFBLLR
FBBFBFBLRL
BFBFFFFRLR
BFFBBFBLLR
BFBBFBBRLL
BFBFBFFRRR
FFBBFBBLLR
FFBFBFFLRR
FFFBFFBLRR
BFBFFFFLLR
FBFBFFBRRL
FBFBFFFRRL
FBFFFFBRRR
FFBBFFFRRL
FFBFFBBRLR
BFBBBFFLRR
BBFFBFBRLL
FBBBBBFRRL
BBFFFFBRLL
FFBBBBFLLR
FBBBBFBRLR
FFBFFBFRLR
FFFFBFBRLR
FBBFBFBLRR
BFBBFBFLLR
FFBFBBFRRR
FFBBFBFRRR
FFBBBBBLLR
BFBBFFBLRL
BFFBBFFRLR
FFFBBFBRRL
BFFFFFBRRL
BFBBFFBRRL
BFFBFBBLLR
FBBFFFBRRR
FBBBFFFLLR
BFFFFFFRLR
FBBFFFFLRL
BFFFBBBLLR
BFFFBFBLLR
BFFFBFBLLL
FFFBFBFLRL
FBFBBBBRLR
FBFFFFFRLL
BFFBFFBLLL
FFBBFBBLLL
FBFFBFFRLL
FBFFBFBLLR
FFBBFBBLRR
FFBFFFFLLR
FBBFBFBRLR
FFBBBFBRRL
FBFBBFBRLL
FBFFBFFLLR
BFFBFBFRRR
FBBFBBBLLR
BFBBFFBRLR
BFFBBFBRRR
FBBBBFFLRR
BBFFFFFLRR
FBFFFFFRRR
FFBBFFFLLR
FFBFFBBRRL
FBBFBBFRRL
BFFFFFBLLL
FFFBBBFLLL
FBBBBFBLRR
FFFBBFFLRL
BFBBBFBLRL
FBBFBBFLRL
FBBFFBBRRR
FFBFBBFRLL
FBFFFFFLLL
FFFBBBFRLL
BFBBFBBRRR
FFFBBFBRLL
FFBBBFBRLL
FBBBBBBLRR
FBFBBBBRLL
FFBBFFFRRR
FFFBFFBLRL
FBBFBFFRLR
BFFFBFFRRR
BFFFBFFRLL
FBBBFFFRLR
FFBBFBBRRL
FFBBFFFRLL
FFBBFBFRLL
FBBFFBFLLL
FBFFBBBRRL
FBFBFFBRRR
FFBFBFFRLL
FFFBFFFRRR
FFBFFFBLRR
FFBFFFFRLL
FBFFFFBLLL
BFBBFFFLLR
BFBFBFBLRR
FBBFFFFLLR
FBBBBFBLLR
FBBBFBFRRL
BFBBBBBRLR
FBFFBFBLLL
FFBBFFFLLL
FFFFBBFRRR
FBFBBBFLRR
BBFFBBFLLL
FFBBBFBLLR
FBBFFFFLRR
FBBFBFBLLR
FFBFFFBLRL
FBFBBBFLLR
BFBBBFFLLR
BFFFFBBRLR
FBBFBFBLLL
FBBFFBFRLR
BFBBFFBRLL
FBBBBFFLLR
BFFBBBBLRL
FBBFBFBRRL
FBBFFBFLRL
FBBBFFFRRL
BFBFBFFLRL
BFBFFFFLRR
BBFFBFBLLL
BBFFBFFLLR
FBFBBFFRLL
BFFBBBFLLR
FFBFBBFRRL
FBFFBBBLRR
FBBBFBBLLR
FBFFFBBRRL
FFBBBBFLRR
BFBFFBFLRR
FFFBBBFLRL
FBFFBFFRRL
FBBFBFFLRL
FBBFFFBLRL
FFBBBFFRRR
BBFFFBFLLL
FBFFBFBLRR
BBFFBFBLLR
FBFFFFBRLR
BFFFFFFLRL
FBBFBBBLLL
BFBFFBBLRR
FFBBFFBRRL
BFFFBFBLRL
BFBBBBBRLL
FBFFFBBLRR
BFBBFBBLLR
FBBBFFBLLL
FBFFFBFRLR
FFBBBFFRRL
FFBFBBFLRL
FFBFBFBLLR
FBBFFBFRLL
FFBBBFFLLL
BFBBBBBLLL
FBBFFFBLLL
BFBFFFBLRR
FFBFFBFLRL
BFFFBBBRRL
BFBFBBBLLR
BFBFFFFLRL
BFBFBFFRLR
FBBFBBBRLL
FFBFBBBLRL
FBBBFFFRRR
FBBFBFFRRR
FFFFBBBRLL
FBFFBBBLRL
FBBBFBBRRL
FBFFBBBLLR
FFFBBBFRLR
BFBFBFBLLL
BBFFFFFRRR
BFBBFBFRLL
FBBBFBBLRR
BFFFFBFLRL
FBBBFFBLRL
BBFFBFFLRR
FFBFBFFRRL
FBFFFBBLRL
FFFFBBFRLL
FFBFFFBLLR
FBBBFBFLRR
FFFBFFBRRR
BFFBBBFLRR
FBFFBFBLRL
FFBFFFBRLR
FFBFFFBRRL
FFBBFFBLRL
FBFBFBBRLR
FFFBBBBLLL
BFBBBFFLLL
FFBBFBFLRL
BFBFFFBRLL
BFFBFFBRRL
FBBFFFFLLL
FBFFFFBRRL
FFFBFFFLLR
FBFFFBFLRL
FFBFBFBLRL
FBBBFFBLRR
BFBFFBBRRL
BBFFFFFLRL
BFFBBBFRRR
BFFFBBFRLR
BFBBBBBLRR
BFFFBFBLRR
FBBBBFFRLL
BFBBFFFLRR
BBFFFBFLRR
FBFFBBFRLL
FBFFFFFLRR
FBBBBBFLLL
FBFBFBBRRR
FBFBBFBLRL
BFBBFFBRRR
BBFFBFFLLL
FBBFBBFLLR
BFFBBFFRLL
FBFBBBBRRL
FBBFBBFRLL
FBBFBBFLRR
FBBFFBBRRL
FFFBBFFLRR
BFBBFBFLRR
BFBFBFFRRL
FFBBFFFRLR
FBFBBBBLRR
BBFFFFBLLL
BBFFFFFRLR
FBFBFFBLRL
FBBFBBBLRR
BFBFFBFRRL
BFFFFFFLRR
FFFBBBFLLR
FBFFBFFLLL
BFFBFFFRLR
FBBFFBFRRR
FFFBFFFRRL
FFFFBBFLLL
BFBFBBFRLL
BFFFFBBLRL
FFFBFBFLLR
FBBBFBFRLR
BFBBBFBLLR
BFFBFBFLRL
BFBFFFBLLL
FFBFFBBLRL
BFBBFFFRRR
FFFBFFBLLL
BBFFFFBLRR
FFBBFBFLLR
FBFBBBBRRR
FBFBBBFLRL
BFFBFFFLLR
FBFBFFFRLL
FBBBBFBLLL
FBBBBBBRRR
FBBBBBFLRL
BFBBFFFRLL
FFFBFFFRLR
FFBFFBBLLR
FFBFBBBRLL
BBFFFFFRLL
FFFBFBBRLR
FFBFBBBRLR
BFFFFBFLRR
BBFFFBBLRL
FBBBBFFRRL
FBBFBBBRRR
BFBFFFFRLL
FBBBBBBRRL
BFFBFFBLRL
BFFBBFBRRL
FBFFFBBRRR
BFFBBFBLLL
BFBFBFBRLL
BBFFFBBRLL
FBFBBBBLLL
BBFFFBBLRR
BFFFFBFRRL
BFBBFBFLLL
FBBBFBBRLR
BFBBFBBLRL
BFBBBFBRRL
FBFFBBBRLL
FBBBFBBRLL
FFBBBBBRRL
FBFBBBFRLL
BFFFFFBLLR
BFFBBBBRRR
BFBBFBBLLL
FFBFBBBLRR
FFBFBFBRRR
BFBFFFBRRL
FBBBFFBRRR
BFBFBBBLLL
BBFFFBBRLR
BBFFFBBRRL
FBBBBFBLRL
FBBBBFFRRR
FBBBFFBLLR
BFFFFBFLLL
BFBFBFFLLL
BFFFFBFRLL
BFFBFBBLRL
FFBFFBBRLL
FBFBBFFRLR
BFBFFFBRRR
FBFFBFBRLR
FBBFBFFLLL
FBFFBBFLRR
FFBFBFBLRR
FFBBFFBRRR
FBBFFFBLLR
FBFFFBFRRR
BFBFFFFRRL
FBBBBBFRRR
FFFFBFBRRR
FFBBBBBLRL
FBFBFFFLRR
FBBBFFFLLL
BFFFBFFRLR
FFBFFBFRRL
FBFBFFFRRR
FFBFBFBLLL
BFBBBFFRRL
BFBFBFBLRL
BFFFBFFLRL
FBBBBBFRLR
FBFBBFBLLL
FFFBBBBLRL
FBBFBFFLRR
BFBBBFBRRR
FBBBFBBRRR
FFFBFBFRLL
FFBBBBFLLL
FBFFBFFRLR
FBFBFBFLLL
FBFFFFBRLL
FBBBBBBRLL
FBBBBBFRLL
FBBFFBFLLR
BFFBBBFRRL
FBFFFBFLLL
FBBBFFFRLL
BFFFBBBRLR
FBFBBBFRRR
BFFBFBBRLL
FBBFFFBRRL
FBFFBBBRLR
BFBFFBBLRL
BFFBBFFLRL
FBFBBBFRLR
BBFFFBBLLR
FFFBFFBRLL
BFBFBBFLLL
BFFBBFBLRL
FFFBBFBLRL
BFBBBFFRRR
FBFBFFFRLR
BFFBBFFLRR
BFFBBBFLLL
FBFFBBBRRR
FBFBFFFLLL
FFBFBBFLLL
FBFFFFFLLR
BFBBFBFRRL
BFBBBBBRRR
BFFBFBBLLL
BFFFBFBRRR
FFFBFBFLLL
FFBFFFBRLL
FBBFBFBRRR
FBBBBBBLLL
FBFBFFFLRL
FFFBFFBRRL
FBFBBFFRRR
FFBBFBFRLR
BFFFFBBLLL
FBBFBFFRRL
BFFBFFFRRR
BFFBFFFLRL
BFBBBBFRRR
BFBFBBBRRL
FFFBBFBLLL
FBBFFBBRLL
BFBBBFFRLL
BFFFBBFRRR
FBFBFBBRLL
BFFFBFFRRL
FFFBFBBLRL
FBFFFBBLLR
BFFFBBFLLL
BFFBFFFLLL
BFFBBBBLLL
BFFFFFFRRR
FFBFFBFRLL
FBBFFBFRRL
BBFFFFFRRL
FFFBBFBLRR
BFBFFBFLLL
FBFBBFBRLR
BFBBFBBLRR
FBFFBFFLRL
BFBFFFBLLR
FFFBBBFRRR
FFBBBFFLRR
FBFBFFBLLL
BFBFBBFRLR
FBFBFBFRRR
FFBBFBBRRR
FBBFFFFRLR
FBFBFBBLRL
FBBFFFFRRR
FFBBFFBRLR
BFBFBBFLLR
BFFBFBFRLR
BBFFBFFRLL
BFFBBFFRRR
BFFFFBFRRR
FBFBFBFLRL
FFBFFBFRRR
FBBFBBBLRL
FFFBBBFRRL
FBFFBFFLRR
FFBFBBFRLR
BBFFBFBRRL
FBFFBBFLRL
FFFFBBFRRL
BFBFFBFRLL
BFBBFBBRRL
FFFBBFBLLR
FFBFFBFLLL
FFBBBBBRLR
BFFFFFBLRR
BFFBBBFLRL
BFBBFFBLLR
FBFFFFFRLR
FFFFBBFRLR
FBFFFBFRRL
BFFBBBBRRL
FFBFFFFLRL
BFBBFFFRRL
FFFBBBBRLL
BFBFBBBRRR
BBFFFBFRLR
BFFBFFBLLR
FBFBBFBLLR
BFFBFBBRRR
BBFFFBFRRR
BFFBBFFRRL
FBBBFBFRLL
FFBFFFBLLL
BFFBBBFRLL
FBFFBBFRRR
FFFBFBFLRR
BFFBFBBLRR
FBFFBBFRLR
FFFBFBFRRL
FFFBBBBRRL
BFBFFBBLLR
BFBFFFFRRR
FFBBBFFLRL
FBBFBBFRLR
FFFBFFFLRL
BFFBBBBRLL
BFBBFFFRLR
FFBFFBBRRR
FBFBFFBRLL
BFFFBFFLLL
FFBFBFBRRL
FFFBFBBRRL
BFBBBBFLRL
BBFFBFFRLR
BFFFBBFRLL
BFFFBBBLRR
BFBFFBFRRR
FBBBFBFLLR
BFBBFFFLRL
FFFBFBFRLR
FBFBFBFLRR
BBFFBFBRRR
BBFFFBBRRR
FFBBFFBLLL
BFBBBFBLLL
FFBBFFFLRL
FFFBFBBRRR
FFBBBFBRLR
FFBBFBBRLR

2178
input6 Normal file

File diff suppressed because it is too large Load Diff

594
input7 Normal file
View File

@ -0,0 +1,594 @@
pale chartreuse bags contain 3 faded orange bags.
drab gold bags contain 5 dark aqua bags.
mirrored magenta bags contain 3 dotted violet bags.
posh black bags contain 3 dark lavender bags, 3 mirrored coral bags, 1 dotted chartreuse bag.
striped yellow bags contain 5 pale red bags, 2 light lime bags, 5 clear indigo bags.
bright aqua bags contain 2 vibrant orange bags, 4 clear lavender bags, 1 pale gray bag.
dim silver bags contain 2 bright blue bags, 3 faded olive bags, 1 faded cyan bag.
light beige bags contain 2 bright silver bags, 4 vibrant crimson bags.
dull cyan bags contain 2 drab beige bags, 3 mirrored turquoise bags, 2 mirrored indigo bags.
dark black bags contain 5 dull turquoise bags, 4 faded cyan bags, 4 plaid coral bags.
dotted bronze bags contain 3 light blue bags, 2 dull teal bags, 3 dull chartreuse bags, 1 plaid green bag.
light purple bags contain 3 clear tan bags, 3 dull tan bags.
wavy orange bags contain 3 wavy tan bags, 3 faded green bags, 1 shiny brown bag, 2 dim tan bags.
drab beige bags contain 1 vibrant tan bag, 3 pale chartreuse bags, 3 plaid indigo bags, 2 mirrored chartreuse bags.
light coral bags contain 4 faded green bags, 1 pale crimson bag, 3 light bronze bags, 4 posh blue bags.
wavy coral bags contain 5 vibrant cyan bags, 5 light blue bags, 1 dotted turquoise bag.
dotted plum bags contain 1 clear orange bag, 2 drab black bags, 5 dull chartreuse bags, 5 plaid fuchsia bags.
striped olive bags contain 4 clear brown bags, 2 shiny beige bags.
vibrant maroon bags contain 2 dotted beige bags, 4 plaid olive bags, 5 dull black bags, 5 mirrored aqua bags.
drab purple bags contain 2 light green bags, 1 clear orange bag.
shiny violet bags contain 5 drab white bags, 5 dark aqua bags, 3 muted gray bags, 4 wavy orange bags.
muted maroon bags contain 2 plaid red bags, 3 bright silver bags, 5 posh yellow bags, 1 bright yellow bag.
clear black bags contain 1 bright plum bag, 1 faded brown bag, 4 wavy chartreuse bags.
dotted maroon bags contain 5 mirrored turquoise bags.
drab silver bags contain 2 vibrant violet bags, 2 muted orange bags, 4 dull purple bags.
faded purple bags contain 1 bright lime bag, 2 striped brown bags, 5 dull maroon bags, 2 shiny olive bags.
dull maroon bags contain 1 clear lime bag.
pale salmon bags contain 5 striped blue bags, 5 posh blue bags.
plaid orange bags contain 1 pale coral bag, 3 shiny orange bags.
drab black bags contain 5 vibrant orange bags, 1 dotted tomato bag, 2 dim red bags, 3 muted blue bags.
dotted teal bags contain 3 light fuchsia bags, 5 vibrant tan bags.
plaid tan bags contain 5 dark brown bags.
shiny coral bags contain 2 pale green bags, 1 muted lavender bag.
plaid plum bags contain 5 drab lavender bags, 2 shiny teal bags, 1 plaid tan bag.
dim olive bags contain 1 dark beige bag, 1 drab coral bag, 5 muted chartreuse bags, 4 bright teal bags.
dim bronze bags contain 1 striped turquoise bag, 4 muted turquoise bags.
muted red bags contain 5 dark gray bags, 4 muted gray bags, 5 muted blue bags.
shiny crimson bags contain 2 dark aqua bags, 4 faded fuchsia bags, 3 faded tomato bags.
vibrant teal bags contain 1 dark cyan bag, 4 wavy lime bags, 1 bright crimson bag.
dark yellow bags contain 2 striped coral bags, 1 drab tomato bag.
posh orange bags contain 3 wavy lime bags, 3 clear lavender bags, 5 bright indigo bags.
shiny orange bags contain 3 striped gold bags.
wavy magenta bags contain 2 vibrant crimson bags, 3 mirrored teal bags, 1 shiny lime bag.
clear indigo bags contain 2 pale green bags.
wavy red bags contain 5 plaid indigo bags.
wavy crimson bags contain 2 dim teal bags.
clear chartreuse bags contain 2 dull gray bags, 4 plaid lime bags, 3 striped cyan bags.
muted beige bags contain 2 drab white bags.
dim plum bags contain 3 vibrant green bags, 1 clear red bag.
dotted white bags contain 5 wavy magenta bags.
shiny chartreuse bags contain 2 striped tan bags, 2 dim maroon bags, 5 plaid bronze bags, 4 dark white bags.
pale green bags contain 5 drab crimson bags, 3 dull teal bags, 4 plaid red bags.
clear purple bags contain 3 light indigo bags.
striped brown bags contain 1 light yellow bag.
bright plum bags contain 4 faded olive bags, 2 dotted crimson bags, 3 pale green bags, 1 light yellow bag.
posh crimson bags contain 3 bright aqua bags.
dotted olive bags contain 4 striped tomato bags, 4 faded chartreuse bags, 2 dull bronze bags, 2 shiny olive bags.
striped magenta bags contain 2 posh indigo bags, 3 dotted tomato bags.
vibrant chartreuse bags contain 5 light crimson bags, 5 light bronze bags.
light cyan bags contain 1 faded red bag, 1 light silver bag.
faded teal bags contain 5 vibrant crimson bags, 3 drab gray bags, 5 striped turquoise bags, 1 pale plum bag.
mirrored aqua bags contain 1 vibrant white bag.
dull violet bags contain 2 dull orange bags, 1 light green bag.
clear orange bags contain 5 dark green bags.
muted silver bags contain 4 striped indigo bags, 3 mirrored lime bags, 1 bright lavender bag.
posh green bags contain 4 drab gold bags, 4 dim black bags, 4 faded gold bags.
dark bronze bags contain 1 faded plum bag, 5 mirrored teal bags, 5 striped indigo bags, 4 muted salmon bags.
shiny teal bags contain 4 plaid tomato bags, 3 clear brown bags, 4 dull silver bags, 2 wavy orange bags.
light gold bags contain 4 pale tan bags, 3 vibrant gray bags, 5 wavy tan bags, 5 dark violet bags.
bright indigo bags contain 5 shiny silver bags, 4 wavy indigo bags, 5 dark gold bags.
bright gray bags contain 5 shiny lime bags, 4 dull aqua bags.
dotted orange bags contain 1 dim red bag, 4 striped blue bags, 3 bright lavender bags.
dark indigo bags contain 4 drab indigo bags, 1 dotted turquoise bag.
pale lavender bags contain 2 vibrant green bags, 4 dim yellow bags, 1 mirrored yellow bag, 1 bright blue bag.
dotted silver bags contain 2 posh blue bags, 3 posh maroon bags.
plaid salmon bags contain 4 light yellow bags.
plaid magenta bags contain 3 striped gold bags, 2 mirrored black bags, 3 dull tan bags.
wavy blue bags contain 3 faded teal bags, 4 drab blue bags, 1 dotted gold bag.
muted black bags contain 1 drab teal bag, 3 muted lime bags.
clear violet bags contain 3 bright lavender bags, 1 vibrant plum bag, 3 wavy white bags, 1 shiny chartreuse bag.
bright teal bags contain 1 muted chartreuse bag, 4 dull indigo bags, 5 striped tomato bags, 1 drab white bag.
drab lime bags contain 3 posh maroon bags.
shiny tan bags contain 3 faded chartreuse bags, 3 wavy orange bags, 4 drab white bags, 4 light chartreuse bags.
light green bags contain 4 dotted tan bags, 1 dim salmon bag.
pale tan bags contain 3 posh green bags.
light gray bags contain 3 posh brown bags, 3 dim green bags, 3 mirrored tan bags, 1 mirrored yellow bag.
clear gray bags contain 4 dim brown bags.
drab magenta bags contain 4 dark aqua bags, 5 faded tomato bags.
pale violet bags contain 2 bright violet bags, 1 bright indigo bag, 2 muted salmon bags.
vibrant black bags contain 1 bright magenta bag, 4 vibrant crimson bags, 4 clear blue bags, 2 light chartreuse bags.
striped white bags contain 3 plaid yellow bags, 3 muted orange bags, 1 shiny gold bag, 5 light white bags.
wavy turquoise bags contain 5 wavy tan bags, 4 posh chartreuse bags, 5 posh red bags, 3 muted purple bags.
light white bags contain 3 shiny brown bags, 1 striped tan bag, 2 bright lime bags, 5 shiny yellow bags.
faded orange bags contain 3 dim silver bags, 5 wavy tomato bags, 4 wavy chartreuse bags, 1 shiny black bag.
mirrored fuchsia bags contain 2 plaid lime bags, 3 vibrant salmon bags.
dull aqua bags contain 5 clear brown bags, 3 dull indigo bags, 3 dull green bags, 2 muted gold bags.
dim gray bags contain 5 dark bronze bags, 4 dark silver bags, 3 wavy cyan bags.
dull tomato bags contain 4 drab tan bags, 3 striped brown bags.
dim gold bags contain 3 shiny tomato bags, 2 dim tomato bags.
striped beige bags contain 3 shiny violet bags, 3 striped aqua bags, 3 muted blue bags, 3 shiny gold bags.
mirrored coral bags contain 2 muted coral bags, 3 shiny teal bags.
vibrant white bags contain 1 clear brown bag, 3 drab gold bags, 2 wavy crimson bags, 5 light plum bags.
posh tan bags contain 3 dim salmon bags, 1 faded gold bag, 1 drab gray bag, 4 shiny coral bags.
drab tan bags contain 4 bright magenta bags, 3 dull green bags, 1 drab crimson bag, 4 dark green bags.
striped coral bags contain 2 drab tan bags, 4 wavy purple bags.
dark white bags contain 1 bright magenta bag.
striped red bags contain 3 plaid black bags.
drab coral bags contain 4 dotted violet bags, 2 pale magenta bags, 5 posh purple bags, 4 light lime bags.
pale yellow bags contain 5 plaid black bags, 3 shiny olive bags, 3 clear brown bags.
faded coral bags contain 2 pale salmon bags, 5 dim teal bags, 3 vibrant crimson bags.
faded black bags contain 2 wavy white bags, 5 faded brown bags, 4 drab beige bags.
dim salmon bags contain 4 vibrant white bags, 3 wavy salmon bags, 2 wavy lime bags, 2 bright purple bags.
dim black bags contain 3 dull tan bags, 2 striped beige bags, 2 plaid brown bags.
plaid cyan bags contain 2 muted coral bags, 3 dim red bags.
dotted gold bags contain 3 dotted orange bags, 3 striped coral bags, 1 clear magenta bag, 1 dotted crimson bag.
mirrored white bags contain 4 clear brown bags, 2 drab crimson bags, 4 shiny gold bags, 2 posh red bags.
vibrant olive bags contain 4 striped indigo bags, 5 dim salmon bags, 5 bright magenta bags.
dim teal bags contain 5 striped blue bags, 4 dull aqua bags, 5 dark cyan bags, 2 wavy magenta bags.
faded chartreuse bags contain no other bags.
clear yellow bags contain 5 wavy olive bags, 1 drab tomato bag, 2 plaid red bags.
mirrored bronze bags contain 1 vibrant beige bag, 5 clear cyan bags, 3 muted aqua bags, 5 striped turquoise bags.
vibrant tan bags contain 2 dull tomato bags, 5 dark aqua bags, 3 muted gray bags.
light olive bags contain 4 dark white bags, 2 dim teal bags.
light lavender bags contain 5 wavy indigo bags, 3 posh olive bags, 4 striped brown bags.
dotted gray bags contain 1 dim red bag, 5 light tomato bags, 2 dull gray bags, 4 light black bags.
plaid olive bags contain 5 wavy purple bags, 2 posh blue bags, 3 faded purple bags, 1 pale fuchsia bag.
muted salmon bags contain 5 shiny tan bags.
dark olive bags contain 4 mirrored black bags.
striped turquoise bags contain 4 pale olive bags, 2 pale tomato bags, 3 bright yellow bags.
plaid fuchsia bags contain 4 clear silver bags.
vibrant magenta bags contain 1 vibrant green bag, 2 muted silver bags, 4 light plum bags, 5 pale teal bags.
vibrant bronze bags contain 2 dull gold bags, 2 bright coral bags.
mirrored purple bags contain 1 drab tomato bag, 3 faded silver bags.
light lime bags contain 5 shiny violet bags, 4 wavy aqua bags.
pale gold bags contain 3 vibrant brown bags, 5 dim red bags.
dim orange bags contain 4 dark cyan bags, 3 light chartreuse bags, 3 wavy orange bags, 5 dark green bags.
clear fuchsia bags contain 4 posh blue bags, 4 mirrored lavender bags.
pale bronze bags contain 3 pale silver bags, 2 dotted tomato bags, 4 plaid gold bags.
dotted aqua bags contain 3 drab magenta bags, 3 dull green bags.
posh silver bags contain 5 striped lavender bags, 1 dotted maroon bag.
dim coral bags contain 1 wavy bronze bag, 5 striped gray bags, 2 light indigo bags, 2 dim orange bags.
bright green bags contain 5 drab plum bags.
striped teal bags contain 1 light fuchsia bag, 5 vibrant aqua bags, 3 mirrored white bags.
dim crimson bags contain 5 posh gray bags.
drab salmon bags contain 3 bright olive bags, 5 dim tan bags.
muted green bags contain 2 dark beige bags, 4 posh coral bags.
light tan bags contain 5 wavy white bags, 3 dim indigo bags, 3 bright green bags, 5 clear lavender bags.
posh teal bags contain 4 pale salmon bags.
muted cyan bags contain 4 posh yellow bags.
bright turquoise bags contain 3 posh indigo bags, 2 mirrored salmon bags, 2 dim magenta bags.
vibrant salmon bags contain 5 light tomato bags.
dark violet bags contain 3 light bronze bags, 5 dark gold bags, 1 striped magenta bag, 4 faded lavender bags.
faded maroon bags contain 5 plaid teal bags, 5 light turquoise bags, 5 posh white bags, 4 drab orange bags.
dotted magenta bags contain 4 shiny chartreuse bags, 5 drab turquoise bags, 4 bright tomato bags, 2 striped maroon bags.
dotted beige bags contain 5 clear white bags.
bright magenta bags contain no other bags.
dull red bags contain 2 muted lavender bags.
drab green bags contain 2 dotted cyan bags, 4 striped white bags, 3 muted magenta bags.
posh brown bags contain 5 muted lavender bags, 2 posh red bags, 5 drab magenta bags.
faded tan bags contain 3 bright purple bags, 5 plaid tomato bags, 3 dull teal bags.
faded brown bags contain 2 light silver bags, 5 mirrored tan bags, 2 clear tan bags, 2 drab gold bags.
striped black bags contain 3 vibrant yellow bags, 3 dull blue bags, 1 dull aqua bag, 5 dull teal bags.
faded white bags contain 1 muted maroon bag, 1 dark gray bag, 5 dark white bags.
drab aqua bags contain 3 muted white bags, 4 dark cyan bags, 5 pale tomato bags.
dull teal bags contain 2 plaid red bags, 5 mirrored teal bags.
vibrant plum bags contain 2 dim salmon bags, 3 light purple bags, 2 muted gray bags.
plaid crimson bags contain 5 shiny blue bags, 1 dull bronze bag.
wavy violet bags contain 3 dotted tomato bags, 3 striped brown bags.
clear cyan bags contain 1 drab crimson bag, 2 shiny lime bags.
shiny green bags contain 5 muted gray bags.
posh purple bags contain 2 vibrant white bags.
plaid lime bags contain 2 clear crimson bags, 3 bright magenta bags, 5 shiny silver bags, 1 posh blue bag.
dotted violet bags contain 1 dark teal bag, 5 faded crimson bags.
pale maroon bags contain 5 mirrored lime bags, 5 clear olive bags, 5 shiny orange bags, 4 mirrored fuchsia bags.
wavy indigo bags contain 5 plaid lime bags, 5 plaid fuchsia bags, 2 faded chartreuse bags, 4 dotted tomato bags.
faded silver bags contain 5 striped lavender bags, 4 muted lavender bags, 5 plaid brown bags.
drab violet bags contain 1 posh white bag.
bright white bags contain 3 light cyan bags, 1 dark indigo bag, 2 pale turquoise bags, 1 pale brown bag.
faded olive bags contain 2 clear lime bags, 4 muted chartreuse bags.
muted violet bags contain 1 clear lavender bag, 1 dark green bag, 3 dark cyan bags.
shiny gray bags contain 2 dull tan bags, 1 shiny olive bag.
plaid blue bags contain 3 dark aqua bags, 4 muted silver bags, 5 pale beige bags, 1 drab chartreuse bag.
posh fuchsia bags contain 5 posh red bags, 2 muted gray bags.
faded blue bags contain 1 plaid fuchsia bag, 1 mirrored turquoise bag, 2 plaid indigo bags, 1 dark aqua bag.
bright brown bags contain 4 drab violet bags, 5 shiny lime bags, 2 bright beige bags.
mirrored teal bags contain 5 dark gray bags.
bright violet bags contain 2 dotted crimson bags, 3 striped coral bags, 5 shiny maroon bags, 3 dull lavender bags.
striped plum bags contain 2 dim orange bags, 4 clear blue bags, 3 shiny violet bags.
plaid green bags contain 2 bright teal bags, 5 striped lime bags.
muted fuchsia bags contain 4 clear gold bags, 2 vibrant plum bags, 5 bright black bags.
bright purple bags contain 3 vibrant crimson bags, 1 dotted maroon bag, 4 dark gold bags.
faded cyan bags contain 4 dim teal bags.
wavy fuchsia bags contain 5 dull yellow bags, 2 light yellow bags, 5 bright black bags.
wavy salmon bags contain 1 shiny black bag, 3 bright teal bags, 5 clear yellow bags, 1 dull maroon bag.
dark fuchsia bags contain 1 muted violet bag, 3 light cyan bags.
clear salmon bags contain 4 light beige bags, 4 vibrant green bags, 3 pale yellow bags, 1 muted turquoise bag.
pale purple bags contain 1 bright blue bag, 5 pale bronze bags.
posh salmon bags contain 3 faded cyan bags, 4 posh maroon bags, 1 plaid green bag, 2 shiny silver bags.
bright blue bags contain 3 vibrant green bags, 2 drab gray bags.
shiny brown bags contain no other bags.
dark gold bags contain 5 vibrant aqua bags, 2 posh yellow bags.
mirrored violet bags contain 2 pale silver bags, 1 posh fuchsia bag.
bright fuchsia bags contain 3 muted brown bags, 3 plaid purple bags, 2 faded coral bags, 3 mirrored turquoise bags.
dim beige bags contain 2 dull lime bags, 3 dim gold bags, 3 plaid fuchsia bags, 1 posh yellow bag.
shiny white bags contain 1 pale fuchsia bag, 3 shiny beige bags, 3 posh aqua bags, 5 clear tan bags.
posh red bags contain 3 bright magenta bags, 2 dark aqua bags, 4 dark cyan bags.
vibrant fuchsia bags contain 3 striped indigo bags.
faded tomato bags contain 3 wavy olive bags, 5 shiny brown bags, 5 shiny tan bags.
dull purple bags contain 4 plaid teal bags, 4 dull indigo bags, 3 dull bronze bags, 4 faded tan bags.
shiny magenta bags contain 4 pale tomato bags, 4 shiny brown bags.
wavy tan bags contain no other bags.
dull salmon bags contain 3 faded crimson bags, 5 shiny fuchsia bags, 4 dotted silver bags.
pale magenta bags contain 2 faded chartreuse bags.
vibrant purple bags contain 3 muted orange bags, 5 dotted brown bags.
shiny turquoise bags contain 4 dotted turquoise bags, 1 dotted purple bag, 4 dim black bags.
shiny black bags contain 2 clear brown bags, 4 vibrant yellow bags, 1 vibrant aqua bag, 5 mirrored teal bags.
shiny cyan bags contain 3 dotted coral bags.
dim magenta bags contain 3 bright purple bags, 2 wavy white bags, 2 shiny fuchsia bags, 2 shiny yellow bags.
pale beige bags contain 3 dim orange bags, 5 wavy purple bags.
wavy bronze bags contain 5 posh yellow bags, 1 pale green bag, 5 dark cyan bags.
dull blue bags contain 4 wavy tan bags.
striped lime bags contain 5 striped crimson bags, 1 bright plum bag, 5 plaid yellow bags.
faded magenta bags contain 1 plaid green bag, 2 vibrant silver bags, 1 dim turquoise bag.
muted white bags contain 5 bright lime bags, 4 light fuchsia bags, 4 light violet bags, 4 dark aqua bags.
pale fuchsia bags contain 1 striped tomato bag, 1 drab crimson bag, 4 shiny yellow bags.
posh cyan bags contain 5 dark maroon bags.
dim indigo bags contain 3 dark gold bags, 5 bright maroon bags.
faded fuchsia bags contain 4 plaid tomato bags, 2 mirrored red bags.
shiny red bags contain 5 dull olive bags, 1 posh tan bag, 4 bright green bags.
posh maroon bags contain 4 clear blue bags, 5 muted chartreuse bags.
shiny indigo bags contain 4 wavy orange bags.
dim violet bags contain 1 dotted chartreuse bag, 2 mirrored lime bags, 1 drab chartreuse bag.
dim lime bags contain 4 posh fuchsia bags, 5 dull blue bags, 2 dull silver bags, 2 bright lime bags.
muted blue bags contain 5 mirrored lime bags.
dotted fuchsia bags contain 2 wavy magenta bags.
bright beige bags contain 1 mirrored maroon bag.
light bronze bags contain 1 posh maroon bag, 1 dotted maroon bag, 3 clear silver bags.
posh olive bags contain 2 wavy orange bags.
shiny salmon bags contain 2 light teal bags, 5 dark violet bags.
plaid tomato bags contain 5 shiny tan bags, 5 drab white bags.
striped blue bags contain 3 dark cyan bags, 2 pale magenta bags, 3 striped indigo bags.
bright lime bags contain 4 dark cyan bags.
vibrant crimson bags contain no other bags.
mirrored salmon bags contain 1 pale gray bag, 5 dark plum bags.
dim brown bags contain 4 faded fuchsia bags, 4 dull indigo bags.
clear aqua bags contain 1 mirrored black bag, 1 light bronze bag, 2 mirrored maroon bags, 4 mirrored white bags.
clear red bags contain 1 bright lavender bag.
dark maroon bags contain 1 light chartreuse bag.
bright silver bags contain 1 wavy tan bag, 3 plaid black bags, 2 dark gray bags.
faded lime bags contain 1 pale silver bag, 3 drab teal bags.
plaid lavender bags contain 1 plaid fuchsia bag.
faded yellow bags contain 4 dull blue bags.
dark blue bags contain 1 dotted red bag, 1 bright indigo bag, 2 posh tan bags.
light aqua bags contain 3 shiny olive bags, 2 dotted brown bags, 1 dull green bag.
striped gray bags contain 5 faded crimson bags, 4 clear white bags.
dark chartreuse bags contain 5 faded lime bags.
plaid chartreuse bags contain 3 shiny teal bags.
wavy gray bags contain 5 plaid lime bags, 5 wavy olive bags, 5 dim orange bags.
dull yellow bags contain 5 faded chartreuse bags, 2 clear crimson bags, 4 faded fuchsia bags.
muted magenta bags contain 4 mirrored teal bags, 3 drab silver bags, 3 drab lavender bags, 2 mirrored orange bags.
pale turquoise bags contain 3 bright lavender bags, 1 shiny tan bag, 4 posh teal bags, 2 posh cyan bags.
light turquoise bags contain 1 plaid gold bag.
pale brown bags contain 4 muted orange bags.
posh chartreuse bags contain 1 plaid lime bag, 4 shiny gray bags, 3 pale bronze bags, 3 vibrant bronze bags.
posh gray bags contain 3 dim salmon bags.
wavy tomato bags contain 3 vibrant salmon bags, 5 vibrant yellow bags, 2 vibrant green bags, 3 striped brown bags.
dotted indigo bags contain 5 shiny fuchsia bags, 1 posh lime bag, 1 muted beige bag.
pale lime bags contain 4 wavy fuchsia bags.
dull lime bags contain 2 light bronze bags, 3 light beige bags, 4 wavy tomato bags.
shiny olive bags contain 5 dull aqua bags, 5 muted gray bags, 5 posh olive bags.
muted teal bags contain 3 dull teal bags, 5 bright magenta bags.
dull white bags contain 5 striped yellow bags, 1 dim aqua bag.
shiny silver bags contain 4 shiny olive bags, 4 wavy orange bags, 2 mirrored red bags.
dim turquoise bags contain 4 drab gold bags.
clear brown bags contain no other bags.
mirrored olive bags contain 4 dim aqua bags.
striped purple bags contain 5 wavy tan bags.
faded violet bags contain 4 dull tan bags.
faded salmon bags contain 5 striped fuchsia bags, 1 muted lime bag.
mirrored yellow bags contain 2 dark orange bags.
wavy gold bags contain 2 muted salmon bags.
pale tomato bags contain 1 vibrant crimson bag, 5 light black bags, 3 dotted brown bags.
clear bronze bags contain 1 mirrored black bag, 3 wavy red bags, 4 faded white bags, 5 vibrant bronze bags.
mirrored silver bags contain 3 wavy salmon bags, 4 drab brown bags, 1 striped green bag, 4 mirrored lime bags.
dull bronze bags contain 1 dim orange bag, 1 light maroon bag, 5 wavy bronze bags, 2 posh blue bags.
posh lime bags contain 2 dark bronze bags.
light teal bags contain 4 dotted cyan bags, 4 dark crimson bags, 4 striped orange bags, 4 pale black bags.
dark lime bags contain 2 posh red bags.
vibrant yellow bags contain 4 dull indigo bags.
vibrant green bags contain 3 bright silver bags, 1 striped fuchsia bag, 5 dim tan bags.
mirrored lavender bags contain 1 dull maroon bag, 1 bright silver bag, 4 drab teal bags, 2 posh blue bags.
bright salmon bags contain 1 dark aqua bag.
clear green bags contain 3 vibrant blue bags, 4 dotted salmon bags, 5 striped violet bags.
clear lavender bags contain 2 faded silver bags, 5 dim tan bags, 4 drab white bags.
dim chartreuse bags contain 4 dark gray bags.
posh blue bags contain 1 clear silver bag, 5 clear crimson bags, 2 light beige bags.
dim maroon bags contain 5 dotted fuchsia bags.
muted crimson bags contain 1 dark cyan bag.
drab cyan bags contain 4 wavy brown bags.
faded lavender bags contain 3 posh coral bags, 2 dotted violet bags, 3 pale gray bags, 4 plaid beige bags.
dim aqua bags contain 5 dim tan bags, 3 posh olive bags.
posh magenta bags contain 3 bright orange bags, 4 bright salmon bags, 1 vibrant beige bag.
plaid purple bags contain 2 mirrored gray bags, 5 mirrored tan bags.
muted tomato bags contain 1 dotted tomato bag, 4 bright magenta bags, 1 striped turquoise bag.
dull black bags contain 5 wavy coral bags, 4 wavy beige bags, 1 drab lavender bag, 4 dark beige bags.
mirrored maroon bags contain 4 shiny teal bags, 3 light blue bags, 1 light aqua bag, 3 faded tan bags.
posh aqua bags contain 3 dotted orange bags, 4 wavy crimson bags, 5 pale magenta bags, 5 posh fuchsia bags.
muted lavender bags contain 4 faded green bags, 1 dark aqua bag, 4 posh maroon bags, 2 dark white bags.
posh tomato bags contain 2 posh black bags.
dull gold bags contain 1 faded turquoise bag, 4 drab brown bags, 4 shiny turquoise bags.
plaid violet bags contain 3 bright plum bags, 4 clear olive bags, 4 drab bronze bags.
pale silver bags contain 5 wavy olive bags, 5 dull indigo bags, 1 light plum bag, 4 dark gray bags.
dull brown bags contain 1 dim orange bag.
shiny beige bags contain 5 faded purple bags.
striped cyan bags contain 1 muted black bag, 4 dull aqua bags.
dotted green bags contain 4 wavy white bags, 2 shiny violet bags, 4 muted chartreuse bags.
dotted chartreuse bags contain 5 dull bronze bags.
plaid aqua bags contain 2 shiny indigo bags, 5 muted lavender bags, 3 light blue bags, 4 vibrant salmon bags.
mirrored beige bags contain 2 light white bags, 1 wavy coral bag.
light orange bags contain 3 drab salmon bags, 3 clear lavender bags, 4 dark beige bags, 1 clear purple bag.
dark tan bags contain 1 posh olive bag.
muted lime bags contain 3 faded chartreuse bags, 4 muted silver bags, 3 vibrant salmon bags, 1 mirrored blue bag.
posh gold bags contain 5 vibrant magenta bags.
faded beige bags contain 5 faded black bags, 4 clear coral bags, 4 bright olive bags, 1 faded lime bag.
vibrant turquoise bags contain 3 clear cyan bags, 1 dotted fuchsia bag.
faded bronze bags contain 4 posh teal bags, 3 plaid tomato bags, 4 dark bronze bags.
shiny blue bags contain 3 drab indigo bags, 1 dark lime bag.
plaid yellow bags contain 1 plaid lime bag.
shiny aqua bags contain 1 vibrant tomato bag, 4 dark aqua bags, 5 vibrant cyan bags, 4 striped coral bags.
mirrored indigo bags contain 5 vibrant turquoise bags.
wavy cyan bags contain 1 light yellow bag, 4 faded fuchsia bags, 2 clear silver bags, 3 vibrant fuchsia bags.
dull gray bags contain 2 mirrored turquoise bags, 2 posh yellow bags.
dim yellow bags contain 4 light silver bags.
striped crimson bags contain 3 dim salmon bags.
pale coral bags contain 4 vibrant violet bags, 4 posh teal bags, 3 drab aqua bags.
faded aqua bags contain 3 bright magenta bags, 4 muted aqua bags, 3 light salmon bags, 3 light black bags.
drab orange bags contain 2 drab purple bags, 5 light black bags, 5 dull blue bags, 1 bright purple bag.
drab bronze bags contain 3 clear violet bags, 3 drab crimson bags, 3 dotted yellow bags, 5 muted salmon bags.
drab blue bags contain 3 faded violet bags, 4 bright lavender bags, 2 vibrant cyan bags.
pale olive bags contain 4 shiny yellow bags, 1 dull yellow bag, 2 striped tomato bags.
light salmon bags contain 2 shiny gold bags, 2 light silver bags, 4 wavy magenta bags.
wavy brown bags contain 4 dim indigo bags, 3 pale olive bags, 3 mirrored orange bags.
vibrant beige bags contain 5 light lavender bags, 3 wavy bronze bags, 1 plaid yellow bag, 2 dark aqua bags.
clear tan bags contain 3 posh fuchsia bags, 1 pale fuchsia bag.
dotted turquoise bags contain 3 light maroon bags.
dull magenta bags contain 2 dark tomato bags.
dull chartreuse bags contain 5 light chartreuse bags, 2 dotted chartreuse bags.
bright red bags contain 1 dotted brown bag, 1 posh yellow bag, 5 light white bags, 4 shiny maroon bags.
bright bronze bags contain 4 bright salmon bags, 4 plaid bronze bags, 2 dim chartreuse bags.
vibrant gold bags contain 2 faded purple bags, 3 mirrored maroon bags, 3 dull gray bags.
vibrant cyan bags contain 2 faded olive bags, 4 dull silver bags, 3 mirrored lime bags, 4 faded red bags.
mirrored plum bags contain 3 dark orange bags, 5 plaid lavender bags, 5 dim red bags.
clear white bags contain 3 striped beige bags.
drab fuchsia bags contain 4 striped magenta bags, 2 vibrant violet bags, 4 pale aqua bags.
dark purple bags contain 5 striped violet bags.
mirrored tomato bags contain 5 drab olive bags.
dull olive bags contain 4 wavy purple bags.
wavy maroon bags contain 4 pale gold bags.
vibrant blue bags contain 1 faded lime bag, 4 light plum bags.
clear teal bags contain 4 dark green bags, 5 clear brown bags.
clear beige bags contain 4 shiny cyan bags, 3 striped salmon bags.
drab indigo bags contain 5 drab tan bags, 4 shiny black bags, 4 striped brown bags.
muted bronze bags contain 4 dark chartreuse bags, 5 pale crimson bags, 4 vibrant gold bags.
muted olive bags contain 3 wavy olive bags, 5 dark bronze bags, 4 bright aqua bags, 1 dotted yellow bag.
dull beige bags contain 1 dull purple bag.
dotted yellow bags contain 3 dim plum bags, 2 plaid lavender bags.
wavy lavender bags contain 1 vibrant violet bag, 4 posh blue bags, 1 posh plum bag.
dim fuchsia bags contain 5 pale yellow bags, 4 faded plum bags, 5 bright lime bags.
plaid gray bags contain 5 dark violet bags, 2 dotted crimson bags, 4 dull fuchsia bags, 1 drab magenta bag.
vibrant coral bags contain 2 shiny cyan bags, 4 pale magenta bags, 5 striped coral bags, 3 pale teal bags.
drab yellow bags contain 4 clear orange bags, 5 faded fuchsia bags.
dark red bags contain 5 mirrored maroon bags, 3 clear blue bags, 2 striped crimson bags, 2 dotted violet bags.
mirrored cyan bags contain 5 dotted maroon bags, 5 posh turquoise bags, 2 faded gray bags.
muted yellow bags contain 1 light cyan bag, 2 dim orange bags, 5 dull olive bags, 5 light green bags.
wavy aqua bags contain 2 muted cyan bags, 4 mirrored green bags, 5 muted tomato bags.
vibrant lavender bags contain 1 dotted gold bag, 1 light chartreuse bag, 3 mirrored gray bags.
bright black bags contain 1 striped lavender bag, 2 shiny tan bags, 4 bright lime bags.
wavy chartreuse bags contain 4 mirrored red bags.
dull turquoise bags contain 5 faded red bags, 1 light brown bag, 1 clear magenta bag.
dull silver bags contain 4 dark gray bags, 1 faded green bag.
pale black bags contain 1 plaid indigo bag, 3 light tomato bags, 4 drab blue bags.
clear tomato bags contain 1 dim tan bag, 1 clear lavender bag, 1 striped fuchsia bag, 5 clear orange bags.
dark cyan bags contain 4 shiny brown bags.
pale blue bags contain 1 clear green bag.
dotted lavender bags contain 3 dotted maroon bags, 5 wavy salmon bags, 2 pale tomato bags, 5 mirrored blue bags.
pale orange bags contain 4 pale silver bags, 4 striped lime bags.
drab chartreuse bags contain 2 dark gold bags, 5 clear crimson bags, 3 dull green bags.
striped violet bags contain 4 plaid lime bags.
muted gold bags contain no other bags.
mirrored gray bags contain 1 light green bag, 1 striped beige bag.
bright lavender bags contain 2 clear blue bags.
striped gold bags contain 3 muted turquoise bags.
dim white bags contain 1 vibrant lavender bag.
wavy beige bags contain 4 light chartreuse bags, 5 dark lime bags.
dim tomato bags contain 2 wavy aqua bags, 3 faded salmon bags.
light blue bags contain 2 wavy purple bags, 1 dull olive bag.
drab brown bags contain 5 drab magenta bags, 2 muted teal bags.
wavy olive bags contain 3 pale green bags, 5 muted gray bags.
bright chartreuse bags contain 1 clear yellow bag, 2 dotted olive bags, 1 posh olive bag.
posh violet bags contain 5 muted tomato bags, 5 light aqua bags, 3 pale cyan bags, 2 mirrored chartreuse bags.
dotted blue bags contain 4 plaid yellow bags, 3 vibrant bronze bags, 2 dull maroon bags, 3 shiny silver bags.
pale white bags contain 3 plaid brown bags, 2 mirrored aqua bags, 2 dim turquoise bags.
dull lavender bags contain 1 light blue bag, 5 drab tan bags, 3 light yellow bags.
pale cyan bags contain 5 pale green bags, 5 dull tomato bags, 4 vibrant orange bags.
mirrored tan bags contain 1 mirrored blue bag, 5 wavy purple bags.
plaid maroon bags contain 5 bright orange bags, 1 dull fuchsia bag, 5 dull indigo bags, 4 light white bags.
drab plum bags contain 5 pale silver bags, 1 clear yellow bag, 5 dotted fuchsia bags.
muted aqua bags contain 2 posh blue bags, 3 muted chartreuse bags, 1 drab tan bag, 3 dotted brown bags.
striped lavender bags contain 3 posh yellow bags, 5 drab white bags, 1 muted gold bag.
posh bronze bags contain 1 mirrored lime bag, 2 muted cyan bags, 3 muted aqua bags.
dotted brown bags contain 1 dotted orange bag, 3 striped blue bags, 3 dotted teal bags, 4 wavy magenta bags.
light chartreuse bags contain no other bags.
dotted purple bags contain 3 muted lavender bags.
vibrant violet bags contain 3 light violet bags.
dark green bags contain 3 mirrored teal bags, 3 bright magenta bags, 2 light chartreuse bags.
faded indigo bags contain 3 faded fuchsia bags, 4 dim magenta bags.
bright cyan bags contain 4 vibrant olive bags, 4 faded olive bags, 1 posh teal bag.
drab white bags contain no other bags.
clear magenta bags contain 1 dotted maroon bag, 2 wavy olive bags, 5 drab white bags.
light yellow bags contain 4 shiny brown bags, 4 light fuchsia bags, 1 mirrored turquoise bag, 2 drab teal bags.
dark beige bags contain 4 dim crimson bags, 5 mirrored turquoise bags, 3 posh yellow bags, 1 dull chartreuse bag.
dark teal bags contain 5 mirrored tan bags, 5 vibrant tomato bags, 2 bright violet bags, 2 striped silver bags.
pale plum bags contain 2 drab white bags.
light red bags contain 2 striped blue bags, 2 bright violet bags, 4 clear orange bags.
plaid brown bags contain 4 light maroon bags, 5 dull bronze bags, 3 plaid black bags.
plaid bronze bags contain 4 muted salmon bags, 1 light violet bag, 4 plaid black bags.
bright orange bags contain 5 light green bags, 2 wavy plum bags, 5 faded coral bags.
plaid black bags contain 5 dark green bags, 3 dull indigo bags, 3 dim tan bags.
shiny lime bags contain 5 bright lime bags.
shiny fuchsia bags contain 2 dotted tan bags, 3 drab white bags.
bright gold bags contain 1 drab magenta bag, 4 pale salmon bags.
shiny gold bags contain 1 drab white bag, 2 wavy purple bags, 2 muted gray bags, 5 clear crimson bags.
plaid beige bags contain 3 dotted yellow bags.
vibrant silver bags contain 2 muted gold bags, 5 dim teal bags, 4 mirrored white bags, 2 clear blue bags.
dotted black bags contain 1 wavy crimson bag, 5 vibrant purple bags.
mirrored brown bags contain 4 drab aqua bags, 4 dark teal bags, 5 striped plum bags.
dotted red bags contain 5 bright lime bags, 5 vibrant magenta bags, 1 striped turquoise bag.
bright tan bags contain 2 dull yellow bags, 2 posh tomato bags.
striped aqua bags contain 3 clear blue bags, 1 dark maroon bag.
dotted coral bags contain 1 vibrant silver bag, 3 dark green bags, 4 posh gray bags, 2 light red bags.
mirrored lime bags contain 3 mirrored white bags, 1 plaid tomato bag, 2 shiny yellow bags, 2 vibrant black bags.
dark gray bags contain 3 faded green bags, 3 vibrant crimson bags.
wavy lime bags contain 5 wavy salmon bags, 2 faded tomato bags.
dotted lime bags contain 5 drab brown bags, 1 faded salmon bag, 2 wavy violet bags, 4 posh olive bags.
light black bags contain 5 striped indigo bags.
shiny yellow bags contain 5 wavy tan bags, 5 drab white bags, 4 posh olive bags.
bright yellow bags contain 3 posh red bags, 2 plaid black bags.
dull tan bags contain 4 clear brown bags, 3 wavy tan bags.
shiny tomato bags contain 2 shiny orange bags, 4 light lavender bags, 1 plaid lavender bag.
vibrant aqua bags contain 5 pale green bags, 3 drab crimson bags, 2 shiny brown bags.
striped salmon bags contain 2 posh orange bags.
light silver bags contain 1 shiny yellow bag, 4 mirrored turquoise bags, 1 bright coral bag, 2 posh maroon bags.
striped fuchsia bags contain 3 drab white bags, 3 faded chartreuse bags, 4 vibrant black bags, 3 wavy tan bags.
bright tomato bags contain 3 light beige bags, 4 drab teal bags.
shiny plum bags contain 4 clear bronze bags.
vibrant red bags contain 3 bright magenta bags.
mirrored orange bags contain 2 mirrored white bags, 3 dotted brown bags, 3 bright silver bags, 4 pale teal bags.
dull indigo bags contain no other bags.
wavy yellow bags contain 4 wavy white bags.
muted turquoise bags contain 2 posh red bags, 3 dark green bags, 4 mirrored white bags.
striped indigo bags contain 3 dark cyan bags, 5 clear blue bags, 2 faded chartreuse bags.
mirrored green bags contain 4 mirrored chartreuse bags, 3 striped red bags.
plaid white bags contain 1 vibrant salmon bag, 1 dark yellow bag, 2 vibrant violet bags.
dark plum bags contain 4 muted coral bags, 4 mirrored blue bags, 1 vibrant aqua bag.
drab turquoise bags contain 1 dotted purple bag, 1 light plum bag.
light maroon bags contain 2 wavy purple bags, 2 dim orange bags, 1 mirrored white bag, 3 striped tomato bags.
shiny maroon bags contain 2 bright blue bags.
drab crimson bags contain 1 bright magenta bag, 3 drab white bags.
dark aqua bags contain 3 shiny brown bags, 5 dark gray bags.
posh turquoise bags contain 2 shiny gray bags.
muted indigo bags contain 4 wavy purple bags.
dotted salmon bags contain 1 vibrant violet bag, 1 mirrored lavender bag.
plaid indigo bags contain 2 wavy indigo bags, 2 dark white bags, 3 wavy tan bags, 3 vibrant crimson bags.
muted brown bags contain 3 posh yellow bags, 4 shiny lime bags, 5 striped lavender bags.
vibrant gray bags contain 1 mirrored silver bag, 2 light coral bags, 1 faded gold bag, 1 dull fuchsia bag.
drab tomato bags contain 1 wavy tan bag, 1 shiny tan bag, 1 clear crimson bag.
wavy white bags contain 3 muted blue bags, 2 wavy plum bags, 4 dim silver bags, 3 mirrored tan bags.
shiny lavender bags contain 1 posh coral bag, 2 dotted crimson bags, 2 plaid red bags, 1 striped silver bag.
dull fuchsia bags contain 4 light bronze bags, 3 clear gray bags, 1 bright coral bag.
drab teal bags contain 5 muted chartreuse bags, 4 dull silver bags, 5 vibrant black bags, 3 shiny olive bags.
clear crimson bags contain 4 clear brown bags, 3 drab crimson bags, 4 clear blue bags, 1 vibrant black bag.
posh beige bags contain 5 plaid teal bags.
clear silver bags contain 3 plaid tomato bags, 3 bright silver bags, 1 mirrored white bag.
mirrored red bags contain 2 striped indigo bags, 2 drab teal bags.
posh indigo bags contain 3 faded red bags.
dark silver bags contain 5 wavy tan bags, 2 dotted maroon bags.
drab red bags contain 2 dotted chartreuse bags, 3 mirrored tan bags, 5 pale plum bags.
plaid turquoise bags contain 4 dim silver bags, 1 bright orange bag.
dim blue bags contain 1 muted lavender bag, 1 wavy plum bag.
plaid coral bags contain 2 shiny coral bags.
striped silver bags contain 2 muted brown bags.
vibrant tomato bags contain 1 muted black bag.
dark turquoise bags contain 2 light silver bags.
vibrant lime bags contain 2 light beige bags, 3 bright green bags, 5 faded purple bags.
mirrored chartreuse bags contain 2 wavy tan bags, 5 dim tan bags.
light plum bags contain 5 faded green bags.
dim tan bags contain 1 faded chartreuse bag, 2 clear brown bags, 1 faded green bag, 2 muted gold bags.
shiny bronze bags contain 5 drab aqua bags.
dotted tomato bags contain 4 wavy magenta bags.
mirrored crimson bags contain 1 dim bronze bag.
light crimson bags contain 3 posh red bags.
dull coral bags contain 3 striped crimson bags, 4 mirrored salmon bags.
drab lavender bags contain 3 dim salmon bags.
dotted crimson bags contain 3 dark cyan bags, 4 posh blue bags, 2 light fuchsia bags.
dotted tan bags contain 2 posh fuchsia bags, 4 dim black bags.
dark coral bags contain 2 mirrored green bags, 4 shiny white bags, 2 shiny tomato bags.
striped orange bags contain 1 muted violet bag, 5 pale cyan bags, 2 drab tomato bags, 3 faded violet bags.
pale aqua bags contain 3 shiny fuchsia bags, 4 shiny violet bags.
wavy plum bags contain 4 light chartreuse bags, 5 vibrant tan bags, 4 muted lime bags.
mirrored turquoise bags contain 4 shiny brown bags, 4 drab tan bags.
dark magenta bags contain 5 faded violet bags, 2 posh lavender bags.
striped bronze bags contain 3 light silver bags, 3 mirrored brown bags, 3 posh purple bags, 4 drab turquoise bags.
faded red bags contain 2 dark cyan bags, 2 striped tan bags, 4 mirrored violet bags.
faded turquoise bags contain 1 striped crimson bag.
clear gold bags contain 3 clear crimson bags, 5 faded green bags, 4 dim tan bags.
clear coral bags contain 3 striped salmon bags.
faded gray bags contain 4 light salmon bags, 5 clear orange bags, 1 dim yellow bag, 2 wavy green bags.
posh lavender bags contain 2 clear silver bags, 1 wavy indigo bag, 4 faded brown bags, 2 light white bags.
pale red bags contain 3 clear orange bags.
dim lavender bags contain 1 posh silver bag.
vibrant orange bags contain 2 pale magenta bags.
pale gray bags contain 2 dark aqua bags, 2 mirrored turquoise bags, 2 striped fuchsia bags, 5 wavy purple bags.
pale teal bags contain 2 striped brown bags, 4 shiny brown bags.
muted tan bags contain 3 dotted purple bags, 5 clear blue bags, 5 bright plum bags.
dotted cyan bags contain 1 mirrored chartreuse bag, 2 dotted gray bags, 5 pale tomato bags, 1 mirrored lime bag.
dark brown bags contain 4 vibrant orange bags, 3 faded olive bags, 5 posh blue bags.
dull orange bags contain 5 posh coral bags, 5 vibrant green bags, 3 dull maroon bags, 1 striped tomato bag.
plaid silver bags contain 1 muted turquoise bag, 1 wavy green bag.
dull crimson bags contain 4 faded red bags, 1 dotted plum bag, 2 plaid orange bags, 1 posh yellow bag.
muted orange bags contain 4 pale yellow bags, 1 dark maroon bag, 5 mirrored white bags.
wavy black bags contain 4 mirrored blue bags, 4 drab chartreuse bags, 4 dull aqua bags.
light magenta bags contain 2 muted coral bags, 3 wavy violet bags.
faded crimson bags contain 2 dim orange bags, 3 vibrant crimson bags, 4 clear lime bags, 5 wavy olive bags.
light fuchsia bags contain 2 dull green bags, 4 dull indigo bags.
mirrored black bags contain 1 wavy magenta bag, 3 light bronze bags, 3 dull teal bags.
striped tan bags contain 5 vibrant yellow bags, 3 dull silver bags, 5 mirrored teal bags.
dark crimson bags contain 1 mirrored teal bag, 2 muted maroon bags, 5 dull green bags.
light indigo bags contain 5 dotted purple bags.
light brown bags contain 4 dark fuchsia bags, 1 bright olive bag.
wavy purple bags contain 3 vibrant black bags, 5 dull teal bags, 1 bright magenta bag.
posh white bags contain 5 muted purple bags, 5 drab silver bags.
faded gold bags contain 2 dull teal bags, 5 muted orange bags, 3 mirrored lavender bags, 2 clear orange bags.
clear maroon bags contain 2 dim crimson bags, 3 dim maroon bags, 5 wavy salmon bags, 5 mirrored black bags.
bright maroon bags contain 5 dark bronze bags, 4 pale coral bags.
clear turquoise bags contain 1 muted gold bag.
bright coral bags contain 3 striped lavender bags, 4 drab tomato bags, 1 bright lime bag.
wavy teal bags contain 3 faded tan bags.
mirrored gold bags contain 4 faded violet bags.
dark orange bags contain 5 muted purple bags, 1 drab turquoise bag, 5 pale beige bags.
dull green bags contain 1 faded chartreuse bag.
posh plum bags contain 1 dull turquoise bag.
plaid red bags contain 4 wavy orange bags.
faded green bags contain 2 wavy tan bags, 2 muted gold bags.
drab maroon bags contain 5 striped fuchsia bags, 5 light indigo bags.
clear blue bags contain 5 bright magenta bags, 2 muted gold bags, 1 faded chartreuse bag.
shiny purple bags contain 3 mirrored lavender bags, 3 light crimson bags, 2 light turquoise bags, 1 drab aqua bag.
wavy silver bags contain 5 mirrored tan bags, 2 dotted crimson bags, 3 pale magenta bags, 5 vibrant plum bags.
drab gray bags contain 4 mirrored red bags, 4 plaid yellow bags, 4 muted silver bags, 3 light black bags.
striped maroon bags contain 5 dull teal bags, 1 bright indigo bag, 3 clear gray bags.
striped tomato bags contain 2 clear gold bags, 4 plaid red bags, 1 vibrant yellow bag, 2 dark aqua bags.
vibrant brown bags contain 4 vibrant orange bags.
wavy green bags contain 5 striped coral bags, 5 clear brown bags, 4 drab gold bags, 3 faded green bags.
dark tomato bags contain 3 wavy gray bags, 4 clear yellow bags, 4 light fuchsia bags, 1 drab plum bag.
plaid gold bags contain 3 faded red bags.
light tomato bags contain 1 striped black bag.
clear olive bags contain 2 drab lime bags.
dim red bags contain 4 light yellow bags, 5 vibrant yellow bags, 3 dark green bags, 2 vibrant aqua bags.
vibrant indigo bags contain 1 vibrant silver bag.
pale crimson bags contain 4 wavy green bags, 1 striped fuchsia bag, 4 posh indigo bags.
clear lime bags contain 1 wavy tan bag.
muted gray bags contain 1 faded green bag, 2 dull silver bags, 4 drab crimson bags.
striped chartreuse bags contain 2 vibrant silver bags, 2 shiny tan bags, 3 muted silver bags, 2 shiny maroon bags.
muted coral bags contain 5 dark maroon bags, 1 clear lavender bag, 4 bright teal bags, 4 faded cyan bags.
posh coral bags contain 2 clear brown bags.
bright crimson bags contain 2 vibrant salmon bags.
muted plum bags contain 1 pale silver bag.
dull plum bags contain 2 shiny cyan bags, 3 faded salmon bags.
bright olive bags contain 3 dim brown bags, 5 dark brown bags, 1 muted white bag.
clear plum bags contain 5 clear chartreuse bags, 5 striped aqua bags.
muted chartreuse bags contain 1 faded crimson bag, 1 dark cyan bag.
muted purple bags contain 1 bright plum bag, 2 light olive bags, 2 striped red bags, 4 pale magenta bags.
posh yellow bags contain 4 wavy purple bags, 3 dark green bags, 3 striped tomato bags, 3 light chartreuse bags.
light violet bags contain 5 plaid black bags, 1 muted brown bag, 1 vibrant aqua bag.
drab olive bags contain 1 dim brown bag, 2 dull blue bags.
pale indigo bags contain 3 dark magenta bags, 2 dull blue bags.
mirrored blue bags contain 5 clear crimson bags, 1 clear orange bag, 3 drab tomato bags.
striped green bags contain 2 shiny black bags, 4 dotted chartreuse bags, 4 wavy white bags.
plaid teal bags contain 4 dark green bags, 5 muted chartreuse bags, 5 vibrant aqua bags, 4 dotted olive bags.
faded plum bags contain 2 drab white bags, 4 light blue bags, 2 clear lavender bags, 3 vibrant white bags.
dim green bags contain 2 faded green bags, 2 bright magenta bags.
dark lavender bags contain 2 muted lime bags, 2 faded tomato bags, 5 wavy purple bags, 3 light olive bags.
dim purple bags contain 4 dotted plum bags.
dark salmon bags contain 1 dull violet bag, 3 bright indigo bags.
dim cyan bags contain 5 dim crimson bags, 2 clear brown bags, 1 muted brown bag, 4 light silver bags.

656
input8 Normal file
View File

@ -0,0 +1,656 @@
acc -7
acc +2
acc +20
acc +14
jmp +191
acc +47
nop +339
acc +49
jmp +104
jmp +629
jmp +374
acc +24
jmp +220
nop +474
acc +25
jmp +340
acc +16
acc +3
acc +41
jmp +566
jmp +296
acc +15
jmp +452
acc +21
jmp +129
acc +10
acc -8
acc +39
jmp +396
acc +5
acc -4
acc +0
jmp +496
nop +181
acc +48
acc +7
jmp +1
jmp +370
acc +16
acc -18
acc +47
acc +48
jmp +99
nop +17
acc +25
acc -15
jmp +285
nop +545
nop +147
nop +479
acc -4
jmp +386
acc +36
acc -12
jmp +50
acc +37
nop +133
acc +11
acc +20
jmp +32
jmp +1
nop +210
acc -15
acc -6
jmp +446
acc +25
acc +1
acc +17
acc -4
jmp +355
acc -4
jmp +292
acc +16
acc +44
acc +26
jmp +157
acc -18
acc +15
acc -8
acc -3
jmp +46
acc +30
acc +16
jmp -7
acc +34
jmp +515
acc +11
acc -8
acc -9
acc -3
jmp +548
jmp +278
nop +332
acc -19
acc +49
jmp +536
acc -9
acc +46
jmp +124
acc +41
acc +47
acc -5
acc -13
jmp +41
nop +178
acc +12
acc +45
jmp +461
acc +37
acc +12
acc +38
jmp -68
acc -6
nop +494
acc -9
jmp -63
acc +42
acc +16
acc +30
jmp +70
acc +13
jmp +1
acc -18
jmp +528
acc +48
jmp +493
nop +402
jmp +381
acc -8
jmp +372
acc +20
acc +25
jmp +425
acc -10
jmp +510
jmp +439
nop +78
acc +36
acc +7
nop +281
jmp +504
jmp -108
acc +40
jmp -122
acc +23
acc -2
acc +7
jmp +370
acc +25
nop -5
acc +33
acc +37
jmp +70
acc -6
nop +336
jmp +34
jmp +1
acc -18
jmp +473
jmp +1
acc +20
acc +4
acc +25
jmp -87
acc -12
acc +47
acc +49
jmp +323
jmp +1
jmp +1
jmp +167
acc -10
acc +45
jmp +355
acc +32
acc +38
acc +2
jmp -93
acc +8
acc +20
acc +4
acc -1
jmp +108
nop +164
acc +41
jmp +440
acc -16
acc +47
jmp +355
acc -13
acc +29
acc +50
jmp -101
acc -8
jmp +316
acc +27
acc +31
nop -29
jmp +1
jmp +250
acc +12
acc -13
jmp +73
jmp +72
acc +36
acc +44
jmp +1
jmp -33
acc -18
acc +16
acc -8
acc +6
jmp +104
jmp +295
acc +10
nop -80
jmp +74
acc -13
jmp +1
acc +22
acc +50
jmp +280
jmp +265
jmp +278
acc +46
acc -14
acc -17
jmp -19
acc +39
acc +31
acc -11
jmp +400
jmp +80
acc +0
acc +27
nop +209
jmp -184
acc +12
acc +21
acc +23
jmp +352
acc +29
jmp -5
acc +15
acc +7
jmp +6
acc +31
acc -5
nop +83
acc +31
jmp -239
acc +8
acc -2
acc +49
acc -12
jmp -52
acc -15
acc -14
jmp +126
jmp +385
acc +30
acc -5
acc +6
jmp -187
acc +39
acc +40
acc +0
acc +6
jmp +24
acc +20
jmp +131
jmp -127
acc +8
acc +30
jmp -265
acc -2
jmp -265
acc +22
acc -19
acc -9
nop +10
jmp +148
acc -14
acc +38
acc +50
acc -7
jmp +197
acc +11
acc +22
jmp +201
jmp -155
jmp -32
acc +48
nop -50
jmp -99
jmp -5
acc +11
acc -18
jmp -186
acc +6
acc +43
jmp +159
jmp +249
acc +44
acc +29
nop +313
acc +23
jmp +311
jmp +152
acc +0
acc +41
jmp -251
jmp +102
nop -17
nop +176
jmp +40
acc +28
jmp -21
acc -4
acc -10
acc -19
acc -15
jmp +23
nop +144
acc +9
acc +18
jmp +141
acc -19
acc -10
acc +48
jmp -7
acc +46
acc -9
jmp -174
acc +30
acc +30
jmp -201
acc +34
acc +24
acc +37
acc +44
jmp -158
acc +4
acc +39
jmp -52
jmp -329
jmp +68
acc +25
nop -105
acc -15
acc +34
jmp -6
jmp +1
acc +1
jmp +163
nop -285
acc +8
acc +48
jmp +143
acc -3
nop -269
acc -16
jmp -310
acc -5
jmp -304
acc +45
nop -231
jmp +1
jmp +245
nop -243
jmp +187
acc -6
acc +7
acc +17
acc +6
jmp -111
acc +24
acc -10
acc +21
jmp -97
jmp +1
acc -12
acc +10
jmp +127
acc +0
jmp -211
acc -11
acc +36
acc +45
acc -19
jmp -182
jmp -366
acc +38
acc -11
acc +32
jmp -260
acc +6
acc +31
jmp +3
acc +5
jmp +101
jmp -64
acc +48
acc +5
nop +40
acc -13
jmp +95
nop +76
acc +44
acc +43
acc +43
jmp +196
acc +34
jmp +161
acc +5
acc +45
acc +7
jmp +20
acc +13
jmp -127
acc +5
acc +18
jmp -239
jmp -76
nop +214
jmp -284
acc +10
acc -8
jmp -81
acc +48
acc -3
jmp -55
nop -288
acc +37
acc +1
acc -12
jmp +1
nop +91
acc +20
acc +18
jmp +4
acc -7
acc -10
jmp -229
nop -230
nop +45
acc +37
jmp +127
jmp +69
jmp -153
acc -15
acc -19
acc +32
jmp -33
nop +164
acc +32
jmp -133
acc +20
acc -8
jmp +8
acc -11
nop +82
acc +7
acc +40
jmp +79
acc +0
jmp +159
acc +4
acc -8
acc +20
nop +143
jmp -351
acc -7
jmp +78
acc +0
acc +4
jmp +20
jmp -3
acc +2
acc +23
jmp -256
acc +33
jmp -473
acc +29
acc -13
jmp +77
jmp +158
acc -16
jmp -10
jmp -181
jmp -135
nop -95
acc +46
acc +39
acc -3
jmp -94
jmp -67
acc +49
nop -78
nop -9
jmp +107
acc -19
acc -1
acc +0
acc -4
jmp -189
acc +11
jmp -106
jmp -200
jmp +122
acc +8
acc +48
acc +15
acc +0
jmp -493
acc +13
jmp -8
acc +36
acc -10
jmp +1
acc +9
jmp +7
jmp +85
acc +22
acc -8
nop -124
jmp -517
jmp -338
acc +39
nop -438
acc -11
jmp +69
acc +8
acc +34
acc +34
acc -9
jmp -205
nop -528
jmp -495
acc +47
acc +40
acc +30
jmp -328
acc -2
acc +41
jmp -475
acc +42
acc +48
acc +2
acc +7
jmp -415
nop -249
acc -3
jmp +65
acc +23
nop -4
jmp -254
acc -12
acc +22
acc +27
jmp -176
jmp -408
acc -15
acc +14
acc +30
acc +0
jmp -363
jmp -426
acc +38
nop -425
jmp -440
jmp +1
acc +22
jmp -63
jmp -406
nop -445
acc -5
acc +34
nop -425
jmp +65
acc +33
jmp -91
acc -12
jmp +1
jmp -541
nop -489
jmp -490
acc +20
acc +20
acc +38
acc -18
jmp -548
acc +43
acc -7
jmp -351
acc -9
acc +50
acc +1
nop -587
jmp -230
jmp +1
nop +43
jmp -65
acc +31
acc +5
acc +1
jmp -105
nop -477
acc +21
nop -92
jmp -263
acc +28
jmp -265
jmp -311
acc +2
acc +23
acc +50
jmp -4
acc +42
acc +42
acc +31
jmp -167
acc +49
acc +46
jmp -73
nop -135
acc +43
jmp -236
acc -14
acc -3
jmp -406
acc +2
acc -3
acc +47
jmp -420
acc -8
acc +18
jmp -604
jmp -218
acc +37
acc -16
nop -278
acc -15
jmp -214
acc -6
acc +18
acc +7
acc +0
jmp -252
acc +14
jmp -266
acc +27
acc -16
nop -533
nop -534
jmp +1

1000
input9 Normal file

File diff suppressed because it is too large Load Diff

52
nine.py Executable file
View File

@ -0,0 +1,52 @@
#!/usr/bin/env python3
from functools import reduce
import re, sys
import sys
import numpy as np
def tpl(l): # get nice tuple from line
return int(l)
def p(*args):
print(*args)
def sum_of_2(l, n):
d={}
for i in l:
for j in l[1:]:
d[i+j] = True
try:
return d[n]
except:
return False
def good(l):
return sum_of_2(l[:-1], l[-1])
def weak(l, n):
a = l[0]
s = a
for j, b in enumerate(l[1:]):
s += b
if s == n:
return min(l[:j+1]), max(l[:j+1])
elif s > n:
break
def weakness(l, n):
for i in range(len(l)):
w = weak(l[i:], n)
if w:
return w
fn = sys.argv[1] if len(sys.argv) > 1 else 'input9'
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
n = [tpl(l) for l in lines]
i=0
while good(n[i:i+26]):
i += 1
p(n[i+25])
p(weakness(n, n[i+25]))
p(sum(weakness(n, n[i+25])))

57
nineteen.py Executable file
View File

@ -0,0 +1,57 @@
#!/usr/bin/env python3
import re, sys
'''
{'0': [['4', '1', '5']], '1': [['2', '3'], ['3', '2']], '2': [['4', '4'], ['5', '5']], '3': [['4', '5'], ['5', '4']], '4': [['"a"']], '5': [['"b"']]}
'''
def regex(rules, n, d=0):
#print(' '*d, n)
if d > 100: # approx length of strings, way overkill
return ''
if type(n) == str:
if not n[0] == '"': # 42
ret = regex(rules, rules[n], d+1)
else: # "a"
ret = n[1]
elif type(n) == list:
if type(n[0]) == list: # [[x,y],[u,v]]; always OR
ret = '(' + '|'.join([regex(rules, r, d+1) for r in n]) + ')'
elif type(n[0]) == str: # [x,y]; always AND
ret = ''.join([regex(rules, r, d+1) for r in n])
else:
ret = 'OMG? %s' % n
else:
ret = 'WTF? %s' % n
return ret
def mkrule(l):
me, rest = l.split(': ')
rest = [[side for side in n.split(' ')] for n in rest.split(' | ')]
print(me,rest)
q = re.findall(r'(.*): | (.*)( \| |$)', l)
print(q)
return me, rest
def mkthing(l):
return l
fn = sys.argv[1] if len(sys.argv) > 1 else 'input%s' % 19
with open(fn) as f:
header, footer = f.read().split('\n\n')
rules = {a: b for a, b in (mkrule(l) for l in header.strip().split('\n'))}
zero = regex(rules, '0')
r = re.compile('^' + zero + '$')
things = [mkthing(l) for l in footer.strip().split('\n')]
#for t in things:
# print('GOOD' if r.match(t) else 'FAIL', t)
print(sum(1 for t in things if r.match(t)))
_, rules['8'] = mkrule('8: 42 | 42 8')
_, rules['11'] = mkrule('11: 42 31 | 42 11 31')
zero = regex(rules, '0')
r = re.compile('^' + zero + '$')
print(sum(1 for t in things if r.match(t)))

16
one.awk Executable file
View File

@ -0,0 +1,16 @@
#!/usr/bin/awk -f
{
a[NR] = $1
for(i = 1; i < NR; i++) {
for(j = 1; j < NR; j++) {
for(u = 0;u <= a[j]; u += a[j]) {
#print "if("a[i]" + "u" + "$1" == 2020) {"
if(a[i] + u + $1 == 2020) {
s = a[i] * (u?u:1) * $1
if(!t[s]++) print s
}
}
}
}
}

11
one.py Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/env python3
with open('input1') as f:
l = f.readlines()
n = [int(x) for x in l]
a, b = next(filter(lambda x: sum(x) == 2020, ((a, b) for a in n for b in n)))
print(a * b)
a, b, c = next(filter(lambda x: sum(x) == 2020, ((a, b, c) for a in n for b in n for c in n)))
print(a * b * c)

11
second Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
if [[ $# = 1 ]]; then
day=$1
else
day="$(date +%d | sed 's/^0//')"
fi
read -r answer < <(tail -n 1)
curl -D - "https://adventofcode.com/2020/day/$day/answer" -H "Cookie: session=$(cat cookie)" --data-raw "level=2&answer=$answer" | tee response${day}two | grep '<article>'

50
seven.py Executable file
View File

@ -0,0 +1,50 @@
#!/usr/bin/env python3
from functools import reduce
import re, sys
import sys
def single(b):
return ' '.join(b.split()[1:3])
def multiple(b):
name = ' '.join(b.split()[1:3])
num = b.split()[0]
if num == 'no':
return 'empty', 0
return name, int(num)
def tpl(l): # get nice tuple from line
me, rest = l[:-1].split(' bags contain ') # space separated fields
return me, [single(r) for r in rest.split(', ')]
def dic(l): # get nice dict from line
me, rest = l[:-1].split(' bags contain ') # space separated fields
return me, {k: v for k, v in (multiple(r) for r in rest.split(', '))}
gold = 'shiny gold'
def has_gold(dic, b):
acc = []
for k in dic:
if b in dic[k]:
acc += [k,] + has_gold(dic, k)
return acc
def gold_has(dic, b, lvl=0):
if(b == 'empty'):
return 0
acc = 1
for k in dic[b]:
acc += dic[b][k] * gold_has(dic, k, lvl=lvl+1)
print(' '*lvl + '%s * %s...' % (dic[b][k], k), acc)
return acc
fn = sys.argv[1] if len(sys.argv) > 1 else 'input7'
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
pic = {a: b for a, b in (tpl(l) for l in lines)}
print(len(set(has_gold(pic, gold))))
duc = {a: b for a, b in (dic(l) for l in lines)}
print(duc)
print(gold_has(duc, gold) - 1)

25
seventeen.py Executable file
View File

@ -0,0 +1,25 @@
#!/usr/bin/env python3
import sys
import numpy as np
def status(rubix):
orig = rubix[tuple(1 for i in rubix.shape)]
return rubix.sum() == 3 or rubix.sum() == 4 and orig
def frob(image):
old, new = np.pad(image, 2), np.pad(image, 1)
for c, _ in np.ndenumerate(new):
new[c] = status(old[tuple(slice(i, i+3) for i in c)])
return new
def cycle(image, cycles=6):
for i in range(cycles):
image = frob(image)
return image
with open(0) as f:
p = [[x == '#' for x in l] for l in f.read().split()]
h, w = len(p), len(p[0])
for dim in 3, 4:
arr = np.asarray(p, dtype=int).reshape((*(1,)*(dim-2), h, w))
print(cycle(arr).sum())

14
seventeen_nest.py Executable file
View File

@ -0,0 +1,14 @@
#!/usr/bin/env python3
import numpy as np
with open(0) as f:
p = [[x == '#' for x in l] for l in f.read().split()]
h, w = len(p), len(p[0])
for dim in 3, 4:
arr = np.asarray(p, dtype=int).reshape((*(1,)*(dim-2), h, w))
for i in range(6):
old, arr = np.pad(arr, 2), np.pad(arr, 1)
for c, orig in np.ndenumerate(arr):
rubix = old[tuple(slice(i, i+3) for i in c)].sum()
arr[c] = rubix == 3 or rubix == 4 and orig
print(arr.sum())

17
siix.py Executable file
View File

@ -0,0 +1,17 @@
#!/usr/bin/env python3
from functools import reduce
import re, sys
import sys
def awl(p):
l = [set(x) for x in p.split()]
return len(set.intersection(*l))
fn = sys.argv[1] if len(sys.argv) > 1 else 'input6'
with open(fn) as f:
pgphs = f.read().split('\n\n')
lines = [l.strip() for l in f.readlines()]
print(sum(len(set(re.sub('\n', '', p))) for p in pgphs))
print(sum(awl(p) for p in pgphs))

80
sixteen.py Executable file
View File

@ -0,0 +1,80 @@
#!/usr/bin/env python3
from functools import reduce
import re, sys
import math
import numpy as np
def tpl(l):
#'departure location: 33-679 or 691-971'
#f = re.findall(r'(.*): ((\d*)-(\d*)( or )?)*', l)
#print(dir(f))
#exit()
name, ranges = l.split(': ')
ranges = ranges.split(' or ')
rang = [r.split('-') for r in ranges]
return name, *[range(int(a), int(b) + 1) for a, b in rang]
def gentable(three):
d = {}
for _, a, b in three:
for i in a:
d[i] = True
for i in b:
d[i] = True
return d
def table(three):
d = {}
for j, a, b in three:
d[j] = {}
for i in a:
d[j][i] = True
for i in b:
d[j][i] = True
return d
def good(t, d):
return all(n in d for n in t)
fn = sys.argv[1] if len(sys.argv) > 1 else 'input%s' % 16
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
pgphs = f.read().split('\n\n')
rang = [tpl(l) for l in lines[:20]]
gend = gentable(rang)
tickets = [[int(i) for i in l.split(',')] for l in lines[25:]]
tot = 0
gockets = [t for t in tickets if good(t, gend)]
print(len(gockets), '/', len(tickets))
d = table(rang)
cols = []
for i, col in enumerate(zip(*gockets)):
cols += [[]]
for cat in d:
#print(d[cat])
#print(col)
if(good(col, d[cat])):
cols[i] += [cat,]
for c in cols:
print(c)
done = [False for c in cols]
while not all(done):
for i, _ in enumerate(cols):
if not done[i] and len(cols[i]) == 1:
done[i] = True
for j, cc in enumerate(cols):
if not done[j]:
cols[j] = set(cols[j]) - set(cols[i])
break
for c in cols:
print(c)
me = [int(x) for x in lines[22].split(',')]
print(len(me), len(cols))
print(reduce(lambda a,b:a*b, [me[i] for i, c in enumerate(cols) if \
c.copy().pop()[:9] == 'departure']))

39
template.py Executable file
View File

@ -0,0 +1,39 @@
#!/usr/bin/env python3
from functools import reduce
import datetime
import re, sys
import math
import numpy as np
def tpl(l):
me, rest = l.split()
return me, rest
def uni(l):
return reduce(lambda a,b: a.union(b), l)
def inter(l):
return reduce(lambda a,b: a.intersection(b), l)
def dprint(*args):
sep = False
for arg in args:
if sep:
print('--------')
sep = True
for a, b in arg.items():
print('%10s: %s' % (a, ','.join(b)))
print()
fn = sys.argv[1] if len(sys.argv) > 1 else 'input%s' % datetime.datetime.now().day
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
t = [tpl(l) for l in lines]
pgphs = f.read().split('\n\n')
header, footer = f.read().split('\n\n')
rules = {a: b for a, b in (mkrule(l) for l in header.strip().split('\n'))}
things = [mkthing(l) for l in footer.strip().split('\n')]

37
ten.py Executable file
View File

@ -0,0 +1,37 @@
#!/usr/bin/env python3
from functools import reduce
import re, sys
import sys
import numpy as np
def tpl(l): # get nice tuple from line
return int(l)
def p(*args):
print(*args)
def threes(l):
return sum(x == 3 for x in l)
def onez(l):
return sum(x == 1 for x in l)
fn = sys.argv[1] if len(sys.argv) > 1 else 'input10'
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
n = [0, ] + sorted([tpl(l) for l in lines])
n += [n[-1] + 3]
d = [b - a for a, b in zip(n, n[1:])]
p(onez(d) * threes(d))
ways = 1
ones = 0
for r in d:
if r == 3:
ways *= (1, 1, 2, 4, 7)[ones]
ones = 0
elif r == 1:
ones += 1
else:
p('not 1 not 3')
p(ways)

2
ten.txt Normal file
View File

@ -0,0 +1,2 @@
# just part 1
<input10 sort -n |awk '{print $1-prev; prev=$1}' > tmp; echo $(($(grep -c 1 tmp) * (1 + $(grep -c 3 tmp))))

36
thirteen.py Executable file
View File

@ -0,0 +1,36 @@
#!/usr/bin/env python3
from functools import reduce
import re, sys
import math
import numpy as np
def tpl(l):
me, rest = l.split() # e.g.
return me, rest
fn = sys.argv[1] if len(sys.argv) > 1 else 'input%s' % 13
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
start = int(lines[0])
mehs = [int(x) for x in lines[1].split(',') if x != 'x']
print(mehs)
mods = [x - (start % x) for x in mehs]
dups = sorted(zip(mods, mehs))
print(np.prod(dups[0]))
sched = enumerate(x for x in lines[1].split(','))
sched = [(a, int(b)) for (a, b) in sched if b != 'x']
print(sched)
i = 0
j = 0
inc = 1
while True:
if (i + sched[j][0]) % sched[j][1] == 0:
inc *= sched[j][1] # prime
j += 1
print(j, f'{i:_}')
if j == len(sched): # done!
print(i)
break
i += inc

35
thirteen.txt Normal file
View File

@ -0,0 +1,35 @@
$ time tail -1 input13 |gawk -M 'function nxt(i,j,tgt,inc) {while((i+j)%tgt) i+=inc; return i} BEGIN {RS=",";i=0;inc=1} !/x/ {i=nxt(i,NR-1,$1,inc); inc*=$1; print i}'
0
779
481668
7955927
140192817
655916688
21112963571
37989391978419
840493039281088
real 0m0.004s
user 0m0.000s
sys 0m0.004s
$ time { tr , \\n |gawk -M 'function n(i,j,t,c) {while((i+j)%t) i+=c; return i} !/x/ {i=n(i,NR-1,$1,c); c=$1*(c?c:1); print i}'; } <<<41,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,37,x,x,x,x,x,379,x,x,x,x,x,x,x,23,x,x,x,x,13,x,x,x,17,x,x,x,x,x,x,x,x,x,x,x,29,x,557,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,19
$ { tr , \\n |gawk -M 'function n(i,j,t,c) {
while((i+j)%t) i+=c;
return i
}
!/x/ {
i=n(i,NR-1,$1,c);
c=$1*(c?c:1);
print i
}'; } <<<41,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,37,x,x,x,x,x,379,x,x,x,x,x,x,x,23,x,x,x,x,13,x,x,x,17,x,x,x,x,x,x,x,x,x,x,x,29,x,557,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,19
779
481668
7955927
140192817
655916688
21112963571
37989391978419
840493039281088

26
three.py Executable file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env python3
import sys
import numpy as np
from functools import reduce
def hit(l, i):
return l[i] == '#'
def trees(lines, x, bank, spd):
if not lines:
return 0
return hit(lines[0], x) + trees(lines[spd:],
(x + bank) % len(lines[0]),
bank, spd)
fn = sys.argv[1] if len(sys.argv) > 1 else 'input3'
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
ct = trees(lines, 0, 3, 1)
print(ct)
ct = np.prod([trees(lines, 0, nx, ny) for nx, ny in ((1,1), (3,1), (5,1), (7,1), (1,2))])
print(ct)

62
twelve.py Executable file
View File

@ -0,0 +1,62 @@
#!/usr/bin/env python3
import sys
import numpy as np
dirs = 'WSEN'
def tpl(l): # get nice tuple from line
return l[0], int(l[1:])
def turn1(course, side, deg):
return dirs[(dirs.index(course) + (1 if side == 'L' else -1) * deg // 90 + 4) % 4]
def turn(course, side, deg): # complex rotation
theta = (1j if side == 'L' else -1j) ** (deg // 90)
z = complex(*course)
newz = z * theta
return np.asarray((newz.real, newz.imag), dtype=int)
def mturn(course, side, deg): # matrix rotation
rot = [np.asarray(m).reshape((2, 2)).T for m in
((1, 0, 0, 1), # not used
(0, -1, 1, 0),
(-1, 0, 0, -1),
(0, 1, -1, 0))]
index = (360 - deg if side == 'R' else deg) // 90
return(course.dot(rot[index]))
def tot(course, l):
return sum(d for c, d in l if c == course)
def shift(d, n):
return np.asarray(((-1, 0), (0, -1), (1, 0), (0, 1))[dirs.index(d)]) * n
fn = sys.argv[1] if len(sys.argv) > 1 else 'input12'
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
instr = [tpl(l) for l in lines]
new = []
course = 'E'
for a,b in instr:
if a in 'LR':
course = turn1(course, a, b)
elif a == 'F': # no one else probably did it this way
new += (course, b), # simply replace all Fx with [WSEN]x as appropriate
else: # (by "replace" i mean make a new instruction list)
new += (a, b),
dist = abs(tot('E', new) - tot('W', new)) + abs(tot('S', new) - tot('N', new))
print(dist)
waypoint = np.asarray((10, 1), dtype=int)
pos = np.asarray((0, 0), dtype=int)
for a,b in instr:
if a in 'LR':
waypoint = turn(waypoint, a, b)
elif a == 'F':
pos += waypoint * b
else:
waypoint += shift(a, b)
dist = sum(abs(x) for x in pos)
print(dist)

187
twenty.py Executable file
View File

@ -0,0 +1,187 @@
#!/usr/bin/env python3
from functools import reduce
import re, sys
import math
import numpy as np
dirs = 'north west south east'.split() # for printing
monster = '''
#
# ## ## ###
# # # # # #
'''
monster = monster.replace('\n', '')
monstermask = reduce(lambda a, b: a*2 + (b == '#'), (0, *list(monster)))
mw, mh = 20, 3
monsterbegone = np.array([c == ' ' for c in monster], dtype=int).reshape((mh, mw))
def pic2bits(pic):
#p(pic)
pic = pic.reshape(-1)
return reduce(lambda a, b: a*2 + b, (0, *list(pic)))
def p(image):
for y in range(image.shape[0]):
for x in range(image.shape[1]):
sys.stdout.write('.#'[image[y][x]])
print()
print()
def tile(p):
'''
pair:
ID
tile, as given to us
'''
lines = p.strip().split('\n')
return (int(lines[0][5:-1]),
np.asarray([[x == '#' for x in l] for l in lines[1:]], dtype=int))
def edgeid(ar):
'''
boolean 10-tuple -> int({0,1023})
'''
return reduce(lambda a, b: a*2 + b, (0, *ar))
def edges(ar):
'''
the four 10-tuples making up the edge of a tile
in ANTICLOCKWISE (i.e. unique) order
'''
return (ar[0], ar[:,0][::-1], ar[9][::-1], ar[:,9])
def flippededgeid(id):
#print(f'{id:b}'.zfill(19))
#print(f'{id:b}'[::-1])
#print(int(f'{id:b}'[::-1], base=2))
return int(f'{id:b}'.zfill(10)[::-1], base=2)
def addedge(d, e, t):
'''
put tile id t
in dictionary d
under the heading of edge e
(do this for the flipped edge too)
'''
d[edgeid(e)] += [t, ]
def findpiece(cand, north=None, west=None, south=None, east=None):
if west:
cand = filter(lambda c:
c[2][1] == flippededgeid(west[2][3]) and
c[0] != west[0],
cand)
else:
cand = None
return list(cand)
def findpieceat(cand, board, x, y):
N, W, S, E = board[y-1][x], board[y][x-1], board[y+1][x], board[y][x+1]
for i, d in enumerate((N, W, S, E)):
if d:
#print('d is %s of x=%s y=%s' % (dirs[i], x, y))
#print('d`s %sern edge is %s so c needs %s %s' % (dirs[(i+2)%4],
# d[2][(i+2)%4], flippededgeid(d[2][(i+2)%4]), dirs[i]))
cand = list(filter(lambda c:
c[2][i] == flippededgeid(d[2][(i+2)%4]) and
c[0] != d[0],
cand)) # convert to list immediately, for some reason
return list(cand)
def num_monsters(image):
tot = 0
for y in range(image.shape[0] - mh + 1):
for x in range(image.shape[1] - mw + 1):
#print(pic2bits(image[y:y+mh,x:x+mw]))
if pic2bits(image[y:y+mh,x:x+mw]) & monstermask == monstermask:
#p(image[y:y+mh,x:x+mw])
tot += 1
return tot
fn = sys.argv[1] if len(sys.argv) > 1 else 'input%s' % 20
with open(fn) as f:
pgphs = f.read().strip().split('\n\n')
w = round(math.sqrt(len(pgphs))) # lol genericism
tiles = {k: v for k, v in [tile(p) for p in pgphs]}
part1dic = {k: [] for k in range(1024)} # {edge: tileid}
for id, t in tiles.items():
for edge in [*edges(t), *edges(t[::-1])]: # reg, flipped
addedge(part1dic, edge, id)
edge_by_id = {k: [] for k in range(10000)} # {tileid: edge (only one tile has edge)}
for k, v in filter(lambda a: len(a[1]) == 1, part1dic.items()):
iv = v[0]
edge_by_id[iv] += [k, ]
#print({k: v for k, v in filter(lambda a: len(a[1]) == 4, edge_by_id.items())})
print(np.prod([k for k, v in filter(lambda a: len(a[1]) == 4, edge_by_id.items())]))
# continued in part 2
# make huge list containing the following:
# [tid, image, edges (4 of them), flip=False, k=0]
# for all 8 combos
pile = []
for id, t in tiles.items():
for k in range(4):
toy = np.rot90(t, k)
pile += [(id, toy, [edgeid(e) for e in edges(toy)], False, k), ]
# when doing both, flip first
toy = t[::-1]
toy = np.rot90(toy, k)
pile += [(id, toy, [edgeid(e) for e in edges(toy)], False, k), ]
print('pieces in pile:', len(pile))
# construct puzzle, store in grid similar to pile
# begin with a corner
rootid = list(filter(lambda a: len(a[1]) == 4, edge_by_id.items()))[0][0]
toy = tiles[rootid]
puzzle = np.empty((12, 12), dtype=object)
# rotate so that N and W are unique
for k in range(4):
N = edges(toy)[0]
W = edges(toy)[1]
if len(part1dic[edgeid(N)]) == 1 and len(part1dic[edgeid(W)]) == 1:
puzzle[0][0] = (rootid, toy, [edgeid(e) for e in edges(toy)], False, k)
break
toy = np.rot90(toy) # anticlockwise, naturally
print(puzzle[0][0])
puzzle = np.pad(puzzle, 1, mode='empty')
# find next pieces
for y in range(1, w+1):
for x in range(1, w+1):
if y + x == 2:
sys.stdout.write(str(puzzle[y][x][0]) + ' ')
continue
match = findpieceat(pile, puzzle, x, y)
if len(match) != 1:
print('ACHTUNG: duplicate matches: %s' % len(match))
puzzle[y][x] = match[0]
sys.stdout.write(str(puzzle[y][x][0]) + ' ')
print()
# stitch together full map
image = np.zeros((8*w, 8*w), dtype=int)
for (y, x), chunk in np.ndenumerate(puzzle[1:1+w,1:1+w]):
image[y*8:(y+1)*8,x*8:(x+1)*8] = chunk[1][1:9,1:9]
image = np.rot90(image, 2)
for pic in image, image[::-1]:
for rot in range(4):
if num_monsters(np.rot90(pic, rot)) > 0:
image = np.rot90(pic, rot)
break
p(image)
print(image.sum())
for y in range(image.shape[0] - mh + 1):
for x in range(image.shape[1] - mw + 1):
#print(pic2bits(image[y:y+mh,x:x+mw]))
if pic2bits(image[y:y+mh,x:x+mw]) & monstermask == monstermask:
image[y:y+mh,x:x+mw] &= monsterbegone
print(image.sum())

186
twenty_anim.py Executable file
View File

@ -0,0 +1,186 @@
#!/usr/bin/env python3
from functools import reduce
import re, sys
import math
import numpy as np
dirs = 'north west south east'.split() # for printing
monster = '''
#
# ## ## ###
# # # # # #
'''
monster = monster.replace('\n', '')
monstermask = reduce(lambda a, b: a*2 + (b == '#'), (0, *list(monster)))
mw, mh = 20, 3
monsterbegone = np.array([c == ' ' for c in monster], dtype=int).reshape((mh, mw))
def pic2bits(pic):
#p(pic)
pic = pic.reshape(-1)
return reduce(lambda a, b: a*2 + b, (0, *list(pic)))
def p(image):
for y in range(image.shape[0]):
for x in range(image.shape[1]):
sys.stdout.write('.#'[image[y][x]])
print()
print()
def tile(p):
'''
pair:
ID
tile, as given to us
'''
lines = p.strip().split('\n')
return (int(lines[0][5:-1]),
np.asarray([[x == '#' for x in l] for l in lines[1:]], dtype=int))
def edgeid(ar):
'''
boolean 10-tuple -> int({0,1023})
'''
return reduce(lambda a, b: a*2 + b, (0, *ar))
def edges(ar):
'''
the four 10-tuples making up the edge of a tile
in ANTICLOCKWISE (i.e. unique) order
'''
return (ar[0], ar[:,0][::-1], ar[9][::-1], ar[:,9])
def flippededgeid(id):
#print(f'{id:b}'.zfill(19))
#print(f'{id:b}'[::-1])
#print(int(f'{id:b}'[::-1], base=2))
return int(f'{id:b}'.zfill(10)[::-1], base=2)
def addedge(d, e, t):
'''
put tile id t
in dictionary d
under the heading of edge e
(do this for the flipped edge too)
'''
d[edgeid(e)] += [t, ]
def findpiece(cand, north=None, west=None, south=None, east=None):
if west:
cand = filter(lambda c:
c[2][1] == flippededgeid(west[2][3]) and
c[0] != west[0],
cand)
else:
cand = None
return list(cand)
def findpieceat(cand, board, x, y):
N, W, S, E = board[y-1][x], board[y][x-1], board[y+1][x], board[y][x+1]
for i, d in enumerate((N, W, S, E)):
if d:
#print('d is %s of x=%s y=%s' % (dirs[i], x, y))
#print('d`s %sern edge is %s so c needs %s %s' % (dirs[(i+2)%4],
# d[2][(i+2)%4], flippededgeid(d[2][(i+2)%4]), dirs[i]))
cand = list(filter(lambda c:
c[2][i] == flippededgeid(d[2][(i+2)%4]) and
c[0] != d[0],
cand)) # convert to list immediately, for some reason
return list(cand)
def num_monsters(image):
tot = 0
for y in range(image.shape[0] - mh + 1):
for x in range(image.shape[1] - mw + 1):
#print(pic2bits(image[y:y+mh,x:x+mw]))
if pic2bits(image[y:y+mh,x:x+mw]) & monstermask == monstermask:
p(image[y:y+mh,x:x+mw])
tot += 1
return tot
fn = sys.argv[1] if len(sys.argv) > 1 else 'input%s' % 20
with open(fn) as f:
pgphs = f.read().strip().split('\n\n')
w = round(math.sqrt(len(pgphs))) # lol genericism
tiles = {k: v for k, v in [tile(p) for p in pgphs]}
part1dic = {k: [] for k in range(1024)} # {edge: tileid}
for id, t in tiles.items():
for edge in [*edges(t), *edges(t[::-1])]: # reg, flipped
addedge(part1dic, edge, id)
edge_by_id = {k: [] for k in range(10000)} # {tileid: edge (only one tile has edge)}
for k, v in filter(lambda a: len(a[1]) == 1, part1dic.items()):
iv = v[0]
edge_by_id[iv] += [k, ]
#print({k: v for k, v in filter(lambda a: len(a[1]) == 4, edge_by_id.items())})
print(np.prod([k for k, v in filter(lambda a: len(a[1]) == 4, edge_by_id.items())]))
# continued in part 2
# make huge list containing the following:
# [tid, image, edges (4 of them), flip=False, k=0]
# for all 8 combos
pile = []
for id, t in tiles.items():
for k in range(4):
toy = np.rot90(t, k)
pile += [(id, toy, [edgeid(e) for e in edges(toy)], False, k), ]
# when doing both, flip first
toy = t[::-1]
toy = np.rot90(toy, k)
pile += [(id, toy, [edgeid(e) for e in edges(toy)], False, k), ]
print('pieces in pile:', len(pile))
# construct puzzle, store in grid similar to pile
# begin with a corner
rootid = list(filter(lambda a: len(a[1]) == 4, edge_by_id.items()))[0][0]
toy = tiles[rootid]
puzzle = np.empty((12, 12), dtype=object)
# rotate so that N and W are unique
for k in range(4):
N = edges(toy)[0]
W = edges(toy)[1]
if len(part1dic[edgeid(N)]) == 1 and len(part1dic[edgeid(W)]) == 1:
puzzle[0][0] = (rootid, toy, [edgeid(e) for e in edges(toy)], False, k)
break
toy = np.rot90(toy) # anticlockwise, naturally
print(puzzle[0][0])
puzzle = np.pad(puzzle, 1, mode='empty')
# find next pieces
for y in range(1, w+1):
for x in range(1, w+1):
if y + x == 2:
sys.stdout.write(str(puzzle[y][x][0]) + ' ')
continue
match = findpieceat(pile, puzzle, x, y)
if len(match) != 1:
print('ACHTUNG: duplicate matches: %s' % len(match))
puzzle[y][x] = match[0]
sys.stdout.write(str(puzzle[y][x][0]) + ' ')
print()
# stitch together full map
image = np.zeros((8*w, 8*w), dtype=int)
for (y, x), chunk in np.ndenumerate(puzzle[1:1+w,1:1+w]):
image[y*8:(y+1)*8,x*8:(x+1)*8] = chunk[1][1:9,1:9]
image = np.rot90(image, 2)
p(image)
for pic in image, image[::-1]:
for rot in range(4):
if num_monsters(np.rot90(pic, rot)) > 0:
image = np.rot90(pic, rot)
print(image.sum())
for y in range(image.shape[0] - mh + 1):
for x in range(image.shape[1] - mw + 1):
#print(pic2bits(image[y:y+mh,x:x+mw]))
if pic2bits(image[y:y+mh,x:x+mw]) & monstermask == monstermask:
image[y:y+mh,x:x+mw] &= monsterbegone
print(image.sum())

57
twentyfive.py Executable file
View File

@ -0,0 +1,57 @@
#!/usr/bin/env python3
from functools import reduce
from itertools import count
import re, sys
import math
import numpy as np
def tpl(l):
return int(l)
def dprint(*args):
sep = False
for arg in args:
if sep:
print('--------')
sep = True
for a, b in arg.items():
print('%10s: %s' % (a, ','.join(b)))
print()
fn = sys.argv[1] if len(sys.argv) > 1 else 'input%s' % 25
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
card, door = [tpl(l) for l in lines]
cl, dl = 0, 0
lol = 20201227
sub = 1
for loop in count(1):
sub = (sub * 7) % lol
if sub == card:
cl = loop
break
print(cl)
sub = 1
for loop in count(1):
sub = (sub * 7) % lol
if sub == door:
dl = loop
break
print(dl)
print()
sub = 1
for i in range(cl):
sub = (sub * door) % lol
print(sub)
print()
sub = 1
for i in range(dl):
sub = (sub * card) % lol
print(sub)

128
twentyfour.py Executable file
View File

@ -0,0 +1,128 @@
#!/usr/bin/env python3
from functools import reduce
import datetime
import os, re, sys
import math
import curses
import numpy as np
from time import sleep
choice = 'e ne nw w sw se'.split()
def tpl(l):
anyew = re.compile(r'[ns]?[ew]')
return anyew.findall(l)
def uniq(d):
north = d['ne'] + d['nw'] - d['se'] - d['sw']
east = 2 * (d['e'] - d['w']) + d['ne'] + d['se'] - d['nw'] - d['sw']
return '%d/%d' % (north, east)
def path2dic(l):
return {k: sum(k == p for p in l) for k in choice}
def flip(d, t):
if t in d:
d[t] = not d[t]
else:
d[t] = True
def dprint(*args):
sep = False
for arg in args:
if sep:
print('--------')
sep = True
for a, b in arg.items():
print('%10s: %s' % (a, b))
print()
def diccoord(x, y, w=80, h=24):
e = x - (w // 2)
n = (h // 2) - y
if n % 2 == 0:
e -= (e % 2)
else:
e -= ((e+1) % 2)
return '%d/%d' % (n, e)
def mprint(d, lin, col):
print(curses.tigetstr('clear').decode())
for y in range(lin):
for x in range(col):
c = '.'
try:
c = '#' if d[diccoord(x, y, w=col, h=lin)] else ' '
except: pass
sys.stdout.write(c)
print()
def surrounding(tile):
neigh = ((0, 2),
(1, 1),
(1, -1),
(0, -2),
(-1, -1),
(-1, 1))
n, e = (int(x) for x in tile.split('/'))
return ['%d/%d' % (n+u, e+v) for u, v in neigh]
def tick(d):
toflip = {}
are_black = list(filter(lambda x: d[x], d.keys()))
for t in are_black:
sur = surrounding(t)
"""
Any black tile with zero or more than 2 black tiles immediately
adjacent to it is flipped to white.
"""
tobe_white = sum(1 for s in sur if s in are_black) in (0, 3, 4, 5, 6)
if tobe_white:
toflip[t] = False # "white"
"""
Any white tile with exactly 2 black tiles immediately adjacent to it
is flipped to black.
"""
for s in sur: # must be one of these, ducy?
if s in are_black or s in toflip: # black, or already handled
continue
sursur = surrounding(s)
tobe_black = sum(1 for ss in sursur if ss in are_black) == 2 # >= 1
if tobe_black:
toflip[s] = True
# Add remaining black tiles
for t in are_black:
if t not in toflip:
toflip[t] = True
return toflip
curses.setupterm()
size = os.get_terminal_size()
w, h = size.columns, size.lines
w -= 2 # wtf?
h -= 2 # wtf?
print(w, h)
sleep(1)
fn = sys.argv[1] if len(sys.argv) > 1 else 'input%s' % 24
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
t = [tpl(l) for l in lines]
flipdic = {}
for p in t:
flip(flipdic, uniq(path2dic(p)))
#print(path2dic(p), uniq(path2dic(p)), '\n')
mprint(flipdic, h, w)
dprint(flipdic)
print(sum(flipdic.values())) # 24a
sleep(1)
for i in range(100):
flipdic = tick(flipdic)
mprint(flipdic, h, w)
print('Day %d:' % i, sum(flipdic.values()))
sleep(1)
print(sum(flipdic.values())) # 24b

62
twentyone.py Executable file
View File

@ -0,0 +1,62 @@
#!/usr/bin/env python3
from functools import reduce
from itertools import takewhile
import re, sys
import math
import numpy as np
def tpl(l):
me, rest = l[:-1].split(' (contains ')
return me.split(' '), rest.split(', ')
def uni(l):
return reduce(lambda a,b: a.union(b), l)
def inter(l):
return reduce(lambda a,b: a.intersection(b), l)
def dprint(*args):
sep = False
for arg in args:
if sep:
print('--------')
sep = True
for a, b in arg.items():
print('%10s: %s' % (a, ','.join(b)))
print()
fn = sys.argv[1] if len(sys.argv) > 1 else 'input%s' % 21
with open(fn) as f:
lines = [l.strip() for l in f.readlines()]
t = [tpl(l) for l in lines]
rec_per_al = {}
for rec, als in t:
for al in als:
if not al in rec_per_al:
rec_per_al[al] = []
rec_per_al[al] += [set(rec),]
ing_per_al = {a: inter(b) for a, b in rec_per_al.items()}
dprint(ing_per_al)
unsafe = uni(ing_per_al.values())
print(unsafe)
alling = uni([set(ing) for ing, al in t])
safe = alling - unsafe
tot = 0
for ing, _ in t:
tot += len([i for i in ing if i in safe])
print(tot)
bad, good = ing_per_al.copy(), {}
while bad:
for al, ing in filter(lambda x: len(x[1]) == 1, bad.items()):
good[al] = ing#.pop()
bad = {a: b - ing for a, b in bad.items() if a != al}
#dprint(good, bad)
print(','.join(good[i].pop() for i in sorted(good)))

157
twentythree.py Executable file
View File

@ -0,0 +1,157 @@
#!/usr/bin/env python3
from functools import reduce
from itertools import cycle
import re, sys
import math
import numpy as np
def dprint(*args):
sep = False
for arg in args:
if sep:
print('--------')
sep = True
for a, b in arg.items():
print('%10s: %s' % (a, ','.join(b)))
print()
def cup(base, rest):
# find index of next cup to pick up
trial = chr(ord(base) - 1) if base > '1' else '9'
try:
return rest.index(trial)
except: # not there
return cup(trial, rest)
def getoff(circle, offset):
# undo our offset
return (circle + circle)[9 - offset:18 - offset]
def printoff(circle, offset):
print('%s (%d)' % (getoff(circle, offset), offset))
def printafterone(circle):
# lol we don't even need the offset
oneidx = circle.index('1')
print(circle[oneidx+1:] + circle[:oneidx])
def printnice(first, three, six, dest, i):
# ugh
print('-- move %d --' % i)
print('cups: (%s)%s' % (first, ''.join(' %s ' % c for c in three + six)))
print('pick up: %s' % ', '.join(three))
print('destination: %s' % dest)
print()
def move(circle, offset, i=1):
# don't keep track of the selected; just keep it at the left
# instead keep track of how far we've shifted the circle left
# (modulo 9, as if you care)
# ANYWAY, our selected cup is always in first position, so grab the three next
selected, pickup, remain = circle[0], circle[1:4], circle[4:]
dest = cup(selected, remain)
printnice(selected, pickup, remain, remain[dest], i) # jfc
# build the new circle
return (''.join(
[*remain[:dest],
remain[dest],
*pickup,
*remain[dest+1:],
selected,
]),
(offset + 1 + dest) % 9)
def subone(sel, three, size):
ret = sel - 1
if ret == 0:
ret = size
if ret in three:
return subone(ret, three, size)
else:
return ret
def messwith(l, r, sel, size=1000000):
#print('selected:', sel)
three = r[sel], r[r[sel]], r[r[r[sel]]]
#print('pick up:', three)
# DANGLING: r[sel], l[r[sel]] (change in opposite order of course),
# ... r[three[-1]], l[ibid],
# ALSO MODIFY: r[dest], l[r[dest]] (again change in opposite order)
dest = subone(sel, three, size)
#print('destination:', dest)
# i do not like python
#print('r[%s] = %s' % (sel, r[three[-1]]))
#print('l[%s] = %s' % (r[sel], dest))
#print('r[%s] = %s' % (three[-1], r[dest]))
#print('l[%s] = %s' % (r[three[-1]], sel))
#print('r[%s] = %s' % (dest, three[0]))
#print('l[%s] = %s' % (r[dest], three[-1]))
#print('set this to 1, please:', l[r[dest]], 'btw', r[dest])
src_r_idx = sel
src_l_idx = r[three[-1]]
dst_r_idx = dest
dst_l_idx = r[dest]
three_r_idx = three[-1]
three_l_idx = three[0] # which indeed is r[sel], yes
r[src_r_idx] = src_l_idx
l[src_l_idx] = src_r_idx
r[dst_r_idx] = three_l_idx
l[dst_l_idx] = three_r_idx
r[three_r_idx] = dst_l_idx
l[three_l_idx] = dst_r_idx
#print()
#print('left:', l)
return r[sel]
def rightof(r, i, rem):
if rem == 0:
return []
return [r[i], ] + rightof(r, r[i], rem - 1)
def printall(r, sel, size):
print('cups:', ''.join('%s%s%s' % (
'(' if x == sel else ' ',
str(x),
')' if x == sel else ' ')
for x in rightof(r, 1, size)))
fn = sys.argv[1] if len(sys.argv) > 1 else 'input%s' % 23
with open(fn) as f:
offset, circle = 0, f.read().strip()
finito = reduce(lambda a, b: move(a[0], a[1], i=b+1), range(100), (circle, offset)) # lol
printoff(*finito)
printafterone(finito[0])
# well, we'll have to be more creative here
size = int(sys.argv[2] if len(sys.argv) > 2 else 1e6)
# first, redo part 1
orbit = np.linspace(1, size, size, dtype=int)
for i, c in enumerate(circle):
orbit[i] = int(c)
print(orbit)
left = np.zeros(size + 1, dtype=int) # 1-indexed, so "pad"
right = np.zeros(size + 1, dtype=int)
for i, c in enumerate(orbit):
left[c] = orbit[(i+size-1)%size]
right[c] = orbit[(i+1)%size]
print(left[1:11], '<>', right[1:11])
print()
selidx = orbit[0]
rounds = int(sys.argv[3] if len(sys.argv) > 2 else 1e7)
for i in range(rounds):
#print('-- round %d --' % (i + 1))
#printall(right, selidx, size)
selidx = messwith(left, right, selidx, size=size)
if not (i % math.ceil(rounds / 10)):
print(left[1:], '<>', right[1:])
print('%d to go' % (rounds - i))
print('-- final --')
print(left[1:], '<>', right[1:])
#printall(right, selidx, size)
# ok, now find cups on SIDE.
bill = right[1]
bob = right[bill]
print('%d * %d =\n%d' % (bill, bob, (bill * bob)))

101
twentytwo.py Executable file
View File

@ -0,0 +1,101 @@
#!/usr/bin/env python3
from functools import reduce
import datetime
import re, sys
import math
import numpy as np
from numba import jit
def tpl(l):
return int(l)
def dprint(*args):
sep = False
for arg in args:
if sep:
print('--------')
sep = True
for a, b in arg.items():
print('%10s: %s' % (a, ','.join(str(x) for x in b)))
print()
@jit
def rnd(carda, cardb, idx):
if idx == 0:
return [carda, cardb] if carda > cardb else []
if idx == 1:
return [cardb, carda] if carda < cardb else []
@jit
def rnd2(carda, cardb, idx, winner):
if idx == 0:
return [carda, cardb] if idx == winner else []
if idx == 1:
return [cardb, carda] if idx == winner else []
@jit
def hashish(fp, sp):
return (reduce(lambda a, b: a|(1<<b), fp, 0) << 50) + \
reduce(lambda a, b: a|(1<<b), sp, 0)
@jit
def finalcount(pile):
return sum([i * x for i, x in enumerate([0, ] + pile[::-1])])
@jit
def game(pilea, pileb, rec=1):
#print('Game %d' % rec)
track = {}
rd = 1
tot = len(pilea) + len(pileb)
while len(pilea) not in (0, tot):
if hashish(pilea,pileb) in track:
return 0, -1
#print('Game %d round %d' % (rec, rd))
track[hashish(pilea,pileb)] = True
#dprint({'1': pilea, '2':pileb})
a, b = pilea[0], pileb[0]
if len(pilea[1:]) >= a and len(pileb[1:]) >= b:
winner, _ = game(pilea[1:a+1], pileb[1:b+1], rec+1)
pilea = pilea[1:] + rnd2(a, b, 0, winner)
pileb = pileb[1:] + rnd2(a, b, 1, winner)
else:
pilea = pilea[1:] + rnd(a, b, 0)
pileb = pileb[1:] + rnd(a, b, 1)
rd += 1
if len(pileb):
if rec > 1:
return 1, -1
else:
return 1, finalcount(pileb)
else:
if rec > 1:
return 0, -1
else:
return 0, finalcount(pilea)
fn = sys.argv[1] if len(sys.argv) > 1 else 'input%s' % 22
with open(fn) as f:
#pgphs = f.read().split('\n\n')
header, footer = f.read().split('\n\n')
p1 = [tpl(l) for l in header.strip().split('\n')[1:]]
p2 = [tpl(l) for l in footer.strip().split('\n')[1:]]
tot = len(p1) + len(p2)
while len(p1) not in (0, tot):
#dprint({'1': p1, '2':p2})
a, b = p1[0], p2[0]
p1 = p1[1:] + rnd(a, b, 0)
p2 = p2[1:] + rnd(a, b, 1)
final = sum(i * x for i, x in enumerate([0, *p1[::-1]]))
#print(final)
final += sum(i * x for i, x in enumerate([0, *p2[::-1]]))
print(final)
p1 = [tpl(l) for l in header.strip().split('\n')[1:]]
p2 = [tpl(l) for l in footer.strip().split('\n')[1:]]
print(game(p1, p2)[1])

15
two.bash Executable file
View File

@ -0,0 +1,15 @@
#!/bin/bash
ct=0 dt=0
while IFS=$'\n:- ' read lo hi char str; do
# part 1
new=${str//$char/}
diff=$((${#str} - ${#new}))
((lo <= diff && diff <= hi)) && ((ct++))
# part 2
chars=${str:lo-1:1}${str:hi-1:1}
xor=${chars//$char/}
((${#xor} == 1)) && ((dt++))
done
printf %s\\n $ct $dt

38
two.py Executable file
View File

@ -0,0 +1,38 @@
#!/usr/bin/env python3
import sys
import numpy as np
def tpl(l): # get nice type correct tuple from line
ssf = l.split(' ') # space separated fields
lohi = ssf[0].split('-')
lo = int(lohi[0])
hi = int(lohi[1])
char = ssf[1][0]
strg = ssf[2]
return lo, hi, char, strg
def good_string(lo, hi, char, strg):
try:
idx = strg.index(char)
# succeeded in finding char
if hi == 0: # too many chars
return False
return good_string(lo - 1, hi - 1, char,
strg[:idx] + strg[idx + 1:])
except:
# failed at finding char
return lo <= 0 # enough chars
def new_good_string(lo, hi, char, strg):
return (strg[lo - 1] == char) != (strg[hi - 1] == char)
fn = sys.argv[1] if len(sys.argv) > 1 else 'input2'
with open(fn) as f:
lines = f.readlines()
ct = sum(good_string(*tpl(l)) for l in lines)
print(ct)
ct = sum(new_good_string(*tpl(l)) for l in lines)
print(ct)