From 7438fc97a9f04af24f6a698e106888bfae4ee6b9 Mon Sep 17 00:00:00 2001 From: Colin McMillen Date: Mon, 7 Dec 2020 13:43:45 -0500 Subject: [PATCH] actually add Day 6 code --- 2020/Day06.cs | 92 ++ 2020/day06.txt | 2239 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 2331 insertions(+) create mode 100644 2020/Day06.cs create mode 100644 2020/day06.txt diff --git a/2020/Day06.cs b/2020/Day06.cs new file mode 100644 index 0000000..73455fe --- /dev/null +++ b/2020/Day06.cs @@ -0,0 +1,92 @@ +using System; +using static System.Console; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Xunit; + +namespace AdventOfCode { + + public class Day06 { + + static int CountAnswers1(string[] input) { + int total = 0; + var groupAnswers = new HashSet(); + foreach (string line in input) { + if (line == "") { + total += groupAnswers.Count(); + groupAnswers.Clear(); + continue; + } + foreach (char c in line) { + groupAnswers.Add(c); + } + } + total += groupAnswers.Count(); + return total; + } + + static int CountAnswers2(string[] input) { + int total = 0; + var groupAnswers = new HashSet(); + int groupSize = 0; + foreach (string line in input) { + if (line == "") { + total += groupAnswers.Count(); + groupAnswers.Clear(); + groupSize = 0; + continue; + } + groupSize++; + if (groupSize == 1) { + foreach (char c in line) { + groupAnswers.Add(c); + } + } else { + foreach (char c in groupAnswers) { + if (!line.Contains(c)) { + groupAnswers.Remove(c); + } + } + } + } + total += groupAnswers.Count(); + return total; + } + + static int Part1() { + string[] input = File.ReadAllLines(Util.RootDir + "day06.txt"); + return CountAnswers1(input); + } + + static int Part2() { + string[] input = File.ReadAllLines(Util.RootDir + "day06.txt"); + return CountAnswers2(input); + } + + [Fact] + public static void Test() { + string[] example = +@"abc + +a +b +c + +ab +ac + +a +a +a +a + +b".Split('\n'); + Assert.Equal(11, CountAnswers1(example)); + Assert.Equal(6, CountAnswers2(example)); + + Assert.Equal(6947, Part1()); + Assert.Equal(3398, Part2()); + } + } +} diff --git a/2020/day06.txt b/2020/day06.txt new file mode 100644 index 0000000..1f064e0 --- /dev/null +++ b/2020/day06.txt @@ -0,0 +1,2239 @@ +xav +uavx +xavsi +yavx + +efokjptizdcwmqnuh +qgfdvurtnjwpichxk +taqkcunfzpmydiwjsh + +mzbg +tmg +rlvge +hgpbzn +cagkijyu + +ahynbmqljzpwxokcfrtsgeud +xwzcmdhkrjnupegqlyoaft +fjnurhzoqmgwacxdlypkte +qwrjxahtlnzcfdouepmkgy +ezpqxfcmgrnhylukwajotd + +jrxcnyadsgbtpvoze +secpytarvdzjgb +ycsfzgtedarbjvp +tsgejyzcdbvpra +ygtbvzredpacjs + +n +n +s +n +n + +mgfb +mfg + +xfjengy +pubw +isroqb + +hcnkeawlbfso +twocmsbefvlp +acwyseblorf +losebfcw + +dixstroacjbygqpewvk +mdcpbnfqsgxvaikwujtr + +u +uvk + +vpuzogn +lmhxvfgkdnspq +jpvzogntyr +ajpngbcivw + +bip +itb + +uvqldphg +edpgfh + +gm +mgfs +mg +mgq +gm + +gtkm +wkcgmsvda +gmksap +mkupgt +gekrbimhj + +hknejx +wjn +jano +jvwnb +ujnic + +vkzmgdb +zbgvd +bzdgv +gbvdz +zdbvg + +sedcuh +axyeqbs + +ckysjbmawxpedqov +ilqcuxpvajwmfyko + +xcv +xhevkc +vfxcy +wcvfx +cjxv + +wetaojdqkip +kyedwuprqast +tadubqkflp +yanpslwqdtik +zmgacdpkxq + +akdhyogxqf +ktnyzhxoaqfgwd + +dbnezgquatrm +ewnqlzdjcgb +hnzdebjgql + +aoxjcbpzisfmkewqlngduytv +difaqevcgyukztjwpmbsxonr + +grptdzn +pzctgolskr + +kvyjetqndhf +yetdvnqkf +svwdpxqgeianfk + +tmyreouwn +torwnaeumy +tsewnmzypo +emosthywn +mjtkevnqcbdiwoxy + +zstlfpnavdwyicuhb +twlpczyhunivda +ovnuwycptldhzai +pcyhdwtuianlvz + +kwvaunqjryxtpz +wflvuzhnxmecokiyjts + +kjcqzvhseaf +qgfmhsekjctv + +tcpvqdrnghflmjoxawe +mdplxfqnovejsgazcrh +qxkhmvbpdoegnfjrlac + +ixzcphskly +gsxioyzcahkl + +stjxfn +cpdegihznsoyl +vrujnsk +wnsqmb +najbs + +pxatigolezv +xkbvuitegwmo +gvijtmysxoe +svnxeqjogtik +soxevgqcit + +otzmkhlquxwrani +eqdjfgmaor + +exz +qze +ze +ze + +xwzapvtqrgecjisfunkhd +qefspnwtkijacuhdgrz +zqjkasgnferutdwhcbpi +rwapenikhdjcsqfzgubt + +fmjeqdaivksonr +pfeljvbqdsormxh +uywvtceosm + +zhlao +he +h + +qnyhtezxjdvpfkcsio +nvchtzepkqjoisdyfx +vifhcnxstzjpedoykq +qsivneohjzpbdcymlgxfkt +sxvkpohctnjfyqezid + +ndzhflc +zfdcnh +fchznd + +nrvde +ramndvu + +tskgvzqmun +szckqgbvmnw +zvmsnrygaq +vcqmstinzg +jlospfehmzvndxgq + +btlfvysaqerchkiux +tlyxhkrvbqufsecai +vfturxsbayicheqlk +sruhcbeqktixvfayl + +vam +mv +vm +vm +vm + +k +k +k +k +k + +ysmikquxzc +yetmlxqsziu + +ornk +orkn +rkno +koirn +onyrk + +qcajzosf +sofdacj +ajoscf +djfscaeo +fosejac + +rkqghbxjdol +uqbdhjkm +jhbd +cbtvadiehj +hfdbrj + +nsklymutzivw +mounvbpwdg + +sdpgvajmexuyqhcriok +vjksamihwpdrcxqguy +xjsevuydcamkihoqgpr +mjtcnqpgdhvuakfrbxyi + +hpoyrxfmcjld +cxlpodryfmjh +jhplfcrydxmo + +kembuivdhf +ipefszdh +enclshdbfk +dhreytjwxqgfao + +lb +lkr + +smtknclagp +pcktnslgam + +bfsc +ynbf +hbxklwfep + +ye +haybes +ey +eyw + +ta +tan +jtap +tah +lcat + +ikdqblgs +mtwlvhnbkjsdic +plzskbdi + +rctauyzbdklxvpmnwqjfe +plhzdsnbmxqarwjktyfuice + +ba +ab +ab +bar +ab + +i +i +i +v + +ursqy +qrwusy +yrsuq +qrsyu +qursy + +cdgrouis +ocrigs + +vjwaiph +ypva + +yhuqbinztxg +kuqxeogthpid +gtmhiquxlw +gxutsafqbih + +wmg +wz + +gkpmdtwhnxzaoysjcevuir +hoxmkyqdcwlnvgperszi + +oqagy +glxvkq +sdzbreguiwjfm + +nabml +pfnyvatk + +pu +pu + +hbivy +byuv +tueovyb + +ozqv +qzon + +xjunwvbzdkqy +chfosmgre + +dyn +ejxy +xydq +yx +iyp + +hskfyqgtbzrvu +yvqhtgbuifrskz +hzjqfuyrbvstgk +zvkhtsfgryqbu + +ons +osne +nous +suno + +zymjefdwxih +dwxzyfjmieh + +ib +bia + +ocagmvj +jvcagm +gamcjv +vjcamg + +inhlewtdbkxmpaqryg +wnkpxrhlmigtaydbqe +oihnlytpwaxrbqekdmg +mqabydwgterlphnkxi + +bjedsywlgnxmpotz +pxejsongtkumzbwld +lpogxznbtwmsjed +tzpuonmjxlwbesgd + +wqfsmektu +wmftqs +sqmtwf +tqmscfw +tqwmsf + +snkpjbefqwhyriz +ikwrlqymjczfbevntps +qhebojfnzrkwapmsi +begirdpqnjkwuzsf +iqtbhfzpenwkrjs + +y +y + +gsf +gcsh +ajqgs + +ulqbokwrjdcgpthniyxfzmeav +rjbumtoxecngkdvazsfilw + +fwsrhjk +hjrfwks +kfjrhsw +jrhkfsw + +qktgsvplh +hgol +hgly + +qftenaodxkwz +bwtxaqviof + +ugzpmhefkj +kgemzusfpjhd +ekfjlhpmguz +kxuepjgonfyhzq +kuzgitlhfjep + +jywhzcrqa +otznge +mbuvfsk + +iwhekorjgqtsdb +kjgswlbqherodti +okirgdnejtxwbqhs +ezobksgqrajhwdti + +rdcoaubxhkitwsvpzygflmqnj +tcnfguzdybojqvwishrlapmkx +smjnpglbkzuafqhtdoxwiycrv +spgnmzlyurchxvwbojfqakidt +kzdtmbslqyvxcrwnauhoijgfp + +kvwm +mwvk +kwvm +kvwm + +hto +rhg +h +tvhi +vhfk + +woxhpvfdlnezi +wemd +cqwkde +sedwuq +wcadtgrbe + +moecds +wscmbnoed +sdycmeo + +amnqlcytodvreiwkzgfxs +vfwmayqsghdcjztxeornkuil +xgaifqzdvowmknlysrtce +iynsxqwmafdvtklzregoc + +ksvejm +eskmvj +ksmjve +vhskemj +ekmsvj + +ebfkazr +dgqtkjmw +clykap +zukinrbh + +oznuhklqijpmsxfcaryb +hyikolbjusmxqcfnzarp +uzxcbwqshkyamrielnopf + +zlpsua +wlzdspu +luzsp + +h +hkr +h +lhc +h + +zfugqrjipavboys +aurvpzfeosigjqy +srnqiejtoyupgvadfzb +oqryvigjzsuafp +qgowivrzajsupfy + +mrotnsaivyxbwp +iapmtxsgbyodwr +woaxsyjicpbtrfm + +rdlakocwumetfpjs +cshjuyxwgatvz + +wbxauycv +xbwgaove +axwnovb +fwyxmvab +xtiqwbsazvjpl + +o +p +p +p +p + +ombjurgkvceny +ilxtpwaz + +gzjpkewnfylari +nlifyawpzgkjm + +ymhesgwkxczrtbjnu +cywuetkbhnsxjrzgm +uwybxgsjnhremztkc + +pcsxyiuvfnjbtkqwhlgzr +ixqnskyfwrtlgchbvjpzu +cvuqazjkhbxtlyrnwgifs + +ce +ec +cge +ecg +yeh + +itfhrlsvgden +svhekgidlrnf +nirlehsgfdv +sginfeldrhv +irsvdlfhegn + +w +y + +jqwevpgkzhdar +pazkvjqdrwh +urzhvwkpaqd + +lsmqgjkb +glmksbjq +qsklgbjxm + +iouyxrvbqjcemzlapk +ovlkizemjyarbcupx +zluckepmbrxivajyo +zijoveubxmlpykrcad + +tjaruhsdgype +apmetysfkivjblqd + +ztxyvufeh +dmcaqrhfgs + +qfvujnhtaom +uvqanhfo + +dxwvtmlsjqurepbgni +bueiqjanvlpwr +zlryojfupiqvec + +dopjewaytmg +amreytdslkgpw +peymdawotxg +uqyahptdxzgecwm +vbohdafmpiwytge + +zdkalgubsqw +dsazbkgluw +dsuzgwlbak + +fibeyzxkmch +fveymznaik +vtyafiemkz +erlfizymuk + +uti +u +gu +u +u + +khqjtmswgl +pxnsqzgv + +uhkeosrgytcpbvmanqdlwjfz +singwfcorvzadktblmupejqy +lezdusrpwbnfmkvjcxyogatq + +nqlmhgrp +e +sw + +hrmxwjzg +wzrtpmah +mrewhx +ywkbrnhmci +rhomuvw + +cfpsboei +wtifcoybpx +iofcpb +cbpoisf +pcoibf + +x +tx +x +xf + +etvc +coap + +gsbmanzopklyw +zorpislaqbnmywg +awbgczsdxlumypnoh +wtmkgobyaslnzjp +pmjlbsonkfwgtzay + +upqwyiagtonfvrsk +dpkvuwoqfaiygsnmtxr +unorfgkpiyasqctzwvh +kbwpyrniohgufqsvat +pfqgsyuhnovktirwja + +egkzlwjd +szermjwkl +kaelwjzoq + +efmclagdkwhqxrosntzvib +mdhlqfabcrwsgxonizvkt +dhbqlnftivxwapoczskrgm + +oxsedbl +zsblx +lrfax + +tv +vta +vat +gpmosjtv + +ltgeu +tudo +dtuoa +tud + +ycsajei +sghikbpmr + +bjfohqiwcpd +lzeysr + +ghcenrzqksifd +ckwsgdnerfziq +iebsrncqmfk + +idbjyxctlgpwas +wgiypblsacjuxd + +ivnkjswb +bk +krb +kblc + +hbmocfrual +urlfbmocha + +mtvwqhag +wtxdcuen + +bmdary +wjma +pexakfgu +bhijav +vlmcia + +jeaposhgqcblxitkrzyn +aordjqiglcnpvekthsbzy +jhtrkqynszelcoiabpg +jkftnvbgyqploaicsehzr + +q +qt +v +t +z + +qidvuo +uohvqibd +udivqo +oivduq +vidqou + +xjlbhrsnpat +qsavnktzbuldprxh +gxswnpftrehlymi +sahprlxnctz + +axqni +aciqnx +xqian +axnrqi +qxnia + +tbuicahr +banvchurti +grtbwaihclu + +jylfirgmsx +lgfmxjri +xgmklqtfrwj +gxmlsfjr + +ayunwcgj +gmcyn +gdtvfioexhys +bgyl +ngqyc + +neyazrtkxjhbg +yxjzqknb + +diljtqg +qwsnyuabx +qsfhuzv + +qzpj +zjqp +qpgzthj +qfzlpjcydxsn + +sbkrcjleytuidw +wcbtiljyedmsugk +zubetwdyikjcsl +lwbdieutjkcys + +c +c +c +c +t + +pdglkmircznxjshwytq +ikqrzgyxtdnjswmphcl +pgihtyjczwdlsqrkxnm + +ysj +ysjf +fjsy +sjpy + +c +ca +c + +fjaounzyrck +uqzfontkrajy +auoyjknrzf + +adgezcjtmlwbnkxsp +zlkjswmgabtcenpxd +wedpgjnmlzibkasxct +bkcfsemlqzujnxtgwadp + +xrdzvqcyawst +vztcaqyr + +p +pw +hpf + +syzmig +lqpmnh + +qwkysudhal +myk +tykc +ky +ykm + +napugxj +pjnuxga +jxpaung +xgjnapu +jnpxaug + +xcwklzsdouvejph +wvecjukzhpsnl +uzksblpwigjchv +szkwpncyudlvhfj + +mazvxenotrbjpsg +xabenjzrgtmocpsv + +amkxogyl +lkmyxgoa +yagkoxlm +awykgxlmo +gxayomkl + +euqjn +eijrqnw +qnje +enjq +qejn + +qmicpr +pc + +mhfelurtibxzg +prcigefthzmbulx +behzitgmxflru +uxgrmzibtelhf +rzfluixbtmegh + +trwq +t +zt + +yjbcohw +jueqzodyk + +tyroqsxepnbfckhuazjdwvmgli +byjcgxmurontvhspekwqildz +svtmwnbighlpxeyokjurzqcd +blprtoqjwnmyuxvdzkeisgch + +mrwtb +trmbw +wtmrb +rmtewb +twmbr + +jlwri +drwibj +tiwre + +cz +cz +z +wusz +zeg + +gxqrucimko +zhpqfvbinsy +iqlwdgtje + +wyzjqgdihbxar +lwcivxtmaojgbzhp +xzuwgjrabkhfid +ihsaezxgqnybjw + +jtair +kfsv +ghze + +u +uj +u +u +u + +epbvkzsoyqlrifatwch +tfzwlivkhsrbceoqpay +wzcqpotkrhfliavbyes +wvgeufcbopsqymritkalhz + +vkaldbmyewi +rcxvlibuedgamy +lysiabjdkvme + +nwhqcojkpgvfatderylibxz +hgnoiclkaebtpdfjvmzywx + +gafbqnxstirzvoheydmlpwj +hqrukwtozblfyasdxvmnpgei + +abpzed +dapzb +wcbdnzapj + +uho +nmp + +yofngr +amn +n +n +mn + +zguhotqnvkepfyabr +okwtbzaqfyen +konyqtbzefa + +inbtkepjylqdfxczmoauw +mzolcwaxfnbditkejpuqy +zjyoifdkmcaupenbtwxlq + +yuzri +rubyi +yiur + +otdbszvjhecrkiypn +ydmovicrbzfkeshqng + +efc +e + +orbzu +iszurwb +becjrkzup +irlznub +xbtragfdyqz + +fpj +pfrd +fpr +fpwc + +rklcfn +nflck + +li +sli +ik +i +isv + +awuhgmb +jznsiqycker + +y +y +vmpdu +ok + +jeionpfgkvxdmrzlyc +diblznsykpuxwqfm + +mlykav +vmka +aqvrkdm +vkmiaz +rmkdvaq + +uyljahgbxsvczpkdq +rowf +ntemi + +xjhaitwlozdpcbv +dvnzjxblpcahoiwt +xbwdolatjhvczip + +spohauibt +ipsatqnozlxvub + +vuzf +fchz +zf + +almqujgzovhyfkbwtindre +zvskmgitqyweoldjufranbh +jrkeqfanmvoiwblzdthguy + +y +y +y +y +y + +fsqxhnbtcdy +bhkqnvxdws +qsdnxihbm + +c +cvip +wcqp +xrkjc + +cbsfeonkqthadzimpwyg +wkybvhdsnaztcgefpqom +dipbljsqxfecakmtyoghnwz + +ocxiztfw +djhaepyqu + +pbyzfvq +rpqzvf + +p +p +p +r + +fgj +mghx +cguivrnzdw +xhmqlgf + +lypf +fpyl +npylwaf +leupfy + +rxyzatoj +xvfin +bxlfk +ucbqx +lx + +rkixw +fk +mk +kmybf +vkqg + +macdvsjophnzixyukwglqef +uhkdzsyecoixjpgqvanlfwtm +nszgjudxpfchoameiwrqylkv +hgkswmlvjyufeipaxnoczdq + +hkvtprgxom +mxitpvkgdrho +mphkortnigv +kvtprlhmogd +kmverqtohgpwj + +krsazmfbdtxyuijh +iebqjdruma +dimbrjua +imjurdab +ajrbuicdnvm + +jzroas +vwo +om +kmvo +fo + +vckphlabort +ktprcvabohl +tabrkohlcvp + +lb +j +xi +p +i + +ibxswpzlgak +pablwzkxs +kzablwpxs +xapzsbwkl + +texidwzkyjcapn +djptyzcernia +narcjoiteqzdp +cetbjpzavigmnd + +thxzfeocaqpkd +rvgoyxzlk +zkox +kxuzngo + +dqsofevyrijctbxzwkghn +kjwvnobzergsihtdycqxf +robqyvzihwjsxcdfektgn +octvjeshdiwbyfngzqxkr + +f +udzlmcrjehivqpx +agn +owb + +vokdu +dck +knd +kd + +txqlzrv +tvxlqzr +vxaqzrlt +tcxrzvql +qtzvxrl + +flnc +lsk + +agqspncoikwytuvre +muyijzoltcepsaxkdvhbgf + +gmlyx +gakyvsl +cdthyjrioubq +myl +awezy + +dfzvhkblgnj +kvzjdfgbnlh +hdknbjzfvlg +jkgvnzldfbh +jzkhfvgbnld + +jvdkxqsrio +rpuqvkncfgzit + +oqzmkjb +glehuw + +stweunormcqdyivabxk +plgihfuzjbr + +fiakobrucnqyjtxsvmw +utcfankbwvozqjxy +vqknowtacjbxyfgu +qboaxvykfcjtuwen + +lqxfvjncarmowzst +sgpnhq +spnyueq +kqns + +plis +i + +alqp +dpml +ycntviwgf +zkeau +pkxo + +cahvspxi + +dgyk +kydg +gycdk +ygkd + +ygxdtqsiralczwmfoke +fqeoltimdykzgwxrcas +mlrzsgafxqcidkweyot + +ibpuxwfrnjygadl +ucbjmfziyklnrdxw +wbqrxjdihesvyunfl +zfubxtylwndjrpimo + +ahdf +aq +awjyc +as +nah + +klygiqmwhzubproas +dhetbmfiazsqrwclvugpk +ugnkxpmqirhswazlb + +n +otzi +q +o +dkfx + +gwoidjb +sqownkvt +oywgjxa +iwoeh + +kcsfhg +gfksc +gcksf +pcgsfdk +hsckgf + +lzgtrfpsxwqhi +yqzovtixp + +mqyhlxgfnbtcvwejpsrdouzik +simkqtcevpohxdygbjlzrnfuw +dprugmhqkcwveixoyjbstznfl + +m +m + +akmrpwutnb +lnamrphkwtf +rpumnazwkft +kwrtmpvan +mjakwnsxrpt + +kgstyrbauzjiqfmdl +rlpubyfadxmtijgswzcqk +bzsfnumiadjykeltgrq +qfavbdhujrglyzstkmi + +zvxca +xazcv +avcxz +twxcavzk +vxzoca + +kyjbqhd +yqg +mleagqy +qnlgy +rvqya + +rkbfpejgaqunlhy +hogsunxedrlkbaj +ktzjmaugrnhblie +rbkgnajlehu +qelbwhuragjnk + +pkbrlq +fhlvcetzujqo + +dbpnjmfgzuaky +qrmnapvjswgyzfecl + +oubx +uxb + +k +t +ce + +qo +oq + +nrdoliybfmk +xbfonlytdi +odbyanilf +zdyinxfbrlmv +bnfgwdiyls + +ptqr +yhpr +oifcxpumwares +rhbp +vrp + +edmfbockpuzjl +mejpzldckfoub +bulkamoepdzjfc +wjblknodpmczufe +plbzukcxvdhefjmgo + +sbfvdziayohutkxmcepnjgrwlq +slqbthaugnxcfejkymrpvdzwio + +ovnuybcjzw +cubyavn + +jlpyfemohwb +ympjolewhfb +hpjymbwolef +hmfewypjlbo +yjwlomhpfbe + +yudoticgpmswxheb +imctpdhksgwavxbefuy +ytmhucixswdegkbp + +femhgtsc +hgetcp +gct +schmgt +acogbzt + +jdfzyhgnks +kfmgndbypsjz + +qxkrsvfih +xvirkqfh +kxirvfqh +phvuixfqrmt + +jwq +ovwjq +azpjnys +hjw +j + +mekjycug +okyicj +jevq +dzsharjxltp + +ageqsriyfoupknldjz +bqkjhmi + +arqoszdiyemtlpbcukxhg +tskxzcqmelhorypiua +ikcwsfalhzymorqxpetnu + +o +wj +o +o + +hoqrjzemyfidak +hdofikzyrjqaem +amyjorkehdizqf +qyajdekzmfohir + +rfgtpasbvquzykj +kwdcasjtyvzfuqegpib +tpangskbuorqyjfvz +qubhzfvakospgtyj +tjgvuayzfprksbq + +xvsetimqaglzhubopjnkrw +vretjpaqgzidoulbmxhknsw +kxzwjmscaeulgqnpovihbrt +riwnepagmhktvusxqljobz +tugmqkbasnzhjivrlpwoxe + +yawojch +aoyhjwc +wjcyoah +ocawyhj + +atfkezomu +bwghcxijm +lmydqzvnpr + +nfajymk +yakjmfo +skayfjm +ayjvkmfti + +zbcgaxyjd +emltdhkwsug +dqgfnue +qgnvd + +ibecm +ecmbtfislo +cxympeuib +iacrepxbm +ckibme + +ednxkzblgoqwrys +naklxbrzsodqegwjyf + +mabnelwrzy +keandpqxbmlo +gviuhjstf + +xlzoysmpdgfcabiqetr +mplwsgnxcadzfhukvrqjeybo + +l +l +l +p +l + +zyjuwao +odfv +skqoc +omvrcqbh + +fgpcjvmbxuiwtehnd +pcfsgtxbnkuihadm +cdgtfhbmxpuni + +e +ea +p + +ild +ld +ld +ld +lhd + +hwelutk +wshulk + +milbjvxorn +lbivoxrnjm +mjxivlrobn +ilxmovnjrb + +inhcdkotgs +syndfwkghteico +gkhdiczostn + +jgpmfyqskc +kgfyqpsmcj +pyfckjgmqs +gskpcqyjfm +pyqsjmcfgk + +opbqxluhyvskn +xonskvbpuqhyl +vnijlhyqpxukgosdb + +dzglxpfnt +nfptl +qynmuvrcp +zdnpk + +ligcsyexbdoqt +educotylzjb +zuyockfnbhtedml +owlyuabectdf +ycdrabolte + +hw +qr + +utqdisoacyr +jgnbvzwmhekfxpl + +s +i +i + +ovbhcfp +oauvcpte +qowxkpnyjlvdismc +zvctogpfa + +qtsmhpwz +qchasetf + +ysmvb +byvsm + +yjkvnlqcpgasibtex +ycjgqedpvnx +nuygpfzhvejqdxc +qwyjenxfvpzmcgu + +tlribvnydjfex +rmpjdqsbzgcxv + +hn +uhn +nh +hn +hnz + +yvzrqpbel +blejaozvmypr +ebrlvfyzwp +brzpyelfv +zwbpyervlf + +rtgnjiawecpmu +ejcnpgtawuirm + +qhuybzmv +pnwzceb + +cuijneskratyqgwxmodzhpl +wtqshpyzrcmokixgjbenf + +wrthvasmxk +hvktmsarx + +s +sp + +td +rvjitl +tdpk +t + +mgdaqpzefbxh +xfbmeadgzqcn +eragqjmlofxysdt + +cvzxwpf +pxwuef +lxswpeft +wxpf + +eqckjbluvodhtg +cvgujlhekoidtqb +bhdoltuvgkqjce +vhgjcektdbuloq +jdogqblchetukv + +hmgwcszjqpyxil +wzplksghxcmyji +gkiczwmlyjxsh +jsgxcmzhlyviw +ujihlsyxgmdzcw + +ofrubwjqkxpzaitevscmgyln +bigsuetvkorzqpajxwfldncm + +qink +inrkq +knqi + +jvnayiodwg +dos +tmhzeqdpo +hods +bohdklfu + +i +i +i + +ndwutoamyzbrpqsveg +zbdswnrevapmgty +zdtpnymegawsvrb + +obwzklcynjgme +zlkeyfcgwmjn +icjzemnypwklgo +munwqycgzkelj +kcnzjsiylwpxgem + +nbaeiqstvdwmhjukx +njxvowhqdfabieskmuzt +wbnsutjqdhgevkmixa +ycjswbkaqmvixlhutned + +okcwymdgvfhlxzt +odygvtkmlwfxzch +wcmgjhdflxotzkyv +kaxyfglvwmodzcht +dxcafvltwokmyzgh + +rejdmivax +xdamjver +ejvdxmar +rjmedxva +edrvajmx + +lkqgnc +lnckg +lkgcsn +wklnhcg +lcgkn + +upnosleiz +pnlszwe +esjpdnlrm +hnletqakgpsb + +fb +f +f +frz + +d +d +d +d +d + +lyqavutgbwiehjrc +qcragbvihujlowtpy +tzyjhawliuvbqdrmgc +rglvzjtuidbcywqamh + +edolzs +luoeshd + +v +v +vg +v +v + +scwuqekdbmarfiy +nzoxvptg + +ycpvjeubrazgiodxtwn +cptzsxjmklyvdeaonbqiwr + +kbmqslrvnyzpj +slxfnbqpjy +jsypwbnlq + +xv +oxv +xv +vx + +ulzdr +zoshulr +xduzr +zrqju +tzurvebgc + +vp +v + +n +fn +n +n + +bmpfnxzsajwvyhqldrecout +rvnpsoxzlcmeufthkjayq +hozncuervmgqpyfatjxls +ovrxesptqajlzycfnmhu + +lfjc +fc +fc +fc + +jdhrx +jranxydbgt + +y +y +y +y +y + +tpfydje +ejpdfy +jyepdf +epjdyf + +b +gphf +e +uvkc +jza + +glyxuj +gjulxh + +ubmeofqsxdangrchivy +yhcueqvgfasordxmb + +vbtex +ubenvxzkt +txbvae + +yoxb +byoex +obxky + +vxhroygampneuzslckibfqdj +jqfcvnaizeluhkmrdxpy +eidxrkcnvjzhpqymaulf + +dtlpjkfar +sjtprafdyel +afpgjtvlr + +z +b + +rwutpgkyanm +nwatgkmpuyr + +jb +bj +jb +bj +jb + +yvcbs +csvybh +bsvycu +csjrinybgpv +yhsvbocw + +tapdxjkbuhn +uqoaigmtphcfv + +gbrf +bgrf +grfb +brfg +rfbg + +lhj +r + +nsuvr +rntus +rnmdcsu +nusr +usnvr + +mglncfrspjxqdheatkby +awokdbmlvurnzjecqsyxpth + +dkphrovicb +oihkdcrvpb +kcdvhbipor +ichrbdpvok +prckhibvod + +obaxmnut +otabun +haobdtun +pvfnztekujcbqyoa +tibmhoagun + +mvhtqgsxc +ztljokabwni +tdyuefmqrp + +gdx +jnxk +x + +bwfpeojrtnqmszhya +jfduwroxmenzhky +mhfrjediyznwclokv +hfjirnwymekgzo + +bzcpqi +ipcqbh +ciqpb + +vbnegldq +ebgvq +equxgbv + +pmcjwzqsrgye +svhujyprdftb +pjsnaryo +onsrpjy + +dfqbynoxcgljpuhaesmvt +dxhecqampgnyultfjosvb +cifqxleudmvjhgaspybotn +snqvtgaphyfloxeucbdjm +ayetuxbogqcmfnsjvhpld + +woqjbvaesrh +rmjaeswobqv +rqeswbjoav +owebqrvajs + +fsgejt +jskg + +obzeufrsykvjdqg +jqaiozpwrmbsdxkf +sjqdzfktbrlho + +awqldosnzykc +dolsawqncz +wodsqznacl + +ohtxrakybsecjnqviwduz +mwodbqsxihrajpcztygluknfve + +m +mv +amq +m + +ahoubdnlywcigjt +cynbhdivwtoglaju + +bpgewx +zxpubsdwq + +adhjekz +tzjkde +ewkvzjd +tvefjzdk +ejdkz + +uetkosjndqgxcyvm +mclnrsaxjytqvdpg + +kbhed +dix +afdt +d + +xhd +hgrd + +rbyavgzjflhdinqesk +snkvihbalfryjzeq +zhaivknreqfjsbly +brkljfziyensvaqh + +bokdlygwhafrc +xwuronlpakqi + +pnwsxh +pnrwsxh + +yhrqpsbjv +dav +iwuoxlgfc + +hwge +ihwejbsv +zneltwyrhfkaom +ewxjvh + +oxnscztqjyafr +hyxnkjvwrufcm +pmcgrnulkfjvxy +berfkxyucijn +wencyxrfhlj + +kilhnpjvdofbatcz +rhgvxiwmncfez +vizhucnqfe +cnhzivfu + +umxzfpvkb +vpkxumbzf +xzkvmfbpu +uxkfzvmpb +pfxvbumzk + +vmsdxahqipznu +fupiasyvlnxjzdrhq +unhagxpkvdsqzie + +vdwyb +vyudwb +cdywvu +ydvw +vwjdayh + +d +d +d + +qlfcbhrvw +fzrbyuc + +jcsonk +uckosn +kcsno + +sawivom +ioas +aois + +weluyo +qhcprdvg +sbkwuy +uzynje +najxiue + +xbrfmeznhowj +tbycldqagk +uivcbs + +uzgpwofxcaqidhntlmb +oidfhxgbnluzwmcptq +tquhizxngoacdwfpml +ldztycveqghipmxsnfowuj + +n +qn + +fqu +df + +cxpvzgfyijsaoltueqkm +ajuxlvozygsfqpteicmk +ozeafkvtlqipjugyxsmc + +z +c +z +r +z + +jsapzgufkmwvdibqt +aerhpisyudxgmvwbjo +pvnudbctjgfwialms + +auylqgmpcfbkihesz +zislkfqgapebch +fleshzgkqbaipc +hpnszqkiatefclbwg +esxlhdzvbfwkpagqci + +j +x +x + +vcypdnobl +kfabxw +wjqbig +ibzm +kb + +hkodlmsgqbzjevcfayi +vfyticqwblkjsuagdpozme +ifdqbksjrxlegomhnczvya + +bktgaefp +rexytwau + +xwasezkctrov +pcsxbrzhdtw + +gzkcdewab +lmd +xyftvqsidhur + +kbvzwsdcn +pkbszvw + +jsvouxke +qgzi +adrbyz + +zvqpbkanyjwgtueflcdrx +cpyqrwgtjafuklzxndebv +wzdgljoaycekvbptuqxnfir +djrguhfbptyxkzceavnlwq + +nhqgxmdsl +vtzpkmqdfl +uqomrjelw +zflbvqm +alxmq + +smlxpqfh +tkszqhlvm +qjomlvks +qwduyrbsnlim + +wpkcvmxuityzqgjdeofb +fvkyxbjdumoptiqwgecz +pbdvuetqczokmxfgywij +zifybkeudwvqgxjmcpot + +porctbafwqzedgysxljkhv +jxbdhgqkftnyalsopzvwce +kozvgtxejlcpdhqsyfawb + +obduynsxf +dysbxonuf +fbsoduxny +ubycdxnofs +bfysonxud + +his +vfxa +xa +fax + +yolm +bo + +jotsmh +xfqhsbvrolc +hsgdaoz +jotyhsu +szoh + +dz +dz +dz +zd +zdk + +idykem +asftdpu + +fbvmunwkreldcy +blaqkxzvyim +ilbvmxjkysq +laiymvoqhbgk +vpklbmyg + +jvsmlog +jgwvmsplo + +risldpqb +lbsiprxo +bsiprkl + +nzcybwkpah +yhwcpkzna +wzhcnpayk + +ixfbamn +inb +ubinke +ncbkei + +elchnpjkxwtqig +nljgiceqahbx +lcugbexhqjin +idxjhmeqclgfnv +fqlhcexigndj + +vmgcneztlbs +qeblzmvcngst +ngbclszmvet + +ckn +c +c +c +c + +yezpv +wyvlez + +hfdtkslevcwnoxzi +tsfekmdjvclihzwno +etsiwvnzlkfdhoc +ckfotsdnzivhwle + +e +y + +cdbn +bcnd + +hbupimtkawejgvfzcnoysx +zfnkwbpvchoxietmujsyg +jmehbtwivfznkupxcsgroy +gomuvnyjhwekscizbtxpf +hspzxkncvfitwjguymebo + +qjw +j +rosg +jt +qjxe + +s +js +s +s + +sudlgxvitacpyfhkr +isuvgfkrchadnj +gvqfzrmdihucsak +qgrodskhauficv + +rqefisluvyg +nyjotwizfk +iayf +yifd +ftyij + +alxbdhwiscq +qgcjrwezay +ahwitmqdcu + +d +d +yxl +d + +zwfdsuqc +dzcw +cszudw +hzdlwb + +axv +vx +vx +xv + +nrw +blzfvgh + +pe +elqmzvgfk +e + +ygfk +xdjnublae +r + +jvn +nvj +jvn +vjn + +mblaqhitwdv +bljivaqxthdw + +d +dc +d +d +d + +e +d + +vjsrl +jrlvqseb +vlsrj +lvrsj + +cjfta +ajfct +tjcaf +fjbhatc + +dqbfeprkzgvt +tpbfkdrqge +rwaqfedxkpbgt + +owbmusnzvgpf +orgvlwkyxp +tvpwohg +wtgqcovp +gpavywoie + +gczomkqlvdbn +aolduzmgbqvyec + +tynrkjlgsq +qsnlytrkjg +yntgklrsqj +tygrlsnkqmj + +pyfrutmwb +ubwnsrfy +yfwrspb +ydvborwf + +qlsmcbh +hqlmcsgb + +cowjnufayrix +rqaynwxfcoj +xogamefhkdjyrvwcnt +afrznwocyjx +cuirsyxfwloajn + +htosau +bvkdcr + +ewyzhgipl +lwezhbingydpk +hpzwmijeygl +ieythwpglzm + +ozjphrbglsi +rguphzjoyil + +b +o +ru + +ritlagqevs +itslgaw +gvjsalitr +uixaolkghst + +pnjoxwlurzkytdcb +jucwnytzoxbrpldk +lxpboczwtduykjrn +pyzkdnxoljvurwbct +rzupcbnxkwoytljd + +snpvyotqzxubard +qorubpavdnxytzs +txpvazrqubnydos +vaotxpszyurbgnqd +pzxurabtqsvnoyd + +wcybutsgnvxlpdjrmeko +ursvnedtgjbylckqwoxm + +otac +cot +otc +toc + +np +ndtfblp + +uvaeirsy +vryjispm +smuiry +fzdbyqsrtig +rwkmycveis + +jhutgyv +juyhtg +ytuhjg +hutgyj +tuhjyg + +zxwyodcm +dwzyomc +wmdoczy +wxymojzdc +ylowdcmvbgz + +tjefad +yokb + +akbwzocshvu +kchubzawyvos +zbwukohvqasc +hzkbucowsav +zykvhoauwbsc + +qsy +jq +pq + +bnkryxpdvswjagzhfqtil +kgfawvzjinumhldqpytxrb + +yfdr +yfrd +royfd +dryf + +wsvptxyhcqfa +fysovtqwxchpa +vahfqtpsywxc +wfqaptcsvhyx + +wezkdnqhgufvarycxijlobs +rzoicqxglbfhenksjwv +gwikzclbvrxsnjfoheq +hwexrfocgnjvqbzklsi + +dm +yk + +xyqbn +cxypns +hkgylf + +mhqunico +mchio +hciwosm