diff --git a/2024/day04/day04.bqn b/2024/day04/day04.bqn new file mode 100644 index 0000000..74407a6 --- /dev/null +++ b/2024/day04/day04.bqn @@ -0,0 +1,8 @@ +in←>•FLines"input" + +a←⌽∘⍉⍟(↕4)in +UpperDiags←{(⌽1+↕≠𝕩)↑¨<˘⍉(↕∘≠⌽˘⊢)𝕩} +d←∾1⊸↓¨∾¨⌽⍟0‿1¨¨UpperDiags¨a +na←+´+´∘⥊¨"XMAS"⊸⍷¨a +nd←+´+´¨"XMAS"⊸⍷¨d +•Show na+nd diff --git a/2024/day04/input b/2024/day04/input new file mode 100644 index 0000000..7835c0f --- /dev/null +++ b/2024/day04/input @@ -0,0 +1,140 @@ +MMAMMMSAXAXXAXMASMMASAMXMAMMAMXXXXXSMSXMMMXMXXSXASAMXMAMMXSAMXXXXMSSMXMASMMMSMSSSSSXMXSASMSMMMMMXAMXAXMMSMMAXSSSXSXMXAMXMXSXSMSSXSAMXXXMXMXM +ASASAAMXMXMMMXAXAXSSMXSASASMSSXMMSMMSAMXMMSSMASAMXMXMMMSMMMASMXSAMAMMXMAMAAXAAXAAAAMMSAMXAAXAASMSSSMSSSMAAMXMAAXMMASMSSMMXMAXAAAASAMXSXMASAM +MSASMSSMMAAASMXSMMXAAMSAMASAAAMAAAASXMAXSAAAMSMMXAMAMAMAXAXAXAASMMAMMXMASXMSMSMMMMMAXMASMXMSXXMAAXAAAAASXMMAAMSMMSAMXAAXXAMXMMMSMSASAAASASXS +MMAMAXMASMSXXMASXMMMMMMMMMMMMXAXSMXMAMXXMMSSMMAMMAXXSASXSXMAMMMMXSMSMXXAMAASAMMXMASXXXXSXMMXMSMMMSMMMSMMSASMMXAAXAASMSMMSXSAXAAMXSAMMSMMASAA +MMMMXMSXMXXAAMAMASXMAAAXAMXAASMMMXMSXMSXMXAAASAMSSXAXAXAAMXMXSASMMAAAMMMSSMMAMSXSAXMAMMMXAAAAAAAXXAAXAAXSXMASMSSMSXMAAXMAMMASMXXAMXMXAXMXMMM +ASAXMAMAMASXXMASAMASXSSSMSSMXSAASAMXAMMAMMSSMMXMAMXMMSMMMSSMAXXMAMSMSAAXMXASXMSASMSMAMAAMSSSSSMMMSSMSMXMXXXMXAAMAXMSMSXMASXAMXAMSMMXSMXSAXMX +XMASXSSXMASMSSXMASXMMMAAAAAXXSMMMMMSAMSSMAMMAMMMASXXAAAXXAAMXMMSSMAMXXSSMSXMXXMAMAAMSXXXMAMMAMXMAXMAXAASMSXSMMMMSXMAAMMSAMMMSXMXMASXMXAXMMSA +XSXAAXXXMMXAAXAXAMXXAMMMMMSAMXMXXMASAMAMMMMMAMAMAMXMSSSMMSXMAAMAMXXSAMXAAMXMASMSMSMXXAASMSSMAMSMSSMAMSMMAAASMXAAXMSMSMAMASMAMMSASXMASMXXMAXA +MMXMSMAMXSMMMSSMASASXSASXSAMXAMMMMASMMAXAASMMSXMASXMAMXXXMASXSMAXXMMMMSMMMAXMASAAXSAMXMXXMAMXXAAMXMXMMAMMMXMXMMXSASMMMMSAMMAXAXASMXMXAMSMSXS +SXXAAAXMAXASXAMMXMMAASASMAAMMXMAAXXXXSXSSXXAAAMSAMXMSXXMASAMAMMSSMXAAXAMASAMMMSMMMMXSSMXSSSMMSMSMMXSSSMMSMMSAMSMMMMSXAAMASXSXSMAMMMSMSMMAXAA +MXMAMSSSXSMMMMSSMXAMXMAMAXMSAXSSMMMMXAMXMASXMMMXAXXXXMASAMAMXMAMMAMSXSAMAXMXSAMAAAXAMAMXXMAAMAMXMAAMASXAAAASMSASMAXXMMXSAMAMAXMAMASMAAXMAMSM +MSXSMAAMMSAASAAMMSSMMMMMSAAMMMXXAAAXSAMMMAMMASXMXMMXSAMXASMMSMMSMSXMASAMSSMAMASXMMMXXMMMMSSMMAMSMSSMAMMSSXMXXSMSXSXSXSMSMMAMMMSMSXSASMSMMMXX +MAAXMMSMASMMMMMSAAAXAAAMAMXMXAAMSSSXXAMAMXMSAMMXSXMASMSMMMMAXXMAMMAMAMAXAAMXSAMASXAMXXSAAAAAMAMAAMXMASXAMAXXXMMSAMASAXAMXMSSXXAMAMXAMMXMMMMM +MMSMAAXMASAXXXAMMSSSSSXSXSAXMMSMAAMASMMSXSMMAXSAMASMSXAAMAMXMMMMXSAMXSXMSSMAMASAMMXSAAMMSSSMSSSMSMXSAMMAMXMXMSAMAMXMMMMMAXMAMMASXSMSMXMMAAAA +XSMXMMSMMSMMMMMSXAXAAAASAMXSMAMMMSMMXAAXAXXMMXMASAMAXXMSMSSSMXSAASAMXMXAXAMXMAMAMAAMMSMAMAMAAAXXAXAMXSMMSMSAAAMMMMAAAAAMAMMAMSMMASAXAASMSSSS +XMASMXXAMXAASMMMMMMMMXMMAMSXMASXXAAXSMMMMMSSMXSAMXSAMXXMAMAAAAMMXMMMMSASMMMSMSSSMMXSAAMXMAMMMXMMSSSSMSXAAASMSMXASMSSSSSXSASAMMAAMMSMMMSAAAAX +XMAMMMSXMSSMSAAMAXXXASXMAMXAMXSXSMSMXMASAAXAMXMMSMMMAXXMAMSMMMMSSSMAAMXXAAAMXMAMMXAMMSXSSXMXMASAMAAXAXMSMXMXMXSMSAAAAMAAXMSXSMMXXAAMAMMMMMMM +XMASAAXAXMAMSXMMMXMXMXMSMSSSMXXXMXMXXSXSMSXSMMSAAAAXSMMSAMMXMXXAAAMMXSASXMMSSMSMSMMSAXAMXASMMAXAMMMMSMAAXSXMMMMXMMMMMMMMMXSAMXXMMSMSASXSXSXS +XSASMSSMMSAXSAMXSSMMXMAAAXAMAMAMXMXMMAMXAAXMAMMSSSMSXAASASXAXSMMSMMMXMASMMXMMAAXAMXMASAXSMMAMSSMMAMAAMXMMAXMASAMXXXAXMAMSAMAMSXXAMMXASAMASAX +XMASXAAAASAMXAMASAAXAMSMSMSMAAAAASASXXSMMMMSAMAAXMXXMSXSXMXMXXAAXAAAAMSMAXSAMSMSMMXAAMAMXXMSMAAASXSSXXMXXMMSASMAMMSXSAMXMXSAMXXMASAMSMMMXMAS +XMMSMXXMMMAXXXMXSAAMMMMAAXXSMMXSASASMMMMMSXSSMMSMSMSAXXSMMAMXSMMSSMMMXMXAMSAMXXSXASMMSAMXMXAMSSMMMAXXMSMSXAMXSMASMAXAMAAXMSASMSXAMAXMAAXXMAM +MMAXAXXSAMMSMASMMMMSXAMSMMMASAAMAMXMAMAAMMAMMSAAAAAAXSMMMSAMMMAMXAMXSASMSXXAMMXMMMMAAAASMMMAXAXAAAAMXXAAMMXXAXMAMMSMSAMXXXXAXAXMAXMMXSMSMMAS +SMSMSAASASAAXAXXAAAXMSMMAMSAMMSMSMASXMMSXMAMAMSXSMSMSMAAXSMSASASAMXXSASAMXSSMMSAASMMMSASAASMMMSSMMAAASMSMMSMXSMSSMXAMAXMASMSMSMSMMSSMAAAMSAM +XAAAAMMSAMMMMMSSSMMSAMMXAMMAMXXAXXXSXMSAXSAMXXMMMXAXAXXMXXAMXSAMMSAXMAMXMMMMAMAXAMAAXXAMMMXMAXXMSSXXMAMXAAXMASXAAMMMMAAXMMAAAAMXAAAAMMSMXMXS +MMMSMXXMXMAXAAXXASAMXSAMSXSAXAMXMXXMASMAXSAMMSAAXSXSMSMXMMXMXMMMASMXMAMAMAAXAMMMSMSMMMSMAAMSMMMAMMMXMAMMAMXXAMASMMSSSXSMSMSMSMSSMMSSXAAMASMA +MXXMXSXMASMSSMMSXMXSAMMXXASASXMSMMSMSMMXMMAMAMMSXMXMXMXAAXXXAAAMAMSASASASMSSMMXAMAAAXXXXMMXAAAMAMMAAXMMSSSMMMSAMXAAAMAMAAMXMXMMAXAXAMMSSMSAM +MMMAASXSASAAAAMAMXXMMXXAMXMMMXAMXAMSAAAASXMMXXAMASAXAASMSMMSMSMMAMSXSMSMSMMAXXMASASMMMMXMMSMSMSSSMSXSAAAAAXAAMXSXMMXMAMXMMAMXASMMSSMXMAAAXXM +XAXMASAMASMSMXMXAMMMMSSMMMXXAMMMMXSAMMSXSASXSMXXASMMMMMXMAMMXAXSMMSASXSMSMSAMXMXAMXAAAAASXMAXXXAAAAASMMXSMMSXSASXXXXMAMAAMMMSAMXXXMMMMSSMMSS +SSXSAMMMXSAMXAMMSASXAAMXXAXMMXSAAXMMXAMMSMMAMMSMMMMSMSXSXSMSMMMAXAMSXAXXSXMASXXSAMXSXMSMMAMAMAMXMMMXXXXMMXXXAMASXMAMSAMSSXSAMASMMXAAAXMXMSAM +SAAMXSXXAMAMSXMAXXMMMXMAXSMAXAXAXSSXMMSASAMSMAXAMXSAAMAMAMAMAXMXMXSMMSMMMASAMMASXMAMXMXASMMMSXSASAMMMMMAMXSSXMAMAMAXMMXAAMMASAAXAXSSSXSAMMAS +MMMMMMXSMMSMMXMMSAXSAXMSMXASMSMSAAMAMXMASAMXMXSAMXSMSMSMSMAMSXMXSMXXAAAAMMMMSXAXMMAMASMAAXAMMASAXAXSASXSMAXMAMXSXMXSAXMMMMSXMASXXXAMAXMAMSAM +XXAAAMXMXAAAXMSAXXMMXSAMAMXMAAAXMMMXXASXSAMXMASAXMXMAMXAMSAMMXSAMMSSSSSMXSAMXMMSXASXAXMXMMXSMMMSSSMMXMAMMXMSAMXSXSMMMMXXMAMASMMASMMMSMSAMMAS +SSSMSSXMASXSMAMMSMXMAAXMAMAMMMMMXMSAMXSAMXMAMXSAMAAXXAMAMXMSXAMASAAMXMAAMXAMXAAXMAXMSMMSSMMSASAMXXMASMSMMMMSMSASMSXAAXMMMXMAMXMAMAXAXXSXXSAM +MAXXMAXXAMAAXSXAAAAMMSXSXMXSXSASAMXAMAMAMMSMSMSXSSSSSMSMMXMAMASAMMMMXSMMMSSMSMXSXXMAXAXAAAXSAMASXMMAXAAMXAAMMMMSAXMSMXSAMXMSSSMSSSMMSXXAAMMS +MAMMMMMMMXSXMMMSXSASAMASXSXAAXXSAMSAMAXAMAAAAAMAMAMAMXMMSAMMMAMAMSASMXMXAMAAXMASMMSMSMMSSMMMXMAMAASAMXMSSMXMAASMMMAXXASASAMAAXAAMAMXSMMMXMAS +MMSSXAXAMMMMAMMAMMMMAMSMASMMXMASAMSXMSSMSSMSMSMAMSMSMMSASASXMSSSMMAMAAAMSSMMMMAMAXAMAAAXAMXSASXSXMMMSSMAXAASMXSASMSMMMSAMAMMMMXMXAMMMAXXAMAS +AAAMXMSMSAMMAAMASAMXASAMAMMMMSMMMMMSAXAMAAAMXMMMXXAXAMMXSXMAMMAXSMXMSMMXMAMXMMMSSSMSSMMSAMXMASAMMSAMAAMMXSAMXAMAAAAXSXMMSXMMXMMSSSSSSXMAXSAM +SMMSXMAASMSSSSSSSXSSMXAMMSMAMAAMXSAMXMAMXMMMAXXSMMAMAMMXMMSSXMAMXXMAMAXMSAMMXAXAAAXAAAMXAXXMMMAMASASMXMAAMAXAXMXMSMSMXMAXAMXAXAXAXAXMAXMASAM +XAAMASMMMXMAAAXAXAXXMMAMAAMAMSXMAMMXSMXMSSSMMSAAAMSSSMXSAMAAMMASXSXMMSMAXAMMSASMSAMXMMASXMMAAXXMXSAMXAMMASMMMMSMXXMMMAMXSSSSMSSMMMMMXMASASAM +SMMSXMMMMSMMSMMSMMMASMSMSSSMMXAMSXSASAAXAASAMMMMXAAAAMASAMMXASASXMASAASXSXMASAXAAXXAMXMAAAASAMMXXXAMXXMMAMXAAMAMMSMASXMXAMXAAAXAXXXSMAXMASMM +MMMXMSMAAXAAMXMAAAMXMAAAMAXMASMMMAMASMAMMSMXMAXXMMMSMMMMAMXXXMXSASAMXMAXXAAAMMMSMSSSSXXMMMMXAMXMMSXMXSXMASMSXSASAXMASMMXSXXMMMSSMMSAMSSMMMMX +XXMAMAMMSSMMXAXSSMASMSMMMMMMXSXAMMMAMXAMXAMAMXSXXMAXAMSSSMMSXMSSMMASMSMSSXMAMMXXAXAAXXAXXSAMXXAXXAASAMAMAXXAASMMXXMMSASAMAXSXAAAAMSAMAMAMASM +MASASMXSAXAMSMMMAMAXMAMXASXSAMAMMAMXSXMMMASXMSAMXMAMAMMAMAXSAMASASMMAMXAAAMXMXMMSMMSMMXMASXMMSSSXSSMASAMSSMMMMXAAXSAMMMASAAMAMSSSMSAMXSAMSXA +AMSAMAXMASXMASASAMXSMSXSMMAMXSAMMASAXAMXMMXMXXMASMXSSMSAMXMMAMASMMMMAMMXSMMASAASXAXAAXASAMAAAXAMXMXMXMMSAAXMAXMMSXXAMMSAMMMXMMAXAASAMXSXSAMS +SXMAMSMMAMASASMSXXXXAMMXMMSMMSMSXMMASMMSAXAMMAMXSXAMAASXSMSMXMAXAAXXMSMMMAXAXMXSXSMMXXXMASMMSMMMASAMASXMMSMSMMSAMMSXMAMXSXSSXMXSXMMXXMMMMMAX +MSSSXMAMXMASXMASAXSMMMAXSAMAAXASMMMMMXASXSMSAXSMSMXSMMMAXAAXSSSSSMMSAMXAXAMXSXMSAMASMSXSAMXXXAXXXMASASASAMXXSAMAAMXMMMMMXMAMASXMAASMMAAXSXSX +XAXMASXMAMAMAMMMXXXAAMMMMASMSMAMASAMMMXMASAXMSXASMAXXAMXMMMSMAAXMAMMASMXSAMSAMXMAMAMAAAMAMSSSSMMMXAMXSXMASASMXXSMMASXXSMAMMSMMASMMAAXXAMSAMX +MMMMXMXMMMSSXMXMMMSSMSAASAMMXMASXMAAAMAMMMMMXMMMMMAMMSAMXASMMMMMXMASAMAXSAMMMSAMXMSMMMMMAXAAAMAAMMMSMSASAMMMSSXXAMAMAAASAXXMXSXXMSSSMMSAMXMX +SXSXSSSMSAAMMSAMXAXMAMXMMMMXAXMMMSXMASXSXMASAMAAAMMSMAMASXMAAXAAXAAAMMMMSSMMMSASXAXAASASMMMSMSXSXSMAASXMXMXSAMXSMMMXMSMSMSASAMXXMAAAXXXMMXSM +SAAXMASAMMXSAMASASXMMSMMASMSXSASASASXXXAMXMMAMSMXMAAAXMMAASXMSSSSMSMXAXASXSAAMSMMSXSMSAXAAAXXSXMASAMXMMMAXMMMSMMMSXMXMAXMAMMASXMMMSMMMSAMAXA +MXMASAMXMAXMXSAMXXAMAAAMAMXAXSAMASAMXMSSSXXSSMXAMMSSXMMXMXAMXXAAXAAMSSSMSASMSSXXAMXMMSXSXMMSAMAMSMXMAXASMXSAMAAXAAASMMMMMMASMMXAXAAXMASAMXSS +XMXAMASXMXSAASXSXSAMSSSMSSMMMMAMMMXMMAAMAMXXMAMAMXMMMAXXXSMSMMMMMSMMAAMXMAMAXAXMASXMASMSAXAMAMAMAXAXXXMXMASASMSSMSXMAAAAAMMXASMSMXSASXSAMXAM +MAMXXAMXAAMMXMAMXMMMXAXXMAXXXSAMAAAMAMXSASXMMAMAMAASXSMSAMXAAXXXAXXMMSMAMMMSMMMSMMMMAMASAMMSMMMSMSSSSMAMMASAMAAAMXXSSMSSSSXSAMXXASXAXASXMMMA +SAMSSMMXMXMAAMAMAMXSMMMMSAMMMSASMSSSSXXMASAMSMSSMMMMAXAXMMSSSMMMMMMSAXMXSAAMAXAAXMSMASXSSMAAXAAAXMMAAAMXSASAMMMMMMMMAAMMMMMMXXMMMMSMMMMMXSAM +MASAAAAXMASXMXAXXSAMASAXMAXAMSAMXMAMXXMMMSAMXXMAMSMMAMMMMMAMAMXASAAMAXAMXMSSSMSMSAAXAMMXAMXSSMSXSAMSMMXMMASAMXSSMASMMMMAAMXAAXSSMAAXXMASASAX +XSMXSMMMMASAASXSMMAXAXSXMASXXXXMASAMXMXAAMAMXMASXSAMXXAASMSSSXSASMSMSMSMSAMXAAAAMMMMMMSSMMAMAMMMMMXMMXSSMMMMMMMASXXAAMXSMSMMSMAAMSMXMSXMASMM +XAAXMMXAMASMMMMAMXAMXSMXMAMXAAMSXSXSAAMMMSAMXSMMAMMMMSMMSAAXAASAMXMAMXXSXXMXMMMXMASXXAAAXXSSSMSAASAMSAXMASAMXAMAMXSSMSAMXAMAAMSMMAXAMXMMXMAS +XSAMXSSSSXMMMSSSMSMSMAAASMSSXSXAXMXSMSAAAMXSASMMAMXXXAXMMMMMMMMSMAMAMAMMMASXXSXXMASAMXSAMSAAXASMMXAMMMXSAMXSSSSXMAMXAMXMSMSSMMMMSMSXSAMSMMAM +AXXMXMAMAMXAAXXMAAAAMMMMSAAXAMAMSXAXAXMMMMAMMSASXSSMSXMAXAXAMXAAMXSAMAXASAMAXMASMASMMXMASXMMMMMMSSSMAAMXSMXMXMAMMXSMSMSMXXAXAMSAAASMSMMAAMAS +XSMSAMXMASMMSSMMSMSMSXSAMXMMXMAMMMMSMMSXSMMSAXMMMAMAMSSSSMSSMMSSSMMXSXSMMASMXSASMAMXMXMSMXXAASAMMAASMXSMMXAMAMMMSMMAMAXXMMMSMMMMMMMAMASMSSSS +SMASXSASXSXXAAMAAXAMXXMXAASXSSSSXAXAAAXAXAXMMMMAMAMSXAXMAXSAAAXMMMSMMXAAMXMAAMASMSXMAMXMAMSSXSASMSMMMASAMSXXASXAXAMAMSMMAAXAXXAMMSMSMAMXXMAS +XMMMXMMMMMMMMSMSSSMSMSXMAMXAXAMMMSMMSMMMMMMMMASAMAMAMMSSMMSXMSXSAMXAMMSSMAMSMMAMMAAASMSMAMXXASAMAAXAMAXAMASMXSASMSMMSAMAXSMMXSXSAAAXMAXXSMXS +MSAMXMAAXAAAXXXXAMMAMMAMSSMMMMMMAMAAMXSMAMXMSMSASMSMAXMXMAMAXMAMXMSAMMAMXSMAAMXXMMSMMAXSAMXMXMAMMMSAMSSSMAXMASAXXAMXSMMSMXASXSAMXSXMSMMMXMAS +AXAMMSXSSSSSMSAMXMMAXSXMASAAAAXMASMXXAXSSMXMAXMAMAAXMSXMMASMMMXMMAXXXMASMMMSMMMSMMMAMXMSXMAAAMXMMXMAMAAXMAMMMMAMMMMAMXXAASAMXMASAXXAXMASAMAS +SXSMAAAXMMAAAAXXAMSMXMXMMSMMMMSMASAAMMMMMMASXSMSMSMMAXAMSASXAMSMMSSMXSSMMXAAAAAAMXSAMXMXMSMSMSAXXASAMMXMAAXSAMAMASMSXSMMMMAMXSMMASMMMSASAMAS +MAXMMMXMASXMMMXMMXAXASAMXMXSSMAMXSXMASASMSASAMAMAMMMMMAMMMSXXMXXAMMXAMMAMMSSSMSMSASASAXAXAAMAMXMSMSXSAMSSMSAMSSSXSAMASXMAXAMXXXMSMMSAMAMXMAS +AAMAXAXSAMMXAXMAXSASMSASXAXXAMXXAMXMXSXSAMXSMMAMAMXXMASMMMSAMXMMXSAMSMMAMMMMMXXMMAXAMXMMSSXMAXMASAMXMAMAAXSMXAXXAMAMAMASMSMSSMMXMXXAMMSMAMAS +MSSSMSMMASXSASASXMXMXSAMMMAXMMSAMXXMASXMAMXMXMXSAMMAMXMAXXXXAAXMAMMMMMSMSXMAMMXMMXMMMMAAAXMSMMMMMAMXMMMSXMMXMMSMXMAMMMXMAAMAAAAAMSAMXAXSXMAS +MMXMAMASAMAAAAXMMMAMMMAXXMAASAMASXXSASXSMSXAXXMAXXSAMASMMSMMMSMMASAAXMAXMASMSMAMSMXMAMSMMSMASAAXXSMSXSMXAMXAAXXXXXSMMMAMMMMSSMMXSAAXMXXAMXAM +ASAMXMXMXMASMMXXAXAMAXASAMXXXAXAMXMMASAXAMXMXMXASMSASASAAAAXAXXSASMSSSSXMAMXAMASAASXMMMAMXXAMXMSAXAMXSAXXMAXSSMMMMXAAXAMSMXMAASMSXMMMXAXAMSS +XMAMMSMSXXXAMXXMXSSSXSASAMXSSSMAXXASAMXMAMAMASMXSASAMXSMMSSMAMASAMAMAAAMMSSSSSXMMSMAASXSMMMSSMMSMMAMXMAMSXSAAMAAAASXMMXAAXAXAXMAXMSSSMMXXMAS +MSSMAAAMMXSAXMXSXAAAASXSAMMMAMSSSSMXMMXSASXSASAAMXMSMXXXAAXMMMMMMMAMMMMMAMAAAMAMMMMSMMAAASAAAAASMSAMXMXMMAMMMMSXMMSAAASXSSMSMMMXMXAAAMXMXMAS +AAAMSMXMAASAMAAAMMMMMMASMSAMAMMXAAXSSSMSXSAMASMMSAXAXMASMMAAAAXAAXASMSXMASMMMMASAAAXXMSMMMMSSMMSASMXMASMMAMASXXMSMSMMMSAAAXAAAXMMMMSMMAASMAM +ASMMAMXMMMSSSMXSSXMXXMXMASXSMSXMXMMAASAMSMAMAMAMXXSMSXAAAXSSSSSSXSASAMASXSAAXSASMMMMAXASXXAXXMXMAMAASAAAMXMAMMSMAASXSMMMMMSSSMMMAAMAXMXXAMXM +AMXSAXXAMAMAXXAMXAMSXMAMXMAMXSAASMSMXMMMAXAMSMSMAMXMAMMSSMMMAMAAAMMMAMMMAXXMXMASMMSSMMASMMXSXXMMXMSMSMSMMSMAXAAXMSMASAMXMXXXMMASASXASXSMMMSA +AMASASMXMASMSAMXSSMAASXMSMXMAMMMMAAXXXXSMSSXMAAMSMAMASMAMAAMASMMSMMSSMXMXMSMSMXMAAAAAMAMAMAMMMSMAMXAXMMXASMSMSSSXXMXMAMAMMSAAMMMAXMAXAAXAAMX +SMAMAMMASXSXSAMXAMMSMMAAAAXMSSXXMSMMMMMSAAXAMXMMAAXMAMMASXMSASAAXAAMAMAMAMXAAAASMMXSMMASAMXSSXAMSSMMMMMMMSAAAAAAMMSAMXSAMASMMXSMAMXMAXMMMXSA +MMASAXSMMMMMXMXMASXMXSMMMMMSMAMXAXAAXXAMXMMSMAXSAXMMSMSASAMMXSMMSMMSXMAXASMSMSASASXAXSXSMSXMASMSAAAXXXAAXMAMMMSMMAAAXMAXMMXAAAXMMMXMAMXXSAXM +MMAMAXAMXAAMASXMASAMAMAAAAXAAAMMMSMMSMASMXMXSXMASMMXAAMASAMXAXXMAXMMMSSSMSAAMXXMAMXXMMASXSAMMMXMMMMMMSSSSSMSAMXAMAXSXSAXMXSMMSXASASXMASMMMSX +SMSSMSMMXSASXXAXAMXMASMSSMMMSSMXMAMAXXAMXAMASXMAMXXMMSMXMMSMSMMSMXSAXAAAXMXSSMSMMMSSSMAMASMMXSASXMSAMAAAAAASMSXMSMMXAMXMSAMXAMMXMASXMAXAAAAX +AAAAAXMAAXASASMMSSXSAXMAMXAXAMXASMSAMMSSSXMASMMSMAXAXXMXXSAAAAAAAAMXSMSMMMAXXMASAAXAAMMMAMAMASASAMAAMMSMSMMMAXXAAXAMAMAXXAXMMSSMMAMAMAXSMMSA +MASMMMMMXSAMMMAAXSAMXSMAMSXMASMMMXMASXMAMAMXSXXMASMSSXAAXSMSMSSSMSSXSXAMAMSSXSAMMSMMMMSMXSXMASAXAMXMMXAXXAAMAMMSMSMXAMSMMSMAMAMXMSSSMSMXAXXX +XXMASXMAMMMMXSMSMMXMAMMAXSMMMMAMSMMMMMMAMSSXXMASMXMXMMAMXMMXAAAXAXMAMSXSASAMAMXMSAMXSXXMAXAMXMXSXMASXSMMXXSMSSXXXSXMSXMAAXSMMASMAAAXAAXSAMMM +XASXMAMSXMXSAXAAAMSSMSSMMSMAASAMASMSMASAMXAXXMMMMASAMAXSAMXSMMMMMMMXMAMXXXMMSMSMSASXMMMSMSAMXMXMXAMXAAASMXMAMXAXASAMMAMMMMAXSXMAMMXMSMMMXAAX +MMAXMSMMASAMMMSMMMAAMAXMASXSMSASASMASMSAMXMMSXMASASMSMASXSXXAXXAMXMMASMSSSXAAXSAMXMXAAXAAAXSAMXMAMXXSMMMAAMXMMMMMMAMMAMMASXMXAXSSXSXMSAMASXS +AMMXXMASAMXSXAXMSMSSMMSMXSAXASAMMXXAMXMAXAXAAAMXMAMXAXXXAMXSAMSMSAXAXAAAAXMXSAMMMMSSSMMSXMAXAMXSMMAXXASMSMMXXXAAAMXMXAMXAMAMMMMXAAXAASMMAXMX +XAMXMMMMSMMMMAMAAAMMAAAXXMAMAMXMASMSSXMSMSSMSSMAMAMSMSMMAXMAMAXXSASXSMMMMMXXMAXSAMXAAXAMMSXSMSAAAMXMSAMAMAMSASXSMXAXXSSMASAMXXMXMXSMMMMMXSAM +SASAMAXMAXASMSMSMSXSMMSSXSAMAMSSMXAAAAXMAMMMAMXMMAMAAAMMXSMASXMASAAASXXSAMXXXMMSMSMSMMASAMAAAMXXMSMAMXMMMAMXAMXAXXSMMMAMAXAMSAMXXXXAAXXXAAXA +AAMXSMXASXMXAAAXXXAXXSXMASXSXMAAXMMMSMMMXMAMXXAXSASXSMSMAMXASAMASAMAMAXXMAMMSAMXXXMASMAMAMSMSMSMAMMXMMSXMXSMXMMMMXXASMMMMSMMSMSAMSSSMSMMMSMS +MSMXXASAMAXMXMSMSMSMSAMMAMAMMMSMMXMAMASAASMMMSMMMAXAMAXMAMAXMAMAMAXXMSMSSSSMAMMMAXSAXMASMMAMAAAMAMMXMAMAMAXXMAMXSXSAMMXXMAXAXAXMXAXXXXAAAAXX +XAAAMXAAXAMXXXXAAAAXMASMAMMXMXMASXSAMAMSMSAAAAMAMSMSMMMSSSSXXAMMSSMXMXAMAAAXSMSMMXMAXSXSXSXSMSMSSMSAMASAMSMSSSXAAMMAMXMAMAMXMSMSMSSMXXSMSXMM +SMMXASMSMSAMXMMMMSMMXAMMMMXXSAMXSAMXMXMXXSMMXXMAXAAXAXAXXAAMSMMMAAMXSMMMMSMMMAXASMMSMXAXAMMXMXMAMMXAXASXSAAAAMMXMSSSMSMXMSXXAMAXAXAASMMMMAXM +MXMSMMAAMMAMXMASXMASMSSMSAAAMMSAMAMXMASXMMASASMSSMMSXMXSMSMMAXAMSMMAMAAAMAAMXSSMMAAAMXMMMMAASXMASMSSMAXMMMMMAMXSAAAAAAAMXMAXSMMMXMMMMAAASMMA +SAMXAMSMXSAMMXAXASASMMAASMXXAXMASXMXSAMSAMMMAMAMAXASAMAMMAXMMXSXMAMASMMXSMXMAMAAXMMSSMMAAAMMXASXSAAXMAMAMAAXSMAMMMSMSMSAAMSMMAAXAMXXXSMMSXSS +SASMMMXAASXMAXMSMMASXMMMMXMMMMSAMAAXXMXAMMXMAMAMMMXSAMAMSMSASMMASXSASMAXSMSMSSSMMSAMAASXSMSXSMMXMMMSXMAXMMSAAMSXAXAAAAAMXXAASXMXASAXMXAMXMAM +SAMXSAMMMXSXSMMAXMXMASXXMAAAAAMASMMMASMSSSSMMSXMXSASAMXXXAXAMXMAMXMASMXMXAAAXAXAXMASMMMXMXSMAXSMMSXMAMSSMAXMXMAMXXMXMSMMMSSXMMSAMXMSAMXMAMAM +MAMAMASAXAMXMASMSXMXAMMAMXXMAMSMMXXMAMXAXXAAMMMAMMXSAMMAMMMSMMMAMMMMMAASMSMSMSMSMSMMMAXXXAXMMMXAAMASAMMXMAMXSXSASXXSXXAAMAMAXAXAMMXSMSSSXSAS +SAMXXAMXMAMAAMAAAASMSMSASMSMSMSMSXXMSSMMSMSMMAMMSSMMMMXMAAAAAAXASAAAMSMSAMAMAMAXXASAMXMSMXSXXXSMMSASASXMXMXAAAMAASAAAMSMMASMMMSMMMXMXAAAXSXS +XASXMSSMSSMMSMMXMMMAAAXASXAXXAMAMXXXAAAXXAMXMAMAAAXAAMASMMXSSMSXSMSXMAMMMMXMAMXSMMSXSAAXXAMMMXAMAMMSAMXSASMXMXMMMMXMSMMASXMXAMMMAXMAMMMMAMXM +SMMAXAAAAMAXXXAXSSMSMSMAMMMMMXMASMSMMSMSMSMSSSMMSSMSMSAMXSMMMAAXXXMMMASAAXMSXSASAXMASMSMMXSASAAMASMSASMMASXMXXXXAXAXAASAMXMMSMAXXMXXXAMMMSAS +AAXSMSSMSXSMXMXMXAAMAMMXMAXAAASMSAAAAAAXAAAAAMMMAMMAAMASAMAAMSMSMMSSSMMMXSAAAMAXMMAXXXMAMXSASXSMXMAMXSAMSMXMMMMSMSMSMMMAMASAXMSMSMMMSXSAAXAM +SSMMAMXAXAMXXAAMMMMMAMMXMASXMASXMXMXMMSMAMMMXMMMAXMMSMSMXSSMMAAAMAAAASAXMAMMMMXMSMMSASMSSMMMMMXMMMSMMSAMAAAXAAXAAAAAXXSAMASASAMAMXXMAAMMSMSM +AAXMSMMAMMMMSSMSASXSXSASXMMAMAMXMMMMSSMMSXSSSSMSSMMXXXMMXAXMSMSMSMMSMMMSAXXMXMAAMAXSAMAAXXAAAMSAXAAAASASMSMXXXSMSMSMSASMXXMAMMMMMMXAMSMAMAAS +MSSMXSSMSAMXAMMSMSAAXMAMMASXMASAMAAAXAAXXAXXAAAAMAMMMSAAXMSXMAXXXMAMASAXXXXMASMSSMMMAMMMSSSXMMSAMSXSMMAXXAXMSMXMAMAMMXMMMSMMMXAAAMXMSXXAMMMS +XAAAAXMASASMASAXXXMMSMSXSAMAMXXMMSMSSSMMMMMMSMMMSAAAAMXAXXXAMMMAXMAMMMMSASMSASAMAXXMXMXXXMASMMMMMXAMXXAMSMSAMXASMXSXMAAXAAAAXMSSSSMXAAXSSMXS +MMSMSSMAMXMXMMMSMMMXXAAAMXSAMMSMXAXAAAMAAAAXAXMMSXXMMMMAMSSMMMSMMMAXMAMMMAAAASASMMSSMMMMXSAAXSMAAXAMMMXXXAXMMXMMXSAMXMMXSSSMSMXAMMXSMSMAAMAX +MMMAMXMAXAAXSASAAASXMAMSMASASAAXXAMMXMMSSSMXMMSAMMSMSASAAAAXXAAXAMAXXASXXMSMMSMMMAMSAMXSAMXSMASMMSMXAMXMMAMAMXMAMMAMSSMXXXXXAMMAMAAXAMMXMMSS +SAMAMMXMSSSMXMXMXMSAAXAAMXSAMMSSMMMSAAXMAXAASXMASAAASASMSSMMMSSMSAAMSMMAMXXMASAAMSMSMXAMASAAAMMSAAASXXAMAAXASAMAMMSMAAXSMMSSMXSMMMXSASXSXAXM +MASXMAMMAMAMSMSSMMSMMMSXSAMXXSAMAAAXXSMSAMXMMASAMMMMMASMAXAAAAAAXMMMAAMMMSAMXSMMSAXSXMXSAMAMSXAXMXMAMMASXXSASMMXMAMMXXAMXAAAMMMXAXAMAMAAMSSS +MAMXSSMMMSAMXXAAAMXAAAMMXAXASMAMSMMSAXAMMSMASMMXSXMXMAMMMSSSSMMMMMXSMSMAASASXSAMXMASAMXMASAMXMMXSXMASMMMMAMAXXSXMASXSSSSMMSSMAMMSSXMSMSMXASA +SASXMXAAAMASMMSSMMSSMXSASAMXXMAMMAXMXMAMAAAXMXXAMXSAMXSAMXMAXAAXSSMSAAMMMSAMAMMSASXMMSAXAMXXXASAMXMAXAXXMXMSMXAASAMMAAAMXXXXMASAXXXXMAXSXMMM +AAXMASMXMMAMXAAAAAXMAMXMAMMXMXXSMAMMXSAMSSXSMSMAMAMAMXSXSSMMMSMMXAASXMMSXXXMAMAMMMASXMASXMSMSAMASMSMSMMSSXMAAMSMMASMMMMMMXMASASMMMMMMAMMXXAX +MSMMXMMXXMAXMSSXMMXMASXMMMSASAAMMMMMAMAXXMAXAAMAMMSAMMMXMASXAAXAMMMMAXXXSAMXXMMSXSAMXMAMAAAAAAMXMAAMAAAAMASXMMAMMMMAMMSAAXAMMMSXAAASMMMSMMMS +XMXMXAXMAMAMMMMXAMXSASXAAASAMMSMAASXSSSMAMSMSMSMSXSXSAMMXAMMMXMMAXAMAMSMMMSSXAAAXMAMXMASMMMSSSMMMSMSXMMASXMMMSMSAXMMMASAMASXMAMMMSASXMAAAAAX +MMAMSSMASMSXSAXSMXAMSSXMMMMAMAMXSXSAAAAMMMAAXAAAMXMXSASMXSSXSXAXSSMMSXMAXXAXXXMMXSAMXMAXXAAXAAMAXMXXMSMMMAXAXAASMMSAMAMAMSMAMMXMXMXMAMSSSMSS +MMMMAAMSXAAAMAMMMMMSXMXSMSAXMSSMXMXXMSMMASMSMSMSMXMASMMMAMAASXMXMAMAMAMMMMMSSMMMASASXSSSSMSMSMSXSXXMASAASMSSMMMMAAMAMXSSMAMAXXAXAMASXMAAAAMM +MSMMSSMMMMMSMMMAAMMAAMMMAMXSXXAMXMAXAXXSASAMMMAXMXMAXMAMAMMMMAMSSSMSSSMAAAXAAAAMXSAMAAXMXAAAAAXAMXMAASXMMAAMXSAMMMSMMMAASMSMSSMMASAMMMMXMMMS +MAAMMAXMAXAAAASMMSMSXMAMXMAMASXMAXAXXMASAMAMSMAMAAMMXSASXXMASMMAAAAXAASMMMMMSMMXAMAMMMMMMSMXMSMAMASMMMASMMMMAXAXXAAAAAMMXXMMAAASMMMSMASAMXAS +XSSMMSMSSSSSSMSAXMAMMSXSAMXMAXASMXMXXMAMXMAMAMASXMXMASAMXAXXSAMMXMXMMMMXAXSXMASMMSMMAAAAXASAMXMXSXSASXMMASMMSSSMMSXSMSXXMSMMMSMMAAAXXAXAMMAS +XXAAAXMXAXAAMASAMXXSAMASAMXMSMMAMASMSMASXSXXXSAXASXMASASAXSAMXMSXMMSSSMMSMMASAMAMAMMXSSMSASMMMSXMAXAMSXSAMXAAAAXAMAMXMAAAAAAMAXSMMMSMSMSMMSM +ASXMMXMMXMMMMAMMSMMXAXAMAMSMMAMXSXMAASMMMMAAMMMXAMAMASAMASAXXAMXAAAAXAAXXMSAMASASMXSAMAAMAMXMAMAMMMMMXXMASAMMSMSAMMMAXXMSSSMMMMSAASXMMAMXSAS +XXMASAMMMSMAMASAAAASMMXSXMAASXMAMAMSMMXAXMMMMAMXMSMMXMXMXMMSSSXSXMMSSSMMMAMASXSASAAMAMAMSAMAMASAAAAAAXXSAMAXAXXMASXSSMXMAMXMASASMMMAAMAMXSAM +XSXASAMXAASXSAMXSXMASXAXMXMXMXMAMXMAASMSXMAAXAMAMAXAAXAMXAMXAMXMXMXMMAASMXMXMAXAMMMXXMXXSASXSASMMSSMSMMMXSXMXMXMAMMMMAASAMASMMASMSSMMSAMXMAM +XXMASMMMSXSMMAXAMXMXAMXMAXSXMMSMXMXMMXAMSSSSSSSMSAXSASASASXMXMASXMAXSMMMAMXSMSMXMXXXSASXMMMAMAMMMMMMMAMXXMAMSASMAMMMMMMSAMASXMSMMAAAAXMXXSAM +MMMXXXMXMAMASAMXSXSXMXMSSXAAXMASAASXMMXMAXAXAMMXMMMMAMAMXXXMASXSASXXMAAXMMAMAAAASMSXMASMSSSMSMSMAAAAMAMXASAMMAMAMXSMSMMSXMXSMMMAMSMMMSSSMSAS +AAAXMSMAMXSAMXMXMASMMAAAXSMSMMASMMAAMSMMMSMMAMXXMASMXMAXXMASASXSMMSASXMMXMASMMSMSAAMMXMMXAAAAAAXSSMSMMMSXMAXMAMASMMAAMXSMMMMAASMMXXSMMAAASAX +MSXXAAMMMAMMSSXAMAMASXMMMXSAAMMMMMSMMAXAAAXASMXXSASAMSSXSSMMASXSMXAXXMASXSMSAMXMMXMASAXSXSMMMSMMXXAMXMXSXSXMMMSAXAMSMSAMAXASXMSASMMSAMSMMMMM +MAMMSMSMMXXXAXSXMASXMSMXSSMMSMAAXAAASMSMSSXAAXAAMSMAMAAAXASMXMAMMMMXXMASAMAXMAXXMAXSSMXMAMAXXAMXMMXMMSAMXAXSAMMAXSMMAMASMSMAAASXMAASXMMXSAMX +MASAMASMSSSMMXAXMASAAAMXMASAMXSMMSSMMXXMAXMSMMAMMASAMMSMSAMXAMAMASMAMXXMAMXMASMSMSMMXXASMSXMMAMSSMSAAMXMXMASASXMAMAMXMAMMAASXMMASMMMSMAASASX +SAMAMAMAAAAXXXMXMASMSMSASAMXMAMAMXMAMXMXXXMAMXMSMMAXXAMXMXMSMMASASMASXMSMMASXMXAAMSMSSMMASAASAMXAAAXXMXMXXXSAMASMMAMAMXSSXMMMASAMMSXMMMMSMMX +MMSSMASMMMMMSMXMMXSXMASASXSXMAMXXMXXXAAMSSSSMXAAMXMSSMXMSAMXSXMMMMMASXAAXXASAMMMMMASAAAMAXAXMASMMMMMASAMMSMMAMAXMAMSMSMAMSAAXXMASXSAMXMASAAA +MXAASXSASXSAXAXAXMXMMAMXSXAAMASMMSSSSXSXAAAAAMSMMMAAAMAMSASASMAXAXSMMMSMSMAMXXAAAMXMSSMMSSMMSMMAMMXMAMAXAAAMSMXSXAASAMMAMMXXSXXMMMSAMXMAMMAX +MMXXMMMAMAMAMXSMSAAAMXSAXMSXMASAAAAMMMMMMSMMMMAAAXMMMMAMMAMASXSMMMAAAAAAXMXMSMSSSSSMAXAXAAMAAXMAMMAMSSSMSXSXXXAAMXMSAMSSSSMMMMMAAAXMASMSXSAS +MSSXMAMAMXMAMMAASMMMXAMMSAMXMXSMMMSMAAXMAMAMXSSSMSSMASXSMAMXMAXAXAMMMSSSSMAMAAXXAAXMAMMMSSMXSXSASMXSAAAAMAMMAMXSASXXAMAAAAXAMAAXMSXMAMXAAMAA +AAAASMXMSXSMXAMAMAMXMXAAXASAMXSASAXXSXMSMMSXMAXAAAXMMMAMXMMMAXMSMXMXXAAAMXASMSMMMMMMSSSMMMXMAASXMASMMSMMMAMAAMMMXAASMMSMSMMSMSSXSXMMSSMMXMMM +SMMMMSAMXXAMXSXMSAMXASXMMAMAMASAMMSMMXAXAMAXXXXMMMSMMMAMASMAMMMMAASXXSMSMSXSAMXXASXMAAAMMAAMMMMAASXXAAXMSMMSMSAMXMMMSAAXXMAMXAMMXAXXAXMASAXX +XAXXAAMMSSMSAMAASMXSMMASMSMSAAMXMASAMMMSAMMMMSMMXAXAASASXMMAMXAMMMMAXMAMAMAXMAXMMSAMMSMMMXMXXAXXMAXMMSSMAAAMASMSMXXXMXMAMSAMXMSASMMMMSMAMMXS +SSMMSMXAXAAMAMMMMMASAMAMXMAXMMSMSMMAMAAXAAXAAAAMMMSMMSAMXMSSSMMSASMSMMAMAMSMMMSAXSAMAMXMASXSSSSSSMMSAAAMSSMMAMXSMMSSMMXAAMMSMMAMAMAAXAMAXMAM +MAAAXXMSSMMMAMAAAMXSAMXSAMXMAXSAMXSASMSSSMSASXSMXAAAXXAMAMAXXAMSASAAMSAMASXAAASAMSXMXSAMASAAAAXAAXAAMSMMXAAMMSASAAAAAASASXSAAMSSMASXSXSASMAS +SSMMSXMASMXSXSSSSSXSMMASMSXSSMMMMMSMSXXMMAMXMAMAMSSSMSSMXMASMSMMXMXMMAXSXSXMMXMSAMXXASXMMMMMMMMSMMSSXXMASXMMAMASMMSSMMSSXMSAMSAAXMAMXXMASXMM diff --git a/2024/day04/test b/2024/day04/test new file mode 100644 index 0000000..1f4eda2 --- /dev/null +++ b/2024/day04/test @@ -0,0 +1,10 @@ +MMMSXXMASM +MSAMXMSMSA +AMXSXMAAMM +MSAMASMSMX +XMASAMXAMM +XXAMMXXAMA +SMSMSASXSS +SAXAMASAAA +MAMMMXMMMM +MXMXAXMASX