From 2fc9d7c6e625a8c433c3b92b0629bf6865cfff5e Mon Sep 17 00:00:00 2001 From: MeerrettichMeister Date: Wed, 4 Dec 2024 15:14:59 +0100 Subject: [PATCH] day4 --- src/4/index.ts | 49 +++++++++++++++++ src/4/input.txt | 140 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 189 insertions(+) create mode 100644 src/4/index.ts create mode 100644 src/4/input.txt diff --git a/src/4/index.ts b/src/4/index.ts new file mode 100644 index 0000000..b86a734 --- /dev/null +++ b/src/4/index.ts @@ -0,0 +1,49 @@ +import fs from "fs" + +const content = fs.readFileSync('input.txt', 'utf-8'); +const wordGrid = content.split("\r\n").map(word => word.split('')); +const xmas = "XMAS"; +const samx = "SAMX"; +let count = 0; +for (let i = 0; i < wordGrid.length; i++) { + for (let j = 0; j < wordGrid[i].length; j++) { + if (wordGrid[i].length - j > 3) { + const hor = wordGrid[i][j] + wordGrid[i][j + 1] + wordGrid[i][j + 2] + wordGrid[i][j + 3] + if (hor === xmas || hor === samx) { + count++; + } + } + if (wordGrid.length - i > 3) { + const vert = wordGrid[i][j] + wordGrid[i + 1][j] + wordGrid[i + 2][j] + wordGrid[i + 3][j] + if (vert === xmas || vert === samx) { + count++; + } + } + if (wordGrid.length - i > 3 && wordGrid[i].length - j > 3) { + const diag = wordGrid[i][j] + wordGrid[i + 1][j + 1] + wordGrid[i + 2][j + 2] + wordGrid[i + 3][j + 3] + const antiDiag = wordGrid[i][j + 3] + wordGrid[i + 1][j + 2] + wordGrid[i + 2][j + 1] + wordGrid[i + 3][j] + if (diag === xmas || diag === samx) { + count++; + } + if (antiDiag === xmas || antiDiag === samx) { + count++; + } + } + + } +} +console.log(count); + +const mas = "MAS" +const sam = "SAM" +let count2 = 0; +for (let i = 0; i < wordGrid.length - 2; i++) { + for (let j = 0; j < wordGrid[i].length - 2; j++) { + const diag = wordGrid[i][j] + wordGrid[i + 1][j + 1] + wordGrid[i + 2][j + 2] + const antiDiag = wordGrid[i + 2][j] + wordGrid[i + 1][j + 1] + wordGrid[i][j + 2] + if ((diag === mas || diag === sam) && (antiDiag === mas || antiDiag === sam)) { + count2++; + } + } +} +console.log(count2) \ No newline at end of file diff --git a/src/4/input.txt b/src/4/input.txt new file mode 100644 index 0000000..97c11e0 --- /dev/null +++ b/src/4/input.txt @@ -0,0 +1,140 @@ +XMASAXMASXXMMAMAXAXXXMSASXSXSXMAMMAMXMASASXMXMASMSMSSMMSXMASXMSMXMASMMSSMMMSMMAMMSMMMMMSXMAXMSMMMMMSAXAXXXMASAMXXSXMXSSSMSMSXMAMXXXSAXSMSAMX +MSMMMMSMXMXSSSSSSMSMSMSASAAXXASAXXMAXSMSAMMSAMSXAAAAXSAMXMASXMXMASAMXXAAAXMAMMAAMAMXAASAMMMSAMXMAASMSXMSMSMXMASMXMASXMAAXAAAXXSSSMMAMMXAXSXX +AAAAAAAMMSAAMAAAXAAAAAMMMMMXMXMASXMSASXMAMAMASAMSMMMXMXSAMXSXMASXSAMXMSSMMSASXXSSMMSAMMASAAAAXXXSMSAAMXAAMSXSAMASAAMAMAMSMSMSMAAASAAXAMXMMMS +SSSMMSSSSMSSMMMMMSMXMMMAAXXAXAMXMXAMASMSMMMSMMMXASAMXSMSXSAMAXAMAMASAMXAXXMAMXAAMXXMXMMAMMSSSMXXXAMXMAMMSMAXMASXXMASMMAXAAAXAAMMMMSXXSAMXAAA +XMAXMXXMAAAXXXAMXXSMMMSMMSAMXMMMMMXMXMAAMAASAMXSAXXMAXAMXMMSSMSSSSMMASXMMMMAMSSMSMMAAXMASXAAAAASMMMSXSXAXMAMSAMXSSMSXMAMMXMSMSSXSAMXAAXXSMSS +XMASMMASMMMSSSMMSAMXSAAAAAXMAMASAMASXMSMSMXSASXXSMSMSSSSXXAAAAAAXAASAMASXXMMXAAXXAMMASAMXMMMMSMXAAXMAMMMMMXMMASAAAXMASXMSMAMXAAXMASAMXMMAAAM +XAXAAAAXAXAAAAMSMAMAMSSMMSMSMSASASASAXAAXMASAMMAMSXMAAAXMMMSMMMMSSMMXSXMMAMSMMSMSXMMAAAMMXSAAAMSMMSMAMAMAMASXMMMSMMMAMAAAAAMMMSMMAMMSAMXMMMS +MSXSMMXSXMMSSMMMSXMXMAMAAAXXAMAMAMXXAMXSXXAMMAMAMSXMMMMMMMXAXXMAXMASXMMASAMAXXAMXAXMXSAMMASMSXMXMAXXAXAMAMXSAMXXAXXMMMMMMSMSAXMAMSSXSAMXSAMA +AAAMXSASASMAXAAAMXSSMMSMMSSMSMSMSSXMXAMMMMXSSXMSSMAXAAAAAXXMSMXXXXAXAASMSASASMSXSSMMMMXXMASXMXSMMXSXXMMXMMAMAMXSAMXSSXMAAAXSMSMSAAAXSAMASASM +SXXMAMASAMMMSSMMSAXAMXAMMXMAAAAXXAASMXSASXAMAMXMAMAMXSSSXSAXAXMMMMMSSMMASXMXSAAASMSAAMXSMASAMAAASXMXSAMAXMSMSXMASXMASAMMMSXXXAAMMXMAXAMXSAMX +MMMMXMXMXMXXAMXAMXXSMSMXSAMSMSMXMXMMAAMAMMMSAMXMAXMXAMXAASMMMSAAAAAXAXMXMASXMMMSMAXMMSAXMASAMXSXMAAASAMMSAMAAXXAXXXAXXMAXMMXSXXMXSMXSAMAMAMS +XAAMAMAMSAMAAAMSSSMAAXAAMXMAXXXXSMMMMMMSMAXXXMMSSMMSMMMMMMAAAXXMXMXSMMMXXMMXMXMAMMMXAMMXSASAMMMMSMMMXAMXAAMAMMMSMSMMMAXAXAMXXMSMXXAXMASMSAMX +XSMSAXASAASXMMAMAASAMXXMSMSMSXMAXAAMAMAMXMSSXSAAAXAAXAAMXSSMSSXSASXSXAMAMXSXMASXSMSMASAAMAMAMAXAAMAXXAMAMAMAXXXAAMASAMMMSMSMMSAMXMXMSAMXSXSA +MMASMSMSMMAAAASMMMMMXMASAAAAMMMASXMSXMASAMAAASMSSMSSSMMAMXXAXAMXAXAMXSMXSAAASASAAAMSAMMMSASMMSMSMSASMSMMMAMMXXSAMSAMAMAXAMAAMSASXSAAMASAMXXM +MMAMAAAXAMSSMMXASXSXASXMMSMXMAXXAXXAAXASAMMMMMXXAAXXAXAAMXSXMXMMSMSAMXAAAMSMMAMAMMMMXSAMMXMXAAXMXMMSXAAAXMMMAASXMMASASMSSSSSMMAMASMXSXMASMMM +XMSMSMSMSAAXXASXMASMMMAXMAXMSMSXAXMMSMASAMSSXMSMSMMSAMSSMAMAMXMAMMAAAMMMXMAXASMAXAXMMSMSMSXMXMXMAMAMXSMMXSAMMXSAMMMMAMAAAAMAMMSMAMAASAXAMAAM +ASXAAMAAXMSMSAMXMXMAMMSMMASXAAAMSMAAAMMMAMAAAAMAAAXXAXAMMAMAMAMASASMSXAXXXXXSASXSSMMAMXMASMMMXXSMMSMMXXAASXMMAMAMXSMSMMMMMXAMXMMAMMMXAMSSSMS +MMMSMSMXMXAAAAMXMASXMAXAMAMMMMMAAASMSXXASMSSMMXSSMMMSMMMSASASXMASAMMMMXAMXMMXMAXMAXSSSSMAMAASMMXAAMASMMMMSXAMASMMAMAMMXXXXMSSMXSSMMSMSAMAAXA +MAAMAXMAMSAXSAMASMSAMAMAMXXAXMSSMXMAMASMMAMXMXMAAAAAXAAASMSXSXMXMMMASASXXSMAXXMSMMMSAAXMSMSMSAMSMMSXMAXMAXMMXMAASXMAMXXXXXAXAMXAAMASAXSXXMAS +SASMXMASAASAMXXASXMMMMSSMMXSMMAAXSMASAXXMXMXMAMXSXMSXMAXSXSASXSAAAXMMAXMASXSAXXAAXXMMMMXAAAAXMMAAAXAMSSSSSSMAMSXMASMSASMMMMSSMMSMMAMXMMXMXMX +AAXMXMAMXAMMSSSXXXMSSMAMAMAXAMMSAMMAMMMXXASMSASMMXSAMXMASAMAMASMSMSSMXMSXSMXAXMSMMXXAAASMSMSMSSSSMSSMXMAXAAAXMXASASASMAAAMXAXAAXXMAXAXMASAMX +XXAAAMXSXSXAAAAMMMXAAMXSAMMSAMXMAXMASMAXSASASASAMXMAMXSASMMMMAMXMASAAMAMAMXMXMAMASXSMSMMAMAAXXMAXAAMAXMXMSMMXSXXMASAMXSXMMMMSMMXMSSSSXSXXAXX +MMMSMSXSAXMMMSMAAMMMSMAMXMASAMXSAMXMXMAMMXMXMAMXMASAMXAAMXMAMAMXMMMMSXMMAMMSAXXSASAAXMXMAMMMXSMMMMMXSMXMAMAMASAMMAMAMMXXMXAMAMAXMAXXAASMSSMM +ASMMAMAMXMAAMXXSMMXMAMMSSXASAMXMXMAXMMXSMMMAMXMASXSMSAMXSXSASAXXXAAXMAXSAMASASAMXMMMMSASMSASMXASXXSAAMXXMXAMAMXXMAMXMAXMAMMXASXSMMSMSMSAAXAM +MAASAMSMSSSMSXXXMAAMASMAMMAMXMAMAMMSAMXMAXSASMSAMMMXMXXXAASASAMSSSMSMSMSAMAMSMXSAMXMMSAMASASXMSMAAMSMMMMMSAMXSSSSMSMMMSSMXSXMSMXAXXAMAMMMSSM +XMXMAMXAAAXMAMXXMXMSAXMAMXMASMSSSSXSXMASMMMXMAAAAASASMSMMXMMMMMAAAASAMMSMMMSXXAXASMSAMAMMMXMASAMMMMMXMMSAAXXASAAMAAXAAAAMASAMXXMXMXSMAMMXAXM +MXXSXMMMMMMMASMASAMMXMSMSXAXXAXAAXAMAXASASMMMSSMXASASAAMXXAXAAXMMMMMAMASXXXAMMMSMMAMMSAMAMASMMMXAAAXXXAAAMSMMSMMMSMSMMSXMASAMASXMXAAXAXXMASM +SSMMAMXMAMAMAXXAMXSXMAAASMMMMMMMMMMSSMMSAMAAAAAMSMMMMXMSSSMMMXSAMXXXAMAXMAMXMSAAAMMMASASXSASXXASMSSSXMMSMMXAAXAXAAXAXMMXMXSAMAMAMMMSSSSXSAMX +AMAMMXSXMASXMSMXSXMXAMMMMAAAAMMMMXXAAAASMMSMMSSMAMXSXMXSAAXXXAMXMASMXMASXMMAMMSMSMSMMSAMXMAXXAXMAXMAAXXMXMXSXSMMSMSSSXSASXSXMAXAMAXAAMSAMXSX +MSAMSMSASAMAMMMAAAMAXXAAMSMSXXAAAMMSSMMMAAXMXXAXMSAMASMMSMMMMMSXMAMAAMMMAAMMSAAXAMXAXMXMSMAMSMMMMMMXMMMMMSAMMSAAAAAXMAMMMAMASXSSSSSMSXSXSASX +XMAMSAMXMASXMASASMMAXSSXMAAAMSSMXAMAMXSXMMSSSSMMXMASAMAAXXAXAAMAMASMXSASXMMXMAXSMXSAMXSMMMXMAAAXSAXAMXAAAMAXAXMMMMMSSSXSMAMAMMXAAXXXAAMXMASX +MSSMMMMXSXMASASAMASXXMAMSMMMMAXSMSAMXASAMAXXAAXAXSMMMSMMMSSSSMSAMASAASASAMXMXMXXXXSASASAAXAMSMMXSMSMXXXMXXXMMXAMXMAXAAAMSSSXSXMMMMMMMSMXMXMX +MAMASAMXMASAMAXMMAMXAMSMMXXSMMSMXMAXMMSAMXSMXMMMXXAAASXMMXMAMAMMMAMMMMAMMMAMAMMMMMSAMASMMSSMXASMXMAXXMASMXMXSAMXSMSMMMSMAMMMMASAAAAAXAMAMAMX +MMSAMAMAMMMSMAMSMSSSXXMASXMAAXMASXSMSXSMMXXMXAAXXXMMXMASMMMSMAMXXAXAMXMAMMXMASAAAAMXMAMAXMXAMAXMASASXSMXAASASMSXMAXSXXXMASAMSAMXSSSXSASMSASX +SAMMSASMXXAXMXSXAXAXMASXMAMXAMXAMXMASAMMXMAXSSMSSMSMSSSMSAAAMAMXXXSSSXMASMMSASAMMSSXSAMMMMMSMMMSXSAXXAAMSMMAMXMAMXMXSXSSMMAMMMMXMAAASAAASAMX +XAMXSASASMAXXMMMMMMMAXMAMXMASMMXSXMMMXMAAMSAMXXMASAAAMMASMSMSMSMMMMAAXMASAXAMXAXSXMAXMXXMAAXAAXMAMXMSMMMMAMMMSSMMSSMXMAAMMSMSASAMMMMMMMMMAMX +SAMAMMMAMXMMSXMAAAXMMXMSMSXMXAMXXMXXXMASXSAAMASAMXMMMSMMMXAXAAAMAAXMMXMMSMMXMMMMXAMSMMMSSMSSSMSSMXAXXAMMSAMXXAAAAAXAAASXMAAASASXSAMXXXSMMXMX +SXMMASMSMAMAXASMSSSSXMMAAXAMXAXASASAXMXXMAXMMASMXSXXASAMSMMSMMMSMMSXAXSXSXMSMSSSSXMAAAAMAAAAAMAAXSAMMXSASXSAMSSMMMMMXXXXMMMXMMMASMMMXMXMASMM +SAMXXMAAXXMAMMMAAAAAASXSMMAMXMMMMXMMMMAASASXSXXMASMMMMAMSAMXAXMMMMMMMMSAMXXSAAXAAASXSMSMMMMSMMSSMMXMAXMASAMMAXXXXSASMXSXSAMAMAMAMAASASAMXSAA +SMMSXMMMXSXSXXMMMMMMMMAAMSSMAXAXSASASMAXSAMAAMXMAXAASXMMSXMMMMAAAMAMXAMAMMXMMMSMSMMXMXMXSXXXXXXAAXXMSSMAMMMAXXMMMMASAASASASXSXMXSSMSASAMAMMM +MAAMMMAXMSAMSXXMAMSSSMMMMAASXMMMSASASMMMMAMXMXSMMMMMSAAASMSXSAMSMSXSMMSMAAAMAMXAAAXXSAMXMAMXMMSSMMXMMAMMSSMSMXAAMMMMMMMAXMMAMMMAXMASAMXXSSSS +SMSSMSASXMAMAMXSASXAXAMXMSXSMXSAMXMMMASXSXMMXMSASAMASXMMMAXAXSXMXMAXMAAMMSXSASMSMSMMMMMAMMAAAAMAAXMXSMMXAMXAASMMSXXAXMMSMXMAMAMASMMMMSXMMAAA +MXMAASXSXSAMMSASXSMSMMXSXMASAASXSMSXMASAMMSAAAMAMAMASXMSMSMSMMMXAMMMMSMSXMAMXXAAAAXXAXSASAMSSSSSSMSAMXSMXSMMMMAAMMSMSMAAAXXXMMXMXAAAASMMMMMM +AASMMMXMASXSXMMSAMXMXSAMASAMMMSASAMXSXMMMASXMMXASXMAMAXMAXAAMXAXSASMAMASAXMSASMMMSASAXMASMXMAAAAXAMASAMMAMAXSXMAMXMAAMXSSSSMMSAMMSMMMSASXSAM +SMSASMAMMMASAMAMAXAMMMASMMASXXMAMXMASAMXMMXXMAMMMMMSSXMMMMSMSMSMXAMAXMASAMMMMSXAAXAMXSMMMMAMMMMMMXSMMASMAMXXMAXMXSMSMSXXAAXAASAMAXXMXSMMAXMM +MASAMMAXAXMSMMAMSSMMASMMXSXMMXMXMSMXSMMMMMMSMSXXAMAMAXMAMMAAAAMMMAMSXMXMXSXAMSMMMASMASMMASXMAXAXAXMAMXMMSSMXXMASAMMMAAXMMMMMMXXMAXAAAMXMMMSA +MAMAMSMSMSAMXMASAAASXSAMASASXXSAAXMMMAAAAMAMAMXSXMASMMSSSSMXMSMMXAMMAMXXMAMASXAXAAMMXSASXMAXSSMMXMAMSASAMXMSAMXMASAMMMMAAMSMSMMMSSSMSSSXAAMX +MMSXMAXAAAMAASXMMSMMAXAMASMMAXSMXASASXMSMXAMMMMAASASXXXAAMAASMMXSASMMMASMAXMMMMMMMSSMSAMXMMMMAAAXSAMSAMAMAMMASAAAMASMAASMSAAAAAAXXMAXXMXMXMM +SAXMSMSMSMXSXSAMXXAMXSSMXMAMAMXMSASMSAAAASXSMAXMMMAXXMMMMMSMSAAXSMMAXMXAMXSXMASASAMAMMAMXASMSSMMXMAMMXMAMMXSAMXMMSXMMMXMXSMSMMMMSAMMMAAMSMSA +MXMXAAXXAXXAMXASAMAMXXXAAMAXAAAAMAMMMMMMXMAAXXSMSASMMSAXXMXASMMXSASMSMSMXXMXSXSAMXMAMSMMSXAAAXMSSSMMMSSXASAMXSXMASMMXXMMAMXXMSSXSXMASXXXAAMX +XMSSMSMSMSXXASMMMSSSMMSSMXMMSMMMXXSMSMASXMSMMMMXAAAAASAMXMMXMXMASAMAAAAMMAMXMMMXMMSMMSAMXXMMMMSAMAAXXAASMMAAAXAMASAMXXXMMMSXAXMAXMSXSXMMMSMS +MMAMAMMXMXMXMMXXXAAAAXMXMASMMXSXMAXAAMAMMMMASAMAMXMMMSSXAXMSMSMAXAMSMSMSMXMAXAAAMAAMXSAMMAXSAMXMSSMMMAXMXSXMSSMMAMMMASXSXAXMMMMXMXMXMMSAMAAA +AMASAMMAMAMXMMAMMSMSAMXSSMXAXASAMAMSMMASAAMSXSMSSMXMAXMSSSXAAAMSSMMAMAAXMAMMSMSSSSXMAMAMAAMSAMMXMAMXSSXAXMXXMAAAAXSMMAAMMMMAASMMSXMASAMASMSM +MSXSASXXSASAXMASXXAMXSAMAMSMMASXMXXXAXMSMSXXAXSAMXAMSXMXMSXMSMSMAASXMMXMMASMAAAAAXAMSSMMSAMXAMAAXXMASMXMSMMMSAMXMMXAMMAMAAXSMSXAMXSSSMSMMXMX +ASMSMMAXMASMXMXXAMXMAMXXAMAXMXMAMMMSSMMXAMMMMMMXSSMXXASMMSXMXMAMMMMAMSXXMAXXSMMMMMXMAAXAMXMSXMSMSSMXSAAASAAXSAMXSXSXMXXMXXMAMXMSMASAMXAAXAMA +MMASAMXXMAMXMSSSMAAMXSMSSSXSXSSSMAAAAAXMAMMAAAMAMMMAMMMASXAXMSASAMXSASXXMSSMMAXXAXSMSSMMSMXAMXMAAXMASMMASMMXMAMSAAMXMAMSASXMMAAAMSMMMSSSMMSS +XMSMXMMAMASXMAAAXSXSASXAMXAMMMAMXMMSSMMMMMASMMSSMMMSSSSSMMXXASAXXSAMMMAXMXAASMMSSSSXXXMSAXAMMAMMMSMMMXMXMAMASMMAMMMAMAXMASAXSXXXSMASXXAAAXAM +MSMMSAMXSASAMMXMMXAXAXAMXMAMAMAMXSXXAMXAMXAMAMAXAAAMAMXAMSASMMAMXMXSAMXMXSAMXXAMMAMSMXMSASMSMMMSAMAMSXSXSMMAMMXMAXXXMXMMMMXMMAMSXMAMXASMMMMS +SXSASXSAMASMMSAXXMMMSMMXAAMXSMMSAMAXMSSMMMMMXMMMXMXMAMMSMSAMXXASXAASAMMMXXAMSMXMMXMASAASAMAAMSAMXSAMXXSASAMAAMMXSASMMSASAAAMMAMAAMXXXAMXMASX +SAMXMAMMXXXXAMXXXMAAXAXXMMSAMAAMMSMMXXXXAXSASMSSSSXSASXXAMAMXSAXMMMSXMAXAMXMXAMXMAXXMXMMAMXMSMXMAMMSMAMAMXMASXSAMMMAAMAMXMMSAASMAMASMMSMMSSX +MAMSMSMASXSMSSSSMSMSSSMSMAMASXMXMAMASAMSMMAASAAAAMXSAXAMXMMAXMMMXAAXASMSSXAMMAAMXSSMMSXSAMMSXXSMMSAAMMMSMSAAMAMXSXMMSSMSSMAXMMSXMMASMXAMMAMX +SSMSAXMXSAAAASAAXMAMMAAAMAMAMAAXSASMMAXAXXMMMMMMMMMMMMSMMXXMXAMMXMSSXMAAMSMMAMSAAXAMXAAMXXXMAAXMSXXMXAAMAMMMMAMAMXMAMAMAAMSMSXSASMASASASMASX +XMASMMSXMMMMMMMMMMMMSMMMSXSXSMMMSXMXSXMASMXMXXMXMXMASAMXAMSMSAMXXSAXAMMMMAMSXXAMXSAMXMSMMMSMMMXXXXMSSMMMAMASXMSASAMASXMXXMXAMASAMMAXMMXMASXX +AMMMMAXAMXMSXSXMXXMASXSAMXSXAMAAXMMXAXMAMAAAMXXXMASMMAMSSXMAMXMXXAAMMMAXSAXAMXSAMSAMXAAAAAAXAXMXXAXAAAMSMMAMAASAXXSXSXSMSMMAMXMAXMAMXSASMXAS +XXSAMMSMMAMMAMMMSXMMXAMXXAXMMSXSAMXSSXMAXSXMASMAMAMMMMMAMMSSMMSSSMSMMSMXSMSMMMMAMMAAXSSSMSSXSSMAXSMSXMMSXMASMMMSMMMAMAMAAMXAMXMASAXXASASAMAS +SXSAMASASASMAMXAAXSXSSMSSSMSXAMXMSAAXMAXMAMMAAMAMXSMSMMASAAAAXAAMAAMXAXXXAXXAASAMXSAMXAXMMMMXAMXSXAXXSXSAMXMAXAMXAMAMAMSMXMAMAMMSASMAMAMMMAM +AASXMXSASAMMAXMMXXXAXXAAAMAMXSAAMXAMMSAMMSMMXSSXSAAMAMSMMMSSMMMSMMMSSXSMMMMSSXSMSAMMSAMXSXMMSAMXXMXMXMAMAMSXSMMSSXSXMXXXASXXSASXMAMMAMXMAMAS +MMMASXMMMMMMSSMMSSMMMMMMSMMMAXSMSAXXAMASAAXXAXMASMMMMAASAAXMXXMAMXSXXAAXAAAMXAMXSAMASAXMSAMXSXMSMXAMMMAMAMXAMXMAXMAMXSAMXMAMAMXMMAMMXMXXASAX +XASMMAAAAAAAXAMAAAXMAAXAXMSMSMMMMMSMXSMMMSXMXSMXMAMSXSASMSXSMSSSSMXAMSMSSSMMMXMASAMASASXSAMAMAMMMSMMAXAMSAMXMAMAMXASXSXSAMMXAXXMXAMMASMMXMMS +SMSXSSMMSMMMSAMMXSMMSSMMXMAAMXAAAXAXXMASXMXSXMMAMAMXAMASAXMMAXXMXMMXMXXXAMAAASMXMAMMSAMASXMAMSASAMAAMXMSMXAXMSMSXSASXXAMAMXMMSMMSMMSASMMAAAS +MXSAMXAAMAMAXXMSSMAAAAAXMSMSMSSMSXAAMXXSAMAMMAAASAMMMMAMAMXMSMXAAXXXMMASASXMMXMXMAMXMAMXMASASXMMASMXSAMAMSSMMAAXMMASXSMSSMMAXMAMXXAMMSASXSMS +XAMAMMMMSXMAMSMXASMMSXMMXAAAXXAAMMMMSSMMAMXMSXAXXMXAXMXMXMASAAMSXSMAAAAMAXMSXMMASASASMMXSXMXSAXMXMAASMXXXAAASMMMXMAMMMAAXAMSXSSMXSMSASAMXAXX +MSSSMSAMXMMSAMXSMMSMXXSXSMSMMSMMMAMXMAASAMAMAMXXAMSSMMSMMSXSMSAAAAXSMMXMXMAMAAXMXXSASXMASMMXSAMXSMMMSXMSMSSMMSSMXMASAMMMMMMMXMAMAMAMAMMAMMMM +XAAAAAAMAXMASMAMMASXMXMASAXMAAAMSMSASMMMASXSMAMMSMAAAAXAXSXSXXMMXSAMXSMSMSMSSMSMSXMAMAMMSAMASAMXAAXXMAXAAAMAAXMXMMMSXSAAASMSASMMASAMXMMAMXAX +MMSMMMSMMSSXMMASMMSAMMMMMMMMXSMMAASASXMSAMAMXSAAXMSSMMXXMSASMSXXMMASAMAAAAXXAMAAAAMAXXSASMMMSAMSSMMSMSAMMMSMMXSAMAASMSMSMSASXMMSMSASMMSMSSXS +AAAASXAAAAAXXMMMXASXMAMAAAMXMXXSXXMAMAXMMSAMMXMXSXAXMMXSAMAMAMMSMSAMXSSMSMSXMSSSMXSXXXMXXXXXSXMMAAXAAXXXAXAAXASMSMMSAMAXAMXMASXAASAMMMAAMMMX +MXXMMXSMMMSSSSSSSMXMSASMSSMSASMMSAMXMSMAAMAMAXMASMSXSAAMXMAMXMASAMAMXAMXAAXXXAAXXMMXXSAXSASXMMSSSMMMXMSSSSSSMMSAAMSMMMAMXMASXMSMMMXMASMSMSSX +SXSSSXASXMAMAASAMXAXSASAXAAMXMAXXXMXAXSMMXMMSXMMXAMAMMXSASXSXMASMSAMXMMSASXMMMSMMAAXMASMAMXAAAAAAMXMXSAXMAMXAXMMMSAMXMMSSSXMAXMXSMXSASAAAAMM +MAAAMAMAXMAMMMMSMMMMMXMMMMMMASXMXSSMXMAXSAMMXASXMAMXMAASAMASAMXXXMXSAAXAMXASAAXAXMXMAMMXXXSSMMSSXMAAXMAMMXMSMMMAXSMSAXAAXXMXSMSAMXASAMXMMMSM +MMMAMAXMXSSSSMSAMXXSAMXMASXSXSASAAXAXAXASXSAXAMAMMMSSMXSAMSMMSXMXXAMMSMAAMXMASMSMMXASXMMSMMAXMXMASMSMSSMMAMXASXMMSXSMSMMSMSAMAMASMXSXSXXMASX +XSSSSSSXMAAAAXSASMXMASXSASMMMSAMMSMSMSSXMAMXSSSXMAAXXMASXMXAAAASXMXSXMXMMMSAMXAAAXSMMAXAMXXSMSSMXMAXAAMAXASXMMAMSXAXAXAMMAMAMAMXSMXMAMAMXAMX +AXXAAAXXAMMMMMSXMMMSMSAMXSAXAMXMAMAXAXSAMXMAAXAASMMSAMXSASMMMSSMAXAAMSAMXMMASMMXSAAASAMXSSXMASAXAMXMMMSXSMSAXSAMAMSMSSMMMMMSMMMAXXAMAMSSSMXS +SXSMMMMSMXAAXMXMMAAAMSMASXMMXSAXXMXMSMSXMASMMMSMMAAXXMAXMMAMAMAMSMXSMSXXAXMAMAAAXMSAMXXAAXAMSXMASMSSMAMXMAMMMSMSMAAAAXXAXXAAMXMAMXXSMSAAAMAM +XAXXXAAAMSXSMSASMMSXXXXMXMASXSASMXMAXAXAXXXMXAMMXMMXMSASASAMASMSXAMXAMASXMMASMMMMXXMMAMSMXXMMAMXXXAAMXMAMSMSASXAXSMSMMXSSMSXMAMSSMASMMMSMMMS +XSMMMMMSXSAAASASAMMXMXMMAXSAMXXMMMASMSMXMSXMMSSMSXSAXXAAMSASXSMSMSMMAMMMSAMAXAAXXAMAMSMAASXXMASXMMSSMSMXMXAMAMSXXAXMAXAMAAMSSXSAAMAMAAAAAAAM +AMASAMMXAMMMMMASAMXASAMSSSXXMMASASMMAXXXMXMAAAXAAASXSMXMASXMXSXXAMXMAMXAXMMXSSMMMXMAMAMMXMAAXSMMSAAAAXXMASMMSMAMXMXSAMXSAMAAMMSMSMXMMMSSSMSS +XSAMASXMMMXAAMMSMMSXMAXAMMAMXSMSASASMSMSMAAMMSMMMXMAXAMXASMMAMXMSMMSMXMSMXMXAXXMASMMSMSSSMSSMAAMMMSSMMMMAMXAMMXSAXXXMAMXMMMASAMXMMXSAAXXXMAX +XMASMMAAMXSSMXAXAAXMSMMMSSSMMSAMAMAMAXAAXXMXSAAAXAMXMAXMMSAXAMAAMXMASAAXASAMXMXMASAXSAMXAMAMMMMMAAXXASXAMXMSSXAXMSXSXSASXSSXMAMAAAAMSMSSMSMM +SXXMAXSSSXAAAMSMMASXAMAXXMAAAMXMAMXMAMSSMSSXMASXMSAAXMASMSXMASMSSXSASMSMAMMMAMXMAXMMSAXSXMASAXMXMSXSAMXXMXXAAMSSXXAMAAXAAXXMXSMMMMXXXMAXASAS +SXSSSMXAMMMMMMMAMAAMMSMSMSSMMSSSSSSMMXMAAAAAXMAMAMMSMMMMAXMSAMXAAAMAMMXMAMAMMSAMAMSASXMMSSXSMSSXXAXXMAMAMXMMSAXMXMAMASMMSMMMAXAMXXMAMAAMMMAM +SAMAMAMAMXSXAAXAMXSXXMMMAAXAMXAAAAXXMAMMMMSSSMSMXMAAAAAMMMXMASMMMMMXMSXSSSSMASASASMASXMAAMMSXAMMMSSSSMMMAMAXMXXMAMXMMXAXXAXXMSAMAMMAXXMSXMAM +MAMAMXXASMSMMMSSMMXMXSAMSMSSMMMMMMMSSMSXMXAAXXMMMMSSSSXSXMMSAMAXAMXMMSAMXAAMXMAMMSMAMAMXMSAMMMXAAMAMAAAMSMSMSMSMSMMAMSMMSMMMXSXMASMSMAAAXSAS +MAMAXMMMSMMASMAMAXXAMXMMXMAXASXSXAAMAAAAMMMSMMAXAXAMXAXSMMAMASMMSSMAAMAMMSMMAMMMAXMASMMSXMASMMSMXSASMMMXMAAAAAAAAAAMXAMXAXXMAMXMXAAAMXMMMXAS +SSSSMSAXMASXMMASMMMSMAMAXSMMXMAMMMSMMMSSMAMAMMMASMSSMXMMAMMSXMAXAAMSMSMMAXASXMAMSSSMSAAMAXSMMXAAAMXSAMXAMXMSMSMSSSMMSSSSMXSAMXXAMMSMMSSMMMXM +AAAXASASMXMAXMXMXAMAMAXAAAXMSSMMXSAXAAXAMAMAMAXXXMAXMXXXAMXAXSXMAMMAAAAMASAMMSSSMAXAXMMXSMMAMSMMMSMSMMMXSXMAAXXXMMAXAAXMAAMMAMSXXXAAXAAASXSA +MMMMXMASMMSMMSXMSSSSSSSMXSAMAAAAXSASMSSMSSSSSXSAMMSSMMSSMSXMMMSMSASXSMSMASAXXAMAMMMSMXMAXAMXMAAAXAXMAMSAXASMSMXAMMMMMSMXSMSMAXAMXSMXMXSMMAAS +XMXSAMASAAXAXSAMXMAMAXXMMMAMSSMXMSXMXXXAAAXMAMMAMAMAAAAAAAXXAAAXMASAMAXMMSAMMASXMXAAAAXAMAMMSMSMMSSXMAMMSMMXMASMSAXAAAXMAMXMSSSMMXMASXMXMAMX +AMASXMASMMSXMMAMMXMMMMSXMXMMXAMXXXAMXSMMMSMMMMMAMXSSMMSSMMMMMMMXMMMAMSXSMMMMSMMMSMMXXMMXMAMXSAAAMASXMAAXAAAMMAMASMSMXXXAMMMAMXMAMSMASAXMASXM +XMASAMASAMXMMSSMAAXAAAMAMASXMSXSSMMMAXXMAMAXAMMMSAMXXAMXAAXXSASXAMMXMXAMXAXXMAAAAMXSXSASMMSAMMMSAASXSMSSMMSMMASAMXXAASMMXSXMXMMAMXMSSXMAAMAA +SMMSXMXSXMAXXAXXMASXSSSMMAMAAMAMXAAMMSSMSSXSXSAAMXSMMSSSSMXASAMSAMSMMMAMSMMMSSMMSSXAAASMAMMMMSAXMXMAAXXAAAMASXSXSXMMMSAMASAXAMSXSAMXMMAMASAM +MAMSMSMSASXSMMSSXMAMXAXASXSMMMMMMXMSXAXAMXASASMMSMSXAMAMXSSXMAMMMXXAMXAMASAXAMXAMAMMSMMSXMMXAMAXMXMMMASMMMSAMASAMASAMXMMASAMXMAXXMSAXSAMXXXX +SAMXAAASAMXXAAAXSAMXMMMMAAAXSXMASXMMMSXSAMXMAXMASASMSMAMAXMXXMXXMASXMSXSXSXSASMXSAMXXAMXMSMMXXMMSAAAMXMASXMAMXSASAMAXMXMASXMAMMSMMMAXAXMXSMS +SASMSMXMMMMSMMMSAMXAMAAMMSMMMAMAMAAXAXSXXXXMXMSAMAMAMXMMSSMAXXXSMASAAAXAXMASAMAXMXMXXAMASAMXSAAAXXSMSASXMASXXMSAMMSMMSAXXSASXSAAXAMSMMMMXXAA +SAMMXSSMMAAAMSMMASXMMSSSXAAAXAMMSSMMSSMMSAMMSAMXSSMAMAAAXAMASAAAMAXMMMMMXSAMAMSMMAMMMXSMSXMASMMMSMMMSMXASMMMMAMXMMAXXSMSXSMMAMMSMMSAAXSXSMSM +SAMAAXMASMMMMXAMAXXSAAMAMSSMSSXXAMXMXMAAMASAMXSMMAMAMXMMXMMASMXMMMSMMASAMMASAMXAMASASAAMMMMAMAAAMAAAXMSMMAASMMMMMMASXSAXMXAXAXAXAMXMSMMAXAAX +MAXMAMXXMMASASMMSMAMMSMSAMAMAMMMSMMXAXMMSAMXSAXAXXXSSMSXSXMMXXMXAMAAMAXXASAMXMXSMMXAXSSMXAMAMSMMMSMSMXAMMXMAAXSASMAMAMAMASMSMSMSAMXXAXMAMSMS +SXMMSSMSASAMAXXAAMAMMXAMXSAMAMMAMAMSSMMAMXSAMMSSMSMAAAXAAMXSXMASXSSSMSSMMMXXASAXASMSMMMXSXMAXXASAMMAMSAXAMXMSMMAMMAMXMAXXXXAAAXSAMXSMSSSXMAX +SASAAMASXMASAXMSMSXSXMXMASXMASMASAMSASMASAMXSXMXAAMMMMMMMSAMAMAMXMXAMAAXSXMXXMASAMAAXXSASMMSXSAMMXMAXXAMSXSAXXMXMSXSASMSSMSMMMMMXMAAAAAMMMSM +SAMMSMMMAAXMMSXMAMMMXMSMMMASASMAMAMMAMSAMMSAMXMMSMMXMAMMAMXSAMASXXXMMXMMSASMSMXMAMSMSXMASXAXMMSMXMSXSMMMAAMAMXMAXAAMMMAAAAMSXSASMSSMMMXMAAAA +MAMXAAXMXMMSSMAMMMAXAMMAXXAMXMMXMAMMAMMMSAMMSAXXMASAMAMMASASMSAMMMMXMMSAMAMAAXMSAMAMAMMAMMMSAXASAMXAXXSMMMMAAASXXMAMAMMMMSMMXMASAAXXXASMMSSS +SMMSSSMMSAMXAMMMSSSMMSSMMMSSSMSMSSMMAMAMMXMXMXSSXMAXSASXSSXSMXMMASAAXAAXMAMSMMASXSMSAXMAXAXXMMMSXSMMSMMASXMXSMAXAMXSASMMAMAAXMAMMMMMMMASXXAX +SAMXMAAXAASXMMSAAXXMAAAAXXAAAAMAAAXSSSSSXMSSMMMXSXAXSMMXAMXXMAXSAMSSMAXSSXXAAMMMAMMMASXSSSMSXMXSAXXXAMSAMASMXXAMMSAMXMASASMMMMASAXMXAXMAXMAM +SXMMSSMSMSMXXSMMSMSAMSSSMMMSMMMMSSMAAAAAXAAAMAXAMMSMSSMMMMMXMAMMAMAMXSMAAMSXMMAMXSXMMMAASAMSASAMXMMSMXMASAMASMMSAAAXAMAMXMMASXMMXMSSMSXMMSAM +XMAXAXMAMAAXMSAMAAAMMAAAAXAMAXXXMAMMMMXMSMSSMSMASAMMMAXMASAAMSMSAMXSAMMXMXSXSSXSAMMXSAMXMMMMAMAXMMXAMXXMMMSSXASMXMASMSMSMXSASASMMAXAXMASASAS +SASMMSSMSMSMASAMMSMXMMSMMMSSMMMASMMXXSMMMMAMAMSMMMMASAMXSMMSMMASXSAMXSAAXAMAMMAMMSAAMAXSMXSMAMAASMSMSSXMAXSMMMMMMXAXXAAAAMMAXAMXASXSMSMMMSAM +ASXXXAAXXXAAMSXMAMMXMAAAXXAAAXMAMAXMXMASAMXMMMMXAXSXMSMSXXAMASAMXMAMMSMSSSMAMXMMAAMMSAMXSAASAMSSMAAXAAASMSXXAAAAXMASXMSMSMMSMSMMSXMAXAMXAMAM +MMSSMSSMMSMSXXMAXMXAMXSSMMSSMMMSSMXMAMAMAXAMAAXMXMMXAAXMASAMMMXMXSXMAXAMAXXXSMXMXMAAXXSXMXMSMXMAMSMMSSMMXAMSMSMSSSXXAAAMAXMAMXAXMAXXSXXMSMAX +XAAXXXXAAXMAMMASMMMMMXAMXAMAMXAAXXXSAXAXMSXSSMSAMMASXMSSMAXMXMXMAMMMSSMMMMMMXMAXAXMAXMXXMSMMMMSAMXXAAAAXMAMSAMAMAMXMMMMSSMSMSXSMMAXMMMXMASMS +XMMSMMSSMMAXMMAAAAMASXMAMMXAMMSMMMMSMSSSXSXAAXMASMAMAAXMSMAAAMMMASXXAXXAAAAMASXSSSMMXMAAAAXAAMXXXXMMSSMMMSAMXMXMAMSAMXAXMAAXMXXAMMSAAAMSMSXS +MAXAAAAMASXASMMSSMMAMASXAMSSMAMAMMAMXAAMASMMMSSMMMAMMXMAXXMMMXMXMXXMSSSSSXMSAMMXMAXAAMSSSMSMSSXSSMSAXAXXXMASMMASXSXXMAMMMSMAXASAMAMMXMXMXMAM +MXSMSMXSAMXXMXMAMMMASXMMSXAMMMSAAASXMMSMAMAMAXAMXSASXMSSMXSASAMASXMAMAMXAXXMMXAMSSMXSAAXAXMMAMXAAASMSMMMXMXMASXSMSAMMAXSAMXXMASAMSXMXSMSMMAM +SMXAMXAMAXSXMAMXMASMMAXAAMMSMXMMMMMAMAMMASMMMSAMAMXSAAAAXAMASXSASMASXMASMSAASMSAMAXAXMASMMXMASMSMMMMAXAAXMAXXMXSAMAMSMMMASASMMXXAMASXMAAASMS +AASXSMSSSMMMSAMAMXMAXAMXSXAAXMASXXXXMAMXXSMAMSXMASASMMMSMMXMMXMXSXSXMXXAAMMXMAXSAMMMSXMSXAXMSSXMSSSSSXSSSXMXAMAMMMXMASAMAMMXAAXMASAMAMXMMMXM +AMAMXAMAAMAAXMSXXASMMSMMXMSSSMAMMMSMSSSSMMXAMSASAMMSASXXASAXAXMMXXMASMSMSMSSSXMASXAMAMAMXSXSAMAMAXMAXAXAAAMSMMMSAXXSXSSMASMSAMSSMMMSXMSXMSAM +SMAMMXMXMSMSXXAMSASXAAAAMMAMAMMSSMAAAAXAAMSMXSAMMSXSAMXXASMXSAMAXMASAAAAAAXMASXXXMSAMSMMAXMMASXMASMAMMMMMSMAMSASXSMSAMXSASAMMAAAMAXMAMAAMSXS +MAAMSXMXXAAXMMAXAMXMMSMXXMAMAMMAASXMMSMMSMAMAMAMSAMXXAAMXMAAXAAXMXMASXMXMXMSXMMMMAAMMXXMXSASMMXMASMASAASXMMAMMAMASAXMAXXXMXMSSMMMSSMSSMXMMAM +SSMASAMSSMSMMSMMMMXSMMAMSSSSSSMXXMSSSXMAXMASMMAMAMSMMSXMAMMMSMMSMAXAXXMASXMMAMMAASMXMSSXXXAMAAXMASAMSMXSAMSXMXAMXMMMAMMSSMAAMMASAMAAAXXMASAM +XAMXMAAAAXAAMAXMAMXMAMMMAAAXAXMXSAXXAASMMSXSXSSSSSMMAMASXSMXMAAAXMMMSASASAASMMSSMXXAXAMMSXXSMSSMAMXMXXMMXMASMSASXMXSXSAAASMSXSSMAXMMMXXSAXAS +XXMAMMMMXSXSXSXSASXMAMXMMSMMSMSAMMMMSMMSASXMAAAAMXAMXSAMXSXXXMMMSXAASXMASXMXMMMMMMSMMMSAXXMXXMAMAXMASMMSASASMAMMMSMSAMXSMXMXAMAAXMMXSSMMXSAM +SSXSAAAXAMAXAXMSASXSASXMAMXAXAMSSMAAAAXSMSAMAMMMMXMMMXAAAMMSMMSMMMMMMAMAMMMAMAAAAXASAXMMXXAAMXMMMMSAAAASASXXMAMAMMAMXMAXXXSMXMASMSXAXAAAAMAM +MAAMMSMSMMAMMMASAMAMAAMMASMSMXMAXMMSSMMMAXXMSSMXAASASMSMXMAMAAAMAASMSMMASXSASXMSMXAXXXAMAMSXSAAAAMMSMMMMAMASMMSSXMAMXMAMMXSAMXXXAXMAMSMMSXMM +MMMMXMMAXMSXMMAMAMXMAMAMAXMAMMMMSAMMXAAMMMAAXAXMSMSASAAAAMSMMMSSSXSAAXMXSXSXSMMMXMSMMSXMAMAAXXXMXSAXXSAMXMMMAXAAASXMSMSMSMXXXXSMSMAMXXMAMAAS +XAMAMMSXSMXASMMMAMXXASXMAMSAMAAASASASXMMAXXMSMMMXAMAMXMMMMMAMSAMMAMMMSMASAMMMMASAMXAMAMSXMMSMSSSMMMXMSASXSXSXMMSMMAAXAXAAMMMMMSAMXAMMXMASMMM +SMSASAAASASAMXMSASXAMAAMAXSAXMSXXAMASMSMSMXMAXAAMMSSXAMASXSAMMXMXMMAAAMAMMMAAXASMSSXMAXXAXAAAAAAMASAAMAMMMMAXXMAMSMMMMMSMMAAAAMAMSMSAXMASAXM +SMSASMMMMAMXMAXXXMMXMXXMXMXAMMMMMAMXSXSAAXXSSSMMSAMAMAMXSAMXSAAXAAMSMXMAXSSXSSXMMAMXSXMSMMSMMMXMSASMSMAMAAMXSXXMMAAAAXXMASXSMSMSMMMAMXXAXXMM +MXMAMMAMMAMAMSSMXSAASXSSMSMAMAAAMXMMMAMSMMMMXMASMASMSMMAMAXXAXASMSMXMSSMMXMAXMMMMMMMASAAMAMMASAAMXSAXMMSSXSASAASXXSSSSXAXXAAMMMXASMSMSMSSSMS +XXMAXSASMSSMXAAXAXSASAMMAAMAMMMMXAMAMXMXXMAMMXXXSAMXAASXSMSXMMMAXAASAAAXSMSSMASAMXSAMMMMMAXSAXMSMMMMMXMAMXMAMXSMSAXAMXMXMMSMMSAMAMAXAAAMAXAS +MXXMXXASAMAMSSSMXMAXMAMMSMSMMSASMSSSSSMXSSSSMMMMMMMMSXMAAASMSASASMXMMMSMMAAMXAMASMMMXSAXXAMMASAMAMAAMXMASMMSSXXAMXMAMAMAMAMSAMXMAMAMMMMMAMSM +SAASMMXMAMSMAAAAXXMASAMXAAAAXMASAAAAAMXAMXAAAAAAAAXXXMASMXMASASAMXXXXMAAMMMSMMSAMAAXASMSXMAMAAASAMAMSAMXSXAAAAMMMAAASASASMMMMSAMAMXSSXMMXSAM +MXSAAASMXMAMXSMMMXXASASXMSMSMMXMXMMMAMMASMSMMSSSSSMSAMXXXXMAMXMXMSAMXSSSMSAMXAMXSSMMASAXXAXMMSXSMSAMXAXMSMXSMSMXSSSMSMSASAMXXSXSXSAMXSAMXMAS \ No newline at end of file