diff --git a/anatxiki/2023/day1/day1.py b/anatxiki/2023/day1/day1.py new file mode 100644 index 0000000..3bd1ce9 --- /dev/null +++ b/anatxiki/2023/day1/day1.py @@ -0,0 +1,38 @@ +import regex as re + +myregex = 'one|two|three|four|five|six|seven|eight|nine|[1-9]' +textToDigits = { + 'one': '1', + 'two': '2', + 'three': '3', + 'four': '4', + 'five': '5', + 'six': '6', + 'seven': '7', + 'eight': '8', + 'nine': '9' +} + +def part1(): + part1_solution = 0 + with open('input.txt', 'r') as file: + for line in file: + digits = [x for x in line if x.isnumeric()] + checksum = digits[0] + digits[-1] + part1_solution += int(checksum) + + print(part1_solution) + +def part2(): + part2_solution = 0 + with open('input.txt', 'r') as file: + for line in file: + matches = re.findall(myregex, line, overlapped=True) + digits = [textToDigits.get(x,x) for x in matches] + + checksum = digits[0] + digits[-1] + part2_solution += int(checksum) + print(part2_solution) + +part1() +part2() \ No newline at end of file diff --git a/anatxiki/2023/day1/input.txt b/anatxiki/2023/day1/input.txt new file mode 100644 index 0000000..6deebe0 --- /dev/null +++ b/anatxiki/2023/day1/input.txt @@ -0,0 +1,1000 @@ +jjfvnnlfivejj1 +6fourfour +ninevbmltwo69 +pcg91vqrfpxxzzzoneightzt +jpprthxgjfive3one1qckhrptpqdc +mxphxfnffninethreetdj5jgknqfrxmhxfivexcxqv +three7pktwo4279z +1qcbszfgonedjcqj66929 +fivesixthreeptcqjnkzgdfgzspmlvmmhn3 +vm2sixseven +1nine6oneeightnine5lfrzmzh7 +7onevsffj78ninejcnnvgn65 +qstwonepcd3twosixrmcnxhfzv +3bnjfrfourseventwo +zpcdmvmktlrrq8sixgjtxxjpt8fcstt1 +nine1gkmptbfsix87 +9ldmlbchvnvgfivesixnine7zrt +45mjmblfqjvf9 +onehcpgmvd837sgzgsqqrtseven +rhjfvkznjdvlgv9one8 +22xkkdsvfvfourhdpchs +sixzjx5kvjbcfgcsrjndznkrtf6 +1fourmk8three3seven +4716lpzhdcbone6seventwo +443two27 +9sgtwoseven6 +pjtbhxchqfseven18tznxpbsppk +9eightwonkt +htsgxmrfsevenone8qjxhjsixnbsvcf5 +5jmnjnnfsfoursevenprtjzdxmxj7six +dthreenrzonefourcxfrzsvtfz9xb +6kvfn +vlfbzpbpseven8tspgqfdzkmfivefourzjzdbxgtvx +2rfqtfttqzkkzdjbjxnx51xrzczxmfmc2two +3fnncmsdz1bnxvlfxng +seven789bgzpszjd3 +6four8gjsmbztmp +sjvmmb9h +6jqttjkpjc145 +9threedzjjqnhrngktscfmc +5onesix +nine2onelpzhtrbninexkgtjqg +6nined +29xzfour7seven9pcvdbcgvtv +hjdtscdc6twotwosixsevensix9six +stmpvhnssixtwoffnhpn25 +45fourbpsghkqxqm9fmvhssbntdtwo64 +nine835four +leightwothreesevenlhlmqcgcpfour9 +fgsfsqgkcctzcltpvpjhlb5eight4one +four9four184five9 +67seven7twobdcltwonenh +nsdbone5two16 +sixsix3jxfctsrsvfcrpbxtthmspdlqqrnckxtngnx +fxftk3svcczpknmfourhlndmg +eight4sevenmrlkcqx4three +7ninerpcrqt46gtnlzlmknine +hppggtwohcckscs5eighttwo +phzdqznlbkthreephllsb32eighttwo9six +6four8fxcmngbnine3 +seven6five23seven +9seven6bfqkxsjvcpninehmprgsldb +tffjstchhs3rnjsmlnr3sevenlkjzkrdg3mmlgbgnnjzoneightm +913 +lvsqbjjsonethreeone864ncrlpdghgkfive +fvlmhpxcrktwo3ninejm6eightxmc +sevenjbnc2zvxnr4 +mqjztddmfmnskhlvvp2 +six1fivesixsevenninenine +vpbpbsixsqvxfvf6 +6jjqln83one +3dbone3 +ssczbsgp2fourdknjszzbvtlgtdplgplrnznmhdfivefdd +threesevenqctdslt457 +eightthree9eightfiveninetzhmhg +bsmzhmrm1eight5 +pzhpleighttbhhfxfdgprfjsxrzl7sixsixjgghqbr +one5onecfdbpvxbdlmmdbxqdlbldjbz8 +qxsbz4rjdgcfsvmqthreeone3mtwo +13zls3 +zpjlgbjrkl6four5 +264sevenfive +413vhsevennpbnine +gn9sevenhhhnblflxkeightnine +hgdfdsdb5seven +eightczrstqtcjmrpbhhdxrflkcjpsdjbskfvzdglt6nine +jrgr15mzkpt5 +lxzlvmrdcvglcjsjzxm3748hjlvtgz +ninekxcqcpztqfoureightsrdhtmnbpsqkc5 +vxfdkmp4fourtwopdpfmcqnrqkmvf +prkkmcccpone4qthree +lxxqfourkrttdqlhkjhp5 +five7three +sixmljbdl2seven8six3ffrfc +6threexgtvlxthree5fiveseven +three86pztxhlcfour +eightfiveeight79 +5ljzqvbgknk4 +seven4cnrxrv9 +brtwone8jsvbpstpmlbrxrjfivehhhqbvk +three69two3dhvzj9 +fourfoursevenninelpjs5threevnc3 +42nine441xbc +sevenfour2tqb42one +btccgptzllfivesixtwo6 +hdbzgcmznbnrq8cvzrqtpqm +jqzmone5threehrqhbdnfxhkqnvm +98nrcvftzpslxnine +five58one8snpvggzjbqthree79 +lkccfpfn37onenine6 +css9four2 +jbtffive6mtfzvkdpjnthreeeight +224fourtwojc4 +spceightwolbrcfkbrtwo8dkfmvrmrglmrsxlseven9nine +threeckdrrznbbhnpsrmbrxlmfjz1twothree2 +3twokcfivetwosix4 +k12mqeighthgdtthxjtwo +coneightqtpgsjseven5dzqpvgtjm +dpkjqkx22llklllblknine4 +svjmxbq8hfzjsbtccjdmqvbjcpklmqbseven665 +8rbfzjxlqx +onefive3nineeight5 +eightqrlkf4two +931 +41cvfivebfsxdkljjjkjhm8ftfdtnpsdmtkln +sixjcnbeightnjtbck72dg +tworvqfjdlr545lbpmlxknsd +kgnt7fiveone3 +twofourrxmcmj894stppprqjf +qcqpxnztmntwok34three28 +four1sevennlqvbk +6fkjkbc +2htpxbqvtg3one +2threezhxzfslfxhvzdbfour15 +nrfdrzdjtlthreeonennzfbone9one +sixtwosevenqplrqvxreight6 +djmzrfq3eight7five5 +jthreeeight51sixqlvgvm +foureighteight4vvg98 +tttrnk2ctfpk7692mbccxhmpnl2 +bbsix2 +1two3five89zjrjnbpt6 +29787jbhkhtbnbgfoursixfour +vpzmcqcvfour58 +9eightfcvfeight4one +cdbdlseven6zvzl3tshhdtlczsstdbksthree +three78 +hdmmprbbk9hvkpb +vfivencslcc974 +6jthreesevenstksbsxttctjkdnxgjseven +sixeight38sevenfive +7sixnzcfgfjpzmcdsprgcnvspfive +tttcfpm9sevennine +x7dfxhgtqmeightveightfgrqj +zktxptkzztwobztnfqvgxlkrsdhqhntqcnfknine6 +9kthreenglrnrxn8sixzlfdmfcdvnd +xjznine3332jtrfnkf +688k3eightone +4four2chz +1zpbmzvgxmhqdkr3four89four +nqbthreeztjmkdgtwo53 +qvfjzclkrkslfmtpdhjeight4fivefour +964eight91qhghxjxhcdslsnfour +45twojrbjxb +292sixthreekgzpzxxxk +6dgmmtwotwo +1msixthree4sixeighttwoeight +sixfourt9k +one1five6fourthreetwo7two +fourjmbfrhltwosix42 +frgfnk8 +138 +4nn79fourfour28 +7zs5eightonenineqnzpsf6 +bqjndhdtqqhpmltzfv27bqvgklpmfvhgvplbpnxhjvprpldpg +48tcrntjbninesbkkbbd +nineeight5nineljhnxhqbpkbbkttwo +scbbhqpcxthree1three1 +vlczgnrlz38threekjone +nine7ckxh +hpgvrtkpqpbjdlkpj2 +ninetwo63hhnsmoneightjtl +zkhrcrb743fhjpfvdcxq9three +nineeight5pfour9sixsqjnkpg3 +sixthreectddzgzrh9 +xjdgplninetfcldlnzftcv63four +fivefourmrrb1three +2mqxhngvb8 +5njfgllzxnjlqdgn +five34fourfive1cddmdhrbmrjpz +fiveg6seven1 +eightggzxtddx8mgl7seven9five +6tlmlfrsixbtznxhhpclb +twospsjtmnfnmfv36 +tcnmlsljtwo9onekcksj +6onenine9mhznxmoneightnvq +4seven6jxtknddnkfivefivenine +qxpcxrxstwoninekvlsmtckcd1cxqccqss2 +8pk3xjbsevengfcseveneighteight +7sevenstsmqcthreexqdh +three6sevenmeightjeight5four +958eightvg9bjrfpjfq6 +9zninegdmqrtxtlnfiveeight3twotwo +989pdblcmkxhn +sixvvkvjlndtqjlcqsixktmhpzs9d +4threepzgdjvsqhseven +fzfmnine5eight +sevenvv78threexpfxxktwo5 +8pgjdzvb1 +vj7 +sevennine3eightfzpxdxpmseightwozvb +gxftsptzcm1jcnmkqxnxr5five9onefour +2fiveclxxnxmsevenzmz6rfvhkrseven3 +fqqdlnkb45lgjjnk5seventwo +six5dhrkkxr +kmrddmfpzsfmkthreeonefour1xxhshbxd8 +gdthree3fivefour +sixsixj772four +eight53 +sixfoursix333 +one8twothreeseven766 +bpnvgxjtwohmlgqpx3nineeightvnine +95one88six +4onefrlccksvfcc7 +xbjh67 +vzrgvrkzthreesix2 +five8eighttjxphqzstx +fiveone3sixseven +nine44eight66 +eighttwogndjkpdxqjvjmd7kgxvjfkltv +mdpxgkxvfheightt41onefoursix +vqnzsgmgbglqmjmhmqqlpjjhkszprjc184eightczzbrpxh +jncvmkbone7vttpdnone +bvsmnz7hctzgcfkk +bssqrbzsixqx7 +nhtfvdnrtqqvjnzdgc4fvlzkm +zhvdbthreeeight61dp +24pv +onesjjdct1zcknmfjfjvmfivepxzfds7 +3six7one5seventwo2 +twosixonemjsc2vg8lzvjrpnnhq +rftwoneqjbq5hcssbxbtvcdsevenfournxhfkrrgjqmzmpmvrvnj +58five5 +43nineseven3293three +48sixsevenmgsr23 +eight1eight +5hkbzntwo1lplgmfsevengrnhbhg +1dqbbgjfvmfive7sevenninenhkspxbrxm +srtwoneeight1jeightoneeightthree +4cvhfbnine +vsm56 +5onev2csngkll7 +6six5fivefourzbjkdppp +gdjtp5onehqrngxqd +4fvltc7ninezmpnbzv4twoone +39sevenfxlcsfnkmjninesevennineoneseven +cvfqkvfzx887sgzdpvxvhoneseven +rvrhpssvkgzbbrgbgcvqbvdkfplsvk41bblsvtbqsk29 +9ninervjgsjrrtwo1twonbxcvd +8g9one +njznrrcshcpn9rbvbsgpdpv13ninefour +8eightfflllbgkmdh44onenine +9onetwo9two6 +hdfmvs6hjtjbzjth7ninefn +dfzgrfivesix67 +7l9 +onecjeight88hk +hgm2 +qt5nine7d8fivevlqjmhsix +nqsix7onennmln2five +6sevensevenmnxnbpmprd6 +five2seventhree2nineksczcl +twotwokcmkzgkf9vfcmfqhzvseven +4six2blsfjgmllblxnlfnspxbvvzjnninesevenfour +836 +beightwosixonefxlthreepjddrthq9five +22zhppjvmbfszrkrqt +7ljpvtkrmgkfc5pxqpd +xqrtsbzpjxhfn58three362 +2fiveqqdptvjxxnrnsrsixbeightfive +gsgfvsfp1mfbrt3dnzttnine44mgmsjmkgv +sixfive4sgxxgsix +3nv3dsevensixmsqfdc5 +two66six +ptz4qhkzftvxp4bfnnone +five1five2rjftfiveseven +kvdttwozhzcjk685fourtwolrbmnknp +33srljnsfsxhfninensjh +lkc4 +twotgnddfivefourcbfive35 +eight4qgthmpptkn +7pqdkhhxqmtkcspmlc59991 +lvpbhlpdnvbqdzfmfktvn552 +fivefoursixdrscznhfivefive49 +439nlvnine +qqxfoursix4xlslqdjvpx3l +bpknbhdtgst7 +6four4fourddkk7cdhmdjx53 +3sevenseven8two4eightfive9 +zj6vmnq1pqrstfkznf6 +7lxjzsevensixtddveightp +vbzrnzmcgvqkdrznhtblp8vjnxvs57five +six6eightzmhqvsjzseven +9three4nnhqsstptwo3 +twofiverdjfc96dqzeight +six8bgmrplfeightonek93four +sevennine4vzmf +54five6gfour73jpkgt +eight9288threeeight +gjkrnbtseven6618vktqpmhmnine +onejmlgzhpzdfmmkkt3fourpjkjglsd +xqxkqjcsnine6eightxclnthree2 +hmthhjbfivesix4gdxjbg +sevenkpjrscqhmfone3zjhxgptlgknine +onerzbfive354 +9sldh38nine +twonine9vqdzneight +7one24 +2fivesixtnhssqnrhbcxtchjbxspnvkcxbsfrf +kjpjqsnkrqnqpn99fpxfgmttxpxrd4twonebp +hhfrz8zbdjtjjjngcccctwo +mjhvbhrmpmmmbzcmr9four9dczbrfg +mnhbcdc99 +11fivedpgmrxptconebdvhfbvfvxfive17 +fivegthreesixtwo9k5 +ninefourtwo7zjcsfhcfnine +652 +five135eight4v +eight6hsjpkf13mhmkggqqvqdmrpcttvs +fourxndjxvpgpthree6vjs8pkt +lvkeight5nthreeskjqc24one +5vmqth +1lmjpflgsix91fourlfldlgmn7 +jlpnxblthreebzztvrfg3done +rrnxmsnptwoeight24threedqssix +nfdcrtlb7eightsvhstfourcmrsix3 +nbslbqkmmfonellrfpmvjnsix944 +seven2pcstwoqfg +six9nineninedpsixpqcl +two53mgfcbhmlpr1bl1x +bdzvksix8mlhvvscvvc +seven1three9two +4ninegvzqzbhckptwo8 +5zspmjkssghgtgpdpg3threeseven +6fournineeight +eight7jsxmdsix4jcnmzhxnrczslgclj +xjlmqfgd9sjvvhmxbnrpztrgtvgklzt3two +3gkfgrz71 +sevenfsix4 +one84532vkhbvfzpbthree4 +46zhdmrrh3 +eight7tdfbjnzqhs +rfqfl6nine7 +nkpztmkbpqzn7 +8mzprpmn6 +2threebntdqxfdonettbgnbx7cp3 +5two77 +eight7three +rhcbnrfslm8dqdthddqckonerclsshqhxpjdmgnmvsixgmqxt +9five2 +jkzntwo5fiveonetwonec +48oneseven +7fourlqptgfkone +six2hnlbhzxjjfpdeightwod +46onel +przvrp3ninethreenine2 +tnine2chbvxbkbnq +sixjnbsrtrhg9twob +knkdb5852fourfiveone6 +6onevndbhone +4thqp +xdnbtxgtjrgffourseven4threehzqxzqfourseven +cpkbtl2 +three6psqmcxphvtfhn +two42ninevndsevenmljgncshctnjrvszhnkt +threefrvxonesqkcjdlk2mrztrlttjvs +knvgqtqvn22jkjnxbxpkdfourfour9 +24oneqnnnztsshx6 +eighttbxsheight2phksevenptwo8 +seven8bvsnjhrl4hllmzbtlmone1 +three1626jvfqthree +bspdn9rfgnztqgkrkk964 +9kprlqsmxnine +6fourfourninethreesixfourfive1 +vkkggjljfxthreeeightseven6 +threefiverdvrtwo9tztjmghsz +65rpk2six7six3 +bfgmtntc83 +3four5gtdsnljslceightnmtfbktwojnvqfour +78ctscpstjtcdrqnskhrzsddhrsthreesix4btxv +lmrscztwoxsgphp2five9 +eight4one +tktpzntsffnpptpgmbndxhxskjlltpvbsvjrpmgbmdvjlqklnl1 +8hdhqmskvpdppnthvdlctthreelxvssgqzzcql +eight6bjd3jbscchfnpqnine1 +r51three +dpgscvm8eight +6sbgzk +two5rflnshkn +zrplqqseven2ones +fiveeightsevenfive6onetwo +crjtrkcl8five592mkddrseven +fiveone1qgrdzkgnv +3svvtjmq8 +fivethreeninenine1skhctbxcckztkq +threeppn71threelfourvpqfour +ninetwoseven9 +5x6gqfsjqbrtr1slnlhhpq +1xb +xspkbeight9 +9onesixthreexjlscbx +fj38vxpmlccfivemsmdqfour +6twonvpxtkhlcpfvsgjonethree +fivefiveninesixninethree3 +26four2 +d8hhbbgfoursixfour +hdkqlhzs9hqcffcnzgsmhninegzhxthfivev +onefourone9eight1sixdftmmzmj8 +qpnxmtl125eightsix9four +ninefourvnxlmjp2fhdhzbcncs +ninerhqpddslsh22sevennine9 +33vdj12 +2vqeight +vbkfgbgflskxcfivefourzxvcbdj6 +6gssbzzgvb1 +6hmnkjfksrdmjhnqfv6five8 +92fouronefivebs96 +2twofive8 +mkkplqtjmfive45ddh +fgtf933lgbxcnjv +tsmbtnst65fpcsxcljbc6 +4dthreetpbqbjvlrnineseventwo +3334 +85five +62twomcnnj6fourhj +fiveeight4 +sevenstxmqfdlp9threeeight +55jnkhjh2hnqf +xvrrqtr7onefouroneeightseven +66btjrmvsfiveqpx +1jbzjcsevenninerpdhfvjrrg +1tsixsixdxqfdhpbsixthree +h9twobfmqltwo +eightrqlgqbmdcj7fourjbfourptdprg4 +6c8gbxxdhtxcxxgdntgsfninetwoqm +67foursixgshpnxpsb +gxfnbbrrfour4hdnzznc6five1threermh +eight3fpqnbfbghshhkqmzmtkseven5 +g5threenine +fivedseven3three469vjzmbklbm +gxpktrpseven9kqbgvgqnqs6 +one64 +5threerxbfive5 +9ghdszvpbbldztqb1 +1xkzdblrpcjtwo +smcnpxg3one58ttdsstwo8 +fourjhqxgjrms9oneone78four1 +9two6rxrrxlzc6tmzmxs5lq2 +onebnfnc9fqgczzdxczheightfrvrsixjcxhntbmk +8twofivezmnssevenlfxzcqmqtt2 +threepnp3hdvphnthree8seventhree +three441seven7fourthree +99rvhgrxfsixfive +zvtwone4three8 +5nine84eight +crtztqjdmninesevennflskqgzrvsixqrthzhmnxsjzstj8 +sevenntxmdvhb931sevenninethree +kxfk91fivehqgntfdhrj9897 +seven5p +three1nh3 +gjdv22two1twoq +2twonnjthree +dlhmbplgqthreeonergqmxbbzzlvvmn4 +6twohldcs9 +6fourpjnztmqt +threephjblksrhk1mzcfpvqx2mdlprtg52 +fmg5 +bgxd2dvlnstwo3six1 +gg64onerksrfour7four +eight47ppeightsevengpzkn +92mzfive2jh +sevenjrnine8fivesixfivefour +zmzxq869 +rjpgzqmsixninebvjkmb25seven +9dfxrrfbqpr +five2nine2rzps7twozkdjmbnc +hsrpc9 +vsqfourgdkrzkf87four2seven +two9eighteight42four3 +eight9threefive37 +twobpdzktzm892 +3lldqhone1six +six84nineseven7 +nine7xtjqzqbxvx +48twoeightthreepbjdmblzt +5rzczxmeight +seven85seven1 +threezfjzttheight9 +7fourthreenine3qfchk7eightone +9h157ggstjh +lxmhllvjxzsevenntnzrnkdjfive2 +64dzxxpgjcvhqkpzfivecjg +3hfllvslrdgfiveckxgkzstqseven2seven +four3fiveone +two9eight26 +lsix9two +two8sjvpnn2dpqhpfzgmthree4sevenblsmlfppg +t9fdsgpmsghlp6ninesixsix +9twonezk +53fthcvkktx8eight1vkhrp +fmslbnseven53four +kjtwone486onefqdklnpdgone +5threeqvkz +ftwone5sthreegcdfivefour +nine5sixhjconesix +454eight5vsggjtjcxttndvg4 +six83hk +5eightfourpzv8bjbbeightwopp +79nine5eight +1sixsqcpdmpqbg137ll3 +fsdbv64sixlpdd +nine59 +vvnmt32 +eightsevennxcvvnqsix63four1eight +sixcgtlvnmvjmcqkkxxbtjv6 +ninenine6 +5fhrsbvdjggnine +twodkgtdghmjthree7 +zqkgbnqsixlqlbbhpdkvfourfive71 +nine5four3twoneg +lxdpz971nfdsevensevenkjrzf +2rkpbfphxjnnjkcpcphdpkkqbpjrbtqzmd5 +pqftnsixjrxqf7six2threeone +six8d145twoqcgkllqmkxmqphoneightt +seven25 +5sevenonednlhseven +nkkfsl58xpdbqtptponethreempcxbkqqfbbml +4fgk2 +9bxtjskxkhfmz4seven +one78lpplzpbxcxseventwotwo3eight +fbmqtp8one1gqmc3tzdqlnn3eightwoddf +j2 +5sixsixnineonesixddpvf +8xdnpczh +7nfmgjjlonesixbfpmxvvcvf2 +4mnc +7qjbl8 +c7fhtx +lntmsfrbxtbbg7threexrd6 +fiveseven4two3 +hmmdbzp3three4five +seven5rdkcdh3sixtwo6tql +nine1xglps5zzpztmcm6six +6fourfhxqkhqxeightonejcstpxklkbmk1two +jreightgbpl8mmglzxjz88ztfnlhgvrz +5dcfive1ninenine +twoxkgjbqrmzj8 +one3kkxhrgskh6 +seven1mhkseven1zdlvnnxxk +sevenonehpkqqxpshttrqcctsxp7 +43hdvhgconethreetsbjrkf +xsmvfpnzpthreeqlpnf3 +rjhpbsz21six6 +onesix4271xgvsbd +4gqnine +516twoseven16vmbl +twosixnine8mnmdjthree +nine7twonine58 +4hnslsrxnslrmvmlninethreejcjxn +knsnrdzbcmonetwo4nine8ghzndvjqdxgbzlq +dkpnfpnpp6pqfclgqhsq1rjmsjcbdxxxxvff9 +pxnkbkvfiveltvnrpmdg5eightthree9 +91vbnvfmdjjt +vpqxgzqlknttwo341 +5jlpdhzronetwonevvh +6rhkxqjsznjhspm +nmzsevenkgtb2cptrfhjfd +ds75sixthreethree +bone49ddv +hhhnptkcx9bpvkjlzpm +ctptntzjfive84 +cpxb94one3threeclrnsix +ninedtjmdsmcg5eight78 +74rbrvt +2four41 +sixgpqmtkfdhz7sevenkcnonetwonemcp +lshcphmjvcqdtzbh35rvvsphj7twok +clqbqvtdjpzgkqpfour4plkpsxkcnscnx2 +nflseventhreembkbnclftn4ksdc +lljjndhone4 +krcthreeseventwofour7oneone +dpjhm2three76 +npqtwone31tsgfbbtjtnshhtjvvnfb7 +5sixthreesix +6cjzsix17onehbgdftzmxc +tpmkqthreesxhzsfqfjv5five6 +9eightkxkpqtoneffxseven8jfdbcsmclxjbr +threelz7zdcqlntmtlstbx +nine3mtwotvmsctzlhtgcgxrmxkseven +prtwone86seven +nb2eight62zff +fourfourmmlqjczfour6foureight +3gjjsppmmjrtrseven +3vcbjsmpbgfttczrseven6bsngjeightseventwo +1dbhsix5sixtbxccqqvsvjttm +csbsthreethreeone7 +spt8 +five521 +eighttwo5three369eight9 +53ck8 +569fdxfvtninesdbnvtwo4 +sevenvvctrsjpvgzphgxblm6sixfourfive +seven6xtcdkmqf15 +twothree8233eightqhhpkrcjq +bpmmvdqtvqsfqqdzmjl8six7four +8twodktpzlvmqpgrfbbsix5 +bqfmkthreeseventwo87125 +qbdttlgc2onehtf749skzfslflbt +seven79jbrh8threefivetwovgqphzpq +skxcbtvbcll27fprcg +dtknkdx1 +twozqjbmhmjoneeight2five +5mzscs4twonineeight8four4 +698f +twothree3eightklssg +two1kchxfqsixdrc853 +9one4dzpqnineonexnzsvpplqgmtclfqfour +hskt1twozqvkxeight +6fkpgsdchnrkgthreetwotwo8 +hvnczltjleight4eight1mjsix +ltwo7bmbdjlmlpvjxlttmb +9sixninermdsjhg22 +rtgnjpbxtfznt1 +btdtnhtdkc4 +87eight2htsvgvzxqvhsevenvk +6sixsix1dgszxseven9 +1rljjnxckl9bdlptqnqcmnine92 +three3two28fivevsevenb +6ksfhxqndcccg66nmmbnz +ktqskd4five +pcvlhhz6 +three6three3onesfjvkrjt +fourfour74 +txeightwo6gcc8seven44sixg +79hphfdplrsgonefour +nine9twothreeeight +5h2eightwosmd +8threeb7nine5cr +eight528two +fsfzrmlz2nine +8vspddjbhlfn +64ljd4rtnbtwo5vnine +onesixninezggthree4 +one8sevenseven47 +three238eight45 +one251onextjqxztm +lsqrvsgnxh1bxxchgjeight +eight4gdfvltlmn1sixllsbcqpnx +five7smrlbtbk +djnshxnrcrtkk6two9 +frcpffjkhp3 +ninesix2f2smlspljlqseven8jtfml +1gsvrpkjl +5ninethreejpnbm +4vdmjth6735 +eightmnlvzszqtjfour1rphtmntlk355 +joneight6six8qgtlffcpbvrcf9xsnvgt9 +gfqtnbbzrkfivelmmnmztdgeighthzfbzmpfnztwoxzzpjcsvfive3 +threevpgmhleightsevenfive1 +ninevmdknklvgbbmsdcmvjzcfcbeightrfmv14 +98cb +8one85jpdlsmdpzskjz8two +6three6 +fpnine1 +5threelonemfbqvssxkbmglt +1zkxhjh5fournine +twoxbczzqhcthree3sixeight +4gdktpzlxzkxnine +ninefivenineplttv8seventwoggsmztd6 +onepr3qpzf7seveneightfour7 +tdfpsssrczgzgmxlpmqb2zjjllrqstnine3threemqtzz1 +sevenninetwohsztwomvzdrdtsz4seventwo +2lgsljspp1kpjpjh6six +hz8four5lkcxzr +hgcmhgftpspbhcj8four +three2bdstsvsskx6hjhmxlhnonefour7eight +3175cxbsg9eight +one89twoone7 +cjjztqb7two +7fzkbxrvseven6fbvgmckvjrlklqhlnsevenone8 +dfctz4 +cpbfshrsixhjnfcbfmd7gdhhzx +seven1pbrzmtflvh +fdchrzgzdsix63three7 +three4dckqnone2two1eightwoq +two9khrvjmvg47hsn +cdgpvclmngsixfshzlm15jsnrths +jqztnseven6 +seven55seveneightwodc +sevenff9onernhzsix9eightjdcc +threeeightps9 +six9threevmgplqhzrncgkmqjnine1one +three6six +419zzsjzqvkkzrpnszbvg +8fourthree7two +sixfivefmhrttsqfz2eight6two +286 +xvxhrfiveftnlkmcv2 +fourfour6eightninedkgxbkninexgncmkfqp +ninekqjc1dvxtxdvzfgcph3 +8hnnqm +gkzzmhbdqfour849 +95fjtrfourseven +seven5rh +five2bbqmnkkq7sixchcgslsevenvkmpfg +knlfive1fpsevenmbcnqb +qpjxzbninejrgmvxpslk5rlfmrdmfbh2 +9sixgqxdlcx +19sqlbrngnvfqmzd +tjdg3 +cmkpfivekzfhone1hxpbb +fiveseven3 +dxthreethreeninetwoeight4three2 +6j +nine59 +7seven8one22knqdsixone +sixtzbkscdt5 +nine4gfxtrlzcd4twoone +2seven7nine7 +fourpksdzztmll5 +2dgqoneoneone +khzx1seven1cpkzvjtmv +fiveseven8three6 +rrxkljtthreefoureight8hpxmmnjctthree +2sixzcchvknspqdjthree1 +nnl1rnrhxprnlctwoone +qsbgz28nfive +clqtchqnvrvv11eight +tvhrpxkbvpfiveonesix5 +qhjqmqpm37 +1748 +23sevenhnrvlvjhbfrxvhfthree +1sixdnrnkb88fbrndqcphxrzlgjvf4 +8qlhmjsqzms9two1ffourcdlpssq +5573 +eight76 +7qxcrrldb +5zseven35 +nxkqrsmth1tmrvszjcceightlnzgfdnine +fourqrkrsrzltnqcgnmnpptwo2zmgnlthreeeightxnxgmgd +gnlqqtwo16xsxhrxthdltpxssnvfjqtrkfm +njlpbqsixfour51eightpnzzfmfksevenvpgnmkqd +two7xbhhbjrrp +41two6 +sevenseven9xnlrnzlrnxfourjzsjfds +frfdzkxhckdxtp8twokfour +42ctfq5 +gxjmvxdprr5 +sixsixeightvvplxddrdnngdxj1 +989ffgvq4vpv +ninecgtlfts9g5onebssmzsbnf +3sixfourxltwopmdsrjscrh7dggvqhfour +5jktwo98jksfqbdbbt +fivemrrctsj7csqspbbnk2vtvlmnbdksfour +832nine1sixzbtkxzqthreetwo +1jbrv1rzhgtwo4c +eight79 +3meightseventwo8one8 +qtkzxf9gmdqkgqcc +vllkztxsjqsg8fivetwo +5twohjzgcrhgpkfour7zkpngbbpj3 +7nggrljjllnineeight +sixone17nine84 +5fourbnrpsnk5 +eightnghj7threethreeeight9 +956 +eight2grdnqrvhlt5ptlqjqzbsixseven +4bgzdpbnmcone7rxdqjbmbsix +9ninenine195 +cflqvgs4six9kjhkmqhnn3rqmpc +25sbdjjnphsr1112 +two7jxxzxronesix +gnzzkvjcxzonen7 +ninextxskkggr5nine3ckkfd +pmkxbttdbllqqxfeightsix6fmmbltphngpmzbtsbbcq2 +4eightvthfour5 +eightksbjldxg7sixfour +sixghvhqmthree7nine7 +zzjblxhvmltjqs1 +tslmgqfdt5eight53hmhlfzsvszthqmhxkmfhbxlm +5sixzbczjtjg4nine811 +fourtgpmfourthree8ninecfd +hqnpxjtpnsxqpfzvgmshfmntwothreetwovzgphgfsix5 +qjbdronetwo7five1hnf3 +3xmvlpkvqcctwo +cgkninefoursixtwosix8eight +csvnsvtshrpdpkxqeightcsl4cmpn +hzoneightthreefour8threekppfivezl61 +327onenineseventwosix6 +eightone66 +71oneddkhbdfourrjmskvdslx +dbv12ctlrgxbbmsix +one5five3fourtwozgnhseven +sz4kljvrjf3sixxfivefivefive +tlvl6jttfznmthree9ljbqfdgfdhd +gbdeightsevenninenine84ltblttwo +fourjrbs5fiveonejhvzsl9nsxnmlnmjt +4three2spkj +fourbvmblbpkqjsfbssevensixsgrqnfpmj9vtx +xgtzdmdgflmtdjvmqkbsvdxvbrcpdlmbptmljl2 +fourlcbxq95sevenr +2sixfcqfgbtz3nine763 +one14 +l4six +3tjxghncvg9qcrzsbzccvfhsvzcseven4 +seven9spzeightsix +xzbeightwozvp7six3sqsxdhnm8 +75stwofivefvnjtktztwo +1msqj8ninepnsjbjxmzpdgcd8ttcnlzk +fvmxntfmxxf8fivepcqn9 +fkjkszt1seven +3xkjvbjz8htrzhzkzmr +2jktmfjbzdkpvzkpcqv9cpprlghqzdfive2five2 +ltmhdxkscptwo87 +hxhkjeight5seven6c67rj +sbzvthree891ztc5four8 +one4ngsvv7nfblcrjzjsgkknrx +jrb8one4qjjbvvcxrhfsslvq1 +6two5one5 +threesonecheightnine61 +fzppx9sixgonefour +6fvnrr4five1fivejxxcmc +sseven5threesevenfourr +fcbnms5vctwo +829three8gvqknllg +qcmf9 +sixthreeeight4dxmsbb4 +two5fouronetwo +33foureight +sevenxjmkfgtseventhreefdtvn9two1 +18qseven +8141mfxlzkgvonebhddp +3fnmdmvrjktseven +hgcnjmxchfive9 +sfvcmptk81 +vsfrpfzvdgxfjzxmpsdeight36four +hjglvnvcmnine7fourtnxllcdksixnm +4four912ctx +8nineeightsqfhsevenninezfseven +threemjq79tgzsevenone +twofktsbghzzmbfzfd1 +5rsdninetwoneqp +nrfztxghtl8qx8one8sixnine +2lmhlkdvjjv4bbgnckvxpdtwothreebzqqdgmtfvsvqjj +63fivemzqvkbftqxtg +214three5fivedmskgjtdbbv +jvxh8two +kmnflrsfngone5zs6l7 +pmcqtzdvqkcnfbzgtqscfour5one +sfcdttxpblbsevenseven2 +355 +5ninetctrhrqteight6three +ninesevenls6nqqtfninehjdb +hpdxptb9seventhree12 +85vqbhpqrzpcsnfive2oneseven +79twothree +8eight3vzxsixoneeightzzcdkhgtpz +fivenine3hm3 +fourfthree7 +qkqgptwotvjkctgsbmsxvmssdpteightlxlkfqv46 +84kqtnsjplhp1 +3qk51 +two7gjdrxxjlg6 +7qbrhzdljnvthreefour8dc8qctqhnlfzdshvz +pfcninefourjzqnmmmxhqsix49 +gfbzhslvjrl1sixsevenvnpcrlhfdttmfourzr +3fourtwo636three +qnxrzp7gxcfoursixoneightqmn +fourhfstrgmmdvvlnq5rrb7 +348tdcztqxksixfiveseven3 +ninetnkhspprkmtljdfcbtwo2three7 +qgpfzngtntdsdjvlvmxnmgtbthree5bnkthree +9vhthree +six1four57sxcdzk97seven +6mnhhjtfbcpeightwozj +nploneight9 +6kpzgz5mtq7 +csflt33ninekmgc +jcpntrdsjnkzpmgtdxk4 +plbvmzc3sixfourfoureightkrxbzsdnbj +seven7ql74 +bknbt7eightcbpxzkhtfrgcvhksrr2kxhvqthtsg +tcdcvqkknhxp9fivenlphrppfivenine +8tgvvvsjl2ql5vjbsbrzvtjpkb +51vtffpfzk1two +58threellgc74three2 +zrrlzzpcq2c31four +xcpksgthreerfdjldvfteightnine2npztqh +dtonefourqpss7 +rzmx8 +2eight47 +nine593hsvgtghjqc +five6gnkcxrvkvpone742mxsdpnxqkrcqzrmglxq +onevtfour8eightfive +vhnhqvsfm8qqgmsjkhsqeight +2foureightsix8lhzplrtnpttznkt2 +cztjsixsix96xljqqfhtmd +6four6mtvvxdbvninepjkfqlhhrhcqrddmghrlvkkphzvvb +clshpcdb7bthreenine821 +lcbbcnn74xcpdspkqdphdvdtrkfqfoursix3 +2ssgn7mjtzrblgr229seven +qtjzd5poneztdhvtdzt8svdfpv +91fivetwo +two41qctlttbcsevenjxczz5 +fourbsklkgltwolvdgvjxcxpvclxqbqxjhbz7 +vncsclbf8cbkmzone +dfn349six34five +one65kzsspzjhcsln +bmnfzmhptzgmgjk1sevenfive824 +3zthjdsix9geightsixeightfour +jvhhrkrnhfivenineonethree3sixninegplzthbxj +boneightthreeqdglvf74 +13dmktbhp +8ninetwo +8eight87l +six5xhrtbhdmhpbpqqsfjjninesix8seven +lznlvseventd819qkq9 +55 +onevqgp3six +8gc8 +seveneight8fivesixczbqpjdhxnschd1 +9hvpqtcsevenfctzrxtgj6rjzgfpm8 +ppcmhlccprnmpndzkkjvbrptfour5fivefivefcdqvf6 +sevenhsqnkhhcfonethreezdrjvqsmlvjrdbppjcj8eightwovn +3mxqxlqsvfjpbclmqdrg1one +zmxnftxklqqd8one +2k2onesixthree +1twofivetwozxqhjqjbzgzsslgd +3mblcpmlmg8seven +twoeight626snine +p8onegjssix +ninelkjbgsqtrx9fiveeighthljnlrdb +x21six2cqfqbsmhxsbngstp +2gcmhhtxpzsfive4sixmvrqzkfnv +8ninethree7bbjmcnm8 +sixzqpl6three +b7zfivebmlfvcdg1 +2fivetwo8 +zdkznnkonetsstchvtxsvpfone1sjmqndvbhfg +ggrvbl2one +1m +7eightggfvfrsrfive77sxxrshdrfive +12lkgxnfqd +9znqtwo2three5three75 +seven8six +four138six7six1four +8vmpqprxdgj +8zckvmtmbjtdqprvfxtkmgmmtgck +8vlzthree49 +onesddbmbeightfive523sixtwo +9jcfjq3 +5qlhxfour +3five4 +2kvfourseven7vdh +seven1one7 +7v +fourdnh568oneninehqftnfninetwonejjn +dpvcxz21seven +4threeslnfhfskntz8kqmh +58eight3 +fivetwo16sixfour +fnxmrmcjsixninethreekbf5one +1seven6fourfournjsdvhlkhp1 +five8339 +1fgmrleighteightdzxh +eight5nine +eight4fdnx +sqfklfbkjvbghbgmszzzpeightfive2fiveonefive +xcveight6zlfkpxrzsnq3gzjseven +fkeightniner4fourfour2eight +nine87lphjt +3twombcfour +dpn7688eighteightdjl8 +5tvplhtfrmlv3zjcgvfivenl +2fiveztwo4 +fjbbtgone5 +bjrgnzzpsixnine4three +kkqpcmvjnine18 +zhzkslnd1twonpqxtwoninefiveone +fiveckknnzhdtm793 +seven2cbtkqzs861cbfgssfqtd +sixvdtzsixthree4lchxtdkv +1vvssfvlfbg2eightmxbqbvgsixnine +nineeightjlngjz94t7 +lpncsfkn7fsgvkl +583sevenhjxlqzjgbzxhkcl5 +81s +2four3threesxxvlfqfive4 +nine6eightsevenzx9twoxc +hmbfjdfnp989mfivefiverpzrjs diff --git a/anatxiki/2023/day2/day2.py b/anatxiki/2023/day2/day2.py new file mode 100644 index 0000000..2536dd0 --- /dev/null +++ b/anatxiki/2023/day2/day2.py @@ -0,0 +1,53 @@ +RED = 12 +GREEN = 13 +BLUE = 14 + +solution = 0 +part2_solution = 0 + + +def isPossibleGame(plays): + for play in plays: + cubes = play.split(',') + for cube in cubes: + number_of_cubes, color = cube.strip().split(' ') + # print(number_of_cubes, color) + if color == 'red' and int(number_of_cubes) > RED: + return False + if color == 'blue' and int(number_of_cubes) > BLUE: + return False + if color == 'green' and int(number_of_cubes) > GREEN: + return False + return True + + +def powerOfTheCubes(plays): + max_red_cubes = 0 + max_blue_cubes = 0 + max_green_cubes = 0 + for play in plays: + cubes = play.split(',') + for cube in cubes: + number_of_cubes, color = cube.strip().split(' ') + if color == 'red' and int(number_of_cubes) > max_red_cubes: + max_red_cubes = int(number_of_cubes) + if color == 'blue' and int(number_of_cubes) > max_blue_cubes: + max_blue_cubes = int(number_of_cubes) + if color == 'green' and int(number_of_cubes) > max_green_cubes: + max_green_cubes = int(number_of_cubes) + print('blue:', max_blue_cubes, ', green:', + max_green_cubes, ', red:', max_red_cubes) + return max_red_cubes * max_blue_cubes * max_green_cubes + + +with open('input.txt', 'r') as file: + lines = file.readlines() + for line in lines: + game, plays = line.split(':') + game_id = int(game.split(' ')[1]) + plays = plays.split(';') + print(game) + if isPossibleGame(plays): + solution += int(game_id) + part2_solution += powerOfTheCubes(plays) + print(part2_solution) diff --git a/anatxiki/2023/day2/input.txt b/anatxiki/2023/day2/input.txt new file mode 100644 index 0000000..7d7bcfd --- /dev/null +++ b/anatxiki/2023/day2/input.txt @@ -0,0 +1,100 @@ +Game 1: 2 green, 12 blue; 6 red, 6 blue; 8 blue, 5 green, 5 red; 5 green, 13 blue; 3 green, 7 red, 10 blue; 13 blue, 8 red +Game 2: 1 green, 7 red; 1 green, 9 red, 3 blue; 4 blue, 5 red +Game 3: 2 red, 2 blue, 6 green; 1 blue, 2 red, 2 green; 3 blue, 3 green +Game 4: 8 green, 16 red, 7 blue; 1 red, 7 blue, 12 green; 8 green, 14 red, 1 blue; 6 blue, 9 green, 12 red; 9 red, 2 green; 8 red, 7 blue, 17 green +Game 5: 2 red, 7 green; 2 red, 1 green, 4 blue; 4 blue, 7 green, 5 red; 8 red, 2 blue, 5 green +Game 6: 20 red, 4 green, 3 blue; 12 green, 1 blue, 9 red; 8 green, 15 red, 1 blue; 17 red, 5 blue, 7 green +Game 7: 2 red, 2 blue, 5 green; 3 blue, 1 green, 2 red; 2 green, 2 blue; 2 green, 1 red, 1 blue; 1 blue, 6 green; 1 green, 2 red +Game 8: 18 red, 1 green, 3 blue; 7 blue, 3 green, 18 red; 2 green +Game 9: 13 blue; 13 blue; 3 red, 13 blue; 1 red, 8 blue; 1 green, 8 blue, 1 red +Game 10: 15 blue, 1 green, 12 red; 13 red, 13 green, 5 blue; 2 blue, 3 red, 7 green +Game 11: 2 blue, 17 red, 5 green; 6 red, 2 green, 12 blue; 7 green, 5 blue, 14 red +Game 12: 12 blue, 10 green, 14 red; 7 red, 3 green; 10 blue, 2 red; 4 red, 5 blue, 7 green +Game 13: 1 red, 13 blue, 14 green; 1 green, 1 red, 7 blue; 5 red, 15 blue, 14 green +Game 14: 2 blue, 1 red, 9 green; 4 blue, 3 red; 2 red, 7 green; 2 red, 4 green +Game 15: 5 green, 7 blue, 18 red; 10 blue, 4 green, 4 red; 13 blue, 16 red; 18 red, 4 green; 1 blue, 6 green, 17 red; 9 blue, 2 green, 15 red +Game 16: 15 green, 3 red, 4 blue; 3 blue, 16 green; 5 green, 2 blue, 1 red; 6 blue, 3 red, 12 green; 2 red, 3 green +Game 17: 10 green, 4 blue, 11 red; 6 green, 13 red, 6 blue; 2 blue, 5 green, 2 red +Game 18: 1 red, 13 blue; 4 green, 5 red; 3 green, 1 red, 12 blue; 1 green, 15 blue; 7 red, 1 green, 15 blue +Game 19: 2 blue, 6 green, 4 red; 4 green, 15 red; 3 blue, 8 red, 7 green +Game 20: 7 blue, 7 red, 10 green; 5 red, 1 green, 9 blue; 1 blue, 6 red, 12 green; 1 red, 11 green; 6 green, 9 blue, 4 red +Game 21: 4 red, 16 green, 10 blue; 2 blue, 14 green; 6 green, 4 blue; 7 blue, 6 red; 6 red, 10 green, 6 blue +Game 22: 5 green, 2 red; 5 green, 3 red, 1 blue; 2 red, 1 green, 7 blue; 3 red, 11 green, 4 blue; 6 blue, 10 green, 2 red; 5 blue, 2 green, 2 red +Game 23: 3 blue, 3 red; 6 blue, 6 green, 2 red; 3 green, 15 blue, 2 red; 2 green, 1 blue, 2 red; 5 green, 5 blue; 5 green, 10 blue, 7 red +Game 24: 1 blue, 19 green; 18 green, 1 red, 2 blue; 5 green; 2 blue, 3 green, 1 red; 1 red, 5 green; 9 green, 1 red +Game 25: 1 green, 1 red, 7 blue; 2 green, 10 blue, 1 red; 8 red, 1 blue, 1 green +Game 26: 7 blue, 2 green, 2 red; 8 blue, 6 green, 9 red; 5 red, 11 green, 2 blue; 7 blue, 5 red, 9 green; 10 blue, 12 green, 4 red +Game 27: 9 blue, 1 red; 15 blue, 2 red; 2 red, 11 blue; 15 blue, 4 red, 1 green; 4 red, 1 green +Game 28: 9 green, 7 blue; 8 green, 3 red, 2 blue; 3 red, 11 blue, 7 green; 3 red, 3 blue; 9 green, 2 red +Game 29: 2 green, 3 blue, 1 red; 13 blue, 2 green, 8 red; 3 green, 12 red, 9 blue +Game 30: 9 red, 18 green, 6 blue; 1 green, 3 blue, 5 red; 6 blue, 12 green, 3 red +Game 31: 6 green, 1 red; 1 blue, 4 red, 10 green; 11 green, 1 blue, 4 red; 2 green; 1 red, 1 green; 8 green +Game 32: 7 green, 8 blue, 1 red; 4 red, 5 blue, 8 green; 5 green, 2 blue; 2 red, 3 green, 2 blue +Game 33: 1 red, 1 blue; 16 red, 1 green, 2 blue; 1 blue, 13 red; 1 blue, 1 green, 17 red; 6 red, 1 blue, 1 green; 10 red, 2 blue +Game 34: 10 red, 13 green; 18 blue, 6 green; 5 blue, 1 red, 11 green; 8 green, 1 red, 9 blue; 11 blue, 10 red, 12 green +Game 35: 4 red, 2 green; 4 red, 3 blue, 7 green; 3 blue, 2 green, 7 red +Game 36: 1 blue, 8 red, 9 green; 2 green, 9 red, 2 blue; 8 blue, 10 green, 12 red; 9 blue, 9 green, 10 red; 1 red, 9 green, 5 blue +Game 37: 7 blue, 2 green, 14 red; 8 green, 8 red, 6 blue; 2 green, 12 red, 1 blue; 5 blue, 6 green, 5 red; 9 blue, 2 green, 1 red +Game 38: 11 red, 2 green; 15 red, 1 blue, 7 green; 3 red, 3 green, 1 blue; 2 blue, 11 red, 9 green; 2 blue, 3 green; 5 green, 8 red, 1 blue +Game 39: 4 blue, 13 red; 16 red, 3 blue, 2 green; 1 red, 1 blue +Game 40: 7 blue, 2 green; 2 green, 2 blue; 1 red, 1 blue; 1 red, 4 green, 15 blue +Game 41: 3 red, 5 blue, 5 green; 1 green, 4 blue, 1 red; 9 blue, 3 green, 1 red; 3 green, 9 blue, 1 red +Game 42: 8 green, 2 blue, 4 red; 10 green, 2 red, 1 blue; 4 red, 10 green; 5 green, 3 blue, 3 red; 5 green, 3 blue, 5 red; 3 red, 10 green, 5 blue +Game 43: 14 red, 8 green, 3 blue; 9 red, 2 blue, 9 green; 6 red, 4 green, 4 blue; 8 green; 12 blue, 10 red, 9 green +Game 44: 6 green, 1 red; 3 red, 11 green, 2 blue; 2 green, 2 red, 3 blue; 1 red, 15 green, 2 blue +Game 45: 12 green, 16 red, 6 blue; 15 blue, 3 red, 5 green; 2 blue, 10 green; 15 red, 15 blue; 6 green, 5 blue, 16 red; 16 green, 6 blue +Game 46: 1 green, 3 red, 18 blue; 3 red, 8 green, 10 blue; 3 green, 12 blue; 2 red, 10 green, 17 blue; 12 green, 9 blue; 3 green, 6 blue +Game 47: 10 green, 7 red, 6 blue; 12 green, 2 blue, 5 red; 7 green, 10 blue, 3 red; 11 green, 7 red; 5 blue, 8 green +Game 48: 1 green, 2 red; 2 blue, 1 green, 6 red; 5 red, 1 blue; 2 blue, 1 green, 1 red; 9 red +Game 49: 6 green, 4 blue, 1 red; 6 blue, 2 red, 1 green; 2 red, 5 blue, 4 green; 3 green, 6 blue, 1 red; 6 green, 12 blue, 1 red +Game 50: 2 blue, 4 red, 2 green; 6 red, 12 green, 4 blue; 1 blue, 6 red, 13 green +Game 51: 3 red, 1 blue; 2 red, 1 green, 2 blue; 3 blue, 2 red, 1 green; 1 red, 1 green, 1 blue +Game 52: 1 green, 12 blue; 2 red, 9 blue; 1 green, 8 blue, 2 red; 8 blue, 1 red; 1 red, 13 blue; 2 red, 2 blue, 1 green +Game 53: 7 blue, 16 green, 13 red; 9 red, 5 blue, 15 green; 4 green, 1 red; 15 green, 10 red, 2 blue; 11 green, 11 red, 2 blue +Game 54: 5 red, 20 green, 11 blue; 13 red, 4 blue; 13 green, 15 blue; 1 red, 8 blue, 11 green; 5 green, 17 blue, 4 red +Game 55: 5 red, 17 blue, 13 green; 17 red, 1 blue, 6 green; 3 red, 5 green; 8 green, 16 blue, 5 red +Game 56: 6 green, 5 blue; 7 green, 1 red, 1 blue; 7 green, 2 blue; 3 blue, 8 green; 5 blue +Game 57: 1 blue, 2 red, 3 green; 2 blue; 4 green, 2 red, 1 blue; 2 red, 1 green, 1 blue; 2 red, 2 blue, 1 green; 1 blue, 2 green +Game 58: 6 red, 7 green, 18 blue; 9 blue, 4 green, 8 red; 12 green, 5 blue, 7 red +Game 59: 2 red, 19 green, 1 blue; 10 green, 5 red; 2 blue, 10 green; 1 red, 3 blue; 14 green, 4 red +Game 60: 12 blue, 2 red, 11 green; 6 red, 1 blue, 11 green; 6 red, 11 blue, 7 green; 5 green, 4 red, 7 blue; 2 red, 14 green +Game 61: 7 red, 4 blue, 1 green; 11 blue, 8 red, 3 green; 10 blue, 7 red, 2 green; 2 green, 12 blue, 10 red +Game 62: 3 blue, 19 green, 1 red; 3 red, 7 blue, 14 green; 10 green, 1 blue +Game 63: 11 green, 1 blue, 15 red; 11 green, 16 red; 11 green, 8 blue, 12 red +Game 64: 8 red, 2 green, 3 blue; 1 green, 9 red, 7 blue; 11 red, 3 blue; 2 blue, 3 green, 9 red; 3 blue, 6 red +Game 65: 1 red, 4 blue; 4 blue, 6 red; 4 blue, 11 red; 2 green, 2 blue, 4 red; 1 blue, 9 red; 5 green, 7 red +Game 66: 8 blue, 11 green; 7 red, 6 green; 6 red, 7 blue, 9 green; 12 blue, 2 red, 6 green +Game 67: 4 green, 6 blue, 2 red; 4 blue, 2 red, 2 green; 4 green, 2 blue; 2 green, 4 blue, 2 red; 4 red, 4 green, 2 blue; 2 red, 7 green +Game 68: 1 red, 5 blue; 5 blue, 16 green, 2 red; 1 red, 12 green, 4 blue; 7 blue, 9 red, 6 green +Game 69: 6 blue, 6 green; 3 blue, 9 red; 3 green, 13 red, 6 blue +Game 70: 1 green, 5 red; 1 blue, 1 green, 15 red; 5 blue, 5 red; 10 red, 7 blue; 9 red, 7 blue; 4 red, 1 green, 3 blue +Game 71: 6 green, 11 blue, 6 red; 11 blue, 3 red, 4 green; 6 red, 10 blue +Game 72: 5 green, 3 blue, 6 red; 4 blue, 2 red; 3 red, 4 green, 1 blue; 18 blue, 4 green; 3 red, 1 blue, 1 green; 4 blue, 4 green, 1 red +Game 73: 8 green, 4 red, 13 blue; 2 green, 11 blue, 4 red; 2 blue, 12 red, 4 green; 2 blue, 1 red, 2 green; 11 blue, 8 red, 11 green +Game 74: 4 red, 8 blue, 3 green; 7 red, 7 blue, 7 green; 7 red, 2 blue, 1 green +Game 75: 1 blue, 1 green, 2 red; 6 red, 1 blue; 15 red, 13 blue; 19 red, 4 green, 4 blue; 12 blue, 3 red, 2 green; 12 red, 3 green, 1 blue +Game 76: 1 blue, 3 red, 12 green; 13 green, 1 red, 1 blue; 6 blue, 3 green, 2 red; 1 green, 1 blue +Game 77: 4 blue; 1 red, 1 green, 5 blue; 2 blue; 4 blue, 2 red, 3 green; 1 green, 5 blue; 1 red, 1 green, 6 blue +Game 78: 2 red, 4 green, 1 blue; 4 green, 1 blue, 6 red; 7 green, 1 blue +Game 79: 3 red, 14 blue, 1 green; 1 blue, 5 red; 4 green, 3 blue, 5 red; 7 red, 1 blue, 3 green; 7 blue, 4 green +Game 80: 12 red, 1 green, 11 blue; 2 green, 5 blue, 13 red; 15 red, 15 blue, 1 green; 1 red, 1 green, 14 blue +Game 81: 3 green, 2 red, 6 blue; 4 green, 11 blue; 4 green, 9 blue, 4 red; 10 blue, 2 red, 4 green +Game 82: 15 blue, 7 green; 4 green, 15 blue, 7 red; 4 green, 9 blue, 5 red; 4 green, 6 blue, 1 red +Game 83: 16 green, 10 red, 9 blue; 14 green, 3 blue, 7 red; 11 red, 7 blue; 10 blue, 15 red; 3 red, 4 blue, 10 green; 15 red, 3 blue +Game 84: 3 red, 14 blue; 1 red, 3 blue; 2 red, 4 green, 6 blue; 1 green, 11 blue, 2 red +Game 85: 15 green, 2 blue, 11 red; 4 red, 7 blue, 6 green; 3 blue, 14 green; 10 green, 10 blue, 7 red; 17 red, 3 green, 15 blue +Game 86: 8 red, 1 green, 14 blue; 6 red, 12 green, 9 blue; 13 blue, 9 green, 6 red +Game 87: 4 red, 3 blue; 4 blue, 4 green, 4 red; 1 green, 6 blue, 4 red; 2 green, 4 red, 3 blue; 4 blue, 4 green, 2 red; 1 green, 7 blue +Game 88: 6 blue, 4 red, 6 green; 1 red, 9 blue, 13 green; 3 red, 1 blue, 15 green; 3 red, 7 blue, 15 green; 1 green, 1 blue, 3 red; 4 green, 4 blue, 2 red +Game 89: 16 green, 9 blue, 1 red; 3 blue, 6 green, 5 red; 5 blue, 1 green +Game 90: 17 red, 1 blue; 5 red; 2 red, 1 blue, 1 green; 13 red; 11 red, 1 blue, 1 green +Game 91: 4 red, 1 blue; 4 green, 7 red; 13 green, 9 blue; 5 green, 9 blue; 12 red, 6 green, 6 blue +Game 92: 4 red, 1 blue; 2 red, 15 blue; 2 blue, 1 green, 8 red; 1 green, 6 blue, 8 red; 12 blue, 1 green, 8 red; 8 blue, 1 red +Game 93: 8 red, 9 green, 3 blue; 2 green, 1 red, 2 blue; 7 red, 5 blue +Game 94: 1 green, 2 blue, 10 red; 7 red, 3 blue; 1 blue, 6 red, 4 green +Game 95: 1 red, 7 blue, 2 green; 3 red, 14 blue, 2 green; 1 red; 1 red, 14 blue, 1 green; 4 blue, 10 red, 2 green; 9 blue, 7 red +Game 96: 1 green, 10 red, 1 blue; 4 red, 1 green, 2 blue; 3 blue, 8 red +Game 97: 4 red, 3 green; 1 blue, 2 green; 4 green, 4 red; 1 red, 1 blue; 1 green, 3 red; 1 green +Game 98: 7 green, 4 blue, 1 red; 2 red, 5 blue; 4 blue, 3 red, 7 green +Game 99: 7 blue, 13 green; 3 green, 5 red, 12 blue; 2 blue, 14 green, 8 red; 4 red, 6 blue, 2 green; 5 red, 9 green, 13 blue; 8 red, 8 blue, 5 green +Game 100: 8 green, 7 blue, 1 red; 10 blue, 2 green, 5 red; 12 blue, 1 green, 1 red; 9 green, 9 blue, 2 red; 1 blue, 5 red, 3 green