diff options
Diffstat (limited to '6')
| -rw-r--r-- | 6/input | 2172 | ||||
| -rw-r--r-- | 6/part1.c | 37 | ||||
| -rw-r--r-- | 6/part2.c | 44 |
3 files changed, 2253 insertions, 0 deletions
@@ -0,0 +1,2172 @@ +su +egu + +h +h +h +h + +cpuqz +cfqu +cqekuv +xunqc + +hsaygprt +hsfatgyr +srtagyfbph +rgqywhsealtx + +aefomnlihcsdpyvxurbkq +ipudhrafbcszoxmeqknv +hpricubknmdoqsjvfx +uiwohncxmrpsgqbfvktd + +tvruzqbyspjdfalicehwkm +haswlezrvxjbtckfyipmq +alzkjcqpbsfmetihuvyr +rkjibhvylpfqscaemzt +zjctmrhpseqgfklnibyva + +ix +akdhy +felrouzwt +ygs + +pifgwbtvs +gkwbcpixmt +pbrgitw + +vex +iyhmwl +cks +fj +dzsfn + +xsvmdzrpq +ipzmvdgsxqa +tcouzvhdqxwlspe +psjydqizxgv + +sdcgvhx +ieupwazvdxq +vgfxd +xgjdbslv + +cla +aj +a + +unvhtezsdrxjyka +sruxtezyjhdbkav + +f +s + +l +l +l +l +l + +dqlpmwrfuaeioc +kzpyiembgthnj + +ks +qoh +cftlim +ukv + +ekfwgpbaurcqijdvhtxznl +tafuqxhgjkizprsvylcedb +eukbxaligpfhdvrqtczjm + +muikcbg +ithfkq + +ojdwcsigaflpykv +uzjmbhrdlxnt + +v +v +bv +v +vf + +il +li + +sfqoutzki +erfsuxcjqhtk + +op +gbepq + +vtzpwj +ijmxtzv + +zvoxpf +bwiexz +birzwxq + +h +f + +pjiae +pjkyza +akzptjb +ajipz +sjhap + +xerdismyblco +yaiowgpsedtnzrhx +dilmokqxybrescu + +bxeclkt +bighzytlw + +itokcrbm +isa +iwuq + +rqcue +pisb + +gpdmiyet +mwtgl +gmtdz + +hrselofawdu +roadesjfukh +sopadrhefuj +drusaofeh +hsdoekafur + +matixrjqfw +traxmfqwisj +ajtqkrwmfi +ipmwjaftvrq + +eyvmb +bht +nkpbw +ehtba +zdrsjxblf + +efpgnzjdabsukr +kjpagiumfsbedzrn +djngsrapubzefk +kfbzpeadgrujsn + +pwnqbhjv +vwqhbp +qwbhvp + +sdlizutpwkfbhjm +sdqvrpuflmwjz + +uxahnymvs +xnrlpebt +gnzlxjfoq +kfzxn + +amedtwkgxcypbrqnujvifhs +saxvbymtfrhgdiwqjnkcpe +erjkmaigvdfxcnbtyqhwps + +ivb +vbi +vbi + +gme +gem +gme + +h +p +e +e +e + +b +b +b +b +bl + +t +l +l + +zda +efmil + +ulx +solxwu + +gclsqwx +cgxswl + +qawroeb +owfeqlzxbn +igratbowseq +otvcqjbegw + +mcahbeizsjovynpx +nsbdiclahpmxyove +qgepcisukanhmwyv + +cogbsyu +cusogb +uxoscbgf +bpugchsort +bgocmsuv + +jxigcazhlfsruwetkpynmvqo +drkvthunlgcsyeaxzqpjfwimo +syaeqcvmuxpnkgtwjfhbozilr +mgczoqvyhjuxreawtnkfpsil +acouwfqpjtgkrxyzivehsnml + +xpyldvrbug +falxpgdzuhsvrt +ldewxuvpgrtm + +jzbpury +hlgzxrkpouavq +emirbuzcp +wnfumipczrb + +liydasvrkgqe +ayidqgrsvel +vdjygiulearpws +gvedasikylr + +ikatocyfxps +spaoikxctyf +ckpsxfioyuta +waxiforkpystc +xcmykipsftoa + +zxleoadsyv +yovaleu +veaoyl + +qnmkplahgtubszedcij +pscidealhtqjbguynz +jqseucdgzbpilanth +liahqmuznjscdbpgyte +avqrielhntdjzpgxubsc + +uflmyhndsqboxv +mnlofduxbsqyvh +kvoptzfmrgysanuhxblqdjec +dfsnbvxolqmyuh + +ihrjpxygmfudqwcaoezt +jdlbmonxwraiqyctzhvupfe +utfhadqciozemwjpryxg + +mcy +my +ym +aym + +euktqozh +qvjfhalk + +ziblapqkvhcmdte +lfqkvdeaicmztph +mliqbcvpkathz +ylwiochpqmtakvjz + +oahnmutxc +hncxomtuva + +kfnsgxhiyzcbjmwvloe +ezciqlkbmspnfgx + +fatwrkenzmlij +rftamzejnskiwl +nlifwzaerjmtk + +ygpdfunhz +ycfquwndg +ygfnud +nfrygudbt + +wargt +vzumj + +pevirabdgyntjmfzxu +fbajcpgwtmveixnyzu +fqkgtevmuiybnjxapz +gufjytsplnvamozeixb + +n +w +wsp +y +dheck + +dyltqraen +tpsgabzmoexn +rvkailytneq +tfnayeihu + +ewsxrgjbqyno +qmswbxnjogrye +gobjqesnywxr +bsyexgrnwjoq +rbjewonsqgxy + +stwikjqlp +lrsiupwhofjtk +pljtwiks +pwkijqstl +cslkjtwpiq + +tpdekxavhynbmwq +cplmqztabw + +tagofzql +leaoktp +ltnuaoxv +kylztoa + +cyhkmbsxfwjndv +xykhbcfvmenwdsj +ycfmjwvnbhxskdz +ecvmhdkjbwsxfyn +xbksdmhwfjvycn + +dwhonqeszgyucxip +ilbhvtupfksgzm + +oazfpt +ozfpbt + +yxor +xrbe +brxe +rx +erx + +d +d +d +d +d + +ihnyoscrtazjfwme +jibycpvemkqzas +jbaivmzxsgecudy + +kmsp +smapk +jmpek + +wbeoh +zon +fzoq + +cmbwrupzjkq +qzbprmkowuj +rajuzkbwmpq +ljrpxbuztwiqkme + +ijnglzsbcqfawohpdxmtve +aqpzxbndsfgtomwlvehjci +ambcxwlvdzqftenorgjsihp + +rbjtkm +krm +mkr +mrk + +qjkdftrpnumcizayl +wqplnjcudgxzmkriatyf + +qlhrxgeftoy +bzorhtyxlpqegf +egbolyfxrthq +etflxyhoiqrg +fyruhtqgoxel + +ydogmjnixtkw +yminkvjwfpdqgo +nigxjwoykmd +igwjnydkxom +nikydjgmow + +s +s +s + +mctyqjebhrx +jmteybcxhq +vmbtseyoxhacdl +miyeqcxhtb +cmuybexth + +j +jrn +j +j +j + +gjwhqzotyivsa +dncumikebpr + +rjgvkwqib +dumtbxzowfylh + +oge +eivjdbkmcywg +eg +gfoe +ge + +qebcdswmkoygivfhzt +hxyztepdnocigquwvbfa +dgtwcyhfivboeqz +cdhbgtveizowfylqk +yfzbqhlvitmcgwedso + +evhlbqwtrfx +mlfbwh +hbflwp +bfwlkhim +whnfbl + +pcrf +crhf +fcr +cfr + +okxihbndges +cfheijbgqotnsk +yngobhskevi +rgknsoielhb +dknoeisbhg + +nztcvyikjfx +fkityvjxnc +kjvnfycxilgtp + +tjlbadpizowyev +qehgkdrzbcvotlay +falbynztqeodhv + +x +x +x +x +x + +ausbpe +sbeauop + +ftgly +bf + +erhokg +gekohr +hrgkeo +ghreko +hregko + +ag +ga +ga +ag + +vempgsokyfctax +ckonsxfptmyvge +yxefdorjmuzhvpsgwbltck +esxmcvgykfnpot + +thob +obe + +xg +qyalvxc +xg +x + +sqyowmanjczfebkulxtvgid +fahgqzenwypcbrmtvjslok + +zohlmctqxnueg +jhpbgfkds + +fyj +cwojdbf +jtf +rfjt + +hycpvrmfqlngu +vmqcypgunlrh +pqmhuvylgncr + +rxgswj +dwsybphk + +pcozvsdx +kvznm + +xneik +xkin +xinqk +nxsjik + +btfdr +jbqcasvpd +tkubd +ubdxwr +towilbd + +bfjidznx +nxbijdzf +jzfxidbn +nifdbxjz +nzfbidjx + +kjnydrclqeiumxg +foidejlnxgckm +coinexmgdlkj +lpckgdvnhmjxei + +upnhgfa +uhfpn +uhpfn +phufn + +hvyqepkfdsulzb +kfdepzvyhqlb +yezgbkqpvfdh +yzpfkegqdvhb +ykveqbfjzhwrpd + +lvndux +uxdnlv + +skymq +yqmi +yqzm +zymutq +qym + +lgnxbpzsce +eczlspaibgt + +raimheuwjdlsvncoypgzbqkxt +gcwavnjedbxsyfkqlprthuimoz +gjszrpmaxbydoktivewhlqncu +tojqzuenragvmxckiydphslwb +xeacszmjuliyvqdgkwprbnoht + +eahlnzupx +ulhmektsxdyjz + +zulrwsdaq +rqilsadz +tarlisqmdz +arslzdq + +pwzjtoafs +pzjwoafts +joafwztps +fzstwojap + +qbsykroiwcmzugealpxfjtdn +rcketgxqjupwzbymofaidns +kbngvtqdysrpumcejwaifozx + +vxpyulwietrmfqbo +tyeqbwxprmvfl +jlqismvbdprexwtkyf +betvyxlrnmwaqfpc +pqywsxoerfitvmbl + +osgilzptxmyhdwnbkjucvfq +iovflbqpkshyxdcjtg +iphsqdgyjfcevlotxk + +pdmxwbrzyk +orxtiplgmeua + +rkeaoq +muncxwzvjtfp +eyhkiqso + +acjpbvh +knmspwuebjyvgft +vbjpd +pqbvrj + +spld +qlaogwv +fhzjnmixyrut + +khmw +sjqdtwk +pckw +okwjz +ybvnuakxwgr + +js +j +qj +j +je + +sdqftlargy +jrmtgfaydoizsl +rtdlwafsyg +rtfylgwsad +adgltwryefs + +ujxfzvaptw +txuwfjzp +vjuzfatwxp +gnzfxptwju + +ltnfhrdwxv +dnwxtprhfv +hxfdntvawir + +sd +tl +dvytb +cv +pofkherqumi + +bnhwe +iwesc +swe + +xgukzobv +xkzugbafjrov +ebxukzgvo + +yor +ior +ryo +royk + +wj +jzw +wj +wj +jw + +pigbdcozntylm +toxilbam +bixopln +bvwkrloiefuh + +eduk +uekd +eudk +ckdue + +vulk +klvu + +jeyafmuqxd +aoxfed +edxaf + +sjbkveaymcdtgx +gtskxcyqmhvjarfn +jrngyohawxkqmpcvst + +fmubgnqisdyax +axnydgimfuts + +nzkrjofhqiubspv +fksopnbuihrjqvz +vhrbipqfjsozknu +urfvnibojqpkszh +jvnpuzkifhobqsr + +ctikjyqxempoh +comiqtxhjpkny + +whbdemfkursty +ryfuqxvkwmbesht +tkrumwhfsbeya +ryefhwstbmukn + +xnd +flrakdi +rlps +ehqtbzvjgcouy + +qvwihfpbd +imsfuvbrwhd +fvhdipbw +vhifdbw + +uezrmltpvhd +fykjilqzsac + +davlkgpqbwuc +bgvdnwlcuakpq +abuwhqckgzvtdplr + +nd +fdrjxc +a +bmzeuwq + +luopqihwtygjda +hodyuwapglqjbrti +agwqcijhduoyplt +qypgdtjlahiow +ljpskhxvqwyafiotdg + +nhkdmtw +thyknm + +jnfxrctwgqahudmoiyvs +axdtfwsonugzimcjrhlyqv +atcnfovyhjguxqimrdws + +ue +cm +xrnozk +a + +n +n +n +n +n + +fojreag +e +enq +etdzqm +eb + +wfsakpx +isfaxk +axwskvf +xeldakfsu + +kzpwfxhab +gfkqxdhtpbwz +pfhazwxkb +wbpzfkxh + +tbcn +mg +vbkmg +au +sfz + +vangwftohxdbrzy +vohwdnbraftxzgy +xvozdtfargyhnwb +yardwbvhtofxzgn + +irfa +irawf +iraf +ifra + +jbtsqvywarn +bajcviqwyrt +kutgqjmlxaryzbvwo +rwsqjevdbyat + +iyhg +hyg +hgy +gyh +ghy + +qwidmahzfcueoskvlp +fkysbnihvumpaegtd +kaemjsurfdvhxip + +oujsvbwceghnlpzxraf +ecaogrvjxluswpnfhbz +azexcujlfosbwnvgrhp +busrxgazjvpcfonwhel + +ughqky +ntdwhmblxearjogzck +hfkyg +qighsk +khgp + +cuzonhjegy +zujhocvnyeg +eoculrnjbgzywh +hjzcuyoegn +ugzvhcemynjo + +lrigswxvmcqofua +owxmivacesurglkjq +wcmaqsirovxnglu +lisvmugqxrcofaw + +t +mj +m +j +zdl + +nmsexwigtjulcy +favyolnmgqtbrjkw + +w +w +w + +gxu +utx + +mcgfu +g +gr +rg +gp + +rhjaizdkxup +erblofajmvspxt + +zt +tzf +lxmcowgyk + +q +rux +q +g +q + +uantxs +snwukxvjo + +rixtwvc +vwciatx + +ycipkftmez +yimcftepkz +empozcyfikt + +aijwrvfmgyxlbztod +znytdgfbekxlpi + +svqgfxh +nvkqgseaxh + +mgqxhbl +zkvgqlbxm +lqgmxb + +wq +fm + +ktydgbsziqehmjfl +ksihgtdfjylze + +ne +ne +ne +tenx + +vzcwnxfimj +icvxzjmnwf +vzcmjrdxiwbnf +wjxnmfzcvi + +dwy +h +ovk + +nbowqrxlpyzifjvka +zyvxrolwfbpikqa +vkqdwrbyiapzxofl +kzebrvfiqypaomxlw + +zjksb +zkjbs +zkbsj +bzksj + +oeimldgvybkrznxhc +ejfxokaqhzd + +esvbydlxc +nbvcxlyes +eoclzgsvxkmywb +eltvbcsyx +vnyelctsbx + +hbjpermvdoc +hmjpercovdb +pjchombvred +vdrobejphcm + +ipbeqnsmujhvtdkowc +bhmtonvedjkiuwcqsp + +a +eg +t + +vcmogkuapqrlsednzh +lvhzknodrcapxuetqs +nurkabhsywlceozdpfqv +ingvptqocaszlkurehd +skchauznlpvreodqg + +oaqcwxnjr +btdki +cahmjsof +vuegzpyl + +cvy +vyc +yvc + +pqrtafjgizcldshx +ldsrhuqpjafgctinx + +p +p +p + +bwjtu +ft +fbp +qosmg + +oixgna +wangjr +xomcdugal +agkftv + +tvzoq +oatqsvc + +xvnkdyz +kzdyafl + +cxaquiretkwplvyszm +cmlqxwuertsozyaphi +fjzpsbytwnrxmqadgiceul + +fnb +p +b + +xvjswmpu +fuwspvxm + +ofwkhlpbdarcze +eopfkwbazrhdl + +m +c +a +m + +cnty +ybonsp +nykrh +hnyc + +tunpiybzjvskxwrgh +zhfcxlatqbmdygwrosev +yzdvgmxhesrbwtq + +bflvmeipqojdngtyxuawh +ktdjovceibnugpsfymqxhl +vbueothjgpxfmilndqy +qjinbdmfoerpvhglyutx + +d +d +d + +vcmh +mch + +ti +bt +rwhfdxtsy +ti +tmbi + +ftiokrw +tofkriw +witkofr +tkowrif + +akfsdozrbuleytnjivq +vaefyztrjboiqskhln +ladtnokzvirjbsyefpq + +kyzuqsnpmclrhi +ulqznyrsckhpmi +zilfphqmucyrsnk + +yrtjqxbfmalw +zsfmbqajcrgxyltwkv +yqmjaxwolfbrt +pnxlqmyrbwtfaj + +qukbzapi +uzakbq +zkfbayv +tkaznb +qlbazk + +pzfdbhyav +swlmrnt +rmw +jn +luqm + +fmkgtbahndrqycowsplxiv +micuraxlznwhgbfkystqpo +ghrnsfwkcaoyimlbqtexp + +kougsrdnt +xtrd +rtlwd +hrpdaty +xrdptm + +nivmqo +ivqnmo +vmonqgi + +tluszyrbkhg +rhyucgzetibl +wyuetgnlrzmh +rhdzvluqajotgxyfp + +vhqmbdneyafzgw +lhwkvpaidgmyjzerq +hauvndomegwzqty + +jcwlh +lwch +ltcw +weyckla + +vcfrjqsgdtilbm +edltfjsrcmvbgih +bcylqfrmvstdgiej +fjbzklvdnwasmptcgori + +acyvqjfgopdzksmw +dzofksgmycawpjvq +fogswakdzxpcyvmjq +mwqzsoydfcagpvjk +agsmowfzpykdvcjq + +imxe +exim +iexmd + +zkxaqfudyi +yacupxzkdqebfr +xwfuakhnmqvdzly +bqfydxakzru + +ohaj +ajho +djoah +ohaj + +xmra +mpa +mwaqn +am +anm + +sgqjafrnbm +qfmrbjnas +rsfnjabmq +nsyjrbqfawm +mjfarkqsbn + +fba +vfo + +fncekxpr +epkbzds + +qrpejclbhaf +lzcirpeqahjbf +lsphcjfbqaewir +rpnehulvcqayfj + +ejkpzwght +tzkjegwxph + +mxtojefrbdlnkwaz +mnwzjrbkaxoietfd +daktrfexnojpbzmw + +zyeq +yzq +cwnax + +pvqzxgs +xfqvszg +xsqpzvg + +banycodivlqzt +mjbkheui +rbwixjf + +ltq +tlq +olxtq +iltq + +kerwtgcizshypfnxajdvolu +gueyjtxonfrsliw +lwruobigyesfnxtj +leqrmsoyfbigntjuwx + +qsfokthwrlx +dlxosjagmr +xljorvsg + +dgohszbxkmvw +gwzsboxvchkm +xkzohpsgwbvjm + +mquspzhxlgktcid +xqktughicmdlzsp +cusqlzghkptxmid +zlscphgxdutimkq + +vbrlu +rbdvel +lubvr + +mkwzhyinogvxfl +gwzovxnkfhm +bksxgwzmvohn +mnwvgxlzkho +hgevxtklmwozn + +m +m +jb + +fjidp +pjsid +dfpji +pdij + +nvsmdfhlzowxiqjp +npzqlhxifsvomdwj +dmfhsqxvnjwpzoli +vxoflmpdqzwjinsh +qsjwxoifldmnpzhv + +xthm +mtxh +txmh +btxmwhd + +b +c +kz +c + +ohvnbcapejswtmrk +awskorhblqjepvtm + +tvygs +ysvtg +gvsty +ytsgv +tvsyg + +oyzucnqkxrimf +quxnfyzmckir +mrfkcqxyzniu +yferzmqixkucn +kfinqcrymxuz + +gbuti +bniufgtw +giubt +igutb + +jgtmbxs +mcbsxjt + +huilkbsfytevzxwa +ibuhkapfyszedxrv +yufsaojhzkveibxg + +mnswgtfdojhazrbq +athqodnrgwmzsfjbp +wtgdoaiuqnfxshbmrzj + +wymeobr +mrycewo +oghswaxmzyufer +pemowyr + +vxcfqtzadwkmipnr +iuarmqnpvdwkztx +dktmqbnvwarzixp + +w +l + +nprsxahzgfjltmwcbie +zmrlbnegfxscwaiphj +xzlwhejamsbipcgfrn +pwrealhncjbzgxmifs +mzwbepsjarflxnhcig + +rqnie +qxnimer +ineqr + +ergmlia +jgtxbszvfhy + +tpbklr +plbtrk +tlbkpr +pkrlbt + +e +e +e + +ozqnktgywfjsm +ywfzxqcnomg +nqgfeczamywlo +dyfznqiomgbw + +sxzgtkpvyedf +txgeyfmsd +difagyxtse + +qoehywxtjgpdkavfs +bqjdigkxtwyfphev + +dmni +dimn + +tfrvu +tvaqruf +ruvztfwy +vuftqr + +ydlrkcnoqahzjs +fhlnkersbcy +ervyucshkln + +axkgudrfbvelt +pjuegtolfxdvika +evlkdfuzatgx +bxtvaefudklg +etxdlkafhguvr + +hdcnjpfkbevusm +mblvpcfjseuhdn +bskjevpcufdnmh + +wqnjbpoduamhytfkievszlgxc +xjlygvwsmhnauzkipotb +ixjknowtgzhbvumpylas +wtgnmbxriuhjplvakzyso + +tl +tjl +ayufcpid +zxlm +zm + +cnmwbldgaisjyzpfq +fjmrwsdibzqylcgpa +lozcsdmqfyaijpbgtw + +dtf +fd + +uqmtlwkfvo +yhpgrcdi +jhsnbezaxp + +cefj +tfjce +tec +wsec + +onazewv +wavykhnzd +lxsgvrzabmtcpq + +nbcrxusghzimepqa +psqieacnuxohzgmbr +xhgrbqcnfvuspieamz +rixebsnmcpazdgjquh +sngeamhprxfcbquzwi + +grydbjpzscfunwx +qcakmej + +idhbcqoxzfuvt +dtocbufh +tfubdohc + +yrp +ypr +pyr +yrp +rpy + +bxlkfmjhqawictrnyvdpgus +unbrdyifkgwcsmptjhxlaveq +tlzjsycbnifvrdwuaphmkgqx + +edkclbw +elwabdk + +iehpmokrctn +pydojmegufz +mpxoeayujw + +ewdarsfjpvlchmqiboxg +sfewicgrvdoxbmalhjqp +tsphvciwfqdgrexalbomj +vsxjleqokrfchybdpmiawg +rlqeiwpvacogmhjfbxds + +y +y + +vshoznkgwcdimrp +nzdrkoiehltvwsmg +gsjyoarznhwqvkdm +fshedmouvlrnzkwcg +vsokunwzrbdmhg + +t +t +t +ta + +paejgztcsxq +eszajxg +znjdgasxe +igxezjnas + +ufakhtvdmr +adfmjhvkrtu +vmktjrzfdauh +tumkdfvhra +kutmavlhfrd + +yxcnqsb +hpufomvwaz +lgai +agfdw + +bytx +xrt +rhdtx + +qcuypb +ycwlknup +cpuy +ucpy + +l +l +l +yl +zlx + +kradgyufzbxwole +xydwzbgfauole +alwugfoxbdyze + +rob +oer +or + +smul +lhms + +hxrpgin +oxpcm +xpmc + +ekcjs +nbkqpfjsc +puckyszjo +jsckb + +mtakdsrxwecgozyi +lijgwkmsratdxoyzu +hkrtxgwyiamodsz + +ucnfl +nuflc + +uoh +shog +osh +oh +hovazw + +aywsjgbkn +wgbqynskij +ybsgknjpa +ykqsbgnj +bzsgdxcnyjke + +zwlxdg +wxgnlm +gdjwlx + +vfkurtlgnqpszwod +nvtksfduzwqprglo +fkolzvndqwgurtps +oklfvqwtzgpunsdr + +rbwfldicv +fopvzijb +hukbvgfqexyi +rnzvisfb +dbizvpaf + +ruhvznkbqsxpmla +zhbxpvaqrmknuse +zbsrukpvnmaxwqh +azqrbmnsxkhvpud + +onsfuwzlx +olsxufnvzw +ozfluxswn +oxwufzsln + +xgzhikqe + +pmwhykbvjduq +mxpfyjuvswah + +eylbn +vebjwf +prhomzs +b + +xqsvyfjgr +wqxrsl + +whapjuqyd +uqgpwajd +aqwpuj +sfljpqnmaiuw +kabjpqgewvuc + +cyrpbuoslqkz +zybkcxqfsrnue +yszrkqtucob + +rtweslzqynuoxhmpbc +wuhbjyiackqfvpx + +ahisomynwvbgklpjuzrxdtc +lxavshmbwykztcuniorpgdj +irdcxlzskwempjvghyatunbo + +nlswcqkhvmxyfodrjizegu +mlxaqjovndhyrcgiufzse +fjdugnmlyeqzciovhxrws + +suhwdifyrk +giwtnkpsfauydmc + +weshq +qajovwhi + +ph +ph +ph +ph + +mrouzhwixysv +zarmsieovtyc +yrivmozs + +vsxbz +svyxbzl +szqvxb +xzsbvq + +b +w +w +w + +cwetnkaxfvgirdphsolyzj +kapdhrvxezgwyfolijncts +vdlwgrocshaexyktzifjnp +ikezpjoraldxvfshwcgnty +frdysohpmjtlkxgzewcanvi + +wcoqzgbitjlyad +duoznymtjbiwca +wpahfobjcuiydtz + +aclkhypervifzjbwqgxdstu +sxlarjdgifwbztkchpuyvqe +tfdbrjxepvkslwqzciguhya +dyltqaruiwgckjvsbfxzhpe + +qylp +qpy +yqpl +qype +pqy + +xrkebt +tbrkemx +kebrtx +xketbr +etxrbk + +yucsht +sycwu +vkuzcysl + +qlfbrenuhm +qzfrnelmu +lrixmuefqn +qjmdspkfornela + +vmtc +d + +ait +ita +ait +ati +xavti + +bxoygq +mtgbyoq + +nkes +swkeg +kes +ksen +kres + +saouewqmlfd +cygzlhbndtukixj + +mxuboivyfpctzkael +qjbtgukilvmy +mktqbvhilnyu +gtjykviblusm +klbimtvyuq + +fbdnvswoxpakthuz +adwhspktonufxzv +oamtszpdhkwyfnxuv +tudnvpzawockfxhs + +ugxpjzytdbm +cerilwoby + +onpmy +mylpo +pmoy +lmypo + +jaf +afr +af + +casenkqdir +sicuanvekrxh +yizacrkosntpe +agicxnrkesw + +jqt +ql +qg +jq + +wc +w +w +b + +hzr +g +h +iabscl + +hqwpsagbnldrukzjifytx +zpfrqidyshjkgwaxbtnul +fjiprlyakugwdqzhtbnsx +fiarukdwntlyhgzpbqsjx + +czukvtah +comukqhjbra + +wmhncxkspailt +uxfkbmrgt + +teolabiy +hpktibyaxoc + +bqyarip +wiyp +piny + +mtrgebyouwfk +emwjyfrut +eruvtfywm +amwyfunelrptz + +niduf +nfdiu +ifunjd + +pelahycbn +hpovfylkcbn +iblwzqmxchgdstn +bnrjhkcul + +sfjzl +sa + +b +d +j +ji +j + +zshvimlaw +alwsvmhi +vhlwsami +vhsawlmi + +awvgejcbhlsintoupdf +gajfxdoebcphnsuwtl + +tuickvpglhw +lvthdgiuwp +shuivyptl + +nlxwpzuigcq +lcwpufgxzniq +wlxzuniqpgc +pjgxclzuwiqn + +tsozgkq +lmvyuqracphne +qfitdwgkzjx + +k +zk +skh +drkup +ablk + +qcr +lq + +m +i +jy +m + +hrsgfwaeytpl +rifdnaq + +detrifahwgjs +piagxwmfsrhe + +g +l +l +t +u + +xlphfs +tqnc +knrgiu + +auscpvhwfnkjgxdbtlzo +wldqsafnxycpjzibrvu +fzpdcuvngbxwslaj +flsdbuwexnvajomzgpc +wazdljnbuxcfpvs + +ejpwgam +pmgwja +jgawmp +wpamgj + +jlupvzoyitmkeagfqnxswch +csahitmwogflvunqxkjpzey +vquxiozpmjatncwsykhlfeg +ihoejuxnwtsckzylqmfvagp +ovgfeciumakxsnpqyltzwhj + +rlcy +lyrg +yr +hyqr + +pnv +np + +dxirheclfvkugyq +lmqcngrihtbzkoa + +xmdr +cxdm +jmxlsdgq +dmx +xmdo + +tomwqa +oqawmt +kwtbmaoq + +jm +w + +dem +dme +dejm + +u +u +u +u + +dhqxlsbnp +udbspl +ldbspc +kpsldbu +subkldp + +wconqgth +vuhrlnzgt +kghntm +zhgnrt + +tubwopjkrsglmfdqn +kpixtmabowfsjlezdnqrcg +ymjnolpqstbvfrgwkd + +fykdachlrtxupbgq +aprdlbchfkguytejx +amvksrbwzlcfhyxgtupd + +yac +cay +ydaeoc + +yva +avxy +jyv +vyo + +ryozihbkmxegfvw +ljexptfsyiwqcv + +rszwmnhjp +mslwygz +zgwsm + +lshvanz +vnlha +vnlha + +glrmyfequjpboiczkhw +uozqrgjhwfceyidblmaxpk +wckorliguhqzmyfbepj + +bc +dcj +bhc + +ed +ed +de +led +de + +geyxwujopkzd +pkwuzxjdoegy + +fplwjykaod +rgz + +qgpz +fpgaq + +yfwzkgqej +vuzed +znhsecid + +vlgxshtipzfj +vghilfsztxj +hxpisvfgtlzj +izshytgluxfvj + +wyhoqaieuzf +lcjpm +btdxknglc +rclts + +qucrslhpoywjidgkmvab +bvlidmwphqsoaykgurczj +ramesuijngcxpqlkdovbwh +ubapcqvshrgklwimojd + +wfhcyjidtlqokx +nhgvuwobcklisdqm +drcnwvqslkaizohb + +fidrkaw +fr +rueof + +izypgsvlhfounrwemtdkqx +yfthniwaxlskqopvurg +xnqpustrywighalvbfko + +gkihqofrasyz +xptgbqkim +iemgxqkup + +rstvcynoaxpejid +xajeyproin +jixpmoreany +mriewajpxgony +rjaepyngiox + +hysqpw +quwtyiph +hyqupw +jvfrnywqhlp +hwypqu + +vojesgyt +vgeuyoj + +kq +kgq + +qash +qhsdvl + +ogecvxt +gvtcxqeo +xtvcogeu + +aiuzktwjnshlevr +ixuwcdgptmfzejl + +mlsu +luy +wl +tl +golfv + +ujxfyqdpchbk +mckfrhiqudxp +gkhbuxpcdfq + +kamydczqfrsvg +szgkfuvyicmrqa +smcfgykqrvaz + +hdyistonwvkuxm +uqospkewltar + +iloqsexhubfy +deuiqbhfylxosw +jqheudxwsiblyofa +slahouqefyxib +gfntrbcyqxoeisulh + +rtkqzxi +txzi +vygxiwzt +exztaci + +pscgbunrdmlxz +vmolpgzcxndr +jrompngxdczl +cxdlznrmgp + +myopnajkcxd +aoxdymgknjc +fayoxjbdclvsnm +cmjaxnoyd +adenpocymjx + +gwurxpealzqfn +uqanelrwzpfxg + +p +p +qgmpt +p +p + +osjvfthlruqecwdgab +omqzlxkfuybce +oypfucqleibnm + +jkylogfscpehwnzudbi +yvqcuehfbzwsjplniogk +cpgeosihzlbkwynjfu +ekcwtnyjsgpohfuilbz + +bqoxplvhnmgs +jnmozhsdgqclb +tuhbnyoqsmgwl + +pyanchrwtoqe +oenqatcphw +wpqcnetoah +nwqcapteho + +wndqsh +jfgnq +pclbvk + +gwav +gawv +gawv +awvg + +t +zd +jfcl +t + +ryhqtewijk +fnqwhjkyrie +qhjwrynki +kogrhwuixqypj + +vhytdaqf +vyathqdf + +vyeizmaopnglsqcxbdr +acoixrsbglqvyzujdp +bzqagplxovdcrsiy +scxizbrdvpqgolya +cylxpabuiodgsrvqz + +hp +hs +rzuh +he + +glxeqjf +tmufqbxiekdcj +fxslvpeqj +nzgpxjeqf +xnzjlqefh + +fcwd +pxnowvtfrc +lfcw +wqgkcfd + +teblqdskjwymgipvfocanzr +glbojevqktirspuydncamwfz + +zftjgnpuc +zrcuqjtfn +irdutbecnz +nkcovuxzswmtlyah +ztqncdu + +kdirczys +skrdzciy +dcszyirk + +weytvzmidgnbxl +qdxfpkblsrouajvw + +gmdupkbl +klhtgdmsbp +nbvpmdlkg +pzibclmyeodqgk +mpbxldkg + +ikchnfbqgymdwpet +gkmfnhtwxiqbdcyve +mgdecfiotqknhbaw +dsmrqfnkyctighzewb +mqehgkwnscdbift + +rzdnimcaxe +dceaxbmzrt +dmrecazx +zeuqxmchlrydak +rxeaczmd + +nlbecfu +nuelcf +eufncl +fluenc + +skoltxqicvwfbhzdupem +ilqsfyouaxvkwdcpth + +gvecuatmospxl +mhbxcyskojpeluv +upfslomxcnve +pqvmluiecsox +mnpcfxzueloavts + +mxquegw +esgcbif +gevrn +cykzdhge +bgzkieadl + +hna +nxha + +qmorc +rmcoq +mcrqo +cqorm +qrcom + +tewncgarvqjdoumkb +jgwqdbcmorevutkn +eomtvngdjrbcqkuw + +aeckhjmvzn +mvenkcuhazj +hzkvdejamcn +jevzhnmcak +mhejzkcavn + +yvpjqszo +dtg +atg + +ghczoyrkviaudbtjwne +dnbecrftkowghyuzvai +wbygucnavdktezhior + +vyoq +voy +oyv +voy + +um +m +m + +eijf +jief +jgief +jfie +fijxde + +xy +xyc +xy +yx +xy + +ubcnvioqxlhm +iqzbngoclhmxu +iofwxbcmslndq + +njqvmbatkxlfswizur +dqxkwlzbnmvau +vbuwmznakqlhx +unvzlxmwaqkbg + +izwlbfqdh +wubacgyzrhfm + +xvdzmaireyoqgfpub +rndxuczebfyipvtogma +vodgmwbxfzpeiyurja + +hpdwqz +rqdhpzwn +whpdzq +qphzwd +cwqphvzd + +rndgovb +gdrvobn +govndbr +vgbnord +nbvgord + +ufxdk +pehaqtz +rwpiea + +v +v +v + +zrclgthjybdxwsnmvqi +tnwyvidqrzxlgjscmbh +isjynzrmbgwlxtpchdvq +ynqwlihbxrmztsjdcgv + +q +q +q + +c +c +jb +u +c + +vkejfcmgwixbnolutaqphrzsdy +fqdwjngcuxviloyzkshmpteabr + +rfv +r +rz +qjmrg + +wzhdyp +r +gbm +aw + +rsdywfzikhnlqc +kifcrndqlswzhy +hdfkiylsnqcrzw + +lfhtzrxcj +fbtzlhrcj +lzdaftrjphco diff --git a/6/part1.c b/6/part1.c new file mode 100644 index 0000000..1b38192 --- /dev/null +++ b/6/part1.c @@ -0,0 +1,37 @@ +#include <stdio.h> + +int plane_count(const char *filename) +{ + FILE *file = fopen(filename, "r"); + + // Include space for newline and string terminator + char buffer[32] = { 0 }; + + int tot = 0; + unsigned int current = 0; + + while (fgets(buffer, 32, file)) { + if (buffer[0] == '\n') { + tot += __builtin_popcount(current); + current = 0; + + continue; + } + + char *p = buffer; + do { + current |= 1 << (*p - 97); + } while (*++p != '\n'); + } + + tot += __builtin_popcount(current); + + fclose(file); + + return tot; +} + +int main(int argc, char *argv[]) +{ + printf("%i\n", plane_count(argv[argc - 1])); +} diff --git a/6/part2.c b/6/part2.c new file mode 100644 index 0000000..11c8469 --- /dev/null +++ b/6/part2.c @@ -0,0 +1,44 @@ +#include <stdio.h> + +int plane_count(const char *filename) +{ + FILE *file = fopen(filename, "r"); + + // Include space for newline and string terminator + char buffer[32] = { 0 }; + + int tot = 0; + unsigned int current = 0xffffffff; + + while (fgets(buffer, 32, file)) { + if (buffer[0] == '\n') { + if (current != 0xffffffff) { + tot += __builtin_popcount(current); + current = 0xffffffff; + } + + continue; + } + + unsigned int tmp = 0; + char *p = buffer; + do { + tmp |= 1 << (*p - 97); + } while (*++p != '\n'); + + current &= tmp; + } + + fclose(file); + + if (current != 0xffffffff) { + tot += __builtin_popcount(current); + } + + return tot; +} + +int main(int argc, char *argv[]) +{ + printf("%i\n", plane_count(argv[argc - 1])); +} |
