diff --git a/test/day6.in b/test/day6.in new file mode 100644 index 0000000..066f613 --- /dev/null +++ b/test/day6.in @@ -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 diff --git a/test/day6.krk b/test/day6.krk new file mode 100644 index 0000000..68a1105 --- /dev/null +++ b/test/day6.krk @@ -0,0 +1,43 @@ +from fileio import open +let f = open('test/day6.in') +let lines = f.read().split('\n')[:-1] + +let a = {} +let b = 0 +for line in lines: + if not len(line): + b += len(a) + a = {} + continue + for c in line: + a[c] = 1 + +b += len(a) +print b # 6430 + +def count(d): + let c = 0 + for k in d.keys(): + if d[k] == 1: + c += 1 + return c + +def letters(): + let d = {} + for c in 'abcdefghijklmnopqrstuvwxyz': + d[c] = 1 + return d + +a = letters() +b = 0 +for line in lines: + if not len(line): + b += count(a) + a = letters() + continue + for c in 'abcdefghijklmnopqrstuvwxyz': + if c not in line and c in a and a[c] == 1: + a[c] = 0 + +b += count(a) +print b # 3125