From 8cbfa778c2e51dd8d1ea952a1e18a2cd19b25693 Mon Sep 17 00:00:00 2001 From: Tristan Date: Wed, 20 Dec 2023 19:31:01 +0000 Subject: [PATCH] 2023 day 4 but 3x faster --- 2023/01/cast.txt | 1000 ++++++++++++++++++++++++++++++++++++ 2023/01/filtered.txt | 1000 ++++++++++++++++++++++++++++++++++++ 2023/01/input.txt | 1000 ++++++++++++++++++++++++++++++++++++ 2023/01/part1.py | 15 + 2023/01/part2.py | 58 +++ 2023/04/part2-fast/main.go | 86 ++++ 2023/04/part2/main.go | 4 +- 2023/06/go.mod | 2 +- go.work | 8 +- 9 files changed, 3168 insertions(+), 5 deletions(-) create mode 100644 2023/01/cast.txt create mode 100644 2023/01/filtered.txt create mode 100644 2023/01/input.txt create mode 100644 2023/01/part1.py create mode 100644 2023/01/part2.py create mode 100644 2023/04/part2-fast/main.go diff --git a/2023/01/cast.txt b/2023/01/cast.txt new file mode 100644 index 0000000..0412fb4 --- /dev/null +++ b/2023/01/cast.txt @@ -0,0 +1,1000 @@ +67987 +68b32csscsdgj75dlhzhc +fcvvkvjjnh5659sxlvnhfckc54 +feigh24254 +cgpzm27168636 +498879 +522plltvd4hhgrfn +1rtxzlzdnxn27 +934v15 +5pnnss16lzbsmcck8d7 +j324942cjzqmmbrqn9 +464fbgvqm1rchdlmzhtzqqfjzpmln +2j2scbrtgmnqzvbfbzvrtkxhmf769 +242 +svxz8bjvt5zzvjzhkmtmnnft92 +3tffnjvkfh819qqshzdf2vtjfqjtbdv +71dr53dpqflxgdshlzmmnrb +7sggjxkcx4342s39 +39t6rvkbdnfpssj6djnfbqklkgfsqbf +342zcfvtplkrb8274 +17696 +kkxmtmd36jrj6 +817m91llbqrsprc +599qgjc8 +31sdmq9749 +khnlbmzhvl63 +91616vlnlx85 +schplzn78nlcxgr74 +611djcdmpdrgq32 +4zhpnphmq52r8134 +scsxj34825pfmpfj8 +69xvbxfffmr718gmch8 +18tfpgrdhm +2gxmhtfrbrkpdvlvsmdqrktxtrpssbrv933 +4vfrtkdqlb2rdlbppsssp +2cjmtvnzpbkdcq5242 +23512gpfqtszbjh +hgv994996 +37142745 +473 +8552ztclnd +1vmpd768h +338 +bgtw1drmc35 +231 +9lpxzhkck253q19zgxzrzd +hs1 +92xhfl6ltpqprpfggbzrvmfq14 +897pcxvl621 +rceigh26jc1nvllxsstqgnlhtl4 +tlnhl6fn3lbdlqztmk3dll41 +745 +dcfpstvxnd52kdqhlht +719 +223hdzssrt1 +87854xflfsp3fsfbtbslx +4ffsfsvkxslvp +939flgbmvzpvfsmtc63 +742 +qc572plvnd7 +5hhd81jbsfklmpzcgf59 +2dsmjkhdxjdgktlrt872cttnpjsv +31kptdm2jrgp +dnnmrflcft92 +7gtglplfkr985xm7 +v1ightznktfvmxlh9174z +247ncdmcpkrvnxlb86lrvns +38prmrxcm5 +4vhnc7jgvjllppvcfmvrlsdtkqcldpq +81phvtb +5l728lr +8xfqbn15 +6273764dfqvdc1 +712 +79qncxqcj113 +694327626 +6499 +gknlkqvntvmsjzlfb71 +h1ightmjlmvmbxsmjzg77 +6715 +559291 +gmhhtq9368gtsdg +nlmbvxckj24fj94735 +938npkjf2614 +qcslmgkkgbsnrr69nnr +83813231 +7hnqndhs8 +qd65 +2gtlrqrlv445q6djhvqvdlljnvbtkq +678ldvkz +gf147rv +24pkzdklbvm2 +426jsrbsrxdlmzntsxgg +tghcz843 +338hzlvpjzxcdfvcpjbmc942 +jkt62cprnhkkktjcvkvtkdggvrscf +dzhh82 +98t6 +95rnlsl6jvfrljzjg +52d +335569 +g22blhhptzdqbbnnrp75 +j58 +8225qdfr9 +kqxncc74sjttqklx3lxpffbdl321ightnb +1xpvjzvplfjdsjqrtmzbk9 +54r65 +728 +1kzvxckdbjjpprrqn4861bsdmrcxqznjtbnh +h2cglz3jggvkcbzvtc187 +2zspgcxf5bhx +ntglpd161bv1 +5zxgrdlhkmz647t43 +kfrnghxgfzpjxms24kzvcsk651 +grnd423 +8f +1xcqchtn64tvtff1 +bxlb2289278 +7ldngmndg96pjn4 +543xp +mtw1xp793z9 +8kg9596tw1m +6pmv47z8m +vrszvbtvtr28pzcjxkztzhvmtqvhnqf3 +1gsb2pjkrrqc11 +tbm693 +n4 +kffgtgcl866364 +14qgkzthpm8884kdcnpxv6 +cfhlmng215 +8lhc79vksfgpvlnfq3bglktc +2cc2rpflzhq73 +6145551snpz +1ffqfxh75flgjqcx +4312rtvlvcsvs2 +8rxrpvx3stbbpcszhnbrs4 +6qdkshgrsjxxsvpmnjxnzmc171fckgjbrsnq +8568328 +1khdqskj +1bd46 +dpcpq9qjnfzffsb5tj1ccm44 +nsrvffqhd676272hdgh3 +nvssc4973fsngxbm6 +93zzrgmsqtlckzrnbbk47 +373xpfrrfp5rv7 +384489118 +713433cgh1 +75672 +jgbgmcx76qc +zxbpvj7 +21xlcgpshvth9642kcvmhcdtxnm +462 +6399479 +dqnhd93 +758vzcxqmf57 +xdmeigh2mncvnkdkpx21971tclckshvp2 +gsdff2253bn +17gd +jcz8xxfdlphz53pzmjqzfb39qllhvcqj +5svjdbqlvgnvkcklsz8cjhdjxdvch59 +9sfgxbtcgbk +64zv5lxfghffvq9bfkshrkmbn +sdtxjnnjjp35jsll5 +tpeigh2zhzqxjstn86gbjlmsjfls6tlc +66899 +372 +gtskq917862mm +487jsqqfkzfcs2lthng75 +gjks7 +lfnqzjphs712qv59xhr +fvfgnddffhjj4969 +ttkmtncjc95583 +37244264 +29jnd58 +31vmzqdxvjlqxgzq11hcpqsd43 +tfzzzjjbx718bq3 +681rrpv6vkmnrndq +jbjljljm2qgt3kpvdkd61 +kxvbxzzxr42slfjkkgq555gxf6 +39ts3 +8tbtdg27xsqsq +7213jbqmvmvvh6rfqhl5 +nsvcdhkbdmxqbk328ztjtlsqprcplmx +4lntqfk4tkmmgkvrc991lpjtq +2218qfp78zshhl +vppzgr61fmvpcpkvsvppspqc61 +5lhcrxclclc64 +qh12mhhxqqdl7375 +539hdnfrgfjs57 +grcfbvfkj4 +487mzcgxvxqgx +489343lpqnclxzzbmjztbhdfdj5 +366kbrvjjsndlxvsz5qcfmtzsqlmqbrn +klcx6862163 +8ztdfdglxhjxmmvk2lsrr567 +92663 +636tgnznd +ggglpldvkkhgmrgt3 +9kk23srdtpskbbx446 +7xmrfkbsr5nzqfg78cbshp4 +65875gzsjf321 +2897cgv +dffvs7zrlrvlkjc4jxsndkzq4 +822blzxvvshgtqlqpqh6ctp +38bgjhkvnbdvbttblp15nxsln7 +3121x732ngdnb +kfzzhhctgrlznqcdvzshl556pdqx +cfsthhgvgfddmsjn83sjrrkxzl +499tfvbtxgfqrlhcdktmp +3rfhfgcf862 +1xsbxqmqkj3hrblqnfr7 +hfgnvtdzzb51gtljm98 +zprhsph3 +679247159 +fzxzkcvcxl4 +lcnkqqsr2gcbvxrtfp25532 +7969jxhrdqrpr94 +lxpqx723 +mnsjjgdll2drcfl28v9mqlfqsgccl3 +7nfkfvxsqr72tw1db +72npkjfjmgqxsxpdt9tpsfjlqvv +733286scxmpqjlxf2 +3qpxvglmpcgxzr79 +61mqrvdmckhmdrzxzkxbj382ql +7fdpqqzpbflflgph69889 +5dbntvzzdq3623 +8635557pxqpxrjq7 +62qt4 +tmc54zkxhvlrvfzhkczpkvbxk1 +rbrnxxbfxmbqscltv61793 +886zqntjsfhqj6343 +pmcfsrpknvbfhrzlvlcffjm532323 +97rtggjhvvd5 +vtdljvqht1552 +88rqtpdz59 +rtw1725 +sgh428grgpsmfxpchmmpndccgzfzz +kpgrhmtkxzzmdpcdz882 +5bfhbmff86 +8fqtr17czztqg44lx +9xnbmgqgvrtw1vs +1zqsvmcqsxjtp +2llzsslxc3761ightp +6bbgl76 +58zntvhvgdnh2 +354 +fftdddqn97176 +6ddqzj1823 +563tcp46 +2163m +21413sp66 +65236 +lvc1151 +6ddrgglstz +23rjpb2455 +88eigh2h +5fqckdd97161zlkjgxjtqq +gzneigh2vlsdvcmvj3qhbfmkdnvq199 +926gx6 +648xb26 +515pbxrzkdzjh61ightmt +9m3nlpdt15366 +lvxf3918 +vvbvfvt9551zgtsjplxc +qltld5p9tgpmkzrf4 +716 +23rgjrcq6hgjtdkjpqnglzgdpqntnqtzcfcbb3 +7xfj5btrml32 +979nzpjkcthcl13tn4 +11j76375 +tppnljghmhxplmnjgfmp4tkffqcghxx949 +396 +1ttfdjdd5msplxhlqvv12 +7mrqgcxbb2675116 +hjnq8vbshrbx896lxznhqgcc +6zq9nnq4lxzhzmzjmnbtfbkf +vfjhmf3ksgnlzzhsd2tg98 +ddztjmr453qghvzrtsgf +55lzcrz739 +1cggvnjfp127qrzcrxvp6 +286hfzchgcgtcqhr +ng8855mbdn +l15 +7121kndm56ntrmsk8eigh2p +hqg55124hgrm +vpdvhpkngnntqptm717619 +97ckpjpxszfv1jzxtptvrdk44 +tjlcs51txfkq6hzfklsl38 +mxjrssqxt717hnffgqcgs3 +1fsxjsnzxnc61rr +4725d8 +sgssrlck4prp65rktmjhxksgmvdqmnkndjls +758r63 +636x166cbxxcxvnhsgl +458kj95mqzvcc +ncgqlj7861nbcv +383p9skc +5h9765 +56172sr69 +ncjjfvzzmghgq8 +2n482dpnpgq +qpgnxtvhq1jcvtxlfk4682ztzddkmpbk +5vhfxpjtmdj297992 +5jtxmg4hbctmpnntlpbzfmxqg3jbjdb +4xgrzszmhx +28478tmrkfnd8eigh2nq +zvnxmbtjqzbl935 +slmt612564 +b3935 +3fxj5vcdmmphtrccptz +84ksxx67724 +fpxvbdgqxzdzx173ptgzhhqmkxm7 +96654 +466559 +9fvsdcbmmgh581811 +dlxcsjmcjpmmjr641gtkkqkmhkl1 +pxkqbgd489 +nn88 +663 +1zxszmgmfg9drnjzd +881tvgzfzfjqlq22dfh2 +kcgzq8cxdqphsgl654dbsjjmdtnxrzt +4393dpflrrtmt +1835 +863tw1z +3fxnhqrr7 +7412 +4bvnvb9qggx52vbdzztqccjhqqq9 +qzcdgv9jbr46724 +vknqxgpgxnl2mrmbxpr7 +kfggmlcht874kbtdzstps9 +kxzhchjh776mvtc847 +517 +8dgkcrphqsndn75vkstrsprktqdrdxqslmjtz +2njqktntzj27 +466 +9758nczdclht +241mlbpb6d +ddleigh264 +2239gksfnlvtg1 +jqrmqdkv1mhsjbqhhhjrvf246 +fjgl4174nlxzmxfkbn33 +6p71 +1nscmsc1k3 +r182923 +rqvstbf571 +mmtrqgddj12 +n235lvprvxstrct5 +l1ightgmlqfl79qrtmzdbbjmn5pqhgtmb +654213 +539hjjcjktlc6578 +68353 +539bnbgxvnmfknp2dhbdb79 +5cpljvtxtpbvzbdrdvsdgc2362 +45rlflt549 +21146mzm +48jksktjdvxsckgllpzdvbls6 +xsxkj81vkstvjjtm575 +8943qxpcfqpnq2 +58qnr33185 +6gqcfk +49lxnllkqrdgcxdrfv +9497689 +5566dgshxnn +6384bgnhsnj11 +93qmpnnzld1dd33 +14ljmrtmhm88 +124831l1ighttc +jnkg8lbjjvclcvmb73tdvnmrp +7qxklg +7d2636 +756sgltjpcn32 +15rzct +tfn49vt749 +15768hztp3xlbbgbqffv3 +svqjgxnmxlpfjc95 +99bn3njvhp982 +92613eigh2t +6429 +91bst745snndcpmtbq +164rkrglcvmvb +tjccltxqlj4cfbtcqtjd1 +4gqjb76876 +649998dfjp2dhzsfgt +7kfgzrxgm7 +3nn3 +8fzqvgrr1skhnqntgvv +8fmghkjzmrkpthcrk68921 +qgvgggrm93rl9rnf +76jvjfkr +924lsbdlmln6b9 +khqtjbkpdvrd963 +pz9bmxq114qtztvzlxf +716cjcbfv399 +ngtsvjgmcg5mssqdgtsdrqff +1vsh92lfbfhckb1vfkxv +1635 +93hsvjggzqcgjbqjvp96 +d241fp318 +445 +nnplsdmt962 +583rzgdpc32236 +3hcqb5ppvzvtcbjnvqjz +khh412sg +pdtltjqgqz58619vhnzbvfnxz +xtrxk5833 +375kjjx6555scjbbflf +ljfcdxktbnmvbspglnj5483 +81spmnrznpptmjvh6888 +qznqkgvkhlssszmdlvjdjjtbgz2 +664fbxrxfbv9hldl7 +3qzjrffxd31ightbc +34tf72sb +987rvkdgmpt +8432bjfzvncrk4 +869plxkppkgpzk5 +284526 +hdmqlgnphg1211 +9kxlrjmmkm34sfvrdlb76lkbzprhnchrz +9126txfggnctg5 +7pzrqm5v +ddqknbqxnrxlcrhcmhmr5 +861212hbtkjqljkprzdsmnv +7822qblcpqqfck41 +cbnpcjljf999 +73838zfzjs +szfsgstdm226jkgxrxbtpdbkt +1722 +768rvs +5627rcss581 +9ckcnzp1bnpjlznbrfxnkvfp71bz3 +69dbtpcrz148tzvbhxjk +5zlpdbxk722tlp6qbkpvjx +334sjgfjzz18xm8 +56tkmpbm6577 +98tqrntnvxrrbkpf2vclttz272 +bsxdzgxkcx5562qlbqgjzbc +522hhlp588vrkjcstx6 +2psmkkxflg46hjmdxfccbxqb +25kljltw1ggk +3fhtjzffgfph82zr +87fbzlr7rq54 +1349rl49rlvgnmtlcp +vrzcnn79txgxf552cftclqsg8 +kbbptjpbvvzcxr645prvjcq +13942vcpdfkb98 +lx1 +11qphkr2jczlpmcj7381ightgm +xsnzjbzfmb6859zmgzfkzvpzj56 +5476 +2156z9 +5nqc6179 +94fbfprr5vdvjphcqk43 +92435 +84zm23 +5c +173 +5gvfxttjch748 +9gs7hxmgmrzsx +dzxzfknlk5ddgsbsh +475cbbqscv5 +2vjtkcxpxlvqhvgsqfzm3cg1rctndlmm +978 +8193bccrm196 +2hbjxlfxdd4462 +256drcmbks3 +247k7 +36628 +466vvjvqhhbhr4 +7444prhplxh8xkgvgghl74 +9gtsqsnk74zlmnv9 +gpr3q529bqnr6 +rxhkd2832 +jljtw17kckbv94 +4scdjjmkpf33 +vj4zrl37tbbzrm8n +214xqlfqbhszv8rqcsprd19 +mmppkfd7459x4 +fxeigh25tftddm81xp8 +xdbmf415cq92dhmmc +931dcvqdvhtq9pczfhhgbmz82 +ff66759lg +xtzsnzlvvztq64zhkklcgjr4lztxlbtgxn9qcx +61nbqxmq2nxhtvrnrbsflzlztghfzjgfnhm81 +558 +xnhsbblmlp976 +jz881mrbchzmhrjcv +32ktr +64263 +6547 +ljbx29634 +889g76217 +4417cztqmheigh2mpd +ctqnhkqzxgtxrgfzv1458fbvjlgkc +883525 +6pvzljrv758 +7zhgjds1 +mxv7dtbsbz5 +4sqhcsjb6 +95431rs +6339zltqkmpbqqpd +6sjk96phmcxrv13 +31prqcmzrbjjvlvsf2 +gbgfr25hsplpdnccxkfz +9fnpxtgzhzvdnr7rftghqrhpv +72452 +868 +gcfjqqgbcdp33542q +44bkrj345vlpvqbkgvxcfnlnbs +tcgzqgqq772 +nvzgmddmh71zbdfjrt17 +7859348 +758 +9328fgdkbtph +dzlblf492qqj41tvpbbfdcbv2 +mcmbfvszjltlzdg7zxzzlrrvfb393fdtsvclt +8mzc7289kjchpd +sgpddvmkn292 +7cgqkbcsh5 +13972324 +2dpdvppxnt72171 +9jjpxjpxdxxkqj7 +4715 +29ckczklc5h +3kplnxmcjffhpfdhhhvsvsx62zrmbcpgj +35 +8g3 +9f493628 +1vsm3674chzm1 +bxnrzblqnv9xprtmvn5vkdvqmvfhgxc1zvzjlxgjhp +xtq7574mclszsmnqz5 +vrxnrv5gjlqrbdtkksz9 +9fszbsfnhbzzqhbkvxj57655q +838nklfskv3sb +5643 +1zhpqfxgsz3stfsldzdhh +qdtw172 +fttvpkjsf8 +82dx8bltlrvjjbs +6964xzvf5 +852kqdh2skxgnnnn7zg +lsjqvn548jbjc83 +589glvjmdgjvt4 +cfhxfnvn6482662 +hmp27786 +526 +d37688 +9fdbkdm862 +43fbsjzzk3723 +dgzvfszqpkfpxmvqf713 +82fkskmljrg12kschgbrbtgmkbdz7 +5sbdhqrsf2qlfqblrvgghbps6ln +2pkmlj2spqdnflmj +918hgccr479 +8jbptmtmmv77645 +63768dsbpjzc9jsmtxd4 +49xtnv +3qjrdnfjlp955 +1psdrj3g2msfsjktgkv61 +759xhdc399jctj3 +636 +237 +nnxzzcgrhcgtz4ttn5 +79612fbbdfqtdfg +4jgdxjqtbqzprpjdbjc2531xlgkxtsdmcrrh +43pvzzhkmlmbhzhmtb +m5xgplrjqlztvg9 +59s689rrhkrkxnzm +hknsnsf6 +trgpkmkbtlslmpqtdx4xjspnnmhdtg1nvfxpllcrrbzjrhrstn +922j7246 +t7377 +p4952 +kpf58csbjz39 +8sdmbrxbk +1vxknsvdqn6kf7zqlr9 +5znrsqthpbddfcpbvhhhjctp9 +plbcxgkd4tmprsxn84hdr922 +2qzqxbkm23brhsppdnvk62k +815 +645tdxfmcr6 +164 +fxrl57561ktxfsg +8995458 +362351 +6mjqxh4scvddlls +nfl4zrrgpvft1743 +76tf +6xhxkvgnbz3rbdnvgf +ckq7459pqk +1snlkqn +9tqvcllfvcfs62qtt67 +59khlmz +8dndsvdcqn89tw1nf +zgcnqqmlgsmfzqbkllvskn765 +8qqxshjnnsp +xfvttdnxhz46sjkqhpfszn2123 +5lssnmck74ftqt +2qsqpjmcbtvxjgqhhk +tztw17499lncrmvth4pgcbxzxvs +43cgnjpthnsgxhxbf488svmjkg5 +45867611smkjk +744rgqffq37 +jhpxqpspb7hpfnrpdv485nsbsfscjlz59 +sldxjjnjt5dlhdtrm6xlmgxhvpscqq374 +8pvfhtpgh26 +nfknjl58 +87779pdvh7dzpxpghzr +9fgdrgsgdh27238 +8nfjgxpcbbmjrhh9765dnlbsfddhf +tkqfc7666ggq7zrjrxtrnh3 +569zmxpjk +41kvhvnhjcgz +1663nh4 +164tzkjjl91kq8 +1xkl +865zb1vbtbmvtjvl5 +zmggmrj98 +56823 +192bshhmblpkp68 +7532249tghbrr2 +gc3 +6qdkjxgp7817 +775gpllcnbvf3khjsqtw1r +355417 +73f396hbrjfxlkr92 +vhnlzrv4gbdldncbgqrfd5 +gfjzvfchlzrnf856397rsfptjcrb +699lllzx +7ck31 +8177486nsmbhbp +ltcfm386 +bcncpxhhgbdtxh19kqkpffqx6 +pr95 +867gb24vclrmgfvph4 +46bgzbc31kjhkvlh +lbffslczq97r6z +36lpjrgb5xzfkprdf +31kmnnf427dkmmlrdsm +675nbljxg617zmknhd5 +3255sgg5 +244 +xlf4rtftmttzk4fhrcbxmxlsjz4 +5cxrsccjsgdfpfdgpf637qgntlgvds +pbdmld11s +3kpzzth35rnp +glglvs9ckckdblscv21923 +52cvnxlxqd11 +kjdvcklltsttlncvgr59fkspxfhchml +sfxxlhkbhqnvskxd25 +339vndkz22 +32969651ightf +36xq +2876 +3kfsr12rhvpqn7zmrp39 +tvvtqdcx88636fqsmnd6 +337 +2538 +tmzhzs9tjjpmqdrkh67839 +dsvnxx6 +8xzllsdpvrjszlhlmrr649fzncn9pkgdtlb +4284bdxhqxnjlfg3hkbkp +1hcnf9 +26ktskmcppzx4 +xzeigh21d177761 +4gbdz859 +21xrsphxlr711mj8 +16544 +647xl +6mqhtms6zp99 +4972432 +62xrjvzhldh4692fjjtskmzvls +px98skfppldqkp6 +7qx18kzzdlqdm6tzrhrzrhp8 +68mdsbrvh9 +16jxzx1jbfnjhm3 +3rbslfnzsbtjxfcmtxzjtvbdjnqj2 +4lbmlrp2rkpdtfvn4 +23lkvzmghvdm +6vrvcbbqv77 +gczqmsl9pphpbvd896 +777nsnz85vzgvmfrxd +7464519chrlthdhvnfn +sp2xngkbkqbpvqgd5719 +711938hpqntxsz1hxvc +936vrsrvfr74 +7tsvmxxn56gm1kdbrkcd5 +58nfblfbxrkrrmflg5 +4xltzj32 +steigh2jllrms3936vjxflgzkm +25ckxsgcgxjf +lpsztggf497325 +drktgkbkxlqlfvhvr8161qbgjjtcf71 +48s145 +jqjbzqvxcjqjjjhjjk8ll71knphmcvnjcsfdzp +9qr38nqpn9xgprcrdsn1rgjt +59snmrlfxh6 +1286 +72581gnc3 +6tffnj3vmhc641 +3964949zr +lrzcgsgdll99 +qftkzxrl18684 +8778 +kzk1ightfbptzk52sgbcnxg92 +v5hd1 +1vz475cmzkfhklp +cxklnb95tbkgjdcvjhqgnmdgrjkmfjqqbjtrzqfdr83 +6622lmggvvxr272 +2kcrxxbzks6nddqsqsk +rpjglmp81lvzbgvbjxd31lvxdtqnz +796bvd2 +16m732jv +hhc1ightxrnfvbqh73vs +6917 +2lcssbzf1338bvqrsmbh +51zrsvkbpn67zjggs4 +385 +cpgtw11rhgncphbfsrfplbfhxrmmp56 +4vbsrvggrzxxcxz82 +5295 +74kczfp8938 +zzleigh221cfdsq3jbc3rbngllphh6gp +36ntzmjnrr1 +3386bqcsdklzpfmbgxxtjs +rrbjsghzcl9833 +cfbrmlhqvtpxtpdbbcjj68 +62qmhkgpktkdprrqxpbphjn +cmfv1841 +fsfdjhb847pmqlcf6mv5 +qmvq9777 +17jqr7fmrsncppbr16 +18vcpbnsqhcv568z3 +58dnxkdbsxvd +3l76cbpbdv6 +vdvnbr1xzls7szdktcqfsqxtv4 +629qngsslvmbv398 +66fjjnc33xqdctdtks8bqpphzzm +hsqcqb1sjkdhhdlt1851 +1llpgqdfgs8fvss5 +znqqgtlmvxnlcgxr44scgzzhz +891tx5vzvqln8gxblpkmtkhcl +8czhdvmrlm5pmnlnl95hxzmlzntdmqldbn5 +116shmhxdvzbh73dsvgvtpddls +5lph98flssjhz +2psmflmhcbsrvz5176 +qzqz871 +fmhgv775jdqcsznn1 +415dsg53xlfzccgn +qplzvmmhbh598ghnhrmzvxblxncdkrfntvzdtvqr +8fdkghn2phfnpzjllfr9 +6rfstqcmdvq9 +nmcdsbcl31kxnrvqgjxp7437 +172rqp4dcqrlqpc3 +146 +81qqrc18 +93nrscbxlx4fchjdgnlvvfrnf7jfffbggjt +4825sbpgjnt +862jhjvh5 +9fg8xrvpbpgbklkbfrqgdl18 +pbdggc485rdsssnj +gxqzltbzfbhfdcq83dggjvh9xg9jxq +fm696 +148xkdjzkfth177 +447514 +2vfq9vfzxfmsfrxjxhfqrpc +zckzxj451p +9925 +91186kcd8ndvhj5 +448hbhrn657 +mpr97zm5 +2415 +22ddgkzt667mdzhdzhdmzjmvrrnd +vntvkmtqm252 +bktbrctx2qbjls7 +7226 +223zlhpkpmzsnbshpgt +1pktkpfppxbjf8 +11jzlvq +245k4 +842 +176813pvp2 +xvndrn85k5nr6nzgcdhlzvf8 +941 +rhz267 +84557lzbhmsprsj +771kmzsjl8jpdssncpvcjxczdvsk46 +zcmpfqzfxlfsxkmscs4lctq1pjkg49 +817zlxflf94 +34635 +292mhsbgktzmlqk1414 +pnnf25 +kpjmxm76 +512qbp24hmzhhfmvfqbgjk +14bkzjstxgrv2dvzbdfzt5739 +m126fbxbphkpd229nvphvnxhxk +6mgmb39b9375 +8vsfnsdkgh749rnvkrfcx +4xglll561 +38687267 +45flsgrgznjfbsvgvbrgnm +763 +957qmhfgctmnp +8579xgpsr +sbpbb215jns46 +dfghm9mrcpf3974 +bh73qvhttfqt +77kssmdclhfd +qdltfdhsvz53kftjfdqbn +48dxncfjhvpsxd73kcpmpfvnfb +91eigh2x +vvcfdjlpcrfnnmbcx489mtcfqqqfl545 +qbcxpccssl9kvqtjncjdxsrpp86bnmq +61xjgqthdnrp5tgnxqv1 +8333ngpkqtqgtkmcfgqqgj313 +1zfnl71 +23fhcs +398zmpvjqrvcb1tkmchzjtsrfllv +58cjnxhzfknnkj49zvskrvrc +h316zdtbfnlx +tzqck743465 +qbbzz1371 +1gfzhl312 +gpjjz5121qbrjdrz7 +xcpjznj54575q +g7flcgfcmqtrzstrm992 +7nrsmkbqffnnvfpjgb +tfhnnmpbzq676 +52jhltfzqhfprmtgbmhg +vchpblqmsvf4zkndtsg7 +87vgfpttr62hmfzf4f +8441tsvfq +476 +vrkmjrrxnbgjbxfqxllp1741bdm6 +2kqfd4345 +44m +47rxzjff2523 +84xbxqplmknhjhzm952zjrzjp +2jtjvdmgkjsstbdgl3bhhhzvllm6qxpzxjbgn +68371 +645m5 +fqlftfrtsj9 +rpjlhht2xxnnkqktkxt876 +53vbklfdmp712thxcmzktlz +547lxhg +49gcb8fqc3fnstcnmdn82 +2vd +6tfpxszrkdsgphdsblkqfk +43rjxkfgdm4gkxnvdfxs +622583 +813543 +pr79848 +2zqdxfg363zcz3 +89vcncjcbxhnf8 +m8jdg2vp73 +739dzdhprp +b29gnfpfhxkvv3 +3gkxmmxzsmblsjfds87 +crbbpggzbfsjb8kqqgk94flghlzbg7 +668585 +nmrvnmgdr283 +gqntw179581vtthdng1cgvxlvstgm +1qcftjqnxck3gtsxfjbrmv2 +3kdfzqhq85447tw1p +525x2mtcgmfhbj9pkpjjsf +17xvgjdznvnjf2lvmjmg +ppbgncvcl545 +36386qxzsvxpbz41jt +szxc93tfh +zdxgxlj99 +9kkmgczf +463697qcxxgmppgkll +65342 +99qpngcdf2177kzsjxqbggx1 +79gfjkxkbp2793xjgsxh +6srqfplf481353 +869 +nnsjzlrjcsnpd7zc5 +5nmndbmjngpsvkjsbqxvncm6qjzcktn7nlxpbkchk +34eigh2l +2gnb9dt +12948 +5lb +cdczlxgxpdqvkcqb5t3 +nxxxr8158mvrhngv8 +811dsqsscjg52 +98916gxqxcj63 +dqjdfksf2hrrhzlcxd12vblpmsqrr4shg +345dstjsbllc9 +436vnzfssrqrg +mlcmlvlmc772mcqlzfnpm2 +9gflbrbv62sv5 +99rjmnhl393 +zvsqxdggl9dxppmcmc3894vp8 +258htfvpndpn8mt32 +33tshvcbgtgg16 +175xtsfp6 +frmhtjxcnztfhtgtr5 +8jjsclsqg437lvct75 +62vqnhqct4 +2jlvv55 +lszr13819ggp9 +85xxxrkzrppslbf83xsskbkjcc +pvpxjrnnp11rmgfhbpb9smbfpcp7 +78pfzgsbgjqtn8 +rdk6nzmxgppj6qkftmcthgl9 +3231 +bnxd75 +mzlcnxgdddfpqkp6hjjpn931 +135gnzr9brblpnk +vv9rkskndtjq8zst469 +5xdstdtfshcchblmknln85fncvl +7mhjsq7923tbnkglngl2 +3965567 +2414fzrsjr +96kl9 +rftbrj44 +1mtjqqdrtjgkbv1plcgtx2148 +64qsgfkqdnspzstbrhzxb3qxrshrfdbk1jrxptfhjfld +769 +175294xdjmzjv +18rbvxt +skzg13 +97t3 +mcrgx49qbpzcqqbx +3b7699546 +1bjgnlhtxgx +71cr4 +3nkjflkqpjz61gzsffxlncmxg8 +rhppr9434mmjm +rvm3vbvxqhrhglvrh869 +665xgshnkmx26 +3srgvnbcsr8tfnjcs782 +879njhxpnrhljkvnms3 +461rfgvmxqfr9kthjjk +4tqbjqcmsg912xgvqdhbnl18 +hhzdrttjvbzdngnqv2 +kbm71 +qzmtw1xlzbv28frjmhld6 +27mdxfj49kzkzdspbxvktm +38cvfqmntngvmhddgqdg1tjgnnzggjz9xqlxffgsc +ckd3425vzv +lhbvl741bdrkzmshkx1 +64343skhdk +377dtljbhvfdr4ngqdqfb4nsnt +rvbkddqrfm8rp5 +193 +zjhbkjrb5qvtjbcgpkvksbsszpqjfcrgrcqggdtc +7399pslhnpmxjj43 +9195xndjkx7 +417crgvnq2xqxfcsbbbsjlsjhsfll +592bqlgcdpk4 +pblrz579tz5rhlslrs1 +7blt1 +38316 +9154hspfngxzhzh +76zxqlsqqsv4136 +8kklgfmqvn299 +dznsskrrfchdnm2fxcvqvf38 +cmfkrlslhgzprgk567 +433 +362fkzsjkr66 +8bcqmshjln5crjtcsznr5 +11936 +32611zvdzc +1sjttzbstpx6sgfzpgdltx715bvrbmccbzkbgdnkkhpd +9bbpksbnpdm +3rtcztcr +bk17jbmnc59jp +762hjvttpk +rsnqnlgfgrxk8sfxhrlgmc1jnjgctclr7 +3sbmxlshf554 +8nprjs +389 +4399ljmdptjbgk3 +cthxllrzb7874 +3gzvsfnx5 +pjbgb91rphbcrhg92 +564csfpfnntpkfcsqkkp61ightlsv +4mn5kqgvk +9627 +2bk +8997vxfnqlsrnxbr +5tnxmljplldd36 +qtzcgtlh9 +gtnkglkd32qgqhj6dpfgqtpptg +7jvxsltntrksjz6 +3955bpvtzh +3kxxfvs7 +157xvtnfkqnsbvpxlrdmjszrpmp5 +73727275 +rcmzjxg1csdhdkvfhxpp653 +nvgf9381zdbhhgtmshc +2ng19x +1857ggvqjm614 +dhq7hzhmbzdhzjxhd232 +ggd13nbms34951ightpr +4vzgnfnhkkp2 +j473875nfkd +22471fqklblqbdxcmtch diff --git a/2023/01/filtered.txt b/2023/01/filtered.txt new file mode 100644 index 0000000..15cccd5 --- /dev/null +++ b/2023/01/filtered.txt @@ -0,0 +1,1000 @@ +6798 +832 +54 +4 +268636 +498879 +2 +2 +41 +516 +2492 +1 +76 +2 +8592 +812 +1 +73 +3966 +32274 +7 +66 +811 +59 +19 +3 +6 +7 +613 +52813 +28 +69788 +8 +2933 +4 +25 +25 +9996 +37142745 +73 +8552 +76 +8 +35 +23 +9239 +1 +924 +961 +614 +3 +74 +52 +7 +21 +54 +4 +9393 +742 +727 +58 +2 +31 +92 +7857 +14 +24 +385 +4 +81 +57 +85 +62737 +1 +7913 +69372 +499 +7 +77 +615 +5991 +9368 +47 +93264 +6 +83812 +78 +65 +5 +68 +14 +22 +26 +8 +8942 +2 +82 +8 +96 +52 +556 +25 +8 +9 +743 +1 +46 +72 +146 +37 +5 +111 +54743 +1 +423 +8 +14 +9 +796 +4 +739 +895 +8 +283 +11 +93 +4 +866364 +486 +21 +893 +2 +15 +175 +12 +8 +671 +85682 +1 +6 +514 +673 +9736 +934 +37 +18 +733 +2 +76 +7 +2196 +2 +694 +3 +587 +1 +22 +7 +8539 +9 +9 +49 +35 +6 +668 +7 +1862 +48727 +7 +2 +99 +953 +324426 +95 +143 +7 +68 +3 +2555 +9 +2 +213 +28 +44 +2217 +1 +54 +2735 +597 +4 +487 +833 +365 +62 +857 +966 +6 +3 +93446 +75 +5521 +2897 +74 +22 +81 +32173 +56 +83 +99 +382 +3 +519 +3 +2715 +4 +252 +7994 +2 +83 +7 +7 +328 +39 +6 +6989 +363 +83 +4 +41 +79 +88643 +32323 +97 +1 +885 +725 +2 +2 +56 +8174 +9 +1 +37 +676 +582 +54 +76 +6 +5646 +213 +2146 +6526 +1 +6 +255 +8 +761 +399 +92 +642 +51 +36 +31 +5 +594 +71 +23 +753 +97913 +167 +99 +396 +512 +765 +89 +94 +39 +453 +5539 +276 +286 +5 +1 +71268 +512 +619 +1 +56 +77 +1 +725 +5 +756 +61 +49 +61 +83 +5 +6176 +8 +248 +16 +29 +4 +4 +2878 +3 +65 +3 +3 +8 +7 +9654 +6559 +988 +641 +89 +88 +6 +19 +82 +8 +43 +83 +8 +3 +4 +5 +24 +2 +8 +774 +17 +7 +27 +66 +975 +16 +64 +22391 +16 +743 +61 +13 +18223 +51 +2 +235 +7 +3 +397 +5 +527 +523 +4549 +1 +4 +815 +8943 +5815 +6 +49 +9478 +556 +1 +3 +148 +431 +83 +7 +76 +2 +15 +474 +168 +95 +9392 +921 +2 +145 +4 +1 +76 +69982 +77 +33 +1 +8691 +39 +6 +9 +6 +1 +13 +5 +11 +13 +936 +418 +4 +962 +83322 +3 +42 +89 +83 +755 +483 +688 +2 +69 +3 +42 +87 +84 +9 +24526 +111 +3476 +926 +7 +5 +121 +721 +9 +733 +2 +722 +76 +675 +93 +148 +5726 +348 +5657 +7 +56 +2286 +2 +25 +38 +7 +349 +79528 +45 +32 +1 +138 +6855 +547 +2169 +519 +4 +9243 +84 +5 +17 +574 +7 +5 +475 +1 +7 +9 +4462 +2 +247 +328 +664 +44 +79 +356 +82 +9 +433 +8 +1 +745 +58 +41592 +32 +65 +649 +12 +558 +9 +8 +3 +6 +7 +263 +88977 +47 +45 +8355 +65 +71 +7 +46 +954 +639 +661 +2 +2 +7 +22 +8 +3342 +3 +77 +117 +848 +78 +3 +44 +7 +89 +9 +5 +13723 +1 +9 +41 +25 +62 +35 +8 +68 +167 +9 +75 +9 +75 +383 +54 +3 +72 +8 +8 +5 +852 +43 +54 +8 +27 +56 +37 +986 +4723 +7 +212 +56 +2 +19 +6 +669 +4 +55 +13261 +99 +636 +2 +4 +92 +42 +4 +59 +5968 +6 +1 +9274 +377 +492 +39 +8 +19 +9 +4842 +23 +85 +456 +4 +57561 +8954 +625 +64 +43 +7 +3 +745 +1 +626 +59 +9 +5 +8 +4212 +4 +2 +749 +485 +45861 +47 +59 +574 +86 +8 +79 +97238 +89765 +73 +9 +1 +64 +18 +1 +85 +9 +523 +1968 +72292 +3 +61 +73 +3417 +96 +45 +8 +6 +1 +8778 +386 +196 +95 +74 +61 +6 +6 +317 +76 +325 +4 +44 +3 +1 +3 +293 +52 +9 +2 +32 +399 +36 +76 +3173 +8666 +37 +23 +68 +6 +89 +243 +9 +4 +171 +85 +21711 +654 +4 +699 +4973 +669 +98 +78 +6 +13 +2 +4 +2 +677 +896 +775 +461 +257 +7381 +34 +51 +55 +2 +39 +25 +4735 +8171 +414 +81 +91 +59 +1286 +72813 +64 +964 +99 +8 +7 +292 +5 +75 +93 +672 +2 +8 +6 +163 +3 +17 +213 +574 +3 +6 +4 +525 +73 +2 +3 +36 +833 +6 +6 +141 +6 +97 +11 +156 +8 +376 +14 +939 +663 +15 +1 +4 +958 +55 +1673 +598 +2176 +8 +7 +415 +598 +89 +69 +3 +72 +6 +18 +347 +8 +8 +8 +5 +399 +6 +1877 +514 +29 +45 +925 +185 +5 +95 +415 +266 +252 +7 +26 +22 +18 +1 +244 +84 +1132 +85568 +1 +7 +45 +7184 +44 +89 +3 +29214 +5 +6 +4 +4279 +62 +6935 +7 +561 +3727 +4 +763 +57 +579 +215 +9974 +7 +7 +5 +83 +1 +495 +98 +1 +33313 +1 +2 +31 +584 +16 +35 +1 +12 +217 +54 +9 +7 +67 +52 +7 +624 +41 +4 +1716 +245 +44 +5 +49 +36 +3 +55 +9 +2 +32 +7 +4983 +2 +6 +434 +62253 +8353 +8 +363 +9 +273 +9 +3 +8 +89 +855 +8 +9511 +2 +547 +525 +1 +45 +63864 +93 +9 +9 +4397 +6 +917 +73 +6813 +869 +7 +6 +4 +2 +18 +5 +3 +158 +8112 +8166 +12 +345 +46 +722 +6 +3 +9389 +283 +336 +1 +5 +8775 +624 +255 +319 +88 +11 +8 +69 +321 +75 +631 +1359 +84 +5 +773 +5567 +214 +99 +4 +1 +61 +9 +759 +8 +13 +3 +49 +954 +1 +71 +3618 +943 +869 +626 +3782 +873 +1 +1 +2 +71 +26 +2749 +89 +35 +41 +6 +3774 +8 +1 +5 +739 +9157 +17 +94 +7 +7 +316 +54 +76 +89 +23 +6 +4 +26 +8 +113 +3261 +1615 +9 +3 +1 +62 +817 +354 +8 +89 +399 +7 +3 +12 +566 +5 +96 +2 +8 +3 +9 +36 +7 +95 +3 +157 +775 +1 +38 +2 +157 +732 +3 +2 +478 +41 diff --git a/2023/01/input.txt b/2023/01/input.txt new file mode 100644 index 0000000..90b1239 --- /dev/null +++ b/2023/01/input.txt @@ -0,0 +1,1000 @@ +6798seven +six8b32csscsdgjsevenfivedlhzhc +fcvvkvjjnhfivesixfiveninesxlvnhfckc54 +feightwo4twofivefour +cgpzm2sevenone68636 +498879 +fivetwo2plltvdfourhhgrfn +onertxzlzdnxn2seven +ninethree4v1five +5pnnss16lzbsmcckeightdseven +jthree249four2cjzqmmbrqnnine +foursixfourfbgvqm1rchdlmzhtzqqfjzpmln +twojtwoscbrtgmnqzvbfbzvrtkxhmf76nine +2fourtwo +svxz8bjvt5zzvjzhkmtmnnft92 +threetffnjvkfh81nineqqshzdf2vtjfqjtbdv +seven1drfivethreedpqflxgdshlzmmnrb +7sggjxkcxfourthreefourtwos3nine +39t6rvkbdnfpssj6djnfbqklkgfsqbf +3four2zcfvtplkrbeight274 +one7sixninesix +kkxmtmdthree6jrj6 +81sevenmnine1llbqrsprc +5nine9qgjceight +three1sdmq9sevenfournine +khnlbmzhvlsix3 +nineone6onesixvlnlxeightfive +schplznseveneightnlcxgr7four +6one1djcdmpdrgq3two +fourzhpnphmq52r813four +scsxjthreefoureight2fivepfmpfj8 +69xvbxfffmr7one8gmch8 +one8tfpgrdhm +2gxmhtfrbrkpdvlvsmdqrktxtrpssbrv933 +4vfrtkdqlbtwordlbppsssp +2cjmtvnzpbkdcq5twofourtwo +2three5onetwogpfqtszbjh +hgvnine9four996 +37142745 +four73 +8552ztclnd +onevmpd76eighth +threethree8 +bgtwonedrmc35 +23one +9lpxzhkck2five3qone9zgxzrzd +hs1 +92xhflsixltpqprpfggbzrvmfqone4 +eight9sevenpcxvl6two1 +rceightwo6jc1nvllxsstqgnlhtl4 +tlnhlsixfn3lbdlqztmkthreedllfourone +74five +dcfpstvxnd52kdqhlht +7onenine +2twothreehdzssrt1 +eightseveneight54xflfspthreefsfbtbslx +4ffsfsvkxslvp +939flgbmvzpvfsmtcsix3 +742 +qcfive72plvnd7 +5hhd8onejbsfklmpzcgffivenine +twodsmjkhdxjdgktlrteightseven2cttnpjsv +31kptdmtwojrgp +dnnmrflcft92 +7gtglplfkrnine85xm7 +voneightznktfvmxlhnine1seven4z +24sevenncdmcpkrvnxlbeightsixlrvns +38prmrxcm5 +4vhncsevenjgvjllppvcfmvrlsdtkqcldpq +81phvtb +5l7twoeightlr +8xfqbnone5 +62737sixfourdfqvdcone +seven1two +79qncxqcj1one3 +69four3two7six2six +six499 +gknlkqvntvmsjzlfb7one +honeightmjlmvmbxsmjzg77 +6seven15 +five59two91 +gmhhtq9368gtsdg +nlmbvxckjtwofourfjnine47threefive +93eightnpkjf26one4 +qcslmgkkgbsnrr6ninennr +8381three2threeone +7hnqndhs8 +qd65 +twogtlrqrlvfourfour5qsixdjhvqvdlljnvbtkq +6seven8ldvkz +gf14sevenrv +2fourpkzdklbvm2 +four26jsrbsrxdlmzntsxgg +tghcz8fourthree +threethree8hzlvpjzxcdfvcpjbmc942 +jktsix2cprnhkkktjcvkvtkdggvrscf +dzhh82 +nine8tsix +9fivernlsl6jvfrljzjg +52d +threethree556nine +g2twoblhhptzdqbbnnrpseven5 +jfive8 +eighttwotwofiveqdfr9 +kqxncc74sjttqklx3lxpffbdlthreetwooneightnb +1xpvjzvplfjdsjqrtmzbknine +five4r6five +72eight +1kzvxckdbjjpprrqn4eight6onebsdmrcxqznjtbnh +htwocglz3jggvkcbzvtconeeight7 +twozspgcxf5bhx +ntglpd1six1bv1 +5zxgrdlhkmzsix47t43 +kfrnghxgfzpjxmstwofourkzvcsksixfive1 +grnd423 +8f +1xcqchtnsix4tvtffone +bxlbtwotwoeight9twoseveneight +7ldngmndg96pjnfour +five4threexp +mtwonexp7nine3z9 +8kg95ninesixtwonem +sixpmvfoursevenz8m +vrszvbtvtr28pzcjxkztzhvmtqvhnqf3 +1gsbtwopjkrrqc1one +tbmsix93 +n4 +kffgtgcl866364 +one4qgkzthpmeight8eightfourkdcnpxv6 +cfhlmng21five +8lhcseven9vksfgpvlnfq3bglktc +twocc2rpflzhqseventhree +six1fourfivefive5onesnpz +1ffqfxh75flgjqcx +fourthree1twortvlvcsvs2 +8rxrpvxthreestbbpcszhnbrsfour +6qdkshgrsjxxsvpmnjxnzmcone71fckgjbrsnq +8568three2eight +1khdqskj +onebdfour6 +dpcpqnineqjnfzffsb5tj1ccm4four +nsrvffqhd67sixtwoseventwohdgh3 +nvsscfour973fsngxbm6 +93zzrgmsqtlckzrnbbk4seven +3seventhreexpfrrfpfiverv7 +threeeightfourfoureightnine1one8 +7onethreefour33cghone +sevenfivesixseven2 +jgbgmcx76qc +zxbpvj7 +21xlcgpshvth96fourtwokcvmhcdtxnm +foursix2 +6three9nine4sevennine +dqnhdnine3 +seven58vzcxqmffive7 +xdmeightwomncvnkdkpxtwoonenineseven1tclckshvptwo +gsdff22fivethreebn +one7gd +jcz8xxfdlphz5threepzmjqzfb39qllhvcqj +fivesvjdbqlvgnvkcklszeightcjhdjxdvchfive9 +9sfgxbtcgbk +six4zvfivelxfghffvq9bfkshrkmbn +sdtxjnnjjp3fivejsll5 +tpeightwozhzqxjstneightsixgbjlmsjfls6tlc +668ninenine +three7two +gtskqnine1seven862mm +487jsqqfkzfcs2lthng7five +gjks7 +lfnqzjphssevenone2qvfiveninexhr +fvfgnddffhjjfour9six9 +ttkmtncjc9five5eight3 +3seven24426four +two9jnd5eight +threeonevmzqdxvjlqxgzqone1hcpqsd43 +tfzzzjjbx7oneeightbqthree +68onerrpvsixvkmnrndq +jbjljljmtwoqgt3kpvdkdsixone +kxvbxzzxrfour2slfjkkgq555gxfsix +three9tsthree +eighttbtdg2sevenxsqsq +seven213jbqmvmvvhsixrfqhlfive +nsvcdhkbdmxqbkthree28ztjtlsqprcplmx +4lntqfk4tkmmgkvrcninenineonelpjtq +221eightqfp7eightzshhl +vppzgrsix1fmvpcpkvsvppspqcsixone +5lhcrxclclcsix4 +qhone2mhhxqqdl73seven5 +5three9hdnfrgfjsfive7 +grcfbvfkj4 +487mzcgxvxqgx +four8nine3four3lpqnclxzzbmjztbhdfdjfive +3six6kbrvjjsndlxvsz5qcfmtzsqlmqbrn +klcx6eightsix2onesixthree +8ztdfdglxhjxmmvktwolsrr5six7 +9two66three +6threesixtgnznd +ggglpldvkkhgmrgt3 +9kktwo3srdtpskbbx446 +7xmrfkbsr5nzqfgseveneightcbshpfour +six5eightseven5gzsjfthree21 +2897cgv +dffvs7zrlrvlkjcfourjxsndkzq4 +eight22blzxvvshgtqlqpqhsixctp +three8bgjhkvnbdvbttblp1fivenxslnseven +3one21x73twongdnb +kfzzhhctgrlznqcdvzshlfive56pdqx +cfsthhgvgfddmsjn83sjrrkxzl +four99tfvbtxgfqrlhcdktmp +3rfhfgcf8six2 +onexsbxqmqkj3hrblqnfrseven +hfgnvtdzzb51gtljm9eight +zprhsph3 +sixsevennine2four715nine +fzxzkcvcxl4 +lcnkqqsrtwogcbvxrtfp2five5three2 +7ninesix9jxhrdqrpr94 +lxpqxseven2three +mnsjjgdlltwodrcfltwo8vninemqlfqsgccl3 +sevennfkfvxsqr7twotwonedb +7twonpkjfjmgqxsxpdtninetpsfjlqvv +seventhree328sixscxmpqjlxftwo +3qpxvglmpcgxzrseven9 +6onemqrvdmckhmdrzxzkxbjthreeeighttwoql +sevenfdpqqzpbflflgph698eight9 +fivedbntvzzdq36two3 +8six3fivefivefivesevenpxqpxrjqseven +sixtwoqt4 +tmcfive4zkxhvlrvfzhkczpkvbxk1 +rbrnxxbfxmbqscltvsixone79three +88sixzqntjsfhqj6three43 +pmcfsrpknvbfhrzlvlcffjmfive32323 +97rtggjhvvdfive +vtdljvqht1fivefivetwo +88rqtpdz5nine +rtwone725 +sghfour2eightgrgpsmfxpchmmpndccgzfzz +kpgrhmtkxzzmdpcdzeighteight2 +5bfhbmffeight6 +8fqtr17czztqgfour4lx +9xnbmgqgvrtwonevs +1zqsvmcqsxjtp +twollzsslxc37sixoneightp +6bbgl76 +58zntvhvgdnh2 +three54 +fftdddqnninesevenone76 +6ddqzjoneeighttwothree +56threetcp46 +21six3m +214onethreesp6six +652three6 +lvc1onefiveone +6ddrgglstz +twothreerjpb2four55 +eight8eightwoh +fivefqckddnine7one61zlkjgxjtqq +gzneightwovlsdvcmvj3qhbfmkdnvqone99 +92sixgxsix +64eightxb2six +51fivepbxrzkdzjhsixoneightmt +ninem3nlpdtonefivethree6six +lvxf3nine1eight +vvbvfvtninefive5onezgtsjplxc +qltld5p9tgpmkzrf4 +71six +2threergjrcqsixhgjtdkjpqnglzgdpqntnqtzcfcbb3 +7xfj5btrml3two +979nzpjkcthcl13tnfour +one1jseven6three7five +tppnljghmhxplmnjgfmpfourtkffqcghxx9four9 +396 +onettfdjdd5msplxhlqvv12 +7mrqgcxbbtwo6seven5oneonesix +hjnq8vbshrbxeight9sixlxznhqgcc +sixzq9nnq4lxzhzmzjmnbtfbkf +vfjhmf3ksgnlzzhsdtwotg9eight +ddztjmr453qghvzrtsgf +55lzcrzseven39 +onecggvnjfpone27qrzcrxvp6 +286hfzchgcgtcqhr +ngeighteightfive5mbdn +l1five +712onekndmfive6ntrmsk8eightwop +hqgfive512fourhgrm +vpdvhpkngnntqptmsevenoneseven619 +ninesevenckpjpxszfv1jzxtptvrdkfourfour +tjlcs5onetxfkq6hzfklslthreeeight +mxjrssqxt7one7hnffgqcgsthree +onefsxjsnzxncsix1rr +four725deight +sgssrlckfourprpsix5rktmjhxksgmvdqmnkndjls +75eightr6three +6threesixx1sixsixcbxxcxvnhsgl +4fiveeightkj9fivemqzvcc +ncgqljseveneight61nbcv +three83pnineskc +fivehninesevensix5 +five617twosr6nine +ncjjfvzzmghgq8 +2n48twodpnpgq +qpgnxtvhq1jcvtxlfkfour6eighttwoztzddkmpbk +fivevhfxpjtmdj2ninesevennine9two +fivejtxmg4hbctmpnntlpbzfmxqgthreejbjdb +4xgrzszmhx +28four78tmrkfndeighteightwonq +zvnxmbtjqzblnine3five +slmt6onetwo5sixfour +bthreenine3five +3fxjfivevcdmmphtrccptz +8fourksxxsixsevenseventwofour +fpxvbdgqxzdzxone7threeptgzhhqmkxmseven +9six654 +foursix6559 +9fvsdcbmmghfive8one8oneone +dlxcsjmcjpmmjr64onegtkkqkmhkl1 +pxkqbgdfour89 +nn88 +6sixthree +1zxszmgmfg9drnjzd +eight8onetvgzfzfjqlqtwo2dfhtwo +kcgzq8cxdqphsglsixfivefourdbsjjmdtnxrzt +4threenine3dpflrrtmt +one83five +8sixthreetwonez +3fxnhqrrseven +seven4onetwo +fourbvnvbnineqggx5twovbdzztqccjhqqqnine +qzcdgvninejbrfoursixseven24 +vknqxgpgxnl2mrmbxprseven +kfggmlcht8sevenfourkbtdzstpsnine +kxzhchjh77sixmvtceight4seven +five17 +eightdgkcrphqsndn7fivevkstrsprktqdrdxqslmjtz +2njqktntzjtwo7 +four66 +975eightnczdclht +twofour1mlbpb6d +ddleightwo64 +2239gksfnlvtg1 +jqrmqdkv1mhsjbqhhhjrvftwofour6 +fjglfourone74nlxzmxfkbn3three +6pseven1 +1nscmsconek3 +r182nine23 +rqvstbf5seven1 +mmtrqgddjone2 +n23fivelvprvxstrct5 +loneightgmlqfl7nineqrtmzdbbjmnfivepqhgtmb +sixfivefourtwoone3 +five39hjjcjktlcsixfive7eight +sixeightthree5three +5threeninebnbgxvnmfknp2dhbdb7nine +5cpljvtxtpbvzbdrdvsdgc23sixtwo +4fiverlflt549 +two1onefoursixmzm +4eightjksktjdvxsckgllpzdvblssix +xsxkj81vkstvjjtm5sevenfive +8943qxpcfqpnqtwo +58qnrthreethree1eight5 +6gqcfk +49lxnllkqrdgcxdrfv +94nine7six8nine +55six6dgshxnn +sixthreeeightfourbgnhsnjone1 +nine3qmpnnzldoneddthreethree +14ljmrtmhmeight8 +onetwo4eight31loneighttc +jnkg8lbjjvclcvmbseven3tdvnmrp +7qxklg +7dtwosixthree6 +sevenfivesixsgltjpcnthree2 +15rzct +tfn4ninevt74nine +1fiveseven68hztpthreexlbbgbqffvthree +svqjgxnmxlpfjc95 +nine9bn3njvhp9eight2 +92six1threeeightwot +sixfour2nine +nine1bstseven45snndcpmtbq +onesix4rkrglcvmvb +tjccltxqljfourcfbtcqtjd1 +fourgqjb7sixeightseven6 +6four99nine8dfjp2dhzsfgt +7kfgzrxgm7 +3nn3 +eightfzqvgrr1skhnqntgvv +8fmghkjzmrkpthcrk6eight9two1 +qgvgggrmnine3rl9rnf +seven6jvjfkr +ninetwofourlsbdlmlnsixb9 +khqtjbkpdvrdnine6three +pzninebmxq1onefourqtztvzlxf +seven1sixcjcbfv3ninenine +ngtsvjgmcg5mssqdgtsdrqff +1vshninetwolfbfhckb1vfkxv +1six3five +93hsvjggzqcgjbqjvpnine6 +dtwo4onefpthree18 +4fourfive +nnplsdmt962 +five83rzgdpc322threesix +3hcqbfiveppvzvtcbjnvqjz +khh4one2sg +pdtltjqgqzfive8sixone9vhnzbvfnxz +xtrxkfive83three +three75kjjxsixfivefive5scjbbflf +ljfcdxktbnmvbspglnjfive483 +eightonespmnrznpptmjvh68eight8 +qznqkgvkhlssszmdlvjdjjtbgz2 +6sixfourfbxrxfbv9hldlseven +3qzjrffxdthreeoneightbc +three4tfseven2sb +nine87rvkdgmpt +84threetwobjfzvncrkfour +eightsix9plxkppkgpzkfive +2eight4526 +hdmqlgnphg1two11 +ninekxlrjmmkm34sfvrdlb76lkbzprhnchrz +9one26txfggnctgfive +7pzrqmfivev +ddqknbqxnrxlcrhcmhmr5 +eightsix121twohbtkjqljkprzdsmnv +7eight2twoqblcpqqfckfour1 +cbnpcjljfninenine9 +73eight3eightzfzjs +szfsgstdmtwo2sixjkgxrxbtpdbkt +one722 +76eightrvs +five6two7rcss5eightone +9ckcnzponebnpjlznbrfxnkvfpsevenonebz3 +sixninedbtpcrz148tzvbhxjk +5zlpdbxk72twotlp6qbkpvjx +3three4sjgfjzzone8xmeight +56tkmpbmsix5seven7 +nineeighttqrntnvxrrbkpftwovclttztwo7two +bsxdzgxkcx5five6twoqlbqgjzbc +five22hhlpfiveeight8vrkjcstx6 +2psmkkxflgfoursixhjmdxfccbxqb +25kljltwoneggk +3fhtjzffgfph8twozr +eightsevenfbzlr7rqfivefour +one3fourninerl49rlvgnmtlcp +vrzcnn79txgxf5five2cftclqsg8 +kbbptjpbvvzcxrsix45prvjcq +one3ninefour2vcpdfkbnineeight +lx1 +1oneqphkrtwojczlpmcjseven38oneightgm +xsnzjbzfmb685ninezmgzfkzvpzj5six +547six +21five6z9 +5nqcsix1seven9 +nine4fbfprrfivevdvjphcqkfourthree +9243five +84zmtwothree +5c +17three +5gvfxttjch74eight +ninegs7hxmgmrzsx +dzxzfknlk5ddgsbsh +475cbbqscvfive +twovjtkcxpxlvqhvgsqfzmthreecg1rctndlmm +nine7eight +eightoneninethreebccrmone9six +twohbjxlfxdd4462 +2fivesixdrcmbksthree +24sevenk7 +3sixsix28 +four66vvjvqhhbhr4 +seven4fourfourprhplxheightxkgvgghlseven4 +ninegtsqsnk7fourzlmnv9 +gpr3q5twoninebqnr6 +rxhkdtwo8three2 +jljtwonesevenkckbv9four +4scdjjmkpf33 +vjfourzrlthreeseventbbzrm8n +two1fourxqlfqbhszveightrqcsprdonenine +mmppkfd745ninexfour +fxeightwo5tftddm8onexpeight +xdbmf415cq92dhmmc +nine3onedcvqdvhtqninepczfhhgbmzeight2 +ffsix6seven5ninelg +xtzsnzlvvztq64zhkklcgjrfourlztxlbtgxn9qcx +six1nbqxmq2nxhtvrnrbsflzlztghfzjgfnhmeightone +558 +xnhsbblmlp9sevensix +jz8eightonemrbchzmhrjcv +3twoktr +6fourtwosixthree +sixfivefour7 +ljbx2nine63four +889g7sixtwoone7 +four4one7cztqmheightwompd +ctqnhkqzxgtxrgfzvone45eightfbvjlgkc +8eight35two5 +6pvzljrvseven5eight +7zhgjds1 +mxv7dtbsbzfive +4sqhcsjb6 +954threeoners +63three9zltqkmpbqqpd +6sjknine6phmcxrv1three +threeoneprqcmzrbjjvlvsf2 +gbgfr2fivehsplpdnccxkfz +ninefnpxtgzhzvdnr7rftghqrhpv +seven2fourfive2 +8sixeight +gcfjqqgbcdp33five42q +fourfourbkrj3fourfivevlpvqbkgvxcfnlnbs +tcgzqgqq77two +nvzgmddmhseven1zbdfjrt17 +seven8fiveninethree48 +7five8 +nine3twoeightfgdkbtph +dzlblf4ninetwoqqj4onetvpbbfdcbvtwo +mcmbfvszjltlzdg7zxzzlrrvfbthreeninethreefdtsvclt +8mzcseventwoeight9kjchpd +sgpddvmkntwo9two +sevencgqkbcsh5 +13nine723twofour +twodpdvppxntseventwooneseven1 +9jjpxjpxdxxkqjseven +4seven1five +2nineckczklc5h +threekplnxmcjffhpfdhhhvsvsx62zrmbcpgj +35 +8gthree +nineffourninethree6two8 +1vsmthree67fourchzmone +bxnrzblqnv9xprtmvnfivevkdvqmvfhgxconezvzjlxgjhp +xtqsevenfive7fourmclszsmnqz5 +vrxnrvfivegjlqrbdtkksz9 +ninefszbsfnhbzzqhbkvxjfive7sixfive5q +eight38nklfskv3sb +5six4three +onezhpqfxgsz3stfsldzdhh +qdtwone72 +fttvpkjsf8 +8twodxeightbltlrvjjbs +sixninesixfourxzvf5 +85twokqdh2skxgnnnnsevenzg +lsjqvnfive4eightjbjceight3 +5eightnineglvjmdgjvt4 +cfhxfnvnsixfour8twosixsixtwo +hmp27seveneightsix +5two6 +d37sixeighteight +9fdbkdm86two +4threefbsjzzkthree723 +dgzvfszqpkfpxmvqf7onethree +eight2fkskmljrg12kschgbrbtgmkbdzseven +5sbdhqrsftwoqlfqblrvgghbps6ln +2pkmljtwospqdnflmj +nine1eighthgccrfourseven9 +eightjbptmtmmvsevenseven6fourfive +6threeseven6eightdsbpjzc9jsmtxdfour +4ninextnv +threeqjrdnfjlpnine55 +1psdrj3g2msfsjktgkv61 +sevenfive9xhdcthreenine9jctjthree +636 +2threeseven +nnxzzcgrhcgtz4ttnfive +seven9sixone2fbbdfqtdfg +4jgdxjqtbqzprpjdbjc2fivethreeonexlgkxtsdmcrrh +4threepvzzhkmlmbhzhmtb +m5xgplrjqlztvg9 +59s68ninerrhkrkxnzm +hknsnsf6 +trgpkmkbtlslmpqtdxfourxjspnnmhdtg1nvfxpllcrrbzjrhrstn +92twoj7two4six +tseven377 +p49five2 +kpffiveeightcsbjz39 +8sdmbrxbk +1vxknsvdqnsixkfsevenzqlr9 +fiveznrsqthpbddfcpbvhhhjctp9 +plbcxgkd4tmprsxn84hdrninetwo2 +twoqzqxbkm23brhsppdnvksixtwok +8one5 +six45tdxfmcr6 +onesix4 +fxrl57561ktxfsg +89nine54fiveeight +three62three5one +6mjqxh4scvddlls +nflfourzrrgpvftoneseven43 +7sixtf +sixxhxkvgnbz3rbdnvgf +ckq745ninepqk +1snlkqn +ninetqvcllfvcfs62qtt6seven +59khlmz +eightdndsvdcqneight9twonenf +zgcnqqmlgsmfzqbkllvsknsevensix5 +8qqxshjnnsp +xfvttdnxhz4sixsjkqhpfszn212three +fivelssnmckseven4ftqt +2qsqpjmcbtvxjgqhhk +tztwone749ninelncrmvthfourpgcbxzxvs +4threecgnjpthnsgxhxbffour8eightsvmjkg5 +458sixseven6one1smkjk +seven4fourrgqffqthree7 +jhpxqpspbsevenhpfnrpdvfoureight5nsbsfscjlzfive9 +sldxjjnjt5dlhdtrmsixxlmgxhvpscqqthree74 +8pvfhtpghtwo6 +nfknjlfive8 +eight7sevenseven9pdvhsevendzpxpghzr +9fgdrgsgdhtwo7238 +8nfjgxpcbbmjrhh9765dnlbsfddhf +tkqfc7sixsixsixggqsevenzrjrxtrnh3 +fivesix9zmxpjk +four1kvhvnhjcgz +one6sixthreenh4 +onesixfourtzkjjlnine1kq8 +1xkl +8six5zbonevbtbmvtjvlfive +zmggmrj9eight +5sixeight23 +19twobshhmblpkp68 +7fivethree22four9tghbrr2 +gc3 +6qdkjxgpseveneight1seven +7sevenfivegpllcnbvf3khjsqtwoner +3fivefive417 +seventhreefthree96hbrjfxlkrninetwo +vhnlzrv4gbdldncbgqrfd5 +gfjzvfchlzrnf8fivesixthreeninesevenrsfptjcrb +6nineninelllzx +sevenckthree1 +8one77four8sixnsmbhbp +ltcfm386 +bcncpxhhgbdtxh19kqkpffqx6 +pr95 +eightsix7gbtwofourvclrmgfvph4 +four6bgzbcthree1kjhkvlh +lbffslczqninesevenr6z +three6lpjrgbfivexzfkprdf +31kmnnffourtwo7dkmmlrdsm +six7fivenbljxg6onesevenzmknhdfive +32five5sggfive +two4four +xlf4rtftmttzk4fhrcbxmxlsjzfour +fivecxrsccjsgdfpfdgpfsix3sevenqgntlgvds +pbdmldone1s +threekpzzth3fivernp +glglvsnineckckdblscv2one9two3 +52cvnxlxqdoneone +kjdvcklltsttlncvgrfive9fkspxfhchml +sfxxlhkbhqnvskxd2five +three3ninevndkz2two +3two9six9sixfiveoneightf +36xq +twoeight76 +3kfsr1tworhvpqn7zmrp3nine +tvvtqdcx8eight6three6fqsmnd6 +3three7 +2five3eight +tmzhzsninetjjpmqdrkh6seven8threenine +dsvnxx6 +8xzllsdpvrjszlhlmrrsixfourninefzncn9pkgdtlb +four2eight4bdxhqxnjlfg3hkbkp +onehcnf9 +twosixktskmcppzx4 +xzeightwo1doneseven7sevensix1 +fourgbdz85nine +21xrsphxlr711mjeight +one654four +six4sevenxl +sixmqhtms6zp99 +497twofour3two +6twoxrjvzhldhfour69twofjjtskmzvls +px98skfppldqkpsix +7qxone8kzzdlqdmsixtzrhrzrhpeight +6eightmdsbrvhnine +onesixjxzx1jbfnjhm3 +threerbslfnzsbtjxfcmtxzjtvbdjnqj2 +4lbmlrptworkpdtfvnfour +2threelkvzmghvdm +6vrvcbbqv77 +gczqmslninepphpbvd896 +seven77nsnzeight5vzgvmfrxd +seven46fourfive1ninechrlthdhvnfn +sp2xngkbkqbpvqgd57onenine +7oneonenine38hpqntxsz1hxvc +nine3sixvrsrvfrseven4 +seventsvmxxn5sixgm1kdbrkcdfive +5eightnfblfbxrkrrmflg5 +fourxltzjthree2 +steightwojllrms39threesixvjxflgzkm +25ckxsgcgxjf +lpsztggf4nine73two5 +drktgkbkxlqlfvhvr8onesix1qbgjjtcf71 +4eights14five +jqjbzqvxcjqjjjhjjk8llseven1knphmcvnjcsfdzp +9qrthreeeightnqpnninexgprcrdsn1rgjt +59snmrlfxhsix +1286 +72five81gnc3 +sixtffnjthreevmhc64one +three96fournine4ninezr +lrzcgsgdll99 +qftkzxrlone8sixeightfour +eight7seveneight +kzkoneightfbptzkfive2sgbcnxg92 +v5hdone +onevzfour75cmzkfhklp +cxklnb9fivetbkgjdcvjhqgnmdgrjkmfjqqbjtrzqfdreight3 +six6twotwolmggvvxrtwo72 +2kcrxxbzkssixnddqsqsk +rpjglmp8onelvzbgvbjxdthreeonelvxdtqnz +sevennine6bvdtwo +16mseven3twojv +hhconeightxrnfvbqhseven3vs +sixnine17 +2lcssbzf1three3eightbvqrsmbh +5onezrsvkbpnsix7zjggs4 +3eightfive +cpgtwoneonerhgncphbfsrfplbfhxrmmpfive6 +4vbsrvggrzxxcxzeighttwo +52nine5 +7fourkczfpeightnine3eight +zzleightwo2onecfdsqthreejbcthreerbngllphhsixgp +3sixntzmjnrrone +3threeeight6bqcsdklzpfmbgxxtjs +rrbjsghzclnine833 +cfbrmlhqvtpxtpdbbcjj6eight +6twoqmhkgpktkdprrqxpbphjn +cmfv1eight41 +fsfdjhbeightfoursevenpmqlcf6mvfive +qmvq9sevenseven7 +1sevenjqrsevenfmrsncppbr1six +1eightvcpbnsqhcv56eightzthree +five8dnxkdbsxvd +3l76cbpbdvsix +vdvnbr1xzlssevenszdktcqfsqxtv4 +sixtwo9qngsslvmbv39eight +66fjjnc3threexqdctdtkseightbqpphzzm +hsqcqb1sjkdhhdltoneeight5one +1llpgqdfgseightfvssfive +znqqgtlmvxnlcgxr4fourscgzzhz +eight9onetx5vzvqln8gxblpkmtkhcl +eightczhdvmrlm5pmnlnlnine5hxzmlzntdmqldbnfive +one16shmhxdvzbh73dsvgvtpddls +5lph98flssjhz +2psmflmhcbsrvzfive176 +qzqz8sevenone +fmhgvseven7fivejdqcsznnone +415dsgfivethreexlfzccgn +qplzvmmhbh598ghnhrmzvxblxncdkrfntvzdtvqr +8fdkghntwophfnpzjllfr9 +6rfstqcmdvq9 +nmcdsbclthreeonekxnrvqgjxpsevenfour3seven +one72rqpfourdcqrlqpcthree +onefour6 +eightoneqqrc18 +nine3nrscbxlx4fchjdgnlvvfrnf7jfffbggjt +four8twofivesbpgjnt +8sixtwojhjvhfive +ninefg8xrvpbpgbklkbfrqgdloneeight +pbdggcfoureight5rdsssnj +gxqzltbzfbhfdcqeight3dggjvh9xg9jxq +fm6ninesix +1four8xkdjzkfthone77 +fourfourseven514 +2vfq9vfzxfmsfrxjxhfqrpc +zckzxj45onep +nine925 +nineone1eightsixkcd8ndvhj5 +fourfoureighthbhrnsix5seven +mpr9sevenzm5 +two415 +two2ddgkzt66sevenmdzhdzhdmzjmvrrnd +vntvkmtqm252 +bktbrctxtwoqbjls7 +seventwo26 +22threezlhpkpmzsnbshpgt +1pktkpfppxbjf8 +one1jzlvq +24fivek4 +84two +1sevensixeight13pvp2 +xvndrn85k5nr6nzgcdhlzvf8 +ninefour1 +rhztwosix7 +eight4five5sevenlzbhmsprsj +7seven1kmzsjl8jpdssncpvcjxczdvsk4six +zcmpfqzfxlfsxkmscs4lctqonepjkg4nine +8onesevenzlxflf9four +threefoursix3five +292mhsbgktzmlqk1fourone4 +pnnftwo5 +kpjmxmseven6 +fiveonetwoqbptwo4hmzhhfmvfqbgjk +one4bkzjstxgrv2dvzbdfztfive7three9 +monetwo6fbxbphkpdtwo2ninenvphvnxhxk +6mgmbthree9bnine3seven5 +eightvsfnsdkgh7fourninernvkrfcx +fourxglll561 +3eightsixeight72six7 +4fiveflsgrgznjfbsvgvbrgnm +763 +nine57qmhfgctmnp +eight579xgpsr +sbpbb215jnsfoursix +dfghm9mrcpfthree974 +bh7threeqvhttfqt +seven7kssmdclhfd +qdltfdhsvz5threekftjfdqbn +four8dxncfjhvpsxdseven3kcpmpfvnfb +nine1eightwox +vvcfdjlpcrfnnmbcx4eight9mtcfqqqfl5fourfive +qbcxpccssl9kvqtjncjdxsrpp8sixbnmq +sixonexjgqthdnrpfivetgnxqv1 +eightthree33ngpkqtqgtkmcfgqqgj313 +onezfnlseven1 +2threefhcs +3nineeightzmpvjqrvcb1tkmchzjtsrfllv +58cjnxhzfknnkj4ninezvskrvrc +hthree16zdtbfnlx +tzqcksevenfour3foursix5 +qbbzz1threesevenone +onegfzhlthree12 +gpjjzfiveone21qbrjdrz7 +xcpjznj54fivesevenfiveq +gsevenflcgfcmqtrzstrmnine9two +7nrsmkbqffnnvfpjgb +tfhnnmpbzq67six +52jhltfzqhfprmtgbmhg +vchpblqmsvffourzkndtsg7 +eightsevenvgfpttr62hmfzf4f +eight4four1tsvfq +4sevensix +vrkmjrrxnbgjbxfqxllp17four1bdm6 +2kqfd4threefour5 +44m +foursevenrxzjfftwo5twothree +eight4xbxqplmknhjhzm9fivetwozjrzjp +twojtjvdmgkjsstbdgl3bhhhzvllm6qxpzxjbgn +sixeight3sevenone +sixfour5m5 +fqlftfrtsj9 +rpjlhht2xxnnkqktkxteightsevensix +five3vbklfdmpsevenone2thxcmzktlz +fivefour7lxhg +49gcb8fqc3fnstcnmdneighttwo +2vd +6tfpxszrkdsgphdsblkqfk +43rjxkfgdm4gkxnvdfxs +6225eight3 +8one35four3 +prsevennineeightfour8 +twozqdxfg363zczthree +eight9vcncjcbxhnfeight +meightjdg2vp73 +seventhree9dzdhprp +btwoninegnfpfhxkvv3 +threegkxmmxzsmblsjfds8seven +crbbpggzbfsjb8kqqgk9fourflghlzbgseven +sixsix85eight5 +nmrvnmgdrtwo8three +gqntwoneseven95eight1vtthdng1cgvxlvstgm +oneqcftjqnxckthreegtsxfjbrmv2 +threekdfzqhqeight54four7twonep +525xtwomtcgmfhbjninepkpjjsf +1sevenxvgjdznvnjftwolvmjmg +ppbgncvclfive45 +three6386qxzsvxpbz4onejt +szxc93tfh +zdxgxlj9nine +9kkmgczf +4six3six97qcxxgmppgkll +6fivethreefourtwo +nine9qpngcdftwo1seven7kzsjxqbggxone +sevenninegfjkxkbptwo7nine3xjgsxh +6srqfplffour81threefive3 +869 +nnsjzlrjcsnpd7zcfive +fivenmndbmjngpsvkjsbqxvncm6qjzcktnsevennlxpbkchk +three4eightwol +2gnbninedt +1twoninefour8 +5lb +cdczlxgxpdqvkcqbfivet3 +nxxxreight158mvrhngveight +811dsqsscjgfive2 +nine8nine16gxqxcj6three +dqjdfksftwohrrhzlcxd12vblpmsqrrfourshg +345dstjsbllcnine +4three6vnzfssrqrg +mlcmlvlmcseven72mcqlzfnpm2 +ninegflbrbv6twosvfive +nineninerjmnhlthreenine3 +zvsqxdggl9dxppmcmc389fourvpeight +2fiveeighthtfvpndpn8mt3two +33tshvcbgtggone6 +1sevenfivextsfpsix +frmhtjxcnztfhtgtr5 +8jjsclsqgfourthree7lvct75 +62vqnhqct4 +2jlvv55 +lszrone3eight19ggpnine +8fivexxxrkzrppslbf8threexsskbkjcc +pvpxjrnnp11rmgfhbpbninesmbfpcpseven +seven8pfzgsbgjqtneight +rdksixnzmxgppj6qkftmcthgl9 +32three1 +bnxd75 +mzlcnxgdddfpqkp6hjjpnnine31 +135gnzr9brblpnk +vvninerkskndtjq8zst4sixnine +fivexdstdtfshcchblmknlneight5fncvl +7mhjsq7ninetwo3tbnkglngltwo +threeninesix5567 +2four14fzrsjr +9sixkl9 +rftbrjfour4 +onemtjqqdrtjgkbv1plcgtxtwoonefoureight +6fourqsgfkqdnspzstbrhzxbthreeqxrshrfdbk1jrxptfhjfld +sevensix9 +one75two9fourxdjmzjv +one8rbvxt +skzg13 +ninesevent3 +mcrgx49qbpzcqqbx +threebsevensix9nine54six +1bjgnlhtxgx +71crfour +3nkjflkqpjz61gzsffxlncmxg8 +rhppr943fourmmjm +rvmthreevbvxqhrhglvrh869 +6sixfivexgshnkmx26 +3srgvnbcsreighttfnjcs782 +87ninenjhxpnrhljkvnms3 +foursix1rfgvmxqfrninekthjjk +fourtqbjqcmsgnine1twoxgvqdhbnloneeight +hhzdrttjvbzdngnqv2 +kbm71 +qzmtwonexlzbv2eightfrjmhld6 +27mdxfj49kzkzdspbxvktm +three8cvfqmntngvmhddgqdgonetjgnnzggjz9xqlxffgsc +ckd3fourtwo5vzv +lhbvlseven41bdrkzmshkxone +6fourthreefourthreeskhdk +377dtljbhvfdr4ngqdqfbfournsnt +rvbkddqrfm8rpfive +1ninethree +zjhbkjrb5qvtjbcgpkvksbsszpqjfcrgrcqggdtc +73nine9pslhnpmxjjfourthree +91nine5xndjkx7 +four17crgvnqtwoxqxfcsbbbsjlsjhsfll +five9twobqlgcdpk4 +pblrzfive7ninetzfiverhlslrsone +7bltone +3eightthree16 +nineone54hspfngxzhzh +7sixzxqlsqqsvfouronethree6 +8kklgfmqvntwonine9 +dznsskrrfchdnm2fxcvqvf3eight +cmfkrlslhgzprgkfive6seven +4threethree +threesix2fkzsjkr6six +8bcqmshjlnfivecrjtcsznrfive +11nine3six +326one1zvdzc +1sjttzbstpx6sgfzpgdltxseven15bvrbmccbzkbgdnkkhpd +9bbpksbnpdm +3rtcztcr +bk1sevenjbmncfiveninejp +seven62hjvttpk +rsnqnlgfgrxk8sfxhrlgmc1jnjgctclr7 +3sbmxlshf5five4 +8nprjs +three89 +four399ljmdptjbgkthree +cthxllrzbseveneight7four +3gzvsfnxfive +pjbgbnine1rphbcrhgnine2 +56fourcsfpfnntpkfcsqkkp6oneightlsv +fourmn5kqgvk +96twoseven +2bk +8nineninesevenvxfnqlsrnxbr +fivetnxmljplldd3six +qtzcgtlh9 +gtnkglkd3twoqgqhj6dpfgqtpptg +7jvxsltntrksjzsix +three95fivebpvtzh +3kxxfvsseven +157xvtnfkqnsbvpxlrdmjszrpmpfive +7threeseventwo7twoseven5 +rcmzjxg1csdhdkvfhxppsixfivethree +nvgfnine38onezdbhhgtmshc +2ngoneninex +1eight57ggvqjmsixonefour +dhq7hzhmbzdhzjxhdtwo32 +ggdone3nbmsthreefourninefiveoneightpr +fourvzgnfnhkkp2 +j47three8sevenfivenfkd +twotwo4seven1fqklblqbdxcmtch diff --git a/2023/01/part1.py b/2023/01/part1.py new file mode 100644 index 0000000..af344c4 --- /dev/null +++ b/2023/01/part1.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 + +import os +path = os.path.dirname(os.path.abspath(__file__)) + +nums = [] + +with open(path+'/filtered.txt', 'r') as input: + for text in input.readlines(): + a = int(text[0]) + b = int(text[-2]) + nums.append((10*a) + b) + +print(nums) +print(sum(nums)) diff --git a/2023/01/part2.py b/2023/01/part2.py new file mode 100644 index 0000000..4c549ab --- /dev/null +++ b/2023/01/part2.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 + +# 52746 too low + +import os +import re + +path = os.path.dirname(os.path.abspath(__file__)) + +nums = [] + +def toInt(txt: str): + try: + num = int(txt) + except: + if txt == 'one': + num = 1 + elif txt == 'two': + num = 2 + elif txt == 'three': + num = 3 + elif txt == 'four': + num = 4 + elif txt == 'five': + num = 5 + elif txt == 'six': + num = 6 + elif txt == 'seven': + num = 7 + elif txt == 'eight': + num = 8 + elif txt == 'nine': + num = 9 + finally: + return num + +with open(path+'/input.txt', 'r') as input: + for text in input.readlines(): + text = text.strip() + + print('original:',text) + + left = re.findall(r"(?=(one|two|three|four|five|six|seven|eight|nine|1|2|3|4|5|6|7|8|9))", text) + + print('search:',left) + + a = toInt(left[0]) + b = toInt(left[-1]) + + print(a, b) + + total = (10*a) + b + + print('total:',total) + + nums.append(total) + +print(sum(nums)) diff --git a/2023/04/part2-fast/main.go b/2023/04/part2-fast/main.go new file mode 100644 index 0000000..f1790ee --- /dev/null +++ b/2023/04/part2-fast/main.go @@ -0,0 +1,86 @@ +package main + +import ( + "bufio" + "fmt" + "os" + "strings" +) + +func main() { + reader := bufio.NewReader(os.Stdin) + + + lines := []string{} + + for text, err := reader.ReadString('\n'); err == nil; text, err = reader.ReadString('\n') { + lines = append(lines, text) + } + + size := len(lines) + + fmt.Printf("%v lines\n", size) + + linepoints := make([]int, size) + + for i, text := range lines { + amt := score(text) + fmt.Printf("%v %v\n", text, amt) + linepoints[i] = amt + } + + const maxPoints = 10 + + newTot := 0; + mults := make([]int, size) + + for line, points := range linepoints { + + mul := 1 + for i := line - maxPoints; i < line; i++ { + if i < 0 { + continue + } + end := i + linepoints[i] + if end >= line { + mul += mults[i] + } + } + mults[line] = mul + + newTot += mul + fmt.Printf("%v | +%v = %v \n", points, mul, newTot) + } + + fmt.Printf("total cards: %v", newTot) + +} + +func score(text string) int { + amt := 0 + + text = strings.Trim(text, "\n") + + gameStr := strings.ReplaceAll(strings.Split(text, ": ")[1], " ", " ") + + nums := strings.Split(gameStr, " | ") + + winners := strings.Split(nums[0], " ") + draw := strings.Split(nums[1], " ") + + for _, n := range draw { + match := false + for _, w := range winners { + match = n == w + if match { + break + } + } + if match { + amt++ + } + } + + return amt +} + diff --git a/2023/04/part2/main.go b/2023/04/part2/main.go index a0c1bd6..6cb892d 100644 --- a/2023/04/part2/main.go +++ b/2023/04/part2/main.go @@ -19,7 +19,7 @@ func main() { text = strings.Trim(text, "\n") points := score(text); - fmt.Printf("%v: %v\n", text, points); + // fmt.Printf("%v: %v\n", text, points); newMultipliers := []int{}; for i := range multipliers { @@ -36,7 +36,7 @@ func main() { } total += multiplier; - fmt.Printf("+%v = %v\n", multiplier, total); + fmt.Printf("%v | +%v = %v\n", points, multiplier, total); } fmt.Printf("total cards: %v", total); diff --git a/2023/06/go.mod b/2023/06/go.mod index 6264aa6..cf984e5 100644 --- a/2023/06/go.mod +++ b/2023/06/go.mod @@ -1,3 +1,3 @@ -module tristans.cloud/aoc +module tristans.cloud/aoc/2023/06 go 1.20 diff --git a/go.work b/go.work index 239e83c..5de56ef 100644 --- a/go.work +++ b/go.work @@ -1,7 +1,11 @@ go 1.21.4 use ( - 2023/10 - 2023/09 + 2023/04 + 2023/05 + 2023/06 + 2023/07 2023/08 + 2023/09 + 2023/10 )