summaryrefslogtreecommitdiff
path: root/2020
diff options
context:
space:
mode:
authorTom Smeding <tom.smeding@gmail.com>2020-12-06 20:42:11 +0100
committerTom Smeding <tom.smeding@gmail.com>2020-12-06 20:42:11 +0100
commit5d79edcdbddbd55f3d7130811581233a295726ea (patch)
treee6428adfa2f610191f7111a651bdf38883ed4a92 /2020
parentd4d60939353e01ee79d042a6ae1df5ebee904d80 (diff)
Day 6
Diffstat (limited to '2020')
-rw-r--r--2020/6.hs21
-rw-r--r--2020/6.in2043
2 files changed, 2064 insertions, 0 deletions
diff --git a/2020/6.hs b/2020/6.hs
new file mode 100644
index 0000000..14aa44a
--- /dev/null
+++ b/2020/6.hs
@@ -0,0 +1,21 @@
+module Main (main) where
+
+import qualified Data.List.NonEmpty as NE
+import Data.List.NonEmpty (NonEmpty(..), (<|))
+import qualified Data.Set as Set
+
+import Input
+
+
+splitOn :: (a -> Bool) -> [a] -> NonEmpty [a]
+splitOn _ [] = [] :| []
+splitOn f (x:xs) | f x = [] <| splitOn f xs
+ | otherwise = let l :| ls = splitOn f xs
+ in (x : l) :| ls
+
+main :: IO ()
+main = do
+ input <- getInput 6
+ let groups = map (map Set.fromList) (NE.toList (splitOn null input))
+ print (sum (map (Set.size . Set.unions) groups))
+ print (sum (map (Set.size . foldl1 Set.intersection) groups))
diff --git a/2020/6.in b/2020/6.in
new file mode 100644
index 0000000..69629dd
--- /dev/null
+++ b/2020/6.in
@@ -0,0 +1,2043 @@
+c
+jc
+ck
+cue
+c
+
+ysjircxtgfzpb
+ynsxpgtcifz
+riydpzsfxutcg
+gsyitzdvpfcrox
+yclxfzietsmghwp
+
+bacqdjhsf
+fhbdjacsq
+tbjmcxlqashdfo
+hebjascfdq
+bgqjscdfha
+
+pt
+tp
+xtzn
+tu
+pt
+
+zjn
+nzj
+
+h
+h
+rzh
+h
+
+cfqurmlxnzhpy
+wjaufshgemktox
+
+ah
+ahe
+tvhrq
+
+awbte
+tbawjen
+wtubea
+wjaebt
+ewtab
+
+vlz
+lv
+vrqyl
+lv
+elv
+
+rfu
+rpujz
+
+foniw
+nfo
+
+kaumhjywgtvzndcire
+qulkzxoinadvtbgymh
+vgdzlahiounmykt
+tkglyzdunsvmhoxiaf
+
+rxmdbgikaywentqvzhfolcpuj
+enipkytvdmbgqzaufjxlohwrc
+
+gdhiqazwcv
+mouqpltacvw
+dcvyqhwfaj
+wbhgaevcqn
+vawqkcxr
+
+dmtaowgp
+mwtdipa
+
+rvpwoshm
+osvprmwh
+smwpfvhr
+
+axmhdqzctfspgeu
+zpmcauexshtfdq
+dqfmteacshpxzu
+
+ptryjvufglaxmqwonck
+nupfyjrwktlmxaqgvc
+tjgapcflbmuynqwvxrk
+rwjgnauflvymcotkqxdp
+sejyrkqtwalhncxuvfpmg
+
+kjlucpqysrbe
+cotlifeqgmspzkdr
+prasckbluqe
+
+svjwcigopdflhy
+corvxsaigbflwheyqzuj
+dfclkgmwsvyithoj
+
+sxrynelg
+elygxoms
+glmexyt
+uyxfgelkb
+
+cljshbxnaeqrivupwtgz
+qplrtgeshxviaunwcbz
+whcxivzgtaneqpsrbul
+lvgzibncxwrdopqeatuhs
+zlqcvbmrsktwpeaxinuhg
+
+fngcrihykv
+irhgfkvcny
+ivpcfgkhrny
+ckhyirdfngv
+vnchisygrkf
+
+rsqmk
+kufbscval
+yjksih
+jksmo
+
+knszclmhryfvgdtwj
+jhrwzlgdfyqcv
+
+ulbyhi
+yqhuzsim
+hkienuwfcy
+yuhpio
+
+nqblomzhgtikdwjpcasyvuexf
+kngcjvymbzqoahesfi
+
+xlebgtjpz
+svlqfwkuaipbmc
+rhgxplndb
+lpzjbyo
+
+rzqpashvw
+dmlcoq
+
+hkxi
+kixh
+hikx
+xhik
+
+pljraokdmec
+zhtdrlaqfgbnue
+
+peofrnkgauhzctwldjb
+tgnbokrjufmshd
+ygktbmnuodshrfjx
+
+bfzqvolaymsxue
+beyvlnfsqzuxao
+vfozbaisjyexhqgclrwu
+fsxpaobulvzyeq
+flzxbesauqvoy
+
+jipavclbehxrngdwsk
+mkjshalwdxqntev
+
+ixrtj
+wcmxij
+mjwix
+xzvjghbdnuqi
+ixrjs
+
+lroxesmfqdbt
+qtloefydr
+lerfqivnjodt
+eokdmftlxqr
+
+akow
+ka
+
+pnjkvoxatm
+jmktpoaxnv
+
+ufejltwq
+teqfljuw
+twqjufel
+eultqwjf
+
+ucoleqmyxfwzhnriskt
+lnkfuiythsxrzwemocq
+
+fvwakuorhpzyjmxl
+ahltpwjozkxmf
+wkpjzfhmdlexsao
+jxolzknmhpwcfa
+lfjhtsxqkmwoazpd
+
+guoytrawsiexknq
+gopukszvctnjbai
+iaglmuotnsk
+kgdisuotafn
+
+pdtsnx
+ns
+
+ign
+ngi
+ding
+
+dhryg
+cksn
+ih
+ebpo
+qxs
+
+bavsrfcntmgqxu
+fxbnvpasmuogqc
+gcusamnbfqxv
+ikmnhvybqgxcdfusa
+
+k
+jk
+k
+j
+nh
+
+mjsfl
+omisj
+
+umdoiqabcrhlyf
+olymbihfdusaqc
+
+wuvymbghitrelazpok
+gsmrepwzkuthbvil
+
+gfdjb
+gbfjd
+fgjbd
+
+jdxghipmorlvfzw
+zqlcjwfrbvpoxmid
+enwrflodjzstapmuyik
+
+laiegdk
+nvhqlgz
+xscuf
+
+ubtdong
+nubdysrg
+dgubn
+
+n
+n
+oycw
+
+dmlewthyrqnkxagvszb
+vdgkyxabtqhnzmsewlr
+hdbxnvtwzyspkqagmelr
+hnzlrtywdfaqsjbemxgkv
+mrkqbdsyaegvzlwxtnh
+
+rkouvs
+kpobrgq
+cxknfrow
+
+uyve
+uyve
+yvuce
+vekouy
+euyv
+
+avgoinutrxjymlpbqwhsek
+pwirvaostmgjukxnqhebyl
+okndimpehgtlsujqaxbywrv
+anbvohsetlpqirxyfjkmwug
+jqenglrhkuixbyapmvtsow
+
+zbos
+szbo
+szbo
+obizs
+zabso
+
+dstiveo
+edsivo
+evodsi
+
+vimbcytwuzajlqogpkfrexd
+jdubvxkeofqrgzytipncla
+gpkqrlyofaxzictejuvdb
+
+db
+cbd
+db
+db
+db
+
+k
+k
+k
+k
+k
+
+wqo
+qo
+oq
+qoc
+likmqoef
+
+vdfrjn
+orjfna
+fmrjnd
+
+iyashplx
+haslxypi
+ahpsxyil
+yxhliaps
+hiasyzpxl
+
+ucdlfx
+lcxudf
+cxdflu
+dcxulf
+fxlucd
+
+etfhylmiajvcdxnqbps
+fastbwphiqdlruxymcokv
+tsxfidhcymqapgblv
+spzhavtmdqgjlyicbxf
+
+jxc
+cjb
+
+cowg
+qxzwajco
+
+rypjntgd
+splna
+pxuvcnke
+ljpmznwrdft
+podn
+
+uowirdqvc
+gtpimard
+
+hntmubdlvspagxqy
+ycbfnkjrzw
+
+bjvnyau
+uakxynm
+
+danpzlubyhgsfxtkvjriewo
+fahtkzslbpwyijongvrxud
+galonbkpxzsdwtfrivjyuh
+
+gspxvjoq
+oiqzjv
+gqpjov
+qjvonr
+ujmahqyeobv
+
+gzuovxlmwhjbesqipak
+tcjkrfanexgudqsb
+
+xkvgzaqfeih
+vkqgiezcfxh
+hzxkfvqgei
+kxigvqhezf
+yxgzkhefdivq
+
+ypaof
+opya
+yaop
+
+tiefwhqyzxr
+tljiwxyeqhrzf
+qezwhtsifxry
+zfrpxeqytwhi
+
+fbscaxrhpdeqz
+rehxpfg
+fhroxep
+kpxhtref
+
+tynqhrdulomfxazgipjb
+oltrqiwcfjaspvuekn
+
+epbvtfldsixj
+xcdnzbetv
+zbvltcadx
+txzbmvd
+qktdovwxuhb
+
+uqtewcsrdiyphkxjvboz
+hovsxtqckzurwipyje
+xcpwthszuiknjoyqevr
+
+bqckxnvtdfspzu
+vcfdanxspzkqtbu
+dxckstuqvzynbpf
+
+hjus
+oxsuhj
+hjsu
+
+bxait
+bftijxaw
+tabix
+
+gvmdl
+kfla
+utpywqrsz
+ngol
+xiha
+
+ydvxqtkarigh
+iohkgyczqtdrxs
+
+pzhxoytmave
+xzamvptoyeh
+stimxyevapzoh
+vxmohptayez
+hlvpyamoexrzt
+
+vdjsy
+dsyv
+
+wedcxpt
+viawqdpefco
+cesudwp
+upwtdceg
+pweucd
+
+u
+u
+u
+u
+u
+
+unwkls
+fkuanylm
+lumank
+eqlorxcgkuvtn
+lzufnkh
+
+wembhayqcks
+bksyqhceamw
+qwceskyabhm
+iwekfymbchqas
+sormjywlhbzupckaeq
+
+krtohjcvxidyfm
+sewgzil
+piwbza
+uqib
+
+ghpnicabeuroftvkyzm
+raionvykhtfcbpmzgeu
+tnzgcvubrhaefmkpioy
+pvfnetiycurkomazgbh
+honmbpfvzctkiryaegu
+
+q
+h
+jdg
+
+bykvmpgojzwlrcexi
+yzwerjpcbgkivoxlm
+ecvyijmbpzwrkxgol
+wyjripkzlmcxgoebv
+ljzcrwoemkpgisxbyv
+
+ugmaicqtejkbhsx
+xtahjbsimcqukeg
+ximchajkfgtvbuesq
+
+nrqfdcghioslp
+lzsrthgfndoip
+drslpfgniho
+
+q
+fqb
+q
+qfdz
+umaxtq
+
+joucqnzsgt
+jgquo
+uoqgyjpb
+eojlqgu
+ujgkwqo
+
+lhcrnxkogepw
+wheorgpcnxkl
+wrexgponhlck
+
+chgqirekozbypjst
+hyqdvsjbrctzgpuoi
+
+fylsimtuvad
+ytgdhicfjauvml
+vafiuldmtyp
+uptifdslmvay
+
+obkuc
+wnm
+rvgqdayhjte
+x
+pfs
+
+yrkv
+rdvyt
+fynrejcw
+yrdk
+
+dfqnchypg
+hgypnfdqc
+pcqhgydfn
+qcgfjhndyp
+
+b
+t
+t
+t
+t
+
+ehajgwscibr
+uhdcmiwbjr
+irbknwjhc
+
+gihcrjazpld
+adgsnzjxlihrp
+lzfhgdajpir
+rgzlhnjqidpa
+
+rzpvjmbuac
+qwbgmzurcpj
+ujpmzbfrc
+mucbrfzjp
+
+fu
+fu
+uf
+fu
+
+tliwkzcanyjebq
+mealtnofizcqjbsw
+
+eakbolcjugnmwdhrzy
+elumwbzorjhnkcgayd
+arnhycmjebduwgolkz
+zbwaklmordhcgejynu
+
+ysnalmr
+lsynrmf
+simnbrfl
+lsnimr
+kmqlwsrxn
+
+ozbdtcgifhe
+iocmtzdgefvh
+efcgtdihzo
+oczphgetlfdi
+
+wumdilea
+jyahzgspq
+iba
+
+wsonzrb
+rboszwn
+ozbnysrw
+wbznros
+
+wzumjfrvscpq
+cliwvsqbfzpeoru
+
+d
+tdpm
+rd
+
+vgnpfu
+kgpaqictf
+
+phjlzk
+pu
+up
+iwp
+
+edsbcnioxqlafupywkh
+lfbqrhnxiseacyjkpow
+xgeonhfqcybsapkiwrl
+
+wvczikeobyuamfpd
+bxroupgizjkaytcmenwf
+
+q
+q
+q
+kq
+q
+
+eintqz
+tqin
+qitys
+tifqxkh
+qitsmv
+
+hdtzoyjrqkwpalv
+owzjvahkdqlyprt
+jhoywtdvkrpazlq
+oyzavltphdkqwrj
+
+sxgfl
+fxlge
+glfx
+
+ntozcvdqes
+ordesnczqtv
+ntedczuvqos
+svtaeodcznq
+
+lcpoi
+uxinkaol
+eyoila
+owliy
+jzhqdtlirmfsbgvo
+
+mje
+jem
+
+kqunjoi
+jiuno
+oinju
+tohinj
+uionj
+
+o
+pcgodj
+oi
+o
+osi
+
+sqvmoejdgibuwyxrknfzapt
+czlystrwjvpef
+
+ybtaflcopmirjdusxzvkhq
+zlevmpqauroticjhbgkxfd
+frumxlpzqivcwthkbdaoj
+
+wdivrf
+fzritwjn
+eioxqhkyfs
+fiv
+
+gvs
+scmrg
+
+vzgt
+tzg
+gwozt
+wgzto
+gtpdz
+
+rvh
+r
+zr
+r
+rdw
+
+fqkxosbgwynic
+csfikqnbxgwyo
+kogibcsqynfwx
+
+rpzsjhlaefxbvmodunigw
+pxwgvfdlonieamhbsrju
+
+prgk
+hepxkrvgi
+kprg
+
+esfjanprvxzugcqdyowimhl
+ktihxpnvwzogrclysbqadme
+
+cdykos
+disycok
+kdysloc
+
+chgzpxym
+xhpgmczy
+ghcyzpxm
+hcpxyzgm
+gpyxzchm
+
+pvkzy
+pvgkxy
+pyquvfcl
+ywdvmhprena
+cyvupq
+
+tyobwsehjrfunziqmg
+cwujptqkreodvmfa
+
+r
+nb
+c
+dktyap
+sn
+
+maqevwtijbnlp
+vrlkjawbmqnipt
+
+phizanuolbfgrt
+bzipnauglforht
+oignblthfapzur
+
+fd
+d
+d
+d
+d
+
+razemjtpsxgiq
+peqmsarxgjwizt
+ixjtzeargmpsq
+itqermazxsjgp
+ztmiqsxajerpg
+
+i
+p
+pu
+
+itkxhb
+buxki
+aicksxdpb
+
+qpczutx
+gczjuhtq
+
+txqncbg
+qtogvjcb
+gcqrbt
+bcaqrtg
+
+eqtwvkrnhusy
+njtsqhwru
+
+ua
+akcq
+ai
+
+mgdcoxrnwvletpkbusihy
+bdmslhpkgonvreiucyxtw
+
+lfoazxqyw
+yrpbmnkceu
+
+j
+j
+
+uwrzpvaxindebtloch
+izvoxwbpuanrchet
+tmrakvncphwiezobxu
+pwruaixbhctvzedlon
+rsebuowhxigtnjpcvqaz
+
+msnvf
+ajx
+
+vgahuqimkblfyjexotp
+hygaiepjlvuksmxoqfbt
+ytlhbfmkoxujgedpvaiq
+
+xcdv
+xgv
+vxlu
+
+km
+m
+mfk
+cyqwm
+
+rawphceqti
+ylgmjconzbvsu
+
+lwy
+ywl
+yldw
+
+cmgsiykfd
+icmgksdyf
+mcdfsgiky
+imksdcfogy
+
+avptxrnwubqi
+vunbxwldt
+vzkocbwn
+
+svhkjpfmzudeyc
+hpmugixtezkavjd
+zeqpxvmhdukj
+
+tw
+ztw
+wt
+
+bwfjxu
+tjfvwub
+ubnojfw
+
+ktnipjyeq
+tkiwyb
+
+wmhqjc
+hjwmcq
+mhqjwc
+hmjwqc
+
+hkzjgb
+hgbjk
+ghbjkz
+kgxfbjyh
+
+ofwinqzbmkjgdxv
+clbfwtozkiaugdvjnpqeh
+
+qmdrsbjeptgkw
+wpnqkregtd
+kfqewhdlgirzp
+
+sgqkuptxlvic
+jkpgsxbt
+
+mvfik
+xnljsuek
+kibrpzfh
+bkmcwr
+
+qzyv
+yvmzq
+qvz
+zqvg
+
+vxjbaeirnylzhocpkqwstd
+qvsuyerpthjwbcaizlxodkn
+ozsaxtledcyvwpkjngbrihq
+csvirwzhjoxlbnkqdtyape
+
+b
+coxe
+u
+
+kexawtfpg
+guwfptxake
+xpkgfteaw
+
+tgnr
+nrgt
+grnt
+
+kludgpxi
+gkdxrp
+
+aibgqykuvs
+bzgausdvwciq
+qvbsgniua
+iusqjvabg
+bpvusajiyqg
+
+w
+xu
+kbu
+
+u
+u
+u
+u
+uoei
+
+zogb
+ob
+ob
+boe
+sbo
+
+cs
+zm
+
+oleqm
+oilq
+qmlo
+
+woxzdcshnl
+ldoshwxp
+
+ntkbjxpqwhlmecsrdga
+qpebarkoizywsxmlfgdju
+
+mxk
+yxm
+kmx
+xym
+xzvmb
+
+nl
+no
+on
+n
+n
+
+fqlyezxtjgoa
+hyeoatksq
+
+khtj
+asmu
+thkn
+
+t
+z
+z
+m
+z
+
+tyz
+tyz
+
+gkmdubiacx
+imjkudgcx
+gdumcxik
+gmuckidx
+
+iysarmnfphgctzj
+hngozfpmstayj
+yaskgvuqmdzhfnpbexjl
+
+edwvrzuloqfsctim
+wromkzfdaicelvqnt
+wokdiecqtvrsnmuf
+kemtocfqvrdisw
+owjdtqicxyfvgremhp
+
+ihdrnakm
+andmkri
+
+ojetcq
+aubtkl
+
+qsyfchx
+hykvzfg
+xye
+rlwioyj
+
+odzqbvmlrfkjgye
+vwlojbqdanrxtsyk
+dohigvpjqyblkr
+ulocbvjkyidqrp
+
+ketyogpsabhzwxiqfl
+jixcwguhefqzkmbdolatn
+
+pko
+kpo
+pko
+
+wm
+wm
+mps
+m
+mw
+
+nghwmdf
+hmfdgw
+hfmgdjw
+fmhvgdjw
+dgwjfmh
+
+umnkpzedga
+gpokqdzmeun
+mhctzkgnuebdp
+jpszkgeyunfdrxm
+
+bfcdysziphquxvmjagen
+zfduabihvnqgpjsymcxe
+nzabmuxyvijqfcedgpsh
+hpsxnacvfdqguijbtzmye
+cbsevkuanpdhmqifzjxyg
+
+hrjlbfwq
+rfjwqbhl
+fojqbkhlm
+qfhjbls
+qhlfcwjbu
+
+vfjicx
+vjicfx
+fcxjiv
+
+j
+uc
+n
+q
+q
+
+bmrvzsa
+eaoqubzxmrnf
+
+yjnvze
+najyvtze
+zynvej
+
+wf
+fb
+
+bejpn
+bpnje
+
+o
+yc
+
+jwhsena
+uw
+utwn
+nwc
+xmvw
+
+htsqagwko
+lydzerxjunvifpm
+
+drujlenvswomythgkp
+xaeypwrhsikbtucdlgn
+azylhrdkeftsnuwigcqp
+
+opzvefmcgst
+epscmzofgtv
+ozmtgevfcps
+zgotvspmfce
+tspzfgecovm
+
+uvsi
+epgju
+
+srbpygw
+sdwoyebv
+
+wiacz
+aiwzc
+azicw
+wczxapi
+
+vria
+rcvdah
+
+qvleubajx
+buvqxealyj
+
+vegtzmpl
+gslnxzv
+dowlkygvf
+gmvel
+pgvzsl
+
+mp
+k
+k
+ubo
+m
+
+jdymxhqeszrfgo
+iheugkxmrwsbynjadfvoz
+oyjrtsgzmfepxhd
+hdxlzryejmgcosf
+
+pndcs
+cwdsp
+
+oceishrgqp
+tsgphoje
+zenpkougasl
+hgorxeywsfpb
+
+pzejodvy
+vyzdejop
+ejdvyzpo
+yozvjped
+
+mdjzibuqrvkecl
+qcaejodxlgbvuiprzh
+ajyzdvrgeqbiclu
+ncslezwfutrvqjib
+
+n
+o
+s
+
+wnqftxaurblhpikmzjv
+qxfyiwjnmhtbkpauzrl
+cirtbjmpeafkudnhzwlqgx
+ztrxfauslbjmqpwnihk
+
+xfrtleh
+hkxzi
+byhxj
+
+vloiwkeadbcqrgx
+obldgwaymxjvqier
+
+dryhtpoawvi
+inpaowhrtydbv
+hyotdwvrip
+vioytprwdh
+qywoprdhgtvil
+
+vszuj
+jo
+mjpihxr
+
+y
+e
+a
+a
+a
+
+npju
+jun
+ejnuv
+nuj
+
+fgpcswhmdixy
+crxhiwkdmotpgnfysb
+wgihuydcpmfxs
+
+acesgkpv
+raosgpvc
+
+pcorf
+pfcrol
+
+zsympkbl
+psykzlamb
+zylskpmb
+yzlpksmb
+yblzsmpk
+
+lrdgspoxqaywvjiu
+swdjupvrixelgaq
+xublsdjqyrpgvaiowe
+jpgqmxalrsdvfuiw
+
+pxlfi
+bdvsk
+ne
+eirhgn
+
+qsvrmp
+aqgzys
+
+chpukadomensgfj
+jlnepdzuok
+dewnpjquktriob
+
+aqshxtgruwkzncoi
+iwtxlnbzakoqcdu
+qzxadiolmtunecjpwk
+
+vzasxecfdigkbj
+acsdvefzijbk
+yibvdcfujzasnke
+fozvndsbcjkaie
+
+mjbdpsh
+mbdypxj
+mbypdj
+cpmjfbd
+
+cjdvlgzk
+
+pwuskgtc
+cktwugp
+
+stxgacjdnbezwoukhivlypr
+zpieoljbaknyguswfxtcvhrd
+
+frqpswzajgk
+tusgjqkapzfw
+gazwfskqjrp
+
+yuqsj
+hrwmgvkial
+hernctopbzdm
+
+xudtjlakfqhepzm
+kflzpjexdqamtuh
+qtlmbdauprfovyhkexnzj
+zkathjldumepfxq
+
+ltezfiwcsnxyg
+zckxfelsgtywni
+
+hmlxoknayqwgtfs
+hgfaqtlsxowmynk
+salxqwnyfoghmkt
+lfqyantmwgokdhxs
+
+hpcduo
+odpcuh
+dmhoupc
+
+vijeghudcaspxomwkyrzblt
+kzrhpsabulxycodtemiwvqgj
+
+ydrcxhkwbenqj
+xnkyqedhbcj
+jbexydknqch
+
+jlqkisftwdahnpemcrb
+wstfplujibdkcyqe
+cfjiqlpyszutdwebk
+
+vhtumyxriocj
+vcjyhrtmiuxo
+xroyjemuictvh
+
+qlxymefuiwvbrgn
+wqvlfixmngyrube
+gmfnbewyvixurlzq
+flwuxrmnvegyibq
+vrqfbixlmnwjygcue
+
+znxadjwcqsihbfovupt
+tsdjqraoxfuegcinv
+
+rjtsfzxhigdamkcqpb
+enmawxiyuorclfsqv
+
+lagipb
+sgapwni
+vgmapix
+pacligt
+pirga
+
+jsnbm
+wxlioajqbytr
+vpghbj
+mnkdjbu
+
+dvb
+bdv
+vdbh
+
+cmfkubsnwhvydl
+kodmluyvbnscwf
+ncuywdmlvkbsf
+
+wxzt
+x
+t
+ga
+
+wyidutgqxcan
+ktjcqgdy
+yrtdpcqjg
+
+pfbdrmwtgv
+vldcrbxwgfe
+rbhpvfzgdmnw
+vaorgqfdpbzw
+
+tdsyjbpkzwx
+slnead
+edqhrnsgia
+
+a
+a
+a
+n
+
+zprvfqcgi
+pvyfzgqbidl
+ewxufqzi
+
+tsbaq
+qatlsk
+qtasf
+
+ewmsx
+igawsxrm
+wsxme
+wmsxe
+cmwzsx
+
+wovxhanyftglrkzmiscu
+iufrvxzcyqjgebthmso
+
+em
+k
+k
+k
+
+aerg
+fedapg
+ega
+agme
+
+wroghldeqtnc
+cgtnrdoweqlh
+nogdrthcezlpqw
+chdolwtgrneq
+gowehqndctrl
+
+lrbvsgexaqptnfwjmcdhouk
+rnjsuegkbxmwpcqflaohvt
+gswokutqamfhxnrljevcbp
+rufgtqlonsawmvjhbkcpxe
+ubkcaolmvjsxhtenwfqrpg
+
+wexgind
+nediwxg
+dgeiwvxn
+
+pejqdczw
+zwjepc
+vjemowcz
+
+abzdgfhko
+trvsjuqmx
+
+wnxjbcqogyfdzhitapku
+ugczsntijqkwfyab
+knjbwagltcyiuerfqz
+fzwctuyigkajnbqs
+rktyifgajecnzwqbsu
+
+jyidghp
+jgyidph
+dgjpiyh
+pjiyhgd
+
+vdwrlxqbphykjmuzftcio
+tmxifqbpyazncesrkouj
+
+fwildrejtbhzsknxpqyo
+jyusnvtlowefhzdikgxrq
+kotzwhsafniljdxeqyr
+sxikerjqyaolzfhdnwgt
+mkdnogzqwlrjxesiytfh
+
+bivzsuthgrpd
+nphkubrq
+wabukmhrpj
+
+nplkgxfhsaomrjuze
+uhskaxfrnpmglzoj
+jgkarmzonlsfphux
+
+mdhxznwoelckfgay
+pxmbeohgnwyfacklz
+agnzfexclwokymhb
+mclgxfeoywkhnaz
+enxjkczfomhayglw
+
+o
+o
+o
+g
+o
+
+pymldua
+lymudap
+malkyupd
+
+mhnx
+xmnh
+jhnmlx
+
+zmniyxufgbtjcvpk
+gkzxcvbmtipnfyju
+cnzmptbixvyfjkgu
+
+fxdbvymtgqnrozw
+pgrmznsvtkfwuxboqy
+xfmzvygabltrwqno
+
+pkgi
+pmikeag
+gkivp
+ipjkvtg
+kgpui
+
+cygobhesdxvpiutlajknz
+zinkjdbeyhstlvgxpucr
+xudegivwzpkjbqtycshfnl
+egixvjubncaklzphdyts
+
+flepqzvch
+hclvpqdez
+vlctxzyhqpe
+vehqclzp
+
+rchxbltygzekmudo
+ercgl
+jnacwglre
+sclreg
+galercp
+
+gsbtcuih
+ubisvegatphdc
+vtfiecsugxbdh
+scrtibhugoq
+
+baxqpi
+axrjiqbp
+ixbpaq
+qpbxfwai
+
+ogpedvhwuzbc
+ltsfr
+mjriax
+rqkty
+
+s
+s
+s
+s
+s
+
+tuabpkqxvroyhjz
+ptksvbyajurqoz
+
+aiz
+ikza
+izdva
+azi
+iza
+
+czpng
+gpc
+gumck
+cgu
+yxrsgetch
+
+ufz
+xoicgj
+
+abt
+erabt
+gzbntw
+tb
+
+ndvfc
+xetilhb
+
+hvfxeqlwdkpozuabmijcygstnr
+thfylcdbwnexovmzriqjasgkpu
+
+qodgh
+ojqhdg
+odmchltqeugr
+qohgdp
+
+lyutwgix
+whtcrdjnsvfe
+
+eugizoflxqjmrsdn
+sdjofexzmigruqln
+nqzrfimxsdjgoelu
+rjfqosdglumxeizn
+gdrmsjhoxeqfznlui
+
+wboy
+wyob
+obwy
+woyb
+
+xofzdbqlernhvjip
+dbmwjoflxipr
+xriplfjobd
+
+lb
+b
+yb
+b
+bey
+
+jsuehvblciq
+jivushbcqe
+
+jpdisezohtu
+tjihdpozuse
+dpuhztoiejs
+uestoipdjhz
+hejopstuzid
+
+ahqwolftrvz
+rlckoaeumtjywsghbqxz
+
+elbjcwqpyfsrh
+zgkixucotmnylavd
+
+ovwpgedlfajy
+djaoulgepyvwi
+
+vxanb
+kanxhv
+uvxan
+vnax
+xnav
+
+vqhknrjeua
+dvrjcqae
+kqjvcrea
+vobalfjpxgqr
+
+mfcaysjvl
+iypgxdwzokbu
+smy
+
+nsxhqofuk
+qkjfox
+xqwokfy
+dkqfoxv
+
+ncprkyix
+ijxykrnc
+nykxirc
+nkrcyxi
+
+vqylnfdcsgxu
+cunqdlafgsyvx
+cdfnxvjlguyrsi
+
+sxrklj
+etma
+
+xpdgmf
+dahxmpg
+wernogsvlt
+xpgqm
+qgkb
+
+avcmxptndkowj
+aoduwpjktcnvx
+xwtcovnpakjd
+wzdvcpokjxnast
+
+twobeiakfrmpgjdyqsn
+owmfryguxadcnebkivhl
+
+hevgwtocbdkz
+hbkoavxzdcetw
+oesktmwdvyz
+
+anmzwy
+mknwazy
+
+aendgmvjolfzy
+jgfnbymvoeadczl
+ybdmpofnralgzjve
+naolymjwvzedfg
+goxnvmfalsejyzd
+
+qrcbadgel
+hoseabdjrg
+
+muar
+trwum
+umrw
+umt
+nmgsfucjlyipbk
+
+iolqwxkjzcpsg
+xjkbfplzqin
+
+nsiuqctvbf
+ycwqgokibud
+
+wi
+srnvx
+asrx
+ax
+s
+
+nolmhubsafxjgc
+wancbvsjmqkxzglu
+
+lr
+lr
+lr
+lr
+hlr
+
+hwcjl
+anbqmskw
+owiyl
+
+sk
+sk
+ks
+sk
+sk
+
+gishwxe
+plfkxmbyhzjwvtoad
+nuehwcx
+rhwxq
+
+xemwhdsozfqtvajcnk
+osjueztdcxqhrvfnmwk
+kncxosjfwdhrtzmqve
+
+av
+x
+u
+g
+
+sehzwjqgfxicamkrnbp
+wznemrfajqxhpkcisgb
+
+whq
+h
+h
+h
+h
+
+pwhltnxiq
+xhpiwnlqt
+tipqwnxlh
+wixtqhnpl
+pwqxintlh
+
+dqmxibuv
+vdxqiubj
+vnadfxquib
+uixqbdv
+qxvdibu
+
+qtzgodpv
+zgfkvqtdp
+ztdqvmbpgo
+tpdvziqg
+
+syml
+mys
+
+htuseaxzln
+uxlnzatseh
+sznaxutleh
+thxzealsnu
+ltzuahxnse
+
+bh
+bu
+bu
+onwb
+
+xidlsobaqgh
+rxdgouqslbach
+bxvsqoglhad
+qepgdkxowblajhsnz
+
+vizqmhner
+zynmvedi
+szbmnewvir
+nmfvtpwize
+
+csazebwqdmtrolvxinphf
+ynfjamsqlcgpwohu
+
+rfld
+dlf
+ivklhozd
+
+piyxdelnma
+eclroyapnbvudfmtsx
+yimadzlpexnq
+xkgedyqlhmpan
+yxnhalepmd
+
+mwyskbjad
+opmdbhskcjxyuwe
+fsrjbywgdnmvikz
+sdymbqtkwilj
+
+bipr
+kwbjotea
+b
+
+ugokxmcabzp
+wslrjept
+plfviewy
+
+owvkzbdijtnpfhl
+eondwjtgkbli
+
+hgdjzupisnwmvtxoecyk
+gyopdewzvtjxckmisnh
+dpmtvocszigjnwkhey
+wdphmnelgqjtksfciozvy
+
+wludkmqjnpxvyigboasrc
+fsjolrybcgqivwxpudmkan
+dowxgcirmjapsvuylnqkb
+baulnkrcqgijvsyodpxwm
+
+gbxedknljayfhcvu
+xztjkfeblgiqvydau
+gvlksybpemdxjawiuf
+
+pds
+ldfs
+shg
+sa
+
+oyhipj
+pdohywb
+paqlhou
+omrgyphtwd
+
+puexjovza
+bgvcejrisy
+wrejvq
+
+swzkvxtafnqyi
+wksiqxzvfnyta
+
+buxsqlordam
+ixslbpnfvtukahze
+
+zvnbreaqmwsodcy
+vmwsadyobqznrec
+ebvmawdrzcnqsyo
+cbmwoaynszdvqer
+
+vxdzibpaw
+avsfegby
+akvbc
+zabvu
+
+dhlxsy
+ldyxsw
+lsayzx
+yxsjlh
+
+xtbe
+plj
+
+n
+m
+owx
+
+ali
+md
+
+jmi
+jl
+jac
+lj
+jlc
+
+whjagdblr
+wdhrgbajl
+jahbewndlrfpg
+warljgdvbh
+grsldajwbh
+
+ubi
+dwb
+lnb
+pbx
+
+nmsjacwzqdh
+pbfkugeytoi
+rkvxl
+
+vdx
+bndx
+xvd
+
+nezmhlw
+exzmwgslhuon
+wtemnqhpliz
+fnedlbkvwmhzg
+
+zcvoarqi
+uqg
+thqg
+
+qedaghsxln
+csxldqen
+denxhyqls
+
+blegpfuaznrdhoj
+zghslinmvxejroaqp
+
+yjev
+eyvj
+
+xhnqtvlaewfgupyrz
+zghfpnxtyelvaqurw
+
+bsno
+dovpt
+glfjzw
+hxmfc
+iyrkqu
+
+ta
+l
+m
+brq
+
+ezchvnpy
+jphbyvcrze
+vychzep
+hytcpevz
+
+wurmizf
+dyqlwmuvi
+uimbw
+euibwm
+zmiuwhae
+
+bdngyolcxipva
+gswmucjby
+
+xzrkwep
+njblugmhqvrsizw
+
+dijwksuhyrefmbtzp
+wsrtempdbijykuzc
+bewszdumjptcyrki
+dmbjkyzwpcesruti
+
+utameknglfxci
+ohmnetvqjsawbik
+
+ves
+s
+qbpkiywt
+gfe
+
+eogztnu
+monutzeg
+
+fjqvucdoz
+cfzvuyodqn
+
+j
+t
+j
+j
+
+xwcpkudjagnzmto
+czjgdnwmtkxua
+xjnkcwglzdutma
+
+g
+fisteknohd
+xmg
+uxrqz
+
+y
+y
+y
+y
+y
+
+yebaxitskm
+txljeyaimok
+
+wytxl
+w
+wj
+w
+w
+
+y
+ym
+y
+y
+y
+
+tuqacpofz
+afzuotp
+autzfpgdro
+oufzatp
+asnzfuotp
+
+fmxcdtakjqsolvnwzpre
+cwslxozmedvqprakft
+zcepkrqaowsxdmlfvt
+adkrcltzfwqomxepvs
+cftdkzsuvxwroelapmq
+
+vnukwf
+wfu
+wuvf
+uqfw
+fucw
+
+ucezxlv
+xcluzev
+ecuizvxl
+veluxcz
+zexcvlu
+
+cfdzeomh
+hzfmde
+lnrmhzifd
+mzfdh
+
+imklvjabtqdxcw
+dqtmiwjflcavkx
+tldzxkqnmwjcsavi
+lrvfgtdcjxakpmiwq
+
+hfgvjpminkouyscxdwzle
+fimyuswanovkdgzelcjxthp
+cyhigexozldsvknfumwjp
+
+obgv
+bvo
+orgvb
+xpvsboau
+bov
+
+tidn
+ljs
+rly
+oljsrah
+
+hlpkbqo
+oklbp
+
+upsfvhjeqiolra
+pfjovuahelqsrim
+yqanieuglpvojsrhf
+
+rzlsoiwnmfjxac
+ajvextygdhwum
+jqmpaxwt
+mygwbjpeaxdk
+
+dnkilgqrscye
+khlzdxpbwo
+lgkrdm
+lvdtgk
+sfdklmtj
+
+u
+u
+
+kctfengbsqdjy
+jtsehoqfbgix
+aweqmugpzr
+
+gfkxci
+iocxfu
+mdxneihrfqcj
+csiopxf
+uyitxfoc
+
+w
+q
+vjgesf
+zkpxc
+n
+
+aiqlfegkx
+rboptwvjsnu
+
+ysamgbzc
+bczsga
+daubcszg
+
+dufvmajroptly
+hsdwlyp
+
+ogjwnmhktvubi
+uigwtjkb
+kqwiuetz
+
+fmdwnscru
+yli
+
+cnjr
+rcjn
+jncxr
+jcrn
+rjnc
+
+tjzqs
+jblstz
+
+rmxcinhbeql
+mrfbtlenquhxij
+
+n
+g
+bwh
+rju
+
+mdol
+mdol
+dmol
+lomd
+modl
+
+apzodfktx
+zjkopdtxfa
+oxjfakptzd
+owdkacxupzyft
+aofkzpdtx
+
+jmibuxvgcodkrewfnasz
+fsrzunjcbxdmweakigvo
+axkedgfubjczvowinmrs
+gruxwiscodkavjefmbzn
+
+mqpubxrzhktcfj
+hotqnigsavzeylmd
+
+ntmkpjuzcilgd
+hpdugjkqltzxnmci
+
+dxwbfonuvjaskyeqzipctrlh
+wkcxydvhiaurbqepotljnzsf
+tafgehdurxybzwpkojvlscnqi
+
+af
+f
+f
+f
+
+povwrfhklm
+azvixotjbegsy
+svjnocd
+
+ysfeukcdrbxnl
+scpyrextbwokdufn
+skcudxneqryfbl
+
+hmwbzcodtijqavxnsyl
+vlpcaqyjsfiortmhz
+hvmizletopsjyaqc
+vmqajlgostizyhc
+kvcoqmajlyzhist
+
+x
+x
+x
+x
+x