diff --git a/README.md b/aoc_2022/README.md similarity index 100% rename from README.md rename to aoc_2022/README.md diff --git a/day-00/.gitkeep b/aoc_2022/day-00/.gitkeep similarity index 100% rename from day-00/.gitkeep rename to aoc_2022/day-00/.gitkeep diff --git a/day-00/sol.sh b/aoc_2022/day-00/sol.sh similarity index 100% rename from day-00/sol.sh rename to aoc_2022/day-00/sol.sh diff --git a/day-01/.gitkeep b/aoc_2022/day-01/.gitkeep similarity index 100% rename from day-01/.gitkeep rename to aoc_2022/day-01/.gitkeep diff --git a/day-01/sol.c b/aoc_2022/day-01/sol.c similarity index 100% rename from day-01/sol.c rename to aoc_2022/day-01/sol.c diff --git a/day-02/.gitkeep b/aoc_2022/day-02/.gitkeep similarity index 100% rename from day-02/.gitkeep rename to aoc_2022/day-02/.gitkeep diff --git a/day-02/sol.clj b/aoc_2022/day-02/sol.clj similarity index 100% rename from day-02/sol.clj rename to aoc_2022/day-02/sol.clj diff --git a/day-03/.gitkeep b/aoc_2022/day-03/.gitkeep similarity index 100% rename from day-03/.gitkeep rename to aoc_2022/day-03/.gitkeep diff --git a/day-03/sol.lisp b/aoc_2022/day-03/sol.lisp similarity index 100% rename from day-03/sol.lisp rename to aoc_2022/day-03/sol.lisp diff --git a/day-04/.gitkeep b/aoc_2022/day-04/.gitkeep similarity index 100% rename from day-04/.gitkeep rename to aoc_2022/day-04/.gitkeep diff --git a/day-04/a.out b/aoc_2022/day-04/a.out similarity index 100% rename from day-04/a.out rename to aoc_2022/day-04/a.out diff --git a/day-04/sol.cpp b/aoc_2022/day-04/sol.cpp similarity index 100% rename from day-04/sol.cpp rename to aoc_2022/day-04/sol.cpp diff --git a/day-05/.gitkeep b/aoc_2022/day-05/.gitkeep similarity index 100% rename from day-05/.gitkeep rename to aoc_2022/day-05/.gitkeep diff --git a/day-05/sol.exs b/aoc_2022/day-05/sol.exs similarity index 100% rename from day-05/sol.exs rename to aoc_2022/day-05/sol.exs diff --git a/day-06/.gitkeep b/aoc_2022/day-06/.gitkeep similarity index 100% rename from day-06/.gitkeep rename to aoc_2022/day-06/.gitkeep diff --git a/day-06/package.json b/aoc_2022/day-06/package.json similarity index 100% rename from day-06/package.json rename to aoc_2022/day-06/package.json diff --git a/day-06/sol.js b/aoc_2022/day-06/sol.js similarity index 100% rename from day-06/sol.js rename to aoc_2022/day-06/sol.js diff --git a/day-07/.gitkeep b/aoc_2022/day-07/.gitkeep similarity index 100% rename from day-07/.gitkeep rename to aoc_2022/day-07/.gitkeep diff --git a/day-07/sol.hs b/aoc_2022/day-07/sol.hs similarity index 100% rename from day-07/sol.hs rename to aoc_2022/day-07/sol.hs diff --git a/day-08/.gitkeep b/aoc_2022/day-08/.gitkeep similarity index 100% rename from day-08/.gitkeep rename to aoc_2022/day-08/.gitkeep diff --git a/day-09/.gitkeep b/aoc_2022/day-09/.gitkeep similarity index 100% rename from day-09/.gitkeep rename to aoc_2022/day-09/.gitkeep diff --git a/day-10/.gitkeep b/aoc_2022/day-10/.gitkeep similarity index 100% rename from day-10/.gitkeep rename to aoc_2022/day-10/.gitkeep diff --git a/day-11/.gitkeep b/aoc_2022/day-11/.gitkeep similarity index 100% rename from day-11/.gitkeep rename to aoc_2022/day-11/.gitkeep diff --git a/day-11/sol.py b/aoc_2022/day-11/sol.py similarity index 100% rename from day-11/sol.py rename to aoc_2022/day-11/sol.py diff --git a/day-12/.gitignore b/aoc_2022/day-12/.gitignore similarity index 100% rename from day-12/.gitignore rename to aoc_2022/day-12/.gitignore diff --git a/day-12/.gitkeep b/aoc_2022/day-12/.gitkeep similarity index 100% rename from day-12/.gitkeep rename to aoc_2022/day-12/.gitkeep diff --git a/day-12/package-lock.json b/aoc_2022/day-12/package-lock.json similarity index 100% rename from day-12/package-lock.json rename to aoc_2022/day-12/package-lock.json diff --git a/day-12/package.json b/aoc_2022/day-12/package.json similarity index 100% rename from day-12/package.json rename to aoc_2022/day-12/package.json diff --git a/day-12/sol.ts b/aoc_2022/day-12/sol.ts similarity index 100% rename from day-12/sol.ts rename to aoc_2022/day-12/sol.ts diff --git a/day-12/tsconfig.json b/aoc_2022/day-12/tsconfig.json similarity index 100% rename from day-12/tsconfig.json rename to aoc_2022/day-12/tsconfig.json diff --git a/day-13/.gitkeep b/aoc_2022/day-13/.gitkeep similarity index 100% rename from day-13/.gitkeep rename to aoc_2022/day-13/.gitkeep diff --git a/day-13/sol.java b/aoc_2022/day-13/sol.java similarity index 100% rename from day-13/sol.java rename to aoc_2022/day-13/sol.java diff --git a/day-14/.gitkeep b/aoc_2022/day-14/.gitkeep similarity index 100% rename from day-14/.gitkeep rename to aoc_2022/day-14/.gitkeep diff --git a/day-15/.gitkeep b/aoc_2022/day-15/.gitkeep similarity index 100% rename from day-15/.gitkeep rename to aoc_2022/day-15/.gitkeep diff --git a/day-16/.gitkeep b/aoc_2022/day-16/.gitkeep similarity index 100% rename from day-16/.gitkeep rename to aoc_2022/day-16/.gitkeep diff --git a/day-17/.gitkeep b/aoc_2022/day-17/.gitkeep similarity index 100% rename from day-17/.gitkeep rename to aoc_2022/day-17/.gitkeep diff --git a/day-18/.gitkeep b/aoc_2022/day-18/.gitkeep similarity index 100% rename from day-18/.gitkeep rename to aoc_2022/day-18/.gitkeep diff --git a/day-19/.gitkeep b/aoc_2022/day-19/.gitkeep similarity index 100% rename from day-19/.gitkeep rename to aoc_2022/day-19/.gitkeep diff --git a/day-20/.gitkeep b/aoc_2022/day-20/.gitkeep similarity index 100% rename from day-20/.gitkeep rename to aoc_2022/day-20/.gitkeep diff --git a/day-21/.gitkeep b/aoc_2022/day-21/.gitkeep similarity index 100% rename from day-21/.gitkeep rename to aoc_2022/day-21/.gitkeep diff --git a/day-22/.gitkeep b/aoc_2022/day-22/.gitkeep similarity index 100% rename from day-22/.gitkeep rename to aoc_2022/day-22/.gitkeep diff --git a/day-23/.gitkeep b/aoc_2022/day-23/.gitkeep similarity index 100% rename from day-23/.gitkeep rename to aoc_2022/day-23/.gitkeep diff --git a/day-24/.gitkeep b/aoc_2022/day-24/.gitkeep similarity index 100% rename from day-24/.gitkeep rename to aoc_2022/day-24/.gitkeep diff --git a/aoc_2023/day0/input.txt b/aoc_2023/day0/input.txt new file mode 100644 index 0000000..143e7a3 --- /dev/null +++ b/aoc_2023/day0/input.txt @@ -0,0 +1,1000 @@ +kjrqmzv9mmtxhgvsevenhvq7 +four2tszbgmxpbvninebxns6nineqbqzgjpmpqr +rkzlnmzgnk91zckqprrptnthreefourtwo +fouronevzkbnzm6seven47 +zphgdcznqsm2 +4gjnmxtrbflgp71 +4sqvv1cnpn +8sevengzfvjrhnsb6ddb8ninerkgkxthtfkvbcmqs +1seven336 +86one34vvvgdngbt39 +37qdmsqzsq72clfntfxqfrhbxtmfourzcjxfmmfz +3rxgts +skhcdbnrninethree5 +qtkhfdsixnine3bvpcpmjbzjonefivethree3 +seven4six51zlrvqmbgpzplxtk6ptcr +eightczxhbntwo9sl83 +42m1ndvqkz16seven +three9oneeightmqbtwo +vt81pzcchsvz +eight6349jr +8czmcdhjzpsbpjgngdvtxczgsl6th36 +gbddhhhhkgjltwothree57 +pjjlddnvtwo884 +eight5fbcxqlqkplm +cdzgbtxbzl43vvnx +onefxtprsml8fqptvmfthreesix2jbeightwor +nine8twolrpzp +eightvjdzfmqlvceightnine6rlpzkdmk +8tqmjgpfzrnineeightpcfltmzn8 +9nnnh +49onefour7fivezchhjrpbmteightwokrs +7zqhjkjkmm7448 +ninebndfdjbxx9sixltsjbsbgone45kpcln +zhqkrndh5 +p61five44cvgxlgkdseven +8two4kpdxdf +two773t1rcdvxldjrjjq +lnqhgfivebdhpshzfiveonefivejsqzzdxq7 +72vlqqdtwo4xdzlreight7 +27zpq4one +xczj475 +2two3seven9rshkhrjzlv2 +onethree222 +fgeight6threegkjcgzjsfxqksgqvhnrhqf +sixsix8twotwoone +five3qr3two +76zxcjmfq +xchtklzgtwo4lbvnsix +cffmlvmsvnlrtgkstmqsdone9mdlkdgpgeightwogd +3onethree +lrdtfive3six +foursixsixntwoeightthree9zmcmxdn +threefmqjzhzdseight8dfkbstnineeighttlzhjrrgcl7 +7msqnfdbbseventwofivesixrrqgsvxn3 +64dlmxn +3two7vrv2rlqc4nine +rmxqpktrxsixsix634 +tjlrqkj1 +dthree2qhhnbeight5two +zjvvmskpnclgnfnjqr7 +two425zfiveeightjmhznf +113njjz +pdchljrdrlntkdn1pc8 +5twom9hpmbggpeightjnddsfbfpsslvvt +one52ctrkkc +dnbtwovcvxggsbsix219 +fivetjmg5sevenjp +131 +8two9khfl +threethreetcghqbv3rbnsdsk4sevennine +stlttkxrsninetwolftchdtcrpfivelmsmgcdpprqx1qh +sptb46rtrzhcmbf3seven7 +six6tntbjjtsdnczlnbeightlsfplsqq6 +33bldlptj2twosevenxk +five8snvmzqcksix7 +vx49six +three7sixfourfxfcljfdhfl6fgktbsxxrrp +4csxnkvmdnfive2rkkppdqln +dpxhgssggqoneqsvp9eightjvgjrjbd9eight +five6xrrzpdp8five44hqxqbnhxslrjfh +fkpcdb2sltktfghhmxdtxxffssxztjngkthree4 +ndhcxeightthree3 +qrrslbfxklbxnine99lcdtpbf +mvmcg5three +g9one +2ninegdsix3kb9ninerssqbpxgs +blfclcvsh8seventwo8fourznjjssvtlg +ppjdvrxb6eight37cnqmgl9dghbrgrnine +nine6zzcvprthreefive +8fourshkcchfb4sixlv +9tpqqs3qxvqhqmb2 +fljrhvnr722threetpghbftdt +2five2bhhq +18jhhzczcncjnjjx +jgvzzrklz8svzfcgzgggseven +8rdjdvmvcheightrvkpcmjnshhltgghf41 +9three4cffsxc5vhcvdcqtv +86tghvbgthreebkrgf6one +331s2twonep +rtvz4bsdzqeightwodth +3vggdskpcdjfivezpjgrfsqone4z85 +xsftxsrk6threeconesevenncvs8nine +3two2xjrqhrzjv +smdmb1gnlbvkq5nrmqmc +qmmpthreenine7sixczhlfttvphzkbqnm +2rmsrzrbgfjrones +81bmfddsmngkqpq5zsnrcnhqt +two1lzf4two +4sixonetwobzvll +eightpggvssixfivelpm4three1hz +77nine3ninefive7 +oneninerhplrfsxlltwonineszhdqskt9 +lxvtzvjzrreight931 +38z +zfxtdnbqtwoseven1grtpbonenk +fivesixkbzcbvcn76pdclljqsix18 +mrxtfour5vkkmshbmpx2fourtwocpdzkmspqxqrvf +8sevenfiveqvbsnine +onetcdfdtnsthree21four +3zqcbvdftwotttfdvtmtxvhrsixtwo +lqmxvcplqs8bhsixb97 +bmvxz27sixtwocvhtmqlls73 +five1lvzzbv +5oneqdcztvjsqmjf6 +61hjj4onetqlgkllr +sixthree9five +8sevenjqgvlfoureightqnghxptsmc6xmrrnzd +ftjbhzkmvtwooneninenine9sevenqgb +onesixtworksmtc3 +3oner65 +3trmpzmc622 +seven14 +xfgbmsixeight6twocsevenzx6 +3xfdpbpnzzkdrbmrdjrtsrvx37 +nflclprfgnt7 +fiventkj8three4twolkrztseven +19tbgcfourseven +9onefour54seven +hkmfqcnpncfzgrplqq9xqklcb +ninemxhkpspbqn69zmlsbtsevensixfive4 +zvfmhfjflscnqskzgnz74jlxrzm3 +fiveeightvdqtlcfzzrpfd7eightwosn +2nineone7fourninethreeeightsix +ppzf4five9threeseven +six1kzczzlssp84three +885dlzlnnfth1xthreetfm +vqmntfbqgt6four57six5 +mqgmbp3 +threesix3one33seven +46sixptwoone1vnnqlmrr +vvmcjdbjbthreeljznqhh5ztwodj8eight +rxhxx6ninesixeightrxffqrgdqx +ninefive2twoccpxbfcfkzpzhsf243 +fourmvxpxsglhthreeone4jlgsfvxhmmjt1eight +9crfpmnine19four6vkbsdfqn +6ninekxjcfxfthreejpfmtjjbeightone +xknxrr6threeglmjzxpvxmfivethreezn +7five737 +1qstxdtctlk94gtnqvfxmbjtnlkconetlkdmqgrxz +6mgqtjq +4pt +eightjkdl54one5eighttwofour +ttjblsrrl2three +mtwone8onethreecprdhtdgxvdqcptplmsixtwo +tqlkbkjrclseven9lprrcpnxv5zs +seven94mgljdpp8fourfour +htxchhjv6fivethree +gprqsxbnlpls2two +7cjtrglplbm7pdbvjtnineonerqnkt8 +8onezjrxcsfjfoursz2seven +mcrpvnlsix8fourdblmxkhcsx +413zsixhbsxqsplhz +fxqthree99 +onenine46twotwoeight5three +2559nhlsgmknq +sevenonexzxgxkhvln1v +68 +7dcbpcxrm87crhzlmfgk58 +36one81foursevenfourpcnjgf +eightxlbgssonerjfone7ztfftmn2one +eightzkvcbzmceight5four +four79ninefive9sixh5 +2lmggjph5eight +ninetwojhzxf5kpfp +7xvnbfbzpspbfxlpsfrzteightqtvdxnlkp2seven8 +lgblvsjdrnjqfgxlfqh37852six +jtrnmqseven6bqbsdvtzd8ppzmnfmdhkrd +seven5seven676fivelctxb +mctbkczczspvhjfhfivesix3gtnqgkjzc3 +psnhmjsix9 +four4nlrhxflrrtxsixeightwosk +npkxv1grrrrbcsbq67538 +35thrcjrkrdptwo +klsnbcjfpdsrfnsclvnfczjfsixqpdhmmfmcqfive4bmtpctone +zxkncsrktnrv74eighttwonine +jdmfscrdlbj2brseighteight +8ktjrzprt8khpvszbtn +547jrxkhmheightfour +fivetwobpjrjczflhljvdlhl9fivernglhclznzfq +threenzlvrgjonenjbqnlfxhmfourone4mdnld +6jbzzxsix9ninefivebdjmgnzcqqckkl +gone6sevencdmrdbrgh +cssoneighthmmxvqvbfflkjsixone361 +5onekpsevendcrzcgcs7hfvffksqr11 +mfxjbzn9 +6nine4 +cbljjfthree42sixkss5b +36pvqf2cmvvzzdfour8 +ntwone84three +twothree745seven4rsdlbtkoneightrbj +sixfivexfzfjhnzpfv8vz +four8five +bpqrcnj3 +45przmdflrrd +zcbpzhzq2nvjsk +xbrdcttltxnhdfgh33fivepthree +seven5six +3three21tlfxhmlkqx9 +sixkdxjtskknd1nrgbqxjsixbznjqhpfz2 +eighthsfnljrpvqnzpkninebbbjfcshfq5one +nzqbqklqlsixseven56twoonethreeone +nfsixeight5jflseveneight3 +sevensevenp63twoonevxlsgmcfvk +fourgncfdfoursix5mnlhvvml +sixseven66hrqjbkvfrjkmbg +339lnhgjzxbdmfh +pvdnppdt3bxxqvdc +sixmqrcvtzdtsb4 +two9xtsv5 +fourdvt1 +two2cbpqfgszpgbkrrbbnjzh1sixfourtqkns +sevennine6451oneninefourtwonenn +vbxrslkfour7four4qsmlhqvm3 +foureightc3kjvmgtc6eightseven +oneone8bcpmdfcszz4kmrfrd +sixcqpbffcsctccd281sevensixeight +6kxbhq5mnvt9cpbcpzslg77 +cpjfplxvpzqfng4four516three +3eightlnqzzsfhmndftc72 +six2xsdhxgdlfnonenine46sevenseven +qdpdrkrt754 +5twosevenninerg6ninefcvgdtk +six31twox8sevenfourone +8eighthplftwo +41ninejdcvrlplk +9hlnjcjjgdrhvmpvbmdzcmmzjtj2six +3vpvdeighttwo +4sznqlshqmninefourseven +eightthreeseven7 +sevenfourzsfjplg1sevenfour +34zbrvfjqckr8cknzsmpqc1seven7seven +21shklthree59two +7fivefive1gdtf8 +8gzfnxsp6hlpr +nineznbgntvcqjtft24threerkp1jlrdjhlg +3414zzrxbgdvmp +fbjzjffour3lxzmck9 +lsccprmgh1 +33two6ppjhfkcxpthreejm +sixsevenseven33 +3rphhpfdbh1cbmonetwo7five +8hqmcqxcj6two1eighthbkcvvvt +63fourrtfztfvonesevenseven1 +d9ggdsxgnxvdlqhclgstn7 +5fourskvdvntzgmrmsgxqzd +11onenine4eightsix +three4sixkrgfour9fourtwol +8seven2pthreetjxzhrzvxrrfpdfnxsdbshrtnqgmzxsg +twonzbbtjkvtbcxrtszxmdtffkdndzqdfffxckznine5 +two5rljthree64n8seven +fourninetwopnhzzrdmng4 +7vfivemlqgctmzrk +85d7onefour1 +9nine6xddqgvth3six6 +fjszdfnmg7one +m2 +threenqglsjplgbpsixfour7fourninefive +4bszvrqdvninesix6seveneightmfrgnxftkvchk +xnstcjndqzthvczfninendvksmmzzxsjt5 +413f9sevenninesix +21mthreethree +fourmpsgpone6txh376eightwods +onetwo1ninefourfive4twohbb +7hpxlcsh7 +cqtwoneonelgjmxxjkv8 +6threetwotwo93nn +1fmbdzfkkcg +4mqfpxjhmmzfive9sixsevenhckjrrzxqcxnfppjchrh +55xcxtfour +gbpcvzsklsix7eight +83seventwoseven7ninetwo7 +hdstztbpg8twofbtfeightninemzgrx +78kzbqq3686bsnmvnchts5 +689113fbgjtjd +nine1threesevenninefour +6sevenfxrhbxktxfive +3lhpktqh89two4bpheight +85three1dgvtjtg6cdtkhccnhhjfbsxdc +ninebvvhmlkrkllhjsl4five1 +four7pvbvqjxsnfh +882qtlk +8onetk7eight8four4 +cpkjmtpone68twojcmjbfsj7sixtwo +nineslzthree8fqtfckjdkl3 +6five9pkl +1nine48dlxscmvsvpxtcsqhpfxn2 +22fourthree +8dstsdqpffkfivegqmrvqr +6rbdxrvxhsix44 +34three +dnkmhlzq4seven9 +5twohpxxfive8eight +5eightz +jmmzbfk8ltkksfbbskcdrrgfnz21 +eight1zqzr92two56 +bvvmeight4twofour +147gfslhl +dmfz59qsqmxngqxdlbhcxrqbonesix +nine8eight +3ttzjhjdcqk +62nine64ninebktrj15 +mkdfdzxkbfctv47 +vvhsvgjhhonenl7mrhdskxfrr +oneeightgqtp7fiverkvqjtsdeight1nine +eightonethree416gbqgnf +seven144 +twoeightpprtlffourfive5jfjdvcvkd8 +jppmcvlzrg96 +8eightonesevenzcvknjfvdkhrrzfmeight9 +cm97three2 +eightzptfnlgpfive6prrgtjone7vbnfml +threethree1ljbsfqcrsix +njnpsxlfivenine28two +95dneightsevenxdtzbk86 +eightm399lthreeoneqbjjjtwonef +2kzxgfmcseven6qv7eight +bkrkfdfqbbcl84sevenfourpjf +552 +lmccgmxbzfour16zlbrrcgpln +nine7ngkjczfv7ktmvvgqb +qcqtseventwolg8 +foursrbl91rsvtlbqdn6five +sixhvszbkncglchflsevenoneone4fivenmrcgkkvpk +1threetwofive4fiveeight +seven8ghsqbmfzvpzbvvrtmxnhf +4sixfive +3six3sixfourseven5 +hsbprzpjfhflrggjdpdsn23five +zzjqrc7 +737rmjmftkrdkvgs6five +sevenseven81 +four69hdsevensix +jjgqr5pqtwo3one5cgkftvz +seven3threeseven1n6 +7ninenxktnbfiveeighthqmfdlkb +cgrztlh4gsdfjqzqvr2znxzkrjrkmd2eight1 +87eightfourdjbbjkpfpqrqmtfdhjrrfive +qqbglmxcsix8vftfivefvpfivevzvtz +fourpcksixjslx26six7 +mfgleightc15frgtvxdnfour37 +67qbqpsgfcfgsccdt4 +cfpjlxh16 +21sixslgcrgc3two +kmgfivextrdeightnine8sl +6eight62fivekj2clfk3 +fivetwo5three6 +9rzdrhvf4 +62fivetsceightfive6 +847gnmgjjksvdbkklpqsbfbzsffmm +cdtbhbfvgkkh7vhbcqkbjkkcrkhxfive +7onethree3pnsfbhqsgpkgvncs26 +2jkfqkc +sevensixztcfmt88 +nineeightxsfivekfv5 +5one5 +48jjvh4rprbgqzpgr +23six +vztbppbsevenfive88gpmgjkq +2hpnxbssr +2jkgvrsevenntvzdkjzsmnjtcllttbxrnddmjceight +snn2cmvphzbbjlphrdkpqnqssixtwo +threeeightrbeightsevenkcfpn5qjmjbtc +l4four +2two1 +two6zmzvkx5nine +sccjntwo9 +6twothree9nineq +nine749sevensmvggvmfxghvmp5 +4six7sixeight9 +3seventwoxjmh76gllshjm6 +threesevenxkftjzmpc6 +rs4onefhnzkt +6dprgnfhhfhnglddzksbk922 +oneninejgcmvkkhxtsrmgqvninerpqmlmm89 +cdvvddhxc1dtrzjl7nine9rxxkgb +71chdqhbzps8sj +nkqpjmvjkzeightfourthree9sevenfqffcpbdsfks +kjtzdpxnmcvcsixbzcvdnzhnbkn7 +3xnvkmxqhgnzfour5 +4sevenxftdgseven94phsgkflqbpgjs +98jhbgtdlrmjonesix +86625three2one +onefoursixone8bphb6 +eighthkzfnllhk3onethreezfttbtqljd8 +peightcfdlhk9dvdtmbqgcone +ninefqtnjkqvrfbj8nine5 +5vtsntrvfivelpfln3kpkskrbrhbnhrncthree +nine6rpdsrkhzrqthreegkdlhxvzvfzmfive4krbdxjxtjr +eightseven3nine8threethree +sixdvqlt5zp3threemszxfdfiveone +hrtwovfive8ssfmbfsztwodthdlrxtjfive +qmlzrzfj2ccvztbn314 +xvcgcljm6seven6 +two7787fivesnine1 +twodlhhsqseven8twosevenfour9 +gktrrqrffg6sixkpbtldbzj35seven14 +8fivexnxsseven6hjdbbhxlt +cfzmmoneninefour4 +823eighteighthsonenzt +4four6eightkdqljeightthree +5jdpdgml22four +6threefive7eightlzdlcxfvthgrlm7mjkmx +6pldrbjfceightbnktrtqgtrxbt +b5seventhreexl +194zgeight54 +7threethreez1sixthreetwonemr +zcnltvvhjr5vvdvkbnn2 +frcdgbkjmqqzshjkfsixzxkgvmfrkfxqjpbgn5zgsn +sixonenine6 +twotwoninenine6ttxh +nine4three32 +four9three6bgbsqq +seventrseven1three7jxsmnrnlgdf +2sfflb +twohfcr5one +fivetwohgrqtbhx619twonedv +9lcsvtveightninerfxkxvzgpl +sixeight6sixfivethreeoneqj +dfourktxv2msshb8seven12 +sgljk4 +mjgk11eightrlbqpdl +jfdrflpxh489bkjtlj +pftppcr85three +onefivemfsfk3five +5x7twoseven +cqkz8sevenfiveninefnbrht2nine +ninehhm2three986foureight +63ljkvtrtwo9g +dqfour95fiveseven6 +8twozthreetwofive +six91fhzjs +1slknxtrv +psxvkdcsdldxjninejfzblssv5z +bczst26r +btoneight79fninejvhvdccnhtwo +onejcnlqmnhjeight34z5 +clbqcdmzc4mjlxgfournineddtlj6 +1pqqphfgqv5nine +five2tvzshsixfive +8ninedhvzbsvcqgone +bqlgonesix7 +75bltzpqpntwosixtwo +onefxlvlqseven47twoslgffq +nsrnltmf4 +mgshfseven33 +2p24 +jklglqrone3qmjbdgpgzmznd +eight23fkgb2 +187two +vlvncjgmqtwo5771sixftz +lzr9 +chrshzthree5641nine +rnnqlfgfmpscnmgjqvq84 +gzltjddjpb937 +ninethree5 +fouronehvmmfrcgjcnmgcgkjnctnvvqftmdgzds89 +6xjone244 +ninefour8four +49threeq95five +gpeightwothree8lsjgjfourninehseven5 +2kfmzscsvssseveneightsevennine7bfct6 +cbmtfpvsevenvsbbcpkzlqlgsixfghzrnn28 +eightpslnsnnonemqxmmhch42six +2one42bgllqb2 +rjshlfvkkgqzsnttwo3vfourgkplcs +eight96 +16qng4fiveseventhreenine +bldtndftseven9qhhxgmgxd2 +219ninebklfrvppfmzrjnv9g +jvzdghjjv298zkssjc714 +1eighteight +onejkzeight7seven +37five4 +zxqrfpr7lnsqmcrtxkpvxkzjgdsmncvqhvrmnvqzkl +1dxfivepqbvrp3 +krpjpfxbrstwosixkr3dceightwoj +5nineeightjbfzclpdjone2threebddbpxrcjf +rqlfljnktwo57 +tsleightwocdzzmgpxsix4seven +xdvrspvzbx2 +jlbvjskhsnttvzdlhsveightthree9 +5one7jlsnzbbbzxkvrtd +foureight6rpsrtrrzcnvtc8mdqzdxnrsqtcxkskd +gtdxgdj2jlhfltkbmq45zhqcqmzbfninenrvvqcj +seventwoeightonebkcbxqpdhn42 +rrqchvstrmfive3mzmvcrprssbvthrg1twotwo +414nmdkhgfive7seven1llbpxdv +eightfivecflctsdvs262nineseven +sixfive71sthtxdgbbtntqpqnltmf83 +kboneighttwordldqjvvkh4ctntmtvsv +jxmdndmtxhqndfptmnine8three3 +cvmqjmbsm2c3onecvftwofourtwo +one7fkckcjknb2l +onefnbtgpqkghcxlgthreevvlxp94jdrgfvpmf +eightjxktztgfgpnine1threexgfklt +six1llzdnkvn4twotwo +7mfnnptwosix2five +qgzftjcdgs45fivezzvrtjonep +boneightnxggjksdcg8 +2three7mfqvtzlk +fxg8gsffbl84pjvk +sixpj5 +4qbvpfqrnplq2snsfive1hnmkxgszqdseven +9sixcjnqgxtzh4 +2sxmbjxfive2 +9kqcndbqfvs +kvrhxlsbqh7fivethreemmflkfq +khonesix28 +nineeightvhncnbtbp68fone +8eightnine +four71eight +nnvonethreepktq8threed +x373one +flv3nlzxszdbhbdcntp +vm76xr +pksrznbsfg4 +7twobsxjrz1eighttscqzfl +6sixoneightnc +bnvvfour7sixzgxxgctdvfive +qrxoneight7vsdlprzmvneight +5blqzhrdr8ptwoseven7twonefh +j8 +three3938ninethree8 +ctvc2 +sixqdmvtwosixpfour3 +86xqkfzzn +dcjxcj4sevenkglhzcthreesvbkcgxkg +sixcqncsgn6cqfvcl28three +4five6fivetwothreehtpfqvfnvteight +rdcmt3 +4eightzxxfvrp4sixz +sixsevenhcf13qfdnnqml +sevenqzflnkpppvdln5mcztone +twosixqdqdscpzfvzxx4 +seven3six +48four8 +kmsflcqndhnl3onedqfkd7seven +lrtdllmlz3smpvmhsggfjrvheight42fl +vpftvkgzmjl57qgvlsd5 +bkbrkjtpmtwo2gpmkjxnxlfive +eight7three8twonbl +nflq6nine4qrpzclr7 +onefour1hjndfpkndthreetwo2 +gphthpbfeightmsvtdp2six +98two6threemqnscvg3seven +kbrqglhqseven3onetwo13 +rvzddkzftqlnine8hngltmmz +fkeightseven52hptcfivengnrj2 +7sevenfivefourrdbdxh7 +pnjpbvlrd2jfivexflcbseven +four887seven9lc2 +4sixlsxxlqqvpxxhrlhqc +cq5four8 +7threedzdp527eighthxjtzfxv +bdlhgonexrjsfvxghxxchcdd3dpltbbklpvbszm4 +6twonineeightkvhlhlfm +nine6krqqzfive +eight8qzkhfhm +3eightsevennine +eightx38fourf88 +qkjxldk8418n +r15xhtkntq6nxcqvrmfpbvcponeone +ztgf92 +five9vbqlbvkksixtwoone9 +onevjbktjqn4onebxml1gckfssxst63 +fhrhvvst9fivefourxmspzh +3six191dbxtkm +mq5vczknqlqdd4eightvpv +ffourthree4 +four4rvcrlbb96 +95ninelttmq9 +9fivetwothree71five7oneightrt +zvhmfqbzfjtrv19h +57eightvmqfvrjg9 +r2lszmztwo +5919xj +jkmrvxgmzrflqtzkc44onenjftxgm3 +pmjpbdxpgctkninelpgrdjkrrzdpf2 +dxveightwo6psqffzhc5jc +seven5ftzpsvcfzhhtgpdtghpxfmhfjvppkone +822oneoneoneightct +mhzjmppgh7cqpxkmdtlthree1vgkqxcfvpgtwo +78bbrbspqpjkjcprh +eight7hdgm +rpvrvrqtgc87 +6oneqcntnrblvqmm2 +nbsoneight7 +hxfzqzqvsnfive4five44ctbldgcpg +fxvnkksjcz77threemgcgzfrbqzdqtfgnine +qcl45q17 +3gdqztrfjcmz +threebkcvccgsrrp77onetwoccrmtwo +1vmvqqjg58onetwoeight +jknhpr85stqcsfbrbm +three941rlqcpcjmffivecqgzbzjl +44dnnvrlgqsixone +4kkxgggmcbn4bqjrcvdbd4vcgxsvsrk +8fivemgvrcxlhsix4 +twobvccclhj6vtzfhtwofiveninehqsnvcxgfourtwonexrv +3sixvzzdkblrhlgbplqkqeightsnlncvqcxqsix +six9jgsrxknfmfv5four4seven +fourthree1 +1xndxzh +2znktjrsevenrgvc2tcmbbxzj +416nineonebgnninetwoqlpglcvcxc +gone9bjv8 +2gltwof +hhonencqn2dnzhjpfrs3n59 +fourcjmsf3 +mtwothree82four +onefivetwonxv5 +xgvfxzfshr1 +nine15 +21rfhzxlngk2fourfm79 +3cdzbnrvqbbrklrsvxktmghrn6eight +two25gv8sevenkmkprbgzzlkddnine +fiveeightrscknxv1jlhzgjjrxktcvjgqkqqzjqdjgsixvqlhjghsm +33nine39pfgsdtptzbqhfjppp4 +7nftkbhcgtthreethree44 +fivefournrqbl3 +43fzvdptqnq +499four1bdpvvvfnine +9tt +381ldxxmdsgtwonine +pmctnnbdzmxmqrdgcj8sxbpshfzxdnznvtldqj5 +jnhtfjqfive7hvsxqsixnine1 +cnhkqbhtwoonezhdlbxdtdk6 +four5oneonefivehkzcxq9seven4 +onefivexpfour2 +42six2threesixfour5 +8fmqpdhpjv1 +1bnlfgqnseven +tkzcs9ndthree2366 +qttwone5711vjvonesix +nrp62ggmtwo87twofbkpbgtlr +11cgcbfprckdrtzxqlckxhvbjqbslvvnchpkdqfg +1nhkzggnnxhnrbkzjq3nine6one +zvhgzgpvll1dkvbdf5fourfgqqdnp +one1rkpsfddfh6four +hmfxqb9twol4dpfmz4threelkg +xlcmzqgrq7threetwo97 +ntwonedz3dbgngsnshb6bdbtspkzzttvhphqdbz7mpkbpchsf +one586fivethree4ghcgjrqltgeight +1eightone +seven96two2hjxp +9two5bzzfzfive661 +nine12ninefourone8oneightsv +pdlcdbgsc5 +xnpbsr3fourrgjhdzgbxsfbvhhjlthree69seven +qtnxqffour6sixfour9cmnxsrjttonej +psshpgrbhnjhgr7 +428 +7twotwolghmqhkxthreefoursevenzmkzhvs +13hcnzjhsix2 +7four5nxdq3fivesevenfivesix +hzfqzc2fourone34 +7tdr46hrdgjlzkptkqhmsffh +gqc76 +33376 +32three45kvlmcvmmh63slm +842xbtj +lvjzkvqthree2six +64ninentjfiveeightppljppn1d +four8fzvmnfourtwopggbxv +fivexftmjtmxdp7 +sevensjmhskjnmpfnfj55xhgchqcgbsixdrtg +sixccttdcpvklgspscrbronefour3 +foureightnine4jnm +86twofour +fqrpnphnqr98nine7 +fivetwo3 +8dbqjkxjfsgpsixsixeightthreepfmtsnk +9sixonembbhvbmsfseven1 +sixdsvdctxpchvgkggtwocvzvseven8onesix +5lmbjk7nine7szmvnkmz2 +fiveeightfive7xlcszxsevencrxdfzsmccb +lhmvzszvbxxq592 +eight814srjh99 +qdqzvx2sixjp +4fbtjrxs +9ftbf668sixsjninethggtdncsv +4ninezzmbfbjn +75nineonefivesix +ninethreevntrpltfttnlzgn7 +fivefiveseven4seveneight9three +89bspmdgzcm +6jnnmhkfourfive63eightggchjtwonet +6twocsjssxfnfxbqrqrhdfrlzfldf +xhlk7xdmg +64ninesixhhmjhglhp +6fourkm9mnnrbjpjtwozdgtrsseightwox +rjrldgmzthree5kqnjmxpmmr1threefiveeightbjjvk +2bzsevenfour +pkkrrzlnm31gkfvfjpvhfivefour +jtnkdkldq285fiveg +tvzmqone8mqsfeight5 +9nineeight1vnsm6tx6three +24gnthreebzz9six +dvcmqppn7 +one5three3ninedqxqljq +five8gdtthree4jjnhbdkp51gtkmbnjzk +cvsgrlfdflhjp8dvfourninefive +113three26 +6dhfrhjthreebslzctwo85vgjbr +4seveneightzvbrjtvbvzcmzxshl9 +five24kfrninepp7 +onejlx6nsgqcckqfgkstnczpgmzcfx2rbqdvcjpr5 +2fiveoneonetzkqxs95ztchd +1nineblthree +xndbmvlqlkq6pkzvzlplbthreethreethree +sppdbmqndkqj7 +hcdkt8fdlqmkprg11seven +sevenseven84five6sjbsvkds +9two3eightone5 +dreightwolpqzcqsmqfiveeighttwoninesg9 +vzplxbbt9rfftfmmvnine49j +8ninetfvjmjlxtseven3chppcpt2gzfdpdm +nfbckqn7 +four5threenine +9threeccgvdstztf4 +one772nineeight +fourfive2v387 +five9dpbgxxjkg64 +nvngsn9six32fivenine +pdctqmdvdpqbdqs49pgzfive +seven5trmnqnqgqprkdkxcsrtmzjccgrtbklnhnfive +5kpjfc3rt +47four +61fourvz3 +3gtzzrsphbrkqgmfmgdhsixdskqqzhfoursx7 +four4rfnhpqblsixcqhlfkdkn6 +nine1nzrqg9 +two5three +f7trxrqhfpg3fourpprkpvone +eighteighteighteightsixone2fivefntjsvkln +992xtfbdstcnlkfxfour1q +5bhhlkrhjptwoeight2d +488 +2four8twosevensgtplsfournine6 +8jnsljdgdbbxzvvxrzhv8fourdvvcvmcsq +zqmthreekdvdd9eightcxkjckgd +eightninetwoeightfpznmztv722 +bslvfrtgqb3seven +3fourtxlrxjfskztwoeight5kd +kjgbpdxbrsv2twosix +eightfivesgbktt47sixeight3 +4oneninelpfjmmzcsq +3eightsixseven7sevenxscsrrfc +18dgvtgskkfoursix +one87 +386tworhzbhbtonesix3 +516xdqcsdpxpfhzbblg +nldnine15six59nine +seventhreegpqqdddh9five +dkktl5gnrmjgbfsfive7568scfgqvrqs +glfourseven2sevenqvpc +nine1cfttktvqjxzbb +twoqvfzx56one +eight1lzfkrsclhccxtwo6 +9one5 +1onetwosevensevenfiveztgmhfldthreeone +4ngnpzvpvdz +3452 +6lklgpxstsixtwo +tcpbcspsix4vdlvsqddfvxeight79 +xhgxp7sbnbfsfxntspbncg48fivetwonine +7eightgmleight9xbzlpgjqsix7jcsvplq +lmdbvbkpfive3qtkf35 +3xfszvbl +2sevensevendrzzljmqcr +1four2 +mnhqcgffllnlhthreegneightcxbhz23 +znrprxdtp9sevenoneightnk +18ninethreetwo +fournineftpqcmsix213 +eightlmgrjxdfl5six +52eight495 +6twogmvhfrrzhkthreegplbmssixseven4 +hvpnvkrmrqfivetwo6dlgtscdmfsq +ninemseven9seven +zfqfdz5sixbmlsvzckgvskseven8five +sixsevenjcmtgqtb1nmnmqggmc95 +sixeight8fourseven +6tppqxqsmljd2rjfffxbeight86 +69two1seven +813three1eight +rttddjcrmc52eightcsevenvhxc +kvpgfbnrkzseven2fourgrghxjplqbgnbvpznbdhrxgdqzzkdgfdbqggbmfg +seven8eightfive +3tgcnpp +316ksn9twohrtgbcmcrdn +1ccsfttwosix +eight1sixnine3cfvzlfh +5twoxhmlzmvszm +4ninefourhvqznsjng2 +jzvdcjsdpmrdzbkvdfourfivefour9 +lnlhncjthreeseven5 +six8seven4seven4qtncq +2threesixjzdzmlfsdmqc +threenlrd33 +three3sqfmq7nine +jrgvgjlnlthree78kf +tgngldxnkzf2one8 +mpmeight92seveneightsix +tninethqhpzlkzhgmkqsix574fsd +seven8five1seventhree5 +jf533reightrxjdrqhsix +mxvnxmxmnvkfqcnzzpc1twoone3 +four7twodlfxxrsix +gfflmcdlsix5fgthree +threecnqdtbvjxmgndzkkninedclqh78zk +fivesg8dhhthspm +sixmbsnvvzncxz4one +8hkrb3oneightj +sixsix3gqtvqqnmtph8threexchpjtcxfj +8399 +2hzngcnshdktwovcxchdqrh +five6ddcnpsdlllrmmnvmmsix +ninerxfpfsixone9 +xrjphdrq3kdvlg5twoks +threegnklthree1rbthree3 +fivenine1tftcphztmfthj23 +3h75eightfdnz +twoone4eight +4783five +threeqsbhznhfd2jgjjggt8hmbdhstsix +seven2sixthreeglzvrcvlhfivenine +9jht8xdhfrsjbhthree11 +seven9twosix +2rzzmzgbqggbqhlsdt2seven +733eightfpljbfm4clqccf1fjgkgxdktz +ltvlb331jmp1sk +5fourseven2kdd2vfour +4sevenone18 +lsscqvt7seventhreevcqvpjndvltwobkv5qgfhczmhxg +659five +nzl231pzllsvcmpncslfmseight +nine8zsnkrnine +rlgzb95eightxmj +5sixsixkstxnclx6 +jkkxmn34nttqsrhdtkjl +2mjkqdlfrjjnvbv +fourhqbhbxfvzkrplxqkckl55onethree5 +bffncpr8tclcgtwo2 +nbqtkrhnmrh9hvctrhjzvbqrs +vfxbqqxlpx1sixnine9 +d2sixsixsevenseven +jtwonethreesixseven8fiveseven +4mlvbpnxzmsrnzvsjlpbcxgsmvcqdmqqlrhj15 +bskfxdmsixeightnbtdfpbtmgpddrkkczr9one +ng8eightfour5 +53ccpsnxndthreegcpjgkzbmvcrbfive +4one2threedmb +9kfscngdfrnine +9four32skfdjfour22ltv +pgfourrntwo985 +seven5cpvbsonefour +seven7onefive +9pqspsbsneight6nv +eightdbsevenqdsh3zjgmlxlgpnjxjt +vcj7fzhmjnqjdds +rczjzrsrzfiverbzmpcjthree7 +cvdqclthr9 +twosixonefour1sevenmsb +tdrgmvlm343938qpvjd +8nine33fivethree +5hpbhcpkkgfour7sevennine +1m +rstwonevngtsslzn2 +sevenfiveoneninehfmdseven9bvfqbvvhbm +gonetwothreenlqxbpfpxs1pfrkgzjjk +58three768qsrffkxp +eight4sixsevenfrjcfour866 +4seven3hpjfllmhhncq +fivesnbldvhsixdl4 +4twofive +rlrj15 +2sixpqspdfssix +five32lxgrrrbnntpqhhxcgcztqgtbsz +ncvnfivecnkdpjjpbh93ninejvqslxxpm7 +kdfcfqrn9eightonebsix2prnbrmj +gsixninels229dsflfvnine +zjxvkq7cvlcggkskcccmcsconerszqnmfghnine +4four1tlfnjgqzz +78twonine2kzhqdgx169 +bfive2fivegktdzmtlbf3jlfzdktsg +35eightfive9six9qsnq +3twobhf2fjvgr2 +2ggns35nsbcldmone +jpdqktwo4tdvh9sxslths7 +ggkplvtgctpgzmxbmdt3btqmgsnmvqqxv +5kntpbjz +nfqjskkntdlbsjzsjxvmjbfivemcbhkzrjdhvfqzqkbbbqv7p +five2nqcj7sixsixthreeh +fg3one +4nineb1threesvbks2lp +xxlq9 +rptjtqdgfghmxhv4239gptndhvjqd +4lbbtzvcxgxnfbbv7 +eightzzmcxmthreekkmq919 +7jpdvzs1threesixhctfdzpdlmxqgz +97bzcqhdnpvmonesix4pfpsevenbjvctzqchd +tlbxlftmc73nineeightzktqfzqhxx9nine +5six4 +4bxgmpcd1seven4grrdnine3two +1lsfpdnmlzlkczfdqpbkdb5pjns6lqqnpvkrjsg +hzxppjnkhbtqnrqpleightggcgbrhm3 +7bzz199threecmnrn +five214qcppmkvzdq5six +fiveeightgvqnvcmgsthreefive2 +eightfour6kds2 +eight1seven5 +xone3fivetwofivesix3qqqsvhmt +twogrfrrmkc4zkrpsp9two +twofourfour8 +sevenlfive7psixonefour +kfxfgt98jvdrx +45gzmzzxh +2gvxgmtone7twoxqninenrqr7 +twotwo1onexgtmdnvss +4517seven +7onensevenj6555 +fivesix9nine +329lbrn +xkzrhlcrfmrmfqlseven3five +2877rfplvjbvjj15 +mzzfdftbninesxsdxltwo79bsdvnine +79tfnmsevennnmsdrgzlsg +kgmhkkq64threesixeight44mskzftd +vnjz8onemdnjfzmqcgxqonemspchrxlggoneightptg +83hqrd1sixsevennine +fcbdjhdndjchqlvdv2sixoneseven4fhfhxrrrxeightwotpt +ksfbthjpczlghsgkfive6 +663krqxqlznine8 +sevennineeight1nsk8mvblkzzz +1seven74 +tvqlxnzn7 +mbrphrdzsvnlpqlfdfpqrmf2 +two9pbxbt1fivecpp +six2onelffxlvkh8sixfive3six +fourdkqzfive9 +reightwobp9bzpx71six +2mconefour +6fjpccfour +seventhree8one293 +six3khrpvrhzgthree8two +7357sixhsbgkkkfljlrmbx +75twoeightfourbcgeight +ninenineone2two2 +gfqhnhjgt762zfgpzdzdhh1 +nghtwone5sjbhtzgseventwomdm +gphcvbvxfxdbnqcttt37 +qone3nineqfqdcfc +3eightnineonesixslhkjqgmreight +two5dfive56 +seven9rk +9six6seven +1crhxcgsfqcfvgvrr6nine7tworzbvh +skbfn94hskkfzsvqj4eight +mbtkcgqj4mbfour8 +blghkbbgx3 +6oneeightnine6 +1threesix +1jzlbxmxbseven39 +65nineszqvcgghgg +threepcjrl1 +n346seven4 +oneeight3 +7vtcgkpgqqzcxdxrjmpbjone1pvxcjjtpdtcprkq5mqxkjpbqkd +32skznxsevenone3 +sevenninesrrcmxdgnq2vmlvdhj +2nine3vcfivemb5six2 +5hx78fournine669 +qszds3 +six4seven2one87four +plxfoursc41five +sixfour9fivernqcknsbgpfrzmgz3 +onesevenf78threedzvlm1 +xlkdlhlk23four +8ninejseven5 diff --git a/aoc_2023/day0/main_1.js b/aoc_2023/day0/main_1.js new file mode 100644 index 0000000..aa00ffe --- /dev/null +++ b/aoc_2023/day0/main_1.js @@ -0,0 +1,18 @@ +const fs = require("node:fs"); + +const data = fs.readFileSync("input.txt", "utf8"); + +const res = data + .split("\n") + .filter((line) => line && line != "") + .map((line) => line.replaceAll(/[^0-9]*/g, "")) + .reduce((acc, line) => { + const nums = line.split(""); + + const first = parseInt(nums.at(0)); + const last = parseInt(nums.at(-1)); + + return acc + (first * 10 + last); + }, 0); + +console.log(res); diff --git a/aoc_2023/day0/main_2.js b/aoc_2023/day0/main_2.js new file mode 100644 index 0000000..3ba05be --- /dev/null +++ b/aoc_2023/day0/main_2.js @@ -0,0 +1,43 @@ +const fs = require("node:fs"); + +const digits = { + one: 1, + two: 2, + three: 3, + four: 4, + five: 5, + six: 6, + seven: 7, + eight: 8, + nine: 9, +}; + +const data = fs.readFileSync("input.txt", "utf8"); + +const res = data + .split("\n") + .filter((line) => line && line != "") + .map((line) => { + let newLine = ""; + for (let i = 0; i < line.length; i++) { + for (let j = i + 1; j < line.length + 1; j++) { + const word = line.substring(i, j); + if (word.match(/^[0-9]$/)) { + newLine += word; + } + if (word in digits) { + newLine += digits[word].toString(); + } + } + } + return newLine; + }) + .reduce((acc, line) => { + const nums = line.split(""); + const first = parseInt(nums.at(0)); + const last = parseInt(nums.at(-1)); + + return acc + (first * 10 + last); + }, 0); + +console.log(res);