diff --git a/06/input b/06/input new file mode 100644 index 0000000..e481828 --- /dev/null +++ b/06/input @@ -0,0 +1,2248 @@ +fekdcbayqxnwvh +fycwqktvxandeb +kqbafvcxyewrdn +akwqcvenxfydbs +ewbaxdcvnkyfq + +timjneyhbvxkfagdpzrous +gsumijvxoheptbafnkyzrd +yxtbnupramvdezhkfojsig +soaruhxnpiemjvytzbfdkg +vfanlgjoiskzmubtxhceyprd + +dhgabzfspkltq +pflzsbtaxhqdkg +kzpbfgasthldq + +xeu +uoe +tnpeox +e +vrdzwglecbk + +nucwl +hnmx +fqv + +kfubtzpovrdlw +vdjmblrztpkosfg +kavpdbgfzreol +qpdzfrvokibcy + +yhknrqpubeolzixtvsj +tlysdjzovxhnuqreimk + +bclpmatw +btqmcw +cvwtbm +bmwct +ctmwb + +qmo +oqm + +su +s +s +s +s + +ztfmocgiesxdq +fpjmthksidlbo + +smzbn +bmnzes +skzmnb +mbszn + +kibmrznqcyladupv +umnbkdpievlqcyar +idavpbmnrklqucy + +favynhqocijkmtbzsrulp +ycbzrmkuvlhnpfqsitjao +ujbomprktafvliqhycnzs +nymjkczihqbpfvutosalr + +tdev +vh +wva +va +gzv + +d +d +d + +ejrmqwg +merjguw +jmreugw +mjrgwtie + +wxiqgpu +guxqiwp +puigxqw +pugqwxi + +ealugrzsvhpxfmjdbqknoy +doyhvplkjqarnbeutxsgfmz +uhvxjaklmzoyqdbegrpfsn + +iv +os + +o +amtle +n +npz + +vbfxystq +knsxyqubtvf + +t +p +p +o + +xtz +ptz +ftx +ujt +tp + +rs +qdfan +mkpz + +idewynukmzac +yacfmdwuizke +ieuamdczkywf +iczwymuekad +adwekumyciz + +agnq +gn +gno +gni +vkmnxug + +ftlyhuvaj +xsribwknlgmt + +a +nay +a +a + +leq +q +qj + +sxrwi +isrwx +wrsix +iwsvxjr +rixwbs + +p +p +p +p +p + +unvlyxripzbmaedwjsfqth +uvefyibspxrzjdlwtqhnam +hnbapqzflsvxreiutmydwj +nwdefhtzrxuqpsvljabyim +razbwymsdfpnlutqxveijh + +zfihqcvwdbsm +sufwpahczlbvd + +tqjanyicszeodpmk +ljmtwvkrcfghdqbu + +ydxnthpazbskufcq +txymsjdfhwuqbz +vhyuqsfjbxdrtzg + +smyvegtwiu +imyqtuesv +idrluzhjatkvpc + +pzacglju +pzulcagj +jcalgupz + +rgzbvefacsw +vafbrezcw +wegjvrczfqba +zwrvabpfce +rlhekwzyfbacovm + +hfqu +fq + +kywvrsxgiojp +xosvigpkwyjr +irwkjfvmxpsyog +pvxyrwiksjgo + +ynebghqmrkcjlpiuftdoaz +reaqjoyngdbiltkmuphcf +ynobfdgluriphskejcqtam + +uac +ca + +fmxawgkrin +xfrnbigok +sfighjeckrux +girxkfl +gaxirnfk + +smoyaxbku +uobkxysam +kyszxumojba + +uocvgjr +hjponwcuzg + +fobhkeascqluwrzm +hzcolfipysnrjaguwkeq +ezwlhkcfsoxqrua + +blnosjgezuqcrvxwm +cmeznoglqxubwjrsv +zxnqvwoubpremsjcgl +umxrlsgqoczwbvnej +cuxanesjkivzrmlboqgw + +dewtyuqjlv +ucvazfm + +kbm +imltbj + +ydqnxlmbouvaztcg +vhrkwxjzfnpisye + +jqeadkcibtgflsz +ltbxqifjedsawkzcg +zdfqgkijestcl +jczfqdektlsig +scdgufyjeizlkqt + +w +w +w +w +s + +wygptc +ygctpw +gcptyw +tpycgw + +xaqicwhtdpvk +aixdcpkzhvqwt +qkcdhxpwaivt + +wt +xtrowm +wt +wt +tw + +sncq +cus + +zehxb +txe +exuma +exz + +epjgfknhvuwmr +nkwrmfhjegp +rjkpynefgmwh +ehfprjkgndmw +mewkfdnrgjhp + +hgyc +kgc +ghc +cgxjzl + +evsloum +leosvmu +mejvuzoxdsl +evmolsu + +fugckqhymrxbtvdpnose +beyorulcqxgdkzafh + +s +s +sq + +wtjfgezdhsxckibrqyunvpo +uaonrpkmidbgftwlsjz + +mrylewxsgvfodhu +sfdxoyghwlrvmu +dungfohvlwrxsym +ulmsoghvxfrwdy +uoifgdlwrsvymhx + +tbg +btdg +tbg +tgb +btg + +pukht +huk +fhkqu +hykcfu +hedvmgubsk + +dxycvosnr +xcsdyrgmapf +qoyrsxdc +uedsxtyrc +ucdrsbxy + +m +xz +m + +gcjsybuhrotm +dojcsubhprt + +opmgsudhej +mjceogdsuhp +djpgmoushe +jgeptsluhfomakdvyq + +jugocetyrzwfbhp +ipvqwcozxbsdu +gybprkmznowultcaj + +ipcau +n + +juzmidp +iudjp +digjups +pajiud + +zxnugrosjvlcphwmqbdyt +bvtlmqnudzrjwysxcohagp +tdxhyuwemcvbrpzgnoqfjls + +hoefmguvxyiazwcpbrjk +umlbagzxeowthjfpik +hmxeziglfbwjup +jgxbspifzwqhneum + +mgvupsk +ezwcui + +adczjnguyq +ygnujdacqz + +ohricgqjfu +rqgucfhoji + +vygwkszidxqa +onxkejczsguywqv +stvzbqypwmxkg + +ydjm +fpbustykx +yrq +ry + +vjphn +npvhj +phvnj + +bryndzmekui +oathqpcv + +yczewurklaxnfdhoqbt +rlyhawcdunqeofxkzbt +lhbsqfkxctyonwrdzuea +zltnhdkqybaxufoerwc + +cjwarkog +joawgrkc +wcjgkrao +wrcjogak +coerwgsajk + +umwjqsetdg +sjwmet +jbteyhownvsaxm +dmuspcztjrew + +xtswpc +eahncvzqxkgmo +lcixybdrsuft + +pcrfwszodmqnj +vrcylgb +iruc + +bqigzouxryndpa +jaixybnro +oabixhnjry + +pbznr +xrb +bdntx +qecbyi + +zbvhxyfm +vxmbyfpz +vbxzmyfh + +nfcqwuhsrxojk +jrqvokfscnxuh +nxqiaulkrojszchyf + +dkwqfb +wd +hwd +nhwd +dnw + +vjtpxorsdyzbwhqi +kirdlmofpnectxqwuz + +ynzxtvqogrdhwl +yhdjomktn + +hqwn +hnwq +hnqw +hwnq + +gosxz +xog +gfomxa +ogxd + +wctesuhxonyl +oxwhtecynusl +cslwxehupyton + +pr +spr +pr +pr + +maqfseovdhzj +sqodparevimfzjl +dxosqmafejvz +dqzojehfasvm + +awsicurgfmxeqjylnvktbd +dywmreaitvjgcnbklxs + +wmvbnqtxuriz +hbuwefypzlkadq + +asjcpwml +lcasmjpw +ajspcmwl +cmslwjap + +unkrl +n +ny +yan +nv + +zrjwsxduie +jswxrziunde +xrujwhsidze + +qnl +unc +xhtdjbvf +omauis + +wxvoqihatseg +setwqgi +ewgstqci +fetwqgis +wqtfgkiesd + +vmpikgfsarbnxqudwjtoh +bdovpatjgnxkqufsihmrw +bjhnrtaokxudmfqpigwvsc +kaqbvihwmsnxjpgrtoufd +fmabtdgkuhxpwrivsoqnj + +eazsitkjronml +otmrenjakzsi +samrojenitzfk +tkzenmrjoais +tszkioaejrnm + +r +rbq +r +r + +lwbrfsuahoq +yjawifugdtrvs +rfbaswu +cfsarlknupw + +ist +ay +kc +cu +kd + +mbku +bkva + +sxktwmyfaldbn +ymkbnfpdltx +xbyftnmkdl +dlkfetbimxycn + +cjru +rcju +rjucl +kcjrum +auzcjrtn + +vkinfzqbrled +rinldvbqfze +rqizebfvldn +aciqrfbsnelvxdz + +ig +ig +gi +gi + +rskzxocuq +kcovqsnztur +skzocrnyuq +vourxysqzkc +opescqukrhjz + +i +u + +xqfviycpuzjbwkn +lnxbfkpcyqdawm +xofypnwkbcqv +wbvxcfkqtnpry +bnoixpfqgkcwy + +ziwlofkdgpc +qzayrwjvks + +krybec +ryk +yrk +kyr +yrk + +xkhdreqfbyipmzalco +wiepqtyhxflvcomabjdsz + +jpgankzcvbtw +kxzugtvnbjp +gknqpjxzvtb +kbtjpvzgmn +bptzvmjkng + +hdaxwiypslz +ndbylw +xdkwtflpyqsz +wlrvcdyjg +mlfewsqodyu + +c +c +o +c + +mah +a +gwa + +heczudoqwmvtyab +acevwozyqtdumhb + +v +e + +rom +mor +romi +rom + +uxdj +d + +p +p +m +db +t + +dtpzeykh +pkdhryzetu +zdkhtpyac + +qanetkhrc +ndlhkceqof + +khbfjlnacvz +cmavfjlkn +aynljofvqkgc +tlkjcnavfm + +ejcbnl +mbgcoiuhsfl +qblyc +blyjevc + +vgqlcfhnx +xwgonuc +pystigbca +cnqlgmdk +rlfcwg + +nazyhitgcjr +nytgizahwprjc +zjcgrinmahyt +nrcdhzgjyati + +xtljebqpg +bpjewtgn +gjtpebx +gmoipkebtcsj +ptwejlbng + +e +exa + +h +nohegc +h + +ivbgpd +isfglyvbdo +dgvbi +bdivug +gvikbd + +wyjmpxghiqfeoctdnbuar +qetnaimxlgsfcbrpj +kbcrhxgjnqpadefzimwt + +kindbwqlusyh +tpzryjgehaucfmov + +wzgou +ugo +guo +voug + +ndwhzsrugpjmltxiqofvkbyc +lgirqyotwjbmvuspfnxhdzck +jbqzgwcvhxofkrmsdlytpuni +xrqzfjolsywtcghdbmukpivn +oqryngdmhljvctxwkbfusipz + +saw +as +sa +msajv +sfa + +oxtrnhvfqyswldb +tmzwgrakc + +coqyrbzjhsmwivanep +xkshzgft +hsz +slzh + +z +glh + +dtusogw +fmpkzvbxnjwh +eaqdciyw + +bgcyqhrztvdxwn +vqtanbyurxczowdg +kmjxyvnbqztfgcrwd + +vospejybinm +fiosvkbnjep +johqpznbeisv +iysbokmjvepn + +nxsrfohagwb +agblosrxwnhf +xgircuhsaobfw +hfxpgosarnbw + +bgqurk +eumkrnvxqg +gkrqhspafuoc +qtogubkr + +bxlapnm +nptix +oqxpn +npx + +rytbpswaezlufdqxo +imazhtjqnglc + +encpqudzigamorv +vamkeznqirdcgp +opvrglqsmcindzae +mpvncrisdezaqg + +ikxqemun +zadbkqjtxney +kenmpxuoq + +vjdqxfyhckrpton +hmngcfpytkdxqvo +ohdvuywpstzkcaqf + +tepj +te +ecvty + +jqotiphkmsexvfugd +gwpyfuhlevkdiotjqx +tjkfvghibocaqxeudp +onexjzpgthuidfkvqs + +ltfq +lqts +oqtl + +nqsyglepwzhmtiojbuvxf +wihkgaoydpzvfxclsenqjmt + +fqxmt +bsgtmxqyrjfdv +tfqmx +itmhqwfx +qtmxf + +rgv +vjwo +nlekpa + +ldytkguwhazeqpb +pqzaytglhbmfuedki +dqbatkpyezhglu +ztgyqjebhkdvpual +kpalzeytqghudb + +xsynhr +hsnury + +qyjukdtmnwhrczvolsb +ymsutqrchdblznowvj + +mpw +wmq +tdwm +wmd + +n +n +n +no + +vnutqbxrygmjwhks +rhoalixstfyuq + +jeyfhsotc +setchyoj +hcyoejst + +ylhpvfiawoekjbq +pkroabqvljiyefhw + +akqbyjpziglmfedw +wjdbyeaqpzligmkf +lfikyqwzbmadjegp +aswgkzdyfrqpmnlibje +fqpmyedjklgzibaw + +qe +eqo + +jbxoe +qoikde + +c +n +j +j +j + +rfh +rhf +rfyh +rhbf +qfrh + +hokvgpxyunam +bmpyogvhunlw +morevjuznhydgit + +ohns +nhos +ohns +hons +hsno + +kxclzyqpan +aexnyqzkpc +pakcqnxzy + +gkytw +mgtw +gptmw + +fixsozjwykhupqmvtbrc +syimxhzbpwcktrofuvjq +xuiwfjvzcpykqhbrosmt +mwrbvqjtkcsipxfolyhzu + +bzhxpyfmk +yfzxmakphb +mkzpxbhyof +hbmzfkxpwyu +pxzhkoybmf + +osdyp +dbsroy +sydoj + +yterzphvxdm +vtxrmyhzedp +vymperdhxtz +mpxrvyhedzt + +esakn +cseak +hxasge +enksta + +u +gfzua + +jsymd +dmxjy +jmdy +xymjd + +sezfhlvxmaqtd +ajvtmqsecyghfixzwl +ksbhxzvafqpmuet +zfeqytxhadmsvc +nextsvazhmyfq + +rucla +auclyr +uticrapl + +akizsuwdmnhpxbgyceft +gwxpfeoyihcklbndasz +zwhsbigdynkpxceaf + +zag +vmisa +yphkcant +jdma +bia + +nplydbkoq +oasptkqgldnbey +doypnqklbc +yblkodncpuq +lqkynpdob + +hmj +jm + +gniearxpdbjlkfm +qdvjlute + +omsihqlnwzbt +blzmhisnqoftw +onqlmwsetzbphi + +jzoxcwdf +wdcjzifxq + +ykdshgzwjfecimnp +jhipmsaftezkoc +ziaspcjfmkhve + +t +t +t +f + +zmevcjhbsainxoquwpftkydlr +cygwbtvxemnzfjhrqkdspaolu +efdtnrlwczymxqvpsoukjbah + +oujkhnlzydsirva +dxgzjsuptaohqvnkic +aoiujdlnkzehvs +uriadhksjyoznv +iydmovnzakhfusj + +ycajzrtie +zctyriesap +pxiacrztehby +qaenyxtzirc +saecrytzi + +xrnjkgdpuzqvcm +ndqkvuxczjpgrm +ucgmzjpqrnxkvd +npqxkumdcezvgrj + +thymlxwaoz +ylhowtmazx + +nwaisrejbtqfmh +mbwhqnrfjesa +hfnrqebjasmw +jecwhfgrsqodanmb +qasbhnjwferm + +ny +ny +yne + +lgkmfbthwaouscxpznvyrdi +nhlmtpwyrojfvbuaczxkgds +askbuvdozmnxhfygrlwctp +fytznqhlbmxgrwcdoupavks +wcplxyvsrdjnfgkmuzbtaho + +fklceui +kclfiue +klefiuc +clfekiu +iklcufe + +yavcmhwbp +capvymhbw +whypmabcv +pbzmcywvhja + +lbevjz +gnvefbu +webvd + +ewzcqndmjhvy +jevrqnym +guqpiotaevsbmynlj +vqmekjynf +nefqmjxvy + +akgwyjfi +giwfyljak + +pdejr +jerd +redj + +liwtk +kiwl +wikl + +rbwvox +bxvnor +vbwxro +vkrxob +xbvirwo + +ntsbkwqefjphro +nqdvgxihopwc + +dn +nd +nd + +j +f +g +k +j + +tfsul +usftl + +ov +v +w +tj +sl + +gdlufaesv +uagvd +vudag + +cbegxmuiwkzo +okrmgbfwvnecp +uybxehawmgqkoc +yloqmbwgtczke + +jms +ymsfjo +lmsuiwhe +ydsmk + +wgckujsd +irp + +zgeulsjvimptdaxrqnk +zbxtefdmvganulqprikjs +ptslznrjqkxemagiudv + +fqtb +qp +aq +q +q + +hrkzci +bhwkpidxtflcue +hkic +chki +kcjhiv + +gi +s + +rakewmostbfvjzgi +begtioavfrkzjm +zoeikjtbfagrvm + +xnbhdlctm +bgfhwlxsaqnkov +pelmnhuxryb + +e +qr +jh + +vhtwuokdqpa +jfaniksczbeymr + +ngedtljsvybxkmhfuzw +tbzedwsjgknvhlmfu +lzbgdsuhkjtvermwfn +smizqluwdetfavbnhjg +blwtngusvdjzhefm + +lxaiqvkoh +feioxvwbsrl + +fy +yfbqlm +fy +yf +yf + +cuygpzd +kv +k +v + +antp +nat + +uk +ku +uk + +tdjbri +rdwezgjtlck +stvfhapyx + +psu +spy +ps +pksy +bpsq + +db +o +o + +yi +iq +pmxi +i + +oxt +atox +txo + +wn +sgzth +b +m +ynq + +ayxvhzu +vhyzxu +hvzuyx + +cxoygklt +toky +ovkpyt +voystpk + +yqtjwifbvsn +vstyfbxjqwin +vsjtinqfwby +qxysnitjwfvb +bjfynsthqiwv + +zobny +zynob +ozbyn +noybz +onyzb + +inpdmtkblgqrvaowzxu +zhrbpuwiqdomgvlnt +topveguwzrcbndmqli + +eapmtqrski +islukrmpe +sevcbzfngx + +pcbl +vxqwe + +ky +t +p +qzfo + +bkhdlpnrxezivu +lztsfxpgknho +knwlxmzjhpy + +t +ita +oqt +sbt + +omwk +eowm +wmo +wmo +osbtmxwd + +dwgpvjemitbcnuhr +vyjlitenkbpmuhqwxd +iedvbwjczstunpmhg + +yfakujntsriwgxm +rfatigyjkxusnm +uyxitmkagnjfs +isjafytxumgnek +tiknjmugxsyaf + +pahkyfojrv +enxmd + +sehnkcr +shkrc +hcwxilkru +skgchrfpjt + +zdcvpant +nizclpmtgbv +jtcpnzv +phtnscvza +azcntrowvpd + +ativhgmyedozw +nvztmiahewg +uhaimgzventw +txiqfmzglphvwae +ehmgiwtzav + +qdpreikohtyjc +ihtydekrocpqj +djkoticqhpery +jcorkdepqyiht + +kgwunqm +qgjunwk +oinqruwzyk + +wtkqceimludr +mkhpwdcqleurzt +mqweldutkcr +kdtmwceulrq +rqlutcidwmke + +k +h +k +k +k + +irb +arbi +bri +irb +fbxvri + +umpkng +qmnugpk + +sbdxmlzacj +sbzlcamjxd +cajmslzxdb + +fwndcxr +xbmusn + +t +t +gh +p +t + +zovqiwdhuaslkjxrbcnt +flhnkoxvadiqrwpzbjs +gqkisrxodznabjwvlhp +koqlswdahnzjvbrmyxie + +apecofvgshiyqbj +icegjhasytobfpvq +ocsheqagjfpyivb +pewjncobqiysgzrfahv + +wzomnlgyxj +thazprgi + +rywgaemsubhvkqcozpnxl +avehbwolxnzmqyprgu +qyrgpxhazluvenobmw +jhtrzywlnmbeoxvgpiaqu +gavmwzrponyxhduqble + +tw +wt +tw + +qpzxrctf + +iqpunlsawtcykmxbdvgfzjr +vnwdruyptakbgqxjimlzcfs +fgizdmcblparnsvtuqwxkjy +pxwylavndgqtjbicfksmzru +xtpdfrbkcglzvqjuminaysw + +xkyvhtdwpjnulig +hvegnyitdwxjz +vthsnxjaywdig +whdagyqvxjtni +wjvgytdaxnhi + +ygduev +clqoa +qxc +xaz +fc + +rzeqvofasyhjgxwkmtcudn +vkuogexmwhznrycdqft +zupwcondeklthrbvxgmyfqi + +mtredzn +xcnozebtrmd +elzrmwtund +emtdnrz +tedmzorn + +tlbunpqygz +xmehasrifvwj + +hoskgitlw +owrailhtfkg +wigbjvhtolk +tbhivwgsuklo + +fxnachtsdmiwvuzkg +hacwldskfgvuixmtzn +xghufdizawvnmsctk + +gnauvfizjdortq +rinjautyqdzvg +giunqazvtdrjmc +wndhjzuqviatgr + +vtpsy +sptvy +svpty +ptksyv + +yaskce +xdtvyjnqma +faoyb +psyfa + +lbxounj +lijrmoxnb +mioybjnx +afbjnvopxsch +bjlzoknx + +vqmsgwjfkzdbthal +jszvlwthkmqfgdba +akmfjzgldswvqth +tuswfahjmdqkgvlcz +jvatqgfmnwzhdksl + +uqyfkzdwta +hctzeiywabpgvlqonmuf +zyurtaqwsxf +wyruzjaqft + +rwltyhqdecxagbov +azthexlkoqmvrdngcwfs +corjvwqhutexadlg +lecogwrhavqdtx +qpdvrgctyaohwlex + +egsilhd +hxmijg + +tzdmnvsyiwjrhakbgp +wmzhsctpdrbnagvyei +bvwtaylgdnzhsmipr +rhmlswzvpandgtybi + +qriopbacexhnlwfvsmdk +wblaondrszhcfpei +pdnahlrjseiwfcob +cerwaoshjldbfnipzu +oalsrdienwcfhpb + +xcpe +pcx +cxpl +nbpyzixc +lpecx + +xyfcgdaew +jdlcopnaixqbv +ehkcdrax +dcytarmuhgxews + +bqozpsd +pqzosd +zgqdop +ocqzdfp + +uxy +szj +jzl +fhvk + +muz +m +omycvi +im + +t +u + +xslkmbzarnfeo +axmndjpsqzelrbkfo +eykroszbaxlmhfn + +rsz +rzq +kzrit + +hkmqiydpzlosuanvwj +czsjklbvwaidhnxpu +ejvwqmatlkziundhps +udgjnfoepkwilrhsvaz + +czlnqtdy +bcv +cvga +hvcb +ac + +lcmytwdeqifzakjhuon +mdqxhfgpzykvteajn +emfpxqnhbykzdatj + +rtgmujlen +eguclrkmtnj +npjgemtrlu +untmegrjl + +olykiz +orxyswdtka + +qelnh +yijmfxtvbs +gweh +wrc + +vjcediawtnrmoh +lvnhmabrxcjwet +ajmkbntrvchlegw + +yicrxeztbdpjuqlfgnvksmah +rayjtgdsfhexiqvpcznlkubm +crxijflabsgkhtqmdeunpvyz + +gpbklvxy +pybxg +ypwgxbd +gpxyb + +vos +sv +vs + +hqiktnmezpvacby +uekhv +egskvh +kvehog + +myhoetiwlqrpdk +pgfkbqleywmhtic +tezpslhymwkiq + +t +vxh +g +t + +gjimn +ijugmn +njmgi + +drojlynvs +nrysdjvlo +lydosnjvr +sjylnrodv +nyjrdvols + +vjrclek +vuljbckqfteds +cihklevgj + +rqbvni +flxuv + +gpywjntefcm +cnoaetmyjpgd +mpeynjcg +rbnpymcgexzhqji +cjumnegpwy + +h +c +h +h +h + +hzrqoybi +wynqkcmlduae +zqybh + +itnoq +rtinoq +tqhlin +imtbq + +moetialxhyqkznjwscgdpv +qwcagyzjvtoednmixlsphk +kxqajsiotvnlhcgwdzympe +ynejvlhsopakcmzdtxgiqw +yaxdpiqktjsozmgvncewlh + +qyrlgevbzsutwmxjhindcaokp +vtdjrqaocngwehspylbukmz + +aev +ve +a +byqg + +ycfvpamkhliot +wmckyrthxusfqiedjlaz +atcmhkboiylf + +sfqkmlhdc +mlhkscqdf +fcqsdhmlk +kqfhcdmsl +kqslzfdmhoc + +dgveoupsmhabyfkrztclj +vedwkmptusfhzaygqolcr + +tfoaevgbi +yfu +sfwqh +kpfxlj +dufl + +mlwhb +jvgtzp + +jzp +szwipyj + +larkxcqsbpeuiv +fharycntpzi + +lsympnqboj +nlpjmobqys +njoslbqpym +qsnodjtlmbyp +lnosbmpjyq + +jpovmflgikracyqunwthe +hawgrlcyvpnmkjeofuit +pltojwgrcfkhaneuivmy +klaoumwtfgejnhcripvy + +hmvxakwrtundglz +mkacvnhwrlxbzdug + +asvoizlprxjefycmthugnqw +zohmwpxdaiyvrfnulecgjtq + +natmhjdg +zctmdalg +vbiamufq + +vhxbajdokyn +dkvxonyhmab +hnexvbdaoyk + +gyjfnm +gmfnyj +jfygmn + +bjqn +bnqj +nqbj +qbnj + +hawjpsxeolr +rwlqenjhpsobgamx + +tovhgbwjdckpqn +ifzl +mleysuzrax + +sky +ky +mgfpwk + +zx +h +ict +gz + +zsjitm +lijor +jmwabyit + +nbzmj +abvfwrdn +csnbm + +hdqyski +ywvclhdsq +hsqbyxd + +jmt +mtsuhxjzkla + +fijlt +psjbtfieg +zqcohan + +gwnfpqb +pnwf +wpnf +wfnp +nwpf + +irgkabh +khgibar +akgirhb + +emonkbuycsz +noyzscmuk + +ejsqzftblax +scomdrxgibw + +afdjtiyvgqorsmnhubweplkxzc +fmznscjliqbyevhxwoktdugrap + +cgyxhiubmptdokesrjzlafq +pmdqvjuygbeslzatokxfr + +hyawt +wh +wh +wh + +vojux +ei +nq + +pvnjgmxksluctq +zfrdoa + +d +z +x +xd +d + +dwpscgknx +kwxc +xcwk +wxkci + +qipb +ildp +ziacpr +pbdi + +x +xb +x +x +x + +fenqcuwi +niczkhxeq +mcejqnxit +iycrngpqel + +uyj +yju +yuj +ujy + +b +bd + +e +e +e +e +fei + +tncbizahupsdwlog +oclbqdskwnaymx +atloswndebjcriv + +msojaeqnphzylgdbc +ebmzlphcgyjoadq + +apehlz +tozlmeba +ekyflaz + +qpnhfgjdzymlctkrb +slmbhkqpfyngzj +mlpqjyzbghnkf +nmzghjyblkfpq +bngqfhymkzpjl + +apgvczsfuybdiklq +gmhxdubftesavzlpjcqyi +aswyzugkicpfvqldb +oylsvgbcnuqzdafpi + +ncrkh +nhkrc +kncrh +hkrnc +hcknr + +nvrjtzamfuhqxp +ebdigavktsywflmco + +evrabhcmxkonl +vlcxmbnkrheo +cxloknrmeb +pkclmerbonx +lbkoryunexmc + +zdmhgatfpqcwrsu +beravdksgly + +wfo +fw +bfwh + +kpzlhbtjfiw +fjwpzhkbli +bfhpkjzwil +pjwoikhzlbf + +yworad +adsyr + +atqhenzlswmufgkojrb +lfoanzusbhgtjkyeqwm +nsgajlhqeobkfztwmu +mlcisaozwkhetnqfjgbdu + +xhqkmdutfzasylbw +hqubgdwxlztkmsyfae +pfhuacyitsqxmbwlzkd + +tqbpnosumlj +jdtpqbyoli +ulobptqjn +tfqlvwzopbajc +jxpeobqtulis + +awg +wag +awgk + +czbledy +avgwqu + +kf +f + +bh +gm +tj + +l +dm +lspg +zfeauxn +qt + +zwep +pwze +wpze +ewzp + +jptngbzhk +tgnkrpzxdjh +ghjznktp + +ofrbuieszcakqt +snomauqcerdpbt + +nbjxhyvtpl +tbxzgovhjy +yhbtxjovizk +bytvxhj + +pibogfjn +fogbinjl +bonqgfji +banjisugcmwfvoe +iobghfjn + +tz +t +ta + +qnraf +qrxf +qfr +ezroqf + +iachtzfemxwbs +gzsfycehaqwkm +twmhzcsbrafe +zmafhcewxs + +gqoznmrlxvudwehf +uvzrohmlgdnwqxef +frgvqedxohmlnuwz +fqledmnvwghruzxo + +rxcvnyjbqgm +cjygxmrvbqn +vuybxmkcrnqg +ipgrxvnobcmeyq +yvqnbmrgcx + +ay +ay +ay +ya +ay + +np +xa +ba + +ibrcmtxqvyaed +vycdaeitmbxqr +dvqiytmcxabre +dvbaicqeyxrtm + +hgzd +zdlho +zhd +zdh +zdh + +hcipn +zchnipb + +rwptzv +ymoedzaltsc + +ubdwmjecyqxltipzfn +mvfulhydqewjtzpnci + +najhotpuyrsxdlqbk +wxetrjaobduqpznklsyc + +jwcgbxoipeyfmkvhr +cmblwpoudxteyfvnhkrg +qzseparbjxvykfocghwm +eqvwroycibpxmfghk + +xwedaqgiznj +khubyeatir +avgncxeljzmsoif + +zf +f +f +htbcr + +st +kmr +rm +tvebzs +cig + +gdij +gvi +jhgies + +fduipkhlz +izdplfu + +pdculaojmwsqebvgh +zmhjsdwlefgoucrpvy + +bzwagcde +uhsqpmloni + +mf +f +ltfn + +xlhmpdyieob +mlxpyhideo +mixkldhpoye + +lwthjcvgnmxuypos +vixqojmy +evrxmoyj +ymkajoxv +zfvjdymaxo + +voh +h + +onqdyf +qmnf +wiktfqsajgn + +poaheifqcl +plqcoifaeh +paegritwhnvlofzucjd +ipeohaflc +oielhpafcs + +tzvenpcqxisbjhmgkrw +xvnckipbhszegfwm +pkchgoxbavsmewizn +csvzekmhyngipxbaw + +wgim +ixaw +wixka +iyownrps +iwk + +caofbkuznsiqrtvpjyg +pyroglzcjtfub +pcfjryzgtubmo + +junoecpfwmhtxkayziqvgrl +zqigynpcvufwohjlemtkxar +oeavkrhizljumtgfpxwcqny +tyizfjnoqcbgxarepklvwsudmh + +itvqcxburwo +idtvacoqbex +btvifjxcqyo +ojikvqcltbx + +bromkxwdfq +dkfrbwqamxo +korxywiqfdmb + +smyfvkg +xmkgvsf +kgnsfvem +mkfvgs + +pdxa +mqgx +lxsezkbjic +xy +wfprx + +ynhepftgslro +wytlefgosarn +ysgtndocwlrf +lrgnfoswtya +zlibfutmrkxsvjnqgyo + +kht +tkh +htk +hkt + +pcdxhjnovlusitq +dbtrjizv + +bjhnkitaegvrsx +nxghvbestra +bwetgsarvhxdn + +oleswygxbnfmtzkjuar +xuaezbtcwlgmnrofsjy + +hdrgyowbfktavjuqlzm +gtkvfdulwqjzhymabro +rzojgmltbyhafvwdqku + +uxpwqbyr +xpquwyrb +rwxyqubp +rwbyquxp +qxrbyuwp + +kqlwz +rkve +klnf +ucqk + +irqgpjmdk +ctqmvnkfbgj + +dv +dv +dv + +fariyqplzoetb +zykjphxcg + +pytmwqvx +txvpqmdwy +xtyqvwmp +wvqmxypt + +oekfrmuatwl +axsvpcjkgqdzhiby + +fnyuqsihvmatgwxlr +ufjmioapebxnqydhtk + +tpskxdqc +kxsqcdtp +ytqsdkxcp +cxpqdtks +tcxpsdqk + +soivtnhezljymw +mhcyptneuvob +nfetymhgdavo +vnbhmxetaoy + +sqruavzncixgbpof +vioanzfgreuxqc +acetqngfrxoziuv +gqcfmxvrnzaoliju + +earxh +gmizfq + +tejlcvwgxpdbhsorufmiz +oftmijdscxlvzbuwpehgry +cvnksdzamhgbporwtufiljxe + +wdmgbxyihk +khmxyidwg +hikxwdlpygm + +nzcf +cz + +vhfecblgmowtqxpaskyi +xwgztblrjiacpfmheksvy + +pemi +e +e +ze +e + +fxwy +xyfw +yzxfw + +kshfqrlmyea +xsqboukan + +vknp +levn +pknv + +vqsdyhzwei +poijeyhscazl + +ryf +ofit +txw +jqvlhmbgeuznps + +qhzycdugf +cuhqdzfg +fghuqzcd + +emqngdv +meaqh +ezqmax +exqm +qmaze + +jgrnahfyvotupkxziqsdmceblw +ntughqlksexifdraozvmbcpwy + +imt +tim + +pthzw +tpnwhz +piztlw +tzpw + +xpuh +xbqrvys +lxw + +cpidsmqk +rkpcdmisq +pcdkqsmi +pmskqdic + +thxqby +bqxohty +qybhxt +yqtbxh +yqbxth + +qkplixrshe +jndbsraivm +zrgelsyit +lfsri + +zqr +zrtc +rz + +deabt +ueatgs +hwiqknj +ulxb +tdm + +sfpwq +phsqw +kpsqw + +guhmbl +gmuhb +mhndpub +yuihmgcb +uismhby + +qioblnp +olnqbip +loqbinp + +rqc +qcr +crqay +rqc + +z +z +z +z +zp + +ljo +lcbajeorg +jlox +oljx + +loasmqxdy +mqld +lvmdqb + +iq +qi + +filjwt +fwitlj +fliwtj +wtljif +tjwfil + +dx +xd +dx +xnd +xd + +vzo +zov + +ogbwntefukpch +ebwnsfkgupocht +noctepwgfhkub +wfqkugnpodjthbce + +genbzqkvspy +brkwjevpqsczn +fdxnvtzsobqiekau + +nxwb +wnj + +imfvncxbhlrdzgok +vbfdakgnhlcrixmo +cnzbholrkvdifmxg +ucoklqmbdxnvigrhf +blndpvmhkirgcxfo + +hquykcmexvza +evnayxkchmzq +jfyxamhqpiwzeokgcvs +ekzdruqamhlbtvxyc + +nk +knwct +pbykwan +dzsegnfqrom +linuwk + +tbc +tqbe +tcub + +lzxybkftrhis +ylrxhdasutjzncipgbfw +xktyhfizlrobqsmv + +sjb +pdkaowvu + +bnhcaqjprkx +ncdrqxbolaijkt +zaxrnksqchybj +cbnaxejqrk + +bteqziwsumofxpvchr +choiepzjxuwtvfrsm +irtuwcsemlpvfzhox +twhximepcsfzorlvgu + +ta +at + +xjdybasehgpm +edaosjpgxhmby +xybgpdjemsha +dmexjpbaslhywg +xpmedyahjbsg + +cbjxvynghstrfluoempdk +idhbtapleufcsrgywnvmox +xohdljfecvupmsgrbytkn +rvleksucfbdymxgotqpnh + +klfewtsaihpxnmogudy +seqdufxypnlikwtogah +ewpohdiknstxugayfl +xwenydkuhfasotlgpij +fignpyousdtkwexalh + +oudzygfimh +xvj + +qbpviwoadmfr +dimbswlpqnh +yzgxbqidwuj + +ismkdvnyzajbuowlpqfr +vjqwufylscopgmkrdabi +rhbwefvqiykupsajolmd +msdqtukoipvfxlyjrabw + +lho +hol +jfolhv \ No newline at end of file diff --git a/06/main.go b/06/main.go new file mode 100644 index 0000000..3804545 --- /dev/null +++ b/06/main.go @@ -0,0 +1,100 @@ +package main + +import ( + "bufio" + "fmt" + "os" + "strings" +) + +func main() { + partOne() + partTwo() +} + +func unique(s string) string { + result := "" + + for _, r := range s { + if !strings.ContainsRune(result, r) { + result = result + string(r) + } + } + + return result +} + +func union(s, q string) string { + result := "" + + for _, r := range s { + if strings.ContainsRune(q, r) { + result = result + string(r) + } + } + + return result +} + +// For each of the people in their group, you write down the questions for which they answer "yes", one per line. For example: +// abcx +// abcy +// abcz +// In this group, there are 6 questions to which anyone answered "yes": a, b, c, x, y, and z. +// (Duplicate answers to the same question don't count extra; each question counts at most once.) +// Another group asks for your help, then another, and eventually you've collected answers from every group on the plane (your puzzle input). +// Each group's answers are separated by a blank line, and within each group, each person's answers are on a single line. + +func partOne() { + f, _ := os.Open("input") + reader := bufio.NewReader(f) + scanner := bufio.NewScanner(reader) + + sum := 0 + currentForm := "" + + for scanner.Scan() { + line := scanner.Text() + if line == "" { + sum = sum + len(unique(currentForm)) + currentForm = "" + } else { + currentForm = currentForm + line + } + } + sum = sum + len(unique(currentForm)) + + fmt.Println(sum) +} + +// As you finish the last group's customs declaration, you notice that you misread one word in the instructions: +// You don't need to identify the questions to which anyone answered "yes"; +// you need to identify the questions to which everyone answered "yes"! + +func partTwo() { + f, _ := os.Open("input") + reader := bufio.NewReader(f) + scanner := bufio.NewScanner(reader) + + sum := 0 + var currentForm string + newgroup := true + + for scanner.Scan() { + line := scanner.Text() + if newgroup { + currentForm = line + newgroup = false + } else { + if line != "" { + currentForm = union(currentForm, line) + } else { + sum = sum + len(currentForm) + newgroup = true + } + } + } + sum = sum + len(currentForm) + + fmt.Println(sum) +}