aboutsummaryrefslogtreecommitdiff
path: root/aoc2023/src
diff options
context:
space:
mode:
Diffstat (limited to 'aoc2023/src')
-rw-r--r--aoc2023/src/day1/input.txt1000
-rw-r--r--aoc2023/src/day12/input.txt1000
-rw-r--r--aoc2023/src/day14/input.txt100
-rw-r--r--aoc2023/src/day17/input.txt141
-rw-r--r--aoc2023/src/day2/input.txt100
-rw-r--r--aoc2023/src/day20/input.txt58
-rw-r--r--aoc2023/src/day22/input.txt1273
-rw-r--r--aoc2023/src/day23/input.txt141
-rw-r--r--aoc2023/src/day3/input.txt140
-rw-r--r--aoc2023/src/day4/input.txt203
-rw-r--r--aoc2023/src/day5/input.txt223
-rw-r--r--aoc2023/src/day7/input.txt1000
12 files changed, 5379 insertions, 0 deletions
diff --git a/aoc2023/src/day1/input.txt b/aoc2023/src/day1/input.txt
new file mode 100644
index 0000000..6efe96c
--- /dev/null
+++ b/aoc2023/src/day1/input.txt
@@ -0,0 +1,1000 @@
+9dlvndqbddghpxc
+rtkrbtthree8sixfoureight6
+fdxrqmfxdkstpmcj7lmphgsmqqnmjrtwo3tcbc
+onetjcsmgk57nvmkvcvkdtqtsksgpchsfsjzkkmb
+six8threepvlxttc85two
+8five9ttqst2one2vz
+hbrmhsnjeight64dgdnvdbspk7ninetzbvjczqrj
+fourtwofivesix5
+3gksfourqf48
+7one1tnqxfvhmjvjzfive
+sevenmcjs3lmlmxmcgptwobjggfive6four
+seven8five3
+5sfknxsn5sevenfour446
+bxc5two67seven2
+jcsfivefive89seven85
+nine296
+seven5twoeight
+1eighttwo8jfnhmfivefivezdsxqxqsjkone
+foureight48sbkkvc17zbksgvcbb
+lnzgspccsn4cxqqdbkj
+qlxrxkpeight48xbgqnlkpkoneseven
+z7onetwonec
+7cns
+pnpfninefive79twoone7
+2hrqpjjjbn
+4gmlttgdzrhxbxnnine
+4sixfiveone76jctmjsxdh5jrkv
+3kvjmhpmglrdgmdnine
+four63sevensevenone
+jmz1eight4threej1
+four21zxksf9jxdvjmtn337
+msnronenine43three1threefrv
+rjfhd6eight4
+78blgveightfiveone7bnsfnrmxsmtwonemrb
+sixseven6four6
+mdjphcm9
+xsjmgdgqtwolg1nine45eight
+five2six85npdqxgrshdjs4
+jbbnine2ttrktc2hxpxfdxgf
+fngvqsgmjfmfslrmone2vtpsstpkhr2jmmxk
+f683glvfsdvnsghvrzcdmxnx81
+lqblzgj322kqfsjrbxgcgsct
+threeldfnrbstbxqdpxpkbztbp84eight
+sevensevenmthprqg9six
+qldknljthdjthreeklttd6six
+7eightcdqxcftbgbfbnvqfive
+gxjzhvkbcjhscdxhjdqxnhsevenxrdrjbcl5fvlvlxjjvb
+9sixqnine9jk9six
+zjtdbzr6njdgflrmpshxn
+rktpknvmjknb7threefourhdxhcdtgtkvone
+276lzxhone3two2
+82fivelppqzjq
+lchslxtwohslsztgps5pdssctclhdkqtwo
+2five8three9dnine8
+68jpnqldjgfnpcmvbxnszhz2252
+q32
+2sixtwo87
+hlmdvlrqlrjdshone3five
+fivetwo7
+xsdcktrone29
+eightfour9eighttwoxvhdth9lndg4
+two8jgddjhcj67eight
+8nrkrcrqhr21stqtvqn
+tvbonepzrrklninexmpxrlkcpgg9qgrkcjt
+6two5qjmoneclfhzhkxbntmvmdrc
+prhmt4xvlg
+3mghfgrhzkj5
+lq2lnrcj1pnlh
+sixqhfqrmf8fivenkkcqpgf85lone
+tlrlcbhdvd5
+three8seven
+thfns325threefpvlntfvrf
+twoblkldr2mmrsxpqxcms39seven6
+2mpcvttntg31mkznplfkbcgccsix
+2sbs
+828jnvjnbgrs1
+fhcglnxzss23bxfnpczvthree2
+7fhghprqvrbx1nxml2one32
+5fivethree7qrsixmcdveight6
+five4seven
+1cfcfdzfjphsevenmdvnzh
+qhmnleightbhbcntwojjfxpvlxt2spponenine
+fivelskzvzsix5xtqkfl1
+2jfgpmdncvpjmqcgvnzpqlstzgfdvfxrlscjkzczsf
+rzzplmzsfivetxbhcqnzdq4
+mvrvfour9eightseventhree
+7smrdqkrh8qlzc
+mpf2fivefivefivepgm
+1sixpkrdjlszgdnccnllfsevenksdkvqbxbpbblthqpzqf
+six91dxxdhrxcbmqpqm
+sevenfour8nine7
+one2hnfvh
+55jmqkqgvsgqcrzvmzqhone8twopsrtgmqrj
+xnfjxqlrsjmgk68kvpptczxhkxcvrpgctddjklrmhzjgtcjh
+seveng6two
+1threexrzqcrknhc3
+58qtpqqz58888cmhs
+pxvbhmczrvpnjnsrcdrnrjvzzpjnbgbxdseven6
+34two565
+four4six
+sqtxsjsix54
+four3xrxmrkn4nrcsmljqrninethreeone
+3six4bqddfivejnfrhnqqsgqhj
+gtbtrtzp8seveneight3seven4xzdnfrvzgn
+vggfdfvlrgvqqvjhkmxfsfbdpqfivexs16
+onegkvdhrfninerndk46nine
+5fiveeighthnrlzln
+threeqctjkpxjx39six89two2
+99ninecbzck
+nxqlhpgnine6pvrrpfjpssix6seven
+1dbrzjkckthm5sixsix
+fivefmfqcsj19nhnzg
+five91eightninecn
+7ljnl71eight7mzhzfht
+84sevenzrqvkxszdhg66
+jskktpm5mphd1
+boneightfournq6ndnqpdbm97five
+5twonine
+scqpkxrjtwo8foureight11
+3eight7brgqfivezpgclhfj
+zkfrsdgbmczlrzchvfql78ftsdqk8vmqccbn
+oneseven3kgdkjzkmq94
+sgtwo59kdmhbndzd
+threeone37
+mqxvrhmrpqnltvt9lrpplmttkhdvtln9
+onecxqvr48six2
+pjnx2eight7five
+two189one6gbqvllzb35
+psvxjhscstjfkbpxhbbb4zvdjbcdxqrqzqlzp
+n18hmhzrqjrpcxztwo
+6two46zblgrbmjcqbnxqcnbf
+7kxsjdqcmxrvmdtscvxgrnhrmrfour
+onedzeight8qfive2
+seven9bkjone2sixqnztq21
+fiveninesixfkzlsn8fivembfjnx4threetwonexb
+5zmxtcmzqqdthreetczccnxhkxrbntmfoursixjhhrsdxthree
+1four2xpkfgcn
+88trnvjtqsmseight8
+pbbpbfgsrst5five
+jvgvdseven2two
+962sixoneonectfgpknl8nine
+rkbnzz1l42eightflb4
+twoxfll2fourbjfjgxfbtk
+35fourtwo
+lq56ninefour1three
+77ztlmqxcxrj745
+nnvqrthreedt2eight6hvrlnpbts
+6five6225sixfnzzbh
+nine1three
+8xgdsdfgcfourlhn
+2three3ninelckpddbmdrfournine
+89zmvxnlrj7658kjdjchq
+pfhbgpb66twogpn7twobpvrbmmrvp
+8hgqmztnmhkcr6xrxrbhj
+6fivemnfcvvx8
+3mxpvgzq9ninebmlktwo
+thzhbsl49seventhree1bdxcrgjq
+rlcfour3ffkxxrhb
+rkj2eightfive
+xqncfnhkcqxqjgbsjhnrgm6
+ninefour52ninefourtworhsix
+lpzcmxt97mlkjhlcone
+two4qkmqgrpltkrdsctpnsqmbtptklprx6ncfpseven
+61shxgxdqqqzngnnzeightkhmgrxprb2sixjx
+9eightfour3one6seven
+eight4sixqjxdjnzmkfflpfmkf
+3bfc71
+14sevenfivezzmt8cpptl
+1sgrzdqdndsevenninembzvfive
+lxftrbfcqfoneeightrsdxlnp1x2jsgn2
+vlfcjfourmtxbcngpjvkcctvbgkgpvvqpsg1
+116five132seven
+eightpvfsfbfzjcdcvh8kbrcz357
+99two
+four6six
+fzzklmnxvfrhd62xmftbrhgsslrlqv
+5six55zbdlgc
+62nineone8qcglr1
+sddddseven55fourlpqzbgzfive5
+eighteight17
+nine98
+three9qqxgfpjfkeight81nine2
+twotwosevenvkzzhrpgninecqvf9
+lkhf5onexsrtwo
+8hfzvnzrd
+9threeninethreeseven
+onedpgjzsixxs4cg5jlvzcsbd
+fgmfive97
+4fivefourckthree
+nine1fivefour
+7qlchtvd
+tmtmtnxdpsvfour4621four6
+5qfvzh7seven
+fourfivebqnpzbg8three
+34kd9four5seven8three
+kcqcxzmnkdt5twojdggp
+4lvbfdpzjsdthreeldvkcbqrspktwo
+2nine93foursixnine5
+8tbpjgmxltwojlpbnsvqhsjfcjcfvcrjqppdb5seven
+8twodcpglrxcq23sixfour
+3sixvczzqsfive
+1three45jh54tbdvkj
+pdrzqxdtcnbrnine8zvffmrtwo11
+3eight54sksqfxhzcdfour
+7hsllsjtxtwo9jhjlhthreekdfssninetcjjrm
+9sgmnine1kjmhjthree
+nineseven9five
+ggdcphlstwoonethreeffgmrseven2xsbsf2
+75ssbccflrrf4lpmptcqjcmfbpklqc
+5six2threedvvlxdxsixvxxghpddn8pbnr
+tlbjnlxfxvnine4grhj71hnf6
+964eighteight4eight6t
+5qbmnsone1fourseventwo
+oneseven1five9two
+5fdpl37vklxpth672
+4czvrnxtlfiveseven74
+qdgqbsd5fourfive
+ddrqjnkbq87six2fourmtghdtvtl7
+zdldjnfxms692rbdfgvtsevenxzfjpnsf
+nsqtkbbfhn8threesix3fivefoursix6
+sfxjzhpqqslfourmpph44threetwo
+onefive3seven21
+9eight1sevenfive7nine
+7twonrthgr73vzb
+18onefourhxxm
+3xvboneightlb
+3ftqct9
+8five55
+4eightmzrlfjqqddffgmfl
+74mhzvktwolgpvrvnphc
+sixnine694ninetwo
+bzpnktvcqleight2
+5oneeight1five2dszthreedncqzmhc
+eightfrbmcblrghgmpkrdnh7fournzbvtrzvhchsix
+threethreeoneone6kbghfst
+4fiveonexfchmclqhqfive
+1t3nine
+57jclthreefourbtdgsggzh
+qpc9fhddthreefive
+9eightnine7cgpbbnine8
+88twoxbzjp6fmqlznzgpgdqmmnpmkvctm
+threelb9four168qpchgnfn
+4onekrlmslkd7five
+4jfxtsseven
+zsthvnxpf7
+656three
+453seven
+zxmr55hgnvtjbbqhfsxssjxzshcbkvsbzg1
+pbkffqzrbvxvqjfgkpmp5
+ninesix677lpqpgmc
+sixgmb67fzdhnnfk7
+jlgjbltbtwotwoeight9sixninevlngvvj
+xdxqdhps9sevenzmzdlnvsix3oneightj
+ninetwokpzvvqlgtcfx2
+dqmjchlbj7sevenfive
+61eight9kjmxclvdrdmvnthree
+8nine6three
+3ndpknone
+seven4one
+8dxljzpk8twoxfmhbqnmqeightdhxvpgxcnine5
+6five3seven
+rzgfivenxhpr6gxqflrskhjhvoneonegzbclk
+jrvjhkfv7sqnsz86five5skvvmspvjd3
+sevensix3c6llkmsmmssf3
+sevendf73eight74
+7bqbbvmq2krkbhlsh
+3dqq55eightcptwo
+2bjgfrgrtgnfour
+44xznjjvlhzclsix
+seven6rtzponeseven
+6ghvvkhrzvjzpxlbkonejlmrhq
+zgsxthree6
+3crzdvbnhtsgldjvbpsixbjmlxsv3vrzjtv
+xcpnbsevengpffknsv84sixsixseven
+four898xkqnhspbqmtcs
+5twonine
+six2ltwosix
+cnine22sixeightwost
+6lx63two
+fbqoneight3five
+rbtwone2eight8
+9fivezrsdfkdlqone1nthjvdlmxhqvj
+pmmfp8seven
+1qmttlsjpxjbsrzmbtlxqzfzvrs968
+fgdonexgvvnine5jsm
+rbgmbtwo9fsntcthreesix76
+fbrsxxshseven3gtv
+mkxfour66one9n
+eightnine1fivecsixlqds2
+lhxnxhfnmlmhxkcxndmnine1kfpb5eight
+6eight13rseven6
+hxcfone64ninesevenbgsnrqppqmnnineeightwof
+threebjpbtpzgx5mnthreensixoneightz
+bpdvfqlzthree2vvcmvzllqfbgjgp
+two926sixeightdsvdmnxthreetnqvktdbn
+bhntwonefourninejjcmlfphzpseven95
+prqoneightseven1nbcxnqjfourfivecmj2
+stwone1oneninevcrfzpfourfivetwo
+ztkknhjr9six8
+twomlvrzm934seveneight
+ntnn1bqgbxf13rqdqtcrbpeighttwo
+seven58ninemdqonecrkbdblone
+foursixthree1oneeightone62
+8385dhgcqjtrsixtwo8
+blpzxstwosevenqbdhkb8sfggkbdhx5rzftqsf
+mqbeightwoninefourlgcj9
+njvpkpvjpmvmbsrdgdvx7frrgvnfrmmrfrhqdtwothree8
+rtwonesxxone8tnine
+2xqgrqmone73five
+5ggzdxvptwonineeightdj
+svqhzhzbsmhljxeight7hljd
+one81kmnmpmfkseven
+9ninefourbvbpljb3nineqxnkgzgj
+sixfour7nvdfhnd
+24twoseven52
+425vqnhmrpxthreenine3bkjpvs
+8fzqqspdp6
+427five9zhbxpbr
+1qjnxxkgqhp
+eightxzthreelrbgfbvmrpmtgvrfgqmjlshbqv5
+onetwo4
+three194bfivevknbqxv
+1mjhplcvheightlnvn7two
+rmptjk5seventhreeonesevenkdxfkvdz
+threesix8kpmrvgkpsix
+fjfbx6eight3fourninesp
+six3nhonebtdzppnxkr
+xgtltdtwoninesix62szphpcmtv6
+fiveeight9seventhreesevengndgdfv
+ninetwosmcbfkvf5hvksvfbr3ssbntlk2
+qjrdlmone7tqrzlvfourvfbvtkjxfpkffdpjnine
+sevenfqnsnqt89five5
+16sevenxtdrtmdzrxhneightwot
+8ttreight4eight
+three9nine3832four
+fivesncggngss8qzfvj
+twotwo7sgtcgrmdnr545
+6xk7threejmgnqnsevenmczscqxqxfour
+twosix4eight
+kxm15two844eight
+twoeight5sevenfour
+five56three
+threekdjgcdd6one
+clchjoneeightrqgk8bdsdmzm
+twog546two6x
+5nine4bmhbtbksxreightoneightkg
+gjfkbsr1gvtvlnbzqrlfour
+one48vpone
+eightbcklnvtgvthreeninefivetmgtbjrqnn3
+nkclzcvbbq8nineznbtkntgndnine1xrg
+lqpfhmrlmg32xtddcfffdbxbjckvlzghpldfgvhfhdhr
+fourpkcppxtmqz5
+dvb6sixvhdrzzjk
+btwokhl99nine
+73rkgbsqgz7koneonemlhrbtxc
+eighthlqqt4onenine
+eight61oneightx
+ninebbtcjjlqkthreenfvbcc4three946
+ninepqtlffxvclgn7fqdhqbpmkkseveneighttwo
+bqzpfxntnkhhfkv98fhrqslfs9four
+4ktprrljbthreethreethree3blmddptfour
+5fourone
+9zhvgleightseven5nbcmscqms2two
+6czngsp895
+2threekrxmtfrr2ppfrzqkqgfoureightlf
+six8eight6seventxgl
+1one9
+3qpmrtzsvgkjxsevengzdkjkbbdltlrjkznbbkmpb
+sclxoneeightfoursfbfm4rbxssmgngfxrvcv
+fhctmnpxdrfivemndlr3sdp
+twoseven9sixlp
+962
+tsnsndjtrp27cbtsjdlkrqmtctxvxvnx
+5mnine
+7fgt6
+three1ninertghhbhbcnjdsknine
+two8ninefxcqmxdhtnmcmjvtds6fivebnm
+7phdp
+2hnszbksg
+4ninedcnjbcxnrmoneeight1
+hnsszlsx7414two4
+gmkrn9gcgmffrvbfivethreefive2seven
+2bknqdqmrxpfftptwo2vmqffgmzr
+dsvf3nv14zklptjnhv
+54nchsnpknkx
+oneone15
+onefvmxnzp575sixpxnpndqf
+6vqrzsbbxg3735
+twojbldk2hfqqzgone5
+onesixlzznvc8nineseven359
+6vjbr7
+nineone32nmkszsthreefpscxcqtwofour
+fv1zpqrxvdlzqmeighthhbbbzt
+cskvllzszxzk9
+7ninebrlggdzqk7ninelvddrtt1
+2fpttpbq6b7ninefour3five
+bsslmmmhfxc6
+lfjkdzdm9eightkbdhrkpcnzcftlggh
+rnineninelmbhfour88onevfzhcmneightwofp
+one59ktxrdrhc8six9
+86nxnfzzsixgmxxglvfivezmkdvmhjfzone
+9threefourfourrbxqpqbtbzxstwo
+3pvgtcxrfvthree39bjfivenxvbjone
+sixkmngfour3bfive
+6threehntsjhjpmqhl345
+fourjcnd49fivexqfbj
+ksmszhfive7rrphsxxhgm
+zqtdztkhveightninepnctbcgqsb6
+ninemlvzfcljfkeight1tppxrqtdzp2
+twotwoeightnine5frzk3
+lfvqtzbsix3
+four3bsgft28
+sixgksnkrmsix2rbjmfmnfzfiveeight
+vrtffvbtcmszfdc2sevenhvpfour8
+twopvgzmthree3
+xqffprzsrjqkcbsevenczlbc5
+4ninefournmvninetwommnrctqjhg
+27four
+fheightwod4
+38zkgvdpgjzqfivenlr7mdxd
+ninexxvninesevenfivedpzfgpbv5
+xjzgznvfsevensixthree3rgfqhkxbfp5vfrjcdncfkjk
+2kcbprjfhns68
+bndqgcmnine4qbzfgxmlffive
+ffctnxgtwobldqhsix8djfmdnpgmt
+fourseven91ninesevenpksgt3
+rninesznvtbq5zqmthzrcntskdthree7
+8eight7
+1hnlnp79
+1three3
+414ninevqrccrf6lmzqmsjc6
+15mpeightxmhxlxjmn
+ktdblrmqqxmktvqfour87
+1four121three56
+ldfdgfqkr22nxtsrsntlsevenxxrcclrhtl6five
+eightfourthree8pvlkkbmbrfnfr6
+8sixninefiveqcmjhpx
+2seveneight85lskjhn7
+31c3
+hpgmpmjmnk4twothree
+cqsxgbj23six11
+threesxzmgtvhhheight99xsix
+6jlpt6rnsprllqhgbvhtqtjvft217
+22onesevenfour4sevenseven
+sbnjszzkdleight6three
+3twofourdmrsqqtnzgng1two
+ldcvxqbsfqpgql9ngsbhfrmszhgvznnnjhnm5
+1oneseven28seven
+nsvhqtfivemjgcdqpbtwo1nine2
+six8dj
+zdoneight67fivesevencqlr
+xlzrkgjrhmszmkzlkkmrxjdnzrtlzssfpcxkbxvp6jghldhvr9
+8sevenbzbnnx
+vzrmcfvc9shkxfblfkf
+9twoshzmktntwo5nqp
+3fourvpdfs3eightword
+three24onesixgdzgkspgsjprjgn7eight
+4tz2sixsixqbqfsr4twonine
+twoq2eight
+rccxnvtqnhdlgzqfzcnrmqtjqonesix732
+seightwo8ninekndqrdtbfp
+cgnmrkcjvbgfmpbpjckhfrzrtnine2sevenfivesxhqk
+fourxsncktrjtpnine6ccbgpl
+1sixone5vkzxnhgdlbsevendtwo
+9jbnineppf7
+5foursixlrn5vdgdbvnfhg
+fivecrtwo8zbqrvjgpfivenine2
+ktvdhgvone6dbrvj5sqbr5
+bljtwonesixthree7dzdfrgqrkstwo4xvfmtsbpqjgxsgqcpc
+sixgg5
+vmrbqdqdrqtwo2onez
+onehlgrgndk9ninefsntwo1rnclttm
+4tqzjbhdhkm1
+nine1kffxzcrn189
+sbrxr9ninemqb8
+six528mslnf
+sdvthree7dfivenine918
+3kvzqqkonepmghblzvljnineone47twonesdf
+four9sevenfourjhmjjslqgd8
+3fkfmgqf6fourbldjfvbhr
+eighttxpddhsnzrkplzqc1ninezpvqgnhxzftwo
+56lsxmkfpghsqptvhmmmzhcmfdeightsix
+one72kdfdrtwothree8
+7kpgjhpnthree7
+37j2mtwo
+seven4mjponefivesdgncqm2gkklsqvthfeight
+mgckktt9six4eightwol
+4grzfdm499ninetbt
+tzmbtv84b
+xvzltd75dhpjckmpdrkgglskqrhd5
+cgnbhmdlj24
+7fivetpbtmone
+fivelpmbxvhktzkkonexsxktlzthgbgqkgcj94
+5sixhggcbrft
+43five7122tqlkhssczsr
+eight1seven3
+fourtwo134fourmzpxspr9
+snxjqnf8ctcnvjknghxpkpbrt2
+4qj2xtwoghknine
+1zjfivegtwotqgndnineg
+fjmmznxkrml7fiveninelfvkqtrg6
+8xjlqgqj395nineninefive
+dx47sixtwothdphj
+fivesevenxgsfb235cvgmspdgg6
+fivettfzvfg78dmzzdzcrt
+fpnvxp1
+seven24
+1three8oneeight
+7xglzsqrtb8fhgthmgdcdtwo
+seven8gdtfgd4fivepdq
+twosix1qtttvvstmqbrhh
+ptwomnjhlzjjkztwo4kdkgxv
+89zkvrhmrhdbmfourzdpss
+bfdsvnxflgqxgpzkmrptlvmvlkchjxrt67
+9mmhxsevennvvdngznine17twofive
+lszmqdmxz87mqbv51
+546sevenninencccndnr4
+nineeightsqgrpkrqlmzrlxm6hxchcjspnx
+8twoccdnbfive
+1ks98
+twothree6
+twoxsixtqdpp6dcclzgfvkv1
+16one7scvsgvmcdsixjtzszzrxdzzgv
+bjxzdsixkvqgjfzbbjnrtn212jplvrj4
+zb2three5cngqfczc1
+5fnine99zxvfourjgmn
+one634rteightfoureight1
+76gvcdfourgtbzdlltzsjnxqg
+ltmdrkqqnfour9eightpckdvbhlkvxlpdtp
+6two5kgncpnzkdsgnpspb
+three8vjninekbbnnfrdstprcmklrgpkfpmbs
+ckvvqjqzbpfhf52fivefivefour
+7ngxpdqptksix
+ftp2eight
+8lnmpbqldqstwo
+threetwo153644
+914
+plxjdxghsix17
+sevenonesevennine4three2seven
+7bvdgpghzhpeight512vxbnfqjctb
+xqptzkfive4xqbjzpqfkfspqv5kgqbdtfive
+bmltkhjsckhrc7two8nzdpkjjpnfive
+nnhppfvlhcmnmrjxhrbtzdflseventwojfprxmfn7
+fournfdtjtsbthree54fpzsq
+ninenineone5two
+8694twomgxxzfxr6
+sixeight75seventhreerpchfour8
+llv5
+skxcbfffgc6sixone
+3lhjbzbsg4lsfgpkmcz7vjxzbrshbseven
+4onecjlkpqdljd3five5
+eighttwo2mvdtvqpnonetvphxsk8
+15195one
+kdx9nine6qrnqrjxq59
+twolhjmbh4fivetwo6pdzbnzt
+pbvfour7
+tgxrsbk2
+hfournineone58sixthree9
+hmftwonesix5dhthkcnzqseventhreenineeightnine
+9jmmjclsnsdhhj
+hljjvctthreefourxsdlvsgtqj1335seven
+172
+2gbfpjff
+five5sevengvddnphnine
+sixeightfourssptsqlhzxonetfg2hkmrcpfzcz
+94csjjgl42three
+4bkxxv6
+pgdgoneqmhxfpnfqkrbkjeightbmjjlrnsc5
+nineninetwo55fvsxspzt
+32jqffghbqvfmjtjone78
+93eightfour6eight9eight1
+768jrdmfxgxpntx8nhpljjdx
+eight33zpvpggklseven4lcqsixthree
+fourgrmone4
+bcknine9qsevenrjhjeight
+5onevqm
+578mmqhhljtwo39mfnpmfqthree
+fivecmts43eightfdphfivejsx
+8vkqvl
+8oneone27fourseventwo
+jfsixfivethree3cmjtvkzhqkcksmljxxzbjd
+three6sixpdvtrnrtffltrs
+threeltvvfkcdqjtwo89two8j
+5sixeightfivesixjjmknrgd1qpsbpjrffjl
+eightrmgfkckxxxsvfclhtgcjthree3
+rnfbp8eightjv35eight
+2rrssqrfkvmq
+dcmghdmg6threetzsdx
+qzhfivefivejvbtncm2
+gcspvjnsevenqhmkngfivesix15jtpk
+bkmlmh5six1sixone2hgtlsix
+8rmjshdhm681vc
+sixtx32
+7fourtwo6
+xgrcxeightsevenzgmcllfjqn7
+553fivethreefour8nine
+one4mxbmct
+three6ninetwofour
+1bbbxqhhlmj651eightkfdqdgvh9three
+4414
+mnxsixone92
+61six8
+eight8mrcpfive1
+crsvmfivezbkzkqsix7mxjdgtsqbfvdbnlqtfiveoneightgj
+4dmzznftdbqj
+seven25
+fhlhpvphqvh8one1ffkq
+mboneighteightonefive1ninenineninetwonine
+82fiveonexc5
+97qbhvbqnmxtlpczsx
+nhgzzjkx5
+hgxlrk9
+8twonine9fivetdxmjqppxr
+onethree99sevenfourkzvd2
+sdqjfvbndzcthree1ftoneightkm
+5rcllqcxt
+threejdntvhsixsckfpndjzkeightsix3nlgpsvsfhk
+94fctwoxmczbkz
+4eight35tbqjxglldsevenxmthmmlhsix
+three125
+3njtlmxtbr4541ninedz7
+9ptzpzqrjmxlrmbfbpn9ss4sqcprfmcqg
+8dpmkdtvjxzjbddn7pvkxzskddrhcsjvthree7
+xxshbfcmf3cfdkeight
+six9ninefour472
+fourrvxfmjzd4five
+1fivesix
+twonine3six9
+nine8onethreethree
+foureighttwotwo7onethree
+9prtlnjptoneninefiveninefive
+cljqxpthqzdxpmmbvpjljjxhlhsql8kztpthreesevenoneights
+9sixtwonetfh
+kscmxpcqlthrmthcdhplpnqlq2
+fiveqjfvkmnineeightninefourtwo1
+one5sixeightfxkshmninethreeeight
+4nine4
+27
+ggtz73sixkgsjrtcxkb1
+qvxsgvrpbxqcgpb2fzmcvknkr99seven
+6eight8ksgdlxj638fivetcgb
+mmvc3fourrvbztjchbmqtxtgfrrqphninefive1
+3qzbzxsevenfivegrvtbckqcj
+eighttwokzpgl2hrvqlhkthreenine4
+8twoeighteightxtsbrseven
+nine5mghp7vpnvtpx2c
+hkxkmx5qnpjhtdfjfsix2xqqplvm5gmvjm
+69cgvzhvgjvl8
+threeblzj6three
+3bxpmnfbtpk5hcgqkbkqblznxgsdvklmtmqjxsxdcgqvmsprxrrnfchfbnd
+1fbrrcjgzzllmcbdrgmrcfsevenh
+58onezbp
+1bqfkmkk46cctvmstvhvrtwoone
+mmeightwo9sbjvleightdsevenseven
+9gdsqgflkvonetwo
+3lgpmxdgjtzx3two5foursixeightwomb
+dbkbeightfive9eighthxngnrbmp
+2cpkxggtrdsrh
+zsgcdcrlhlqdpone9eight17sixbbtzpmdf
+5rskkplgsbl9qqzfrzh67four4
+nine856threezgbhrzjcfour
+kqnnine87lflxddvtfb9lfjdknvgl8
+fsgtwo8zxvnfour7xxfnmqpzhzone4
+ddd9sixnsrpqmvvjh2xghxhm
+836
+nxglt36ljcbvgc16hxcbtqjz
+nine19fourhnvh7fgqklf11
+jkvsphrpmhbnfl2nhcflhsbks4
+7nine2dsgkmrzlrzptfpk672
+6vtmztrjdrbk
+4vgsshzzsrtwo
+ninexfjcxdcnxs7seventhree2
+hsvvqcqp97twommjjlclbtdjbxkveightwos
+threedlcvvseven3
+366xqfbhzfmqknine7
+jzrqqfouronehhrmkg4one5
+8xcbccrp141kmcsrdlgcdzpcb1nine
+59rdrphcgk
+fivetwoqmlk22eightfive
+qnsphtvfourtwojljxnvgrkk3slv6four
+13dfbnfnpsevennqtjthreethree6
+4dtncvsix34oneeighthpfouroneightv
+xdhqninefive88nine
+6hnnl8nineonehm7four
+sevenfournine8five2six
+vnczlzjqdtmdgsgxch94one3knlxjvqtrjlsx2
+twoeight14kkzrsqmgkhjb
+jhqrzxrhskngj9ninenjcnbdtjhjtdh
+2grrlxnlvthreernfghspmc
+two8hjbsevenfive5threenpgtnkftp
+d8sixfive1five7
+sixthree9
+sixspqf2gptcsrvlln9
+seven8nine
+nqeightwo7svvjqs75qgp3hpvn
+qrsixxffsdvvrf74five3
+5threeskqgcgprrjmcxksixtwo969
+bdbtlvlseven13fh
+2two1eightfour7jqdd
+three8ninefournffzbnbhkpjqh32
+sixqzmhnjttdnine41sevenpcxqkvr
+fivenine2fourseven2
+sixjjhrjbmvvngqd3three7ninekpneight
+11lttrkpcljbbrmponeightbb
+frxgkvgrjtsix84
+76eightonesix8fivenlfhkfgp
+fourpqlrklpnfljvpfkdklkgrjp1ninevfour
+1six75tr1
+cjdvxhmjvstninejccxrqhb1qkpmnzx8xfpp
+8sixfourone6pzlnczvlsmmp
+eightrkl37jqlvjjsbrtqsix6
+onesmrjvmrtlppm69857seven
+4rgsktnbone8sjxjzbrplnmfvkknpxqv
+tfteightwonsdffone8sixxdpeightseven
+639one2two
+smk55
+6cjbckhbtmkcgrvmp3
+rdnf9
+1jjkdspeighthteight37
+1gh3dcmhx4sixnphphhbpninevbqhs
+vpstbqtdmbvk9jstvtgzrdl
+91seventwo
+7sdpflkxfzfivethreenine
+gvgcrpphhbzghtbcv6
+vvnine5ddgzroneone
+5four6684one
+dmspptjjtwocr2one
+sixftzx6fdsfv
+5six8twotccbsdnpxg32tsix
+mfkdbdfournktdmgqnt4vqkzbzonekdqhbcmfgfiveone
+nine2476
+8rxd2eightninefourmd
+eight1hqfcqs4cpvpsqjfhptwo6six
+5z
+bqcj948nine6xmgnxmxnn
+two1lzdv65bhllvrc
+sevenvjkl3ninespltvdszvnfvzpcvrctphvp49
+4mzjxftf5eight
+fivehbrxcbgjhhxpzfn5lllsknk7six
+6n5ttwo166
+fqdfhc3
+6cph
+lzqqvnlkjv3sevenbdssvckmdm
+bbdpgpfsevenvzsix87
+754sznxkfb4npmjbv4one
+twothree984dsxsninefour
+kmpjgh71jhfrjgrpbd2d7
+27tgptfvcjnk2
+onefive497cdcktxcjfivezdrdhczbp
+79176threeseven1
+csseven1rmlbcpct
+1lzlz4tsngmgh
+zvxshddzg2eightpxkzfnvdfzeightseven
+ninesixnine93seven8
+1twofiveeightmfour
+six3cmbbbxbqr74flchvgjbr45
+7nine31two9dvsghkrjj
+five5four
+seveneightthreefourseventrgxdqclq2
+5dfgddsevenldmzckmvxjmk92fourdcpfgcrpd
+ninekbhrflzmgp3lqgxgszmzvndr47zcllcfg
+sqsixonefivekfvbfh66p
+bssrkdrrgsftlqjdz19
+bqcbhfive6
+jt3fivemdrnrvngsb1seven5
+svdninesbj11eight
+2phltdc
+1469sevenvksvlthqskfkx9
+7fcfivefourdbbvtnjbrc
+6seven4
+lrmfqtjkzfive69eight8
+zmngmr9ninenineninesh
+qrxvdxgtfour7one6
+eightmjpkgdtrp52shpcrtb
+54k7fournine
+7fdbshl6874
+jfjvrhccqrc1fourcrg96
+1sevenncqhkgtzmtncmxhflmfsxfsmsmqh
+79fourjmxfdbqnrsr
+sjthree6tcbp3x
+qvrzmdzfnpkkdcvone2lttcbzhhddbnlnhxgsblhtlvdcpnzjvvqszrthree
+ninedfxcz63two515
+48sevenvgznbsxzhfgzq19
+dxjbtzvtfn3five3
+five1gxfcfppffg74
+78ncrnhmv766nine
+two7qmgeightjhddgnineone
+jhttksbpbhzmgglfour7
+bloneight3ckvpkxtwozzxr1onethree
+mhmppdtvfonecrjzlktlnkpzdbqtvtwo4
+179tjchxninethreesix
+dpcfnsftnjbhlpcjrc8pbnnhtlrjzmmjk
+ninebn16one2crfour
+mfivesix8nine1zgpqpr
+eight44fourfivegfive
+2qhsltnzsfivervftmdm1hthcml
+sjoneightvrxctb9sixhkhmfivejm
+7threehdctsfqflggzkhpn
+seightfourkhpkprrcl6six
+fourkdff7
+57seven3four1r1gcjtckvn
+gmfdzgv7fivesix4nvlq3
+thp7
+xd5plhtvtgxmgkmhlr5nine
+7fourdf
+pnkjgdctpm2221four8pvnhxdtrvs
+hngtq27nineninesixeight
+2fivejpfbsqtx1fourseven
+19jpjsbljgz
+ninethree5twoeighttwoqponefive
+gklmbcj5mstwo8
+phbeightwo31jjzltcqzhklm26
+jtslpzsxh43
+drk7
+5dxcsvgqkmz
+jnrgv9
+nsttntwo6
+6qbfrlcfmmnqpmbbtqgdsjqndqfive
+2mgdjlpdsixfive6
+sevenfivesix6
+3nrfvb13onebsrclqnflppzchtp21
+dmpgdvfive7
+lpvqjzhvjoneghqxnvsixjxflzqj4
+onegqzxvnnfnlcffour2
+nsglbskbzd2drjzqhnq
+nine8seven
+rfspthhjbh92rseven1
+nine2ctjnb
+gzkgvtxjt8twoonefour
+tplxnlr8bfjklthree
+jqrxrtdvmj8fournmj
+6gxvglbcqkdsdcsl
+pzjk9ccbmkzmtsf
+qdzpknfhbsixczkrqbpfour76sevensbvltnjccjllng
+six1zrhqxzfivetwo
+xjhmfkvjgxtbgszmpd54jbsscgrninethree
+cndbtlq22
+fouronesevenzrrv7mhsvjtwokqbfvvrs5
+twoonefive59phkxdbndgch5seven
+8twoninethreeckdkd5
+9four6jfxnfgjvcrszrpsrkhh
+993psn4qdldmfnqsix4
+42tzxknj
+vvzpl8six
+8vpchdjxczsvjjqljnmpdeightone2seven
+fivenine51sixcdb
+dfkkvsone5kjzvqqc
+8seven8pxtrdrkqcqhdklgsixzxtjmtblzzcc
+ddvzsqnxd9xscsix4rvpsix
+75nsvxf9one88
+38ninetmmqx2
+sxjqgrdthree2vhpgrcdtqeight
+63kthndjc
+qgbdkfm56two6fourthree5
+five79
+jpb2seven7one7
+four5sbgbpzkjjkjhsvgksgjvfrsbpbdzgd2
+xlxpsixninextzlpbn6
+jzbvzlflf8twoeight
+4vjtr6eightninenjtvt
+3twonine3vmrgkjzkpfoursixtbcktpn
+six1fourbfhxlntrqfxxztmj4
+jrbhfourfour6jspsxkn2eight5four
+pcvjmdlnf15cfghpszt9
+4lxktgpvvq1sevenone9
+twosixhllhbxkbd2three
+veightwo3eightvrhseven89onelxvhqxkhm
+2sixfkdpcjcgcbgfzlbgblj
+457jtmdfdjcnine
+three64
+pqgjfseven4sevenoneslgeight
+91vcptwo1twonineone
+seven63fourzjpdmk1
+8fivetwofrbtm6f9five
+sevenchrtbctkgpnine65fourbhpqnchhlz6
+rkdqrbtdbj9bt41hklvlrbrcpx
+1three1gmdeighteightqbgsevenhljbpzbdtt
+srkbbkfcznine6nine6
+8kmzbjzsxtgr9drtbdl
+24six412smjfxscst
+9cktpshfdr5djvrngchrh176
+2mjknvteightmvsdgt8seventhree3mzfk
+vhldtk27two
+6three2ninepqnine
+2fourzbtqnclrtpsix2six94
+six6five
+one2eightppzmczmgsixnine
+15qljk7vchkfcfhkhmbjlkcfour
+99four
+dhrgkkbrnczkdt3n
+89211sevenhnbjbrxtk
+663rrbpnrknine911nine
+2ntffsix9
+4mdpcrvqfoursixqeight
+jbjjqkfive3jqnqhvkmtbddrdqxseven
+2gvrgdsxptwovfkpgdlmlhz34
+rqfrx82
+tworzlxeight66eight1five
+md1jgknfftttjbjz
+tctqctkone37cmpbslgpzh3
+3sixsixfpxg
+seven6bld42brzxr
+6two4seven9zpgb5
+nine13
+d68
+3lxvsgksbbtwo52eight3three8
+bpltlnlzc8
+seven2five1threedmkg
+hpkvhlkhknhjpq9tgpmnndgtlqjx1vkdkvtqhtwodrbr
+fourfivesxgpxhdvts7four5
+7frgrjkkrb1
+2threettvptwobjhmxvpsvmljtvnpkpsvr
+9fivelxtcbbn9xgtwohmmhnfhcknc
+fourqztfvd6gkhxnstjjxnbl69hzkghsjrd
+pspgqcjfcqdgq6xsgxrls
+threesix6lrfkmvjdfivetwo9
+kdjgpj54
+oneeightsevenfive1
+one4onefournine64
+45hhcpntsthreezl9hjdnnine
+17ninenineninegczplbj81
+31threetwosevencphdv
+5eightvsrzjmdbtqhhqtjfjrhllhbgzgzjzvdhddstxpp4
+pgghlbtsevenqxxjbnd14onetwo
+3ljgmcxnqgxcrfourfourtworjtwo
+eightseventhree59
+3nhsccljtzszftnqtfour5
+threefourthreeone3five
+3pzgzjv7tz
+qxgntksdr45tvnxfcjdnn
+5seven9threejdzrzdfcpgbnhrrmfkkskg2two
+38bjnlcjbeightfivefourqvtbvjsb9nine
+nmxqtzlpfngzlsnl9
+9eight8five3two1gsknxznbf9
+518jkqmprjlqcpdthreefive16
+6lzjznblrj3three
+f7blbxznlvgk
+37jtlrvlzhzronehn
+kpckhlcsbeight6
+8dfptmfourtwoeightfoursixonefive
+ninecdrxlgdkm7nineseventwotbbcgninekbxssd
+rrhkgmnsbxbhb2ccnncrbstjfbmnlbxsxbkr
+cflrvjtdsevenfivefive3sevensixeightseven
+41ninenrznrcpdqhxfglb
+gffivesixtqbbmzllvbnjnk2fivesix
+eight311seven
+52mpqbgktxhs359btkzqdfzvtrzmltxt
+onegxnk2rvnmdcmqvqvgkml34
+gfzeightwoeightrbvknvpt7
+1ct2
+zctqtxtgseven66zhslvvdninetwo
+54sixbfn8mxfkthf5
+9974seven9dclxbmfive
+onefour6mjtssrxjjsleight2foureight
+818sixsmmzsvbpl9two
+rjqnpzlp83qxlj
+sxqztv22
+8tsvhfszvj
+one5mninefour68
+three7threeone
+sevencnq2jdjvmlh5mqnnnrsqgppkfxjfjsevendrq
+8zmxbvgschsqxbk5lltxpseventhreevrhsvdkk
+seven2ngbqlxkjl27eighttjprz
+ccfskxtnqpqninevczrltkg18hmgjmqt
+npgtv4nine5lnqvglvdrxvqmc
+kvg4zrtpxnknbone
+threeeight1tsdcthree5zxrshttlsmseven9
+35448284
+6fiveqplkfftsj
+pldmrjhzhfiverlgntcckbqzjgth4gfddcrz
+6fivesix2
+eightksz6m6pneightnvpvvx
+1fourbqxtmbvzsfnrxqmvlbfzvdthree
+two43sixthree5one
+cqf2
+twoltseven8three64
+6fourprlhcc
+fgqoneightsevenqthreebksixgdqt93dm
+xjczd3sixseven5
+kfzgshnxqnptrckbrt2
+fourrrdcl624
+kvhfqspcpsxndjqlonesixthree24kdmqvone
+8eightfivetwo
+onesevenseven5fourlrkkqtfkrmdlsmd
+jffvtzkbjnkdtvfsfthree431lrpgmtv
+bbvsptrzbone4tfnpgrfourvsix
+4seventhreekmxsz335eight
+eightbrcv5
+two2eightbppsplzgcfournine5seven
+fourthree5kcdhqzeighteightkbzszgv8nine
+rgxrddnnbv7rkt
+8ffmvpcsvfoureightqpnzzjksgchnine9jlgjqb
+two9tfvjqsgqsixnine
+bzn4two
+sqlfeighteight6hjddxzcone2
+3fivekmfnqlctddfivelcthnine
+twodn8
+one5six913lbrcc
+foureightmppchbgz8lqbzqbjztwo7cksqxns
+zvhzgfpkhkone93nine \ No newline at end of file
diff --git a/aoc2023/src/day12/input.txt b/aoc2023/src/day12/input.txt
new file mode 100644
index 0000000..e7e6f8f
--- /dev/null
+++ b/aoc2023/src/day12/input.txt
@@ -0,0 +1,1000 @@
+?.?#?#??#?.?#????? 4,2,5
+?##??.#??#.???.# 4,4,2,1
+#?#?.##???.?.? 4,2,1,1
+...?#??#?#????#.. 10,1
+?????#?#.??????????? 1,6,1,1,1,4
+???????##???#???#??? 10,1,5
+.?#??????.#.?#? 7,1,3
+..#..??#???#???#?#?# 1,1,11,1
+.??##?.??#?#?#?..? 5,7
+?#???#?#??#???##?.? 2,9,4
+.?#.?#?###????#???? 1,11,1
+?..?#.??##??#??.? 2,9
+??##.?#?????? 4,5,1
+?.???#??#?#?#? 9,1
+#??#.?????####. 4,9
+???#????#?.??#? 9,2
+#????.??#????? 1,1,1,7
+?#??.##?###?##?. 3,6,2
+??????#..????##??? 1,1,1,1,5
+.?????#??#?????# 1,1,10
+.????.#?#??#???. 2,9
+#??.#??.?#.. 2,1,1
+?#?#?????..#??.??? 6,1,1,1,1
+???#?#?#?. 1,3,1
+#?##??..??#?????#??. 5,8
+..##??##??#????? 2,10
+.?????#????????? 7,3
+.???#?#?.???#?#.?.#? 7,1,1,1,1,1
+.????.??#. 3,3
+??????#???#??? 1,8
+?.?#???#???.?.??## 1,1,5,1,4
+?.#????.?????#?#? 1,2,1,1,6
+.?????#?##?#?..???? 1,8,1,1
+#????.???#?#?.? 2,2,1,2
+#.?#??#??.?.? 1,2,2,1
+????.???????? 2,2,1,2
+?#?.??????#?#?.?# 1,9,2
+?#????????? 2,4
+??.?.###?#?#????. 1,1,8,1
+.?????#??.#????.. 4,4
+??#????#...#? 2,1,1,1
+??.???#???.??#??. 1,3,1,1,3
+.?###????#.#? 7,1,2
+???#???.#.#?#??#?? 1,1,1,7
+.###?..??#? 3,1,2
+?.?#?#??????. 5,1,1
+#??#??.?##??# 1,2,5
+.??????????. 1,4,2
+?.?.????????? 1,4,1
+???.??###????? 1,6,1
+????#####?##??# 12,1
+.???.??????? 1,1
+?.??.??????? 2,1,1,1
+????#?###? 3,1,3
+###?##.?.???##?..??? 6,5
+???????.#? 1,1,1
+???.#???#.#?#????.? 2,2,2,3,3,1
+?.??#????.?.??. 1,5,1,2
+?#??.?##??##??##?.. 3,11
+##??.?#??.?? 2,1,1,1
+#?????###?#?????#? 1,1,12
+.??#.??#??.???? 1,1,4,1,1
+?#??#.?????.???. 4,1
+???#????.#?..? 4,2
+?.?#?.??#?. 3,2
+.###??#???#.?##?? 10,2
+.???????.??? 3,2
+.?????????? 1,1,2
+.##??.??#?.?.#?#.?. 2,1,2,1,3,1
+?????.?.?????##?. 2,1,3,4
+???#?#???#?#??? 1,2,2,1,4
+##?????#???##.?#?? 13,3
+.#?????#?##??????? 1,7,1,1
+?.?#???..??.?#??? 1,2,5
+????.???.#?. 1,1
+?#?##??#.#? 4,2,1
+.#?#?#???#?.????#?? 10,2
+???##????#???#????#? 4,7,1
+???.#????#?#??????.. 1,1,10
+#?#???#?.#??.??? 8,2,1
+??#??????? 1,2,4
+?.??#????#.? 1,5,1,1
+??????#???#????? 2,9
+#????????#???.?. 1,2,2,3,1
+?#?#???????.?????## 8,1,5
+????.????###?????# 1,9,1
+??.?.??#??#.. 2,1
+?#???.???.?#????. 2,1,2,3,1
+????????#??#??????? 1,6,1,3
+?#???#?#??. 2,1,1
+??.?.#???? 1,3
+.??#?#??????.#???? 1,1,3,3,5
+??.?????.#????? 2,2,1,2,3
+??..#..????.???.??# 1,1,4,1,1,1
+???.?.???. 1,1,1
+.??#???.?. 2,1,1
+?##??#?#?#...?.? 9,1
+.?#.?.???#?##. 1,7
+?.#??????? 2,1
+##?.?????##?###. 3,2,1,6
+???..?#### 1,4
+#?#?#.?#?.?????##?. 5,1,7
+??.#??#???#?#???. 1,11,1
+#.??.????#.? 1,1,1,1
+??#????????##?? 2,2,1,4
+??#?#????##?####?? 5,2,8
+...?.?##????????. 1,5
+????#.???.#. 1,2,1
+.????.#????.?.??# 3,3,1,2
+?????#.##??. 1,2,3
+.#.??????##??.#???.? 1,6,1,4
+??.??#.?????????. 3,2
+??????.??? 1,1,3
+.?????????????????? 6,1
+.?#?#??#????#???? 4,7
+??.???#?..? 2,3
+??#????#??.??.?? 4,1,1,1,1
+?.###???#?????? 1,7,2
+???.??????#?#? 1,4,1,1
+??.??###?##??#??? 1,5,8
+.????..??#??? 1,1,2,1
+?###?#???...?#?... 7,1
+?.#?#?#???????#?#??. 7,7
+#??##.?????. 1,3,3,1
+#?#???#?#. 7,1
+?????????.? 3,1
+?#?#??.???????????.? 6,7,1,1
+..???#????#? 3,1,1
+?????????##?#?#? 1,8,1,2
+????????###?? 1,1,6
+?#.???????.. 2,1,3
+.#.?????###???????# 1,2,9,1
+?.??#?#.?.??#. 1,3,1,1
+???#.???####? 1,1,6
+??.#?#?????????#??? 1,3,1,1,8
+?????????.???????? 1,4,1,1,1,1
+.#?#.???#?#?.#????? 3,1,1,2,1,1
+?????.#?.? 1,1,1
+?????#?????? 6,1
+??.?????#..?????# 1,1,3,2,1
+.??#??????#?#????## 5,3,1,4
+.?##?????? 5,2
+???#??#?.?? 3,1,1
+??##?.?#????.#?#? 4,4,1,4
+????.????? 3,1,1
+?#?#??????#??.#?? 8,1,1,1,1
+#??????#???###?#? 3,12
+?#??#???#? 1,2,3
+##??????#????. 5,1
+????????...???... 2,3
+#.???????#????. 1,4,2
+????.????. 2,2
+??????###????????.?? 10,1,1,2
+?.??????.?.??. 1,3
+?#?##?#??.??##??##?? 8,9
+??????..?#?### 3,1,5
+.#...??#???? 1,6
+#?????#??#?##? 4,1,5
+#?#..??.#??#.?? 1,1,1,4,1
+??##.??.??#..?????# 2,1,2,1,1,1
+??#.##?#?###??.?#?#? 2,10,5
+.?????###?? 1,5
+.?????#???#???#???.? 10,2,1
+?#??#?#?#?. 1,6
+?##?????#???????? 3,1,2,2,1
+?.#??#?#???? 1,4,1
+?.#.?#???# 1,1,5
+#???..?.#????? 2,1,1,3
+???#?.??.? 4,1
+.#?###.?????? 5,4
+????#?#.?..##??? 5,5
+.????##?.##?#?#.. 6,6
+???????.????? 1,1,4
+.?..??#??#?????#??? 7,4
+?##???#?#???.##??? 2,4,2
+???#??????????#?#? 1,1,1,1,2,4
+????#?.?????#??? 1,2,6
+??#??#????? 1,7
+..?#?#??????.????## 5,3,6
+???#?..#???####.# 2,1,1,6,1
+?..???#??.#.??? 4,1,1,3
+??.????##?.?.#?# 1,6,1,1,1
+.???????.#??.?????.? 1,1,2,3,5,1
+?##?#??????#????### 6,2,5
+.??#?##????.#. 1,4,2,1
+.??.#????.? 1,2
+?.????????# 3,2
+#???.#?.??.# 3,1,1,1
+?#?????#???##??#?.? 16,1
+#?.??##??.?.????#?#? 1,4,1,6
+.??#?.??..?#? 3,2,3
+..???.?????#??#.. 1,4
+.?#???#???.#?????? 1,1,2,1,3,2
+???.???#?##????? 1,8,1
+??#?#??..???. 5,1
+?#??#??#???.??? 6,3,2
+?#??.????#???#?????? 2,1,12,1
+??#.???????..???#??? 1,2,4,2,1,1
+.??.?#?..???????. 3,3,2
+?????#.??#??#?#..?. 1,1,1,6,1
+??????#???#. 1,1,1,3
+?..????????? 1,1
+??.?..#.#.?#????#??? 1,1,1,1,8
+?#?#?#????? 4,2,2
+????#????#??.???. 11,1
+???##.??#?# 4,3
+??????...???? 1,1,1,2
+????.#?.?.?.? 3,2
+????.#??.?#? 1,1,1,1
+??????.??..???? 2,1,1,2
+?.?.#.?.????#?? 1,1,1,6
+?#.?????..#.#?. 2,2,2,1,2
+.?????#???.????.## 1,5,1,1,2
+?##????.??.???? 4,1,1,3
+?.?####???.???..# 8,1,1
+?.?#???????#?#?# 1,2,2,7
+.????#???. 5,1
+.??#????..????. 3,1
+?????.#?.?????????? 4,2,7,1
+?..??#??#.???#??#?? 1,1,1,1,1,4
+.#?###??????.???? 10,1
+#?????#.#?? 3,3,2
+??#??#??????##?? 7,5
+???#?????.??? 4,2
+?.##.?#?.?##.? 2,1,3,1
+????###???#?. 8,2
+.?#??##?????#???.? 6,2,1,1
+???.????.#? 2,1,1
+??#??#??#???#?? 6,1,1
+?##?#??.?? 6,1
+#?????????#?????#?? 5,8,1
+.????????#?#??#???? 1,1,12,1
+????#?????.#? 9,1
+.?????#..?? 2,3
+???#.????. 1,1,1
+??????#?##???.. 1,5
+????.?????? 1,5
+???.?????. 2,4
+?#???#.???.??? 6,2,1
+???#??#??#???????? 1,6,4
+.??#.?#??.???????# 3,4,3,3
+?.??????.????? 5,3
+??????###?#?.???? 2,1,6,4
+?##?#???####????##? 2,1,12
+.?#????????..?#?#?.# 3,3,4,1
+??..??.?..?. 1,1,1,1
+??.#??#?#??#???????# 1,1,9,2,1
+??#?##?##..# 7,1
+?????.????? 4,1,2
+??##?##?#???.?##??.# 10,1,4,1
+?##.#??#..??????##? 3,2,1,2,3
+???.#.?#??.??? 1,1,3,1
+???###.??? 4,1
+?#?????.?#????##. 5,1,1,1,2
+.?#?..????#?? 2,1,2
+#??#??#??#.???#??.?? 4,4,1,2,1,1
+??##?#??#?#???#? 3,6,1,2
+#????.??.? 1,1,1
+?##?###???????#???? 12,1,1
+..??.??#?###? 1,7
+??...???####?? 2,7
+?#??????...#??#??# 3,1,1,1,1,2
+.?????.??????? 1,5
+?.#?.#????#?#?#? 1,1,1,5
+#?##???#?????#.# 1,3,7,1
+?#.##???.?.#?#. 1,3,1,3
+?#???#????.??#??? 7,1,2,2
+????#?##????#??#??? 1,5,2,2,2
+???#??????#?#???#?.? 1,1,4,8,1
+..?#?????.#???.? 6,3,1
+??##?#?.#???.?.# 6,2,1,1
+?????????#???..??? 1,4,2,1,1,1
+?????##?#?. 1,2,4
+?????#??#????? 1,4,1,1
+??????.####.##???# 1,1,1,4,6
+????#????? 5,1
+.?.?????.#? 1,2,2
+?????????##????. 2,9
+.?????.??.???.?#?? 1,1,3
+??#????#..?.?.? 3,2,1,1,1
+??.?.?##..?..##..? 3,2
+??????????.#???? 3,1,2,1,1
+.??#.??#??.?#?.???? 1,4,3,3
+??#??..#??. 3,1
+??#??..?#. 3,1
+#????#?.#?????##??? 1,1,2,9
+??#?.????. 4,3
+?????#???#?.?? 9,2
+?.#???.????#. 2,1,3
+??..#?????????#??. 1,9,2
+???##????.?. 5,2,1
+..?????##??? 1,4
+?.????.??#??. 1,1,2,1
+????.????# 3,3,1
+??#???.#?##???.#?? 5,5,2
+????????..??#?. 1,2,4
+#????#??####???.#? 1,4,4,1,2
+????#???#.?????.#.?? 6,2,1,1,1
+??#?#????????#?#? 7,2,1
+?????.?.#???# 1,1,1,2
+??#??...#?#?#??#?..? 3,9
+????#?#??#??????##?? 1,1,8,2,1
+??##?.?.?#????#?. 4,8
+?#???#??#????????. 1,2,9
+?#..???..##? 2,3,3
+.???#??#??.? 7,1
+?#?#??##???#?#..?#?? 14,3
+#.????#??.??#?? 1,6,1,1,1
+.??#??#.??#?##??##. 2,2,10
+?#??????#.?#??#?? 5,2,5
+???#??????#??..?#?# 1,8,1,4
+?.???????# 1,1,2
+?##???#????.?.#?? 6,2,3
+?.?##????#?# 7,1
+?.?.???#??#.? 1,5
+?#?.###???? 3,3,2
+.????????.?????? 1,5,1,1,1
+??.???##????.? 2,2,3
+???#?.#?#?#??#?? 1,2,3,1,4
+.??.?????? 1,1,1
+???#?#????#????#? 10,3
+???.??.?.??? 1,2,1
+????#??####? 1,1,4
+??????????##?#???? 2,9,1
+????.#??#. 1,1,2
+#????#??#??? 4,1,2,1
+??.??#???? 1,4
+.?.?..##.#.. 1,1,2,1
+.???.??#???.. 1,6
+#?.???.??#. 1,2,2
+?##???????#??#. 3,2,6
+????##?????#?.????? 2,3,4,4
+?..###?#??#???#???? 1,6,1,6
+??????.#????#? 2,1,1,2
+?#?????.?# 2,2,1
+?????#.??#.? 3,2
+?..?..#??##?# 1,7
+#????#?????.? 1,8
+???????#???#?#?? 2,3,4
+?#?#????#?. 1,3,1
+?#?????#????? 1,4,1
+?#????##?. 4,2
+???????#??#??????? 8,1,4
+??#??.??##?????? 1,1,1,1,6
+#?#??.??#???#??? 4,9
+???.?????.?.?.?? 2,4,1,1,1
+##?#?.?.#?. 5,2
+????.???... 2,2
+..?????#?????#?? 1,8
+#.#?#.##?.???.?. 1,3,3,3,1
+?.???????#?????????. 1,1,10
+??.??#????##??. 2,4
+?.??#?????##??#? 1,9,1
+?????#?#?#?? 1,9
+?????#?????.?. 6,2,1
+??.?.??.?????#..#? 1,1,1,6,2
+??#.#???????. 1,1,5
+?#.?#..??.?#.#?#?? 2,2,1,2,4
+???..???#??##???? 1,1,6,3
+.?#.?.####?? 1,5
+??.??.?#.?#????? 1,1,1,7
+??????????##? 5,1,2
+??#????#?#???? 3,5
+#.?.??...? 1,1,1
+##??#???.?..????#?.? 3,4,6
+???#?.?#.??? 5,1,2
+.??????#??#? 4,1,2
+??.#?.?..??#???..#. 1,1,1,1,4,1
+?.?#?#?.???###?.? 4,4
+?#??#?#????? 7,2
+#???##???#?#?.?#.?? 6,2,2,2,1
+?##?#???.?#? 7,1
+?.??#??????. 4,1,1
+#?##?#?????#. 6,5
+.????.?.?? 2,1
+???.??.????? 2,2
+??#?#????????#?#?. 9,3
+?..????##????##?#. 1,14
+.????#?????#????#?? 12,1
+?????#?#?##? 1,1,7
+?#??#.??.?.?? 1,2,2,1
+..??#.???.??????# 3,2,5
+?#??#?#?##?????##? 10,4
+???????##?. 1,4
+..#.???.????.. 1,1
+???#??.?#?????? 5,4,1
+?#?##.???#??#????#?? 5,1,1,4,1
+?#?##?.??????????. 5,1,7
+?#?#.???????#..#. 1,1,5,1,1
+.?.?#??#???.?#????? 8,2
+????.??..???#??#?# 2,1,1,9
+?#?????????#?#?#??? 1,1,1,1,6,1
+??##?#?????.#? 7,1
+?????..???#.? 2,2,1,1
+#??????#???????? 9,2
+??#?????####????.#? 4,10,1
+?????#?#?.??? 1,5,1
+##.????????.?.?? 2,2,3,1
+#??.?#?#??.#??.? 1,5,1,1
+??????#???????.?#?#? 7,2,1,5
+?.???..??? 2,1
+.????#??.??#?. 1,4,2
+.??????.#?##..?#???# 2,1,4,6
+??##????.??? 4,1,2
+?.???????#?? 1,3,5
+.#???????.???#???.?? 8,1,2,2,1
+??.?#?.?????#??? 2,1,3
+#??##????#??.?.#???# 1,8,1,1,1,1
+.#.?#??##????#? 1,5,2,1
+?#.??.#?????##??? 1,1,3,4,2
+?#??????#?#???.#?#? 6,1,3,3
+??#??????.##???#??? 1,1,1,8
+.??????????? 1,4
+.?#.???#.??? 2,1,1,1
+#??????##???????# 4,1,3,2,2
+???????..?. 1,2,1
+???#???.?.??????? 3,1,2
+??###??#??#?. 4,1,1
+??????????.#.?? 9,1
+?##?.##??????.#??? 3,7,2
+?#???????????#??.?? 2,1,1,1,5,1
+?.?#????.???. 1,2,1,2
+?????????#???#????. 2,1,9
+???#??#??????##?? 10,2,1
+?????#.??.??. 3,1,1
+#?#?.???.#? 3,1,1
+?#?#??????? 6,2
+?????????.? 4,1
+????#.??#???#??? 5,7
+??.#?#???#???? 1,11
+..????.#?#? 1,1,4
+??.?#?#????.???# 2,1,1,3,3
+?.??.?#?#??? 1,6
+??.???##???##?.#### 2,1,7,4
+?????###??#??? 2,4,1,1
+??????.??###??.##?#? 5,4,4
+??.?#.???. 2,2,3
+..??#??.?????#? 2,6
+???????##? 1,1,3
+#..#??????#??#..?##? 1,1,1,6,2
+???????#?#?? 2,5
+.?##??.????? 3,1,1
+??#?.?#?#??#?? 2,8
+.#.?.#???#?? 1,1,5
+.?.?.??.?????#??##?? 1,2,1,3,3
+??.?#????#????#??? 2,2,2
+?##?#?#??##?.#? 7,2,1
+#?#?#?????##???#?.## 1,1,1,1,8,2
+??..????#? 1,1
+..???#.?#???????. 1,1,3,4
+?#.????????????# 2,1,1,1,6
+?##???.?.????#????? 4,1,5,1
+?#?.???.#..###?.#. 3,1,1,1,4,1
+????????????????# 3,1,4
+??.#?.#?#??#? 1,4,1
+????.????? 1,3
+??#?..????? 3,2
+??.??.?###..? 1,1,4,1
+?.?##??..?# 5,2
+??.????#????#??.? 1,1,6,1
+#???.???.??.?##. 1,1,1,1,3
+??????##?###??#?.??? 1,1,9,3
+.#??.????. 2,2
+#.???????#???????#?? 1,1,7,1,4
+?????#????#?? 1,6
+?.??.?#?.#?? 1,2,2
+????????#???## 3,2,3,2
+??.??..?#?. 2,1,1
+?##??...???? 2,1,3
+.??##?.#?.#??..#?#.. 2,1,3,3
+.#?????#????# 1,8,1
+?#?.?..????. 1,1,2,1
+#?#?##.?## 6,2
+???#????.?#.?.??#?## 4,1,1,1,1,6
+??#????#?##?#?? 1,7
+..?###?#??.??#???. 6,2
+???????##.?????##?. 1,2,2,2,4
+..?#?..???. 3,1
+#???#?##???.?????? 5,5,3,1
+.?.??.?.#?#?#.????.. 1,5
+.#.#??.?#?.???? 1,2,3,2
+?##.??#??? 3,1
+???#?#???.? 3,4
+.....??###??..???.?? 3,1
+..?????#?#?#????#??? 1,5,1,1,4
+?.#????????#???.??? 1,5,1
+.?#??????????. 1,2,4
+?##??.????.???????#. 4,3,4
+?.?.??.???..??? 1,2,1,3
+???????#?. 3,1,1
+??##??#?##?????#?.. 6,5,2
+?#.??.??...?.? 2,2,1,1
+?????#?.?#.?.? 6,2,1,1
+?????#???? 2,2,1
+??#???????# 4,1,2
+?##?????#???.?. 4,2
+????.??#????#?? 1,9
+??#??##?##????????? 1,8,1,1,1
+??.?#.???#???#??#??? 1,1,14
+??#.?#??.??.?#?? 1,1,1,4
+?.##?#.??????#??? 1,4,2,3,1
+?????????????..???? 10,1,1
+??..?##??#.????? 2,5,2
+????????????#?#?#.?? 1,5,1,1,1,1
+???...????????.#?? 2,1,1,2,1,1
+?#?##???#???.#?????? 8,2,1,1,1
+????????????? 1,6,1,1
+?.???#.?.##?. 1,1,1,2
+?#?????.?# 2,1,1
+????????.??# 2,1,2
+???????.?##?????. 1,1,3,3
+?..##?..?###???#?? 3,8
+??#???.????#????...? 4,9
+.?????????? 1,4,1
+?##?????..?. 3,1,1
+.##??????#. 5,2
+??#??????.?.????# 2,1,1,3,1
+..#???##???????? 7,5
+#???#?#..???.???. 7,1,1,1
+?.?#????...#???? 2,2,3
+????#???.? 1,4
+???#?##????#??.??. 12,1
+??????#???.???? 1,7,1,1
+?????#???.????? 1,1,2,1,1
+?.??????????###? 1,2,1,6
+.#?#.????#????? 1,1,1,5
+..?#?????.#? 4,1
+?.????..?.#? 1,2,1,1
+????#???#?#?. 1,3,1,3
+??#?#??##.?#?? 8,3
+?.???##??..??.?? 2,2
+???????????? 1,1,5
+##?###???.?? 6,1
+?????..??????#?? 4,2,5
+???#?.??????????#?. 4,1,1,1,5
+??#?????????? 3,2,1,1
+?#??#??????..?????.? 6,1,5
+?.???##?????? 1,1,3,1
+.?####???#.#..# 8,1,1
+???.??.??#??? 3,2,1,1
+?##.?#.????#??.?? 2,1,5,1
+????????####.?..?## 10,2
+..?#.???##? 2,5
+##.??????#?????? 2,9,2
+???##?.??#?????#??? 2,2,3,1,2,1
+.##?????## 3,2
+??#??.???..?.?.??? 2,2
+#?##?.?????#?##???## 1,2,6,2,1,2
+??#?#??.#?.??#?? 3,1,1,1,5
+?.#.????#??#????? 1,6
+???#???????.??? 1,3,2,2
+?#?#?..????.?#? 1,2,1,1,1
+?#?#???#?#??????#?? 3,7,4
+??#???#????#??.. 2,2,1,4
+.#????#?#?. 3,3
+?#?..?##?#??##? 1,8
+.??#?#???#?.??#??? 6,2,6
+?#.???.???? 2,2,3
+..?#??.?##??#??.?? 3,7
+?#?????.?#??????? 4,1,1,1,1
+?##??#???.????#? 8,2,1
+?.#???#??. 1,3
+???##??#?#???#..?? 5,1,1,1,1
+???.???????#????? 2,2,8,1
+????##???#??????#..# 5,3,1,1,1
+?.???????????.?.? 1,8,1
+???.#?#??##?#???#?#? 1,15
+????#?????????##? 6,6
+??#??????????#??##?? 4,5,4
+??.???????.? 1,2,1
+#???..?##.. 1,2,3
+.#####?.?.????# 6,1,1,1
+?.#???#???##???.#.? 1,1,3,4,1,1
+?#???##??????? 2,5,2
+????????..??? 1,3,1,1
+???????#???.?. 5,1,1
+???.???#????.?????? 1,2,5,3
+?????.??.? 2,1
+???#???#?.?.#????#? 7,7
+??????.#??# 3,4
+??#?.??##?##???#?? 3,9
+..?##?#????. 3,4
+???#????##?#???.. 12,1
+???.?#?.?.?.??#????? 1,3,1,1,3,1
+#??#??#.??#????###?# 1,5,3,7
+?????.?????. 1,2
+??????.?.?? 4,1
+#???.??#?#?????????? 1,1,7,1,1
+.????#??#? 5,2
+##.??.##??#?#???#?? 2,1,2,1,1,5
+???#??.#??##??????? 1,4,5,1,1,1
+?#?#####????? 8,1
+##?.??##?#??#.? 2,8,1
+??#?.??????????????? 2,7,1,1,1
+?.???#?.#??#??? 1,3,7
+???????#?#??.?? 12,1
+.??#??..#??##?#?. 3,7
+??#????.?????.?? 3,1,2,2
+????.??#???? 1,1,3,1
+???#?##??????# 1,6,4
+#???##.??????# 6,1,1,1
+.?????##???#??###? 2,8,4
+??#?.#?????? 2,2,1
+?#?????????. 3,2
+??????????.?# 5,1,2,1
+.?##?.???... 4,3
+??#???????.?# 1,1,4,1
+?#???##????.??#? 1,5,4
+.?????#???? 2,5
+??.?.???##? 1,1,3
+.#?#????..???? 3,1,1,1
+.???#????# 5,1,1
+????.??.?# 3,1,1
+.??????..??# 2,1,3
+??#???????.????. 3,3
+???.#????#?????#? 1,1,2,5,2
+.????#?????????. 8,5
+.#?.###?##?? 1,7
+?.#.??.??#???####. 1,1,1,1,5
+.?##?###????? 9,1
+.?.?#?#?#?#. 1,4,3
+?#?.##???????. 3,4,2
+#.??.????????????#?# 1,1,1,8,1,1
+#?.??????#????#?#??? 1,1,1,1,4,6
+???.??.??# 2,1,1
+#??????#???.#. 10,1
+?.???#??????.?.?#??# 1,10,1,2,1
+?.?##???#?? 3,2
+???#...???? 2,2
+?#??????????#?## 3,1,1,4
+??.??.?#???? 1,1,3,1
+.?????#??#???. 4,3
+.?#?.?#?.?? 3,1,2
+???.??#????.? 1,3,1,1
+?#??????.#?????? 3,2
+???#????##??#???. 1,1,10
+.#?#??????? 5,1
+..?.?????????#?#?? 1,13
+?????..??????? 4,3,2
+?#..?????##?#???.??? 1,9,1,1
+?.??#?.??.?? 1,4,1,1
+???##?##???.?? 1,8,2
+?#???.##?.??? 2,1,3,2
+???##?#?#??##??#??? 1,15
+.???.??#.#?? 1,3,1,1
+??..??#???#??? 7,1
+...??.?.?#.?????. 1,1
+.?????.??#???#??? 1,2,4,1,1
+???.????#????? 2,6,1
+.??#?.#??.???#####?? 1,1,2,7
+???.???#???? 1,1,6
+?.??..????#????#?? 1,6,3
+.?#????#????##???.? 12,1
+?????????#???? 1,1,4
+????.??#?#??? 1,1,1,5
+??#.?.???? 1,1,1
+?.??#????#?. 1,9
+????????#????.. 6,1
+?#.?#???##???###?? 1,3,8
+???????.???. 3,1
+.????..???#? 1,2,3
+??.??#...?????.?.#? 1,2,2,1,1,2
+???.?.????#?###?#??? 2,12
+#.?.??#????# 1,1,1,4
+#.???.#?????. 1,1,6
+#.????.#?# 1,2,3
+?????..??##.?# 1,1,3,1
+.??#?#?#???? 5,2,1
+.??##???#????#??.... 2,8
+??????.#.?#?#??#??? 1,3,1,10
+#?#??.#?##.???.#..? 3,1,1,2,1,1
+?.??#??#????# 1,10
+?.???#???????#??# 1,7,5
+?.#?????## 2,3
+?#?#?.???.?# 2,1,1,2
+#.????????.###?# 1,1,3,1,5
+?##????.??? 6,1
+??.?#?##?#?.??.? 1,5,1,2
+.?.#??????.?? 1,2,1,2
+.????.##??..?#..? 3,1
+?#??##.????#???#?? 2,3,3,1,4
+???#?.???.?? 1,2,3,1
+#?#???#.????###? 4,1,7
+???.##?????#?#?##?. 1,2,2,7
+.##..??.#?#???#???#? 2,2,7,1
+...#??#??????? 1,2,2,1
+?????..??#???? 5,1,2
+???.???????.??? 1,6,1
+?.??.?#???#.### 1,1,1,1,3
+????.##???###? 1,2,6
+..?#??..?.??#?##???. 2,9
+.?.??..???? 2,1
+??.???.#?#????###??. 1,1,3,8
+?.???#????#?##. 1,1,1,6
+??.#?????##??#?## 1,1,6,5
+?.#??#?.??..??# 5,1,1
+?????###.??#???#???# 3,3,4,5
+?#..???????.?? 1,5
+????##?#?.?????.? 5,3
+????#?????. 4,2
+?..?.?#???#???? 1,1,2,1,2
+??##?#????#???..? 4,2,5
+.?.?..????.. 1,1,1,2
+?????????.??##????? 1,5,3,1
+?.#.???????# 1,3,4
+?.??###?#??#..??#??. 9,1,2
+?????????? 1,1,1
+?##?#???.?????#????? 8,1,1,2,1
+??#??##?????. 8,1
+.???..?##?.??? 3,4
+?????#?.#??##???#?? 2,1,5,3
+.#?#?#????.???# 8,4
+??..?.???? 2,1,3
+.??.???##????. 2,1,3,1
+.##???#????#?. 8,3
+???.#??#???.#? 1,1,2,2
+.???#?#?#?#?##???#?. 10,7
+??...???#???# 1,5,2
+?????.??.?#? 1,1,1,1
+???.???????????###? 1,1,1,7,3
+????????#???? 1,3
+???.???#????.??# 2,7,1,1
+?#?#????#??##? 1,1,4,3
+??????#???#?? 4,4
+????#?.?.??????#.?. 3,1,1,4,1,1
+?#??#???????? 1,10
+.???#?#??#???##?? 1,7,5
+.???.#???#???? 1,2
+??#???#.?##?#? 3,1,6
+??????#???#? 4,1,1,1
+??#??##??#.#.?#?? 6,1,1,2
+????.??#??.?#.?.? 4,4,2
+.????#???.?#? 5,2
+?.##?#????##???? 6,6
+?#??.#??.???##. 1,3,2
+???#.#?#?#??..??.? 1,1,7,1,1
+.??#?###.?# 7,1
+????..?#?? 1,2,2
+?#???##?##. 1,6
+.#.?.?????????#. 1,3,2,2
+?#?#??.?#???##?? 5,1,4
+?#?.??????????#. 1,2,5
+..??.??????..?#?? 1,1,1,1,4
+??##???#????????. 6,1,1,1,1
+???#?##??????. 5,1
+?#?.?.???? 2,3
+????#????#?##????#?? 1,10,3
+#?##??????? 6,1
+??#???.???#??. 4,2
+??##??#???#???#. 5,6,1
+?...#???????#?.?.?? 1,2,5,1
+???????##?##?#?##??? 1,14,1
+?#???#.??????##?#? 4,1,1,6
+????????##?#. 4,1,2,1
+?#.???????? 1,2,3
+.?.???#?#???#? 1,1,8
+???##??#???.. 5,1,1
+????#??????.?# 2,3,3,2
+?#?????##?? 2,1,5
+??.#???#.???#? 5,3
+??#.?#?#???? 3,3,2
+?.?.#?..#? 1,2,2
+????#.???? 3,1
+?#????????. 3,3
+.????.????.? 3,3,1
+?##.#??#?#???#?? 2,6,1,2
+????##.##????.? 1,4,3,1
+.#.???#???. 1,1,3
+.?????#.??.?? 3,1
+???????#??.# 6,1
+?.??????????#. 4,3
+??#?#?#?#???#???#. 12,1
+?#.??#?#?##?? 2,8
+??.??#??#??.???#??? 1,7,4
+#.????.?.#??? 1,1,1,4
+.?#.?????#??? 2,6,2
+???#??.##?#?#??#???. 2,12
+?????????####?.????? 1,1,7,4
+??.?????????.?.????? 2,1
+??##?#?##.??#? 9,2
+??#.#.?????#.???# 3,1,2,1,1
+???#?????#??##?.?? 2,7
+?#?#?.???..???. 3,1
+#?#.?????? 3,2
+.??#?##???.?.????? 7,1,1,1
+??#?#???.#?. 3,1
+#.?.???????? 1,2,3
+??#??????. 3,2
+.?.??.?#?? 1,1,1
+.??#.#??#?.#.????#?? 1,1,5,1,7
+??????..#.??? 1,1,1,2
+.????????#.??????? 2,3,5
+?.??????##??##????. 1,8,6
+?.?#?#??..##?????# 5,8
+?????#?.?.? 2,1
+??#??##???#?#. 1,1,9
+??#?#??.?#???#?? 4,7
+.??.?#.??#??? 2,4
+?#?????????#???#?#?. 1,1,1,1,1,6
+??????.#??? 5,3
+?????###??.#???? 2,6,4
+?????#?#???? 1,1,5,1
+?.??????#?###? 1,2,1,5
+##??#??.?#???#? 5,1,1,1
+#???#???.?? 1,5
+???.?????#?? 1,8
+???????.?##??#.??# 5,1,3,1,1,1
+?.?.????.#?#???#???? 1,1,1,7,1
+????#???#???#????? 2,1,2,4,1
+??#?????????? 2,1,4
+???#?.#????. 2,4
+?.??#???.##.? 2,2
+?#.#??.??????##?# 1,1,1,7,1
+?..?#?#.??#???.?. 3,4
+????.#???#??#??#??#. 2,1,2,1,2,2
+??????#.##?##?.?.? 1,1,1,6,1
+????????##?#?# 2,1,6
+.#????#.???????? 6,2,3
+#??#???#????##??. 8,1,2,1
+?.?.?????#?#??????#? 1,9,1,1,1
+#???#?..?#??#??.??. 1,4,1,1,1,1
+??##?##.??###????.? 6,7,1
+.?????????? 1,3
+.?????.?#.??#???.. 1,2,5
+.??.???.??? 2,1,1
+???#????#?#??#.#.?? 1,8,1,1,1
+?.???..?.? 1,1
+..??####?#.????#.? 6,3
+?????#????.???#?# 7,1,3
+###..????????##??. 3,8
+??.?#???#???????# 1,2,6,2
+????.???#?..? 3,4
+.???.??#???## 1,8
+???????#?.? 1,2
+?.?###.??? 4,1
+????????.# 4,1
+??????????????. 2,1,1,1,1
+?????????? 1,2,2
+#???.?????.??# 3,1,1,3
+?###??..?##???.?.?# 4,5,1
+???.?##??.?#???#??# 3,3,1,1,4
+.???????????. 1,2,1,1
+????...???. 2,3
+???##.???????? 1,3,2,4
+##?#??.????##????.?? 5,6,1,1
+???#?????##.#.?#? 1,2,5,1,2
+.?.??..???? 2,3
+???.???.??##???.# 2,1,4,1,1
+#????#?#?? 2,5
+?.??.?#?#? 1,1,3
+.?.??#??.??#.????? 1,4,3,1,2
+#.?????.????.??.?. 1,3,1,1,1,1
+???#?#?#.#??#??????# 1,1,3,7,2
+????????.??? 1,1,1,1
+???????#?. 2,2
+.???????..?#??? 1,1,2,1,1
+?.??.?????#???.? 1,1,2,6,1
+????##?????.??? 1,3,1,1,1
+????#???#..??.? 1,4,1,1
+??????#???.?? 5,1
+????.?.?????? 3,1,2,2
+?.??.??.???#????# 1,4,4
+.?????.##?????? 1,2,8
+????.???#???#??? 2,8
+.?????????.???.?.?. 7,2
+?#.?#??#?#???#?.???. 1,1,8,1,1
+???????#??##???#?# 1,2,1,8
+???#?#?.?. 1,4
+.#.?.#??##??? 1,7
+.????????.. 2,3
+???.?#???.???? 1,5,1
+???#?#?????????##?#? 7,6,1
+?#???#?.?#...? 5,1
+????#??.#? 1,2,2
+??#????#??# 2,1,5
+.##??##??#?.. 2,2,2
+#???.???#?.?.#???? 4,1,2,1,1,1
+?##????.?????????.?? 7,1,1,3,1
+??.??.#????? 1,1,2,1
+???#???.???# 1,4,1,1
+?.????#??#??##? 1,1,3,6
+??.??????#.?.?#???? 1,1,1,1,1,4
+??.????.?.#?????? 3,6
+??###??##???#?#? 6,2,5
+??#?.##.?#? 1,2,1
+?..??????.??. 1,4,1
+?#?#??????.??#??? 8,3
+.##?#???????? 7,2
+?.?#.?.#???.. 2,4
+?#??#????#??#?? 2,3,6
+?...???.???#?#??? 2,6
+?##.?????.??? 3,2,2
+??#???.????.#? 4,2,1
+??#????????..#???. 1,4,3,3
+??#..??.?#?. 1,1,3
+?.##????#??#. 3,1,1,1
+???#??.?#??????. 4,6
+?.???#?#??.??#.#?? 1,2,3,3,2
+??#?????.???. 3,1,3
+???##?.?#.?.??? 1,3,2,1,1
+???##??##?????? 1,11
+?#.??#??????. 2,1,1,1
+?..?#????.#??? 6,1,1
+????#???#??#?. 4,4
+.??#?#???#?? 1,1,6
+#?????.??.#?? 1,4,2
+?#???.??????#?.#? 2,2,5,1,2
+??#?##??.? 1,5,1
+??????#?.??? 1,5,1,1
+???.?#????.?##????? 5,4
+??.?#???.??#??? 4,2
+??#?#??#?##?#?.??? 5,6
+??????#??????.. 1,7
+?#?#??#.???.?#? 4,1,3,1
+?##???...#????????## 5,3,5
+??#?#????????????? 1,8,1,3
+??#???????.. 4,2
+????..??????#???? 2,11
+?#.??#?#?????..?#. 1,5,1,1,1
+.#??????#????#.? 2,2,1,1,1
+????????.???.??#??.? 2,1,2,2,5
+?????????.#?##?#?.? 2,6
+?..?.???#???###?? 1,8
+????.??????###???? 2,7
+?#?.??.#???#?### 1,2,1,1,5
+.#????.?#? 3,1,1
+?.??#?#.#?..# 5,1,1
+???...?..????. 1,1
+?.???#?#?#?#.? 6,3
+##..#???#????? 2,1,4,1
+?????##?#?#???#???? 1,15
+??.????#???????? 1,1,6,1
+?.???#?.?????? 5,1,2
+??#?.?.?#?#??.? 3,1,1,1,1
+???#??????????? 2,7
+.????????#???# 7,1,1,1
+?##?#???.???? 2,1,3
+??#??#?#.?????#???. 7,1
+??.????#????#?#?# 1,14
+.????#???#???? 1,6
+##??#?#.?#.#? 7,2,1
+??..?.?##?. 2,2
+??#?#???.#..#.??? 6,1,1,1
+.##?.???.#? 3,1,1
+????#????#?#?? 2,8,1
+.???????????????? 1,3,1,4
+?#????###????????? 4,7,1,1
+#?.?#???.?#?#?#?? 2,1,1,7
+???#????..?? 5,1
+?#.?#?????.?# 1,1,2,1
+??##?#??#??#??.?#?? 9,1,1,2
+##?#?.??#?? 4,2
+..#???#?.??#####?.? 6,5
+??##????#? 3,4
+##.#?#??#??##?.? 2,1,9
+????#??????.?#???#?? 1,8,6,1
+??#??#.?#.?#??.??.?. 5,1,1,1,1,1
+?..#???.???#???? 1,2,1,2,2
+.???#??????????##. 4,2,4
+##??#????.??.??? 2,3,1,1,3
+?????.???##???? 4,5,1
+.?#?????##???# 1,5,1,1
+?#?????#... 3,2
+????????.?#?#?? 1,3,3
+??.??#??..?##? 1,4,4
+?????????#?????? 3,1,6,2
+??????????.#? 1,1,5,2
+????.###????????? 4,10
+???#??..?.??#????? 1,4,1,1,1,1
+?.??##?##???###? 1,12
+?????????? 1,1,1
+???#?.???#? 1,2,3
+?.????#..??? 1,5,1
+????##??..?#?. 1,5,1
+?#?#?#?#?????#?.?. 6,1,1,2,1
+??#??##??#?.??..???? 1,7,2,1
+.????????????# 2,1,1,2
+.#?#??.??#??#? 4,2,2
+??#?#????? 4,3
+????????????##??? 1,1,7
+??.????????? 1,2,1,1
+##??????..????? 5,1,1,3
+.##?#?###???##??? 4,9,1
+#?????.?#..? 2,1,1,1
+#????#????#?.??#.#. 3,6,1,1
+.?#????#?#??????.?#? 2,1,1,5,2
+.????#?#.#???? 7,4
+..#???#????.?#??..?. 1,3,3,1,1,1
+???..??##?#????? 1,9
+?.?.??##?..# 1,2,1
+???###????#??????..? 1,6,1,3,1
+.??.??????.?? 1,4,1
+.??.#.#?.#?. 2,1,1,1
+?.???#??#???.??#?.?? 2,1,4,3,2
+??#??.???#??# 2,1,4
+#?.#??..?? 1,1,1
+??#?#.????????#?. 1,1,1,1,8
+?..?#?.#?##.#??##??? 1,1,4,1,5
+???.???#?? 1,3
+.??#.??#?#????##?#?? 2,13 \ No newline at end of file
diff --git a/aoc2023/src/day14/input.txt b/aoc2023/src/day14/input.txt
new file mode 100644
index 0000000..7263053
--- /dev/null
+++ b/aoc2023/src/day14/input.txt
@@ -0,0 +1,100 @@
+....#.#....O...OO..#..#....OO...#.#..OO#.#O.#.O.#.....O....O......O..........O.....O....#..#O..#O...
+O#....O..#O........O.#...OO....#O...O#.#.....O.....O.O....##...O.O..O.#.O......#....O.O.....###....#
+....#.#O..........O...............O.O..#....#..O#.#.........#..#......#..O..O.OO..O.O#O.OO..O..OO..#
+...#OO....O.......O#.OO#.O#..O#.O..O#OO..#OO.O.#..OO......O...##.....#..O##O.#O.......OO.#......#...
+.#..#.O..#....#O....#O..OO...#O.#..O..#.....O#....OO......OOO#.#.....#..O.##.OO....#...O.#.O#....#O.
+..#.#OO#..#.O..O.#..#O.......O...###......#.#.O..#.O.#...O.....O.O#...OO...#..O..#...O....#....#.O#.
+......OO....OO...#O.......O##..#........#O....O.........#.###..O...O.O........OO#.....O#.#.##......O
+..#....#.#...O...#..##...#O....##..#..#....O..O...O.#.....O.#.......O.OO....#OOOO.#.....O#.#..OOO...
+.O..##.#O...#...O......OOO.......#O.O..#.#....#.....OO.O...OO#.O.O....#.#.............O##....##O##..
+O#..O........#..#...#.....#..#O.#O....###...#....#..#OOO.....O.O###.O..#O...O...##..O....O..O....O.#
+...O....#..O.....O..O...O....#.O...#.#....OO..O.##....#.OO..O...##....#..#OOO.#O#...O#O#.....#..OO..
+.....#.##.#..OO..#..#O#O#OO.O......O....#.O..##O....#..#..#...O#O.#.O..O....O.......##.O#...O..#...#
+.....OO.....#.....OO........#.OOO.O.#OO......#.#....#....#.##..O..###.....#....O.O.......OO.OO.#.#..
+#.............OO......OO.OO#.#...#.##.......#.#..O#..#.O.#.....#.O..O...O.O........#O..O..O..O....#.
+O..O.O..OO#O...OO...O...#.O....#...O...O#...#.........O...#.#OO..OO..O.O........#OO.##.O#..O......OO
+..##.##.O.##O.O...O.OO#...........#O...O..O..#O...........#.#.###.#.#.O.O....##..#.O.OO...#.....O#..
+....O......OO.O..#.......O..O.#.#O....O..O.#....O..##.O#...#..O#.#.##..O...#O...#.O.....#.O...O#....
+.#.O.O.#....##...#..##..#.#.O.#..O.....#..##..#..O.......#....O......O.O.........OO.#...#.#O...O.O.O
+....O#..#....OO#..OO.OO.O..#OO#.O.......#OO.#O..O.#..#..#OO...O.....#...O........#..#..O...O..O.O#..
+#.O..........OO#O...........OO....##.#.O.....OOO.#.......#.......O...#..OO....#....#.......O.O....#.
+..O#......O.OO......O##......O#O....#OO...#.OO....OO#.O#.O.#O..O.....O......O.....#.#O...#OO#..O.#O.
+.#...#OOO...O....O...OO..#OO.#.O.OO.O.O.O.O...#..O.....O.#O#.O.O.....O##...#....O##.#.O....#..O...OO
+...........#..........O#...#.....O#..O.....#O.O.....O.O..O.#.OO.O...O#......O....O#......OO..O.O..#.
+#..#.OO..#.O.##O.O..#....#O#O#..#...#OO..O....O...O..##....OOO.....O#..O..##O..O.O##.OO..#.........O
+O.O.##......#...#O.##.#.OO..O....O.O.O#..O..####........O......O....O.......O#.....O.O.#.O#.O.#OO#..
+.....OO.#..OO..O..O.#.#....#..OO..OO.....O#......O.#.#........#...........#....#......O....O..OO.#.O
+O##..O.#...OO#..#..##O...O##.#O##.O.........O...OO#..O.#.....#O.#.O.....#...##..#O.#...OO.#O.#.#.#..
+...#..O..O....OOOOO..#..#OO..O.#...#....#...O........#.#........O.....O..O....OOO.....#.O..##..O.##O
+.O.#O.....#O.O#...#..#.OOO.O#.O....#.O...........#.....#...#...O....O.#...O..#...O#.......O..O......
+..........O##...O....##.....O..#.......##.....#..##.#O....#..O..##O...OO...O.....#.O..#..###O.##..O#
+..###O.O.#.#O....O#.##..O.#..##.##O.O.#..O#.#.O#.O.##...O.......#...O.#.......#..##.O...#..O....O.O.
+...O..O#.##O.....O.O.#O..O#.O##.O.#....O#.#O.O..#......#..###.O#O.##.........O...O...O#....O........
+.O....O.#....#.OO#..#O...#.......#......OOO.#OO.O#.#.O......#O#OO..#O.O..#..#.O.............O#.OO#.#
+#O.O.....#.O.O#...OO.......O...O..O.#..........O......O.O..#O.#.......O..#O#...O...OO.#..#.#...#...O
+.....#....#.....#O..O...O...#.....#OO....#..#O.O.#OO..#.O.O#...#.O.O..#..#..#OO#..#..#..O...#..O#..O
+....O..OOO.##...#.O#......#O.O.O....#O..#.O..#........O#.O...O........#O#O..#..#.O...O.##.O.O.....O#
+.O..O#.O..#.....###..#......#OO..........O.#.O#..OOO.###.....#..OO.#O...O...OOOO...O.........O......
+O...O.........O......OO...#..O.##..#..#..O.....O..O.........O.O..OO....#..O.#..##OO#.#....#.###.....
+.OO.O.#......#.O.......##..O.O.O#..O.OO...O#..#.......#.........OO#.....#..O..O...O.O....#.O..O#....
+O...#..O.OO..O.#.O...#.......#.O.O.O.....#.....O..OOO#...O.#O.O#..O...O#...........O#..O........O...
+O#O.#O..#.......#..O.#..#....#..O..#..O.#......O.OO.O.....#.O.#....O.#.......O......O#.O...#.#.#.O..
+..O#O.OO..#......#.#.#....#..#...#..O.#..#O.O.......O.##...O.O.O.#O...O.O.O##O..#..O...O..OO.#..#.#.
+...O.#.....#O...O....O....O....OO..........O.O#O.O.O###...##O.#O...#O.#.OO...#..#..O##...O......#...
+.##.##..O..O#...#O...OO.#...O..##....O....#.OO...#O.O..#..O.#.....O.O.#.##O..O..O.O.......O...O...#.
+O.OO.O.##.O..##OO.............#.....O....#O..O#...#.##.#.#.........OO..OO..O....OO.#O.O..O..........
+#..O.O....OO..O..#...O.....O.#.O#.O.#.#OO#......O.O..O.O...#.OO.#.O#..#O.#..OO.#..#.##.....#OO...OO.
+..OO##.#........OOO..O.##....O.O#...OOO......O...O..O.#......#.O...O.#..O.O..O.O..O.O...#O.....OO.#O
+O..#..O.#.O...#OO##......O.O.....#O.#O#O.#..#..#.OO..#.O##......O.#O....#.....#...#...O#...O.O....#.
+O.........O#O#.#.#......#.O##.O.O#......O.#...OO....#...#..#O#.OO#.###.O.#.#..O..#..#OOO#O#.O...#O.#
+.O#.O....O..OO..OO#...#O........O.OO.O#O##.O#O#....#...#O#........#.#O.O#..#..O##..##.........#.O##.
+...##...O.#O.##....#.....O....#..OO..O...#.O.O......OO#..O#..#####.#O..#.#....O.#...O...........#O..
+.O.#.O..OO.O...#.#....#...O#....#O..#O.#.O.O.O..#..O#.O...O..O.O#O.....O......#O......#O..#.#O.O..OO
+......#........O.#O.OO.#...O...##.....#......OO...#O#OO..OOO....#......#..##..#.O...OOOO.#....O...#.
+O...#O..OO.....OO.OOOOO#.O....#...#...O..#..#O....##.OO.#OO.OO..#O..#O.O#.OOO.............#OOO....##
+.#.O.O..O.....#..#....#...OO...#...OO.#........O.O....##..........#.#O...OO###OOO..#...#..OOO..O..O#
+O#...OO..O.#........##......#O....#.........#....O#.#....#..O...O#..O.#......OOO.#....O..OO...O##.OO
+....#O#.O..O.O..#O.O#....O.#.O...OO...O..OOO..O.O.O#.#...#.......O.O..#....O...#O.##.....#.#O#.OOO#.
+.O###...#...OO.O.....O.....#..OOO.##O....OO.O.............O......O..#.O..#....#..#...#..#O..O...#OO.
+...O...#..........#.O..O.........O.O.....#..#....O#O...#.O.#OO.##O...OO..........#O..#....#O....O...
+..O..O.#.....O#O..#O##O.#O.O##.#.....O.O.O.#.O.....OO..OOO.O#.OO.#...O..O...#.O.OO#..OO.#..OO####OO.
+O.......O#..O.O.#.#...O.OOO...#O....#O.O.O.O...#......O.##...#........#..#..#.#.O##..O.OO.#O..O.....
+..O..OO..#....O..OO.#.##....#.......#..#.#..O#..#.#OO#..........#O#O...O.OO...O..#....O...#.......O.
+....#.#.#O..O........#.O#.O#..#.......#.#...##OOOOO.OO.O#..#....OO..OOO.O......O.........#..OO.O.#.O
+O...O.....#O###..O.OO.O...O...#...#O.....OO...#.....O.O.O..#...O.O..#O..O.O.#...#O.O..#..O....#OO..#
+...#..#......#.O#....#O#.O....O..O..O..O....O...#..#O..#.....#...O.....OOO..OO.#O#.......#.O...OOOOO
+OOO#.O.O.#O....O..#...O..O#O..O#...#...#..O#..O..O.O#......O...#O..O#.O...#.O.#...O...OO.#....O.....
+O..#O...O#..#...O.#.O......#.#..#.O...##.O..#O...O#.#.O.....O...OO.OOO.O.#..#.O....##.#.#O..OO...#OO
+...O.O..O.OO.O..O.OOO.O#.#..O.....OO#..OOO.#.#....O.#O.#.O.OO....O..#..O#O###OO#.......##........#..
+#...#..O.###.O.#O......OO#......O.O..#O......OO.O.#....#....O...OO##OO#O...O.........O#OOO..........
+..O.O..............O.....OOOO#.OO..O#..O.###.O..O.#.O.O.....O.#O.OOO..OO#..OO.#.....#.......O#...O..
+O...#.OOO....OO......O..O......O.....O....O..#O..#.O.............O.#..............#....#O....#O#O...
+.OO.OOO.........OOO#.OO....#...#....OO...O..O.....#...#O..#O.O.#.O.#O......O.O.O#..O.O.#...#O....O#.
+O.....#OO......#.#..OO.O.##O#......#......O..#...#O#..#O..O..#.........O..##.O..##O.#.#.O.#..OOO#..O
+...O....#..#....OO.O.##...OO#.O##..........##.#..OO.#..O#.#.O..#...O..#..O..#....O..#....O..#.###O..
+.O....O...O#....O#O..O..OO...#O.O.....#...#.......#...##.O..#...#.....O......O..##...##......O.#...O
+O#.O#OO.O.#O.#.#O..#.O..O..#O#O.#O...........O#.O...O...O....O......O.OO......O..O##..O....OO#...##O
+..O..O.OOO....#O#..O#...#.O....#....#O..O#..##.O.....O.O#O..O.....##...#..#............#....O.O.#.O#
+.....O.#..O..#.OO.....O...O..#.......O....#.##.O#O....O.O...#.OO....##O....O....#OO#O.......O#..#O.O
+#O.O.#......#.O....O....#..O##......O.#.#....#OO.....O.OOO...#.O.....O#.O.O#..O#..#.....#.OO...OO.O.
+..#O........O.O.O.O.....O..#...O.O.#O.OO....O...#.......##...O.......OO.#O.O.O..O.##...O.O#..##..#O.
+O#O....O.O.O#.###O...#.....O..#....#.#.O.....O..####.O.O..#..OO.#..O....##..#O.##.....O...O.....OO..
+#...OO.#.#.#...O.#O....#O#.............###.O..O.O.O.#...##O..O#...OO#OO.....###.O..#.#...O.....O..O.
+.O.OO#..O..OO#.O#.O..##....O#...O...O....OO.....#.#O.....O......O##......#....#..#......O##.#....#O#
+.#O#O..#....##.OO.............O..##....O......#.........#.......#O..O##....#.....#..#......#O.OOO...
+.O.O#OO..#..........O.#O.OO......##....#..O###O..OO..O..O.##O..#.......#..O..#..#.#......O...#....#.
+.#.O....OO.O....#O..OOO.#....O.....OO..O..O...O...#..O....O......O...........#.O.....#...##..O.O#.OO
+.O.O..O#O.OO..OO#.OO.#O.....O...#.OOO....O#......O.OO..#.#..O.....#..O.O#O.O#..O##O..O....O....O....
+..OO......#..#O...OO..O.#..#O##....O..#.#.O...O..#O....#.O.....OO.O.OO...OO...O#.O.....OOO...#....#.
+#OO..#.....#OO...O.......O....#...O...O.#O....O....O....#.......O....#..O.....#....OO.##.OO#O.O#....
+#..#O....O#...#.#OO..............#OO#OO#.O....O..OO.O.O#...O...#..#O.#.......O....#O..#..#O.....##O.
+...#.....#.#..#OOOO..O.O#O..O..#..O..O.............OO...#.....#O.OO..#..#.....OO.....#O....#..O#....
+...O.#.O.#O.O.O##..O..O.O......O#O##...........O..#..#...........O.O.O...O..#.....OO.O.......#O.....
+#.O#O.....#O......O#.......OO.O.O..#..#..#O....#......#.O..O..#O#.###.#..#..#...O.OO....#.#O#..O...#
+#..O..#.O.O......#...#......#..#......O...O..#....O#.O.O..O...O..#..#O.OOO..O...#.......O..OO.O....#
+...O..OO#O..#....#....###O...O#.#OO..O...O....O#.#....#.O......#..#...#..#.O......O..O...#.O....#.O.
+OO..#..O##.O..O...O..#O....#....#.O.O....O#....OO.#.OO..O..OO..O#...O....OO..#.OOOO.#..O.O.....#..##
+.OO.O....O...O#O.....##....O..#O##....O.....##....O.#..#O#O.OOOO..O..O.O.......OO..O.#....O.....O..O
+.O.O..O#..#OO..O.O.....OO..OO..##.#..O...........#.O..#.O.#...O...O..OOO..O.#O.#....O.#.OO..O#......
+..O#..O#.O...##..#.#.###....O#..O.O##.O.#.O....OO.#..O.OO.#....O..O#O.#...##...OO#.OO..O.....#.....O
+...#OO#.......O.O.##...#O..O#.O#O#..OO..O..O#O..O.#.OO#.....#.....O...O.O.....#O#.OO.O...O.O#..#O..# \ No newline at end of file
diff --git a/aoc2023/src/day17/input.txt b/aoc2023/src/day17/input.txt
new file mode 100644
index 0000000..04d0721
--- /dev/null
+++ b/aoc2023/src/day17/input.txt
@@ -0,0 +1,141 @@
+111143231245512453233532231135242346643223434366453543664553534426223663625563233556655232522464453223446255523366641115221525545241115541324
+431121345255453245532513346436354562424226665435625542452543534236556535432235356366222264336444256255334564563564226352335454152333342425531
+211555234333213145543413562433332533444634432342622623343343455746676435745474465524463464332524462636562533446346254251543254415111115352424
+341511535443122253134546264233423566232562433526456565542774357646735536654673474477533643232255236632236625425666662645545552141115242422515
+341111243411143233254353542425566625642433362644332467546476655667755374563574564666444577323426235362444224643634223545235541134121215423153
+531254335432123321511666236453536252626542365563233477476436375343677375447543535337476464737335222455333555262365434346341345121543421555545
+352535514521514111243342542545234362225656644366655563365373766737565463557476566764463743673533232534423432654354532444434614515232111523231
+534444213321253145553225546453244552566243427573456456543553566474735356663557433377547454546773337365265654362565366242546625513555231514252
+323313551435534512622225362562263434433225636635664736767633535463645434646666633445555455344676663776363645426625355443264235342154354541551
+313344353445542136265245463656643456254675743474744556363764667356336334435764645543447755363434777747562523535253545462232443334115422245343
+411545355323353632256366354543644422255357345374367446347554465766367637555443653555375756736537575763375343236242446526465226534224412555332
+533131433141412662643523326542423234474465776365555735754776645376734774677646654667473753373634447774446536352326333564334433362123135411531
+512414542555163643526524526245525623733466554345447435364657576457576376563367444354735757756765547755635545232536536433564236626315454145425
+222144425355524633235543562342566454344764575745367646565574575636547773457356646456657637437547666745757773472565443652346664466335313555551
+425225555322663532264234233335563664747574765576347743444637647676737567333767356736363333744734647436646746476523664454633653546545122514442
+433432345135556643645433433353363575647663645376464776466577573557373364773353335555374554433464633534445576673653325425446624523422432115313
+331554441535436542646663554246654555367643355653745635636355676647567487764456667645455574637564434547453345476356634245324255236624234322155
+412551332642256525656556644673435575337544534765547457535765745875846744677848864748453556456475334367766655534547433255523464263563352324545
+443534155643554356242335334673736746664536333346353556577644664845484655676855576588488476647745635435535753465654355645265546422335564424541
+325113645335432555665355233555675344354467477467666744857886746774544874557756677867665777554343734443655754353756656432453432656526442431243
+435351452355523445664565747636637443475667333666457866648755647865645478687666547687547448455776553463657435344656637472443446523245236631254
+412143553424345325232454645555356743366537373758877467577647678654487674848784877787468644447756553677573465574353736576542332442522366564144
+431363252452364445356544557475337767655336557686768756474568654665465464884556855744876886546758447344734334637754557774553226363256242242651
+554256445333463534225356746736736743336763377746888675584476754588545785578747858657577787754874858864355637365443444365474546636352256656323
+425454462356554263636434334444466455765534574648745458464655777887654744458644875776467657545757755464375636667554445537457232633344456335351
+322453463334656455234546433475533746373377467777858787845857478676767845586566768464584884875677444488543533447537536376643424666645653654426
+432326546526255522353556547373665657473456445577748547665675868677547547785865454645454554774845748574876563377757437467553465624365666252336
+553526552222562635473565556657553364657548886884887656456865855666787554686645654858555566768654648745854464677634735446546732553642463664265
+664326265443345443746744735336634755665574447844755544578487644586454874856778477455686458576478578547554484667445666574665353445232224622335
+236532234245355276756476464355554554458887564887776455877644448447886868476548867546888764476866776558545547574453545467364757744326636223642
+632462455662552665443463346747745775658756746854568758745668675885889865596789855788675844755468675857556885843566367733464537666322366344223
+266666434363243576375767356665666877464755765578746575486748669688797696588866786698768646566485868545858886667435664777734463342523665555235
+443556525665656734577633335664448556655454678484454777545656666779696855688567966656964658877444685858567566545447466467443774467266252546652
+624455255224344733376335533753476658646544876564465586875955788776686876776867985856986576866568765548476654745754674775433435367623356456444
+262555462622446474437456377453868684444668468464476655987967866795876695585957798678969855857886488747765845586764675544766563666356435634332
+665624325625734563547365736536784556858567746767459867695988595777767769865658796865788965789678867667866557578674565534645577447432435556524
+333523334637534573776476636576557488766777764446687995988678876956786678875775556987997957898658565656667557575548444354657655335367544525324
+456466363423657475573575435664578688587455448765669969578697785989658879886787878568857799889578874487556756544556443334633446546536443652664
+222244452574756367757776634686545577855644575756668896567598879867997957659885755779787658957586658876446588645487856454536434636745444545545
+232636356457556536556365668745444488466474574987976697975796699686796855588666956768955895958675868455454458767755755376733663633374544556332
+332332622576377345736534646747554866678866788995569677878555787567775875779596796566579977885676656586446765845854744577365444454343372523366
+555664262474645377674577674647867577478684688557896658796655557657577765775656667969779597586797679965585456677454664556665646757366673426233
+356255527734373436547644678865777848585857997655679875687575776559878678858588867877856678657789789868858554664844468646634734744447367636636
+552366365773455644547347758554786677468775568778877797978995878598699565857955898857969565997667878757554646688678786867367546447363537255433
+234653475644663446373734847876648467867886788586887579567587799999866977967976866766799575567556897979657666685654448547664746376435346465542
+252443375445565446367565867885578575654575966679888956889877897698678786876967769856955595897679599865976488848485865647735437666446344436434
+243525237374773653566366744564464668675869676798668978579668697966669789967787689668989669967785588576658588654658478886653675446657763525423
+562444777554463656777574486488654468576556956965987679867969676669986697889777667866868559769957958968686745774765777755575354754635335676536
+264352744565456657667484888447847467598998779789689696779679766996889786776689888878996777588978666887977978585445584446655336663435446574336
+463534645476375645554684778858555786676885996565697889699888899766678879678998899799887896956567777585869788585685647484757343657653773563665
+432465634665435774545666885858845649887698657968779889688769778768696698686869888977969768555995578977568967465456666555784577674443567347654
+242537757554573534676885677655767659695959757675998797988778888678799667799866896879686987675557878578887699478448447774787663353534367754553
+524667356567664767788788786864867869567798856688887886998887976986998886686668767699776989677585877675977659745685675557555653563563733554246
+532356647776353655754665854564646466686577777586598677698878676969777768866697689778788897669979897577868888984565784456765466355374543736764
+353546744764545745656756586777658658697565657989587766697669768667797768668968778798869989666758756995866965667844757477467833575363475573665
+442363475553366336665585574875754767958869656955766897687769989798869789778887686787686676968967586798766967684684745655757855634753733757752
+663437377653673574868444644474888676596699778559668686678686966786679878697997667998668668679678775566688577957447548475848855753337766577654
+245676667643445744476584585486889868856958677757876786686678679686978889886998888999768868796876597559998755655765588557465675655453656434644
+623664534334746636755767677464487956975558566697767697896988988986888777988897867888887969667768658555778858798767857588765444464637377577456
+524435763477353755875846887578787556979997766576796978767969777889977779899788987687978888689776897659786666856748548645756774746364367376634
+252436533765577358467857485675499965699779976868778779896779686779787987877779796678799678678799677596566778799678664684774444556767456547463
+425573537536465645667877564778768875796687778666777866678866888788777997889889889698977679979667875765578958585784474754466784455733343567735
+464333643643774675646874764777889966956967776676876886799688979878878778878789889986887997868689965998667998898957544586884784556635746634644
+467634766367575447675444786885857898689798675679979967666789787898898779879998789996988787997866879557586768558865648756677648655653544434374
+343746456733555668756758766647798687656987598967767769799669777877779899879877997887788976797777786786686766555655656558576555537543536634463
+263736676335556377774776475777798578965889979797877679967769989798889889987997789799998866789986877778878665966865757677884784553474773577764
+436645433455747776854766587748677575858967897999889678767678779989877889979988889997876876767987687678559995869785556756658784533445456534364
+457333367374443446568888867558968899899755558786887989669778779799789777789789877797786878778769899759866986568874778856465478635343345547556
+653357365735437544784775777648977566996787598779866797796688878798979898888979997778969666688778767767968675685577484857666844654735677553374
+454465553543537354546566487886759755777886869789896779676678877997997979878787978898769888779699678677788756997994554564684577435566665665735
+645535635654537444576458775888989557678676898899899898879778777789998888888977799999876678677779969957869757677687688584466575575557463464574
+633446673336665785786556488457569967799656676688968667697989989999998988788999877898996869789799978989768599766594875486774675764367566653437
+365763544374353687774557856867888579757898686969676796986689878797978997979877977999799987889766778769957988885866744454548487444537747767446
+333636755475457746774775664885768689998686877878978686686998999898899898989888977798768997778786769665986876885655876855777745646444453543776
+257347366566556755557468747484878859559855958778679799887889887788997889779777777788977698668899997569799999896694654866676457747663766657374
+554664657744433558785576687586858965859676988969678669886988889998798779998998788898786688897788767697957657558568566856664764845635356777743
+437633353637643445485457545565887558959759869766978967769977997997797798898879888977777798877668879696986885979575658888674584733534445447645
+336773576566535576644748576564988895569965579877899669988897888788798979797979977997979687769689677585858655985875545766888476856753753775643
+447375436754766447678756554674875656886886797769889788989967878998987877797878888989798769897678795698885689978868887845785867854575334643545
+533774774334356485744844667888778799675896759697877967979877898888989779897787899796896869887878898896679879895846474568577556875467653377434
+526636647656677568754477458676456866878885686668989676699978797889989979777797888789689887999898765668796877998956878884644777453766767665573
+345776437655574577556784475666467865969688769689967879888899898787979977987989787869968767788798958965676985977558887786764565334636477577473
+462757555367744435776477675765555899756777555889787899796876786789979777799889999696968778897788975596967795797586768684467474533464663474556
+345335634367663334474446748788558686895898855886668998998877799988977999887787778696789977998687999799569767555576845465465587544735477547753
+352747473367547538454567786546446657585759898569988897798777688798687998988998969877688876686969789765886558558776665847888845556554375745442
+525653575563555774887556547555749798556987599756797867867689696667867966889689666776786689697968958698665787755764558846666855575573747534345
+326455665753733645448778877747875897567979969887898786977796667699978788696867677769979676996787658598765877957588784457484655764635365737434
+532467433765464655746576865775654596585859789697688867896988996977778898788669689878989769996769668658678679877544854467444775477564333674625
+335554544454457654447885484444866987787685589987766897996999779767969767678887676699997786677685669976768778997556877487444743767346766557456
+266536345774333444487446686656585797768599588595599776878699669999678767879886989896988777767965756768698777544665754856565457554453756356643
+342464363736646775655856546787754867795697769679858888796987869768899868797687697688878796789895765557688688985446585777584467466735366644363
+523237467646754656468466848574555667758689797896579777988779889977689668778896667696797676667785685755986597446645664545687753465567453354335
+323327756536477335755748475656576547887995887876985968976869696887779786776968996997867687879755599699567657755468776866885345435457655334225
+465352366554666376467456666544455546795667757799755996999978667976979767898877678768888758985566989859967794845764466677657453363336553674426
+555533553546357444765675856588657557878975766698966577867797677999988677666767968786787775798789997676876774564485686564547464355336356456634
+653433475335664753473446858774765764677666859687678977599767969767797969796977878998788799568865956576659644565846455864883376645435553556424
+565624333374353367374378478655648748848595599966858998869589999997986786677787987969558898667876766679797576857877576788664777573454645755524
+243444333564746346366668646545674655784777777596558976769676598668789667999889879766877787867797657978894768877458688756477776644647454654652
+323463545665546577475645558786854468657757569879597766865559566996799678799877666898856695986577997898647684875678677855454775654547364424426
+444345546665673463753634768476874774848587769865579789687878579978877559996587865859858789976885557859466565567686888557474764574774566345235
+463425647566774574744333678886747686865457799567576858589676667856577976986668978996686799577977886677544648876855645547444577633464636553523
+525644666573444644576675468484675575784565795957567577578956797786787796869877557895769667588675596744747766568788564546563666667763666225253
+434232334334645346434743378448585848667846577675678568857556598869978967698795766555887989895656586784848574867846777433673543643643345636354
+536245546237555656364544635858554588856888685777969769765876857989857999778897756695765797865577585676877858667674464376646773636576723344236
+563432433237543453765335674454676568784657684785679757868567556875775895977656667977959855575979944776757767668868556665477773367647645655455
+345662256237647446335653655474847777777457855878575955988896666669879768598869889768857697696556455457585858777745474363376763373677455666452
+236454255236363665663365567376855855468585857577666775857999657659868999786755866568579898667756458558654648847578447446356744353365436332433
+236656544552467767567677567448876458465585754786588555756756796978557899579678886778787886777445766574578586476464377437556375345344545245426
+662325463226374566436333654547585676688868454444785599797776865969998677956976597586658865956686866776584577484553367473533563564746536336443
+645354345344537355546665737533754846786764888785557644675696956878965869566966978688779976776866567854756646786873676654337473445524622236626
+233264254235366666736346437575764477565768544667785545578799879958588586787879788669995878745846576785646778646655574347764645533625345535563
+432433242246235746473543477553563665775475774755874587665558965695658699586897695998868747444878848474546545784334377573356763473236426645266
+243532622522636755753437535657447776765475565645845684687588454765579856966696756574665577485786546848546585774336373636476643336442355233566
+424366665443243666567346434354557355888674468846456668847655454648844584447647747545884765768788475648857654773677576566637647654653266642645
+355566553355543667644766357475663334576684855756856557474768868686854785488845464657775755684775878866867574456477457355345767654443322524456
+252226355555353432774774553656764464764766745687577646548754448444648855656476668476765857676478568588685475446655746336375532535436262246655
+124465325536222534633336746764356663557877585584548488677874547445477547864878867577864565556567445544564676546443567455743324244266455364265
+444646453636346242245546654333667346776464746865665867844474866746647865554675844644775465548557754474556375345735665646364353323526625624235
+412366252635624522466346354375765373635554864778855885678875757885648677787758444554675487467557768856743453437365564667776246434655322223525
+155662534242554334526573346673376775437747347484686774778445745547688488858484846876546748684767564753677657367475756735363326425522532252354
+111522322233565252443476336555573575463347454766857665787786477486485455577564475876657687767758584655535533636353747434645522266562523335624
+542422536235454325532645676434563747567556555574458874646877684645545674855674568675844866465685676443356746355677555555666633655263646665442
+211224626424363426643222663657775566775366634363464577678645547647756688757557454788857466767766573445336567467663545634344363446256343542532
+524353365435226556556322567464746534674443466757337368478575456847447776487687768855745786663475737763753364433366577364223462546556234245115
+351231443465264363362336352643774674346454366777533445747664448478677857785488484766644654674764373357565474433475733244565424353322356533151
+554223355636366655362352555655373675564737667663367637476378475656775876558465484467733734736556746773634646373557532336625245362343245314352
+415315224565323443623244633253477545773643635677437734464354663476745457476448456747555563574755374344343366743744432254533234544233652442452
+155321252324634365262226535534446766435373535475553354733776334766573455373756333733573667436757467643766753335642442322554323423224452212311
+554231145244425252354633334356244765663464645674467736446536735636374435547767747353673645457676564473344375654424643234566252323463342424331
+145124531215355646265623243325355765435544464565637674665536435365374465373674364755336673456445565567547775765322264364462642335223541214445
+245544533254142563235523522653435334444477535443567574737475663654776577746444777346766467745333753447653577332363336365532325543231234334451
+251214311244114545554462446423624626676363375354453335776637374775465676343453547674544736356577777464764476336235452444566243644313151353524
+251353112524455635524245344436546325534376365643536356555677555675344355745373347466346575334347466467665642344265334364324562252124525455152
+454211332313421263343625436544345634543275377555633667545444553367537367674333374344744754673653556564665546434666555266442463652431455221541
+115242354251513424524244565345324542344352356476443353667354646467467637463545337377445445357757536673532523352342633456335464421222514545231
+234551552324343221533222663526446236435634463664377555475474346673535434445744753657775466665644563245222634266653436345463353354354144115325
+325412113545232114263462446356336532466543425623356673677337363765363633556375433575757664356773345344465345555625252465465324322523535532422
+533444522324551243515564322652262342524325235554667764445446656633535736363765574763563335776423624463325533625243355442245443123534323312511
+334123531454531311142443565534562563644542436563665634765457377675756443636777543663643633363324553544365344443234345365224343523341515544422
+425513541335541443232314324425223643632666545263242622235765443475754557635364446664563322663626426463256624543536634556155552222222255121512
+443141524454451431355221565364643463663664635262463364522342652467643777543675336434624463452333536354565653344664465611411152424331223125543 \ No newline at end of file
diff --git a/aoc2023/src/day2/input.txt b/aoc2023/src/day2/input.txt
new file mode 100644
index 0000000..34a6672
--- /dev/null
+++ b/aoc2023/src/day2/input.txt
@@ -0,0 +1,100 @@
+Game 1: 1 green, 4 blue; 1 blue, 2 green, 1 red; 1 red, 1 green, 2 blue; 1 green, 1 red; 1 green; 1 green, 1 blue, 1 red
+Game 2: 2 blue, 2 red, 6 green; 1 red, 6 green, 7 blue; 10 green, 8 blue, 1 red; 2 green, 18 blue, 2 red; 14 blue, 3 green, 1 red; 8 green, 1 red, 9 blue
+Game 3: 6 green, 5 blue, 9 red; 4 blue, 1 green, 13 red; 9 green, 14 red, 1 blue
+Game 4: 14 green, 3 blue, 16 red; 20 red; 4 green, 2 red, 1 blue; 10 blue, 11 green, 18 red; 3 red, 3 blue, 6 green; 2 green, 18 red, 9 blue
+Game 5: 5 green, 4 blue; 1 red, 3 blue, 2 green; 4 green, 2 red, 15 blue; 11 blue, 8 green, 4 red; 4 red, 3 green; 4 red, 3 green, 7 blue
+Game 6: 6 blue, 10 green; 2 red, 6 green, 2 blue; 4 red, 4 blue, 1 green; 2 blue, 7 green, 2 red
+Game 7: 14 green, 3 red, 2 blue; 5 blue, 3 green, 2 red; 1 green, 3 blue
+Game 8: 7 red; 3 blue, 9 red, 1 green; 5 green, 5 blue, 7 red; 1 red, 2 blue
+Game 9: 3 green, 4 blue, 1 red; 3 blue, 12 green, 18 red; 7 green, 9 red, 8 blue; 2 blue, 10 red, 12 green; 4 blue, 1 red, 1 green; 4 blue, 6 green, 6 red
+Game 10: 2 blue, 4 green, 2 red; 7 green, 4 red; 5 red, 8 green
+Game 11: 1 blue, 10 green, 15 red; 1 blue, 2 green, 2 red; 5 green, 10 blue, 8 red; 13 red, 7 blue; 1 red, 9 green, 4 blue; 9 blue, 9 red, 8 green
+Game 12: 1 green, 10 red, 3 blue; 14 red, 1 green, 4 blue; 6 red, 3 green, 12 blue; 13 blue, 1 green, 18 red; 4 green, 14 red, 7 blue
+Game 13: 1 red, 3 green; 2 green, 1 red, 5 blue; 1 blue; 1 green, 7 blue, 1 red; 1 red, 2 green, 7 blue
+Game 14: 7 blue, 9 red, 1 green; 8 red, 2 blue; 11 red, 18 blue, 4 green; 2 blue, 3 green, 1 red; 1 green, 8 red, 9 blue; 2 blue, 8 red, 1 green
+Game 15: 8 blue, 3 green, 15 red; 13 red, 10 blue; 2 red
+Game 16: 1 green, 1 red; 1 blue, 2 green, 2 red; 1 blue, 4 red, 1 green; 3 green; 2 blue, 3 green, 4 red
+Game 17: 1 green, 3 red, 14 blue; 1 red, 2 blue, 2 green; 3 red
+Game 18: 1 red, 2 green, 8 blue; 2 blue, 14 red; 4 blue, 2 red, 2 green; 6 red
+Game 19: 2 red, 11 blue, 18 green; 3 red, 6 green, 3 blue; 7 green, 1 red, 10 blue
+Game 20: 10 red, 1 blue, 4 green; 4 green, 3 blue; 10 green, 13 red, 4 blue; 2 red, 7 green; 4 red, 3 blue, 5 green; 13 red, 1 green, 4 blue
+Game 21: 20 red, 4 green, 5 blue; 10 red, 11 green, 4 blue; 1 red, 8 blue, 14 green; 11 green, 8 blue, 15 red; 8 blue, 2 green, 13 red
+Game 22: 2 red, 11 blue, 4 green; 1 blue, 3 red, 6 green; 6 green, 1 red, 1 blue; 4 green, 7 blue, 3 red; 11 blue, 6 green, 4 red
+Game 23: 6 green, 3 red, 1 blue; 17 green, 11 red; 1 red, 2 blue, 13 green; 13 green, 19 red
+Game 24: 1 blue; 12 red, 1 blue; 1 red; 12 red, 1 green, 1 blue; 11 red, 1 blue; 12 red, 1 green
+Game 25: 12 blue, 6 red, 3 green; 8 green, 14 blue; 11 green, 5 blue, 6 red; 4 red, 12 blue, 8 green
+Game 26: 15 red, 13 green, 9 blue; 9 blue, 8 green, 7 red; 2 green, 6 red, 3 blue; 1 blue, 7 red, 3 green; 13 blue, 4 green, 18 red
+Game 27: 9 blue, 5 red; 15 red, 12 blue, 3 green; 12 red, 12 blue, 1 green
+Game 28: 18 red, 4 green; 4 green, 6 red; 1 blue, 6 green, 19 red; 9 green, 17 red; 4 green, 5 blue, 18 red
+Game 29: 7 green, 6 red, 6 blue; 6 blue, 19 red, 4 green; 4 green, 4 blue, 13 red; 5 blue, 15 red, 10 green; 2 green, 6 blue, 5 red; 8 red, 10 green, 6 blue
+Game 30: 1 green, 13 red, 12 blue; 1 red, 2 blue; 11 blue, 1 red, 1 green
+Game 31: 8 green, 18 blue, 17 red; 4 red, 8 green, 6 blue; 9 blue, 7 green; 3 green, 1 blue, 12 red; 5 red, 10 blue, 11 green
+Game 32: 17 red, 17 green, 7 blue; 18 red, 16 green; 1 blue
+Game 33: 16 blue, 3 red; 9 blue, 1 red, 2 green; 3 green, 7 blue; 1 green, 4 red; 3 green, 1 red, 8 blue; 5 blue
+Game 34: 5 blue, 8 red, 1 green; 9 red, 10 blue, 7 green; 1 green, 14 blue; 8 blue, 4 red, 10 green; 15 blue, 8 green, 7 red; 2 red, 6 green, 3 blue
+Game 35: 13 red, 9 blue; 7 blue, 16 red, 10 green; 4 red, 6 blue; 3 blue, 12 green, 7 red; 8 blue, 6 red; 10 blue, 3 green, 2 red
+Game 36: 1 blue, 9 red, 2 green; 11 red, 3 blue, 2 green; 2 green, 6 red; 8 green, 11 red, 3 blue; 4 green, 7 blue, 11 red; 9 green, 8 red, 2 blue
+Game 37: 8 green, 3 blue, 4 red; 14 blue, 10 green, 3 red; 19 green, 2 blue, 7 red
+Game 38: 2 green, 3 red, 3 blue; 3 green, 9 red; 13 blue, 8 red; 6 red, 5 green, 13 blue
+Game 39: 8 red, 5 blue; 4 green, 5 blue, 3 red; 18 red, 2 green, 6 blue; 2 green, 5 blue, 17 red; 1 green, 2 red; 5 green, 6 blue
+Game 40: 12 red, 4 blue, 1 green; 11 green, 20 blue, 4 red; 10 blue, 4 red
+Game 41: 2 green, 2 blue; 2 red, 2 green; 2 green, 2 blue, 10 red
+Game 42: 6 green, 3 blue; 2 red, 2 green, 1 blue; 3 blue, 5 green, 6 red; 6 red; 1 blue, 6 green, 12 red
+Game 43: 1 blue, 4 green; 1 blue; 2 blue, 8 red, 2 green; 2 blue, 1 red, 4 green; 1 blue, 4 red, 4 green; 4 green, 7 red
+Game 44: 8 green, 9 red; 1 red, 2 blue, 13 green; 4 blue, 8 green, 17 red; 13 red, 13 green; 1 red, 9 green; 19 red, 3 green, 3 blue
+Game 45: 10 blue, 2 red, 1 green; 6 green, 5 red, 8 blue; 3 blue, 1 red; 4 green, 10 blue, 4 red
+Game 46: 3 red, 8 blue; 6 blue, 7 green, 6 red; 6 green, 1 blue, 7 red; 8 red, 1 green, 5 blue; 9 red, 12 blue, 10 green; 7 green, 5 red, 1 blue
+Game 47: 5 red; 2 blue, 2 green, 5 red; 3 green, 7 red; 14 red, 3 green, 2 blue
+Game 48: 7 blue, 12 green, 2 red; 11 green, 10 blue, 1 red; 1 red, 13 blue, 2 green; 14 green, 2 red, 9 blue; 2 red, 12 green, 3 blue; 2 red, 7 blue
+Game 49: 4 green, 5 blue; 9 blue; 10 blue, 5 green, 2 red; 10 blue, 2 red, 2 green; 1 red, 1 green, 4 blue; 2 blue
+Game 50: 2 red, 2 blue, 7 green; 7 red, 9 green, 3 blue; 5 red, 10 green
+Game 51: 15 red, 9 blue, 4 green; 5 red, 2 blue, 15 green; 4 blue, 3 green, 20 red; 12 green, 1 red, 10 blue; 10 green, 5 blue, 13 red; 9 red, 10 green, 11 blue
+Game 52: 3 blue, 12 green, 1 red; 6 green; 1 red, 8 green; 1 blue, 1 green, 1 red
+Game 53: 10 green, 7 red, 12 blue; 9 blue, 6 green, 2 red; 8 green, 5 blue, 5 red; 7 blue, 16 green, 11 red; 6 red, 8 blue, 13 green
+Game 54: 10 green, 6 blue, 3 red; 6 green, 2 red, 8 blue; 9 blue, 11 green, 2 red; 10 green, 1 blue, 3 red
+Game 55: 4 blue, 1 red; 3 red, 7 blue; 12 red, 4 green, 8 blue; 3 green, 5 blue, 1 red; 13 blue, 12 red, 1 green
+Game 56: 12 blue, 15 green; 1 green, 7 red, 11 blue; 5 green, 9 blue, 1 red; 8 red, 5 green, 6 blue
+Game 57: 4 green, 11 blue, 18 red; 14 blue, 14 red, 16 green; 7 red, 15 green, 3 blue; 18 red, 20 green, 8 blue; 12 blue, 9 red, 16 green
+Game 58: 10 blue, 9 green, 8 red; 13 green, 6 blue, 8 red; 8 green, 4 red; 4 blue, 1 red, 18 green; 7 red, 10 green, 10 blue; 15 blue, 10 green, 3 red
+Game 59: 17 green, 2 blue, 2 red; 2 blue, 1 red, 8 green; 14 green, 1 red, 1 blue; 15 green, 3 blue, 2 red; 2 blue, 8 green, 1 red; 1 blue, 1 red, 8 green
+Game 60: 1 green, 1 blue, 1 red; 4 blue, 3 red, 2 green; 13 green; 2 blue, 2 red, 8 green; 4 red, 12 green, 4 blue; 4 green, 4 blue, 4 red
+Game 61: 3 blue, 7 red; 5 blue, 8 red, 1 green; 1 blue, 8 red; 10 blue, 2 red, 1 green; 1 green, 5 blue, 2 red
+Game 62: 10 red, 2 green; 8 blue, 7 red, 2 green; 4 green, 2 blue, 10 red
+Game 63: 1 green, 3 blue, 5 red; 6 green, 5 blue, 2 red; 3 blue, 7 red
+Game 64: 6 red, 20 blue; 4 red, 3 blue, 2 green; 3 green, 19 blue, 6 red; 2 green, 6 blue, 3 red; 13 blue, 5 green, 5 red
+Game 65: 6 red, 9 blue, 20 green; 6 red, 16 green, 4 blue; 12 red, 6 green, 5 blue
+Game 66: 2 blue, 5 red, 4 green; 13 blue, 2 green; 1 green, 6 blue
+Game 67: 4 green, 5 blue, 2 red; 1 red, 14 blue, 6 green; 1 green, 14 red, 5 blue; 18 red, 16 blue; 15 blue, 8 red, 18 green; 1 green, 18 red, 6 blue
+Game 68: 1 blue, 9 red, 7 green; 7 red, 1 blue, 6 green; 5 green, 1 blue, 8 red
+Game 69: 12 green, 3 blue, 4 red; 9 green, 8 red, 7 blue; 4 blue, 5 red, 10 green; 4 red, 5 green, 7 blue; 9 green, 4 red, 2 blue; 3 green, 13 blue, 1 red
+Game 70: 9 red, 1 green, 8 blue; 11 green, 13 blue, 12 red; 3 blue, 5 green, 8 red; 1 red, 14 blue
+Game 71: 10 blue; 2 green, 8 blue, 9 red; 5 red, 1 blue
+Game 72: 3 green, 5 blue, 5 red; 1 blue, 1 red, 2 green; 4 red, 4 blue, 1 green; 5 blue, 4 red, 1 green; 6 blue, 3 green, 5 red; 5 blue, 1 red, 4 green
+Game 73: 3 red, 1 green, 1 blue; 7 green, 2 red, 1 blue; 2 green, 1 blue, 3 red; 1 red, 4 green, 1 blue; 3 red, 5 green
+Game 74: 5 blue, 1 red, 4 green; 3 red, 2 green; 4 red, 6 blue; 2 red, 2 blue; 1 green, 4 red, 8 blue; 5 blue, 4 red
+Game 75: 3 red, 5 blue, 3 green; 9 green, 6 blue, 7 red; 2 green, 3 red, 12 blue; 14 green, 4 blue, 10 red
+Game 76: 1 blue, 7 red, 1 green; 6 red, 1 blue, 2 green; 4 red, 2 green; 3 red, 1 blue; 16 red, 1 green
+Game 77: 3 red, 10 blue, 1 green; 4 red, 7 blue, 3 green; 7 blue, 6 green, 7 red; 5 green, 15 blue, 7 red; 12 green, 5 red
+Game 78: 6 red, 10 blue, 15 green; 6 green, 11 red, 4 blue; 6 blue, 8 red; 4 blue, 7 red, 2 green; 11 green, 7 red, 11 blue; 3 blue, 14 green, 6 red
+Game 79: 14 red, 6 green, 4 blue; 13 red, 6 blue; 6 red, 13 green, 4 blue
+Game 80: 8 red, 2 blue, 8 green; 6 red, 10 green, 4 blue; 3 red, 9 green; 2 green, 8 blue, 7 red; 7 blue, 3 red, 11 green; 1 red, 12 green, 8 blue
+Game 81: 9 red, 4 blue, 11 green; 1 blue, 4 red, 2 green; 5 red; 3 blue, 2 red, 2 green; 14 red, 12 green
+Game 82: 5 green; 2 blue; 2 red; 1 blue, 2 red, 11 green; 8 green, 2 red, 1 blue
+Game 83: 3 green, 7 red, 6 blue; 7 red, 7 green, 11 blue; 7 blue, 13 green, 7 red; 12 blue, 10 red, 2 green; 1 green, 11 red, 7 blue; 12 blue, 9 red, 9 green
+Game 84: 5 blue, 1 green; 16 green, 4 blue, 8 red; 7 red, 5 blue, 16 green
+Game 85: 9 green, 20 blue, 7 red; 19 blue, 14 red, 2 green; 10 green, 2 red, 10 blue
+Game 86: 1 green, 3 red, 5 blue; 9 red, 2 blue, 6 green; 8 green, 14 red, 3 blue; 18 green, 2 blue, 7 red; 2 blue, 10 red, 14 green; 17 green, 4 blue, 12 red
+Game 87: 4 green, 8 red, 13 blue; 7 red, 13 blue, 4 green; 1 green, 8 blue
+Game 88: 9 blue, 11 red; 5 green, 7 blue, 12 red; 10 red, 2 green, 1 blue; 2 blue, 5 red, 5 green; 7 red, 6 green, 9 blue; 1 green, 10 red, 5 blue
+Game 89: 7 red, 2 green, 1 blue; 1 blue, 2 green; 6 red, 1 green; 7 red, 1 blue; 3 green, 3 red
+Game 90: 8 blue, 2 red, 3 green; 9 green, 4 blue, 3 red; 7 green, 11 blue, 2 red; 13 green, 12 blue, 8 red; 10 blue, 2 green; 5 green, 1 red, 9 blue
+Game 91: 2 red, 2 green, 4 blue; 5 blue, 2 red, 16 green; 11 green; 3 blue, 2 red, 8 green; 4 green, 3 blue
+Game 92: 8 red, 12 blue, 3 green; 11 red, 10 blue, 6 green; 14 red, 8 green, 14 blue
+Game 93: 3 green, 2 red, 3 blue; 3 green, 3 red, 1 blue; 2 blue, 16 red, 3 green; 2 green; 5 green, 2 blue, 2 red
+Game 94: 5 red, 2 green; 9 red, 3 blue; 2 green, 2 blue, 5 red; 3 blue, 8 red, 2 green; 8 red, 1 blue, 1 green
+Game 95: 3 blue, 4 green, 7 red; 7 red, 1 green, 15 blue; 6 blue, 2 green, 7 red
+Game 96: 2 blue, 1 red, 6 green; 7 blue, 8 green; 1 red, 7 green; 2 green, 14 blue, 1 red; 3 blue, 1 red, 7 green; 4 blue, 11 green
+Game 97: 2 red, 9 blue, 8 green; 3 green, 5 blue; 6 green, 1 red, 9 blue; 2 red, 13 green, 1 blue; 2 green, 2 red, 2 blue
+Game 98: 2 blue, 1 green, 1 red; 4 blue, 5 red, 1 green; 4 blue, 3 red, 2 green
+Game 99: 17 red, 2 blue, 4 green; 4 green, 8 red, 6 blue; 5 red
+Game 100: 6 red, 4 green; 3 red, 2 blue, 9 green; 1 blue, 5 green, 14 red; 1 blue, 2 red, 2 green; 9 red, 1 blue, 14 green; 2 blue, 11 green, 8 red \ No newline at end of file
diff --git a/aoc2023/src/day20/input.txt b/aoc2023/src/day20/input.txt
new file mode 100644
index 0000000..6949a60
--- /dev/null
+++ b/aoc2023/src/day20/input.txt
@@ -0,0 +1,58 @@
+%hb -> mj
+%mx -> mt, xz
+%xh -> qc
+%tg -> cq
+%kp -> xz, nj
+%mj -> jj, lv
+%cq -> jm
+%mt -> sj, xz
+&jj -> hb, lz, rk, xv, vj, vh, lv
+%rm -> bz, xq
+%hx -> bz
+%xv -> lz
+%xx -> kp, xz
+%pt -> vx
+&xz -> bq, gr, sj, rv, zf
+%vx -> gf, cv
+%xb -> xz, bq
+%xk -> gf, rd
+%lv -> zk
+&rk -> gh
+%kn -> gf, tz
+&gh -> rx
+%sj -> vp
+%jm -> vm, bz
+%rr -> rv, xz
+%tz -> rz
+%gg -> kn
+&cd -> gh
+%qc -> kh, bz
+%kb -> gf
+%vp -> xz, xx
+%fb -> bz, tg
+%rd -> cp
+%qn -> vh, jj
+%xr -> jj
+%tp -> rm, bz
+%cp -> gg
+&bz -> qx, cq, xh, fb, tg
+%qq -> pt, gf
+%xq -> bz, hx
+%gx -> jj, qv
+%bq -> rr
+%cv -> gf, kb
+%zk -> jj, xv
+&zf -> gh
+&qx -> gh
+%vh -> gx
+%qv -> xr, jj
+%lz -> qn
+broadcaster -> fb, xk, gr, vj
+%nj -> xz
+%gr -> xz, xb
+%kh -> tp, bz
+%vm -> bz, xh
+%rz -> qq, gf
+&gf -> tz, cd, rd, xk, pt, cp, gg
+%rv -> mx
+%vj -> hb, jj \ No newline at end of file
diff --git a/aoc2023/src/day22/input.txt b/aoc2023/src/day22/input.txt
new file mode 100644
index 0000000..f2e2fd8
--- /dev/null
+++ b/aoc2023/src/day22/input.txt
@@ -0,0 +1,1273 @@
+2,4,151~4,4,151
+5,4,169~5,7,169
+3,5,167~3,7,167
+4,6,197~4,8,197
+6,5,98~6,7,98
+3,8,7~5,8,7
+8,2,293~8,5,293
+2,1,76~2,4,76
+2,6,102~2,9,102
+4,0,201~4,2,201
+1,6,103~1,8,103
+7,5,214~9,5,214
+1,2,213~3,2,213
+4,6,263~4,8,263
+6,0,263~6,0,266
+3,5,145~5,5,145
+6,5,60~6,8,60
+0,6,13~2,6,13
+4,7,277~6,7,277
+5,7,87~5,7,89
+0,7,72~0,9,72
+6,4,48~6,6,48
+7,2,20~9,2,20
+5,4,128~5,7,128
+7,7,257~7,9,257
+6,5,227~9,5,227
+8,4,67~9,4,67
+5,9,236~7,9,236
+3,5,137~6,5,137
+2,3,137~4,3,137
+0,2,63~0,4,63
+0,2,299~1,2,299
+6,5,234~6,7,234
+1,0,137~1,3,137
+6,5,271~6,7,271
+0,2,79~2,2,79
+4,3,297~6,3,297
+0,0,80~0,2,80
+1,9,56~3,9,56
+4,3,49~4,6,49
+9,6,114~9,8,114
+0,5,212~2,5,212
+5,2,161~7,2,161
+4,1,100~4,3,100
+6,6,226~8,6,226
+2,1,63~4,1,63
+1,8,44~3,8,44
+5,3,9~8,3,9
+8,6,240~9,6,240
+6,1,111~7,1,111
+0,5,222~2,5,222
+9,4,150~9,6,150
+4,2,66~4,5,66
+3,9,186~5,9,186
+5,6,20~8,6,20
+6,3,224~6,5,224
+2,8,48~3,8,48
+2,2,18~2,5,18
+4,5,106~6,5,106
+8,6,19~8,7,19
+7,5,175~9,5,175
+5,7,146~5,9,146
+3,3,197~5,3,197
+9,4,25~9,6,25
+6,6,205~9,6,205
+8,0,34~8,3,34
+4,6,224~6,6,224
+2,9,104~4,9,104
+2,4,134~2,6,134
+5,2,209~9,2,209
+5,6,187~7,6,187
+5,9,104~6,9,104
+6,5,139~6,7,139
+6,6,209~6,8,209
+7,4,201~7,8,201
+1,2,45~1,3,45
+3,5,129~5,5,129
+4,1,88~7,1,88
+0,4,1~0,5,1
+7,5,79~9,5,79
+6,0,124~6,0,124
+1,6,108~2,6,108
+7,5,114~7,7,114
+4,0,296~4,0,299
+0,0,65~0,2,65
+8,7,276~8,8,276
+5,7,40~7,7,40
+9,4,101~9,5,101
+3,0,264~5,0,264
+3,0,26~5,0,26
+2,6,151~5,6,151
+0,1,294~0,4,294
+5,4,293~7,4,293
+1,2,298~1,4,298
+5,6,189~5,7,189
+4,0,111~4,3,111
+4,5,109~4,7,109
+2,7,41~4,7,41
+6,1,172~8,1,172
+6,5,50~6,7,50
+9,2,74~9,4,74
+0,0,120~0,0,120
+2,1,1~2,1,3
+5,4,291~8,4,291
+8,1,111~8,2,111
+6,2,95~6,2,96
+9,3,158~9,6,158
+3,3,262~5,3,262
+1,1,308~1,4,308
+5,6,135~5,9,135
+6,6,3~9,6,3
+7,7,39~9,7,39
+2,7,98~4,7,98
+7,6,233~7,9,233
+6,2,119~9,2,119
+3,7,207~3,9,207
+8,4,245~8,5,245
+9,2,136~9,2,138
+7,2,111~7,4,111
+0,8,70~3,8,70
+3,5,217~5,5,217
+4,9,223~5,9,223
+3,2,282~4,2,282
+5,7,258~5,7,260
+4,5,266~4,8,266
+8,4,48~8,4,50
+6,0,173~6,2,173
+4,7,131~4,9,131
+1,9,2~2,9,2
+7,5,17~9,5,17
+0,2,120~1,2,120
+4,1,102~4,3,102
+6,6,101~6,8,101
+5,5,12~5,5,12
+0,0,292~3,0,292
+7,8,119~9,8,119
+7,6,82~8,6,82
+4,2,117~6,2,117
+2,9,220~4,9,220
+8,1,42~9,1,42
+7,9,147~7,9,147
+8,7,125~8,7,127
+2,7,240~2,9,240
+8,0,276~8,2,276
+1,0,251~4,0,251
+0,6,172~1,6,172
+3,9,95~5,9,95
+1,5,61~5,5,61
+8,6,33~8,8,33
+1,7,292~1,7,293
+3,5,147~3,7,147
+0,9,74~1,9,74
+1,2,239~4,2,239
+2,5,146~3,5,146
+2,0,280~2,3,280
+3,6,46~6,6,46
+2,8,245~3,8,245
+3,6,171~7,6,171
+4,2,122~4,3,122
+5,2,301~5,5,301
+4,4,208~5,4,208
+8,6,72~8,7,72
+2,7,232~5,7,232
+4,4,236~4,4,237
+3,3,255~4,3,255
+1,1,107~1,3,107
+0,0,84~0,1,84
+3,4,244~4,4,244
+0,9,5~2,9,5
+3,2,94~6,2,94
+1,8,137~4,8,137
+2,1,291~5,1,291
+4,3,52~4,6,52
+3,6,232~5,6,232
+3,7,63~3,9,63
+5,5,244~7,5,244
+8,1,285~8,2,285
+2,2,172~2,3,172
+6,1,16~6,4,16
+3,3,34~3,6,34
+4,6,91~4,9,91
+1,9,177~3,9,177
+5,2,232~8,2,232
+7,2,207~7,3,207
+7,5,37~9,5,37
+3,4,177~3,6,177
+1,3,136~1,4,136
+4,6,105~4,7,105
+5,9,139~7,9,139
+4,9,244~7,9,244
+5,8,105~8,8,105
+6,4,77~6,6,77
+0,8,11~2,8,11
+3,6,42~3,8,42
+2,3,194~6,3,194
+5,6,119~5,7,119
+0,1,176~2,1,176
+8,1,123~8,4,123
+6,3,10~6,5,10
+0,2,23~2,2,23
+8,4,120~8,5,120
+4,2,210~4,4,210
+5,2,214~7,2,214
+0,4,108~3,4,108
+5,3,295~5,6,295
+6,5,126~6,6,126
+1,5,14~2,5,14
+9,1,152~9,1,152
+8,4,101~8,6,101
+2,5,98~2,5,99
+8,5,180~8,8,180
+2,4,212~2,4,214
+4,3,268~6,3,268
+5,7,36~5,8,36
+6,5,135~6,7,135
+5,5,97~5,7,97
+1,6,298~2,6,298
+4,0,6~6,0,6
+6,0,255~6,2,255
+6,8,9~8,8,9
+4,9,45~6,9,45
+6,6,120~9,6,120
+2,1,32~4,1,32
+9,3,116~9,4,116
+1,4,245~1,6,245
+8,6,235~8,6,237
+2,2,277~5,2,277
+9,5,40~9,6,40
+4,6,255~5,6,255
+8,6,44~8,8,44
+6,9,212~9,9,212
+6,0,3~9,0,3
+3,2,168~3,4,168
+4,2,27~7,2,27
+5,2,103~7,2,103
+3,6,31~3,8,31
+7,1,89~9,1,89
+2,0,290~2,2,290
+3,1,152~3,2,152
+6,5,262~6,7,262
+5,6,138~5,6,140
+7,7,149~9,7,149
+2,3,148~2,5,148
+3,0,30~3,0,32
+3,7,253~3,8,253
+0,5,146~0,7,146
+7,1,229~7,4,229
+8,5,80~8,6,80
+8,8,182~9,8,182
+3,4,125~5,4,125
+0,8,168~2,8,168
+7,4,156~9,4,156
+6,4,119~9,4,119
+4,5,98~4,5,100
+8,2,108~9,2,108
+1,9,250~3,9,250
+6,2,165~6,3,165
+5,6,197~8,6,197
+8,0,214~8,3,214
+8,4,47~8,6,47
+3,2,192~5,2,192
+8,1,254~8,3,254
+2,1,103~2,3,103
+8,5,108~8,8,108
+2,9,243~4,9,243
+4,0,146~4,2,146
+1,3,246~1,7,246
+6,4,179~6,6,179
+2,4,119~2,6,119
+1,6,83~2,6,83
+5,7,72~5,8,72
+8,5,113~9,5,113
+8,5,67~8,5,69
+2,2,110~2,4,110
+3,6,36~3,8,36
+1,8,129~3,8,129
+3,2,56~3,4,56
+1,5,13~2,5,13
+0,1,42~2,1,42
+3,7,6~3,9,6
+5,0,77~5,4,77
+5,2,78~5,3,78
+5,4,192~5,7,192
+3,6,194~5,6,194
+7,6,134~7,8,134
+4,2,139~4,4,139
+1,0,201~3,0,201
+6,2,141~6,4,141
+6,0,65~6,0,66
+5,7,34~6,7,34
+4,4,181~4,4,182
+3,2,75~4,2,75
+4,5,293~4,9,293
+1,2,127~3,2,127
+4,9,183~7,9,183
+5,6,248~5,8,248
+4,3,115~4,6,115
+1,6,97~2,6,97
+1,1,104~3,1,104
+0,1,139~0,4,139
+5,9,79~5,9,81
+3,2,181~5,2,181
+4,2,233~7,2,233
+6,1,64~8,1,64
+0,2,40~1,2,40
+5,5,214~5,8,214
+3,7,163~3,7,165
+8,2,272~8,4,272
+7,3,141~8,3,141
+3,8,242~5,8,242
+0,1,44~0,1,45
+1,9,144~2,9,144
+4,8,114~4,8,115
+3,5,108~3,6,108
+4,4,225~4,5,225
+2,5,276~4,5,276
+8,4,171~8,4,173
+1,5,16~1,7,16
+4,5,94~4,8,94
+7,2,113~7,2,114
+6,2,2~6,4,2
+5,7,14~8,7,14
+2,0,175~2,2,175
+4,3,200~6,3,200
+1,0,35~1,1,35
+5,0,42~8,0,42
+0,7,160~0,8,160
+3,2,2~5,2,2
+5,6,157~5,9,157
+1,7,104~2,7,104
+6,9,68~6,9,68
+3,5,203~4,5,203
+8,4,3~8,4,3
+4,5,223~4,8,223
+5,1,80~5,4,80
+2,4,21~2,4,22
+3,7,278~3,8,278
+6,7,20~7,7,20
+8,2,1~8,4,1
+7,8,139~9,8,139
+8,4,36~8,6,36
+4,6,76~6,6,76
+7,0,102~7,3,102
+8,2,212~8,5,212
+8,7,49~8,8,49
+6,1,32~8,1,32
+6,5,263~7,5,263
+7,4,132~7,6,132
+1,5,171~1,7,171
+7,6,121~9,6,121
+3,4,96~3,6,96
+5,5,254~5,8,254
+7,2,259~7,3,259
+1,0,295~1,3,295
+3,2,99~3,4,99
+4,6,65~4,8,65
+2,4,104~2,4,104
+7,5,2~9,5,2
+1,1,287~1,1,289
+5,2,253~5,2,255
+1,7,288~1,9,288
+5,3,65~7,3,65
+5,3,256~7,3,256
+0,3,149~0,5,149
+3,6,153~3,9,153
+3,5,166~5,5,166
+5,1,258~5,3,258
+0,5,148~0,8,148
+8,0,226~9,0,226
+9,5,13~9,5,13
+3,8,156~4,8,156
+9,0,28~9,3,28
+6,4,285~6,6,285
+3,1,116~3,4,116
+4,9,158~5,9,158
+5,7,273~8,7,273
+2,5,10~2,8,10
+5,0,41~5,3,41
+4,4,50~4,6,50
+7,2,23~7,4,23
+3,4,55~3,6,55
+3,8,125~6,8,125
+5,1,69~5,3,69
+4,3,11~5,3,11
+7,1,92~7,4,92
+5,8,210~5,9,210
+2,8,140~2,9,140
+2,6,86~4,6,86
+8,4,244~8,7,244
+8,2,237~8,4,237
+4,6,269~7,6,269
+0,4,116~1,4,116
+0,3,68~0,5,68
+1,2,301~4,2,301
+0,1,69~0,3,69
+8,0,281~8,3,281
+5,7,255~5,8,255
+4,4,268~4,6,268
+4,7,8~4,8,8
+8,2,98~8,3,98
+2,0,80~3,0,80
+4,7,67~4,7,69
+6,3,133~8,3,133
+4,9,129~7,9,129
+2,0,55~4,0,55
+6,8,177~8,8,177
+0,4,115~1,4,115
+6,4,245~7,4,245
+3,3,161~4,3,161
+2,8,109~5,8,109
+6,5,145~6,5,147
+1,6,143~1,9,143
+1,8,115~3,8,115
+3,4,271~5,4,271
+3,8,8~3,9,8
+6,7,36~7,7,36
+0,2,252~0,4,252
+4,1,109~4,2,109
+1,1,247~3,1,247
+3,2,149~5,2,149
+6,4,181~6,4,184
+1,1,81~1,4,81
+0,2,42~2,2,42
+3,3,7~5,3,7
+0,5,73~0,6,73
+9,8,66~9,9,66
+7,0,132~9,0,132
+1,4,119~1,7,119
+3,4,74~4,4,74
+1,2,165~3,2,165
+5,7,160~7,7,160
+5,5,198~7,5,198
+4,4,10~5,4,10
+5,1,252~8,1,252
+8,3,64~8,6,64
+6,3,71~9,3,71
+2,7,233~3,7,233
+5,7,30~7,7,30
+2,7,276~4,7,276
+2,2,115~2,4,115
+5,1,122~6,1,122
+2,8,222~2,9,222
+2,1,157~5,1,157
+6,7,31~8,7,31
+3,8,175~3,9,175
+1,2,26~1,2,29
+5,2,180~5,5,180
+5,5,142~7,5,142
+7,0,73~7,3,73
+9,6,117~9,8,117
+1,4,113~2,4,113
+0,8,2~0,8,4
+7,1,207~9,1,207
+4,7,134~4,9,134
+3,2,263~5,2,263
+7,7,69~7,8,69
+7,7,63~7,8,63
+4,7,235~4,8,235
+4,2,16~4,4,16
+3,6,49~3,9,49
+8,1,36~8,1,39
+2,0,46~2,3,46
+6,6,143~6,6,146
+2,1,101~2,3,101
+4,1,103~4,2,103
+0,0,71~0,2,71
+7,3,282~7,6,282
+4,4,148~4,6,148
+0,2,245~2,2,245
+1,7,213~3,7,213
+4,0,262~7,0,262
+2,8,53~4,8,53
+1,6,290~1,8,290
+0,8,55~2,8,55
+8,1,255~8,2,255
+5,4,233~5,6,233
+2,1,53~4,1,53
+2,0,61~2,2,61
+1,2,300~1,4,300
+1,5,100~1,7,100
+2,4,3~4,4,3
+1,9,70~1,9,72
+8,7,42~8,9,42
+2,8,67~5,8,67
+7,3,142~9,3,142
+9,6,6~9,6,9
+3,7,241~3,7,243
+5,0,32~5,0,34
+0,6,292~0,6,294
+9,1,281~9,4,281
+5,5,204~5,7,204
+4,0,113~6,0,113
+5,9,224~8,9,224
+4,1,148~6,1,148
+7,5,128~7,7,128
+7,4,79~9,4,79
+1,6,294~1,7,294
+5,5,184~5,7,184
+4,8,159~4,8,162
+6,2,110~6,3,110
+0,9,7~1,9,7
+7,8,239~9,8,239
+4,6,284~4,8,284
+5,2,162~6,2,162
+4,0,15~4,2,15
+1,4,107~2,4,107
+1,4,9~4,4,9
+1,0,37~1,2,37
+8,1,284~9,1,284
+1,6,72~1,8,72
+4,6,134~6,6,134
+7,3,242~9,3,242
+7,1,145~7,3,145
+8,5,114~8,8,114
+3,5,149~4,5,149
+0,3,288~0,5,288
+7,2,279~9,2,279
+6,4,73~8,4,73
+4,5,121~6,5,121
+0,6,291~0,8,291
+3,4,71~5,4,71
+9,1,46~9,3,46
+5,1,275~5,2,275
+9,6,242~9,9,242
+4,8,251~7,8,251
+1,9,66~3,9,66
+4,6,135~4,6,136
+7,0,282~7,2,282
+1,8,3~3,8,3
+6,6,251~8,6,251
+1,9,218~2,9,218
+3,4,234~5,4,234
+5,8,259~5,9,259
+6,3,68~6,6,68
+3,7,173~3,9,173
+2,9,215~4,9,215
+9,7,1~9,9,1
+8,1,257~9,1,257
+7,0,30~7,2,30
+6,6,102~6,6,103
+6,1,257~6,3,257
+1,4,286~1,7,286
+7,1,107~7,4,107
+3,6,281~5,6,281
+6,9,64~9,9,64
+8,7,45~8,8,45
+2,9,263~5,9,263
+5,2,44~7,2,44
+7,6,291~7,8,291
+3,3,43~3,5,43
+4,0,167~7,0,167
+8,1,169~8,4,169
+5,4,121~7,4,121
+2,2,296~2,4,296
+7,5,287~8,5,287
+1,2,196~4,2,196
+7,1,1~7,1,2
+7,0,131~7,2,131
+9,5,11~9,8,11
+3,2,251~3,2,252
+9,7,153~9,7,154
+4,2,114~4,3,114
+2,7,155~5,7,155
+0,2,255~0,5,255
+1,5,83~3,5,83
+7,0,285~9,0,285
+8,5,198~8,7,198
+3,1,119~3,1,122
+4,4,96~5,4,96
+4,8,5~6,8,5
+3,2,241~5,2,241
+1,5,64~1,5,66
+7,2,239~7,3,239
+2,4,95~2,4,97
+1,2,19~3,2,19
+5,5,49~5,8,49
+6,4,146~9,4,146
+4,0,257~6,0,257
+5,6,59~5,6,61
+5,3,175~5,5,175
+5,8,261~7,8,261
+9,2,43~9,4,43
+2,8,256~3,8,256
+7,2,133~9,2,133
+7,7,12~9,7,12
+8,0,273~8,2,273
+1,3,238~1,6,238
+4,1,159~4,1,161
+2,3,134~5,3,134
+4,9,99~6,9,99
+0,2,291~0,4,291
+3,2,13~6,2,13
+8,9,45~9,9,45
+2,0,303~4,0,303
+1,5,249~3,5,249
+0,8,51~2,8,51
+3,2,188~5,2,188
+5,9,262~8,9,262
+6,7,255~8,7,255
+0,5,237~0,7,237
+1,3,256~1,4,256
+2,5,237~2,5,240
+1,3,108~1,3,110
+8,5,285~8,8,285
+5,1,250~5,4,250
+9,0,45~9,1,45
+7,6,112~9,6,112
+3,2,27~3,3,27
+5,2,125~5,3,125
+2,4,211~2,7,211
+9,4,209~9,7,209
+6,5,177~6,5,178
+4,7,62~7,7,62
+0,6,119~0,9,119
+2,4,26~2,4,28
+6,3,94~8,3,94
+5,5,147~5,6,147
+7,1,173~7,3,173
+7,0,105~9,0,105
+2,2,129~3,2,129
+0,0,30~1,0,30
+8,3,154~8,5,154
+4,0,64~4,0,67
+5,1,298~5,1,298
+9,2,134~9,5,134
+0,5,236~2,5,236
+3,7,159~3,8,159
+6,0,205~6,0,207
+2,3,32~2,4,32
+4,5,235~6,5,235
+4,6,59~4,9,59
+2,4,7~2,6,7
+9,4,160~9,7,160
+4,9,185~4,9,185
+0,4,132~3,4,132
+0,4,253~4,4,253
+7,1,288~9,1,288
+2,0,97~3,0,97
+4,7,200~4,7,202
+1,0,148~4,0,148
+5,0,163~5,2,163
+0,1,83~0,3,83
+3,6,240~3,8,240
+6,4,82~6,6,82
+0,5,70~0,7,70
+5,7,66~8,7,66
+4,2,189~4,5,189
+6,0,19~9,0,19
+5,1,197~5,2,197
+1,1,202~3,1,202
+2,2,31~2,4,31
+1,9,245~2,9,245
+9,1,26~9,1,27
+7,0,223~9,0,223
+3,2,34~6,2,34
+1,8,166~1,8,167
+0,6,299~0,6,300
+0,2,59~4,2,59
+2,4,6~2,6,6
+3,4,221~3,6,221
+4,9,92~6,9,92
+8,2,189~8,4,189
+6,1,11~6,3,11
+6,3,175~6,5,175
+8,4,275~8,6,275
+3,0,96~3,3,96
+5,8,143~8,8,143
+9,4,28~9,5,28
+6,9,267~8,9,267
+2,5,60~4,5,60
+4,1,61~6,1,61
+5,8,52~7,8,52
+5,7,61~7,7,61
+1,8,164~3,8,164
+6,0,45~7,0,45
+3,1,246~3,3,246
+5,3,251~5,3,253
+4,9,47~7,9,47
+5,2,211~5,3,211
+4,8,258~6,8,258
+3,9,292~5,9,292
+4,5,103~4,7,103
+2,1,6~3,1,6
+4,7,132~4,7,132
+0,6,110~3,6,110
+0,1,293~2,1,293
+4,2,160~4,2,162
+3,3,209~3,5,209
+0,1,41~0,3,41
+6,1,108~6,5,108
+3,8,104~5,8,104
+7,7,146~7,9,146
+2,4,79~2,7,79
+2,1,44~2,4,44
+2,5,231~4,5,231
+0,7,172~2,7,172
+2,4,297~2,6,297
+6,4,247~6,5,247
+4,4,288~6,4,288
+6,2,225~6,4,225
+6,1,163~8,1,163
+2,3,145~5,3,145
+7,7,254~7,8,254
+4,8,128~4,9,128
+1,3,286~3,3,286
+4,1,14~6,1,14
+6,6,232~8,6,232
+3,3,59~5,3,59
+4,4,154~7,4,154
+3,4,54~3,6,54
+5,3,76~5,5,76
+6,4,187~8,4,187
+6,3,143~8,3,143
+6,3,265~6,5,265
+1,9,180~2,9,180
+8,1,96~8,5,96
+2,7,138~2,9,138
+0,5,76~0,5,78
+2,5,274~2,7,274
+5,7,183~7,7,183
+4,0,260~8,0,260
+8,6,39~9,6,39
+3,3,40~3,5,40
+8,3,159~8,7,159
+6,9,185~8,9,185
+7,8,13~9,8,13
+3,3,30~3,6,30
+7,1,205~7,4,205
+8,9,75~8,9,77
+7,0,217~7,2,217
+6,3,261~6,6,261
+5,4,32~7,4,32
+6,4,162~8,4,162
+5,7,81~7,7,81
+1,0,248~1,1,248
+2,1,9~2,2,9
+0,5,166~2,5,166
+7,3,121~9,3,121
+0,0,202~1,0,202
+8,7,46~9,7,46
+3,0,142~4,0,142
+6,7,253~6,7,254
+3,1,33~4,1,33
+2,2,185~5,2,185
+6,7,37~9,7,37
+6,2,63~8,2,63
+0,5,159~0,7,159
+3,0,121~6,0,121
+5,4,23~5,6,23
+7,7,109~9,7,109
+6,4,26~7,4,26
+0,1,286~0,4,286
+7,7,260~7,8,260
+7,7,204~7,7,205
+7,2,176~9,2,176
+9,6,151~9,9,151
+2,6,252~2,8,252
+6,5,40~8,5,40
+7,7,17~8,7,17
+8,5,61~9,5,61
+0,2,81~0,2,81
+3,0,166~5,0,166
+6,0,267~6,0,269
+6,6,69~6,6,70
+1,5,102~1,5,105
+6,3,177~8,3,177
+2,4,62~2,6,62
+6,4,264~6,5,264
+3,4,62~3,6,62
+4,6,157~4,9,157
+6,4,143~9,4,143
+8,8,116~8,9,116
+6,6,236~6,8,236
+9,5,228~9,7,228
+5,1,5~5,4,5
+3,5,58~3,6,58
+3,4,204~3,7,204
+2,9,221~3,9,221
+6,6,229~8,6,229
+4,4,123~5,4,123
+2,6,14~2,8,14
+1,6,89~4,6,89
+4,3,73~6,3,73
+7,3,97~7,3,99
+4,6,10~6,6,10
+5,4,222~8,4,222
+6,3,59~6,6,59
+5,7,7~6,7,7
+4,2,38~5,2,38
+3,1,163~3,4,163
+4,5,174~4,7,174
+7,5,210~8,5,210
+0,1,43~0,3,43
+0,5,173~1,5,173
+2,6,294~2,7,294
+7,9,85~7,9,88
+1,2,217~1,4,217
+7,2,235~8,2,235
+1,5,112~1,7,112
+5,6,117~8,6,117
+2,0,299~2,1,299
+7,6,143~7,6,146
+4,3,168~4,5,168
+4,4,226~4,7,226
+7,6,208~7,6,210
+9,1,149~9,4,149
+3,6,11~5,6,11
+4,5,262~4,7,262
+2,8,73~2,8,76
+7,1,21~7,4,21
+5,2,279~5,3,279
+7,4,43~7,5,43
+0,1,180~0,3,180
+8,6,163~8,9,163
+6,2,143~8,2,143
+6,9,65~8,9,65
+6,8,222~8,8,222
+7,7,293~8,7,293
+7,1,295~7,4,295
+5,6,218~5,9,218
+3,1,171~3,3,171
+9,6,86~9,8,86
+1,4,240~3,4,240
+5,2,29~5,4,29
+3,0,266~3,0,268
+9,7,120~9,9,120
+7,5,220~7,9,220
+5,7,282~5,9,282
+8,8,188~8,9,188
+9,3,120~9,5,120
+7,7,138~7,8,138
+9,0,30~9,1,30
+6,6,79~6,8,79
+7,5,231~9,5,231
+7,8,236~9,8,236
+5,4,50~5,5,50
+3,9,99~3,9,102
+4,7,159~6,7,159
+6,0,8~7,0,8
+5,6,211~5,8,211
+3,5,163~5,5,163
+5,3,132~8,3,132
+2,7,60~4,7,60
+4,1,2~4,1,2
+9,7,131~9,7,134
+8,5,110~8,6,110
+7,1,48~7,3,48
+7,4,161~9,4,161
+1,1,294~2,1,294
+9,5,15~9,7,15
+5,1,136~5,3,136
+0,2,155~0,4,155
+7,7,275~7,9,275
+2,0,112~2,3,112
+3,5,7~3,7,7
+5,8,102~5,9,102
+7,0,106~8,0,106
+2,4,165~2,6,165
+3,0,50~3,1,50
+4,0,204~6,0,204
+3,5,74~3,5,76
+3,1,254~3,1,257
+4,4,70~7,4,70
+3,0,102~3,2,102
+5,3,146~6,3,146
+8,7,69~8,9,69
+4,0,63~6,0,63
+0,5,234~2,5,234
+8,0,25~8,1,25
+1,7,1~3,7,1
+8,7,128~9,7,128
+9,7,49~9,7,51
+4,3,264~6,3,264
+2,6,59~2,6,60
+8,2,144~8,2,146
+7,4,279~7,6,279
+5,5,290~7,5,290
+3,5,170~3,9,170
+3,1,155~3,2,155
+1,1,49~4,1,49
+0,5,6~0,6,6
+4,7,111~4,7,113
+5,7,107~5,8,107
+6,2,17~8,2,17
+4,5,229~4,7,229
+6,7,147~8,7,147
+7,2,105~9,2,105
+2,2,182~3,2,182
+9,6,229~9,6,230
+1,0,115~3,0,115
+5,2,271~8,2,271
+5,0,80~6,0,80
+8,8,5~8,8,6
+6,6,142~8,6,142
+1,4,302~1,4,305
+7,1,298~7,3,298
+3,2,194~6,2,194
+4,2,237~7,2,237
+4,9,103~6,9,103
+3,9,96~6,9,96
+0,2,216~2,2,216
+7,4,46~7,4,48
+8,7,286~8,7,286
+2,6,95~4,6,95
+4,0,91~4,2,91
+5,7,84~5,7,84
+6,8,61~6,9,61
+8,9,70~8,9,72
+3,1,253~3,3,253
+6,0,195~6,3,195
+3,1,243~3,3,243
+9,3,68~9,4,68
+7,1,275~7,2,275
+5,7,108~6,7,108
+6,5,69~6,5,70
+3,4,131~3,6,131
+0,1,60~0,4,60
+2,5,96~2,7,96
+1,5,1~1,5,3
+0,1,283~3,1,283
+4,7,268~4,8,268
+0,8,14~0,8,16
+7,8,294~9,8,294
+1,6,86~1,6,87
+8,3,78~9,3,78
+3,1,98~5,1,98
+5,2,68~5,4,68
+0,2,66~0,4,66
+7,8,54~7,8,55
+7,2,240~7,2,242
+6,1,33~9,1,33
+6,7,206~9,7,206
+7,6,180~7,9,180
+5,5,149~8,5,149
+7,0,133~9,0,133
+3,0,24~3,2,24
+7,0,76~7,0,78
+0,8,171~1,8,171
+7,3,41~7,6,41
+1,7,105~3,7,105
+3,0,79~5,0,79
+0,0,178~0,2,178
+1,6,235~3,6,235
+3,0,62~3,0,63
+1,3,282~3,3,282
+5,8,2~8,8,2
+3,5,39~3,7,39
+4,5,96~6,5,96
+8,6,259~8,8,259
+4,0,120~4,3,120
+2,9,55~5,9,55
+7,5,250~7,7,250
+3,0,145~5,0,145
+2,2,157~4,2,157
+4,8,212~4,9,212
+3,5,45~3,7,45
+3,2,73~3,5,73
+7,4,224~7,4,227
+7,5,49~9,5,49
+2,4,16~2,5,16
+2,4,162~2,6,162
+4,3,82~7,3,82
+4,3,214~4,5,214
+0,9,242~2,9,242
+3,3,55~4,3,55
+5,7,247~8,7,247
+3,5,36~4,5,36
+4,1,85~4,3,85
+1,7,209~3,7,209
+1,2,247~1,3,247
+5,9,2~7,9,2
+2,6,56~3,6,56
+9,4,115~9,6,115
+0,3,137~0,5,137
+4,3,219~4,3,219
+4,4,131~4,6,131
+2,0,102~2,2,102
+6,6,174~6,9,174
+5,5,9~5,7,9
+3,6,251~3,8,251
+0,6,57~0,8,57
+7,2,130~7,5,130
+1,5,289~1,5,289
+1,6,58~2,6,58
+3,7,69~3,8,69
+3,4,219~6,4,219
+7,6,22~7,6,24
+2,4,207~4,4,207
+9,0,278~9,0,280
+6,0,18~6,2,18
+8,0,109~8,0,111
+2,0,199~2,2,199
+8,5,232~9,5,232
+7,5,207~7,8,207
+3,3,62~4,3,62
+9,0,290~9,3,290
+3,1,26~3,3,26
+7,5,288~7,8,288
+1,8,138~1,8,140
+7,1,103~9,1,103
+3,2,35~4,2,35
+7,0,136~8,0,136
+2,2,100~2,4,100
+4,0,193~4,3,193
+3,0,58~3,0,60
+3,6,176~3,9,176
+2,6,159~2,8,159
+2,6,106~5,6,106
+4,3,211~4,6,211
+3,8,208~3,8,210
+1,5,57~3,5,57
+6,2,268~7,2,268
+8,6,246~8,8,246
+3,5,195~6,5,195
+1,0,1~3,0,1
+2,6,271~5,6,271
+3,6,195~3,8,195
+6,1,126~8,1,126
+3,4,277~3,6,277
+1,3,250~1,4,250
+0,1,152~0,4,152
+2,2,299~2,5,299
+7,4,297~7,6,297
+2,3,144~5,3,144
+5,2,274~6,2,274
+7,0,162~7,2,162
+9,2,25~9,2,27
+1,0,117~1,2,117
+1,5,243~1,7,243
+1,6,61~3,6,61
+6,7,130~7,7,130
+1,5,220~4,5,220
+0,8,162~0,9,162
+3,2,30~3,2,32
+7,5,253~9,5,253
+6,4,127~6,6,127
+6,4,35~6,4,37
+0,9,52~3,9,52
+0,3,70~0,3,70
+0,0,68~0,0,70
+6,3,42~9,3,42
+2,1,302~4,1,302
+2,6,121~2,7,121
+4,3,259~6,3,259
+3,2,160~3,4,160
+5,4,35~5,6,35
+7,4,204~7,6,204
+3,4,48~3,6,48
+3,2,210~3,4,210
+6,7,4~6,8,4
+0,2,242~2,2,242
+8,3,10~8,3,11
+3,0,141~3,3,141
+6,6,5~8,6,5
+1,5,92~1,7,92
+1,8,112~4,8,112
+8,7,1~8,9,1
+6,6,123~6,8,123
+3,5,84~5,5,84
+0,3,182~0,3,184
+3,6,41~4,6,41
+8,2,12~8,4,12
+7,3,243~7,5,243
+5,9,82~8,9,82
+2,6,239~2,7,239
+6,5,283~8,5,283
+0,5,248~0,7,248
+3,4,255~3,4,257
+7,6,74~7,8,74
+2,4,92~2,6,92
+4,7,42~4,9,42
+0,3,4~0,5,4
+7,9,6~9,9,6
+5,4,93~7,4,93
+4,2,163~4,2,164
+7,0,220~7,4,220
+0,2,25~0,3,25
+4,1,199~5,1,199
+0,4,112~2,4,112
+6,2,36~6,3,36
+2,9,246~5,9,246
+7,7,222~7,7,222
+5,1,120~5,3,120
+3,9,209~6,9,209
+1,1,109~1,2,109
+9,4,103~9,6,103
+2,5,252~2,5,252
+3,0,295~5,0,295
+8,0,277~9,0,277
+2,0,301~4,0,301
+1,0,129~1,3,129
+6,7,217~8,7,217
+2,3,102~3,3,102
+1,3,170~1,6,170
+0,4,103~2,4,103
+4,3,64~5,3,64
+0,8,118~2,8,118
+4,2,266~6,2,266
+8,7,265~8,9,265
+0,5,290~0,5,291
+8,3,152~8,6,152
+2,5,20~2,5,22
+0,0,52~3,0,52
+1,9,290~3,9,290
+7,5,59~7,7,59
+5,7,75~5,9,75
+1,4,173~1,4,176
+2,1,296~5,1,296
+3,2,248~5,2,248
+7,5,300~7,5,302
+6,6,176~6,6,178
+2,2,243~2,3,243
+2,0,207~4,0,207
+1,0,33~1,2,33
+8,2,134~8,3,134
+1,5,120~1,6,120
+5,5,172~7,5,172
+0,4,145~0,5,145
+9,2,282~9,2,285
+0,7,247~2,7,247
+8,9,4~8,9,5
+8,4,241~8,6,241
+2,5,118~4,5,118
+7,5,60~8,5,60
+6,6,73~7,6,73
+8,0,229~8,0,232
+4,6,56~7,6,56
+0,9,67~2,9,67
+7,7,41~7,7,44
+2,6,237~3,6,237
+7,9,89~9,9,89
+5,5,77~5,9,77
+4,6,260~4,8,260
+2,7,215~2,7,217
+5,3,139~7,3,139
+2,6,291~2,8,291
+1,2,201~3,2,201
+7,1,273~7,4,273
+0,2,247~0,2,249
+3,5,201~5,5,201
+0,1,66~0,1,66
+1,3,169~4,3,169
+7,2,29~9,2,29
+5,4,33~8,4,33
+2,9,281~5,9,281
+5,1,278~8,1,278
+2,3,24~2,5,24
+0,4,141~0,4,143
+0,0,142~0,2,142
+4,6,274~5,6,274
+0,2,124~0,4,124
+1,0,204~2,0,204
+3,5,282~3,6,282
+9,6,123~9,9,123
+3,1,114~4,1,114
+5,3,299~5,6,299
+7,7,84~9,7,84
+3,3,6~3,5,6
+0,3,181~0,3,181
+2,3,75~4,3,75
+1,5,5~1,6,5
+2,4,241~5,4,241
+6,7,252~6,8,252
+1,3,117~3,3,117
+4,2,280~4,2,280
+5,8,140~5,9,140
+3,2,124~5,2,124
+0,0,119~1,0,119
+4,4,178~5,4,178
+9,7,244~9,9,244
+7,5,99~9,5,99
+7,2,110~9,2,110
+3,3,258~3,3,260
+0,7,158~2,7,158
+0,5,140~0,7,140
+4,7,225~5,7,225
+7,7,67~7,9,67
+7,3,283~7,3,284
+5,0,29~7,0,29
+8,6,124~8,7,124
+3,2,164~3,3,164
+3,1,138~6,1,138
+0,6,173~0,6,173
+4,6,55~5,6,55
+2,4,81~2,8,81
+7,2,25~7,4,25
+5,9,182~7,9,182
+2,5,85~3,5,85
+4,6,280~4,9,280
+7,1,22~8,1,22
+0,0,72~1,0,72
+8,5,257~8,7,257
+1,4,49~3,4,49
+1,0,29~3,0,29
+1,9,247~1,9,248
+7,6,122~7,6,125
+3,2,260~5,2,260
+6,1,110~7,1,110
+2,8,126~4,8,126
+0,2,21~2,2,21
+0,4,295~0,4,296
+1,1,284~4,1,284
+2,5,245~5,5,245
+0,5,51~3,5,51
+1,2,122~3,2,122
+1,4,12~1,4,14
+7,4,276~7,4,278
+5,8,14~7,8,14
+3,8,161~3,9,161
+1,2,284~1,4,284
+4,7,71~4,7,74
+5,7,216~8,7,216
+8,8,52~8,8,54
+6,5,20~8,5,20
+9,3,77~9,5,77
+4,2,159~5,2,159
+5,5,68~5,7,68
+5,7,70~5,9,70
+1,7,95~4,7,95
+7,3,26~9,3,26
+6,4,27~6,7,27
+2,3,257~4,3,257
+5,5,4~8,5,4
+3,8,45~3,8,47
+6,2,167~8,2,167
+1,6,8~1,7,8
+7,6,8~8,6,8
+6,4,38~6,6,38
+2,7,100~2,9,100
+4,1,216~4,4,216
+9,1,212~9,3,212
+5,2,14~5,4,14
+1,5,240~1,5,242
+1,4,169~3,4,169
+6,2,28~6,4,28
+9,3,282~9,6,282
+9,5,207~9,7,207
+0,5,54~0,7,54
+4,5,237~4,7,237
+4,9,1~4,9,3
+0,3,293~2,3,293
+2,1,287~2,2,287
+7,8,137~7,9,137
+1,9,214~4,9,214
+5,6,302~5,8,302
+4,1,29~4,4,29
+4,6,138~4,9,138
+2,0,147~4,0,147
+4,2,62~4,2,64
+4,2,283~6,2,283
+3,4,162~3,7,162
+6,2,104~6,4,104
+1,6,249~3,6,249
+0,4,134~1,4,134
+8,3,192~8,3,192
+5,9,268~7,9,268
+0,0,53~1,0,53
+0,2,121~0,2,123
+9,1,23~9,4,23
+0,6,297~0,9,297
+3,1,22~3,3,22
+4,4,146~4,6,146
+4,8,1~5,8,1
+7,2,45~8,2,45
+3,9,50~6,9,50
+8,0,21~8,2,21
+4,2,105~4,2,107
+0,6,289~2,6,289
+3,4,280~3,4,282
+8,7,161~8,9,161
+2,4,84~2,4,86
+2,8,292~2,9,292
+6,0,60~6,3,60 \ No newline at end of file
diff --git a/aoc2023/src/day23/input.txt b/aoc2023/src/day23/input.txt
new file mode 100644
index 0000000..12c7b78
--- /dev/null
+++ b/aoc2023/src/day23/input.txt
@@ -0,0 +1,141 @@
+#.###########################################################################################################################################
+#...#.....#.....................#...#.........###...###...###...#...#.......#...###.....#...#.......###.........#...........#.............###
+###.#.###.#.###################.#.#.#.#######.###.#.###.#.###.#.#.#.#.#####.#.#.###.###.#.#.#.#####.###.#######.#.#########.#.###########.###
+#...#...#...###...#.............#.#.#.......#.....#...#.#.#...#...#.#.....#.#.#...#...#...#...#...#.#...#.......#.........#.#.#.........#...#
+#.#####.#######.#.#.#############.#.#######.#########.#.#.#.#######.#####.#.#.###.###.#########.#.#.#.###.###############.#.#.#.#######.###.#
+#.......###...#.#.#...............#...#.....#.........#.#...#.......#.....#...#...###.....#...#.#...#...#.#...###...###...#.#.#.#...###.....#
+###########.#.#.#.###################.#.#####.#########.#####.#######.#########.#########.#.#.#.#######.#.#.#.###.#.###.###.#.#.#.#.#########
+#.........#.#...#.....................#.....#.###.....#.....#...#...#.......#...#...#####...#.#.#...###.#.#.#.....#...#.#...#.#...#.........#
+#.#######.#.###############################.#.###.###.#####.###.#.#.#######.#.###.#.#########.#.#.#.###.#.#.#########.#.#.###.#############.#
+#.......#...#.....###.....#...###.....###...#...#.#...#...#.#...#.#.....#...#...#.#.###...#...#...#.#...#.#.#.....#...#.#...#.#.............#
+#######.#####.###.###.###.#.#.###.###.###.#####.#.#.###.#.#.#.###.#####.#.#####.#.#.###.#.#.#######.#.###.#.#.###.#.###.###.#.#.#############
+#.....#.....#.#...#...#...#.#...#...#...#.#...#...#...#.#.#.#...#.....#.#.#.....#.#.###.#.#...#.....#...#.#...#...#.###.#...#.#.......#...###
+#.###.#####.#.#.###.###.###.###.###.###.#.#.#.#######.#.#.#.###.#####.#.#.#.#####.#.###.#.###.#.#######.#.#####.###.###.#.###.#######.#.#.###
+#...#.......#.#...#...#...#.#...###...#.#.#.#.........#.#.#.#...#...#.#.#.#.###...#.#...#.....#.###...#.#.#...#...#...#.#...#.#.......#.#.###
+###.#########.###.###.###.#.#.#######.#.#.#.###########.#.#.#.###.#.#.#.#.#.###.###.#.#########.###.#.#.#.#.#.###.###.#.###.#.#.#######.#.###
+###.....#...#.#...###...#.#.#.#.>.>...#.#.#...#.......#.#.#.#.###.#.#.#.#.#.###.#...#.........#...#.#.#.#...#.>.>.#...#...#.#.#.....#...#...#
+#######.#.#.#.#.#######.#.#.#.#.#v#####.#.###.#.#####.#.#.#.#.###.#.#.#.#.#.###.#.###########.###.#.#.#.#######v###.#####.#.#.#####.#.#####.#
+#...###...#...#.#.....#.#.#.#.#.#.#...#...#...#...#...#.#.#.#.###.#.#.#.#.#.###.#.#...###...#...#.#.#.#.#.....#.#...#...#.#.#.#.....#...#...#
+#.#.###########v#.###.#.#.#.#.#.#.#.#.#####.#####.#.###.#.#.#.###.#.#.#.#.#.###.#.#.#.###.#.###.#.#.#.#.#.###.#.#.###.#.#.#.#.#.#######.#.###
+#.#.....#...###.>.###.#.#.#.#.#.#.#.#...###.....#.#.#...#.#.#.>.>.#.#.#.#.#...#.#.#.#.>.>.#...#.#.#.#...#...#.#.#...#.#.#.#.#.#...###...#...#
+#.#####.#.#.###v#####.#.#.#.#.#.#.#.###.#######.#.#.#.###.#.###v###.#.#.#.###.#.#.#.###v#####.#.#.#.#######.#.#.###.#.#.#.#.#.###.###.#####.#
+#.#...#...#.#...###...#.#.#.#.#.#.#.#...#.....#.#.#.#...#.#...#...#...#.#.###.#.#.#.#...#...#...#...###.....#.#...#.#.#.#.#.#.###...#.#.....#
+#.#.#.#####.#.#####.###.#.#.#.#.#.#.#.###.###.#.#.#.###.#.###.###.#####.#.###.#.#.#.#.###.#.###########.#####.###.#.#.#.#.#.#.#####.#.#.#####
+#...#.....#.#.....#.#...#.#.#.#.#.#.#.....#...#...#...#.#.#...###...#...#...#...#...#...#.#.###...#...#.....#...#.#.#.#.#.#...###...#.#.....#
+#########.#.#####.#.#.###.#.#.#.#.#.#######.#########.#.#.#.#######.#.#####.###########.#.#.###.#.#.#.#####.###.#.#.#.#.#.#######.###.#####.#
+###...###.#.#...#.#.#.#...#.#.#.#...###...#.....#.....#.#.#.#.......#.......#.....#.....#.#.#...#...#...#...###.#.#.#.#...###...#...#.#.....#
+###.#.###.#.#.#.#.#.#.#.###.#.#.#######.#.#####.#.#####.#.#.#.###############.###.#.#####.#.#.#########.#.#####.#.#.#.#######.#.###.#.#.#####
+#...#.#...#...#...#...#.#...#...#.......#.......#.......#...#.....#.......###...#.#.......#.#.........#...#...#.#.#.#.....#...#.....#.#.#...#
+#.###.#.###############.#.#######.###############################.#.#####.#####.#.#########.#########.#####.#.#.#.#.#####.#.#########.#.#.#.#
+#...#.#...............#...#...###.....#.......#.....#.....#.....#...#.....#.....#.........#.#...#...#.#...#.#.#...#.#...#.#...........#...#.#
+###.#.###############.#####.#.#######.#.#####.#.###.#.###.#.###.#####.#####.#############.#.#.#.#.#.#v#.#.#.#.#####.#.#.#.#################.#
+#...#...#...#.....#...#...#.#.###...#...#.....#...#.#.#...#...#.#.....#####...........###.#.#.#...#.>.>.#...#...###...#...###...#.........#.#
+#.#####.#.#.#.###.#.###.#.#.#.###.#.#####.#######.#.#.#.#####.#.#v###################.###.#.#.#######v#########.#############.#.#.#######.#.#
+#.#...#...#.#.###...#...#...#...#.#.#...#.......#.#...#...#...#.>.>.....#.......#...#...#.#.#.......#.....#.....#...#...#.....#.#.......#.#.#
+#.#.#.#####.#.#######.#########.#.#.#.#.#######.#.#######.#.#####v#####.#.#####.#.#.###.#.#.#######.#####.#.#####.#.#.#.#.#####.#######.#.#.#
+#.#.#.#...#...#...###.......#...#.#.#.#.###.....#.......#.#...#...#.....#.....#...#.....#...#...###...#...#...###.#...#.#.....#.........#.#.#
+#.#.#v#.#.#####.#.#########.#.###.#.#.#.###.###########.#.###.#.###.#########.###############.#.#####.#.#####.###.#####.#####.###########.#.#
+#.#.#.>.#.###...#...#...#...#...#.#.#.#...#.....#...#...#.....#...#.#.....###.............#...#.......#...###.#...#.....#...#...........#.#.#
+#.#.#v###.###.#####.#.#.#.#####.#.#.#.###.#####.#.#.#.###########.#.#.###.###############.#.#############.###.#.###.#####.#.###########.#.#.#
+#.#.#...#...#.....#.#.#.#.#.....#.#.#...#.#.....#.#...#.......#...#.#.#...#...#...#.......#.............#...#...###.#...#.#.#...#.......#...#
+#.#.###.###.#####.#.#.#.#.#.#####.#.###.#.#v#####.#####.#####.#.###.#.#.###.#.#.#.#.###################.###.#######.#.#.#.#.#.#.#.###########
+#.#.###...#.....#.#.#.#.#.#.#...#.#...#.#.>.>...#.......#.....#...#.#.#.###.#.#.#.#...###...#...#.....#...#...#.....#.#.#.#.#.#.#...#...#...#
+#.#.#####.#####.#.#.#.#.#.#.#.#.#.###.#.###v###.#########.#######.#.#.#.###.#.#.#.###v###.#.#.#.#.###.###.###.#.#####.#.#.#.#.#.###v#.#.#.#.#
+#...#.....#...#...#...#.#.#.#.#.#...#.#.###...#.#...#...#...###...#...#...#.#.#.#...>.>.#.#.#.#.#.###.....#...#.....#.#.#.#.#.#.#.>.#.#...#.#
+#####.#####.#.#########.#.#.#.#.###.#.#.#####.#.#.#.#.#.###.###.#########.#.#.#.#####v#.#.#.#.#.#.#########.#######.#.#.#.#.#.#.#.#v#.#####.#
+#.....#...#.#.#.......#.#.#...#.#...#...#.....#...#...#.#...#...#...#####...#.#.###...#.#.#.#.#.#.#.......#.......#.#.#.#.#...#...#...#...#.#
+#.#####.#.#.#.#.#####.#.#.#####.#.#######.#############.#.###.###.#.#########.#.###.###.#.#.#.#.#.#.#####.#######.#.#.#.#.#############.#.#.#
+#.......#...#...#.....#...#.....#.###...#...........###.#.#...#...#.........#...#...###...#.#.#.#.#.....#.......#.#...#...#.............#...#
+#################.#########.#####.###.#.###########.###.#.#.###.###########.#####.#########.#.#.#.#####.#######.#.#########.#################
+#.............#...#...#...#.#.....#...#...#.........#...#.#...#.#.......#...###...#.......#.#.#.#.#...#.......#...#.......#.................#
+#.###########.#.###.#.#.#.#.#.#####.#####.#.#########.###.###.#.#.#####.#.#####.###.#####.#.#.#.#.#.#.#######.#####.#####.#################.#
+#...........#...###.#.#.#.#...#...#.....#...#...#...#...#...#...#.....#.#.#.....###.#.....#...#.#.#.#.........###...#...#...#...............#
+###########.#######.#.#.#.#####.#.#####.#####.#.#.#.###.###.#########.#.#.#.#######.#.#########.#.#.#############.###.#.###.#.###############
+#...........#.......#...#.#...#.#.#...#.......#...#...#.#...###.......#...#.........#...###...#...#.............#...#.#.....#...........#...#
+#.###########.###########.#.#.#.#.#.#.###############.#.#.#####.#######################.###.#.#################.###.#.#################.#.#.#
+#...#.........#...........#.#.#.#.#.#.#...#.........#.#...#...#.........#.............#...#.#.#...#.........#...###.#.....#...#...###...#.#.#
+###.#.#########.###########.#.#.#.#.#.#.#.#.#######.#.#####.#.#########.#.###########.###.#.#.#.#.#.#######.#.#####.#####.#.#.#.#.###v###.#.#
+###.#.#.....#...#...#.....#.#.#.#.#.#.#.#...#...###...#...#.#.#...#.....#...........#.#...#.#...#.#.....#...#.....#...#...#.#.#.#.#.>.###.#.#
+###.#.#.###.#.###.#v#.###.#.#.#.#.#.#.#.#####.#.#######.#.#.#.#.#.#.###############.#.#.###.#####.#####.#.#######.###.#.###.#.#.#.#.#v###.#.#
+#...#.#...#...#...#.>.#...#.#.#.#.#.#.#.......#.....#...#.#.#...#...#.......#.......#...#...#.....###...#.........#...#.#...#.#.#.#.#.....#.#
+#.###.###.#####.###v###.###.#.#.#.#.#.#############.#.###.#.#########.#####.#.###########.###.#######.#############.###.#.###.#.#.#.#######.#
+#.....###.......#...###...#.#.#.#.#.#.###...........#...#.#...........#.....#...#.....###...#.#.....#.#...#.....#...#...#...#...#...#.....#.#
+#################.#######.#.#.#.#.#.#.###.#############.#.#############.#######.#.###.#####.#.#.###.#.#.#.#.###.#.###.#####.#########.###.#.#
+#.................###.....#.#.#.#.#.#...#...#.........#.#...#...........#...###.#.#...#...#.#.#.#...#...#...#...#...#.#.....#...#.....#...#.#
+#.###################.#####.#.#.#.#.###.###v#.#######.#.###.#.###########.#.###v#.#.###.#.#.#.#.#.###########.#####.#.#.#####.#.#.#####.###.#
+#...................#.......#.#.#.#...#...>.>.#.......#.#...#.......#...#.#.#.>.>.#.###.#.#.#.#.#.###...#...#.###...#.#...#...#.#.....#...#.#
+###################.#########.#.#.###.#####v###.#######.#.#########v#.#.#.#.#.#v###.###.#.#.#.#.#.###.#.#.#.#v###.###.###.#.###.#####.###.#.#
+#...................###.....#.#.#.#...#.....###.#.....#.#.......#.>.>.#.#.#.#.#...#.#...#.#.#...#.....#...#.>.>.#...#.#...#...#.#...#...#.#.#
+#.#####################.###.#.#.#.#.###.#######.#.###.#.#######.#.#v###.#.#.#.###.#.#.###.#.#################v#.###.#.#.#####.#.#.#.###.#.#.#
+#.....................#...#.#...#...###.#.....#.#.###.#.....###...#...#.#.#...###.#...###.#.......#.........#.#.#...#...#...#.#.#.#.#...#.#.#
+#####################.###.#.###########.#.###.#.#.###.#####.#########.#.#.#######.#######.#######.#.#######.#.#.#.#######.#.#.#.#.#.#.###.#.#
+#.....................#...#.#...#.....#...#...#.#.#...#.....#...#...#.#.#.#.......###...#.........#.......#.#.#...#.....#.#...#.#.#...#...#.#
+#.#####################.###.#.#.#.###.#####.###.#.#.###.#####.#.#.#.#.#.#.#.#########.#.#################.#.#.#####.###.#.#####.#.#####.###.#
+#.........#...#...#...#...#.#.#.#...#.#...#.###.#.#.....#.....#.#.#...#.#.#...........#.........#.......#.#...#...#.#...#.....#...#...#.....#
+#########.#.#.#.#v#.#.###.#.#.#.###.#.#.#.#v###.#.#######.#####.#.#####.#.#####################.#.#####.#.#####.#.#.#.#######v#####.#.#######
+#.......#...#...#.>.#...#.#.#.#.#...#.#.#.>.>.#...#...###...###.#.....#...#####.................#.....#...#...#.#.#.#.....#.>.#...#.#.#...###
+#.#####.#########v#####.#.#.#.#.#.###.#.###v#.#####.#.#####.###.#####.#########.#####################.#####.#.#.#.#.#####.#.#v#.#.#.#.#.#.###
+#.....#.###...#...#####.#.#...#.#...#...###.#...#...#.#...#...#.......###...#...#...###...#...###...#.###...#.#.#.#...#...#.#...#...#...#...#
+#####.#.###.#.#.#######.#.#####.###.#######.###.#.###.#.#.###.###########.#.#.###.#.###.#.#.#.###.#.#v###.###.#.#.###.#.###.###############.#
+#.....#.....#.#.......#.#.#.....#...#...#...#...#.#...#.#.#...###...#...#.#.#.....#.#...#...#.#...#.>.>.#.###.#.#...#.#.....#.......#.......#
+#.###########.#######.#.#.#.#####.###.#.#.###.###.#.###.#.#.#####.#.#.#.#.#.#######v#.#######.#.#####v#.#.###.#.###.#.#######.#####.#.#######
+#.......#...#.#.......#...#...#...#...#.#...#.#...#...#.#.#.#...#.#.#.#.#.#.#...#.>.>.#.....#.#...###.#...#...#...#.#.#.......#...#.#.....###
+#######.#.#.#.#.#############.#.###.###.###.#.#.#####.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#v###.###.#.###.###.#####.#####.#.#.#.#######.#.#.#####.###
+#...###...#.#.#.............#...#...#...#...#.#...#...#.#.#.#.#.#.#.#.#...#.#.#.#.#.###...#.#...#.#...#...#.......#...#.........#.#.#...#...#
+#.#.#######.#.#############.#####.###.###.###.###.#.###.#.#v#.#.#.#.#.#####.#.#.#.#.#####.#.###.#.#.###.#.#######################.#.#.#.###.#
+#.#.........#...............###...###...#...#.....#.....#.>.>.#...#.#.....#...#...#.......#...#...#.....#.....#...................#...#.....#
+#.#############################.#######.###.###############v#######.#####.###################.###############.#.#############################
+#.........#.............#.......###...#.#...###...#...#...#.###...#...#...#.................#.#...............#.........#...............#...#
+#########.#.###########.#.#########.#.#.#.#####.#.#.#.#.#.#.###.#.###.#.###.###############.#.#.#######################.#.#############.#.#.#
+#.......#...#...........#...........#.#.#...#...#...#.#.#.#.....#...#...###...............#.#.#.#.............###.......#.#.............#.#.#
+#.#####.#####.#######################.#.###.#.#######.#.#.#########.#####################.#.#.#.#.###########.###.#######.#.#############.#.#
+#.....#.....#...........#.............#.....#.......#.#.#.#...#.....#...#.................#...#...###...#...#...#.....#...#...........#...#.#
+#####.#####.###########.#.#########################.#.#.#.#.#.#.#####.#.#.###########################.#.#.#.###.#####.#.#############.#.###.#
+#...#.....#.#...#...#...#.............#...###.......#...#.#.#.#...#...#.#.....#.....#.....#...#.......#...#.#...#.....#.#...#.........#.#...#
+#.#.#####.#.#.#.#.#.#.###############.#.#.###.###########.#.#.###.#.###.#####.#.###.#.###.#.#.#.###########.#.###.#####.#.#.#.#########.#.###
+#.#.......#...#...#...#.......#.......#.#...#...........#.#.#.#...#.#...#...#...###...#...#.#.#...........#...###...#...#.#...#.........#...#
+#.#####################.#####.#.#######.###.###########.#.#.#.#.###.#.###.#.###########.###.#.###########.#########.#.###.#####.###########.#
+#...#...#...#.....#...#.....#.#.......#.#...#...###.....#...#...#...#...#.#...#.......#.#...#.###...#.....#.....###...#...#.....#...........#
+###.#.#.#.#.#.###.#.#.#####.#.#######.#.#.###.#.###.#############.#####.#.###.#.#####.#.#.###.###.#.#.#####.###.#######.###.#####.###########
+###.#.#.#.#...###...#.#.....#.#.......#.#...#.#.#...#...........#...#...#.#...#.....#...#.#...#...#...#####...#...#...#.....#...#...........#
+###.#.#.#.###########.#.#####.#v#######.###.#.#.#.###.#########.###.#.###.#.#######.#####.#.###.#############.###.#.#.#######.#.###########.#
+###.#.#.#.#...........#.....#.>.>.......#...#.#.#.....#.........###.#...#.#.#...###...###.#.###...........#...#...#.#.#.......#.#.....#...#.#
+###.#.#.#.#.###############.###v#########.###.#.#######.###########.###.#.#.#.#.#####.###.#.#############.#.###.###.#.#.#######.#.###.#.#.#.#
+###...#...#.......#...#####.#...#.........#...#...#...#...#.......#...#...#.#.#.......#...#.#...#.........#...#...#.#.#.......#...###...#...#
+#################.#.#.#####.#.###.#########.#####.#.#.###.#.#####.###.#####.#.#########.###.#.#.#.###########.###.#.#.#######.###############
+###...#...###...#...#.###...#...#.#####...#.....#.#.#.#...#.#.....#...#.....#.........#...#.#.#.#.....###...#...#.#.#.###.....#.......#.....#
+###.#.#.#.###.#.#####.###.#####.#.#####.#.#####.#.#.#.#v###.#.#####.###.#############.###.#.#.#.#####v###.#.###.#.#.#.###.#####.#####.#.###.#
+#...#...#...#.#.#.....#...###...#...#...#.#...#.#.#.#.>.>...#...###...#.......#.......#...#.#.#.#...>.>.#.#.#...#.#.#...#.......#.....#...#.#
+#.#########.#.#.#.#####.#####.#####.#.###.#.#.#.#.#.###v#######.#####.#######.#.#######.###.#.#.#.###v#.#.#.#.###.#.###.#########.#######.#.#
+#.........#.#.#.#...#...#...#.#...#...###.#.#...#.#.###.....#...#...#.#.......#.....#...###...#...###.#.#.#.#...#.#.#...#...#...#...#...#.#.#
+#########.#.#.#.###.#.###.#.#.#.#.#######.#.#####.#.#######.#.###.#.#.#.###########v#.###############.#.#.#.###.#.#.#.###.#.#v#.###.#.#.#.#.#
+###...#...#.#.#.#...#.....#.#.#.#.#...###.#.....#.#.#.......#...#.#.#.#...#.......>.>.#...............#...#.....#.#.#...#.#.>.#.....#.#...#.#
+###.#.#.###.#.#.#v#########.#.#.#.#.#.###.#####.#.#.#.#########.#.#.#.###.#.#######v###.#########################.#.###.#.###v#######.#####.#
+#...#.#...#.#.#.#.>.#.....#.#.#.#...#...#.......#...#.........#...#...#...#.#.......###.....#.....#...#.........#.#.#...#.#...###...#.#.....#
+#.###.###.#.#.#.#v#.#.###.#.#.#.#######.#####################.#########.###.#.#############.#.###.#.#.#.#######.#.#.#.###.#.#####.#.#.#.#####
+#...#.....#.#.#.#.#.#...#.#.#.#.#...###.........#.............#.....###.....#.......###...#...#...#.#.#.#.......#...#.....#...#...#...#.....#
+###.#######.#.#.#.#.###.#.#.#.#.#.#.###########.#.#############.###.###############.###.#.#####.###.#.#.#.###################.#.###########.#
+###...#...#.#.#.#.#.....#...#...#.#...#.........#...#...#.......#...#...###...#...#...#.#.....#.....#...#.#...........#.......#.###.........#
+#####.#.#.#.#.#.#.###############.###.#.###########.#.#.#.#######.###.#.###.#.#.#.###.#.#####.###########.#.#########.#.#######.###.#########
+#.....#.#.#...#...###.....#...###...#...###...#####...#...#.......#...#.#...#...#.....#.....#.#...#...###...#.....#...#...#...#...#.........#
+#.#####.#.###########.###.#.#.#####.#######.#.#############.#######.###.#.#################.#.#.#.#.#.#######.###.#.#####.#.#.###.#########.#
+#.......#.#...#...#...#...#.#.....#.......#.#...#...#...###.......#.#...#.#.....###...#...#.#...#.#.#.###...#...#...#...#.#.#.....#.........#
+#########.#.#.#.#.#.###.###.#####.#######.#.###.#.#.#.#.#########.#.#.###.#.###.###.#.#.#.#.#####.#.#.###.#.###v#####.#.#.#.#######.#########
+#.........#.#.#.#.#...#.###.#.....#...#...#.#...#.#.#.#.#...#...#.#.#.###...###...#.#.#.#.#.....#...#...#.#.#.>.>...#.#.#...#...###.......###
+#.#########.#.#.#.###.#.###.#.#####.#.#v###.#.###.#.#.#.#.#.#.#.#v#.#.###########.#.#.#.#.#####.#######.#.#.#.#####.#.#.#####.#.#########v###
+#.........#.#.#.#...#.#...#.#...#...#.>.>...#...#.#.#.#.#.#.#.#.>.>.#.#...#...#...#.#.#.#.#...#.....###.#.#.#...#...#.#...#...#.#.....#.>.###
+#########.#.#.#.###.#.###.#.###.#.#############.#.#.#.#.#.#.#.#######.#.#.#.#.#.###.#.#.#.#.#.#####.###.#.#.###.#.###.###.#.###.#.###.#.#v###
+#.........#.#...#...#...#.#...#.#.#...#.........#.#.#.#...#.#.#.....#...#...#.#.....#.#.#.#.#.#...#...#.#.#.#...#.#...#...#.#...#...#...#...#
+#.#########.#####.#####.#.###.#.#.#.#.#.#########.#.#.#####.#.#.###.#########.#######.#.#.#.#.#.#.###.#.#.#.#.###.#.###.###.#.#####.#######.#
+#.........#.....#.#...#.#.#...#.#...#.#...#.....#.#.#.#.....#.#...#...........#.......#.#...#...#.#...#...#.#...#.#...#...#.#...#...#.......#
+#########.#####.#.#.#.#.#.#.###.#####.###.#.###.#.#.#.#.#####.###.#############.#######.#########.#.#######.###.#.###.###.#.###.#.###.#######
+###.......#...#.#...#...#.#.###.....#.#...#.###.#.#.#.#...#...###.......#.....#.###...#.......#...#.......#.#...#.#...#...#.#...#.###.......#
+###.#######.#.#.#########.#.#######.#.#.###.###.#.#.#.###.#.###########.#.###.#v###.#.#######.#.#########.#.#.###.#.###.###.#.###.#########.#
+#...#...#...#.#...#...#...#.......#...#.....#...#.#...#...#.....###.....#.###.>.>.#.#.#.......#.....#...#.#.#.#...#.#...#...#...#...#.......#
+#.###.#.#.###.###.#.#.#.#########.###########.###.#####.#######.###.#####.#######.#.#.#.###########.#.#.#.#.#.#.###.#.###.#####.###.#.#######
+#.#...#.#.###...#...#.#.#...#...#.###...#.....#...#.....#.....#.#...#...#.#.......#.#.#...#.......#.#.#...#.#.#.#...#.#...#.....#...#.......#
+#.#.###.#.#####.#####.#.#.#.#.#.#.###.#.#.#####.###.#####.###.#.#.###.#.#.#.#######.#.###.#.#####.#.#.#####.#.#.#.###.#.###.#####.#########.#
+#.#.#...#.....#...#...#.#.#.#.#.#.#...#...#...#...#.#...#.#...#.#...#.#.#.#.....#...#...#...#...#.#.#.#.....#.#.#.#...#.#...#...#.#.........#
+#.#.#.#######.###.#.###.#.#.#.#.#.#.#######.#.###.#.#.#.#.#.###.###.#.#.#.#####.#.#####.#####.#.#.#.#.#.#####.#.#.#.###.#.###.#.#.#.#########
+#...#.........###...###...#...#...#.........#.....#...#...#.....###...#...#####...#####.......#...#...#.......#...#.....#.....#...#.........#
+###########################################################################################################################################.# \ No newline at end of file
diff --git a/aoc2023/src/day3/input.txt b/aoc2023/src/day3/input.txt
new file mode 100644
index 0000000..1903642
--- /dev/null
+++ b/aoc2023/src/day3/input.txt
@@ -0,0 +1,140 @@
+............830..743.......59..955.......663..........................................367...........895....899...............826...220......
+.......284.....*............*.....$...+.....*...377..................*.......419.............488...*.......*...................*..-....939..
+....%.........976..679.461.7..........350..33.........$.380...$...151.897..........295..#......*....105.....418.............481........&....
+...992.....#......=...../........701................508...*..578........................259...331.................795..945........79........
+.........868........................*.............................17*..........348................441*852........*.....-...........@.....922
+....................*200............311..63................452.......323.#778.*....674....................680......696...372.....*..........
+.......266.......209......589.....=......*...365.........7.*...233.............755....*......644...272........697..*....*.....682..225......
+..836..........................949....607..........&....*..899...*....679.527.........331..........$....788../.....43....89.................
+........367.....328.&......%...............680...69..717.......60.......*.*............................*..........................728...264.
+........*.........*..119.253.......................................626....129...274............97...679.......752........*.......*....*.*...
+........360......471........../.........573-.702.............866...@...........*......772....../........259....*.........430....136.742.543.
+.........................../.852...............*...775...............643....455....../...........832....*.....41..535.......................
+.............-..........340.................103....*..........$...51*..................74................438......%...776...+.23*..663......
+.15.......806...............990.....................427....924............530.........=..............................*....968.....=....480..
+......#..............@914...*..............*........................%......*................................/.....406.................*.....
+....201.........79........592............70.894.....247..513+....367..$299.698......199................-.....223....../.........563....783..
+......................448........489................*.................................*....440...889...715..........351.....39..............
+.138....../766...........*.......................152.........................377....599.......*...*...........................@.............
+....%.820.......10*43.670..$87....100*244..@706..........668..319#...........................831.736....@............./..693.....321%.......
+......=...930#..................@...................493....*............152......569.................=.914....764.....9.-...................
+378$...............&.....854..505.........%........&.....124......12........117.....*591..979..76..133..........+............/..........883.
+...............602.141.....*...............770.....................*.........*................../.........874.@....../684....778............
+...........................954.....*397.........................394...........614..307*74..457..............+.514.......................327.
+........335*25.....-....31..........................................$...719.................*........6..214................878..............
+...............86*.269....*...480........................*....140..947....*..&.......................*......972..............*..364*274.....
+501-.......805..........285...*..................6....335.167...*........18...332.............741...127......+.............246..............
+......616.......752*276.....470.848..599.........*............779..=................539...961..$.........204.......-..201*.....%............
+.491.....*..521.........*94.......*.-.....&...163........285/......51..99*......474..*...-.......945.....&......839.......140...201.....$...
+....$.795..*........539.........500.......662.............................421....*...459..../.......*407.............../................471.
+...........110.......*...............252.............................%..........730......551..509.............824...230....569....48=.......
+......150...................................+..70.565=.&320.........983....155................=.....54.......%............*....@......../...
+...............972..146...........49.433..137..............................*....%..................@....................436.451..........328
+568-...@.552%....-.-................*.................957................93......74...........*........156.566../....#...........285........
+.....565..............693....443......................*....394.@58...362...................383.583.............542.38............./..890....
+...*.................*........*........&.223...........506.............=..................................300...............477........&....
+..612..459..........462....663......125....................720..............355.....253...............904......................*............
+........$................................622..............=................*...........*30.........#.$........................284........383
+............&.999....&.......................%........240....295*681.846....53.....806......793..646....626./76..737....479.........558.@...
+.........892..#.......885.....804..587*....340.........*..............%............*.........*..........*................%............/.....
+660..635...........-............./.....213........$....512.....551.............*....910........................@............................
+........*..........361..270*.....................328..............*.........853........................*.....985...965............232...948.
+..501@......................213...412$.....375..................631..916.......................254...284.........#....*..252........*.......
+...................695............................872*876..622..........-.........*..575...851*..................910.395..*....*717.248.....
+.....91.........80....*..390...........497....496............*.......@.........297..*................&....873.............946.8.........647.
+.......*.424.......108.....=.............*..................686....418.............131........600.96.327...=...561...321............343*....
+....731....*..............................938..........256..............909.......................................*.........................
+.........811...=....................680...........167...*...601.....................892..#.......142*.......151..108............201.........
+................653........879....@.*.........%...*...699..*..............726............695.870.....526.$................*8............234.
+....54....311..............=...320..619.......495.375.......926....914.........654..............*........236...$.......444.....@613.........
+...*........*......450*............................................*...786.625.......804.850.....674..........305...........................
+..593.512....517.......155.....646*239....286......+...........96..264....*......471.*......*.........314*901..............879..............
+..........................................=.....419....820......&..................+.......163....148........................*....586.......
+.....331.....................637....126.................*..147............650...............................................315....*........
+.......%......................$....../.................392....@...943..34...*......752.............................161..30.........970.521..
+.........984.412#.......-.569...@................464....................*.275..&.....#.126*506....................*.......=.168-............
+.724..................570....*.914.388.........%..$.........274.......263.......130..............102.....2....21+.268....................226
+..........776=...6........759.......*..283..309.....682......$..........................................%........................446........
+....%284.........-....#...........119....*......622...@....+............/.......929..178...........141/............../650...628.+...........
+....................440........88.........335...*.......804............968..976*....+...................$.421..431..................*.......
+.....880@.......871.....30......................249...........134....*................*...............95....-...*.....856...353...94.....963
+...............*....97..&.......989./.........*.....522+..$.....*.226.436.905......347.396.707...511..........342.....-.....*...........*...
+........936*....299.........217.&...478....931.457........62.391............&...............*..../...884*....................370........483.
+....965.....992.............*......................................371*771.............37..382...........990...391.......852................
+.......*........985.......753.&..........561.204.......................................*......................*...........@..........+935...
+......677.....................164.883...............325........951.....847....%......433....*944.50...753..344..............................
+.829.......583........429............*34......243...*.........*.............329.%........421...........*..........803..746............675...
+...*..................*....512............999.......102......398.................640................401....310.............164...452..*.....
+269........9........705....*........782....%.......................615.734....-..............289...........*.....................=....661...
+........37.#..............14.......*........../.......586.............*........623.......129........324.....601...%.....@...................
+...165................#.........861............463.......*.......361*..............356........175.....*.........906.897..716....118..#......
+.....*.............728....417.........+...395#.........443...........829.....390-....................399...............*..........+..813....
+....176..253...846......$...........719..........132............897...............334......................20...........51.....%............
+..............*....*..278................958........*.......=.................183*.......427.......766.......*..914.282......674............
+....&......344...249.....................*.....445.770.....67.....301................295*.........*....715.390...*...../...............424..
+.....541......................160.580...........#................=...........*677..............394.......*........327....739...179.360..*...
+..........=................%.....*................-954......%.............406......765..................930.....*.........../.....*.....370.
+....%.....979.379..........415...............318..........284....440../............-....133.........157......579.550................747.....
+.240..........*.....................@...........*642............*.....84.....%.331................2*...................582...=........*.....
+......=.....246....167...............704.............763........999.......781...*.....-109............126..801............*.484....632..542.
+....%..488.........@..........................$954....*../.....................779..........232................510.....149..................
+...27..........984.........*....485.....937........982..234..............225..................*..........122.............................16.
+...........473.#..........558..*.............410-...........93............#..655....846....829.....760......=...................=....+......
+.....=390..*...................624........#.................+..473..............#......=...........+...577#......$...481.......651.869.806..
+747.......543.259.../717............&...346.......948..........$...........472.............230+......=.........206......*...................
+................*........+.224/...798.........311...*..896*220...............&.+..................825....../............378...370...........
+...............485.641.674.....................*......................618.......389........................565..&674...........*............
+..........475.................=.162............461.441...................*..........652......&....508..856...........364....464.............
+...............154...452#...693....*................*.......391.........979....344..&.......814..............501.......=....................
+...............*................425....25#...........788............879...........*.....29....................&....................850...794
+393.............523...507*683..............174@..........-.............=...369....439....-.......*305.891..........952............*.........
+..........+...............................................535..911.........................*....1.........441.....-.........88...906........
+..........997...17.............779..............960...................209........545......513................*...........98...........+608..
+.....................63.968...*.........340.......*...858..339...........%.-767...+...173........47.........906............*210.............
+.............&..575..*....@.788.........*.........178.....*.......949.................+...........*.............-.....399.............@.....
+..........571....%....984............414...............$.912.....*......302.............594.240..724....341..645.......*.......=..848.642...
+....282@...........*......=......189.....138...227*.906.........70......*..................*.............=..........957...657.81../.........
+..........*...$.813.179.901.592.....*....................................7....127.............$692...............$..........*.........*.....
+.......207..91..............*.....784...872..756.........&..322..............*.........*19.........749.......548..624.694..858...512..598...
+.................+.........352...........*.....*.934..126...*.....351..........40...616.......153.....*661............*...........*.........
+...823........829...346...........821...826.304...%.......115.......*..........*...............*.............../...622...523.......606......
+...*...............*.............*...................186...........813....716@.372....16..300...489..108.....770.......................697..
+..........919...782.......912................@.........*.%485............................*..........*...............208.220....853..........
+...308......*............*......269.........539.......2.............853.......941.660.532........246.......980..357*....+.....*......./.....
+..../......32.164.......15.479.=.............................=...............*....*......................#....*......+......-.855.....415...
+.......305..../.....649....*......633...925...634............121............355....578.......14*....422..543.297....429..142................
+..960..+..............*.....536......*..@....-.......51..-.........592#..........+..............9..*........................................
+.....*......515......434............908..........189......430..................332...722..-.........450..#.........................139......
+..259......*.............................39..33.....$..................................*...159..443.....925.............743....414.&...=437.
+......58..475...........227%.......217..../...*................../...............&....506..........................63..*.......*............
+.......=......-..............993....%.........166........605....293........977+..498......%.....834...455...........*.....%....981.991......
+...........636..728...*.......*.......494...............................................205........*.@...........528....226.........#....785
+664.9..............$..9...494.272...............725*....775...$....854..........226.243..........832....637*73................165...........
+...*...340+.............@...*.......548.............405....*...768..*..............*.......81.........................10.787.$.......918....
+.......................145...265....+..........110........45.........90..299.....$........&.....696...475.-452..290....*...*..........@.....
+......+....246.108.305...................894....=............121.588......*....69...................................236..97......348........
+.......709........*...........-...........-..........411...=...*.......135........................738..383.....634*..........429.@..........
+...........%........%217......119.....................@..47.........+.......923..............606...*.......960..............-...............
+....835.....744...................546.......215.............512.....950.......%...444......&...$.833......./.........813.......400..%...48..
+........362.......898..#.......................*.732........*.............965....&.........584..................521..#...........-.995......
+....64.*.........*.....265........781..376...320.#........998...450.......%............................$...............................304..
+....-...966...875..981........742*.......*...........*276.........*...............541.....219.279..357..164...551..%717...............%.....
+...................*...786.$..........*...163.....915...........960...%...509.135*...........*................-...........%.539.............
+....666..699......179..+...612..=734..545...........................88.....&.......392...46..........483=..&.......548.135.....*.413.#620...
+...$....*....948..........................530.656....%..484....*..................*......./...741..........444......*.......150...*.........
+......................524...928..........=........858....=..562.571........117@.195..896......*......662.......148.388.............320......
+...166..48.../....-............#...159.......487.....................260...............#...713.........*.347................................
+......*.......657..837.....273.......%........*...155.................*........225..................228.....*370..../.......724.....764.....
+......654.679.................@.........-....918...................681..461.............................776......737.................+......
+...........*....859......881#............625......$...........888.........+...57...............887.$.......*............................#911
+...46*....72...&...................................102.............651........*......*530.......-..667....850..829*.869%........298.........
+......925..........892.352*........6.41....................+...160.$.....*.72..878..1.....................................738......*926..32.
+...............279.........721......*..............694....799..&......878....*................219....+...482..368$...........*../...........
+......604........*....................583*506........-...........740..........347............*....576......*................498..478.974....
+..486.-....................626..................320........&....../.................*979.=....863........497........111..............%......
+...................................538..78...*.....*......7...455.......223......939......673..........=......559-....*...834............58.
+.......644....&.......#..669+.1.......*.....782.....865......*....779..#..............110...../....937..312...........489...................
+.......*....571.....69........*.......169...................919....*.....808.................335...*.............................24*896.....
+.......233................590.553..............198=..450.........661.......*.....................15...-....................-575.............
+...........919*.....................................*.......234.........492..%...........300...........301........./866..........*..........
+...............470.....440.874...116....240........299......................27......409.......................................639.136....... \ No newline at end of file
diff --git a/aoc2023/src/day4/input.txt b/aoc2023/src/day4/input.txt
new file mode 100644
index 0000000..0391b6a
--- /dev/null
+++ b/aoc2023/src/day4/input.txt
@@ -0,0 +1,203 @@
+Card 1: 8 86 59 90 68 52 55 24 37 69 | 10 55 8 86 6 62 69 68 59 37 91 90 24 22 78 61 58 89 52 96 95 94 13 36 81
+Card 2: 6 42 98 5 17 31 13 36 63 61 | 99 88 14 20 63 5 56 33 6 21 92 13 17 7 31 93 30 74 98 15 11 36 61 42 47
+Card 3: 16 58 72 77 1 67 33 82 68 7 | 16 37 15 75 78 1 49 82 22 45 83 58 77 79 50 88 98 67 33 72 42 29 35 7 68
+Card 4: 75 35 37 6 29 54 64 57 82 4 | 8 33 27 85 84 54 75 37 4 57 70 29 64 94 17 6 38 41 82 81 71 35 47 51 19
+Card 5: 23 85 52 77 81 50 28 59 87 82 | 70 65 12 35 9 41 62 31 47 66 58 15 76 46 68 67 55 86 17 38 18 1 75 79 13
+Card 6: 77 64 13 36 68 88 16 75 25 95 | 25 64 55 58 75 66 23 16 27 68 69 88 13 9 39 42 29 65 83 97 32 89 53 96 94
+Card 7: 31 12 76 29 48 96 41 49 21 37 | 94 81 65 82 15 33 53 91 88 37 46 29 3 80 95 67 11 27 31 30 49 89 78 41 90
+Card 8: 20 5 52 31 46 25 88 95 39 83 | 36 62 48 39 69 3 81 11 61 95 43 85 34 46 5 8 13 45 10 17 2 88 70 52 89
+Card 9: 8 85 89 55 77 9 40 5 57 37 | 56 84 62 42 49 50 51 35 75 25 13 74 68 1 99 48 41 94 45 66 17 69 23 29 67
+Card 10: 74 1 7 89 97 82 75 9 11 42 | 94 71 41 30 50 58 23 81 35 6 97 57 67 85 98 10 87 43 96 77 31 8 54 72 65
+Card 11: 38 29 6 5 4 84 34 1 94 23 | 89 48 51 84 49 33 50 65 79 53 12 8 5 1 35 69 83 57 11 42 67 26 9 6 55
+Card 12: 35 83 44 75 36 65 85 87 60 72 | 8 3 91 33 59 29 56 26 21 60 80 88 25 5 51 47 46 44 41 31 62 79 76 89 55
+Card 13: 8 56 97 66 32 70 25 76 18 20 | 15 50 91 65 3 67 98 81 9 44 18 92 13 64 96 47 87 46 7 33 66 71 82 88 90
+Card 14: 37 52 63 28 19 89 44 76 98 24 | 70 13 59 31 17 84 90 6 62 19 74 36 94 1 15 12 29 95 47 92 23 67 60 58 53
+Card 15: 71 70 25 51 95 86 66 37 27 53 | 14 20 30 17 59 96 11 68 46 13 75 44 40 62 32 7 81 91 73 64 93 83 35 80 49
+Card 16: 97 4 63 22 75 73 5 52 34 26 | 33 98 64 47 90 94 28 35 43 30 73 51 7 27 10 40 97 37 34 32 22 71 63 21 80
+Card 17: 15 18 29 55 14 25 69 4 59 75 | 66 4 82 23 94 22 26 16 55 69 75 20 76 25 29 59 15 18 70 2 28 39 95 14 40
+Card 18: 26 40 70 42 37 68 25 76 56 97 | 33 97 28 13 24 50 66 53 67 84 26 68 42 56 92 40 65 76 25 32 70 93 85 37 94
+Card 19: 56 61 7 53 48 88 77 73 27 79 | 50 81 29 15 46 19 33 89 54 85 58 73 68 34 84 2 40 27 44 94 88 62 14 1 56
+Card 20: 34 89 62 72 6 30 16 53 78 2 | 2 78 73 89 85 40 47 30 34 8 60 23 72 26 62 96 6 91 29 16 57 46 59 53 94
+Card 21: 65 18 22 53 8 31 32 84 39 9 | 75 16 70 3 14 61 34 9 38 71 8 49 53 52 81 18 45 82 41 44 32 63 65 51 69
+Card 22: 44 80 76 71 36 1 50 87 23 27 | 1 76 83 67 87 68 25 80 8 23 57 29 52 4 50 64 24 44 77 45 27 32 36 73 71
+Card 23: 68 90 10 43 73 63 85 47 11 96 | 9 29 53 84 4 6 25 82 11 21 73 83 20 95 66 27 80 26 70 33 85 47 17 74 98
+Card 24: 51 68 2 69 39 86 55 70 6 54 | 72 17 14 26 91 52 96 86 66 64 51 2 92 53 36 39 89 42 40 68 55 37 6 54 7
+Card 25: 74 92 43 35 29 93 39 53 10 54 | 86 35 10 18 92 43 56 25 44 53 93 39 29 54 11 12 55 61 83 41 21 69 81 4 74
+Card 26: 80 19 99 93 76 67 70 60 39 9 | 98 2 26 95 21 49 44 9 31 58 83 46 14 99 4 78 12 56 89 71 66 29 47 64 96
+Card 27: 92 52 5 46 49 62 74 72 44 87 | 37 93 24 29 5 88 72 81 62 50 69 33 52 19 23 8 84 1 70 87 95 96 61 63 49
+Card 28: 79 80 98 59 54 45 91 16 11 4 | 80 10 98 45 78 91 1 65 12 11 4 82 88 79 54 55 8 99 59 67 68 16 25 3 70
+Card 29: 52 30 9 13 44 71 48 63 65 27 | 90 31 17 80 44 39 85 93 58 65 8 63 16 35 40 1 73 68 52 6 97 99 13 10 61
+Card 30: 12 19 35 9 82 20 72 61 50 67 | 11 84 77 14 46 29 62 28 81 98 43 12 15 72 35 99 19 97 75 1 20 7 82 60 52
+Card 31: 21 58 93 11 50 25 88 77 64 29 | 42 1 31 30 99 69 54 32 88 24 95 15 55 56 14 45 19 33 87 34 7 93 79 23 74
+Card 32: 39 87 70 22 46 95 69 3 58 80 | 85 95 24 45 84 22 37 12 33 43 93 96 27 56 70 67 91 58 10 68 69 40 97 82 13
+Card 33: 91 42 78 76 77 27 22 98 94 70 | 80 17 63 21 37 52 46 44 2 7 73 86 49 40 23 4 92 60 43 76 29 22 24 69 42
+Card 34: 11 50 70 95 32 81 26 57 7 76 | 83 64 65 46 87 56 28 98 90 11 96 40 99 3 16 12 61 19 97 76 51 92 93 34 15
+Card 35: 80 28 55 51 98 5 92 54 73 78 | 78 66 10 38 36 51 1 83 94 33 42 17 62 56 59 21 86 25 46 48 63 12 45 31 65
+Card 36: 63 76 16 74 10 14 50 73 81 35 | 3 68 1 76 62 53 67 97 13 85 28 65 32 72 34 98 57 20 71 17 64 48 8 56 44
+Card 37: 37 1 38 62 56 27 17 8 21 98 | 78 31 14 23 18 62 4 2 97 88 59 34 57 46 81 16 36 58 86 35 72 61 7 80 28
+Card 38: 56 30 92 44 33 11 16 45 72 60 | 74 86 59 87 22 81 46 32 52 21 78 10 57 1 13 85 49 75 95 29 8 38 77 54 50
+Card 39: 66 83 99 18 79 70 57 25 86 55 | 8 41 50 87 77 7 78 84 53 35 43 26 13 29 30 69 91 65 32 59 31 45 56 15 48
+Card 40: 64 46 22 83 33 38 95 75 69 89 | 82 65 45 68 75 33 69 49 22 95 89 74 53 46 38 25 83 64 8 59 81 16 94 27 60
+Card 41: 90 26 49 5 76 98 92 64 19 32 | 47 35 49 45 13 67 73 55 4 64 79 63 89 57 5 75 85 91 25 88 74 70 28 68 86
+Card 42: 45 52 92 43 76 96 4 86 53 62 | 96 53 55 18 95 44 25 45 47 66 62 2 52 60 10 3 1 37 87 92 98 70 9 86 23
+Card 43: 9 64 57 76 21 30 38 98 85 1 | 11 22 92 81 58 59 48 75 2 32 15 84 27 56 86 99 98 66 54 96 20 37 67 12 29
+Card 44: 11 41 84 1 76 6 64 8 31 44 | 11 1 33 58 55 6 84 44 70 20 64 41 90 98 72 42 8 38 4 39 76 17 18 69 31
+Card 45: 88 12 95 1 24 71 70 49 79 8 | 86 57 43 12 90 78 70 76 24 95 39 8 1 13 47 71 49 75 15 32 2 77 58 79 21
+Card 46: 84 91 96 41 17 76 9 36 81 1 | 82 5 99 19 43 20 86 69 37 44 95 41 55 65 96 70 24 47 77 15 31 36 2 79 22
+Card 47: 48 80 18 4 40 11 90 17 27 68 | 33 40 15 99 48 12 25 27 44 17 50 94 68 63 11 29 80 4 18 42 32 90 19 2 91
+Card 48: 44 30 51 97 22 57 87 17 53 11 | 35 17 81 22 11 30 75 80 74 54 79 16 78 97 89 87 51 37 43 72 53 57 27 94 23
+Card 49: 31 2 7 13 9 33 95 41 57 34 | 25 90 77 13 1 95 18 17 34 92 10 33 80 2 82 66 91 73 70 86 21 7 42 47 19
+Card 50: 16 44 77 76 23 81 47 29 62 22 | 35 27 83 47 88 76 98 64 31 86 48 42 95 67 25 44 17 51 18 26 12 1 90 99 62
+Card 51: 55 68 41 17 28 83 64 62 22 13 | 24 6 23 22 64 7 83 74 44 34 28 68 13 32 26 50 62 17 12 41 97 55 16 1 9
+Card 52: 96 79 43 83 37 25 86 24 66 34 | 79 18 6 2 64 62 86 48 65 34 29 68 9 87 76 71 3 69 61 41 40 35 37 55 32
+Card 53: 46 1 10 43 47 17 62 52 58 75 | 58 14 52 71 31 75 55 50 8 99 63 23 4 13 10 62 16 17 82 43 56 46 76 83 65
+Card 54: 75 33 27 30 87 32 68 89 44 17 | 73 28 31 97 27 9 57 14 15 20 39 82 38 36 43 58 75 4 44 30 33 80 16 48 17
+Card 55: 70 11 9 44 14 32 83 10 99 71 | 65 48 21 75 83 71 92 2 34 22 11 14 39 31 63 25 88 15 80 76 96 90 52 70 99
+Card 56: 17 38 6 13 3 67 87 64 37 68 | 41 7 53 11 5 62 93 28 65 8 56 32 1 69 47 18 82 40 20 12 80 37 89 43 2
+Card 57: 64 29 46 22 61 56 32 20 97 72 | 31 14 29 44 74 22 1 56 4 52 58 45 50 78 67 11 97 72 16 20 27 57 61 83 85
+Card 58: 62 85 13 46 79 37 99 81 91 8 | 98 17 85 23 33 94 35 2 47 20 3 11 36 96 43 46 25 60 59 10 22 55 87 58 28
+Card 59: 58 36 55 31 69 91 21 51 56 10 | 19 49 73 6 34 27 40 65 11 55 44 67 37 97 14 85 84 89 72 29 64 15 70 68 94
+Card 60: 46 40 95 45 75 74 7 38 10 81 | 32 38 4 61 78 5 39 99 86 33 2 98 83 42 11 75 27 73 81 9 54 37 40 12 80
+Card 61: 40 29 73 56 91 44 24 77 1 5 | 87 52 80 45 70 48 47 44 69 17 16 6 82 66 37 42 39 3 10 15 97 13 40 99 62
+Card 62: 54 55 29 80 70 50 97 89 33 68 | 21 3 76 73 6 42 2 91 19 18 72 92 94 11 77 32 52 8 81 48 35 16 27 12 84
+Card 63: 19 45 77 86 6 33 83 91 52 36 | 18 68 60 58 84 29 9 67 21 99 24 80 69 96 25 85 46 50 95 27 61 4 90 63 88
+Card 64: 88 23 57 8 93 17 20 42 54 51 | 12 78 82 80 85 43 73 44 84 89 15 36 30 10 25 29 7 99 61 60 86 14 26 28 83
+Card 65: 92 13 3 54 4 95 28 72 8 15 | 15 60 66 33 82 95 94 69 71 59 54 99 40 31 83 17 13 80 28 72 4 92 45 87 46
+Card 66: 1 42 10 66 94 21 46 95 73 32 | 64 99 3 86 69 71 95 78 60 28 5 19 35 85 67 7 32 16 39 66 89 42 31 43 58
+Card 67: 87 50 23 52 5 22 88 82 59 72 | 26 59 48 90 82 55 50 37 87 35 2 52 72 11 40 23 54 88 19 33 5 97 86 22 30
+Card 68: 21 89 80 14 73 61 9 7 68 48 | 18 89 38 26 32 21 79 15 14 86 44 55 95 41 80 7 9 29 73 1 13 48 68 28 61
+Card 69: 9 82 65 50 57 40 96 36 83 60 | 96 17 88 60 40 74 33 19 41 23 82 89 92 72 50 83 4 7 56 34 9 36 52 57 65
+Card 70: 40 63 61 64 3 21 52 11 66 53 | 82 42 13 30 44 72 74 83 45 70 38 33 80 8 64 48 49 73 19 51 85 47 90 84 92
+Card 71: 92 24 98 94 89 41 1 93 28 32 | 28 61 92 13 53 89 43 23 32 66 81 93 94 38 90 36 24 68 1 91 98 41 29 67 64
+Card 72: 29 61 68 1 78 69 33 45 39 18 | 81 12 36 28 73 75 18 35 42 33 95 68 3 79 39 8 24 82 87 45 11 91 23 51 1
+Card 73: 15 33 51 46 80 95 67 71 97 16 | 23 7 93 94 55 33 5 84 28 32 15 59 98 6 46 17 86 43 39 81 36 42 63 71 82
+Card 74: 95 9 16 72 30 20 41 97 45 90 | 30 72 49 66 36 9 82 98 95 16 48 57 46 86 47 90 20 85 54 74 73 4 22 60 32
+Card 75: 82 55 49 44 75 57 19 59 38 4 | 21 78 35 6 93 75 28 41 83 72 55 22 64 89 70 47 23 29 20 99 48 53 27 65 13
+Card 76: 19 31 41 50 27 43 74 21 51 44 | 24 79 71 16 49 37 60 14 8 33 52 40 98 6 34 62 56 4 10 30 39 48 99 67 22
+Card 77: 39 23 28 96 98 50 40 34 79 74 | 85 68 79 33 48 23 56 10 89 38 50 71 17 28 6 74 53 4 98 26 8 22 39 31 66
+Card 78: 80 31 82 32 70 17 68 44 22 97 | 72 6 95 57 13 94 37 44 70 46 32 69 22 56 40 15 77 88 17 82 31 47 71 18 68
+Card 79: 37 53 75 59 72 43 65 74 81 26 | 37 23 11 48 45 86 74 2 59 58 92 12 65 78 16 97 57 76 67 26 18 41 43 54 49
+Card 80: 63 41 23 39 40 10 26 93 24 73 | 30 19 74 40 49 90 22 65 78 10 24 93 73 41 51 7 61 15 29 39 63 16 64 23 37
+Card 81: 88 68 74 9 97 46 11 87 39 10 | 40 3 14 85 64 43 42 97 90 9 39 13 29 72 47 10 48 4 68 96 99 25 98 65 57
+Card 82: 81 48 21 57 65 39 12 66 95 33 | 16 33 79 85 92 52 50 34 15 22 9 45 74 17 24 63 28 72 84 62 58 77 41 64 83
+Card 83: 45 33 86 43 63 96 25 88 53 15 | 73 93 79 18 2 26 21 65 28 57 52 88 1 80 33 38 76 3 56 35 6 23 34 24 13
+Card 84: 31 74 96 40 36 99 91 92 63 10 | 78 38 59 27 84 34 31 72 19 91 12 45 57 92 32 44 70 50 10 24 87 33 49 65 61
+Card 85: 24 20 39 42 78 57 12 64 40 44 | 68 34 77 20 21 12 35 23 97 3 50 65 42 18 84 41 43 69 94 37 76 57 31 45 79
+Card 86: 51 48 14 80 3 72 92 15 35 43 | 50 69 18 76 63 30 58 19 65 16 70 55 54 12 87 62 60 68 93 83 1 44 26 98 27
+Card 87: 11 4 31 73 5 81 2 32 29 51 | 3 47 9 18 16 19 66 36 23 70 91 64 69 87 51 84 43 65 35 42 63 72 82 54 93
+Card 88: 94 10 52 17 78 45 99 66 8 81 | 11 31 71 59 41 88 67 30 47 98 33 21 37 15 53 20 36 58 57 91 39 28 49 70 86
+Card 89: 28 68 50 39 98 57 78 71 11 48 | 95 67 79 86 53 17 66 60 77 6 44 54 19 31 74 80 63 99 47 12 91 21 70 8 10
+Card 90: 36 90 94 26 59 84 63 38 48 39 | 69 56 39 88 89 97 26 38 83 55 87 13 33 68 95 94 18 48 36 44 59 84 63 90 66
+Card 91: 89 3 61 68 53 85 66 81 11 78 | 29 10 81 58 22 47 19 3 36 98 61 85 89 78 39 17 50 53 11 66 68 24 4 86 25
+Card 92: 57 5 56 91 64 38 89 47 55 74 | 73 51 48 19 57 98 64 9 74 65 53 47 54 72 69 38 56 1 21 6 91 40 55 5 89
+Card 93: 6 86 18 53 9 82 70 81 89 26 | 21 69 75 10 8 86 89 70 47 23 78 96 98 53 6 9 2 81 31 56 39 55 18 1 42
+Card 94: 86 78 79 57 3 2 5 69 30 53 | 80 2 53 90 3 30 48 79 5 78 19 35 62 59 97 56 13 12 70 86 10 69 51 55 57
+Card 95: 64 51 15 84 25 94 88 80 20 33 | 1 90 50 47 32 15 20 51 84 65 64 55 39 94 19 66 40 25 88 43 80 34 29 3 92
+Card 96: 83 88 94 87 79 45 49 91 99 33 | 91 53 72 37 87 40 26 88 33 49 89 99 24 59 94 52 75 83 79 71 62 50 92 28 6
+Card 97: 51 91 36 6 68 9 97 78 39 80 | 18 97 68 34 91 61 78 3 23 84 8 16 36 96 65 99 59 80 58 90 14 32 1 41 74
+Card 98: 92 41 9 7 52 86 83 40 8 63 | 47 17 14 35 34 22 19 52 79 7 81 92 1 82 93 73 25 58 60 39 59 27 3 16 41
+Card 99: 72 47 22 4 62 58 31 91 34 50 | 49 65 94 71 82 25 24 9 64 62 50 60 14 84 16 93 1 46 8 19 47 44 21 10 11
+Card 100: 96 18 53 37 54 98 30 84 58 45 | 30 59 89 23 8 35 85 6 36 54 37 17 92 79 27 39 4 61 11 80 19 58 72 51 47
+Card 101: 67 26 23 99 78 60 55 82 83 11 | 60 22 91 21 18 29 67 62 34 93 56 59 49 52 38 79 28 11 17 77 76 20 2 99 92
+Card 102: 28 94 4 54 77 42 17 44 59 48 | 24 13 61 6 5 83 50 77 76 37 90 71 79 47 8 98 41 75 59 70 89 16 30 17 45
+Card 103: 65 69 32 77 64 99 24 71 73 90 | 20 26 72 17 16 46 86 2 28 13 88 45 5 70 95 55 33 65 49 68 50 58 85 83 22
+Card 104: 78 17 88 26 65 79 8 18 47 25 | 31 86 76 30 84 44 62 97 81 42 14 72 25 32 82 5 54 69 98 52 68 13 92 3 58
+Card 105: 72 63 74 24 23 67 34 26 50 73 | 11 70 76 89 84 92 79 33 82 44 71 48 35 8 59 14 93 15 29 18 55 3 38 77 28
+Card 106: 36 40 51 81 60 96 34 49 85 89 | 72 15 7 40 60 97 68 52 36 55 87 96 85 89 49 61 78 34 37 27 76 5 51 81 12
+Card 107: 56 6 20 66 35 45 14 19 62 52 | 15 27 93 17 77 19 35 43 80 72 47 88 8 70 71 92 83 82 10 97 25 90 44 69 87
+Card 108: 33 44 49 78 10 26 20 65 77 13 | 33 54 2 24 17 20 26 7 93 5 3 77 81 46 92 78 49 65 32 51 44 95 13 29 10
+Card 109: 51 25 49 60 83 75 46 43 50 41 | 96 12 53 50 78 92 60 15 76 6 5 34 41 23 25 70 20 75 86 73 30 39 32 48 95
+Card 110: 13 22 99 91 47 53 35 34 37 77 | 79 35 1 13 88 57 76 89 81 15 53 56 99 34 6 68 77 32 91 47 87 37 4 24 16
+Card 111: 17 21 92 30 95 1 52 5 27 46 | 86 24 6 51 99 68 16 34 19 76 31 10 56 63 58 97 87 26 40 73 8 54 69 18 90
+Card 112: 52 83 38 39 95 12 57 14 46 85 | 12 95 85 14 89 50 52 17 92 18 38 34 55 83 16 66 19 88 4 20 46 57 77 39 11
+Card 113: 6 25 93 3 52 46 2 13 70 7 | 67 46 40 2 3 77 35 50 57 52 55 75 53 72 97 89 34 84 15 31 23 7 58 25 21
+Card 114: 24 53 25 12 17 82 14 50 3 74 | 91 83 57 50 96 68 52 11 56 44 89 95 15 13 54 20 76 48 30 88 53 55 93 65 47
+Card 115: 95 81 49 37 80 70 7 60 75 99 | 29 74 98 94 49 59 60 86 75 93 72 56 87 82 76 32 33 4 46 70 27 83 1 35 2
+Card 116: 80 67 54 68 98 47 12 56 77 60 | 45 81 47 78 29 39 56 42 80 54 68 90 37 2 16 96 5 38 14 59 7 30 6 67 20
+Card 117: 6 59 84 35 1 53 28 77 94 24 | 97 62 40 54 93 44 90 63 26 64 91 75 6 4 22 82 80 2 69 12 77 21 53 49 10
+Card 118: 86 30 39 49 32 29 27 68 97 50 | 2 48 36 99 83 4 38 5 47 77 66 1 20 10 14 15 63 78 89 91 85 80 41 28 54
+Card 119: 87 78 77 15 85 99 2 35 45 11 | 58 51 62 42 63 90 37 22 8 83 34 31 67 35 72 17 91 7 88 49 13 39 59 4 18
+Card 120: 80 21 33 94 26 68 73 35 83 3 | 67 9 94 49 27 50 40 30 60 90 86 91 98 69 6 15 36 71 38 31 17 33 41 70 84
+Card 121: 81 17 27 59 99 69 49 14 83 91 | 20 77 55 73 87 36 25 56 54 58 45 68 80 18 3 15 65 31 96 40 75 30 92 42 23
+Card 122: 22 44 29 27 77 20 86 34 5 99 | 63 19 97 74 4 39 7 52 87 31 81 45 23 18 53 47 50 73 80 2 70 94 26 66 14
+Card 123: 39 40 61 53 56 60 96 5 68 25 | 97 98 6 79 81 32 51 26 59 13 10 2 3 77 88 80 63 90 52 12 87 29 49 18 76
+Card 124: 78 19 92 75 56 95 2 16 43 44 | 95 2 56 4 92 66 53 88 21 16 43 78 17 44 85 48 12 19 52 40 69 75 59 82 26
+Card 125: 14 43 38 9 8 62 17 28 12 11 | 80 19 38 43 11 34 29 9 32 12 62 28 77 72 17 69 33 96 94 78 67 8 93 90 4
+Card 126: 60 95 93 99 11 49 20 75 37 54 | 54 42 19 49 92 95 11 34 74 93 60 52 99 5 7 75 20 12 68 98 43 50 36 37 56
+Card 127: 73 24 71 80 58 62 17 41 61 43 | 68 43 79 58 87 67 6 62 20 41 93 71 27 88 23 17 24 42 52 13 61 80 81 84 73
+Card 128: 99 10 91 58 70 47 80 30 96 57 | 46 57 3 72 4 87 70 10 59 7 96 48 28 97 91 58 47 76 36 80 8 23 19 30 99
+Card 129: 50 3 78 8 80 11 57 52 94 47 | 63 60 38 92 50 65 91 88 53 17 96 42 66 28 1 25 75 76 73 87 90 36 82 24 68
+Card 130: 38 42 33 70 61 58 73 88 74 29 | 83 92 77 58 56 74 55 93 38 46 29 28 37 68 33 73 91 61 12 64 25 88 42 31 70
+Card 131: 92 46 42 96 12 14 95 84 57 78 | 11 6 82 41 73 55 8 93 76 98 99 86 31 21 78 29 32 70 62 23 95 15 9 77 52
+Card 132: 40 97 45 2 19 99 29 98 37 20 | 5 56 36 21 33 83 32 98 66 20 16 37 97 93 40 78 43 77 99 29 87 96 2 30 39
+Card 133: 97 81 10 23 75 6 53 27 35 47 | 37 93 8 92 68 65 15 85 25 67 61 56 5 42 88 18 76 87 60 46 59 94 86 57 91
+Card 134: 96 66 54 61 10 85 98 40 13 41 | 90 58 9 38 28 24 57 52 5 81 80 62 34 54 79 49 2 95 1 18 41 65 82 32 42
+Card 135: 54 79 66 83 45 35 10 27 41 94 | 67 42 4 89 51 95 1 63 90 40 65 23 98 7 86 9 97 3 11 61 92 69 77 80 2
+Card 136: 37 86 74 45 70 95 33 28 82 32 | 67 13 62 8 63 41 78 40 24 91 11 48 7 85 59 81 44 37 45 90 66 70 35 33 94
+Card 137: 75 89 5 18 91 57 37 63 85 40 | 27 34 9 51 76 41 69 86 95 81 36 82 1 38 10 99 7 47 21 77 8 30 19 71 60
+Card 138: 9 67 82 54 5 98 7 6 40 96 | 13 83 90 88 44 17 82 24 47 84 23 85 62 45 72 91 58 46 38 32 25 79 70 59 33
+Card 139: 1 6 65 80 35 91 63 22 60 50 | 79 84 81 92 75 36 88 90 86 16 53 17 44 43 15 94 73 51 14 42 33 98 74 57 4
+Card 140: 24 43 8 76 91 79 42 68 81 70 | 65 36 56 57 16 69 38 86 85 37 22 9 98 33 45 25 95 28 52 2 27 6 14 46 55
+Card 141: 62 32 78 2 21 45 75 48 91 85 | 38 42 3 20 21 56 48 75 86 45 40 91 33 73 25 85 16 78 2 24 72 26 32 61 62
+Card 142: 90 10 32 43 65 91 24 22 34 62 | 91 26 72 81 7 11 32 10 90 33 34 87 35 24 29 3 59 62 2 65 22 43 57 74 79
+Card 143: 16 52 66 56 50 57 77 71 73 40 | 71 43 80 59 36 39 77 40 11 4 64 16 85 52 49 73 56 57 10 9 86 46 66 6 50
+Card 144: 61 56 14 66 2 73 39 8 33 97 | 26 8 47 67 16 18 37 39 14 9 61 33 97 2 66 56 73 4 75 11 62 68 49 44 34
+Card 145: 75 65 92 85 73 18 70 95 49 22 | 25 8 49 2 16 13 97 33 93 66 75 85 73 71 65 18 22 53 92 38 44 50 62 70 95
+Card 146: 78 62 86 83 26 23 80 2 77 87 | 23 96 38 63 83 22 20 86 77 21 67 66 75 5 36 47 26 61 80 87 82 16 78 46 2
+Card 147: 84 36 18 42 50 12 64 61 99 91 | 18 75 61 76 74 12 1 41 28 91 64 24 55 36 27 3 84 99 42 50 95 83 31 7 22
+Card 148: 61 91 60 18 68 50 73 29 23 87 | 18 76 33 5 27 97 31 37 21 38 56 91 60 87 23 55 58 61 50 45 14 29 72 68 73
+Card 149: 46 97 81 18 85 95 91 43 72 87 | 32 23 1 49 66 96 24 16 42 22 81 51 72 8 20 37 44 71 45 25 90 88 5 94 74
+Card 150: 17 99 20 36 33 78 9 87 81 84 | 37 8 79 65 31 99 45 36 81 90 73 11 49 46 87 84 3 33 19 12 57 9 20 48 17
+Card 151: 35 46 49 80 66 75 99 77 8 53 | 75 24 5 67 4 53 49 61 19 23 26 97 93 77 46 66 35 40 99 39 30 80 76 25 8
+Card 152: 11 80 39 1 30 36 16 85 33 66 | 26 66 60 2 94 16 81 48 80 43 85 96 51 68 33 63 88 54 6 36 37 59 5 1 47
+Card 153: 49 86 25 83 96 8 93 88 24 57 | 66 60 51 33 57 95 49 79 63 2 93 58 65 70 55 76 87 27 1 46 11 52 80 84 54
+Card 154: 38 41 75 30 91 6 14 66 47 57 | 34 56 11 70 71 60 22 81 41 74 39 67 79 98 87 42 62 3 32 57 55 46 33 16 51
+Card 155: 25 31 45 21 68 57 73 20 71 32 | 20 18 98 53 60 7 38 10 12 19 77 64 79 74 17 33 83 88 28 16 32 21 89 69 65
+Card 156: 19 35 39 37 84 50 62 95 96 56 | 89 24 92 67 4 47 54 59 72 84 3 5 76 96 23 1 58 86 32 21 78 88 68 44 48
+Card 157: 24 68 39 72 23 93 81 51 45 25 | 96 33 76 99 5 70 93 18 24 68 6 64 49 92 45 80 15 77 4 57 25 13 44 28 2
+Card 158: 51 18 46 75 2 80 20 72 17 29 | 97 55 47 23 20 4 39 24 64 11 31 16 90 29 93 72 18 45 27 46 61 70 80 68 67
+Card 159: 34 10 70 56 51 9 99 32 15 74 | 13 31 44 56 63 20 99 81 40 78 84 90 50 52 85 19 41 10 45 71 22 28 26 8 14
+Card 160: 69 49 13 23 36 64 24 18 57 7 | 54 62 96 36 7 10 28 64 1 85 3 63 73 21 27 37 49 47 75 34 97 30 77 32 9
+Card 161: 35 16 44 25 42 62 95 77 89 34 | 29 26 11 78 97 23 28 36 10 96 54 81 17 22 80 27 77 44 41 34 20 51 76 24 75
+Card 162: 60 17 28 76 67 12 41 15 53 70 | 41 19 35 64 65 15 37 22 80 66 55 40 45 81 17 98 85 74 57 4 16 91 49 5 68
+Card 163: 57 3 82 45 28 70 50 17 85 48 | 68 87 47 62 58 31 88 92 98 90 46 29 5 85 93 24 95 99 39 75 55 33 65 49 14
+Card 164: 33 81 13 87 53 48 79 70 17 91 | 92 57 21 4 36 27 62 1 46 80 31 72 5 94 58 99 75 67 83 25 51 9 26 52 63
+Card 165: 55 70 45 36 72 59 81 16 69 98 | 60 7 43 54 66 78 83 23 25 94 48 67 26 56 53 58 2 4 27 31 34 39 49 85 74
+Card 166: 94 64 48 15 36 35 79 23 77 33 | 78 80 25 5 18 34 92 69 84 86 26 13 89 65 29 3 7 39 71 31 42 21 51 48 55
+Card 167: 13 34 54 2 20 16 89 79 88 9 | 47 75 25 82 72 76 51 37 95 22 71 55 54 74 9 33 97 83 27 2 79 28 17 91 24
+Card 168: 33 82 70 88 7 46 96 67 26 89 | 73 8 22 1 59 45 92 24 43 41 15 64 3 58 83 63 57 82 20 18 91 13 77 60 19
+Card 169: 91 4 32 45 55 98 80 52 9 33 | 20 45 37 28 69 61 60 81 12 33 51 74 15 97 50 86 72 99 2 41 70 58 19 40 39
+Card 170: 45 72 63 87 70 33 89 41 4 18 | 25 9 19 49 26 63 11 73 54 64 70 37 45 82 30 1 90 24 87 42 4 40 91 71 18
+Card 171: 74 99 84 26 66 10 95 8 75 68 | 34 62 37 97 57 65 75 74 6 67 68 96 4 1 95 55 52 82 13 47 63 48 94 26 77
+Card 172: 62 99 47 83 94 8 51 70 9 76 | 94 99 83 26 57 76 18 67 22 80 61 34 8 39 65 78 13 81 70 51 62 93 9 3 33
+Card 173: 42 99 9 18 48 61 36 83 13 84 | 7 69 44 61 35 54 27 3 60 55 99 84 32 48 18 19 72 42 89 65 4 92 79 75 13
+Card 174: 48 34 46 43 53 51 72 35 19 3 | 72 43 57 51 14 34 2 36 53 25 94 81 87 61 19 35 23 4 99 26 48 46 7 90 86
+Card 175: 46 59 27 28 82 13 99 35 18 6 | 36 90 70 87 64 31 42 71 50 27 76 45 99 32 21 20 9 88 23 93 17 46 80 85 59
+Card 176: 92 44 3 29 10 7 66 4 57 21 | 36 68 61 87 65 1 53 95 60 2 34 47 75 42 82 8 83 79 54 74 93 26 69 22 32
+Card 177: 89 23 17 80 22 65 98 11 94 3 | 91 28 37 99 63 60 42 87 23 98 71 39 82 93 57 68 62 13 75 77 22 26 53 48 90
+Card 178: 11 75 56 47 64 88 91 66 59 12 | 41 97 40 26 42 67 23 28 31 99 85 30 11 94 81 55 74 89 52 64 65 69 3 38 43
+Card 179: 31 97 46 27 96 57 45 30 64 82 | 36 42 81 54 85 31 1 29 8 84 28 50 64 76 10 67 77 39 21 4 75 78 99 47 12
+Card 180: 10 32 84 45 87 16 82 14 95 8 | 21 8 41 66 56 42 77 83 90 9 55 61 19 38 23 50 28 62 99 58 33 11 84 39 98
+Card 181: 90 54 11 49 95 88 15 75 18 2 | 30 5 68 41 71 52 56 10 50 60 81 51 27 94 42 55 6 87 78 66 72 96 36 12 62
+Card 182: 73 1 91 2 99 75 30 29 48 89 | 46 51 34 7 18 57 64 9 23 68 16 19 85 70 66 72 5 87 12 4 25 97 10 89 60
+Card 183: 16 20 31 39 75 36 78 33 88 69 | 57 17 8 70 79 37 6 48 51 85 30 45 98 26 3 83 29 58 87 54 61 35 74 43 66
+Card 184: 69 50 38 49 9 96 75 82 80 14 | 23 99 30 83 78 9 50 40 14 74 75 8 37 69 82 42 26 49 96 1 38 58 80 84 7
+Card 185: 44 66 49 89 36 28 30 85 32 68 | 44 28 66 72 33 65 31 67 36 30 99 89 12 25 32 76 68 85 48 90 78 92 13 49 82
+Card 186: 46 48 6 52 24 19 51 76 11 47 | 93 63 78 33 31 86 68 10 74 70 3 83 36 4 54 79 8 77 38 57 97 27 22 29 53
+Card 187: 49 12 70 83 40 68 15 78 88 95 | 72 31 40 69 37 65 71 35 9 44 49 95 89 68 50 41 20 58 16 60 90 22 28 96 10
+Card 188: 86 47 96 63 55 29 91 31 59 23 | 55 77 30 23 91 75 86 47 29 31 78 67 4 92 96 26 63 37 80 54 1 11 32 15 98
+Card 189: 40 97 46 63 66 58 54 35 33 59 | 75 17 57 71 55 62 43 96 85 98 83 37 40 23 65 94 93 25 72 78 46 47 28 33 56
+Card 190: 94 41 57 47 6 24 65 59 44 20 | 95 86 26 77 87 47 18 27 16 85 57 61 66 37 35 38 23 42 50 60 98 71 62 8 25
+Card 191: 57 32 39 19 48 77 27 96 10 61 | 68 82 86 70 75 35 11 24 69 56 45 95 67 44 25 36 90 47 74 39 27 55 66 87 12
+Card 192: 50 94 12 32 88 76 95 23 46 49 | 60 9 6 37 42 50 96 15 95 66 34 94 91 4 33 29 14 92 16 80 98 64 12 57 36
+Card 193: 32 25 53 7 71 31 80 42 92 63 | 84 78 28 90 27 24 5 67 63 75 81 12 31 55 46 60 89 98 37 16 86 23 72 43 22
+Card 194: 79 47 88 9 97 76 62 23 72 84 | 77 78 67 65 91 79 64 38 41 26 89 16 10 71 86 82 47 75 61 11 34 66 7 3 70
+Card 195: 22 47 95 56 66 98 44 73 50 30 | 92 33 28 65 16 60 8 45 56 2 47 84 25 55 58 17 35 88 38 95 81 63 43 57 98
+Card 196: 76 23 10 43 9 32 46 62 84 79 | 22 4 49 42 23 55 13 35 90 9 24 52 65 26 95 94 18 37 47 79 56 59 54 86 48
+Card 197: 65 44 24 84 49 62 6 54 42 20 | 25 72 90 58 77 60 59 73 11 39 91 19 21 28 62 8 41 66 87 56 64 52 80 82 24
+Card 198: 63 44 64 86 78 25 92 90 99 70 | 62 29 51 81 21 6 75 58 54 90 18 10 59 98 97 41 4 52 53 64 80 28 92 11 9
+Card 199: 7 15 47 28 44 22 74 76 40 56 | 78 24 95 38 25 36 77 46 89 45 18 42 3 75 62 90 52 81 83 85 80 26 4 23 71
+Card 200: 85 88 3 44 54 19 9 71 29 53 | 72 42 56 55 33 68 65 86 58 3 57 83 12 31 96 9 13 62 70 80 17 29 41 27 6
+Card 201: 10 51 69 82 56 40 94 9 90 78 | 57 92 89 1 99 87 5 73 80 28 2 6 67 70 33 18 17 78 16 95 69 44 38 24 55
+Card 202: 44 47 79 75 24 50 86 80 62 87 | 66 91 36 15 28 81 57 69 30 14 10 20 27 18 77 46 95 72 39 23 38 34 60 37 26
+Card 203: 59 31 79 81 4 21 24 54 48 62 | 37 90 25 51 70 77 18 17 97 52 40 75 43 3 91 50 87 67 42 15 14 63 6 13 5 \ No newline at end of file
diff --git a/aoc2023/src/day5/input.txt b/aoc2023/src/day5/input.txt
new file mode 100644
index 0000000..3ee1477
--- /dev/null
+++ b/aoc2023/src/day5/input.txt
@@ -0,0 +1,223 @@
+seeds: 3136945476 509728956 1904897211 495273540 1186343315 66026055 1381149926 11379441 4060485949 190301545 444541979 351779229 1076140984 104902451 264807001 60556152 3676523418 44140882 3895155702 111080695
+
+seed-to-soil map:
+2122609492 2788703865 117293332
+751770532 1940296486 410787026
+2652142963 2905997197 464992562
+3442443139 3721315963 573651333
+3117135525 2356966701 133002244
+742051533 3370989759 9718999
+2239902824 720032349 393589935
+1162557558 58715335 661317014
+1823874572 2489968945 298734920
+2633492759 2351083512 5883189
+4016094472 3442443139 278872824
+58715335 1256960288 683336198
+3250137769 1126389299 130570989
+2639375948 1113622284 12767015
+
+soil-to-fertilizer map:
+1839905294 2992775329 34548650
+266781855 3027323979 163164353
+1874453944 1681649719 388228515
+671359508 847997583 161400465
+0 2547368955 266781855
+3203005759 3207454799 385245393
+832759973 813886658 34110925
+3671840261 3598096086 304246395
+1377823717 351805081 65559824
+1443383541 417364905 396521753
+3985931590 3902342481 309035706
+2954410911 2069878234 236077421
+2262682459 2814150810 19476781
+429946208 2305955655 241413300
+3981482550 3203005759 4449040
+3976086656 3592700192 5395894
+1026018636 0 351805081
+2282159240 1009398048 672251671
+866870898 2833627591 159147738
+3588251152 4211378187 83589109
+
+fertilizer-to-water map:
+2408925737 4214441342 80525954
+1405678964 176700146 234310964
+2103148712 0 114754845
+289811242 411011110 140151672
+19025194 1085844786 2698717
+2799367899 3104502118 25793488
+3686730518 3130295606 74796096
+628099810 1273935988 19704264
+1112219380 661022482 39037869
+467844674 876473087 160255136
+1356562401 1036728223 49116563
+0 2195479548 19025194
+1778400105 1801270370 10408868
+3201290155 3772851666 86331548
+1795901930 1713284032 67001953
+1151257249 1907547144 205305152
+4156855349 4121566803 26796069
+160254887 2112852296 19696655
+1788808973 114754845 7092957
+1639989928 1780285985 20984385
+3990635607 2938282376 166219742
+2864292987 3316407580 74613579
+3761526614 4148362872 26946870
+2048296368 121847802 54852344
+3054903767 3975180415 146386388
+21723911 737942111 138530976
+647804074 1811679238 95867906
+3580274539 3391021159 106455979
+2489451691 2628366168 309916208
+1049288783 2132548951 62930597
+4183651418 3205091702 111315878
+3360834108 2408925737 219440431
+743671980 1293640252 305616803
+3287621703 3699639261 73212405
+2938906566 3859183214 115997201
+429962914 700060351 37881760
+1775001290 2214504742 3398815
+3788473484 3497477138 202162123
+2825161387 4175309742 39131600
+1660974313 1599257055 114026977
+1862903883 1088543503 185392485
+179951542 551162782 109859700
+
+water-to-light map:
+2182426048 2230942562 75597875
+3871195410 3518497934 102047632
+2258023923 1068663414 38503018
+1376483871 1748535271 120845081
+3267723970 3442138354 23090394
+3687599530 4146748183 69194895
+1687874044 1117179928 229976398
+1024656105 0 9213951
+2036492700 1503963494 145933348
+1339060619 127856209 37423252
+3600067928 3079307704 87531602
+3778928632 3171781100 38997592
+485121354 165279461 136305184
+1266011073 1649896842 73049546
+1917850442 9213951 118642258
+2296526941 1107166432 10013496
+3973243042 2847069441 75895604
+3177917323 2989501057 89806647
+136410837 1347156326 156807168
+4049138646 3166839306 4941794
+3817926224 3465228748 53269186
+2631950731 2587548926 259520515
+478937106 2064525337 6184248
+3756794425 2922965045 22134207
+621426538 487303746 242996590
+3299937194 3372641330 69497024
+1240422190 1722946388 25588883
+1497328952 1873980245 190545092
+2587548926 2945099252 44401805
+864423128 2070709585 160232977
+1033870056 1869380352 4599893
+2891471246 3629668396 286446077
+1158126414 866711173 82295776
+4054080440 3210778692 62083789
+1038469949 949006949 119656465
+0 730300336 136410837
+4116164229 3272862481 99778849
+3290814364 3620545566 9122830
+3369434218 3916114473 230633710
+293218005 301584645 185719101
+
+light-to-temperature map:
+2047881931 2133163196 61773729
+2768352591 2658645540 147815435
+663892205 789634091 62723057
+962320572 2260439344 13990400
+4174477469 3668516433 35699725
+3949428604 3175207948 225048865
+2918680909 3704216158 118365848
+976310972 47881164 71382440
+736841121 215530327 84565848
+1481137268 593966122 45807826
+3406939292 2891251077 174249820
+2916168026 3907788997 2512883
+854252812 1457767969 108067760
+2658645540 3065500897 109707051
+0 1842095595 291067601
+821406969 119263604 32845843
+2182554848 897903253 121629531
+1047693412 1565835729 166620621
+3847603798 3400256813 16617815
+1259860138 152109447 53195021
+3581189112 3424865230 243651203
+1470195525 1364566318 10941743
+653613314 30205504 10278891
+1430142037 1324512830 40053488
+291067601 1773419829 68675766
+2109655660 2194936925 65502419
+1856219803 2274429744 191662128
+359743367 300096175 293869947
+3398948690 3416874628 7990602
+3864221613 3822582006 85206991
+2609164425 1750403060 23016769
+1707010741 2466091872 49002444
+1756013185 1732456350 17946710
+1214314033 852357148 45546105
+1313055159 2515094316 117086878
+2175158079 40484395 7396769
+3824840315 3910301880 22763483
+1526945094 639773948 149860143
+2304184379 1019532784 304980046
+3037046757 3933065363 361901933
+1773959895 1375508061 82259908
+726615262 205304468 10225859
+1676805237 0 30205504
+4210177194 2806460975 84790102
+
+temperature-to-humidity map:
+2704404081 3383155981 190240562
+3678765766 3078657339 304498642
+2894644643 2740175301 304339717
+3375985319 2704404081 35771220
+3198984360 3840405770 142858638
+3341842998 3044515018 34142321
+3411756539 3573396543 267009227
+
+humidity-to-location map:
+3843755612 3461421206 53203349
+3797023193 2837279508 46732419
+1328442859 1820435049 165058603
+2358032500 2069263501 110029787
+776537476 129658954 20092280
+2041812400 3514624555 271685061
+4004991793 2179293288 239800545
+1813819309 1372459189 171674343
+890079235 609776153 19282104
+129748073 629058257 107944033
+2472688430 2519585064 209661612
+1039983756 866750363 166281406
+3896958961 2729246676 108032832
+1004757286 149751234 35226470
+850718450 90298169 39360785
+3150066893 4231246292 63721004
+0 737002290 129748073
+909361339 1154885545 95395947
+2682350042 2911243637 44822034
+318816223 1586615093 233819956
+796629756 531466240 54088694
+705961941 460890705 70575535
+3669300252 2884011927 27231710
+4244792338 3015820858 50174958
+3352063456 3786309616 317236796
+552636179 0 75876832
+3213787897 4103546412 55695414
+294595004 585554934 24221219
+2799176542 3110530855 350890351
+1691965533 1033031769 121853776
+2468062287 2956065671 4626143
+2727172076 4159241826 72004466
+1493501462 262426634 198464071
+280173667 75876832 14421337
+1986683356 2960691814 55129044
+628513011 184977704 77448930
+2313497461 3065995816 44535039
+1206265162 1250281492 122177697
+3269483311 1986683356 82580145
+237692106 1544133532 42481561
+3696531962 2419093833 100491231 \ No newline at end of file
diff --git a/aoc2023/src/day7/input.txt b/aoc2023/src/day7/input.txt
new file mode 100644
index 0000000..b1d1932
--- /dev/null
+++ b/aoc2023/src/day7/input.txt
@@ -0,0 +1,1000 @@
+3Q373 470
+K53JT 351
+A9JK9 856
+2T333 515
+867T4 541
+58K22 253
+5JA6J 994
+K4A4K 865
+94377 519
+92J2Q 901
+J7676 389
+2KK36 938
+JQ2KK 987
+Q7A82 509
+TTTA5 243
+72J27 502
+AKKKA 387
+23222 674
+55335 161
+AA655 73
+QKKQA 686
+5J2T5 680
+666AT 385
+ATA3A 761
+TTT8J 364
+98A2T 282
+59A44 260
+6T9QJ 130
+T7TKQ 721
+9274T 656
+T9AJ4 182
+A2222 259
+TQKJ7 67
+4J844 560
+AAATA 636
+9J36J 546
+QJQQQ 119
+249TT 295
+877J7 221
+4KA23 116
+929Q2 929
+99JQQ 445
+Q9QJ8 432
+4Q7TJ 963
+4J2J8 783
+5J657 257
+88788 183
+KKK7K 909
+KK396 637
+J45AT 117
+84448 806
+A2698 820
+A9AA5 320
+A3934 19
+Q45Q5 392
+78686 254
+A55A5 701
+98A4K 655
+5AJ88 95
+AK3KK 55
+773KK 33
+J9J9J 356
+2KAKK 563
+655K5 287
+55T56 475
+54444 308
+5J5QA 811
+QKA76 792
+2K288 42
+JTKA2 694
+88668 889
+8TQ64 212
+23QQ2 261
+8K8K5 365
+JKKAA 234
+3J894 880
+667Q2 817
+888T4 599
+T5Q83 315
+3QK29 670
+JK4KK 322
+75T8T 144
+AAA7K 291
+7T333 495
+A49K4 448
+JJ3J3 251
+5999J 278
+38438 890
+6K3Q9 122
+TTT99 93
+94775 240
+K8QJ3 369
+59674 107
+267J4 355
+QTQTQ 187
+46J44 961
+Q7AK2 580
+69969 609
+876A5 474
+A3866 642
+Q3QQA 526
+JAA88 425
+35Q9K 986
+QQTQJ 550
+54535 357
+2J222 639
+QK5J7 743
+222Q2 191
+T4T44 855
+QTQQ2 338
+JA7A2 300
+AAAJ2 508
+4J455 23
+A77AA 339
+5KK25 899
+252J2 737
+7QJ76 888
+K46QK 795
+A4T3J 640
+8A8K8 176
+AA5AA 41
+J2Q24 958
+58855 632
+333J3 610
+74474 807
+K3AAA 78
+JJ222 765
+44224 688
+76733 361
+5845K 181
+TT4T2 974
+23J33 102
+QQJ6Q 34
+Q9AQQ 150
+22747 717
+KAA5A 121
+7AA7J 286
+J786T 780
+3K8TT 32
+A6KAA 25
+9A362 166
+A29Q2 499
+6688K 57
+KKQKA 947
+999JJ 975
+6A666 927
+TTT3K 658
+JQQ7T 467
+8A247 934
+7JK8J 712
+KK39K 612
+6666Q 17
+77Q37 868
+A66AJ 169
+KKKKJ 535
+7Q7JJ 591
+K9848 646
+46888 931
+A86A8 326
+743TA 527
+QKK67 977
+KKJ6K 471
+AAJ7A 571
+55292 330
+3A222 390
+6453J 109
+JKKKA 403
+4J9T5 21
+K7A5K 486
+6TT34 793
+3479Q 60
+44624 443
+6KK3K 164
+4447J 112
+QQ27Q 452
+JAK65 522
+Q5Q5Q 354
+J5Q6A 540
+68999 711
+3QJ4Q 155
+A6AAA 314
+222KK 767
+55T9A 373
+T5T57 913
+TTTTA 794
+8J258 190
+3Q87J 489
+AAQAQ 950
+Q4JJ4 588
+6T64T 9
+636K5 228
+AA222 248
+7KJ35 616
+26646 507
+44A4J 829
+23323 904
+TA265 135
+JJQT9 136
+KATJ8 644
+J2862 713
+4JQ28 152
+Q3K2T 56
+6Q232 812
+9A622 885
+KJKKJ 773
+3859T 374
+99333 101
+TKTTK 205
+3333A 35
+5A4AQ 548
+T4944 967
+43353 813
+423JK 869
+T99T7 219
+3AAAA 394
+T65Q6 740
+J9243 352
+6656J 496
+444K4 574
+Q8T6K 98
+AQ55K 917
+7QQJ7 605
+TJ5TT 615
+68JQ5 852
+7A3J2 745
+369AK 217
+57755 343
+A8844 61
+Q76QQ 698
+36333 774
+237Q7 12
+KT694 283
+88286 154
+4T552 990
+Q9J54 759
+K6697 350
+A3A33 937
+AA9AA 246
+QQ7KK 748
+TT4A6 380
+4J992 845
+A66AA 573
+5QQ2Q 28
+86J37 214
+2A443 362
+Q9QKK 654
+44434 964
+77773 74
+44355 235
+9QK75 863
+3AJ33 766
+T2TJT 53
+44494 860
+883A9 309
+QQ59Q 360
+A88A8 584
+A83A4 395
+7J9TA 299
+55955 833
+QJK35 188
+4656A 514
+8KTQ4 554
+56J47 985
+J272J 184
+9J999 671
+72295 31
+53555 264
+4A537 750
+7A4JJ 875
+QK834 463
+88KKA 570
+QQ9JK 906
+6Q646 858
+53336 359
+QJ8QJ 587
+424TJ 607
+KTKK6 285
+Q5AQQ 84
+899A8 542
+K8TKK 250
+4JA4A 705
+6J75J 896
+888K8 312
+5583J 660
+6T335 614
+Q757T 945
+3AKKA 629
+KK946 825
+3393Q 406
+7J288 367
+49999 907
+99729 837
+66265 384
+K47JQ 263
+2AJ4K 566
+TTKKA 186
+8J877 418
+56844 666
+JTTTT 531
+6TJ94 26
+JQ5J5 344
+7J772 85
+33747 510
+KJA2A 729
+333TQ 578
+JQAT4 955
+75766 834
+QQ6QQ 980
+32K33 306
+TTTJ6 231
+2QTTT 213
+999AQ 608
+33353 202
+Q8Q8Q 756
+KK555 490
+746K8 691
+98A75 853
+JQ858 816
+KK9KK 536
+9T999 933
+TA8A8 39
+8558J 919
+J8KQK 15
+73Q2K 503
+2K2KJ 585
+JK9K5 903
+TJ7T7 545
+J723T 453
+KT895 583
+TTTKT 123
+39535 393
+K4K88 893
+43KK6 821
+6AA8J 504
+972TA 597
+7J736 592
+536A8 63
+J23Q3 402
+83K9Q 405
+28337 396
+9T558 776
+7AA78 946
+QTT24 441
+26QT3 401
+AJQAQ 953
+6T6AJ 304
+JK5KK 162
+2JJ2J 484
+73773 6
+8J864 630
+78782 557
+6TJ52 424
+487JQ 830
+8J698 82
+AJAAA 866
+228J8 204
+622J4 823
+6J2QJ 79
+22K22 232
+A86A6 444
+83K8Q 965
+JK586 944
+JA848 465
+8888A 45
+2T28T 803
+73J73 450
+27272 857
+7A777 544
+A998J 679
+46466 458
+KJ233 192
+4453J 378
+TQQJT 451
+A3K5J 512
+888Q6 968
+6AA66 841
+QQ222 883
+3K5A3 233
+JA4AA 379
+62288 778
+44456 51
+4A644 862
+55647 981
+A77A7 327
+KQ3A3 687
+QQ7Q7 976
+T4A2T 293
+46226 628
+Q59Q5 348
+36AJ2 984
+54433 532
+JJQ24 831
+7455J 381
+78845 218
+72AQ5 276
+52T22 618
+99399 68
+36AA3 118
+69669 839
+33Q5J 785
+TJ766 626
+T28J4 556
+T883Q 142
+73928 932
+TJ884 494
+AJ36Q 485
+9Q999 324
+T725Q 267
+22622 88
+92364 685
+97792 789
+J673K 620
+99943 625
+77JJ7 921
+8828Q 572
+7777J 353
+TAAJT 926
+99T29 787
+AQ4J4 520
+9J559 5
+J3T94 706
+K9KK9 918
+KK252 439
+79925 97
+TT47T 497
+848T4 126
+6TTT6 426
+K8825 925
+888J8 62
+K5K85 972
+AAKKA 449
+J5555 663
+89J99 27
+4Q444 922
+A9A99 397
+5A555 163
+8J3K8 662
+29989 645
+95222 751
+Q4Q4Q 193
+555K5 982
+74AJ8 735
+KKQ6K 668
+7676Q 916
+A28T7 784
+K57KK 388
+A4J4J 115
+2K442 229
+33TT3 956
+TT6TA 741
+TT782 131
+TJ5JQ 238
+TQ7T7 415
+29KQQ 598
+A8AAT 676
+46A28 650
+6698K 696
+6J969 158
+6694A 271
+QTQ5T 498
+Q2QQQ 613
+2A7QJ 210
+6T466 683
+QJ575 799
+Q63Q3 822
+Q9J28 848
+TTTT7 7
+KA9AA 854
+K2JJT 859
+28228 179
+K29KJ 429
+JJ8JJ 222
+A99A5 457
+QQTTT 983
+43KK2 134
+984JJ 1
+97J97 892
+2AAA8 689
+9Q77J 819
+98TJK 517
+56KA5 71
+7J66J 294
+55855 335
+TTT8T 596
+33663 407
+7J774 911
+3JQ55 564
+QQQ7Q 329
+85668 120
+KK333 301
+Q3553 867
+7K557 988
+Q8488 400
+96J99 643
+29224 714
+T8ATA 346
+99J93 462
+K83J3 697
+3KQJ4 653
+5KJQ2 824
+4JJ3A 897
+56248 727
+JJ666 702
+355T5 245
+45KAK 553
+88AAA 236
+K55J5 581
+AJJ49 65
+A8Q3J 197
+AAAKQ 529
+55976 707
+77776 930
+A9995 227
+K7J7K 912
+29K99 244
+4Q464 80
+22972 195
+666JQ 189
+26278 241
+79288 601
+5454A 427
+JTAKQ 138
+88833 549
+84J54 215
+AATAK 114
+58959 145
+8ATTJ 431
+QJ26K 265
+A3JA3 81
+T8T4J 242
+4T3A3 37
+44777 871
+JQ542 561
+A97Q9 693
+A76T4 412
+28T4A 481
+T485A 861
+78286 303
+K6776 52
+T8TKQ 754
+KJ938 957
+Q444Q 840
+25A89 455
+58588 673
+K8858 634
+K8KJ8 170
+K6KKK 851
+53353 140
+2T2K6 593
+QQAQA 48
+TT6J6 305
+922J2 920
+AA22K 22
+J555Q 725
+TTAAT 781
+2244J 171
+A95K7 436
+2J299 651
+78AAA 321
+2KKK2 690
+2J565 649
+77J5K 77
+T999T 762
+J4445 879
+J888Q 873
+J884J 1000
+98898 413
+29299 442
+QKQ3Q 678
+A652A 993
+55272 898
+KA5K5 664
+8KJAQ 147
+Q56QJ 734
+K77J3 739
+J7677 661
+T5569 206
+2AA2J 757
+TJTJT 342
+T2TTT 682
+88J82 363
+9KK78 700
+AT4T4 730
+86968 736
+99995 207
+7A3J4 172
+8KK87 991
+TKKJJ 16
+J7532 165
+J9888 996
+9AJTA 92
+43T78 310
+93J77 317
+J4424 805
+43J86 703
+952TJ 127
+54363 146
+8T2J7 435
+88848 832
+TAAAQ 791
+8228T 256
+699QT 815
+KQQQK 30
+T82J3 49
+36222 4
+AK288 86
+6792A 194
+2Q22T 667
+J3545 270
+9QJK4 280
+QQ22Q 371
+K9247 446
+A422A 943
+765K3 469
+9J5A6 874
+4A4QA 775
+8Q8Q8 124
+T8Q62 850
+8Q8Q5 747
+6KT88 738
+82888 722
+3TQQQ 349
+2J3TT 539
+7TQ59 72
+8998T 733
+JQJT3 414
+82428 589
+92856 423
+89833 54
+79T4A 523
+95839 979
+TJJT5 936
+33839 29
+37433 511
+TKJ2T 681
+JT973 633
+Q8Q8J 971
+Q5555 440
+K8886 24
+Q75A4 43
+3AQ33 298
+T446T 719
+577J5 753
+KJTKT 167
+52528 8
+25222 641
+QJ2T8 621
+A8JQJ 316
+7T7A7 772
+KQQTQ 141
+83734 758
+6Q66Q 434
+QJ6Q2 638
+AAA7A 196
+57555 203
+4QJQ4 216
+82J5Q 763
+A73A3 940
+46AJQ 559
+T4936 103
+89Q29 262
+7872T 466
+A5J58 274
+AAAQA 290
+37399 844
+A759Q 328
+TJ9TT 273
+77887 268
+64A2J 978
+6T76Q 110
+QQ467 742
+9J7Q5 422
+4K6Q3 91
+336K3 826
+6K63Q 382
+23552 105
+243AA 505
+Q887J 764
+2J92A 749
+68A3Q 416
+7T8T8 199
+225J5 404
+24774 153
+T7T77 870
+3J393 347
+Q5Q8J 128
+7Q777 796
+QKKKK 617
+86686 108
+44KT4 75
+56858 622
+5AJK4 960
+3245Q 311
+36536 370
+6644Q 11
+JKAAA 104
+T2426 579
+J3399 83
+33933 602
+A299J 777
+26J22 224
+8666J 594
+J3J38 669
+3AJ84 239
+52Q8T 877
+QJQQK 779
+QJ6T8 797
+43339 399
+9AJ74 476
+T499Q 13
+2TAKA 928
+T3K78 809
+2923K 201
+J8858 798
+T8888 818
+98399 168
+8T266 555
+23A57 652
+3KKK3 113
+22T22 460
+AJJAA 106
+7QKA8 464
+QQ8TQ 368
+99A99 341
+62Q5A 223
+J9T47 568
+Q7388 894
+69662 744
+96J2T 323
+2A779 89
+Q2874 269
+77797 948
+5359A 864
+AJ9K4 482
+Q3Q44 567
+JT958 665
+A38J3 438
+J4666 296
+428J5 501
+38K8K 410
+6T979 709
+3533T 284
+2285A 910
+933T6 882
+K6666 786
+56Q32 992
+5J752 198
+AJJQJ 600
+KK5KK 3
+38T94 180
+67QTJ 69
+J6636 200
+229J8 493
+QJTQ3 247
+5KQ5K 149
+654AT 528
+T84T4 878
+Q23QQ 905
+QQQ74 325
+4JTQQ 408
+T4T78 340
+3T5T5 551
+3J3J3 391
+88844 631
+TTT9T 810
+57775 935
+A777J 604
+4555T 2
+A5J8T 942
+22AJJ 506
+22323 997
+A3323 624
+84442 516
+2T992 76
+J7T76 828
+J8552 995
+KTKK3 886
+33853 782
+53233 129
+44J4J 372
+KQQT2 480
+K5649 576
+3J63K 760
+2J666 827
+6JT68 318
+45Q64 849
+49884 801
+9KTTK 902
+66737 952
+5Q8J4 708
+57Q92 724
+627J7 331
+K22J6 473
+4T444 923
+J4444 552
+78J8J 491
+4K328 477
+4AA3A 808
+7A34Q 437
+AQ888 428
+8TA99 768
+AA9A9 143
+9K5AT 211
+77722 40
+TQTTT 941
+Q2A4K 492
+236T9 677
+J8686 746
+J585K 64
+TJKQT 582
+T3TTJ 157
+22266 38
+KT5TK 692
+QJQQJ 908
+4K623 279
+7JJJ7 173
+64A66 524
+J7AJ8 417
+K43Q3 769
+T662T 148
+54J2J 488
+K6485 44
+J6666 970
+J26J9 209
+8337Q 334
+A27A4 319
+A7T78 132
+K777A 842
+KKK4K 249
+99K9K 430
+8745K 151
+Q2QTJ 433
+QKQ76 525
+25Q2Q 533
+5QK6J 800
+77T77 558
+5K323 939
+33KK4 590
+K8A52 111
+ATQJ6 569
+ATK89 50
+4433A 836
+3KKKQ 891
+46TK4 538
+5249Q 447
+2462K 675
+8JT6T 336
+466J7 459
+7K7KK 838
+544Q4 959
+58773 483
+823J5 999
+2TKA5 752
+AKJ58 386
+7T833 99
+KQ88Q 659
+KJ3A4 790
+K9595 307
+3K3J4 534
+3838T 220
+32522 720
+366Q3 500
+J8868 989
+T7KTK 376
+JQQQA 14
+42555 409
+5T5T5 648
+4KK4Q 383
+K7777 884
+736A3 543
+343Q3 366
+TJ856 237
+JJ555 46
+K5QQQ 275
+QAQQ7 672
+8KTJQ 731
+QQQ3Q 47
+J257Q 575
+6Q3QQ 87
+QKK43 924
+TTATJ 998
+K44K5 771
+37895 881
+48823 521
+KKK74 456
+99J79 139
+J4542 635
+AJ96K 954
+K8937 411
+5J355 895
+96967 185
+333T3 562
+TAJ77 755
+J38A8 487
+AAT79 313
+A6Q73 398
+386JA 10
+J35Q8 623
+27758 969
+3K3KJ 966
+7928Q 627
+AAA4A 59
+2AA52 478
+848J8 133
+55225 843
+TTQT9 619
+3Q79K 255
+27AK8 58
+TKTKK 272
+KTTAT 333
+55666 802
+47748 454
+Q3T56 699
+63T3T 302
+8754Q 723
+4J86T 358
+8TTQ9 226
+5523J 125
+88588 606
+58AAA 208
+TK273 137
+4Q7KQ 160
+29292 577
+Q333Q 611
+22TT2 716
+A55AA 258
+64822 468
+22228 847
+2242T 788
+JA26Q 472
+8JAAA 174
+K5Q8A 175
+Q5AT4 732
+J4434 530
+76666 337
+9998Q 547
+9T2J9 100
+3Q982 90
+7727Q 281
+92944 973
+K2597 814
+K444K 36
+26KJ6 292
+34K38 962
+5A378 225
+636J9 375
+TTTT4 420
+A66TA 461
+69QK5 345
+76293 479
+66966 804
+A3383 297
+T82TT 657
+2QJJQ 156
+K2JK3 94
+K6K66 252
+K58QJ 876
+6J979 513
+92647 718
+QQ9Q9 586
+862Q5 20
+5465K 915
+KQ44Q 595
+T66T6 288
+TJT7T 710
+5JT8K 159
+KJTK3 603
+KKJTQ 949
+67776 914
+J4323 177
+22229 704
+96999 178
+8AJKA 70
+69T69 419
+65556 770
+87738 537
+547J4 835
+44766 421
+3355J 684
+2K266 647
+5TTT5 266
+3T3TT 332
+88JJ8 96
+QQ5K3 887
+K7JKK 377
+J8Q2Q 66
+2KKJ6 230
+TTKQT 277
+22Q92 18
+JTTTK 695
+J993Q 846
+88898 728
+88T87 715
+Q74J4 872
+4T999 951
+T997Q 289
+92QA9 726
+AJ394 900
+TT2T2 518
+JJJJJ 565 \ No newline at end of file