From 71f6069359d071b41a32cbfa3d8c26481cd694e9 Mon Sep 17 00:00:00 2001 From: Johannes Loher Date: Tue, 8 Dec 2020 09:13:05 +0100 Subject: [PATCH] day6: solve part 1 & 2 --- day6/part1/input | 2179 +++++++++++++++++++++++++++++++++++++++++++++ day6/part1/main.d | 37 + day6/part2/input | 2179 +++++++++++++++++++++++++++++++++++++++++++++ day6/part2/main.d | 51 ++ 4 files changed, 4446 insertions(+) create mode 100644 day6/part1/input create mode 100644 day6/part1/main.d create mode 100644 day6/part2/input create mode 100644 day6/part2/main.d diff --git a/day6/part1/input b/day6/part1/input new file mode 100644 index 0000000..e04309e --- /dev/null +++ b/day6/part1/input @@ -0,0 +1,2179 @@ +gwlcpbtxmiezd +xwlcpbtzimgdk +tbiwmpcgzdxo +ygzdbpjxncfwimt + +icb +xqhf + +mlpjsqwv +dvjqsipz +slqpvj + +waxcqvufpkeld +udkvxbjaglpq +gkxfpqvudhjl +uivpdozsnrqkxmtl + +tzhercs +cgxujw +dianpfvbk + +vwynik +obrut +gmbza +atm + +fvjnryuk +scihpabjgdxo + +kpeir +rikpe +rpiek + +inwtuxevsacyqg +cvteaqoylwknxfgui +ewqvugcxyntai + +xbsymjfvh +hmsbyvxj +vsyxmjhb + +atfckhz +wm +p +egdbwvl +jproey + +zgatorfjh +fbxogarc +sgvzafwj +feagpnqlyumdi +wfhvabg + +c +c +c +j +c + +egl +uel +le + +jcodp +jpdc +jmcpd + +nfz +zpiyn +nz +knhz + +rxl +dr + +g +suj +teo +cuzq +fzsw + +pqgdsbmuvechjxfz +auovygnkldfbwr + +jmos +msuj + +z +vb +wn + +dvyoixczmh +vmyxoczdi +ixydonzck +icwyeoxdz + +jafpextioch +pztsoxefcymrgjikhda +opecfhxjtuia +icuhjoaetpfx + +ipxyojqwegvu +bvhtiogwxjqdue +wongurjizvfekxmsqlac +xdvgoiquwej + +unzvtlbaxmfri +cfosmwtdpyziekhajgq + +lsipkqmohvztfcgb +cvqtblhmpfgsozk +mpvsbflqczkhgot + +wg +gw +wg +wg + +dpeyclxofhk +pgxheckmylod +xkpmcosuyeldh +yvoxhekgcpdl +lrhndwaoekycpx + +hva +ah +hat +ha + +zfqj +zjyqf +qjfz +qjfz +qfzj + +fvoaxgj +xfoygja + +gehvyapz +gwpzyvahe +zhavpegy + +viursfc +vucfr +mxstvocyufr +gnflvqdzkcrwhupa + +yqdxh +yhqxd +yhqtdx +dyqhjzx + +rkp +orkph +ckpr + +ym +epytqgr +jvdmy + +dtkcjulsy +tujysdckl + +mhgavu +ghvu +uvhg + +klqxbejfmgtrausdpy +mjayepflubdksgqtxr +jmakegrybfxutspldq +tpdyneqlmrkajxusgfb + +vlmi +lxhz + +bpv +e +mu +kme + +cnxwtbigkedzsyjr +ihsngtewzjukxcrd +cegsxnwydzitkuj +vpdlnsiazkejgcwxto +wizfnsgqtxekdjrc + +pojbrzvhnltydmswqga +gudzjlwynbriaqvsphto +ldtacrhgopvqzywbsjn + +rvpbylxcuajdh +rxwjpbedvuayl +yavrpdlxjibu +riydhaplbfcuvxj +ibpayxruvdlj + +gojpz +hmvkeqbxr + +znwovmahqdcefrjbs +crnjswagzqmevhdofb +sfchdgxqjmzviebonarw +zoqbcwdvnshfearjmt +snhazkomqjvrcbflwpdye + +au +au +fbu +oglu + +yzwxtvuhdaeo +bridg + +ljndxc +nxjc +cjnx + +dyrwejnmuqpxolakgbzhv +vxmnpagycwquzlhdojrsebk +umhalvgjenrxpydwzkobtq +nytrhgplwdjkioumbexvqaz + +uyakmhxqifbdjer +tmeqpsfahxoruw + +l +y + +xgw +paxdsuof +xw + +ztvo +ixu +lrnkj +zxq + +foxkjaehwqcntiu +fojweunxikahtcq +hjtnwcuifkxqeao +oqjxwicklaehtupnmf +jachtnuqxwoekfi + +btq +qtbv + +ra +yasr +ncmvroaz + +pevfcuo +rivmwztqy + +gdmlczw +mpacxyolh +lcrmi +lgkecqdtm +rlktmdcf + +itkzmv +kizt + +ksxgfjrtvdqybwoze +jgzydsxtvwbforkqe + +xtfmoew +gzldprhy + +mecgavlynobxupi +jyohgertfnmuxz + +rakfugnvxpi +funvgpia + +xfurihg +guhdrqix + +qo +q +qv +mrqp + +cuseonqthxpavmgd +ynhazdmkfivjxwope +hzejxiavpnkodlfm +zbexajlphdmvkno + +dotnhqgu +nguqrv +unoigqr +ncuqgp + +wfinrjsmlxzchqpv +hqwljsfkxnmizpcv +qiswhmrpxcnfjzvl +cxljqizvnwhsmpf +qhwsilbczxfpjmnv + +n +thes +s +wpkadjgorxcy +mue + +upwxeatcm +mpwectyud +ewvtumpyc + +pglamhfkcsyoeb +hfakeosglmcpyb +gesmyloacpfhkb +ksemychfgalpbo +fgohpcklsemayb + +bn +unb +mbdn +bun + +zmwfyakq +swaj +twrva + +rbkcgzqvp +oumthkfnia + +wsadpbj +biznahjxc +azblmj + +e +er +r +ge +tb + +nzq +cldif + +hlswofngtjda +ajvodlhtsw +whaltsodj + +fe +frcbep +fe + +cgjlhspvnmiut +jgptuchmsnilv +lcdnguvhsjmxipt +psugwjctmihvnl + +r +ir +rwk +rlgj +r + +ypakce +pyjxchkeon +cpgyke + +ksilwgqtud +kisldgtqwu +zslgqtikduw +qudilskjwgt + +jquan +nou + +szfq +qszf +fqzs +sqfz +fqsz + +kriwjoyabgslfmx +kqjdhnuei + +tocqzagpnbyd +sxunfeaicptv + +r +yr +tru + +d +d +tkv + +taondlyrxhv +nhbciefzudw +gsmpjqk + +kbrswhqj +bhqswkjr +qbrjhskw +hbkrqjws +qbkujrswhn + +ruaqvlfb +fduniqemlgab +bkaqlfu + +pesctg +tjpesygc +mpcgvst +cjsbwptkg +gsphtc + +jwq +yjpkzi +wj +qujw +j + +v +v +v +v +vg + +ynwlevxsopbuc +luepovcwbnsy +nwvcusyplokeb +jscybopflvuenw +eoysncwuvblp + +qhjtyuxdbcgsfomnl +tlyfnqbmusghdjcxo +htnfqbcmujsxlogdy +buysgfjtnchdmqxolr + +dr +vri +rmunz +oashgr +kmlvrd + +dqhsjgrak +qxvlgb +xgpqbu +tgenibcmq + +f +f +f +fy + +vyukhwopcxbmjgfq +xchljnpgryq + +b +b + +ewmlqdzgtsaf +zvfrbaysleqogtwm +fqatklgwumhzes +lzgsfmtiweaqcx + +sqxazpginrvbmoflectkhyd +igkxqsdahmepcybrfltzov + +qf +d +q + +uhvndserfgt +cmdethsfurnygv +tfnvrugeshd +gfrsntdhveu +fenhsdvtprgu + +nkm +km +mk + +dw +z +x +ud +vi + +sleyfmcvigp +ytneopvgcms + +c +h +j +r +h + +jvxmidzkg +nqjuzkvcxhpid +dzjkxgvifm + +hwgzm +ucaewrs +ywjkgxt + +tewjlngvszk +tnjkzve +agjhkznvesqwrt +kwztvjnaedl +jpyteikxobncvzm + +uxcpz +pucxz +xpbczu +xzcup +uzpcx + +cfxlvkiswmgzrtjuq +kfxcqtnmrlzjswvg +hxetzclbjfmvwsrgqk + +fpaxlvbzwnqkgsj +xczqlbkwgapyvsnj +bwzalgjsnqpxkvr +jnskawbxlpzvgqe +wsajkvygnqbzxilp + +zuhimpjlbfogqkn +ophznvgmfuiakj +njhkpfiomguz +okufhjdgznipm + +fpsmed +shgef +mfse +esqfv + +xkj +nk +ndc +j +gh + +wkeocxgtds +xekgsowdt + +n +n +n +n + +rpgonuykqjawhfdxcmzvbe +mhtrxudpnvbezawcyqjgkf + +wtoveydlszxngqcbiuk +glsktqomjwrebz +hwbgulqtzoeackyvs + +drfxcnjqsyug +dsfrniycubx +cyshxnkdrfuzv +cswmnxaylfrdtu +cduymsxfpnr + +htnpxifrlsmgev +ohwmykctdnzquj +htmsfbanlx + +sigvmu +gvism +gisqmvprlw +aigvsdm +svpmgli + +msbeiuotwyrq +ebykoiswt +wkfyeitaonsb +wiogepskytvb + +xcimgdsvfkhzonlb +fkdsbcohnizgvlmx +cizlnxdkghbmosfv + +h +a +a +h +b + +kyqg +sohnwprx +zmb + +msw +mws +swm +msw +wsm + +xopjrmh +plrshdmwoax +pxiromh +xmpbhorj +ijxhpmor + +acempwkqxoglu +puhqcvwadebsxj + +xaiwnyl +yowxn + +lbynjvihxe +dojvbhlinyx +hxyvbijnel +jlxihnvby +xhnbijvyl + +gkewxnjbc +sztpavcrkyqmndhi +cguknlo + +ywgpaoermuizc +wrmpouzyicgea +mzpecogtuirayw +opriuamyewgcz +yuarigpoemcwz + +tvfj +bvtj +nvftj + +opjlskxcfgdrwmav +jmrhzacwdilpx +dhwjclxarqpm +bwcmpardljx + +gtr +oajst +t +pwtg +utg + +cuwpi +wcupi +cuiwp +pwuci +wpuci + +icrlgewdmu +lhricgdwme +lergdciw +kwclifzredg + +rnpwzhlqmkafov +rmnfzaldqokhv +hnrfakqvomzl +okvrhzqlmadfn + +bwxpgnrovqs +vagbromxwjs +kxfsyb + +nakv +nkva + +bzkg +vgkz +rkgl + +oklyx +kylox + +ibw +wib +iwb +izubwxv +iwb + +zikvprafh +pnajkvzif +vmiaxbkptzlf + +mbouarxetzqcfg +hmojusvzelgnad +zigdupoylmwae + +fsjyboa +pvhzlwkima +djrngxuae + +ozry +rzoy +yozr + +suydqovzgel +ulke +bluwe + +uiykabnpgdxhlmoz +enhigdubzkopayml +psiagkznbmchdoyul +ukinspbamdgoyhlz +opnjmrkyughzbalid + +nahxju +pxhnjua +hjnxlua +jxnakuh +uaxjhn + +teqaxpfjkiovg +gtfpijeqva +gfqepivajt +pavegfiqjt + +kglixrmouhyjbfvt +rkmlwixycujhtfgzb +frpasbtmugyhldijxk +rletbqjmfuhgixky +mwugybtjhokfxvnril + +qrtpdcvhnoljbi +gsdphvmotljb +jvbpkewotl +lvjmnuozptb + +zrxesgvquayc +syczgvqxreau +xlaeumyqcszvg + +ojfgyctiksprhavmxeb +yvcsjobgetrxkpm +spjorevcqkgytxbm +gscojxrpbvdtlmkyen + +otaibjyzxceu +xzceiyubojta +zbjxaieycout +odubiyxtacezj +ugowzxitacyejb + +pfqwxeumsy +fyupexw + +lnmvxqswzh +npstbrhcx +tmhazxndsg +uhnsrx +yjxnhoksie + +xmrzgnis +imnorzs +snrmzi +qitspdrmzn + +ws +ws +s +tqs + +ndo +w +wl + +moazp +pjz +zpj +jzp +pz + +hwgdsjvkyteo +wtqzdjoy + +ntzbhs +zsnhbx +hbsnz + +kqztidpsmboyung +phymuiozr +xaoumiyhzp + +kejuifmox +mfikxuejo +jifxueokm +iejmkoufx +ixfkemjou + +auw +gudkr + +sgenlwuohcb +ghekwucxnq +xncujhweg +geuqxncwh +grewnhcu + +lomvbqwzrsgfeiajhntdku +vwzytogdmhkinecafjlxprsuq + +pgleaswzbd +zaswfkdhp +apszwd +wsapydz +atdpzsw + +wxhonybje +ojnwyhexb +bejxhnywo + +olsux +zxou +oux +toxum +xuo + +gxaebkqydnjzthirmcfpow +gtxiwdykrzmqohejcfabpn +xfaorpbgywzdncqthkemji + +eglacoibktsdhumnyx +ukfxoetsbcwmqjigah +sbvughkyocditlmaex + +tsumebadoq +oeqtusbad +piuohxndabqtrs + +oty +yo +yo +oy + +zw +tz +zsyuk + +bpruyqoen +qykbfrzpeo +yeqpbor +nreyqpob +pyrbqwego + +myrhzftueikx +fvdetmlxpcwsibhguk +ahnijxufoketmq + +gvxfsulkyj +oknycdfrelw +flky +lfkgyx + +dtgsf +tgfd + +rsdag +adgrsf +fargsd +rjagdlms +gdrsa + +ehurysjqofmtk +ytrfmuokesj +yvjfraemitksnuo +ueoyksjtmrf +esxkmwopgfycjlrdbtuz + +hl +zfo + +ieduqnyk + +gpjisdyezo +kynwfce +vykerc + +wh +wh +h +lkho + +i +xhl +x + +utzexphayjw +jyzwuethapx +thpueazwjyx + +rk +kdr + +oquelchwfivxakjmrpyzd +mjavklucigqwoyxezrpdhf +xzcuohkplafmwjdivqyer + +uy +yu +yu +yu + +wnkdo +cpkogadyvqtr +fdokh + +mxgktesjocbl +hetucq +ypizcret +evctaz +qtce + +zlidyjfbhopmxstcnrk +epqbhldkyzsjnfaoi +lkbnjisydhpqzof + +eiagoyskthn +hgxtaivrmyplukobz +gyokihwat +gafytkihco + +utxdvi +duvixt +xituvd +uidtxv + +oxeyucapbnk +wtxmklujney +fxesykubhrzgona +uefycnxrvk + +qpjnoavemkgxfuydlr +rwqucktobjelyd +dqrcuosyekzlhjt + +jvaecytfpmxrdq +safuytleohkxbdvcipz + +oizutcswja +uzwcti +wcuzit +tzwiudc + +waphtlmdxzckqirb +mekftdrwzhjqxsplcb +tzkqdplmhuvy +hxzcrtkpqflobmd + +glrfzsdbu +rfgdlubs +frwconquxylbsagdh +tgbfslrdu + +dulbtwyp +fgct +trhkxa +nejhstv + +zjgdsavc +dvgsacjz +sacgdzvj + +fjsgwkziy +bwgitfk +rhkdpiwg + +jfygdqpchxneb +jpwxzsbn +mrajoptnlvbxu +mxpbkwnji + +th +fht +th +ht + +kijvchy +aivjkhcy + +fsqtcplo +tlcosfp +slocfpt +tpflsoc + +gkc +gqck +kgc +cgk +xckg + +swqxzdtmfplhibyjrevu +izhfjltywpmrqbevdsxu +evtxzpflqrjsdbhmwuyi + +kdmbvqcg +pqckvdmb + +witrzdagcbyux +irxgyuazwbdtc +gazbrywcetdxui +axinyzgrcdbutw +trbagmluciwkdxyz + +uwbhvdy +wuvhcy + +ygjqzpdrtsi +psqrtaidjgy +kmsghxlqnidtjp + +cprkdbafqlwuihgvys +yubzxwmvogderf + +xabnqejdtcw +dqtfejnwbmhxac +dwnbcjqtexa +wvabnxqyjetdc + +pzo +zmnr + +v +v +v +v +u + +lht +qlth +hlt + +lx +xl +lx +lx + +eazpcoihwxmtudsyknrq +qldaiztcpoeynskwhmur +cobzyspahgrkinutdmweq + +qpjm +elqujm +jqm +jmpq +mjq + +oltnpgsmhbqwzexvikudyar +zyxqhatrgsenwlbokdipvm +eshotqirdnxbyklvwmgzpa +zeaqwofdpvxytrikhslmgbn +alkrqdxyeswmgnvzbhtopi + +wzbhmvrtiq +wtimqvzb +ifcobmgwznvq + +fgwtjydp +gjtwpdyf +pyjtdfwg +ftwypgjd + +qmsfcxwdopnj +floqiwdmx +wxohimlfbdv +xakwymterdozgu + +vrlq +ulhdwsmr +hrufl + +gohrfpw +brzdtl + +nhso +hn +nh +chn +hnd + +myzkfxprtegohl +epntmxyoglr +tyqgiloxnperm +dgoewlrabcytxmpjs +urlyoxmpeqgvt + +aiewv +wrativ + +tglwzqhrjexkf +fuazgyqkvxrj + +priylwgbfn +gmlbpiwfn +qdbginlpafsw +rinblpfwg +niwplbgf + +zngjkchylqi +yfilnjschgzeq + +wvmbrui +wxg +kwjg + +ljvueoishfzabyw +ruwkeyzigsljaof +jyiwnzleafotsu + +mcxv +jmwg +ktsnm +toim +mulyfrze + +ku +ku +kuvi + +ulotnbfrqcadkmjivpxgeshy +qcegdpwszryvjnuxmbohka + +rfikmej +ctagoqzldvhnxpwuj + +xpjwiftdynkcz +dxvcqtn + +nelkupxgrmtijasqbv +qvilfbksnjgtepruo + +x +y +d + +qnzorg +rqzg +grzq +rgzq +gzrq + +wqmofz +tlm +ml +mp + +bfszturqkoxymjh +hkfuoqrzemstxyab + +xevanum +efvmnax + +bouykivwld +mbrnfczq + +upvexa +aexvupsy + +c +c +c +c +c + +h +t +t +t + +jati +tiaj +tiaj +tija +dptjia + +vksjnyti +bvlksta +tmxvzpsc + +ksqwt +stmqkw +qskwt + +xcupr +iue +uwt + +mznesjqwdu +eudhitwm + +jmslovq +jsdcvgb +imsvj + +oiva +izo +ig +crhi +gizj + +wlecpsqrdh +rdextqhwpc +prdnhcaeqvw +rwdhpeqci +qurwjfhdlpec + +tkaoh +xjecrywq + +xeni +gvt +eft +pomsjacq + +cxv +q +t +u +r + +qw +wfq + +oabsdwtgvqiuphnfexjlzyr +ardwyhflepinsqvbuzxgj +rswgxjdeyiphzvfulqncab +ywxvruidnsazlpfhqbejg +dfyvncgsiaezrhlxwbpjqu + +jeklahmztuxnvqgc +jlhmekvugtqcnazx +hamkqunjztglvecx +muckejgalvtqzhnx +zkelhjncqaumvxgt + +bwikegxcfoysruqvh +htpucnivmjzlad + +qntrsyigzmha +aqtspyoxi +bwuvsyjeadiqkt + +sfyamuxco +jdqfykzigv + +plbctxfsagrdmovyz +oyhaesxcgznlmbpwvrt +pzdibfsocrvtlamxgy + +mkvdbpt +dkvbtsp +xbkptwhd + +pgldyjsqunafzit +olbzkdscvymhw +sybmdzlxore + +pujqcnoeisagyv +qjcevnigaypuos +ceunsjqloaimvygp +niecoypusavgjq +puqacjoveisgyn + +ilhxmtzjs +jsitmhlx +sjltiexh +lxhtsji + +aiforvklhzq +zivlh +lgzhiv +lixjvhz +ihzcvl + +fsztenwbpuqoai +cpvkthwdlrjuy +jwluyptg + +qdjgnkzsputbvhlyoicw +rjipmyqnfwukstcoxzghblv +ucjyndisqgwvpkolbthz +nbjsizouwgcvplthykq + +bzuyelgj +ubeljgyz +gzjbylue +zljgyeub +byjgluze + +quk +ukq +upqfk +ugqskz +usrgkq + +ftajvlypimzxshdcqnkwure +dnclmiyjrpzxeatskhwufvq +dpxkfzuevlatsijnrmhwycq +qnjvmukyciwzxpfdahlrste +fmzcxnaerptujisqhklywvd + +krty +pths +zcotin +uyzt +tqladvbejgw + +kcyfjpzre +fknbmoajc + +fwzliqbamsg +biqamolzswyjfg +zslamfgwqbi +lxaqtvnhsfmpbcgzweui +afislomgzdbwq + +vroeixdqfcwszaukygjlhp +wrmzvklhgoyxdciaejqfpsu +cqghksdzuwjvrflxpaoiye +dkxwcrpszagifyjlqhoeuv +vqkoywerdhgusaljzpfcix + +nfcuoishtemrqyxjv +clrnxheqvoiuytfmsj + +tkrqbu +ubrtqk +rukbqt +kqutrb +gbutkqr + +xie +ixfe +eaknmyi + +mjlreiaczpfbs +ibkehz +bezwxio +izthqbgue + +cxegof +qrotsf + +zslba +lbzsa +lszab +lebdsza +wbzsla + +pnrdfmhqgbyc +bprgnvhyd +nhpdzeuaiojsyxrgtb + +noeytqbsxfrl +obfntxlyresq +exybsrtfqnol + +iwyg +ygiw + +fcha +wma +zhanpwe +lzfaneck +bjuxogiavqt + +pbjwavkdhczy +baywzkqjvce +vsjygktbczwa +vwzijyblcaxkmou + +ryl +rxq +akcvpwr +lr + +oqzty +yitqozg +zqoyt +qyzto + +hugtzim +ingzchuyd +pkhuzsljxi + +jx +xi +x +x +x + +ofjhxmvksergiwybtcu +tolphrazkdmnxvjqbgwfu + +fxchrgezya +egyavxfzhu +qazgfehxcy +yizpxgfhae +yefoxgrzha + +fdeycphozusnrmlqxbgkatij +ibcljzfekypxraosntmdhg +rclgbmydkifnzhtjsxpeoa +ackshxdjemipfrgyznlotb + +wumlxodgzvq +xrzkoqgmludvw +qzulvoxwmg +wugolamjqisyvx + +jizxyhqgrnawmpueo +pasuqmtjnexolvr + +xkguqypbe +osgkvxueib +nxsgekoub +gekvdxub + +kngxpdyotlzfejvswcm +qplsjgtownxahbdrkfu + +zjqeomhnt +tojeqhmnz +mtjqozhne +ejozmqhnt + +syzqrhiwfp +hmqewc +vbhsqfn +tgaxkhqlo + +fyhucdtvsk +kfhcvudsty +stbnyhuigkdjfc +tfycshvduk + +rbhqwkjdvmpxageitnoflzy +xkthmoywqeidjplagszvbrfn + +ktpfmlvsw +mvsklwtpf +wfptvklsm + +rnlvdy +nxrcl + +elwycpbnf +ncywf +wcyfn +fvcnwy +fywcn + +bckpqzdwosyfvnut +oxpvukncbdwfzqtys +fzwpdtvybnscoqku + +cbmrsxdipyfnvjo +mnpabkgqslufwx + +kywscxvhq +vruiyhsezt +fjgnmy + +qbjdkgltunyfaxsp +psblakjyedthnu +punsydztlkcjba + +bphcoy +hbpoyu +bkopyq +atilojrpmby +pbyou + +ibluxzvfswnghc +gwsfplu +uglsfw +lusgfw + +sjlubyimoegkpftdavhcrqw +amouhdfilybrjgetpwq + +orawjpscyfdnelztqbh +sawekclfpnbqzodth + +ntjuvmwpycf +szjagiteydvnmplfwc +myrhnvxwpcfjt + +rdosc +rdosc +dsrco +rodezcst + +ncugi +nbgwup +ugn +nug + +n +n +nl +n +n + +ntflyovsdhmkcgp +kantmvyrpdhglio +tnkvpidloymbuhg +ohtvdypnmzwkgl + +nxqs +nqx + +jp +jp +jp + +ejskx +oryamnsvzg +hdjs +uwtsh +sh + +bpcugtovs +gweokzqstjvlp +gtduvshopria + +uthdirywmvgbxe +zugeithvrynm +yoivghmuqtr +typsgmlfhrivuk +erdvuimhtyg + +eydpbq +dbyeq +yebqd +webdqy +debqljtyv + +munbwc +lnvu +nu +nu +ynru + +gftdzau +gufszr + +fyxzhbwnuptil +sygzkulwpqfinht +tfwuihlcypbdnez +pnhyzmulwfit + +acryonbgetshwjfxzml +ozhmrcfalxwytbsugej +ehybxrfjcqtsozawgml + +z +nfej + +mhvxlkbtuyo +hfxqabklvygmc +ykbmvohxlws +ekbxvrhyml +yobvuwhlekxm + +ambpsyie +bcimpyase +ebispmay + +lydzmsgoqijxkthcewpbrn +ynlpjgqrztobhmkedxsiw +jpwrluxgbismezdnyhqtko +vrdkxhnjgeysbtofqmwzlpi + +mvkyralfjqtu +iazljont +tzdclaje +ltgjza + +nsizhmgdoewlvx +lwghmdxzovnsie +doghnvsxewmlzi +lnswzoivdmhgex + +cadutlrvyk +xaouyv +vygua + +z +w +n +n +n + +xjlvfhcgbqyozt +zcyqbtgvljeofh +yczjfqouvdtgkhbl +gbvzflyjhcqot +ftbcoryzgqvhjel + +fnkspvetum +edmstgnqkjvx +puesnmvkita + +ytrbqlwcvusz +qmjcl +qcxl +hxgclq + +ldg +d +d + +sc +cs +cs +sc +syc + +axpdoftgkme +adleukosgxfmry +kgfeonazbdmx + +muxqr +rmqxu +rxmqu +ruvxmq + +qhidvckgolepxsuj +zfvinabmcewpkgt + +pcvmxbdo +wyodpmcx +ojgrdxcpm + +jimg +mljsi +mji +ijms +imhzwj + +jfkbp +zndqof + +ed +tdef +capdkyize +etdf +edtqv + +vhm +hmv +hmv +hvmt + +vylapqueifs +vpyqilsfaeu +paqefisuyvl +svlepfuqyia +eufpvialqys + +jowmpltbdxyrvu +mudxhrcbfzjqslwptk +dbrtulxpjgywm +uwpmtjndlbrx + +ilnxbpwdrvuokfjgtzec +inxbtyczgfjwdlveour +ohznidtmxuawbcgvlerjf + +q +q + +xmjs +smwj +jsm + +cyfp +soxgrjm +pu +kfhe +tw + +rhuey +uyhrge +erhyu + +d +d +tmd +d + +muciswt +stmic + +ldxnfy +nqler +nlkb +ln +lbn + +eyqhbgiwfkjlnx +wtekhamon +zcseurhpnk + +xumhwodpjfgalqns +gozkaxbrwvc + +kioucnzelsy +foyuvzceiknls +ksenoulzycmi + +nefyugdromqbiksz +isomrdufqbkgzyne +pesmfngbrkudioyqz +gsmtfeodynqkubrz + +xskygfdipzwchrlvatb +dhgawjcpirkmvtflzbxys +izrvshfbdwlapygxctk + +mb +qzmayl +fmt +tmh + +csjthr +tflbks +bstfpda + +qojyvbtusn +ovsxbhqytuj +weojbisuqytv + +aepz +eapzb +apdezm + +syoeagjvfl +fejtvnmqxrphzlbc +fgviejsukld + +ylbqv +qlvby +vyqbl +blvyuheq +qyblvz + +evusaopzdy +zvypducloea +udvozyepac +adystoeupzbc +gzmpdaeqwukyo + +fglqnbtpra +robpaegfktnq +mntqfaiprklob +prjfybutdwaqncsh + +q +y + +rcz +zrc +zrc +czrf + +rh +rh +rh +hr + +aynwkrpfuvhcblqtzixgeojsm +mvtpirakxuhwfyjscbqgnoezl +mlcuqzoihdgrxfvyswtbaejpkn +rpialswqmbnvehcyxjfuogztk +amkhqocevbwxlifsyrntzgupj + +rljduyhgnzwkp +kuydljrnpgwzh +uykgjwrdplnhz +ngdwzylhpjurk + +wexrly +yxqlrhemw +rywxle + +t +e + +pxhgaqjv +rnjxltuqh +myqfwekcsdix + +gwdfvsolhup +vlgdwuspohf +fdrvuwopslgh + +zhsrfjbcndwqyvupgakemoxlti +xhtoyfnlwpzuevgdmbjircakqs + +ldgebj +jleg +jugle +glje +egjlu + +jlnzs +nj +jn + +jfhdwsg +ltkpanyihejxsg +hsjrgmc +gmsfoqhwjc + +evjngcfizyuoslpb +ozbsiefngjvpcuyl + +pjbred +jdtbkp +awdbjko +dbj +vmdcbjhl + +iudzrx +agykxzu +xukzpa + +ou +huo + +l +l +lb +l +l + +hfpw +wphf +hpwf +lfpwhc + +wajmh +tqfpcselurxi +kbz +ywg +dkz + +sgw +cyezglipksuh + +oexibpzgr +pixobge +xvucyptmqib +bixozp + +va +o +wnjky + +zevpulnqaikdmwsyotcr +dzvkjeinuslfrchqmgyw +vezxklwdqynursmcfi + +id +dvi +sdiz +ids +idq + +bmpxyk +cnykjbmexo +xydmatbki +dxbymk +myxbk + +atzibcu +ticuazb +icazbtu + +nypbqmhuc +sjqzoetl + +dxumvboftrwzihclgqeyk +mhrfecdvzgikxujyqtpwbaol +nkobczmqytrlefviuwhxdg +vgcelwryqhznbtfxkmiduo + +fzxyjegvadrltb +rgehucmqpn + +nfrx +ufxkverj + +haqu +qk + +fgchqktrynjbwduia +umnljcwifthzqpovd +xwenjtqihdrucsf + +zkjmoyh +oyhmzkj + +xdsoglwprq +xlmwoqg +luqxwyogm + +yp +bgiw +l + +liefqvj +jefiqlv +efvljiqr + +axnpoecuwibslgd +xeougsnz +smxgueony +qexumgzonsh + +wua +adwiu + +n +nk +n +n + +maijgrtsyn +sjytikamrgc + +cwnetku +gilvzhsa + +hywvukqdmjiezrbtnplacg +ejinbtdzwgmkyqhrlfcap +uimwlzrnkbqgjvtacyedhp + +grud +dxuerg +urdgh +diugr +iurdg + +tfwiqjnmbue +puylasdgzocxh + +ysghmdqol +omlqhgd +imqohjdxrgl + +fkayurzxndqieobvht +qmrnbfkahieowduvt +cefarktbvhqiound + +qptdrbmzgk +dmbq +lbfcq + +tjxkogms +dcphwbfulxenrmzi + +ohreptydvgsiwnubkz +vbgkoshpdluzeyirtn +xiqskhnadmjtgyvbrpeuoz +oknhrzvgbepysutdi +ynegfoubrdctsihlpzkv + +zrn +rzn +rnz +nzr +ndrz + +hpgliyawdbsrxfkqjen +rsdielyjxqakphwbgn + +qvcjphegszrt +tjcaermgsvz +dgcjfuapeozhsn +gwexszycjkibl + +cmsjwrbudoi +ezqwslombvj + +glw +elo +mrxkctaqu +hnsjf +jwvbi + +kotwglnpf +pugtlxn +npltg + +gdxpkcyuqezlonsfam +wjpsozehatqyk +izykpvoqejas + +xbjouepi +samvuxp +xvprzu + +rq +rq +rq +qr + +ocvehwzqfurayknlix +uxekyhclarqwonvifz +wdruxcqnkohfayezliv +oqrnxawlhycuziekfv + +xpcgsrelqw +mwdrceplsqx +pehrjxcswlq +seluwdrqcpx +qwpeucsxrl + +d +u + +epijobawgtdqrylszxnf +rwpxfzbeyosadntqjg +fbxwyrcepozajnsdugtk + +dtecfku +eiutfkr +tefuk +fteku +lktuef + +dmrwnhbq +oimnyltvqphze +qchkmsajn + +nfw +nwf +wnf +pnfwq +wnfe + +brw +rbw +wbr +brw +bwr + +pyuxqzbcnmrdwjkgsoe +jbudewcygrsqxtpmozn +gzsibnfydwrcjvmxkuopeq +whnoypqjrcgulszmbdax + +pdfzoknvgbr +fgokwnzebdvrp +borzfpvnkglh +krfgplvznob +pgvmnzbcfkroyjs + +jgszrlwvi +wvonhpy +dnfmtwva +kvqdtyw + +xrzhqlgpevtcwm +ehglzctpxqrmwjavu +clmhowtkgpiyfqrnbvxsez +vpzhmrxqewdgtlc + +waztysmcegnurkvjqdp +vosdabjykpmgzcnuwr + +bwutrjc +urbjwt +jurztwyb +utbjrsw +zbwutjr + +zeckigrwv +zswgrcivke +ceywkizvgr +kziyvtwcge +gzfanbvwxmceidkp + +n +n +n +n +n + +mzwbnksrt +tomrwnkzs +mknszowrt +ktrnmswzv +mtwnrszk + +y +y +y +y +y + +rmbditwshcfkpjnozavyx +dyftmzojakhrpcwxsvnbe + +avdbct +dvatb +amdntlovb +vadbtc +bavtd + +ruyvefoqiaslcdkm +iaouvsmyefkcdrlq +uqoescaifkbvdrmyl + +dkvxyjsbwhqac +pcjbqyaeuvgfostx +yrdxkqjacsbvm + +ugepzw +derzibs +jyokqvmal +fhc + +qupyrj +ibmzegkto + +xksviqnyurgw +vkbnurxlyqg + +opgw +smbvpg +bpds +gjp +fpta + +xtlncsiwjhbygrdoumzkqvaf +olsxbuwigdzmhvtyrajnqckf +lajzbuqswcnvhkdfomxtiyrg + +pakwbfxuq +wxpafkuqb +bkqpufxaw +axuwqkfbp +uxwbfpkaq + +eqsgztjkimn +nqjzyst + +cn +nc +nc +cn +cn + +rv +rv + +pbwsuy +jshcqt + +vbjkzyprhm +jkmbrezygvhup +rhjvmbpyzk + +ochfjrqmy +qrfocyhmj + +ksrx +hcrbzu +rdc +jrcp + +soixrchpvek +qbtdocpixwalfvnkm + +zmtlj +zlpyjtm +rthxldmjaniz +zluptjm + +rcyshqp +jbdnpe +zgp +pnjtz diff --git a/day6/part1/main.d b/day6/part1/main.d new file mode 100644 index 0000000..4fd9533 --- /dev/null +++ b/day6/part1/main.d @@ -0,0 +1,37 @@ +import std.algorithm; +import std.uni; +import std.array; +import std.file; +import std.stdio; + +void main() +{ + readText("input").calculateTotalNumberOfQuestions.writeln; +} + +auto calculateTotalNumberOfQuestions(string input) +{ + return input.splitter("\n\n") + .array.map!(group => group.filter!isAlpha.array.sort.uniq.count).sum; +} + +unittest +{ + auto input = `abc + +a +b +c + +ab +ac + +a +a +a +a + +b`; + + assert(input.calculateTotalNumberOfQuestions == 11); +} diff --git a/day6/part2/input b/day6/part2/input new file mode 100644 index 0000000..e04309e --- /dev/null +++ b/day6/part2/input @@ -0,0 +1,2179 @@ +gwlcpbtxmiezd +xwlcpbtzimgdk +tbiwmpcgzdxo +ygzdbpjxncfwimt + +icb +xqhf + +mlpjsqwv +dvjqsipz +slqpvj + +waxcqvufpkeld +udkvxbjaglpq +gkxfpqvudhjl +uivpdozsnrqkxmtl + +tzhercs +cgxujw +dianpfvbk + +vwynik +obrut +gmbza +atm + +fvjnryuk +scihpabjgdxo + +kpeir +rikpe +rpiek + +inwtuxevsacyqg +cvteaqoylwknxfgui +ewqvugcxyntai + +xbsymjfvh +hmsbyvxj +vsyxmjhb + +atfckhz +wm +p +egdbwvl +jproey + +zgatorfjh +fbxogarc +sgvzafwj +feagpnqlyumdi +wfhvabg + +c +c +c +j +c + +egl +uel +le + +jcodp +jpdc +jmcpd + +nfz +zpiyn +nz +knhz + +rxl +dr + +g +suj +teo +cuzq +fzsw + +pqgdsbmuvechjxfz +auovygnkldfbwr + +jmos +msuj + +z +vb +wn + +dvyoixczmh +vmyxoczdi +ixydonzck +icwyeoxdz + +jafpextioch +pztsoxefcymrgjikhda +opecfhxjtuia +icuhjoaetpfx + +ipxyojqwegvu +bvhtiogwxjqdue +wongurjizvfekxmsqlac +xdvgoiquwej + +unzvtlbaxmfri +cfosmwtdpyziekhajgq + +lsipkqmohvztfcgb +cvqtblhmpfgsozk +mpvsbflqczkhgot + +wg +gw +wg +wg + +dpeyclxofhk +pgxheckmylod +xkpmcosuyeldh +yvoxhekgcpdl +lrhndwaoekycpx + +hva +ah +hat +ha + +zfqj +zjyqf +qjfz +qjfz +qfzj + +fvoaxgj +xfoygja + +gehvyapz +gwpzyvahe +zhavpegy + +viursfc +vucfr +mxstvocyufr +gnflvqdzkcrwhupa + +yqdxh +yhqxd +yhqtdx +dyqhjzx + +rkp +orkph +ckpr + +ym +epytqgr +jvdmy + +dtkcjulsy +tujysdckl + +mhgavu +ghvu +uvhg + +klqxbejfmgtrausdpy +mjayepflubdksgqtxr +jmakegrybfxutspldq +tpdyneqlmrkajxusgfb + +vlmi +lxhz + +bpv +e +mu +kme + +cnxwtbigkedzsyjr +ihsngtewzjukxcrd +cegsxnwydzitkuj +vpdlnsiazkejgcwxto +wizfnsgqtxekdjrc + +pojbrzvhnltydmswqga +gudzjlwynbriaqvsphto +ldtacrhgopvqzywbsjn + +rvpbylxcuajdh +rxwjpbedvuayl +yavrpdlxjibu +riydhaplbfcuvxj +ibpayxruvdlj + +gojpz +hmvkeqbxr + +znwovmahqdcefrjbs +crnjswagzqmevhdofb +sfchdgxqjmzviebonarw +zoqbcwdvnshfearjmt +snhazkomqjvrcbflwpdye + +au +au +fbu +oglu + +yzwxtvuhdaeo +bridg + +ljndxc +nxjc +cjnx + +dyrwejnmuqpxolakgbzhv +vxmnpagycwquzlhdojrsebk +umhalvgjenrxpydwzkobtq +nytrhgplwdjkioumbexvqaz + +uyakmhxqifbdjer +tmeqpsfahxoruw + +l +y + +xgw +paxdsuof +xw + +ztvo +ixu +lrnkj +zxq + +foxkjaehwqcntiu +fojweunxikahtcq +hjtnwcuifkxqeao +oqjxwicklaehtupnmf +jachtnuqxwoekfi + +btq +qtbv + +ra +yasr +ncmvroaz + +pevfcuo +rivmwztqy + +gdmlczw +mpacxyolh +lcrmi +lgkecqdtm +rlktmdcf + +itkzmv +kizt + +ksxgfjrtvdqybwoze +jgzydsxtvwbforkqe + +xtfmoew +gzldprhy + +mecgavlynobxupi +jyohgertfnmuxz + +rakfugnvxpi +funvgpia + +xfurihg +guhdrqix + +qo +q +qv +mrqp + +cuseonqthxpavmgd +ynhazdmkfivjxwope +hzejxiavpnkodlfm +zbexajlphdmvkno + +dotnhqgu +nguqrv +unoigqr +ncuqgp + +wfinrjsmlxzchqpv +hqwljsfkxnmizpcv +qiswhmrpxcnfjzvl +cxljqizvnwhsmpf +qhwsilbczxfpjmnv + +n +thes +s +wpkadjgorxcy +mue + +upwxeatcm +mpwectyud +ewvtumpyc + +pglamhfkcsyoeb +hfakeosglmcpyb +gesmyloacpfhkb +ksemychfgalpbo +fgohpcklsemayb + +bn +unb +mbdn +bun + +zmwfyakq +swaj +twrva + +rbkcgzqvp +oumthkfnia + +wsadpbj +biznahjxc +azblmj + +e +er +r +ge +tb + +nzq +cldif + +hlswofngtjda +ajvodlhtsw +whaltsodj + +fe +frcbep +fe + +cgjlhspvnmiut +jgptuchmsnilv +lcdnguvhsjmxipt +psugwjctmihvnl + +r +ir +rwk +rlgj +r + +ypakce +pyjxchkeon +cpgyke + +ksilwgqtud +kisldgtqwu +zslgqtikduw +qudilskjwgt + +jquan +nou + +szfq +qszf +fqzs +sqfz +fqsz + +kriwjoyabgslfmx +kqjdhnuei + +tocqzagpnbyd +sxunfeaicptv + +r +yr +tru + +d +d +tkv + +taondlyrxhv +nhbciefzudw +gsmpjqk + +kbrswhqj +bhqswkjr +qbrjhskw +hbkrqjws +qbkujrswhn + +ruaqvlfb +fduniqemlgab +bkaqlfu + +pesctg +tjpesygc +mpcgvst +cjsbwptkg +gsphtc + +jwq +yjpkzi +wj +qujw +j + +v +v +v +v +vg + +ynwlevxsopbuc +luepovcwbnsy +nwvcusyplokeb +jscybopflvuenw +eoysncwuvblp + +qhjtyuxdbcgsfomnl +tlyfnqbmusghdjcxo +htnfqbcmujsxlogdy +buysgfjtnchdmqxolr + +dr +vri +rmunz +oashgr +kmlvrd + +dqhsjgrak +qxvlgb +xgpqbu +tgenibcmq + +f +f +f +fy + +vyukhwopcxbmjgfq +xchljnpgryq + +b +b + +ewmlqdzgtsaf +zvfrbaysleqogtwm +fqatklgwumhzes +lzgsfmtiweaqcx + +sqxazpginrvbmoflectkhyd +igkxqsdahmepcybrfltzov + +qf +d +q + +uhvndserfgt +cmdethsfurnygv +tfnvrugeshd +gfrsntdhveu +fenhsdvtprgu + +nkm +km +mk + +dw +z +x +ud +vi + +sleyfmcvigp +ytneopvgcms + +c +h +j +r +h + +jvxmidzkg +nqjuzkvcxhpid +dzjkxgvifm + +hwgzm +ucaewrs +ywjkgxt + +tewjlngvszk +tnjkzve +agjhkznvesqwrt +kwztvjnaedl +jpyteikxobncvzm + +uxcpz +pucxz +xpbczu +xzcup +uzpcx + +cfxlvkiswmgzrtjuq +kfxcqtnmrlzjswvg +hxetzclbjfmvwsrgqk + +fpaxlvbzwnqkgsj +xczqlbkwgapyvsnj +bwzalgjsnqpxkvr +jnskawbxlpzvgqe +wsajkvygnqbzxilp + +zuhimpjlbfogqkn +ophznvgmfuiakj +njhkpfiomguz +okufhjdgznipm + +fpsmed +shgef +mfse +esqfv + +xkj +nk +ndc +j +gh + +wkeocxgtds +xekgsowdt + +n +n +n +n + +rpgonuykqjawhfdxcmzvbe +mhtrxudpnvbezawcyqjgkf + +wtoveydlszxngqcbiuk +glsktqomjwrebz +hwbgulqtzoeackyvs + +drfxcnjqsyug +dsfrniycubx +cyshxnkdrfuzv +cswmnxaylfrdtu +cduymsxfpnr + +htnpxifrlsmgev +ohwmykctdnzquj +htmsfbanlx + +sigvmu +gvism +gisqmvprlw +aigvsdm +svpmgli + +msbeiuotwyrq +ebykoiswt +wkfyeitaonsb +wiogepskytvb + +xcimgdsvfkhzonlb +fkdsbcohnizgvlmx +cizlnxdkghbmosfv + +h +a +a +h +b + +kyqg +sohnwprx +zmb + +msw +mws +swm +msw +wsm + +xopjrmh +plrshdmwoax +pxiromh +xmpbhorj +ijxhpmor + +acempwkqxoglu +puhqcvwadebsxj + +xaiwnyl +yowxn + +lbynjvihxe +dojvbhlinyx +hxyvbijnel +jlxihnvby +xhnbijvyl + +gkewxnjbc +sztpavcrkyqmndhi +cguknlo + +ywgpaoermuizc +wrmpouzyicgea +mzpecogtuirayw +opriuamyewgcz +yuarigpoemcwz + +tvfj +bvtj +nvftj + +opjlskxcfgdrwmav +jmrhzacwdilpx +dhwjclxarqpm +bwcmpardljx + +gtr +oajst +t +pwtg +utg + +cuwpi +wcupi +cuiwp +pwuci +wpuci + +icrlgewdmu +lhricgdwme +lergdciw +kwclifzredg + +rnpwzhlqmkafov +rmnfzaldqokhv +hnrfakqvomzl +okvrhzqlmadfn + +bwxpgnrovqs +vagbromxwjs +kxfsyb + +nakv +nkva + +bzkg +vgkz +rkgl + +oklyx +kylox + +ibw +wib +iwb +izubwxv +iwb + +zikvprafh +pnajkvzif +vmiaxbkptzlf + +mbouarxetzqcfg +hmojusvzelgnad +zigdupoylmwae + +fsjyboa +pvhzlwkima +djrngxuae + +ozry +rzoy +yozr + +suydqovzgel +ulke +bluwe + +uiykabnpgdxhlmoz +enhigdubzkopayml +psiagkznbmchdoyul +ukinspbamdgoyhlz +opnjmrkyughzbalid + +nahxju +pxhnjua +hjnxlua +jxnakuh +uaxjhn + +teqaxpfjkiovg +gtfpijeqva +gfqepivajt +pavegfiqjt + +kglixrmouhyjbfvt +rkmlwixycujhtfgzb +frpasbtmugyhldijxk +rletbqjmfuhgixky +mwugybtjhokfxvnril + +qrtpdcvhnoljbi +gsdphvmotljb +jvbpkewotl +lvjmnuozptb + +zrxesgvquayc +syczgvqxreau +xlaeumyqcszvg + +ojfgyctiksprhavmxeb +yvcsjobgetrxkpm +spjorevcqkgytxbm +gscojxrpbvdtlmkyen + +otaibjyzxceu +xzceiyubojta +zbjxaieycout +odubiyxtacezj +ugowzxitacyejb + +pfqwxeumsy +fyupexw + +lnmvxqswzh +npstbrhcx +tmhazxndsg +uhnsrx +yjxnhoksie + +xmrzgnis +imnorzs +snrmzi +qitspdrmzn + +ws +ws +s +tqs + +ndo +w +wl + +moazp +pjz +zpj +jzp +pz + +hwgdsjvkyteo +wtqzdjoy + +ntzbhs +zsnhbx +hbsnz + +kqztidpsmboyung +phymuiozr +xaoumiyhzp + +kejuifmox +mfikxuejo +jifxueokm +iejmkoufx +ixfkemjou + +auw +gudkr + +sgenlwuohcb +ghekwucxnq +xncujhweg +geuqxncwh +grewnhcu + +lomvbqwzrsgfeiajhntdku +vwzytogdmhkinecafjlxprsuq + +pgleaswzbd +zaswfkdhp +apszwd +wsapydz +atdpzsw + +wxhonybje +ojnwyhexb +bejxhnywo + +olsux +zxou +oux +toxum +xuo + +gxaebkqydnjzthirmcfpow +gtxiwdykrzmqohejcfabpn +xfaorpbgywzdncqthkemji + +eglacoibktsdhumnyx +ukfxoetsbcwmqjigah +sbvughkyocditlmaex + +tsumebadoq +oeqtusbad +piuohxndabqtrs + +oty +yo +yo +oy + +zw +tz +zsyuk + +bpruyqoen +qykbfrzpeo +yeqpbor +nreyqpob +pyrbqwego + +myrhzftueikx +fvdetmlxpcwsibhguk +ahnijxufoketmq + +gvxfsulkyj +oknycdfrelw +flky +lfkgyx + +dtgsf +tgfd + +rsdag +adgrsf +fargsd +rjagdlms +gdrsa + +ehurysjqofmtk +ytrfmuokesj +yvjfraemitksnuo +ueoyksjtmrf +esxkmwopgfycjlrdbtuz + +hl +zfo + +ieduqnyk + +gpjisdyezo +kynwfce +vykerc + +wh +wh +h +lkho + +i +xhl +x + +utzexphayjw +jyzwuethapx +thpueazwjyx + +rk +kdr + +oquelchwfivxakjmrpyzd +mjavklucigqwoyxezrpdhf +xzcuohkplafmwjdivqyer + +uy +yu +yu +yu + +wnkdo +cpkogadyvqtr +fdokh + +mxgktesjocbl +hetucq +ypizcret +evctaz +qtce + +zlidyjfbhopmxstcnrk +epqbhldkyzsjnfaoi +lkbnjisydhpqzof + +eiagoyskthn +hgxtaivrmyplukobz +gyokihwat +gafytkihco + +utxdvi +duvixt +xituvd +uidtxv + +oxeyucapbnk +wtxmklujney +fxesykubhrzgona +uefycnxrvk + +qpjnoavemkgxfuydlr +rwqucktobjelyd +dqrcuosyekzlhjt + +jvaecytfpmxrdq +safuytleohkxbdvcipz + +oizutcswja +uzwcti +wcuzit +tzwiudc + +waphtlmdxzckqirb +mekftdrwzhjqxsplcb +tzkqdplmhuvy +hxzcrtkpqflobmd + +glrfzsdbu +rfgdlubs +frwconquxylbsagdh +tgbfslrdu + +dulbtwyp +fgct +trhkxa +nejhstv + +zjgdsavc +dvgsacjz +sacgdzvj + +fjsgwkziy +bwgitfk +rhkdpiwg + +jfygdqpchxneb +jpwxzsbn +mrajoptnlvbxu +mxpbkwnji + +th +fht +th +ht + +kijvchy +aivjkhcy + +fsqtcplo +tlcosfp +slocfpt +tpflsoc + +gkc +gqck +kgc +cgk +xckg + +swqxzdtmfplhibyjrevu +izhfjltywpmrqbevdsxu +evtxzpflqrjsdbhmwuyi + +kdmbvqcg +pqckvdmb + +witrzdagcbyux +irxgyuazwbdtc +gazbrywcetdxui +axinyzgrcdbutw +trbagmluciwkdxyz + +uwbhvdy +wuvhcy + +ygjqzpdrtsi +psqrtaidjgy +kmsghxlqnidtjp + +cprkdbafqlwuihgvys +yubzxwmvogderf + +xabnqejdtcw +dqtfejnwbmhxac +dwnbcjqtexa +wvabnxqyjetdc + +pzo +zmnr + +v +v +v +v +u + +lht +qlth +hlt + +lx +xl +lx +lx + +eazpcoihwxmtudsyknrq +qldaiztcpoeynskwhmur +cobzyspahgrkinutdmweq + +qpjm +elqujm +jqm +jmpq +mjq + +oltnpgsmhbqwzexvikudyar +zyxqhatrgsenwlbokdipvm +eshotqirdnxbyklvwmgzpa +zeaqwofdpvxytrikhslmgbn +alkrqdxyeswmgnvzbhtopi + +wzbhmvrtiq +wtimqvzb +ifcobmgwznvq + +fgwtjydp +gjtwpdyf +pyjtdfwg +ftwypgjd + +qmsfcxwdopnj +floqiwdmx +wxohimlfbdv +xakwymterdozgu + +vrlq +ulhdwsmr +hrufl + +gohrfpw +brzdtl + +nhso +hn +nh +chn +hnd + +myzkfxprtegohl +epntmxyoglr +tyqgiloxnperm +dgoewlrabcytxmpjs +urlyoxmpeqgvt + +aiewv +wrativ + +tglwzqhrjexkf +fuazgyqkvxrj + +priylwgbfn +gmlbpiwfn +qdbginlpafsw +rinblpfwg +niwplbgf + +zngjkchylqi +yfilnjschgzeq + +wvmbrui +wxg +kwjg + +ljvueoishfzabyw +ruwkeyzigsljaof +jyiwnzleafotsu + +mcxv +jmwg +ktsnm +toim +mulyfrze + +ku +ku +kuvi + +ulotnbfrqcadkmjivpxgeshy +qcegdpwszryvjnuxmbohka + +rfikmej +ctagoqzldvhnxpwuj + +xpjwiftdynkcz +dxvcqtn + +nelkupxgrmtijasqbv +qvilfbksnjgtepruo + +x +y +d + +qnzorg +rqzg +grzq +rgzq +gzrq + +wqmofz +tlm +ml +mp + +bfszturqkoxymjh +hkfuoqrzemstxyab + +xevanum +efvmnax + +bouykivwld +mbrnfczq + +upvexa +aexvupsy + +c +c +c +c +c + +h +t +t +t + +jati +tiaj +tiaj +tija +dptjia + +vksjnyti +bvlksta +tmxvzpsc + +ksqwt +stmqkw +qskwt + +xcupr +iue +uwt + +mznesjqwdu +eudhitwm + +jmslovq +jsdcvgb +imsvj + +oiva +izo +ig +crhi +gizj + +wlecpsqrdh +rdextqhwpc +prdnhcaeqvw +rwdhpeqci +qurwjfhdlpec + +tkaoh +xjecrywq + +xeni +gvt +eft +pomsjacq + +cxv +q +t +u +r + +qw +wfq + +oabsdwtgvqiuphnfexjlzyr +ardwyhflepinsqvbuzxgj +rswgxjdeyiphzvfulqncab +ywxvruidnsazlpfhqbejg +dfyvncgsiaezrhlxwbpjqu + +jeklahmztuxnvqgc +jlhmekvugtqcnazx +hamkqunjztglvecx +muckejgalvtqzhnx +zkelhjncqaumvxgt + +bwikegxcfoysruqvh +htpucnivmjzlad + +qntrsyigzmha +aqtspyoxi +bwuvsyjeadiqkt + +sfyamuxco +jdqfykzigv + +plbctxfsagrdmovyz +oyhaesxcgznlmbpwvrt +pzdibfsocrvtlamxgy + +mkvdbpt +dkvbtsp +xbkptwhd + +pgldyjsqunafzit +olbzkdscvymhw +sybmdzlxore + +pujqcnoeisagyv +qjcevnigaypuos +ceunsjqloaimvygp +niecoypusavgjq +puqacjoveisgyn + +ilhxmtzjs +jsitmhlx +sjltiexh +lxhtsji + +aiforvklhzq +zivlh +lgzhiv +lixjvhz +ihzcvl + +fsztenwbpuqoai +cpvkthwdlrjuy +jwluyptg + +qdjgnkzsputbvhlyoicw +rjipmyqnfwukstcoxzghblv +ucjyndisqgwvpkolbthz +nbjsizouwgcvplthykq + +bzuyelgj +ubeljgyz +gzjbylue +zljgyeub +byjgluze + +quk +ukq +upqfk +ugqskz +usrgkq + +ftajvlypimzxshdcqnkwure +dnclmiyjrpzxeatskhwufvq +dpxkfzuevlatsijnrmhwycq +qnjvmukyciwzxpfdahlrste +fmzcxnaerptujisqhklywvd + +krty +pths +zcotin +uyzt +tqladvbejgw + +kcyfjpzre +fknbmoajc + +fwzliqbamsg +biqamolzswyjfg +zslamfgwqbi +lxaqtvnhsfmpbcgzweui +afislomgzdbwq + +vroeixdqfcwszaukygjlhp +wrmzvklhgoyxdciaejqfpsu +cqghksdzuwjvrflxpaoiye +dkxwcrpszagifyjlqhoeuv +vqkoywerdhgusaljzpfcix + +nfcuoishtemrqyxjv +clrnxheqvoiuytfmsj + +tkrqbu +ubrtqk +rukbqt +kqutrb +gbutkqr + +xie +ixfe +eaknmyi + +mjlreiaczpfbs +ibkehz +bezwxio +izthqbgue + +cxegof +qrotsf + +zslba +lbzsa +lszab +lebdsza +wbzsla + +pnrdfmhqgbyc +bprgnvhyd +nhpdzeuaiojsyxrgtb + +noeytqbsxfrl +obfntxlyresq +exybsrtfqnol + +iwyg +ygiw + +fcha +wma +zhanpwe +lzfaneck +bjuxogiavqt + +pbjwavkdhczy +baywzkqjvce +vsjygktbczwa +vwzijyblcaxkmou + +ryl +rxq +akcvpwr +lr + +oqzty +yitqozg +zqoyt +qyzto + +hugtzim +ingzchuyd +pkhuzsljxi + +jx +xi +x +x +x + +ofjhxmvksergiwybtcu +tolphrazkdmnxvjqbgwfu + +fxchrgezya +egyavxfzhu +qazgfehxcy +yizpxgfhae +yefoxgrzha + +fdeycphozusnrmlqxbgkatij +ibcljzfekypxraosntmdhg +rclgbmydkifnzhtjsxpeoa +ackshxdjemipfrgyznlotb + +wumlxodgzvq +xrzkoqgmludvw +qzulvoxwmg +wugolamjqisyvx + +jizxyhqgrnawmpueo +pasuqmtjnexolvr + +xkguqypbe +osgkvxueib +nxsgekoub +gekvdxub + +kngxpdyotlzfejvswcm +qplsjgtownxahbdrkfu + +zjqeomhnt +tojeqhmnz +mtjqozhne +ejozmqhnt + +syzqrhiwfp +hmqewc +vbhsqfn +tgaxkhqlo + +fyhucdtvsk +kfhcvudsty +stbnyhuigkdjfc +tfycshvduk + +rbhqwkjdvmpxageitnoflzy +xkthmoywqeidjplagszvbrfn + +ktpfmlvsw +mvsklwtpf +wfptvklsm + +rnlvdy +nxrcl + +elwycpbnf +ncywf +wcyfn +fvcnwy +fywcn + +bckpqzdwosyfvnut +oxpvukncbdwfzqtys +fzwpdtvybnscoqku + +cbmrsxdipyfnvjo +mnpabkgqslufwx + +kywscxvhq +vruiyhsezt +fjgnmy + +qbjdkgltunyfaxsp +psblakjyedthnu +punsydztlkcjba + +bphcoy +hbpoyu +bkopyq +atilojrpmby +pbyou + +ibluxzvfswnghc +gwsfplu +uglsfw +lusgfw + +sjlubyimoegkpftdavhcrqw +amouhdfilybrjgetpwq + +orawjpscyfdnelztqbh +sawekclfpnbqzodth + +ntjuvmwpycf +szjagiteydvnmplfwc +myrhnvxwpcfjt + +rdosc +rdosc +dsrco +rodezcst + +ncugi +nbgwup +ugn +nug + +n +n +nl +n +n + +ntflyovsdhmkcgp +kantmvyrpdhglio +tnkvpidloymbuhg +ohtvdypnmzwkgl + +nxqs +nqx + +jp +jp +jp + +ejskx +oryamnsvzg +hdjs +uwtsh +sh + +bpcugtovs +gweokzqstjvlp +gtduvshopria + +uthdirywmvgbxe +zugeithvrynm +yoivghmuqtr +typsgmlfhrivuk +erdvuimhtyg + +eydpbq +dbyeq +yebqd +webdqy +debqljtyv + +munbwc +lnvu +nu +nu +ynru + +gftdzau +gufszr + +fyxzhbwnuptil +sygzkulwpqfinht +tfwuihlcypbdnez +pnhyzmulwfit + +acryonbgetshwjfxzml +ozhmrcfalxwytbsugej +ehybxrfjcqtsozawgml + +z +nfej + +mhvxlkbtuyo +hfxqabklvygmc +ykbmvohxlws +ekbxvrhyml +yobvuwhlekxm + +ambpsyie +bcimpyase +ebispmay + +lydzmsgoqijxkthcewpbrn +ynlpjgqrztobhmkedxsiw +jpwrluxgbismezdnyhqtko +vrdkxhnjgeysbtofqmwzlpi + +mvkyralfjqtu +iazljont +tzdclaje +ltgjza + +nsizhmgdoewlvx +lwghmdxzovnsie +doghnvsxewmlzi +lnswzoivdmhgex + +cadutlrvyk +xaouyv +vygua + +z +w +n +n +n + +xjlvfhcgbqyozt +zcyqbtgvljeofh +yczjfqouvdtgkhbl +gbvzflyjhcqot +ftbcoryzgqvhjel + +fnkspvetum +edmstgnqkjvx +puesnmvkita + +ytrbqlwcvusz +qmjcl +qcxl +hxgclq + +ldg +d +d + +sc +cs +cs +sc +syc + +axpdoftgkme +adleukosgxfmry +kgfeonazbdmx + +muxqr +rmqxu +rxmqu +ruvxmq + +qhidvckgolepxsuj +zfvinabmcewpkgt + +pcvmxbdo +wyodpmcx +ojgrdxcpm + +jimg +mljsi +mji +ijms +imhzwj + +jfkbp +zndqof + +ed +tdef +capdkyize +etdf +edtqv + +vhm +hmv +hmv +hvmt + +vylapqueifs +vpyqilsfaeu +paqefisuyvl +svlepfuqyia +eufpvialqys + +jowmpltbdxyrvu +mudxhrcbfzjqslwptk +dbrtulxpjgywm +uwpmtjndlbrx + +ilnxbpwdrvuokfjgtzec +inxbtyczgfjwdlveour +ohznidtmxuawbcgvlerjf + +q +q + +xmjs +smwj +jsm + +cyfp +soxgrjm +pu +kfhe +tw + +rhuey +uyhrge +erhyu + +d +d +tmd +d + +muciswt +stmic + +ldxnfy +nqler +nlkb +ln +lbn + +eyqhbgiwfkjlnx +wtekhamon +zcseurhpnk + +xumhwodpjfgalqns +gozkaxbrwvc + +kioucnzelsy +foyuvzceiknls +ksenoulzycmi + +nefyugdromqbiksz +isomrdufqbkgzyne +pesmfngbrkudioyqz +gsmtfeodynqkubrz + +xskygfdipzwchrlvatb +dhgawjcpirkmvtflzbxys +izrvshfbdwlapygxctk + +mb +qzmayl +fmt +tmh + +csjthr +tflbks +bstfpda + +qojyvbtusn +ovsxbhqytuj +weojbisuqytv + +aepz +eapzb +apdezm + +syoeagjvfl +fejtvnmqxrphzlbc +fgviejsukld + +ylbqv +qlvby +vyqbl +blvyuheq +qyblvz + +evusaopzdy +zvypducloea +udvozyepac +adystoeupzbc +gzmpdaeqwukyo + +fglqnbtpra +robpaegfktnq +mntqfaiprklob +prjfybutdwaqncsh + +q +y + +rcz +zrc +zrc +czrf + +rh +rh +rh +hr + +aynwkrpfuvhcblqtzixgeojsm +mvtpirakxuhwfyjscbqgnoezl +mlcuqzoihdgrxfvyswtbaejpkn +rpialswqmbnvehcyxjfuogztk +amkhqocevbwxlifsyrntzgupj + +rljduyhgnzwkp +kuydljrnpgwzh +uykgjwrdplnhz +ngdwzylhpjurk + +wexrly +yxqlrhemw +rywxle + +t +e + +pxhgaqjv +rnjxltuqh +myqfwekcsdix + +gwdfvsolhup +vlgdwuspohf +fdrvuwopslgh + +zhsrfjbcndwqyvupgakemoxlti +xhtoyfnlwpzuevgdmbjircakqs + +ldgebj +jleg +jugle +glje +egjlu + +jlnzs +nj +jn + +jfhdwsg +ltkpanyihejxsg +hsjrgmc +gmsfoqhwjc + +evjngcfizyuoslpb +ozbsiefngjvpcuyl + +pjbred +jdtbkp +awdbjko +dbj +vmdcbjhl + +iudzrx +agykxzu +xukzpa + +ou +huo + +l +l +lb +l +l + +hfpw +wphf +hpwf +lfpwhc + +wajmh +tqfpcselurxi +kbz +ywg +dkz + +sgw +cyezglipksuh + +oexibpzgr +pixobge +xvucyptmqib +bixozp + +va +o +wnjky + +zevpulnqaikdmwsyotcr +dzvkjeinuslfrchqmgyw +vezxklwdqynursmcfi + +id +dvi +sdiz +ids +idq + +bmpxyk +cnykjbmexo +xydmatbki +dxbymk +myxbk + +atzibcu +ticuazb +icazbtu + +nypbqmhuc +sjqzoetl + +dxumvboftrwzihclgqeyk +mhrfecdvzgikxujyqtpwbaol +nkobczmqytrlefviuwhxdg +vgcelwryqhznbtfxkmiduo + +fzxyjegvadrltb +rgehucmqpn + +nfrx +ufxkverj + +haqu +qk + +fgchqktrynjbwduia +umnljcwifthzqpovd +xwenjtqihdrucsf + +zkjmoyh +oyhmzkj + +xdsoglwprq +xlmwoqg +luqxwyogm + +yp +bgiw +l + +liefqvj +jefiqlv +efvljiqr + +axnpoecuwibslgd +xeougsnz +smxgueony +qexumgzonsh + +wua +adwiu + +n +nk +n +n + +maijgrtsyn +sjytikamrgc + +cwnetku +gilvzhsa + +hywvukqdmjiezrbtnplacg +ejinbtdzwgmkyqhrlfcap +uimwlzrnkbqgjvtacyedhp + +grud +dxuerg +urdgh +diugr +iurdg + +tfwiqjnmbue +puylasdgzocxh + +ysghmdqol +omlqhgd +imqohjdxrgl + +fkayurzxndqieobvht +qmrnbfkahieowduvt +cefarktbvhqiound + +qptdrbmzgk +dmbq +lbfcq + +tjxkogms +dcphwbfulxenrmzi + +ohreptydvgsiwnubkz +vbgkoshpdluzeyirtn +xiqskhnadmjtgyvbrpeuoz +oknhrzvgbepysutdi +ynegfoubrdctsihlpzkv + +zrn +rzn +rnz +nzr +ndrz + +hpgliyawdbsrxfkqjen +rsdielyjxqakphwbgn + +qvcjphegszrt +tjcaermgsvz +dgcjfuapeozhsn +gwexszycjkibl + +cmsjwrbudoi +ezqwslombvj + +glw +elo +mrxkctaqu +hnsjf +jwvbi + +kotwglnpf +pugtlxn +npltg + +gdxpkcyuqezlonsfam +wjpsozehatqyk +izykpvoqejas + +xbjouepi +samvuxp +xvprzu + +rq +rq +rq +qr + +ocvehwzqfurayknlix +uxekyhclarqwonvifz +wdruxcqnkohfayezliv +oqrnxawlhycuziekfv + +xpcgsrelqw +mwdrceplsqx +pehrjxcswlq +seluwdrqcpx +qwpeucsxrl + +d +u + +epijobawgtdqrylszxnf +rwpxfzbeyosadntqjg +fbxwyrcepozajnsdugtk + +dtecfku +eiutfkr +tefuk +fteku +lktuef + +dmrwnhbq +oimnyltvqphze +qchkmsajn + +nfw +nwf +wnf +pnfwq +wnfe + +brw +rbw +wbr +brw +bwr + +pyuxqzbcnmrdwjkgsoe +jbudewcygrsqxtpmozn +gzsibnfydwrcjvmxkuopeq +whnoypqjrcgulszmbdax + +pdfzoknvgbr +fgokwnzebdvrp +borzfpvnkglh +krfgplvznob +pgvmnzbcfkroyjs + +jgszrlwvi +wvonhpy +dnfmtwva +kvqdtyw + +xrzhqlgpevtcwm +ehglzctpxqrmwjavu +clmhowtkgpiyfqrnbvxsez +vpzhmrxqewdgtlc + +waztysmcegnurkvjqdp +vosdabjykpmgzcnuwr + +bwutrjc +urbjwt +jurztwyb +utbjrsw +zbwutjr + +zeckigrwv +zswgrcivke +ceywkizvgr +kziyvtwcge +gzfanbvwxmceidkp + +n +n +n +n +n + +mzwbnksrt +tomrwnkzs +mknszowrt +ktrnmswzv +mtwnrszk + +y +y +y +y +y + +rmbditwshcfkpjnozavyx +dyftmzojakhrpcwxsvnbe + +avdbct +dvatb +amdntlovb +vadbtc +bavtd + +ruyvefoqiaslcdkm +iaouvsmyefkcdrlq +uqoescaifkbvdrmyl + +dkvxyjsbwhqac +pcjbqyaeuvgfostx +yrdxkqjacsbvm + +ugepzw +derzibs +jyokqvmal +fhc + +qupyrj +ibmzegkto + +xksviqnyurgw +vkbnurxlyqg + +opgw +smbvpg +bpds +gjp +fpta + +xtlncsiwjhbygrdoumzkqvaf +olsxbuwigdzmhvtyrajnqckf +lajzbuqswcnvhkdfomxtiyrg + +pakwbfxuq +wxpafkuqb +bkqpufxaw +axuwqkfbp +uxwbfpkaq + +eqsgztjkimn +nqjzyst + +cn +nc +nc +cn +cn + +rv +rv + +pbwsuy +jshcqt + +vbjkzyprhm +jkmbrezygvhup +rhjvmbpyzk + +ochfjrqmy +qrfocyhmj + +ksrx +hcrbzu +rdc +jrcp + +soixrchpvek +qbtdocpixwalfvnkm + +zmtlj +zlpyjtm +rthxldmjaniz +zluptjm + +rcyshqp +jbdnpe +zgp +pnjtz diff --git a/day6/part2/main.d b/day6/part2/main.d new file mode 100644 index 0000000..5a1309a --- /dev/null +++ b/day6/part2/main.d @@ -0,0 +1,51 @@ +import std.algorithm; +import std.uni; +import std.array; +import std.file; +import std.stdio; +import std.range; +import std.conv; +import std.string; + +void main() +{ + readText("input").calculateTotalNumberOfQuestions.writeln; +} + +auto setIntersectionRoR(RoR)(RoR ror) +{ + assert(!ror.empty); + return ror.map!(to!(dchar[])) + .reduce!((r1, r2) => r1.setIntersection(r2).array); +} + +auto calculateTotalNumberOfQuestions(string input) +{ + return input.splitter("\n\n").array.map!((group) { + return group.splitter.map!(person => person.representation.dup.sort.array.assumeUTF) + .setIntersectionRoR.count; + }).sum; +} + +unittest +{ + auto input = `abc + +a +b +c + +ab +ac + +a +a +a +a + +b + +yx`; + + assert(input.calculateTotalNumberOfQuestions == 8); +}