~deciduously/aoc2020

b7118f4500c8c2255d8034161dbc3c351ec3db53 — Ben Lovy a month ago 020e175
Day 6
4 files changed, 2097 insertions(+), 4 deletions(-)

A day6.nim
M helpers.nim
A puzzles/day6.txt
A samples/day6.txt
A day6.nim => day6.nim +36 -0
@@ 0,0 1,36 @@
import helpers
import strutils, tables

proc part1(input: openArray[string]): int = 
    var part1 = 0
    for group in input:
        var group_table = initTable[char, bool]()
        for c in group:
            if c == ' ': continue
            if not group_table.hasKey(c):
                group_table[c] = true
        part1 += len(group_table)
    part1

proc part2(input: openArray[string]): int =
    var part2 = 0
    for group in input:
        var group_table = initCountTable[char]()
        let subgroups = group.split(' ')
        for subgroup in subgroups:
            for c in subgroup:
                group_table.inc(c)

        # Add to main if count is the same as the length of the subgroup
        # 3123 was too low but I don't understand why...AFAICT it's all good...
        let target = len(subgroups)
        var group_total = 0
        for v in group_table.values:
            if v == target: group_total += 1
        part2 += group_total
    part2

proc day6*() =
    let input = readLinesDualNewlineToSeqStr("puzzles/day6.txt")
    echo "Part 1: ", part1(input)
    echo "Part 2: ", part2(input)
\ No newline at end of file

M helpers.nim => helpers.nim +4 -4
@@ 11,14 11,14 @@ proc readLinesToStrSeq*(name: string): seq[string] =

    ret

# Don't use the helper for this one - different delimiiter.
# Some inputs are delimited by two newlines.
proc readLinesDualNewlineToSeqStr*(name: string): seq[string] =
    var ret: seq[string] = @[]

    # Delimiter is two newlines for this
    let wholeFile = readFile(name)
    # Delimiter is two newlines for this - strip off trailing newline.
    let wholeFile = readFile(name).strip()
    for line in wholeFile.split("\n\n"):
        # strip any remaining internal whitespace
        # within an entry, convert remaining newlines to spaces.
        var line = line.replace('\n', ' ')
        ret.add(line)
    ret
\ No newline at end of file

A puzzles/day6.txt => puzzles/day6.txt +2042 -0
@@ 0,0 1,2042 @@
ybcgtxznorvjel
brlyvoexnjtgcz
lnbgtxvoiyecjrz

lcajnyxgzqwim
qznygxmlvwja
gmjzynxaqwls

cmljinrupeykatzdsfox
ugwqhknvb

gsdqbrnhotmfwivl
prozsgfwnthvmiq

vsjpurgokf
dfxpqzabeulknwmjvcsr
pfuvstryihjk

islxfdrtvzwkyoguh
ogylskzvuftqhirxbdw
fkrtgsxudhioylznvw

c
c

uvwigmrlpbqh
qvgriwlbmhpz
nhlsptgbvwimrq

izhmeksc
zarebypguktc
fzxkveoc
hzcneqkl

wsaklcyumfjgxpe
gjlueyimxawpkoscf
tgpaeywujxkslmf

uzxkhngrtem
heumxtrkzgj
kzxtqvehmfyurdgi
xmhtzrukeg
tkhgujzmxenr

veaxitpwqlkmfcdgu
tuylgfjb
ftuglh

uqnklfemcd
fueknldq
eqkfdhnmtl
opyelgnqdfkxw
qzkslfden

q
bu
k
q

wqeaklcysthvrb
srhcatklwbqyev
ylrqbthswkceva
tsbryhlavcwekq
aketrswybhvlqc

tyd
ymt
yvt

hwvclzeby
vywecbhl
wecyqsohlvb
cvlwheyb
blyvewhgc

wieapdrco
edicwpa
cpdwia
hdwgyvpica

jvy
fjv
vj
vjf

czdf
dfzc
dczf

gpmrwtuoy
tymroagbipw
wombgpcyktr
dtrlongqypmwhsjvfxz
gmrwpyto

ocnmpvjx
pvjxcm
bmyjrgvxpkc

jeygorhmxiak
hxifjagoemr

ncjziqtmpawdufxye
eubydnxpatfwjzkcm

abmysdl
cpqbifaynmdsl
mjsbdyla
mrdbvjswyal
bvsladmy

qafokiv
oqhaik
oqmkifa
qaligznro

aiblwmouqx
mqwbaxolui
oxuibwlmaq

zvefqkjusco
xuewoskj
kuzfqjsoe
puankilsjodbre
kutoqsjefh

celsgxhzpjrodmitfukvn
ejkrmnpsgfxvoaihulcz
zuimrfyohspkjvcxelgn

lbrxfchematouyniw
labiudxyoenh
ikelubxgaoynhz
jnahsdibeuxylov
xovbhaiunlsey

ipsrknazqblw
dgxutyvejmfc

sxizpwamjhn
imhnzxawsjp
ahnpswxmizj
wmisxanjzhp

gtbhymj
zawfkbsiud

gylpjarczexv
zyajpvoecrlgx
kzrlojeayxgvp
veztfaypxqrljg

xfivwhodjknmzauqcletpygb
hypeczniafgkoqultxvbdwjm
qxfhjptgnlkvycoudwmizaeb
jizanpbfcyuetmqokhlwvxdg
gjwtexvdfpuamiconybzhlqk

tvy
yv
yiv
yv
yv

whueklivtpca
iplkuahwe
tlsekhiuwap
mizpgjwlbahuekr

mdp
mdp
mpd
pdm

xjnhkvoewc
osfjprwxhcieavkd
hqjxwkvonec
jlgxctoqhevwkn
kzvjhyxweco

yk
yk

hdnxtrvyeiwam
asrwvdhmxeycint
vwxptebdzyioagqmhr

tfczy
ctyfn
tycf
cwytf
ytfc

rmtbfezuojpa
utbjepomarzf
rbatejfumpzo
frtuoepamzbj
faejrztmbpuo

afenbkzjyugowxcpvr
wouafcenbpjvkygzxr
gvneprcbujxzayokfw
vzyparnkxcgbfwouej
ubzxvkrcgnjeapfowy

vwuqrecngfdlk
lkrnvqgufwdc
wrnldgkqvcfeu
cuwnbgvqfdrkl

xbh
vacqro
snxumhe

gxlf
fglx
gxfl
xlgf
lfxg

uzlryvkmdbweqjocatxnhi
lzjedxqowyhmnabkiufvcrt
ntkrmlwcqdbzaxejyuhvoi

fbns
nbf
nabylt

arsif
qzorln
apb
gcvyuhxtkwe
jm

svu
uvz
pvuf
ucv

hpjfklnwizys
pzrcfhyslkiqwn
zskfylihnpow
wgfbdkszlypeihn

vkmcijegnxar
bvknimxrejcga
vegkjcxniram
egkjvmxciran
akgixcjrnemv

ewixgnuavo
unoeayxkgi
yeiaucxnm
ixaekznu
ajulsenirbqtfhxpd

frqlmnxdbgewzo
rdtmqlzovkbuncj
qmzxrndoeiyflb

ukpnyzjiohf
gjfpkinzuoy
ygjozinfupk
iyvjpeozkfnu
kiupfhoyjngzs

hrpwvsugjafeoyd
djawruhovfezcb

cepdjoqftlbanyzxgh
cgnayjbfxzeophtdq

xqg
halqr
qub
qub

po
ldjb

zxnqu
zduxsbq
nzuqxgf
niqzxu
zquxl

qn
ev
cz
bmwjfhlg

kpfrostvwjqzd
ukbsrjpdzfcowq

yjtl
jytl
ltyjz
yltj

dwty
djsct
gtdj

hoj
jyho
jhos
ojh

eupzntdmk
pulhzta

vdfuricnlkjq
cdufvkijqrn
fkdrpnjcuviq
qnfvjudcirk
drijcfkuqvn

nvbldpqsx
wbdzhqp
iamjtyfg

iwqexpmtoadjvryuzshk
twzoyhjukxmqsreaipvd
umryqtvxsdpziohaejkw
eruvdmyzapthwqixjkos

wtgkdqunxroablp
uqmljdantokrpwxg
nkoupqzlgxwdat

vepioalcghjydn
zutlfxvorkn
qbvnlo

lmie
ebim
ykmhei
smie
msbeic

segdzmcnijfpy
pmngjzisdcey
daumgeznqikljcyp

hocwkeizbmvgnsd
jfirpydx
itqjdyl

dbwtrzqo
bwdztr
pwbdtzr
wrtbdz

tcl
ctl

izfnvwsygkjp
nkfpvyzsgij
ygjvfipksnz
kvpgjysnfzi
jxiboavkfnzgpsy

gxulavdzi
xeorucjdlym

hfc
cfh

oaixdvhwf
kuivdwfxzha

jsxny
ynsxj
yjxsn
nxsyj
xysnj

usnjaimqdl
dnuxgy
hdnpcugz

ejofu
ufe
uef
feu

defovtzlc
avocyzft
zxwcvftb

cbga
vgb

rac
a
jgzaxotn
av

ugnotpd
ntugodpx
pudgomt
tdislogp

filsprncvbdamgozwuh
fzqucamrswpihvdlgob

keaqcjtmzwipdyonvufsl
voysnkmwlzqpfeguiacdtj
ndacvykmeozbsuwpiftlq
wodcqfputzknsyevilma

aobpjhfwndq
wnbjofqdpah
fnwqdcgxphabj
wadfqbhinjp

dfegup
pdgyu

qmdthgnfsoacekpjr
zwqjois

cuqwdn
cdnwi
cwyvd
tokwjdsxcr

hlbrqytujx
fdcxlwjquyznksv
wyupmxqjfilsk

hkrsp
yhwpsrk
krhsp
gorspkh

kdnsfavte
snadektv
namkstved
etavlknds
esdatkvn

zbvuponkx
zkjybcanxi
xbunzkv

sixh
xbgha

uxfay
urqibka
uao

lsjkxqirzbcw
sqkbzwjclixr
qsclikrzhxwb

ozldp
dlpz
dztglp

rl
lr
lr

xchdwlniyzjvfskqgu
jczdgywxisl
jxyspdclgizmw

dblfawuprytvz
mceiqnsxkgltp
pmcxtohlg

s
s
r
zdkl

xsftzi
rhmvobe
gitkn
ucgzt

zfboewhsdi
sfozwbdhie

iulc
cilu
iluc
ucli

orlegwpi
polwidg
pomlwiy

wuzngeba
bnazuce
ubzane

vywm
ym

nfmsueclkpqgwai
utlevwmrcxosqkpd

stkubmdgxnprayjvihocf
jdnhiurkyopfsbmagxtezcv
fokmgyscrpijnbhxtudav
caogfvytximuhrjdpbnsk

rsabjcmtdwynx
bficzdrnlsjouhta

mw
wm
mw

iebmfugxoyqlrpcvjztkwdnh
pelfsdutxqcymaozjhnr

pebjavucfqyrdzgml
cbzypflawgmjuvredq
yzrujflgcqebvdapm
gbfuqznldejsyvparmc
jcaqeuwvplbfgdmryz

hkg
xelcms
f

lihonytfdumjsewrzabpc
hlpcdubrwoazsfmiynetj
owuibptxmdhzyrecsfan

riosndbpujgcwethz
hwfrzietbougpsdqjn
drntjpzeguiowshb
pwubneoztjsgdhri
rezkbtghcjwdoinspu

njsa
u
fb

sfx
s
s

ucqsmn
istuq

ingklxq
cnoekp

jlygxaiwrpdfnheouvc
dvfaingtxwpkozjhylercu
pigfacjweynhuovxlrd

vpxbtozuemlny
jkgymlvebinctudpxa
byzxemqvtulpn
ytvunxzwqblepm

jfbkglhtpqudix
grnicbtpqzdxv

bfokwpmzhtlgquaiejr
iawgbmqvzleoxrhtfpu
zwompxutlbhaifseqrg
xpbqhitclyzrunwodgfesma

q
qg
q
vq
q

ekipdozabfsxvugqltjwyrc
dztsokinlyrfxceqjwuavpbg

eqnkifs
ifqknes

laecqkp
pugqayce
elcxpraqoj
pecqvfwa
qcepljak

arnb
qnab
nbaq
dnbaomv

cbormguajxfiplwvts
dxifemjgwzrobtlpcqvua
aofmcpilxjvbguwtr

umvdxnwzfqapk
pwuqfzadjmne
uzqpmfyacdw

mhaeksjiqb
bfqjokusih
jgklnsivbywdc
sxpkfirjomqb

nhzaplu
ahkipmvo
brtjwg

mkjxlagycu
uckjxlgma
kjcuxmgal

ve
ve

jvkobmcq
gjmqkobc
qjbomcwk
cybojqmk
mjbqocfk

ducqha
qdlhac

wlfkid
hipcfkwdlryb
fwlkdi
kdifwvl

ezs
sze
esz
zes
esz

hz
utfzphv
ahzgk
shz

jxclzr
rwfjmu
jro
ojrlny

topn
wbcojtesg
yrdlqhfz

wktxsnufbhygzraijlcoed
ciokuzgyrsenbaxhdwjft
nszoywipjhrfxgqbdaeutc
tcxzrysbfuieaovndhwj
bkyouicwtfzlxshjaednr

aoylnseditpgum
ounmkyzedplaibqs

fahocyurtgvbsq
byufcgohqvatr
guvoyqthcrbdfa
cbfhayvqrugto

dgil
dig
idg
apdgi
dig

rfzmeoyuq
remzyhbip
xtvrykdsancjzmw
pzryfugom
eryomgzlh

ro
or
ro
doar
rpo

tbomqznewpgu
zpwbegtquonm
gbunzwtqpmeo
pmnobqtewzgu

tzkielrca
pwgouhfjvdybsnqm

bqxr
om

fkvlmqye
bnqlyda
yojczstxupq
qiye

wcdl
wcld
lwcd
wdcl

udx
suhx

ypmrvaj
aphrjxowvyz
jarvpmq
vpcwarbj
tugveaprjsn

cubgyqflopxnj
apnxvc

c
c
c
c
c

ykdeblvoijpqtns
sbnoigt
nbmitoxas
ibosnxt

klbdfgmo
va
ylcu

sgdrutfcbwxleyvmqjoz
hztjqbduiefkvxwcygmolr
eymudvjwlqcxrzfgtob

jcghosr
jpagrmecsho

xtlgomkfpciezyq
ylrgtxmchkq
dgtlkwymvxnqc
cgxalbkydwsjmqt

lvg
vg
vjgka

xulzdqyef
xuezfldyq
zduyfqexl
lqfezuydx

afpboknehzmculswdyjqix
winjabfuyedmzoshxlcqpk
smnaybfjzkowdpleiuchqx
bqsuknafemzvpljihwycdox

huvrzdawnce
irvodxzmnksq
tvrdneazfcu
nldygvuezr

ifwousayrbjvxcpld
ugrnfjhvbcoatspxk
vsiobyrcpjdfzuaxq

ubeisxaw
klqn
ok
rmf
n

j
grpy
mnwf

yrsnckxbuvhdtmgeqapj
asjkxuymdbrlechvqotngp
adrjpnbhmutgkxecyvqsi

agtlryz
pywxhgqu
okyghqduj
mbycgvhjq

aihswznpod
bdaezc

grdiok
dtkoxqrnl

vqjpfiembrcyohxlgdts
uhvgxiceoyafmtpqs
gqpcfextaviomwhys
voygtpxhmiqcfse

alv
xohjegy

k
z
h

wdoc
dwco
domcw

pencwlstgb
toapxnsye
taehsxpjn

unhav
dbslritz
eucw
ekv
eag

fewghvcj
hcejwfvg
jgxwfvclheu
ewjfzvghc
ehfcgjwv

moaclkpxythqvesdgzuwib
nrvlkyaiuhwsxfjzeoqmdb

hda
dah
dha
dha
dha

kgu
efntky
liw
zyh

zqtohusn
jmuhq
lxqvkruhciwey
mjqthzanbu

ljtief
lijeft
jlteif
fiejlbt
fjtlie

qdxygilu
tldagovk
npmdckoaltg

i
i
i
i
i

wk
dal
uzmbsen
k

cqlxwzvetfakbidmgoujhs
afzghkswqibynljtoecvrx
swzkjhatgqvblxfneoci

h
on
h
h

fzvckrajbeso
ejrcfnsxv
tlupewdmcirygv
vjqrec

hadxcqevfmr
hxdarvmfcqe
chdvexqmfr
vrhmxecq
ehoxqnrcumv

wkdtuyegzqichna
uihqapcwdmteznykg
tnjrqcydihfgvwzbseuak
dagetcyqizhnuwk

jie
bei
ei
eji

td
t
t
t

dbqvtxjeranwmofhigc
mtgcdevirwahnxjoqbf
cftanqvibjmhxgowyred

iqgphzrawkevmjfds
jhifptdmra
jdxaobfypmnhirc
xtdamplhrfibj

majypozns
pomjzusayn
zmspayjon
mjnzoaspy

puvwane
avwpnue
ewvaun
dauqnevw

jsvcumahzqktyp
obifedg
wnolrxg

ewgot
odycnb
tjgwo

di
id
id
di
idcw

itovydpksgxmblqhun
ogxaiurvmhlsfwdbpzcy
gdemlsyaijofbpuvxhz

kwdqozmvuegtsrxi
uyetkxigdwosq

cw
cw
cw

aoh
ano

rnywdtil
dpvhtrf
tgblnpd
keactdx
tgrdzos

mfip
impf
fmpi
impf
imfp

kqpvbyjnewx
ywjxpknqzeb
nqeukpjbwxy
penxzqbjykw

zpyjigfcuxdktarq
yapfiqrtdkcgjx
aepjcrbgyxftikdq
jptaiqdcykxrgf

ftwedcvib
btcdfewl
ivdfwbtce
ftcdxeqbkwu
bvfeitwcd

uiqj
qi

oxghqnsd
udygoh
hdoxg
rpafchvogd

hpbytijfwx
jywtpixhbsf
pwhyfjbxiqt
qtipwfjxbhy
xqhfbptywij

dfslmxhie
smzwlfqehi

kpr
stcve

irt
rti
irt
rti

bunl
nlb
lprhdby

bo
ob
ob

bowdlaegtqypmiz
wonjglmdyapqhike

akwfdicyteo
kaoewyidtcf
wyafoeitckd
ctwaifokeyd

usikpnl
plunkis
nliskuwp
upisnkl
alinspukr

fmosyehatupnxcrbl
zmtfcoghsperajnbylxu
ltnfweypcbmarosxhu
fuabtspeojcrhknlmyx
pcmdlsoxrytevqfnbuahi

tpjvhomdzurfsbqgxieynw
deopwshxkgtibylnzqmrfujv
bpxszafutyhgdenwvmqijro
ixtjfrpbozsngqwmduhyve
elfvxrhspguyinzjwtmbodq

kvgqfjtzonx
lptjicfezk
tbxkfjmvz

d
q
d
rg

gvnmslbrqduhipyx
sygxvmblqrjhipau
ufirbqgpvhsklxmy
bhrpgqxmivyulzs

mdfikeywgxsqlbn
ilqgnfbdkexymsw
mynqlfgeidbkxws
kndefxlymisbgqw
bmgfeiwxkndsqly

firjqazycdmlpebwvkuh
nyopgcvhsxlujedkmfrq

ctmupagrjydizes
hdqxglckzvabwi

uogtnvfbwa
qkgxofaeictuvnj
ngfuolytshmvr

bhgrcpltzvqjwfas
tchsrqzwbpgvafj
wgharjbsptqzfvc
qftchjazrgspbvw

sbzjewryqhpxcivnk
expnzhsqykirbjcw
oyagjndwhkpxlqbmcrizefs

sfhpqjndwvb
rjvbwnphsqfedm
ndbphlfwjvqs

whrefxbvuma
hxmrubvfwea

t
t
t

favkeblzcnt
ymcz
xucgdszp
cjzrh
irpqwozc

my
m
m

alsknvxifqcpjymrz
fpjcrqzmlyxvsaikn

yaj
ykanc
atx

ilupyjozc
zcjbiolu
czjioulsg
cokzbjuil
auvmjzohqrwilc

wsxunpgv
vgwsu
ugswvq
usafwhvg
gfwuqsv

s
sw

wvqdzfolabmirjc
ljwarzcmbfqodiv
aswzbmdjtnlfqovgxc

znrmjsy
nsjrymz
ymrnzsj

vpgac
dgjvpcua
vycgpfa
pvcga
rapvcg

mb
mb
bmnt
bm

gsnjzuby
wntqv
nhld

onzrkyudwapxf
dkupywnraxof

lmst
slmt
tldsmvp
tsmol
sltm

s
n

qsagxhkyeinrvb
kiyeqrnbgxvash
syerxqghivnkab
rqkasenivxghyb

ncfrvqmgkahtpbozdjy
fvdzwkoam
lixodafekmzv
dokuazvfm
zdoakvfms

vlhbq
ouqvrxhls
sfhqlvx

qxorudp
peduq
qundp
qdpu

rhpyabj
brycauhjp
apbhrxyj

ygk
ktpy
kvyn
yvkn

xkhagnmpdcv
hjoakl

dxcjugqvpleairsytkh
rqndpilgchysvoeutxma

njeikmhawblcdxoygufrpt
gnrxuicweofdtpkjhslamby
perifdanxhwtbzokgumyclj

ghpdecujkxzltysfbv
xftkvhudgcplyjzesb
cbksuezftdjhwvxgipyl

wxtz
wztx

bcva
acvb
avcb

oydfhxunzaijlpgeqb
qzeafxwrpiycndmogbj
finjbylagzdqxoep
pyqbjondvzgefixa
aonbixfejqdpgzy

edzm
ejmz
mgliz

q
qb
yn
glq
fwu

whbkfvgpmjzdl
gzmvwpjdbltfh

prkxeaoygt
zfrewaysbtx

hoytqlezuxdmcnw
zqtyewudcfnomxh
hrxinwocqtdemzu
wzmjhquxdngcpoe

pnwldbucofxq
nlwbcoqfxpud
icwpxnbodyqmluvf
ozfwdhclupxbqn
dcqonulbwpxf

ywfjkqrgidnhbuea
aeyidkwghubrjqf
ihjrakdwbuefgqy
irdjgbwfeqaukyh
hyeujqrkiwdagfb

jstapqk
wmeujqts
utzmwqjs
zxqbmstj
yrsthdignvqj

yva
actvy

okqvf
mfok
akfno
oakvf

cdfugre
gedfucr
dfcerug

ingczmjrfp
pmcfrgnijz
mepzjirfcgn
zsnmhpfguwircjq

dpw
zlpwd
pwd
dpw

wbzluvga
yiupsdj
yfu
ncfou
pfu

fbxnrjdosah
rnfdasxjbhoz
nohdxufrjkabs

dfgyeismzkr
nhukvdazrwgqisl
xbzkgsmderi
ksditprgzb
zkdsgir

gjytlskbrhdcwfq
ljirabqwtygcosuhd

bk
kbdi
yjk
ik

ksquemnvtlxofj
xeqoflmadtunsvjkc
jtvnequxslfmok
qvnkmtxosljeuf

zxqlnj
qzkjl
jqlz
jlqz
qjzl

jniylks
jiyheksb
jydtiaks

o
o
h

e
e
e
e

hrpgqasc
grpschqa
rzgcsjphq

ecitkohxdb
okteihdcxb
xobijctedhk
ktboecaixhd

paubelofzrwmsvhg
pagezysfb

esgvqfzkijypan
zeivfdksgqapyrjn

wi
i
inkm
i

zcun
uc
uc
okcug

trogu
oyrug
ozgrfuqn

raj
oz
pbr

iwhxjelgd
jiwhexldg
hlgjxdwei
jlwxhgeid
xhldjzgwtmief

kclge
srlkec
kelc

eofisurvqxh
ukvfrisqxoe
uexrqifsvo

okdimecwvfuhrljtpxgyanbzqs
xacwijpeqlkbuvdsgofmtnzhyr

amwgdsovpnryclfeit
rcwyfevgotlidanspm
vtneaoylpdifcrwgsm
tonlrdacsfigpyvewm
pisgdcmtovwfelnyra

uetxnmzilhksb
kminofleutjwdpz
tmeculxqkzin
kqlimryetnavzu

cmnjsbqvde
qmzdbnjsv
vngjtmpsbqd
dqnmspbvj
dmsqvjbn

kgxdn
gxndf

onpwxkus
sgnpkw
pwnrvks
sknbpwta
wopksn

gfqylwtcvpjsk
cwvplskgfxty
lkgvywscptf
ogwspvfylktc

dgbcvjfieurw
iknqeztowur

fzsar
fno

jiaxdfroq
rqhxjigaynd
iudjaqrx
qmxardfvji
qxjcdira

ghfosy
yfgs
hfspb
fucaiq

ynrbkleixc
sezybviarnl

ywcanufmveh
vafuecjm

qcrmvuihkboexdlftp
kufohcswxpearvbyqd
hrnzpkocxfdevqujbs
qoxuhjpfvbckdre
gkdfvpbheqocuxr

wtk
ktw

xcadnijfkvqystgluz
kznliathwoxsmvybrgeqf
klzsivxayqnfgut

clo
lco
ocl
oacql
lco

iyzkvsdhpngo
remlyvz

uyzw
zuv
zu

tq
t

oeicrl
byxrsfdz
rcjog
cr
irck

pgistdzl
y
xmq
m
afn

g
dhg
g
vwg

nfgtoy
ugyft
tygfo
futyegr
gstlwpkyf

vn
nmv
vn
nv
nv

ozivnfbaktuedlrcs
oramfqlcbuswtvdzjni

jxp
xpj

mc
wabq
lrgsuezypd
wiv

eofl
snpkflyqmdzwb
jehlirf
cjflrh
fljc

ltubcvkymoajwxzsrhndpgf
ogvibsazqtujrdewfxymph

egdchpsvwjfaqybn
zndqagubwpkscyjh

wlbjgnopeayszicrmf
nosbgiezpjaywqfmrlc
jgilbrmwosyzcafnep
agycorlqmzweibpjfsn
zjlrpnfbeasidmcgyowt

vijh
ndsfcamyxz
woujvp

uhealmbgtyix
zilxmb
pvxlfqmwsidb

fjmdnvrbg
gdlvuqhkpb
kbczdvgp

lqkt
tkjqi

wcrmtpf
bkqws

ngzltjq
nlkut
iwlrytn
xltsmnu
ztlnacfj

exfviczl
iczhelxv
zelivxc
vfilzexcp
xlzvfice

ytgac
tacyk
qacy
candymh

yrqczhgfovwnisbu
vhlgknps

sbwugclexy
wbzuhlgsc
umvwiknljcdotbfgs
rluhbcqgsaw

vymaruskjc
akvrsmjuyc
vrcyuasmbjk
pursajkvycm
czpmyusvajrk

ofwvqmlr
vmq
vmq

ysnwieoauzq
nuyqesaowz
yoesanuwqz
kuzgoswayqnle

eomivztrgn
ivmretong
invkmrge
vnmzegcri
vyrmflsjgiuen

eqrmyzpvkwfbgtjlxshdoin
gzolfstrvybjeqnmxpikhd
nroxitkevgzmypjdqbsfhl
ofgmtrjilnbekxhsqyzdpv
dhlqnvgsjiyzbkpotxrefm

hozruskcedfwiaq
coptzfyuvxldrm

l
l
l

dyslqoiw
ymjqdi

syxnhbi
dpkvjr
eukgwozaf
ekjz

yvwbgqcrotjlnpeha
lhpoetrgabvnqjwy
blgszmfkhyntepwoaixqrvj
byrpjoenhagwtuvql

z
v
tgy

d
d
d
d
d

dc
dca
dc
cd
dcz

locsfetpwknxbzgvja
jxgnvfzphceiskaotwl
fotrsavxmjyhnwpgzelck
sfvpqhxgyjeonazclmwkt
choefxapjniztgwlvskq

kbyxoztlp
ilptzojgvnexw
atxmzkolcp
uqkszlopdxt

zj
ojpz

khjzinxbsvytagfwrdpclm
gkfnjmrsaxublcov
nxlacsrmgkvbfju
uagsxkrfmbvcjnl
kexajvcfrnlsmgb

jwstzrmqyg
qiolxndue

aljc
onxjpaltygwvucz
qacrjls
ajcfhl
ijqralc

hinlgsoyjrwux
onlujsyxgirwh

l
l
l
l
l

eoqhmwpjxdkib
dpewgjm
epjmdw
edpnmjw
pjdewm

wvhaks
vrgoah

dvqanm
ladgcypwnmhjz
xsidnmae
fidranekum
datnmb

vkashdfylrcigpz
fzpsydgrvwcl
kdpglscryfz
sgzqcytfoplebudmxr
ldzsywpjfrgc

gtme
mgfptwe
tmge

ameogqc
ogqcema
meocqag
ecmaoqg
oeamicgq

jg
hgij
fjg

dgypvjbrik
zriqkvgpdbjaxy

ezfbiwhrtgl
ozfxebispgdtnv
btegzjafui

jiabmdnuftcsgqw
kazroxypl

mqoaxjcuzhngk
jgswxaykfmehvuiqzon
lbuakqzjhdmnxgo

bacszqyketnvpguofhrwmx
ptszqxamuewikbngyfhvdroc
heqrcosaxtwgbplfnzuvykmj

knxabluhoyviedjfpsmrqcw
scqixedwvumkoanjbrfyhl
tisjfuywcqnremhobldkaxv
shvojgwydialxekbmcufnrq

nyxmrhszik
mapcikqstjfrzx

gdlctrjzek
hjsgkeyr

qepm
eqlpm
eqmp
mqxepn
pqem

bvgkrl
vboc
wcbvziu
vqfpdabh

gpn
ngmpc

twpvxflgjqoumydkbc
uprelhcmqwdksixynzta

h
h

jhnxwesqrpc
vpsgmitbaoyfudjz

yuwbhtsmjlcqefdv
ebmutvlfcqdsjhy
utswqzjlbvycpadefmh
sejvrxgqdlmbtouyhnfc
zijctvqmlyuahfbsdep

dflwcg
mrflgw
wfduygl

ytnlzrju
uvztnjly
zljbryutn
zyjlnut
tljuozyn

hskjpotzxndciuveygqbf
tovpizqhkfjyxucsgdbne
zchinjfgpxuvqodbtseky
ewpzdvhbgqnkcfujixsoyt

hwogmrjsanyfkxcuzlqip
zgefdbcrvawhsknxlup

vpnoqlyctz
lazbrndtc
cbzlduthn
ztnslmcwkegjx

g
g
g
mg

scdpkxnwevjzuliaot
ieltzxk
etkilxz
ekrxizlmt
lztxefikb

fojsglve

mpdxfg
kfdxma
dkfxavtm
wnbxdmcof

lsoytwjgnxfpu
jxnluyisgp
jygpxslnmur
npsjlguyx

rdh
rdh

apbutxfrwydzin
xrgnqelbdtoczafhjm
drkuztfnxba

bdmstxhqnrzeyj
fubwrmohipenjclkgya

usrxcktp
srxotup
rulpxit
euxptrn

pryjxzemofknaqwh
owzqrhmknsjaedxyfb
ahkijzwfrmqnxolscvey
uqnxfkrwmatcsgeyohjz

gq
q
q
q

hbkieng
behdikgm
dkbeygh
ebgshk

xcdliskjvqhazmgp
zdilgjchpavusmxk
jwxavzlkchdobmgyspi
vijgcxakdhlpqszm

qkoxgd
zkuxdmbyqcglf

hjxscnryl
nsmahy
snmhy
ovthdys

vbwhoizkgsncaqr
waobkhsivcrznjqg
wzsrcgnabkhoqiv
oanbsyrhicgwvzkxq
hurqnbcgovfkawzis

zxvbs
bdpn
qb
bv

hdkixlmqovte
ihtrouqdnxlk
ltioudhqkx
bxidhtklufoqw

s
scvai
s
sb
ws

uaxeycr
aubsiqxrv
aohrdkxu
reaux

trcfn
txbgc
tcp

udrgmasezv
zotwyimlkq

o
o
tdo
o

ambertifpjuzvwk
dcyhwogqfiaxnlzps

smzcqpikr
szmqcpkri
cqokmsrpzi

tzkopc
pkcz
pckz

avioqkyrntbesulwzp
oylhrtfzvainkuxbw

hqieuv
hiqcu
ihwuq

itfe
wcied
uvnigke
ltieq

jrbmngvx
wousyqdiehcgk
ztfplg

zdhewmyr
wjgqt
ynwdcef
kmvnwhfep
wyco

x
x
x
x

phkfsnxwce
dztiaygqu
jvrmltid

ayhkqv
havyqk
vyhkaq
vyajenhgqk
vakhyq

dxlepoksgznvuyjcihwqtf
lyqaihgexkcozwdsjnbtmfu
ysecldonhztfkruwxgjqi

epo
azoeq
mfg
tbujywxr
eod

myek
kmey
meky

iwyngr
vishbag
kinsq
lzxoeticmudfp
nhjswiv

fbtscavdzrkxeqyuhiw
orafstylxkgphmed
fehrsanktydx

covl
ypkqdc
xzc
ejwsgafcbh
vcutm

mlsfecori
ehpsya

dpvgtqzocn
ngdvoqptzc
toqcdgvnpz
vdqptznocg
ncgzqdotvp

adsqywe
msdeawq
edwaqs
vedwasnq
qdaswe

bqmpnhvtoakiyr
roufkiapnqeym

fydeiohqas
sqoycfhad
safyqhod
ghadsxfyqomv

qdxmrofjwb
qwkidye
lgqyziawd

erqsduihwmjcz
umericogzyjsqhn

hsct
hsct
thcs
ctsh

vtnbqai
qtianb

tdwhrmbvyalqfojzicpxe
cltemhoxwbpqyrijvzad
wxjmpyzdqoeabichtrlv
ogzwhbdmtqxecvryjipla

wnkjevsuqrtbfygih
jzagctiudpbqyfvhomkr
qtfkshvgryibujn

qowgkyzsfetprnd
sgrdfepwnyzqtok
pgnrwdkzofyesqjt
wfcpkntezoyshgdlqr
dfrongetpszqwyk

fdmxzviro
odcszimujfqaknx
xmoivfhdwz
yoidfzmvxbg

nxmtopbehydczsrj
hrtspxjyiwczdngfb
uzjranxksdbltpyhv

zoia
zioa
cazoi

kwfnrcbjushlme
wsnmelhrjcubk

lhf
hl
hl

qvtia
vqal
ovqa
qva
valqy

jxfkt
evhj
kgjo
puyasnjliz
xkmj

cbhxvorjpgzd
dcbxgjhporzv
pjdbxhrogzvc
ogbrpjdvxzch

ks
skh
sk

A samples/day6.txt => samples/day6.txt +15 -0
@@ 0,0 1,15 @@
abc

a
b
c

ab
ac

a
a
a
a

b
\ No newline at end of file