From 4d6d791ff287d5c574820297833b83125ec3f9db Mon Sep 17 00:00:00 2001 From: Nunu Date: Tue, 5 Dec 2023 20:14:41 +0000 Subject: [PATCH] e --- AdventOfCode/AdventOfCode.csproj | 2 +- AdventOfCode/Day01.cs | 93 ++- AdventOfCode/Day02.cs | 39 ++ AdventOfCode/Inputs/01.txt | 1001 +++++++++++++++++++++++++++++- AdventOfCode/Inputs/02.txt | 100 +++ 5 files changed, 1230 insertions(+), 5 deletions(-) create mode 100644 AdventOfCode/Day02.cs create mode 100644 AdventOfCode/Inputs/02.txt diff --git a/AdventOfCode/AdventOfCode.csproj b/AdventOfCode/AdventOfCode.csproj index 352e9aa..6da6a36 100644 --- a/AdventOfCode/AdventOfCode.csproj +++ b/AdventOfCode/AdventOfCode.csproj @@ -1,7 +1,7 @@ - net8.0 + net7.0 enable Exe diff --git a/AdventOfCode/Day01.cs b/AdventOfCode/Day01.cs index 66fb158..52ba156 100644 --- a/AdventOfCode/Day01.cs +++ b/AdventOfCode/Day01.cs @@ -1,15 +1,102 @@ -namespace AdventOfCode; +using System.Collections; +using System.Text; + +namespace AdventOfCode; public class Day01 : BaseDay { private readonly string _input; + private int total; + private int total2; public Day01() { _input = File.ReadAllText(InputFilePath); + Part1(); + Part2(); } - public override ValueTask Solve_1() => new($"Solution to {ClassPrefix} {CalculateIndex()}, part 1"); + private void Part1() + { + StringReader reader = new(_input); //read text file + string line = reader.ReadLine(); //read first line - public override ValueTask Solve_2() => new($"Solution to {ClassPrefix} {CalculateIndex()}, part 2"); + while(line != null) //loop thru file + { + StringBuilder build = new(); + string num = ""; //container for ints + foreach(char c in line) + { + if(char.IsDigit(c)) //store each int found in each line + num += c; + } + line = reader.ReadLine(); //go to next line + if(num == "") //don't append anything if no ints were found + continue; + build.Append(num[0]); //take first digit and put into string + build.Append(num[^1]); //take second digit and put together with first int + total += int.Parse(build.ToString()); //add the resulting two digits to the total + } + } + + private void Part2() + { + StringReader reader = new(_input); + string line = reader.ReadLine(); + string[] word2num = {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; + //int j = 0; + + while(line != null) + { + StringBuilder build = new(); + StringBuilder num = new(); + ArrayList nI = new(); + for (int i = 0; i < line.Length; i++) //look for numbers on line but only ACTUAL digits (not words) + { + char c = line.ElementAt(i); + if(char.IsDigit(c)) + { + num.Append(c); //add any digits found to num string + //numInd.Append(i); //record index of those digits + nI.Add(i); + } + } + int earlyNum = (int)Char.GetNumericValue(num.ToString().ElementAt(0)); //store earliest num found + int lateNum = (int)Char.GetNumericValue(num.ToString().ElementAt(^1)); //store latest num found + int earlyNumInd = (int)nI[0]; //store index of earliest num + int lateNumInd = (int)nI[^1]; //store index of latest num + foreach (string number in word2num) //look for numbers as words on line (one, two, etc.) + { + int currInd = 0; + while(line.IndexOf(number, currInd) != -1) //while the number can still be found on the line... + { + if(line.IndexOf(number, currInd) < earlyNumInd) //if the number comes before the earliest number + { + earlyNumInd = line.IndexOf(number, currInd); //replace early number index + earlyNum = Array.IndexOf(word2num, number) + 1; //replace early number + } + if(line.IndexOf(number, currInd) > lateNumInd) //if the number comes after the latest number + { + lateNumInd = line.IndexOf(number, currInd); //replace the latest number index + lateNum = Array.IndexOf(word2num, number) + 1; //replace latest number + } + currInd = line.IndexOf(number, currInd) + number.Length; //store current index, continue moving through the line + } + //check for next number + } + line = reader.ReadLine(); + build.Append(earlyNum); + build.Append(lateNum); + if(build.ToString() == "") + continue; + total2 += int.Parse(build.ToString()); + // Console.WriteLine("Combined numbers: "+build.ToString()); + // Console.WriteLine(total2); + //j++; + } + } + + public override ValueTask Solve_1() => new(total.ToString()); + + public override ValueTask Solve_2() => new(total2.ToString()); } diff --git a/AdventOfCode/Day02.cs b/AdventOfCode/Day02.cs new file mode 100644 index 0000000..48ac7b1 --- /dev/null +++ b/AdventOfCode/Day02.cs @@ -0,0 +1,39 @@ +using System.Collections; + +namespace AdventOfCode; + +public class Day02 : BaseDay +{ + private readonly string _input; + + public Day02() + { + _input = File.ReadAllText(InputFilePath); + StringReader reader = new(_input); + Part1(reader); + } + public void Part1(StringReader r) + { + string line = r.ReadLine(); + ArrayList validGames = new(); + string[] colors = {"red", "green", "blue"}; //cube colors to search for + int[] rgbCount = new int[3]; //store cube count for each color + for(int i = 1; line != null; i++) + { + foreach(string color in colors) + { + int currInd = 0; + while(line.IndexOf(color, currInd) != -1) + { + rgbCount[Array.IndexOf(colors, color)] += (int)Char.GetNumericValue(line.ElementAt(line.IndexOf(color, currInd) - 2)); + } + Console.WriteLine(color + " cubes found: " + rgbCount[Array.IndexOf(colors, color)]); + } + line = r.ReadLine(); + } + } + + public override ValueTask Solve_1() => new(_input.Length.ToString()); + + public override ValueTask Solve_2() => throw new NotImplementedException(); +} diff --git a/AdventOfCode/Inputs/01.txt b/AdventOfCode/Inputs/01.txt index bf4fa01..753ce2e 100644 --- a/AdventOfCode/Inputs/01.txt +++ b/AdventOfCode/Inputs/01.txt @@ -1 +1,1000 @@ - \ No newline at end of file +gtlbhbjgkrb5sixfivefivetwosix +ninesixrgxccvrqscbskgzxh6cpvpxsqnb6 +dxxzrlzkksfsffp4 +sbzvmddhnjtwollnjv33d2lbcscstqt +88xpnfpb +ninevct4cpdvqfxmspbz9xrvxfvbpzthreesfnncrqn +mqsxzsglbtmsbltrbzkbrt23 +seven16ninefc +8jdddctvxs3 +fivennhhdfpmrnpjhdm2sixkrsgdt +2bgkccmp2khbhmptwogsz +rrddms473xcjrtsdnhp4 +two7eighteight29 +onek3three8lpfcfivenxpkhbvdm +spcdsstlkr7fone1 +9ninejcngjshghz +six78fivethreesix7fivetwo +nine17bsrfbzpcr +1qcdtzzfdpbcshjsjdmgsix +fourtwosix3one +26rqmtqznds +fivefour4kmgtsplpvvvhspsjrsxqjmzmb +fourone1pfjsxxprgxszsmg64nine +78four +sixvrxzf8mthh +three819 +eightnqzrshnbf7gxpndlncztwonztq +szsvltgsc1onecccbfour3oneightfh +vjdbqpninepqhlbcj61sixnine +2dbpnlhxtdninesix896sevenj +6fiventhree6 +four7xfour +jlnine6cqtdltpxt4 +sevencplmbvshm5flzlqxlbjjcrfxv18fivebpscblpj +fourfourfjft3three5 +3tgsppcfpk +seven48xcgqcfhnvc +twofive619hdbghs +4xppxkgpng4mttgskp8gxnzsfivethree +zbmzpstjf6znpflg +onefour9sixseven6 +327vjsevensfcgdbdeight +hftcndxpnine7 +9onert32m5 +bfdkjxcp56 +v4vqpstmlhtt +pjb5fivemonepcfc +cjftpgfive61five +7ffjkxkbnqfninevhnnbp +xcqkcbfv9xffn2six59 +nine4ssixvlrzjsrqvkg5 +seveneight74ljmjfthree33 +hdgsbjdsixtwo7chczjk +kkrpsbqmkkpmq4two9 +sg1kllqqfpbrcvgf43 +5one5threethreefoursevenoneljddmkss +cjcvnxone47eight6five +ghqqmsxnconetrhqrq3sixsix +sixfourg3 +ndlnhscmrx53six58 +xmktfbmqdgndhcvbpb93trvgv +52 +7twobkgsntslhthreeqttvx1six1v +kfreightwoonebbhqnqdfdkvgbcx5 +ninesixnineqzgzgzhdjsix8 +four7eighttwo6 +2pnine7 +6seventhree +five4four6 +2twozbsqkgkmfive62 +one9bkbnnineninempsqszz +two9jzgzbtwonef +8txvhbm5qpcvgkdfvg1hzmvcprvs +threeeight52 +five3qbhtfpkcvn4nine4 +9vrqkdrkl12jdsfpsg69 +seven757two12bxv +njnrmxbpvfourskvbp2sixthreexqstpvxjss3four +ninejfvfsp6twoness +22rcfzrbpbgq5twoone3four +rktqjcbz53five9foureight +pcjbdlsix5threeonepdvsevenone +oneonenine2hxpmqckdrftktntwo +7four92 +qxgfxkxkkf6hqbnsg4sevenninebvpjdnnrone +ckpf2five7six +three27rgsthreeseven +19jztwo6vninevmds +eightcdtwo7 +1c8kdqkrgjfour33zp +jxsdh8eightwoffl +sljxsjgvqfive4drrdlbbcrsthreesevenqktkjkrfrzv +pfjd5sevenfiveseveneight +fivesgzvngjfvz9eight +three99jrscbrhkczxdbtqqrfdtxh +bzhbbpkpbrqvhjmgsqq72eightwod +seven88 +3msvninelbhvqhfj871 +33sevenfn +49nineseveneightfive +7ttsfxbkjqonenbkrsdthreeqbp +cqjxgppqn2746one +six1vthdh +nbchjfgzmplxlrrtprkvhxmqdp4rdckh +two5six4four +four7lvttsbdj5 +4six9tnnsj +four4seven4svfm6zg +7threefive +twoqbxzxglsevennxsqpkpneightlxzndhmfourthree6 +nine5ldqdknsjsncbjmkmlpx +jpngl7668 +sevensixffour6 +689oneeightthreekrkkgjtcvh +97szfivekptsgppfmbseven3seven +gchqxphzf7threebzglvjsxxteight +4onefour46kn9five +bqncvpx25sjlnhdlm39 +69mnbns +1ffhnnhs2mftxnfcdhtdntbxjmeight5 +7nhmmbnxglndmg9ninefivetbkjkv +six7feight +7eightfourgtcj +4seven7six8gdjpxl14pgfkfmms +8mvrzktbvhrblflvndvksjkthree8 +9hcj +eightfoursevenngssddrstz8nineseven +pdbffvgqsnmzgccnhmzpxcnctkqqpzx1 +onegsrzht7ghgmkbrdzvhd +gvkjggsrmzfive1 +2dvdxtgqpdvccfiveck2ninectrcnkdcm +onexjbpzznnv21sixsevenrnshz +5oneqqq372bhzbgpltwofive +1xzhlgkgnmmqbtlkflvlrhrhkpglgsix +sixsixnjjrncqqrpbkfour338mztvsxl +rvthjblx55kjqvnlhgkf7sevensixpbd +9vfqfdrkeighttqmclffive6 +four6fourhtspfivefourcmzhkfive +sn2one +9ninefour7 +xoneightnineoneltpvkzfvpqhxszqmv3hthtn +4fivegqdgkknineonelfg +rzxkqbpsp32ndhgqjjonelp +three6chvkhhzrjttconethree +xsmdhzsfgrmhseven6eightndcpgrrfjsix +pkdqlfive7oneonendgtdjtwo +8dpfqfour6onenqmfxhrmsx +four854hcdzjv +ninemg8xm5gftwovnn +5ptkfjdrkmdtvkgpnsixtwo2 +qmseven2 +27khblcrxdmzjxrqcsgrlninejbjg +4ftzjmgzgninenine +six78seven +3three7dndseven +qbtgsxbfour9sevenfour2ktlnsthhsznine +59eight +xdmbrqpgdqxrrtxcmrdstq2jrtfktzr4five +2kkpdpmrjh1xvmnkbkqgxthree +9threefour9drjzhjfdbnineeightwofc +eightknfgls6ztjtxmgvmeightfggfdcfjnf +7hkbnqkf23 +hjjmdpxztwoseven9three +qp6two2 +vxlkhqtwoggcgcvnhdrfds19 +four2sevenseventdpjtfnine +24nine79kvzjnnf +t23cbtmfour +fourkksztczpgthree2gr56 +57sixnineeightjdqvbtsrfj6 +sixsdlhnldk6seven5zncgtctrrhczbnrqs31 +8onefour +mtfzxxlpnqt3mnrsrfscgm +two2bdxjzbfxzblbzzdfive +five67tdmxgmfxbseven2twoeightgcrbz +zsstjzljxbzrgt5eightfcpkzsths8 +twosevenbgfxdvkloneqffplfive7 +rnkoneight1bvvhkd +sevenonebrnq4 +zrxlcfxkckk57nbvls7 +99cjnj3brlnvrfqjgtwo6 +6lx8srsflntthree +rzvgnfdzrt36f4nine6 +fourmtonehlngpjvfhjfzmbdznpp8 +7seven28xrmr +93sevennine43seven +mnnqqsixsvdpqk9fpzd +zdpvcmcjq23 +82five1jpbldxgglcsqseven9 +two7rx9seven3 +3tcnxsevenninefoureighttwo +83sevennnjjjzsdzlx5ninexns7 +1seven4 +kczs59ksfnjzthree +93zsjzjn6862pdgfxqmghcrg +threethreeqntmqqm1fqgrxdlzlrzp2 +xxroneightonefive6vjmqbr2fjdtxhjk +2vlxfvqtd +9vdhdvgllhvjthvvmg +khvlqone77seveneight +eightfourjkqfzblbr7dpkgdgm +zdddkdnineseven6vzmsqrninetwo +dcspvl6brpdhqrrxrds3sxgvdlxrfhvh36 +twosevenv7lxtmxlrsdzqvcrtkdrxs +mjjdznk4pgkrjppqr1f +jtwonenhv4rml36bdqgbbgvzqbksrlqnxone +twottz9eight +thtzc9fivetwoeight87blggcsbk +eight2seven +xlbbchh6 +332ponesjqxnnftj +821pgvbsbq9 +4seven1smptmjbfsztwo6eighttwotwonevcv +fourvkjmrhgxqnztkdgj2four +xtjrp7bsmdmlvpmjfive +1ninesmtxnv +tzkl385gjsixtwosix +6xckhjxhsgq3fourbxtfseven3 +rjcrvbsxlq84eightseven +hpvnq2 +twofivecxxzvpfrfourfour448 +82fournfour +2nchszknqrqtghsfivenine +ptssxccnvlzrtscnsl6fpqrjtrfffour1656 +29rlrctthree4vbdmmkpg +twofiveqvllxsfj1sevengnkxhthreehppbslzmcgpg +5ninefvvvmfourzndnmvgcll812 +zxqxqzc4twoeightjfrfdjnlntjbpsevenone +hrhvjbdrfourrjj45 +7sevendtgjkbmlgpmeightone1 +lxfmntfkzh5lxdhmpfrkxqckrbl +616fourkdsp +7dfllkzmcbplzqseven9five +25833eightfourseventwo +four9sixrgnscd6seveneight +two89pxddpnbtck993lfxrhpx +ckpgbsfpdffiveprvqmmczhsthreeeight9 +431knfdk +ones7 +two4fiveninesixeightonethreefour +twosixsix9tsdrcft7 +8twokstblnjfivetwothcbqh +9twothreedtcone1twoeightfk +slq9seven1mjcqsstkxnhkmzznine4fvphmqsgr +fjmmkb6four +38xzqvzm45ldkkgxzlmtwodkgmd +1eightfive5hbs9twonnxbtghrbcd +9sixlcttnctfng7vxnpmntnxh4 +2two2rzkns7two +eightdbqninekmvfcceight65 +554 +dzlc5 +8597six4 +v7 +83vrfdbksmthree3nmmrbdmpmsj1 +4fourmcbdnrmd1 +three8kphbvvndl +nineppfhcn32 +eight7fiveeightvp +nine2threebvbnp8 +435pjthreerdtf +9xvxxcrscx53rbblg5 +nine2fcmjdbsrrlrvqmxhndgvgmqnhvqjm +56z8one5sixfive +threesixtwonine5eightfive3 +1ppzmxrbrgvseven +2xqfoureightqflxrshthree4 +12five91fkeightrsxgfl +sevennfffgrc9four +51ninesix5ninenineone +fiveeightlxqzjxcthree48one +sxoneightkkckxpxmhklhdcqzh7fxhjrsix5 +1289xjht3seven5b +9qjjseven7ninemmsn58 +dcspkncsffourgghhgvgc234 +62rdlnmbfnsc8 +khpklssix6cklksvqgqmjccffkrbcjjszhbdlm +qlhfqbbdg8fninedtnvpxffbj7four5 +65sknldglkhseven5bpcvsc24 +three41sztsmds3qxrkxgbcsnjjpgmkttjzfts +2fivefivenv +mjzfiveqsdvrllthreembzcvrjgzqqsp8 +8rxtwoqsfdpksc +fivezxseventwo32nine +onesmfsthreezdcrsdzjf6twoksvpqtfrn5 +sixthreetwosnine6gbjfpone +8six39 +onetwoseven3bplhxvhkkzjgjdxjknjfktn7 +xhgkqbltlxdnq51three31one +threekbknvpssvgtvbsevenrlkczg4gtfqpvrsmj +mqzdlfour7lrc3one +2rnthreesixsevenqtgvplzjleight57 +ljvfrfqvlbnsm1fivebxnfgxptn6ffkhhrzmfz +8fourfoureightbjkcl +gsvshhxbqv1nhhsgjnkhjshqtwo +eighteighteight1 +cxfprkbjp1psdkneightwojlf +eight9dgchpkgxpkrgjrclqqrd91tlvhhspzlmcpgr +zcjshj1twofourgsgvpljsixpmlh6 +9cnrztv +qvrdxrjk5sevenbmmbrchzgthreebjhrtxgeight +qdfsdhthreevdx4qspvkbdtccpdljcsfq +onefourm9hbpvsxbqxonegtsvfltdsg +srssgmrhszjvkrszhktfsbmccz4tvsqxvcxpx6three +dxvgjmcxbmfive4zvtfour +vtfxpjqkfive6one +ctshxrjvbslhtninedfour2 +eighteighteightseventwo5zsninesix +one37qfhtfpvpmmvjnpfgbkkbhgbdhdnine +tbeightwo2qxvttmcqonesixeight +btdrgxpthreenine8gq +1vfqvmgqvpmjrtgfqngkm +one13two +8eight2eightfiveninexfsptn +qlddc8 +ninenine8 +vtwoneb2lfj +3sixeightseven +94ctfzmjhzlpkjnbrrtoneightsrm +6mqkpvlf +trspvjctskfsbj5 +9tlkmnndlnqpcspq4one +eight1three8sevenoneftrjjxhblv5eight +twothree4nrshvjkxvq1sevenseventwom +2two5sixthreedjgcfhvz4sixrm +ntwo5one7ninembfive +qgclmrksfqjcrh849 +3twoone628five +5dqzjdmcninejlhqone +99mpmtfjbxmrjsix27four +sixthreeonecxvzmrm55rkx +5threeeightseven +tq8twotfgsnjctnseven +2nine76fourtfmqjkrdtrp +2lrfive +1sxkrpzjseveneight +xtbtqzvkvfourvkjjtsevenfdmsf2 +9rlnrjhxstsixrrqcgmxr +vhzpsrzfive2nine76nineddkqzq +sloneight27ninebnfxmgfour +ninesprstwothree8threeklrfour +two7onegxqvmjvdgb1hxsjllprk +1six5foureighttwoeightthree2 +5three4hfive +nine1oneeightlhnine5three +hfz7lbtffkphnvp8 +sxp7 +kfclfdhtplbmpzsnplmqfgnc56pgprnlkp9 +threethreevfourfivehtxchgc1two +7five4five222 +7qqnfoneprdsgj +457 +fivesmgdghmfour48one +kkr7 +rpqdl8fzgdg9ljnbxzdxs +tvmtggfnkq8fxbmgntmtffive1gbreight +5fcncxjb719fivepbn +7msvcmpknn +f61 +ltzcqsf1ninebbbkzkcsix6plsp8 +16glvnbcseven8eightdp +bdvgvrmpbpztjtdsqxk391 +keight9qsqfhzgbh5zzqvtkr +eightone944bp187 +9three2 +klgsfsjgptcqz4dkd5five +ninesix6qbbqdnsmjd1five5fourxprrc +2onesevendkspzqmhjdkrvgnhqfkvh +eightvsgnsrbkk34four +czbkrztcpkctv9fhmjmm +dfourpjjbffbtj9eightsix4tzqnnnsqbzqp +sixdvmclzpfnthreefive9fourseven +sixninerknqqsdl3twotwo +fiveonefltlnpsdgmpmzqp633 +three617six +ddngjtdnine8tdxcs +onefiveqhzxr8pftvhbhphr +three469 +69mzmtjgfztwo1 +551zbxzjfglghcmfoneseventwo9 +4sfive55eightqnk +chgsglxjlmnineninesixhhqbppctqvmrslbj46dnzsmlg +zvgjxm1sixninebxzpbknmqh1skzqqblm +fourdrf28sevenfour7 +j4zgctfmgcf +4t3eight3vlvgzbjlrzbdxjkthree4 +threefournineklg4threefour5bkmxtfxtnm +5five9 +svqsrqlfjhthreegnkjb1bjvsstkdc +gcs2nine +gqnsnjvpnmsllxhxstonethree5eightone +6fnzprvv1threefive62brhhz +two89xdrzrfr96 +4ninetwotwo32zhsnzlx +ntwone4eightfourthreeeight +87rsrlb9threesixthreejjnhcnx +6onenine +twoeightfive13 +one5bqvctcbnrdktf7qszxrxvgtfc +two9jtwo +dnsrkkdjbscltfsnonethreefive1 +three5one +37dhone6one +eighttwo2five2643 +7nknhfeightfour +nineninenine2pztjcjtsmn3one +7fxvql +gdgzvxnlkbtgkssdjrxftwo2 +fourtwo9 +onefoursixzeightone262 +kjbhkp3vjvdqchhmqpnbzjxvfrgpnqzpbn6eight +52tpgzzbb85 +seven4tmzv9 +1jncptklvtwo24four38five +nv447oneeightznqddpvvztwo3 +five7971bcqk +jdmxv6hhgstzcnvscphjbgrj1sixsxp1 +fhrcrqzqglr7 +15fourgvzbczonexlqzkdx4djvckdcfour +gbtgdlzsdvseven5five16 +tzklvspsz33vpjd3 +9snmndhqmtoneprpzfnsjq +85bvtnqqhqnbkmxkqqxzxlxqbnkh +8threecfnmsffphrninehjbxlc3 +n19five9z +gqrqz1 +mtmhphhspflprqgzlzgthreeggrtppdgflrrjdseven6 +pbdfzdqbx27oneeightseven +rtgnhlgqpkfour3cmbmhtsr +26fsdgjdbsevennine9l +eightxxnvlvdsdttwo9 +kthree3 +1nckxqpkthree91 +7bxdbjtqphs9five2nxrddxstwo +seven67rrvfztx +xkqk4ninesxfive4three6rnx +mnnspxdqjf3 +zpvzzptfsevensevenseven48 +threeonetwo1dqcgzkmdqkcdzpmqhzmm +sr19 +eight9nine9four +cpfrzhrnfivevqdr8nine +4zkhhfv9 +fjzmqgr3869 +mnxtwone1982sixfournxvmnvzmxlqm4 +6rg164three +zoneightnbbnrxclsthjboneninevkjnzhqrkvmtt6 +eight7nnpn52 +nine8threejrxc4seven +4fivetcq58 +skqfhjbtqthree7 +3mhlr +three6tzhlhgnx5ljb32nine +t31kxcf +41gdkmnf2two +ffsqhzmznsixtwokxjtwoeight73 +trtcc477 +seven1261 +4eight8rhrvlzpmnqseven9twohpn +dzfffzff5fiveplhmbfnzrvphfoursix2four +onedmhzhhzrmtwofourfive7 +zqmqlcrgzb2ninesevenrrdlhznhcqxsmfltworqlvzkdhqhskshjsh +37brxzssqonefive67 +xkptstf98fivebdlrslpjfxtvzfour +oneqpsfnprzd5nine +6gxxvxb7 +39two +nggltz4sgkdnpbvzz2nineblfff1fivesix +vvxrpdvbzppfour6gz3six +dfrdtwo3284fpntbqx9 +1zgxhdt94vmxmfiveoneqvfjjq +3lrsjmr44snx +eightonerjhrdftxrvqkzfive4zvtqnddtwo +bxfive2eight +jjnine662nine1 +onesixone1kknsjgzlbbrgxdbrxlpjvhtnkjbb +fivefive2three5 +sixsevend5 +6ninelfhjjfourfour24sevenxg +dpdvmrs7rbstcg +phxszdrzdfivepfkzcmhnineeight97fivecnkcxjqrf +7dpdbzbfxztqlrsixlzgcbctp7six +eight3one9 +nineeightjpxtpltworthree2xcrk +xtgfive49 +dndltvlglgtwo2seven +6lfxsgqzqj +7bqsvgzkphcmcdcpfg242lsnine +895bcx +fourzlxshjgtplrzk24xfspckjdone +stwonefivethreefivefdgnr6five +2bcsft42three7jnndsjqckmseven +oneqkmbqdfgljtgx3 +bpfk4rdxqptq +fourfivepsqvthreejzx12pdg +sixsixseven53fgrvckfxtlseven1 +9foursix +hvznsjjtsjdcng9 +7szrvscmcdmrjtzcj7 +r13bdr +ddghbfour3tnfmj49bm43 +54gggltwooneninekzkbf +48one8kpnfsnfflzbkr +chgcrmfour6two9tone +4pvjgzptwoqdrkjthtninesixfour5six +nbfbfndd4crjnsvrvmnxvp5rthlxzttzq +jsix5 +gptkdhsdjz8dgpmddsfdbncgsfdzknxjrlzrcfive +3grpkfkczphcxdsrczr +rmvthreeone62bg +9zqt +four8fourone +two4fivem2 +four1nseight4cvnjp +fivefiveeightseventzqlznsix12hxlcfk +chjvnmjcl7 +one2ninetwohhmnine835 +8ninensgmfdm +threemcfqntmffn43foursixtwo +hkkfour1 +4fivevsnmccnstffqtmsixonefvmsbeightwold +cvghfqsnvp3threefive +1qqtbzgvjhchcxrd4tgpsstwojlvmnine8 +2twofqxhhnmf +eightlpjfnkv5one2zxrtgskffive +fourfourninezhczvqkjcqnshzfbc9fivet +onefive7vtztjcpgrpb +9five8threebfpdtlvtrftdxcjfive4pzp +4eightsevenzfqkgn +9c547onetpztzvnnkf6 +8threenineonettlhvhszncfznxbc +twofivesixn4 +two1fpbvrbthreejxgsssrfivethreeftqdp +kxgmqzpxrqxnjjrfourtwonine3fivesevensix +6tvztdsix +855jftzthzltjgsixdftmtp +nbxtrrchtprn6 +eightfive1 +rnbxngxkfkksgmssqh8 +twozcd26onefourr +5fivecsnpmgn +9mhqlbgxzqfeightfivenine6tmz +425zxgqm5rkvrggpkhxblkgkpgonenine +d73zklxbnine +8nineeightfive +czgzhvglkczxmx5four +nineqkcjhpgcthreeninejxpqzmxjtxoneqmzxdgrngh2 +dthrngfour6cjfsmsqdfnfqzdxqpqtxtwo +onedqrjseight6mrbrnfgmj9 +45qjdsevenlhnbgvzsjkr +threetwo5eightfivethree +onevqtfourtwo3 +zvhtctbqnbfivesixsmtksdg8eight +xvlts6 +8d8mcseven +1tpgzvbqsvnbhhcqtwo9sevendpzncglvl1 +2threeseven +rkpffs8bmnthcx +one433dnqpone +threefive67 +vdkmsevenfourtwodjkrdfl3oneqqfjpq +four1seven1vthrcfjfhjzbzvhxpfour +3seven5 +5xtjnbgvr +1sbkcftcklnrninesixseven9trdptfive +six697nine +four9eightone6jr4 +four5mnsnineonesevenfive +svxqbqjeightxph3threetctlxqbn +fskcnineztzxrxlfmdnp9 +17dnd4sixdzq21ssggqvvjzh +4kpgmgpgseven69two73 +nine7nvdqnrptv1threemncvtwothreenine +dvljgdqhsknpbhhbcptvpmlbvqtwosrsntmvjpbs3lvdtgzcndsthree +gseven7eight8four +mpvmb7rcmbjgchtwoone +sevenmzbqcvxrfourmjfqkqvlcmcfkcfive5 +25rmeight6seven +gthxtj3rlsqxkzgxb4six +pfrjqrs6fivekmjkhmr3eight1 +onefive9 +4five1hmg7ninesixntssdbfgltcqnj +5dqh95 +one5fivefour7 +gxkq1ninetnbbmmptthreeninevhxlxkrm +9threecv +onethreefqzkz9 +4onetwoddb2two +twojv8 +m8eightcsvbjjglfxlkhr +1ffdndfmps3dqcz1 +25dfgdhtdfsgp9 +68lxlln268six +twothreethree26 +six2xbfdvjdtpn5nine1ninelqpmbnvg +2lkhg4 +hbxctckzsevenseven8 +ghdmhjtjseventlb1xmjlcnslj3 +five7threev2sevenhzndbnjfpkvcznmrtzcpxrlj +zqhb8 +nrknllzbkdpxtwoccxpgninerszrdmhdbqtfbkp6 +eightppfpmvlbvsixqjnnkzcc39eightwogx +ftqxlqgrdpprrkrsix1oneightp +sixmtrtd392lhczn +6three8sixseven76pgvrfb5eightwof +zszr2rvfnine +rltwoseventwo6 +9qtsblhddtseven4six6 +1sevenqddm +7ghjhklgfjrmrfqprmb2jgf6bsctzhkzx +rtwone6ninenine2two4one +3five2nine +two498 +twojf3onefour2sixzxzc2 +eightshflmonexxtbsdzvsj6 +5fourkddmhvtbmjgkrlsevensix +7twosmdcftxkglpncxctbpmmhmd2sixqf +sixjthpkpbpqnqvrzzxcfjnlgeight3 +8kx2 +6twodmnkteightghnpdbcn26four +qzvnrncqzf11eight6 +5fournine6kqcg +klvnhhpspghveightthreesix2onekvh +seven7vshrlkpc2dtoneightk +nine1twosix5one +four5four6fivebdkgztp5dbzddxdpc +75oneltfnbxsfive3 +61ninethreerdlrjg +srjlctwo5 +eightfourfive3 +nmlkrh6eight7229five4 +8qtqsjshzfour9skonereight +7cbhhxqmlveight +xlctdkp68nine2qfkfv +sevenonekjone7 +3twothree +lpdxfivecqqkxshmxsghtwo4zfszfxbgffxhdhszr +5fnctfcp6six +sevenone595seven +onezbtwo4 +phbbllmmhzh8btvpgjvs8 +vrqdqksv82768rsqv +fivemzscrninepgtnseven54 +5kmcsmvjqfive87xqz8 +5sixchpxtkjbggztphrlqcjszpzmcbnone2twohjchhcm +lktwoneqkhrnvkone4 +41684 +four81qjvcjmgszfqfiveonerps +1two443dvjxfpzdcpseveneight +hkpf9seven5seven +seven5rtzk87 +371hpjtkthreef8 +2fourfour6xptbrvf71nine +cmhgh8drvxcrcjsz2 +fourlfqrsxbztvjjtxggpmkmtggxfourmfive1 +ninegssvllggld662six +8sevenfbthtxglsbeightonenp3qrbhtz6 +threemjhtsbm8mdzk +6lgbr5fourfour4v6jhdhvkrk +nmseven553two4 +bvs3twovbzthreeeight +mshlfpjltwo6two +4two7nine +4sixtcrcxzph9 +8zjrrhp6kvd +mznthreesixglsf881seven +2five511hone +pmoneightzvrvmkrn1tkxqrcnfivecfnqxvtkxtwo +6gxt7fivejmdhnzxzslvqgghgfive +seven1one +8thdkltfourl5five +oner6fivelxsmcmsix +5fivezcntznpxsljzxldvqx +fivefivedbvdxfnvxzsix19 +fivefive6twoqqpkh27 +9qvpdkone +brvxnqdnzkztdqpbb1vxg35kstpxscninekgkmrtmrff +fourfourbhzgmp3sevensevenpsrndk +seven8dgvpxrmmthree19 +neightwofiveeightsixjjfnllthree6 +91threesevenpjxsixgmrzsjmz +4zcq23sixfourjpjtgvtnqqqdctlf1 +crgjmshnzprnrc979 +qsmmztjzz4eight7sevendg +9423 +fivesevenseven48 +fjrrstz4cfrxfrslvtmjpfxtkbhsjpppfkrzeight6 +7dpfvrktp +z3ddjbvmcdsgddprhc3 +bng89ninesfv2rvchkhqhz7 +2vclrzqgnnnfour1 +ggldndrnlkeight4seven2bcxvdzjflpdxvvgxkkzgeight +heightwoonetwo119l1cbvf +cvponeight3 +three5mrqjbroneone1cckghmznvxnj +9ninembpxffcqktwo18 +eightfour44fived1nkgpk5 +1nine24 +vhmdjp43seven8sevenvnsflnfx9 +nine3fivefivesevenhklhcg +bjndsctqthgzone2twonev +sixninekznkgrjjj4 +98fourfiveeightqgrzjkvfj3six +124onedjnrthpzxqmzpcnhzfour +threethreexfgbjpv2eighteightzdffvnmcz +four5dnlncmtrq5sevenfvjkh759 +5rzsfqblznf6kxmkfcgpxfive986 +8eightonenxpntbctcrseven +ksvveightsevenmgczltdvmp9 +7zthlrqqs +5674mgxzdsxhmzfour6gvjtdfnqjrggkjbvc +nqnn9 +1lvmcghmv +lrthree7sixdsdvlkl +threefourfourthreethreerntmpsqzb8 +xgstwosix3 +4jbdqxone263rzkmjpqcrkltcnrpfour +5eightcnrdqprxjzq +three32onerhjlrxrb2 +cnzcqfour5 +seven5one +five2541 +four9bzlqpf65m +6ttg55gkmbbn66two5 +sevenbxcl8eightonefour3seven +sixlxfhnine2njtsjtwosix3 +3173two +8twosh1threepdp7 +3zxpvtbdkfivesixeightthree +ctheightwobhqpfour1two9twonine +jmm74hrlvonestds +seven5tgmphz +4xtztkdntxfour +5ninettwothree +threernhzsk9psrkxprjkgeight +two9fivet8one48eight +58threehcgkgdxp8 +eight2kmhz66nine +onenine7czjxbeight +dx7qbp1 +three9onedone +7vmhzdjbfvnine +5ksnxncqsshzsixzvtgkrzrnrhltvzhqh32 +seven66twomchrdkseven +86jptqljgcrtrzjg7 +ndxxntxz9fivefnzdxjbz49gtfivenstgqbn +rpcfkdzlbnkvdc8 +sevenkbslmkmfivekccclm929 +378zrrcfrsrzpgfkdjbmsix8 +19dtrqvzfqm5two +drlpsxbscldfhj48mpxzz +sggmjfqffmtwo5nineone +1kfsttv +one9sqntcvldnvtrjrp1 +hmx6mkxkxbp4oneightxgd +onethree845n3htlxkj +rqmnxsdnfeight2khvfivelzpsxpsevenqddk +dtrgs7onefive43 +seven6onehvnsnlfbhbfourgcf +bvzqgvhzgl54 +dshsqgmb9nine4five8 +kqvzvbhb18 +nbchkr5 +fbnpvprb1gnfive +7tvdhmgxttwothree91cone +sevenvhldmzqgdrjkx64hnine4 +72fivefour +xmmtbr5 +xc6fivexplnftpkp8 +onezh7threetwo +chdkkxmxrt81two +ktz9gnjv7ddgnbplfour +xzpmsqpcvf95 +nine9qnvrzfone1threeptlxqjksbg +onesix9seven9tggdzxhvm5tctqmseven +sevenfour6pvhnmmm +fbvkkcvpvfive3six +9kzmrxmqxdp +seven456nine +6srtgpkzkhbkv392sk1one +qhgsrhskdrsgntbq7five15 +nkjnhqp3nine1kkth1 +threeninethree7cnhtvrvpmxltwohbkznkpmmq +fvnbvcxtjfx5fourninejlzbgztg +nine1twoseven5fxxjtrtnchsgggbszkpr +16rkgclhpfive7fiverzgqdfczh +six6fournnfhseven34 +3vspnbvfqnjdbsthree7sqhrjpdllxmmt +zxptrvxqfivenqbtlzdgrd59 +twosnzvbxmfk4sgpcgthree2threeqtnjp +fourthree3dmxhninellfive5mnllrzm +three8seven549fournrxpnjrhvt +9gdfflxhmhpsix895xbptvxp +1fivefour4two7 +seven5rkmrc8six9oneights +hgbrl1svqnlneight6 +7zzbvnzsix26zkftwo3 +two4745three65seven +six3three458sixtwofour +fourjnine4 +9nine6 +twopnxcfourpfstqln7fzvtvtn +four5nineqfhkstftjfives6threeptcn +qqkzslhpjkmrtm7nine +fourhjxklxxqxmfgvjsnsczxfrxcgqmcjlndsqhtwothree6fltvvq +eight3mq9gdtmlm +nineseven422 +4fourlthreeoneightjb +3vccbrlshrgpcgjrpgfj +5rrvzchsp2seventwo2 +four1gtrdkmzkl3 +ksvdqxpsdfveight6szgjsdzpxqzlheightone +threesevenfive9onefgfive95 +76hztsngfour4twodzcjshdqxkfive1 +eighthffxm8mzsktlthreelhhfdkgcptkl +6922two51lvzrhvfour +fivesix3tvvkhmsqm9 +38g +four3fqx1zkxvlsmqstwo +468845sevendrhkfqrsk6 +gmxdrbkb9zrxqpfvgjqjprdpgtwovtwofour4 +dlzgv6two8eight +one2ninefoureighttwo8 +ltrstvmcc2jnmvmdc +m22six +5jsbzptglftwonvzccxhrcj +2vcfivednhldrhdonef1 +1fourpxnpbmglfseveneightqkfour +vqxz6bzfcpmpsmq67gthree +five3onesixqxv +81twoonenineeight +vcpjcrsnbtzbz1rkhl +rgzhqsix4twofljjzpkm +gzhn139twoseven2lrtwo +l4ninehzsnine7hxjtb +cszmdjlpxgonesix2sevenseven +2jdqxpt +nbcfc6lpfourfivecnklxnsq3 +kqrvrvmk41threenineeight23six +ttpjhz65three3three +eight7one5twoonesix9 +sc89four71 +tss2qprfour +47eightdpdcbjbkmxbssnrslqzthreelsqtjm7 +ltv5twombc7 +cs6758nsmgss +5mzbrvlct +rzggbmgfrmfqfsglkbtzmfour6fivebgnxlkhhvz8two +jblbqgzc8sdctvcgjfouronedjvhthree +41six9sfvv3four8 +fqrvpnine8 +kqdkzneight595three881 +two2xj23six5 +xpvhl74lqhjbdxgsznjf7five7 +qlf44fxjxj62 +fivegvvsscthreeone6239one +6oneeightcnhmps2twosevensixvqj +7stbrlvjmc +23lfxjhfpnqhnine3gdjqfjmthreehrgfk +hkgjjmdsix2tczq516qm +6eight14 +3onegnsxqf +qf31eightsevenz +cfsslclscsfgfbdpdzzknine3 +5mzlfdgsvc3sjztcjmrd +zcrjglqhkgzh6nvxpbdmsh +three93eightmvscdpvrbsjh +cfour2 +3fivefive3four63 +sevensixnineeightgztgcldrf66one +qqvxmvqtdpnrzxzt8 +onezzrgqzh8cflqzgpqhrgr +3fourvnxxllj3three4 +seventwo54threemppbvtpsix +nhchm9dtkbpkbtwonbfnjfgctwosevenlvxvvtlmzptzpc +pkdtwo7five +sixvr5jhzzvl9three66three +eightfour5558h9 +6foursevennc +1knskl +fourrnncfssxeight8lvknmmsixnxdjbcsgmfour7 +85nhxggnbprbpnfrkjf +twotwo84eight7hmxsvseven +xpjzvvjt4threepslbkml +foursevenszone19 +tvjbkvqzdffour63gfnmkmdzzjn +jzln78l6phtndcgseven +6bgqscglgsninefour9nine +blninetwoeight3 +twoqlmkmdgvk1kqlfmvnrphcssq2one +twoqpxzxvdnsxrksnhvbj6nine47 +zlmn8n839nspkrvxxkbl +one11 +3seven68 +3sevenjlvjf1j +vjjtb4jkggqhheightninefivevrshccfk4 +eight77lv3threecxzxxsbzlr +73tnbpzvgnrgh +53twoeighteightthdxsf4 +1vrcmrj +1seven5tvmhzxsldbnine9onethree3 +two3nine1fournng +5two2 +dsvj9sixseven +7tcckcrmhdx55 +6sevengsmxeightfive5seven +eightmdj1 +sevenfourtwotwo66six +threejmgvv6three5rtpqnt +fmrkcmdbggxxm7two +eight5four6twotwo +qckktvninedjj13nrdtmcscsmlrpl4 +9bstmqqmdfmhzlbsfpfivetwovffcqtpjbkntnv +kj63foureightfoursix44 +qxsrsfvj9oneonefour2mblthree +gthffbrrbhfzsq4 +dflchfive5xgpcsfcksl +twoeight7pbt +7pnjqhtmfsbmpplsixthreezfcqpvfourtwoner +rfourhrv2fiveseven +1ggzvninenqrhbdpqnxsixmvsevenrcsqptdl +two7bmxpmhhx +tfsprzdnineqfourtwo87 +9n89three3eight +8xrbvvgfqz +onefourttdlbrjcf2smrsfbtrfourdsnbgzcgqbkb +hxkktcf9 +sixsevenqmfs6rdzthree +64nine +seven9pxmlbdd5seven +kxvlrzhhgtxnnhg5lnrjqqxjsixkmnxxthrees +tscnzpglccjqhz1mqtqvkgl +vfdqx6sixsix +3nine3 +mdfsxsx3fiveone39seven8five +lsrsbqkvfxrvlr68fourgzsrvpone +oneonethree74 +eight3rxxjkm +sz5 +3r7sevensevenx3 +jzrhnqdthree6661 +six1pcknpvv +qlxvsixonehbdfsxvhsevenzqcdrvk421 +27six2sixjqctbbfv5 +6fiveeighttwo +mcclrxlpqhvhkptbsrrrsgbdzq6one +9fiveghrrhtqnmhtwoonenine +9lb +3hbvtsnqtksevenone8mlftbqjcdxtqkfive +vvqgkbj2fivedt +threefive47 +drmjdqbg37 +qvzqtbqpkktnjj83eighthrcvdxppone97 +mdxxvhtmxninerzqnkmkj8eightsixfivex +kkhclsffivefour7two +4mzhlxrcsm38twotwo +lcmpj3nine7 +fourbpgqn1tworsknxlqdl8zzdlxpgx +nine8eightsevensixkztqszjr9 +fourfive5jhgpcxmqpr41two +fgjfpxkbszsdkbrzmpronecxzhhcsixonegmkppllnd2 +five2853 +zszgxvdtq3three +5tkvc5twosixspzhdfourninestpsj +1sevenoneeightlbxskgvpft +ptcfnjgchx1 +8mfeightqrqrhvfsb18nnlcc9 +nineltnphnvhpvrxbfc1 +tcvmnphpmthree56rx +99rsvrmxbgxtjtclnbbmb8sixone3 +sevenvfjzctwoqjqmvjrdxpxzsfour5 +3d2nhtrhbtfourgsml +9672seven +zttst57zkbjlrmr +455six8fivehqthdfmjfgc +5sevenkgsmclonedvgzqfkgjtwo4 +sixsixjkv6nqdhrlkr +qxjbsevenlp56 +one13tpbhsixfive8jbt +6five8nnqlcbvmb7 +2three1jlghgbzxz751 +ninevktrhnf71one4l +13foursixqcrzsrrffknfive +2crb2 +1mjmxsvnb3eight +eight517feightmxl8 +one1threeeight76rcmkskpvmrz +onethreecqnczs8tdfiveeightthree +fourtwo15nine1 +1rxfour4xjzdfgqsixmjvvzfnh6m +zvcfive2eight5hghsix19 +3nxlmh448two899 +three98oneightzn +3fourtwozszhmcp +twopvhd73 +oneqdlsb7sixllszjbceight +xmqxqsixpgclxldnvlzvjm7nine4 +fourfive4tttldbmmkxvhqrmvmrkpxfzbd7 +44two1 +eightrtsjszc2 \ No newline at end of file diff --git a/AdventOfCode/Inputs/02.txt b/AdventOfCode/Inputs/02.txt new file mode 100644 index 0000000..df978d7 --- /dev/null +++ b/AdventOfCode/Inputs/02.txt @@ -0,0 +1,100 @@ +Game 1: 8 green, 4 red, 4 blue; 1 green, 6 red, 4 blue; 7 red, 4 green, 1 blue; 2 blue, 8 red, 8 green +Game 2: 11 green, 7 blue, 15 red; 13 red, 6 green, 2 blue; 7 green, 9 red, 10 blue; 5 blue, 1 red, 11 green; 4 blue, 18 green; 4 red, 8 blue, 18 green +Game 3: 7 red, 10 green, 4 blue; 2 blue, 3 green, 5 red; 9 red, 7 green, 3 blue; 3 blue, 6 green, 18 red +Game 4: 1 blue, 2 green, 5 red; 10 red, 1 blue, 3 green; 14 red +Game 5: 16 red, 4 green, 19 blue; 13 blue, 9 red; 7 green, 14 red, 2 blue; 5 green, 18 blue, 4 red; 7 red, 2 blue, 3 green; 8 blue, 12 green +Game 6: 3 blue, 8 green; 4 red, 5 green; 5 red, 8 blue, 5 green; 8 blue, 4 green; 3 red, 7 green, 2 blue +Game 7: 7 red, 2 blue; 5 red, 6 green; 10 red; 2 blue, 12 red, 2 green; 4 red, 1 blue, 1 green; 9 green, 2 blue, 10 red +Game 8: 3 red, 7 green, 3 blue; 2 green, 3 blue, 3 red; 3 blue, 4 green, 1 red; 3 blue, 3 red; 2 blue, 6 green; 2 red, 7 green, 1 blue +Game 9: 5 red, 6 green; 6 red; 2 blue, 3 green, 9 red; 6 green, 2 blue +Game 10: 5 red, 8 blue, 5 green; 15 red, 6 green, 7 blue; 8 blue, 6 red, 5 green; 5 green, 2 blue; 12 red, 6 blue; 6 green, 16 red, 6 blue +Game 11: 3 red, 7 blue; 2 red, 3 blue, 6 green; 4 red, 5 green, 2 blue +Game 12: 15 green, 6 red, 2 blue; 3 red, 8 green, 9 blue; 8 blue, 2 red, 7 green; 5 red, 11 green, 6 blue +Game 13: 1 blue; 1 green, 6 red; 8 red, 3 blue; 5 blue, 8 red, 2 green +Game 14: 4 green, 1 blue; 8 blue, 5 green, 1 red; 2 green, 8 blue, 3 red +Game 15: 7 blue, 9 red, 8 green; 9 green, 12 blue, 5 red; 8 green, 10 blue, 2 red +Game 16: 1 blue, 1 red, 14 green; 6 green, 4 blue, 1 red; 16 blue, 14 green; 6 green, 2 red, 9 blue; 1 red, 1 blue; 2 red, 13 green, 7 blue +Game 17: 1 red, 9 green; 9 red, 5 blue, 2 green; 2 red, 8 green, 5 blue; 5 blue, 1 green, 3 red; 3 green, 5 blue; 3 red, 5 blue, 9 green +Game 18: 3 blue, 5 red, 3 green; 8 blue, 14 green; 3 blue, 11 red; 2 blue, 10 red, 9 green +Game 19: 7 green, 8 blue, 10 red; 1 green, 10 red, 2 blue; 6 blue, 4 red, 11 green; 7 red, 4 green; 6 blue, 4 red; 4 green, 2 red, 3 blue +Game 20: 5 red; 16 blue, 4 green, 7 red; 1 red, 1 green, 4 blue; 3 blue, 4 green, 7 red; 5 blue, 2 red, 3 green; 17 blue, 5 red +Game 21: 11 red, 4 green, 4 blue; 11 red, 5 blue, 2 green; 11 red, 13 green, 2 blue; 13 green, 6 red, 5 blue; 7 green, 4 blue, 8 red; 6 red, 8 blue, 14 green +Game 22: 2 green, 1 red, 6 blue; 3 blue, 2 green; 7 green, 10 red; 10 red, 7 blue, 5 green +Game 23: 14 green, 8 blue; 2 red, 5 green; 8 red, 16 green, 10 blue; 1 green, 7 red, 8 blue; 15 green, 5 red; 15 green, 2 red, 5 blue +Game 24: 4 blue, 1 green, 1 red; 1 blue, 8 green, 3 red; 4 red, 9 blue, 4 green +Game 25: 2 blue, 1 green, 3 red; 2 green, 4 red; 2 green, 1 blue +Game 26: 3 red, 5 green, 4 blue; 5 green, 8 blue; 1 blue, 3 green, 3 red; 7 blue, 2 red +Game 27: 13 red, 9 green, 6 blue; 19 blue, 9 red, 4 green; 14 red, 4 green, 11 blue; 5 green, 12 blue, 7 red +Game 28: 9 green, 4 blue, 15 red; 18 blue, 14 red, 12 green; 14 red, 12 blue, 3 green; 6 blue, 7 green, 15 red; 17 blue, 6 green, 9 red; 7 red, 12 green +Game 29: 17 red, 2 blue, 9 green; 5 blue, 15 red, 11 green; 13 red, 3 green, 5 blue; 4 green, 11 red, 1 blue; 5 green, 1 blue +Game 30: 3 green, 12 blue; 15 red, 2 blue, 6 green; 12 red, 11 blue, 10 green; 9 blue, 7 green, 14 red; 1 green, 7 red, 5 blue +Game 31: 6 green, 7 red, 18 blue; 2 green, 3 blue, 10 red; 9 blue, 8 red; 18 blue, 10 green, 4 red; 14 blue, 11 red, 10 green +Game 32: 7 green, 1 red, 5 blue; 5 green, 3 blue; 6 blue, 5 green; 5 red, 11 green, 6 blue +Game 33: 9 blue, 5 red; 2 blue; 6 red, 8 blue; 10 blue, 4 green, 6 red; 2 red, 4 green; 1 red, 6 blue, 2 green +Game 34: 1 red, 6 green; 3 green, 6 red, 2 blue; 2 red, 2 blue, 1 green; 5 green, 1 red, 2 blue +Game 35: 7 red, 2 green, 4 blue; 4 red, 2 green, 3 blue; 14 green, 2 blue, 5 red; 14 green, 2 red, 3 blue; 5 green, 2 red, 1 blue; 2 green, 8 red, 3 blue +Game 36: 7 green, 1 red, 1 blue; 3 blue, 6 green, 9 red; 2 blue, 17 red; 18 red, 2 green +Game 37: 6 red, 14 blue; 3 green, 2 blue; 18 blue, 6 red; 3 red, 18 blue, 3 green +Game 38: 6 blue, 8 red; 9 blue, 1 green, 1 red; 2 green, 10 blue, 1 red +Game 39: 9 red, 2 green; 7 red, 2 blue, 2 green; 2 blue, 1 red, 8 green +Game 40: 15 green, 1 blue, 1 red; 3 blue, 1 red, 6 green; 2 blue, 11 green; 2 blue, 11 green; 3 green, 4 blue, 1 red; 2 blue, 6 green +Game 41: 4 blue, 9 green; 11 green, 1 blue, 7 red; 1 red, 3 blue, 17 green; 17 green, 2 red; 2 blue, 16 green, 8 red; 1 blue, 8 green, 3 red +Game 42: 7 green, 15 blue, 2 red; 1 green, 5 blue, 5 red; 4 green, 6 red; 4 red, 4 blue, 1 green; 1 blue, 4 red +Game 43: 10 green, 6 blue, 8 red; 9 green, 9 red, 4 blue; 6 blue, 3 green, 6 red; 8 blue, 16 green, 7 red +Game 44: 14 red, 14 blue; 11 red, 1 blue; 1 green, 9 red, 15 blue; 1 green, 10 red +Game 45: 10 blue, 5 red; 1 green, 2 red, 11 blue; 2 blue, 10 red, 1 green +Game 46: 10 red, 9 green, 5 blue; 9 green, 2 red, 5 blue; 3 blue, 14 red, 4 green; 2 red, 1 green, 6 blue; 2 red, 9 blue, 4 green; 5 green, 2 blue, 11 red +Game 47: 9 red, 5 green, 1 blue; 3 red, 1 green; 8 red, 2 blue, 10 green; 9 green, 9 red, 2 blue; 13 green, 3 blue, 6 red +Game 48: 15 blue, 3 red, 8 green; 2 blue; 12 green, 7 blue, 1 red +Game 49: 9 blue, 3 red, 2 green; 12 green, 17 blue, 2 red; 3 green, 1 red, 8 blue; 16 blue, 3 green, 3 red +Game 50: 17 blue, 2 red, 14 green; 18 blue, 12 green; 13 blue, 6 red, 8 green; 4 blue, 6 red, 4 green +Game 51: 3 blue, 8 green, 4 red; 5 blue, 5 green, 4 red; 2 red, 8 blue, 2 green; 8 green, 3 blue; 9 green, 5 blue, 1 red +Game 52: 9 red, 5 green, 6 blue; 3 red, 8 green; 2 red, 3 blue, 6 green; 8 red, 4 blue, 2 green +Game 53: 6 green, 13 blue; 4 red, 7 green; 2 green, 7 red; 11 red, 2 blue; 12 blue, 9 green, 8 red +Game 54: 3 red, 3 blue, 3 green; 3 green, 2 red, 1 blue; 13 blue, 3 green; 5 red, 4 green, 13 blue; 4 green, 7 blue, 9 red +Game 55: 15 blue, 3 green, 2 red; 1 red, 8 green; 19 blue, 7 green; 4 green, 19 blue; 9 blue, 7 green, 2 red +Game 56: 1 blue, 9 green, 11 red; 3 blue, 12 green, 2 red; 1 blue, 12 green, 4 red; 16 green, 3 blue, 3 red; 18 red, 9 green +Game 57: 7 blue, 6 red, 3 green; 11 red, 5 blue, 4 green; 9 blue, 1 green, 5 red +Game 58: 17 green, 17 red, 6 blue; 10 red, 13 blue, 1 green; 7 red, 14 green; 6 red, 2 blue, 8 green; 13 red, 13 blue, 4 green +Game 59: 1 green, 4 red, 1 blue; 1 red, 1 green; 1 red; 4 blue; 6 red, 6 blue, 1 green +Game 60: 7 blue, 17 red, 8 green; 12 green, 6 red, 8 blue; 1 red, 9 blue, 12 green +Game 61: 2 green, 15 blue, 2 red; 1 green, 9 blue, 12 red; 12 red, 3 green, 19 blue +Game 62: 17 red, 1 blue; 5 green, 16 blue, 14 red; 3 red, 7 blue; 8 blue, 3 red, 1 green +Game 63: 9 red, 9 blue; 10 blue, 6 red, 9 green; 11 green, 1 blue, 13 red; 6 green, 13 blue, 9 red +Game 64: 16 blue, 2 red; 9 blue; 10 red, 1 blue, 4 green +Game 65: 1 blue, 18 green; 19 green, 1 red; 10 green, 1 blue, 1 red +Game 66: 12 blue, 5 green, 13 red; 3 green, 3 blue; 1 green, 1 blue, 11 red +Game 67: 5 red, 2 green; 7 red, 3 blue; 1 green, 8 red, 6 blue; 2 red, 5 blue; 8 red, 6 blue +Game 68: 8 green, 6 red, 18 blue; 8 green, 6 red, 3 blue; 4 red, 14 blue, 11 green +Game 69: 6 blue, 3 red, 1 green; 4 green, 6 red, 6 blue; 2 green, 13 red; 9 red, 5 blue, 6 green; 2 green, 11 red; 6 green, 2 red, 1 blue +Game 70: 7 blue, 18 green, 12 red; 17 green, 2 red, 8 blue; 17 red, 13 green, 2 blue; 1 red, 2 green, 7 blue +Game 71: 3 blue, 1 red, 15 green; 13 green, 2 red, 8 blue; 7 green, 12 blue; 7 blue, 12 green; 7 blue, 5 green +Game 72: 6 blue, 18 red; 1 blue, 4 green, 3 red; 11 red, 3 green; 6 blue, 5 red, 13 green; 11 green, 16 red, 5 blue; 3 green, 5 blue +Game 73: 18 red, 1 blue, 3 green; 4 blue, 4 red, 4 green; 1 blue, 3 red; 2 red, 1 green +Game 74: 5 red; 12 red, 4 green; 4 green, 5 red; 2 red, 1 blue, 4 green +Game 75: 2 red, 2 blue, 6 green; 2 blue, 6 green; 3 green, 1 red +Game 76: 6 green, 1 blue, 12 red; 2 green, 2 red, 3 blue; 3 green, 10 red, 3 blue; 3 blue, 16 red, 11 green; 15 red, 5 blue, 7 green; 4 green, 4 red, 3 blue +Game 77: 14 green, 4 blue, 11 red; 12 blue, 9 red, 19 green; 10 green, 4 blue +Game 78: 1 blue, 11 red; 1 blue, 14 green, 4 red; 7 green, 3 blue, 5 red +Game 79: 3 red, 13 blue; 14 blue, 5 red, 5 green; 1 green, 7 blue, 2 red; 5 green, 13 blue, 3 red; 7 blue, 5 red, 2 green +Game 80: 2 green, 11 blue; 2 red, 12 blue, 1 green; 11 blue, 11 green; 2 green, 12 blue, 1 red +Game 81: 8 blue, 5 green, 1 red; 1 red, 6 blue, 4 green; 6 green, 10 blue; 2 red, 9 blue, 2 green; 6 blue, 2 green; 6 green, 9 blue, 2 red +Game 82: 13 red, 12 green, 3 blue; 4 blue, 4 red, 1 green; 4 green, 8 red, 2 blue; 7 red, 13 green +Game 83: 2 green, 8 red, 1 blue; 2 blue, 6 red, 8 green; 5 green, 1 blue +Game 84: 6 red, 18 blue, 5 green; 3 green, 15 blue, 2 red; 6 red, 6 blue, 8 green; 1 red, 4 blue, 2 green; 2 blue, 5 green +Game 85: 3 red, 11 green, 2 blue; 3 blue, 6 green; 2 red, 4 green, 4 blue; 1 blue, 3 red, 10 green; 4 blue, 7 green, 4 red +Game 86: 7 green, 16 blue; 4 blue, 1 green, 7 red; 6 red, 15 green, 9 blue; 7 green, 9 red, 2 blue; 14 green, 2 blue +Game 87: 8 red, 3 blue, 8 green; 3 red, 1 blue, 8 green; 6 red, 5 green; 2 red, 6 green, 2 blue; 6 green, 2 red +Game 88: 1 blue, 4 red, 12 green; 4 red, 1 blue, 14 green; 1 blue, 10 green, 4 red; 1 blue, 10 red, 9 green +Game 89: 7 green, 6 red, 10 blue; 4 red, 5 green; 2 green, 13 blue, 2 red +Game 90: 16 blue, 2 green, 10 red; 4 green, 7 red, 14 blue; 4 blue, 11 green, 3 red; 3 red, 10 blue, 3 green +Game 91: 7 green, 7 red, 4 blue; 14 red, 11 blue; 16 red, 8 green, 15 blue +Game 92: 5 blue, 12 red, 3 green; 2 blue, 8 green, 5 red; 5 blue, 10 green; 11 green, 6 red, 4 blue; 5 red, 4 green, 4 blue +Game 93: 4 blue, 3 green, 5 red; 7 red, 17 blue; 8 blue, 7 green; 17 blue, 1 green; 2 red, 6 blue, 2 green; 15 blue, 3 red, 4 green +Game 94: 9 green, 3 red, 2 blue; 3 green, 6 red; 13 green, 4 red, 2 blue; 7 green; 4 green, 7 red; 2 red, 9 green, 2 blue +Game 95: 3 green, 11 red, 5 blue; 6 blue, 8 green; 9 green, 6 blue; 6 red, 1 green +Game 96: 3 blue, 3 green, 10 red; 2 blue, 12 red; 4 red, 3 blue; 2 green, 3 red, 1 blue; 2 green, 6 blue +Game 97: 5 blue, 3 green, 2 red; 2 blue, 3 green, 5 red; 12 red, 3 blue +Game 98: 2 blue, 2 red, 9 green; 4 green, 5 blue, 1 red; 15 green, 3 red, 9 blue +Game 99: 15 red, 7 green, 11 blue; 2 blue, 12 green, 17 red; 6 red, 3 blue, 11 green; 14 red, 13 green, 5 blue +Game 100: 5 green, 17 blue, 5 red; 15 blue; 13 green, 8 red, 3 blue; 16 blue, 15 green, 8 red; 16 green, 2 blue, 3 red \ No newline at end of file