aoc

Advent of Code Solutions
git clone git://git.alexkarle.com.com/aoc
Log | Files | Refs | README | LICENSE

commit 7b4bd48261f7d9093e7d7db89f0bdc13f17557a0 (patch)
parent 60cba72090d859ea4b839319b5816beb124fc34e
Author: Alex Karle <alex@alexkarle.com>
Date:   Wed,  4 Dec 2024 14:43:40 +0100

2024: Day 4 word search

Diffstat:
A2024/04/1.py | 31+++++++++++++++++++++++++++++++
A2024/04/2.py | 38++++++++++++++++++++++++++++++++++++++
A2024/04/input.txt | 140+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A2024/04/sample.txt | 10++++++++++
4 files changed, 219 insertions(+), 0 deletions(-)

diff --git a/2024/04/1.py b/2024/04/1.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 +import sys + +G = [] + +def get(i, j): + if i >= 0 and i < len(G) and j >= 0 and j < len(G[0]): + return G[i][j] + return "" + + +# Read the puzzle +for l in sys.stdin: + letts = [c for c in l.strip()] + G.append(letts) + +c = 0 +for i in range(len(G)): + for j in range(len(G[0])): + chk = lambda di, dj: get(i+di,j+dj) == "M" and get(i+2*di,j+2*dj) == "A" and get(i+3*di,j+3*dj) == "S" + if G[i][j] == "X": + c += chk(1, 1) + c += chk(1, 0) + c += chk(1, -1) + c += chk(0, 1) + c += chk(0, -1) + c += chk(-1, 1) + c += chk(-1, 0) + c += chk(-1, -1) + +print(c) diff --git a/2024/04/2.py b/2024/04/2.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +import sys + +G = [] + +# Safely get an item from the grid without out-of-bounds errs +def get(i, j): + if i >= 0 and i < len(G) and j >= 0 and j < len(G[0]): + return G[i][j] + return "" + +# Trick: rather than start the search on a M, which involves +# making sure that there's a diagonal MAS counterpart +# (which also involves avoiding double counting), just look +# for the A in the middle thats shared! +def xmas(i, j): + if G[i][j] != "A": + return 0 + + return ( + (get(i+1, j+1) == "S" and get(i-1, j-1) == "M") or + (get(i+1, j+1) == "M" and get(i-1, j-1) == "S") + ) and ( + (get(i-1, j+1) == "S" and get(i+1, j-1) == "M") or + (get(i-1, j+1) == "M" and get(i+1, j-1) == "S") + ) + +# Read the puzzle +for l in sys.stdin: + letts = [c for c in l.strip()] + G.append(letts) + +c = 0 +for i in range(len(G)): + for j in range(len(G[0])): + c += xmas(i, j) + +print(c) diff --git a/2024/04/input.txt b/2024/04/input.txt @@ -0,0 +1,140 @@ +XAXAMXMXXSAMSMSMMMXMAXSAMXSMMSSSMXSSMSMMMXXMSMXAMXAXASAMXMASAXMAMMXSAMXMXMMMSXMMMSAMXSAMXSXMSMSSXAXXMASAMAMSASASXSSSXSXSXMAXSAMXMSXXXXAXMXSS +MSAXMASMAMXMAAAASAMXMAMXMAXAMXMASAAAMAMXXMMMMXMSMXMMMXMMAMXMMMMAXSAMXSMSASMAMAMAXMASXXXMASAAXAAMMMMMXAMXMAXMASXSXMASAMAMMMXMAMXAMXSASMMXSAMX +AXAXMMXMASASMSSSMASAMASXMMSSMXSAMMSMSASMMMAAAXSAMAMASMMSSSXAASMMMXMAMAASAXMASXMASAMAXXXMASMMMMMXAASXMSAMSSSMAMAXXMXMXMAMASMSSSSMSASMSASAMAXS +SMSMSSXSAXXXXMXAXAMAMAXAAXAXXXXAXMAAMXMAAASMSXSASAMXSAMAMXMMASASAMSSSMXMAMMMSMXXXMSMMMMMMSXXXAAMMASAAXMMAAXMAMMMSMMMXXXXXXAAAAAAMXSXSAMASMSM +MAAAXMXMMMSXMSSMMXSAMSSSMMMSMAMMMSMMMSSSMMXAXMSXSAMSMXMMSSXMAMMXMXAAMXMAMSAAXMASXAAXAAAAMXMASMSSMAMMMMAMMSMSAXAAAAAMXSMMSMMMMMMMMXXAMSMXAXAX +SSMSMMAXMASAMMAXAXMAMAAAXAXAMAASAMXSAMMAMMMMMMMAMAMAASMMAMXMAXXMXMMSMAMAAMMSXSAMMSMSSMSMSMSMXAAXMXMAMXAMXMAMMSMSXSMSASAAXAASAXAASAMXMMMMXSMS +XAXXASXSMMMAMSXMMMSXSMSMSXSXSMXMASXMMSMMAAAAAAMAMXSMMAXMASMSMSMAXAXXXMXMSXAMMMASAMAXMAMXSAAMMMMMSASXXSASASXSMSMXMAMMASMMMSASASMSMAMAMXXAXMXM +SMMSMMMAMAXMMMMMSAMAAXMASAMXMXMMAMXMSAMXSSSMSSSSSMMXMSMSASAAAAMSAMXMAXXSXMXMAMXMASAMXAXAMSMXASXXXAXAAXMMMMMAASAMXXSMMMASAMAMXMMMMAMAXSMSXSAS +MXAXAASAMXMSAMAAMASAMAMAMAMAXAXMXSSMSASXMAMAAXAXXAAXSAAMASXMSSMXAXASAMXMXXMSSXMMMMMMXSMMMXSMSAMXSSMMMSXMAAMMMMXMXSXAASMMMSAMXAXMSSSMXXAXAXXM +MMSSSMMXSAMSASMXSMXXXMMXSMMMSMSXSAMAXMAMMAMMMMMMSSMXMMSMAMAMXMASXMMMAXSAMAMAMASAXAAMMXMSAMXXMAAMAMAXXAASXXSSMAMMSMSSMMMXAMXMXXAAAAAXAMMMMMSM +XAAAMMSASMMSXMAAXMAAXXMASAAAMXAXMXMXMMMSMMMAAAAXXMASXMXMASAMXMMMAXXMAMXAMMMASAMASXMSMAMMASXMSSXMASXMMMXMSAAAXMAMXAXXSSSMMSMMMMXMMSMMSSMAMAXM +MMSSMAMASAAMMSMMAMMMMXMXMSMSSMSMMMMSSMAAAASMSSSMAMAAASAMXSXSXXXMSXSMSMXXMAMMSMXMAMAAXXSSMMAAXAXMAXMXXXMASMSMMMSSMSMAAMAMXAAAAMASAMAMAXXAMMSM +XAAAMXSAMMMSAXAMMMSASASAAAMAXAAAAASAAMSSSMSAMAMXAMMSMMAXASXMMSSMMAMAXXMSSMSXMXMXAMXMMMMMAMMSMMSMXXMXXMMAMXMMSMAAMMMXMSSMMXSSMSASASMMMSSXSXAM +MMSSMMMMXSAMMSMMSMXASAXMXMSSMMMSSSMSSMAAXXMMMAMSXSAAAXMMMSASAAAAMSMAMAXMAXSAMXSSXSAMAAAMAMSAMXAASMMSAAMSMXXAAMXMMSMXMAMAMXAAXMASXMXSXAXSMMMS +MAMXAMSAAMASAXMASAMXMMMSXMXMAXAXMAXAMMSSMXXASAXXMMMSSMXAXXAMMSSMXMASXSSSMMSAMAXAASXSSSSSMSSXSSMSMAASXMMXAAMSMSAXSXASMMSAMXMSMMAXASAXMMSAXMSS +MASXMMMMMSAMXMMXSXMXAXAMAMXSSMXSSSMMSAMAMMSAXXXAMAMXMASMSMSMMAAXXMXMAXAMXASMMSMMMMMXAAXXMAMMMXXMMMMMAXAMMMMMAMASXMMMXXSASXXAAMSMMMSAMXSXXSAX +XAXAMXSXAMMSSMSMSMXSMMXSAMXAAAMXAAAAMAXSAASXMSSSMSMAXXMAAAAXMSSMMMAMXMAMSAMXAXASXAAMMMMXMAXASMMSAAMSMMXSMAAXSXSXXAMSXMMXXMSMSMXAXXXXXAMXSMMS +MMSMMSAMXXSAMXSASAMXXAAXMSMMXMAMSMMMMXMXMMMAXAAXAAMMSAMSMXMMMAMAAMASAASMAAMMMSAMSMMAMXSMSXSSXMASMMMAMXMXMMMSAMXAMSAXAXSASXSAXASMMMMMMAMXXAXM +XAAAXXASMMMXSXMAMSAXMMXSAXXMXSXMAXXAXSSXSASXMMXMMMMXAMMXMXSXMAMMXXMSXSAASAMXAMAMAXMMSAAXAASMSMXSXMXXSAAMSAXAAASAMMXSAMXXSAMAMAMXAAXAXAXMXAMX +MXMSSSMMAAAMMAMXMMSXAAAMXMAXAAASXSMASMAMMASAAAASMMSAMMSSMAXASMSXSAMMXMAXMAMMXSAMAMSAMMMMMSMAXMAMXXXXSMSAMASXMMMAXXAMMSMXXXMXMXMXSSMMSMSAASXX +MXMMMAAMSMSXSAMAMAMMMMSMASAMSSMMAXASMMSMMMMMMSMSAASMXAXAMSSXMMAAXAMMAXXSSXMSMSXSXXMASMXSXMMSMSMMMSAXMAXAAAMXMXMAMXMAMAMMAMXXMMSAMAAMAMXMMAAM +AASASXMMAAXAXXSXXASMMAXXAMAMXAXMXMXMAAAXXAAXMAMXMMMXMASXSMMMSMMSSMMSSSMAMAMXAMAMXMSAMAAMAXAMAAMAAAMMMSSMMXXXMSMMXSXSMMAMSASMSAMXMSMSASAMXSMA +SMSASMMSMSMMMMSMSMSAMXMMXMMXSXMXMSASMMSSSSSMSASMMAXAAXAMMAAAMXAXAMXAMAMXMXMMMMAMAXMAMMXMAMMMSMSMMXXAAMAMXSSXAAAXXMMXAXAXMASXMXSAMAMMAMMSAXXS +MXMMMAXAMXAXXAMXAASMMXSSMMSAMMSXAMAXMXXAAAMASXMASMSASXAXSXMSMMMSXMMSSSMXSAXXMSXMXXMAMMXXXXMAXXXAMASMXSAMAMXMSXSMAXASMMXSMXMASXSASAMMSMMMASXM +XAMASXMXXSSMMXASMMMXSAAAAAMAMAXMSMAMXMMMMMMAMMSXMXAAXMMMSAMAASXMXSXAAAAASMMSMSAMSXSASASMSAMASXSXMXMAXSMMAXXAMAXMMMMSXSAMXSSSMAXMMASAAASMAMAM +SXSAMSMMXMMASXAXXXAAMMMMMMSMMAMMAMAMAASAMXMSSMMMMMMSMMSASAMMXSAMXAMMXMMMXXXXAMAMAASAMAAAXXMASAMASXMSMSASMSSMMAMAMMXSMMASAMXAMXMASAMMSMMMSMMM +MXMMMAXMAXMAMMSMMMMMXSXSXMAAMXXSASASXMMSSXXAXMAAASAMAAAXXXMXASAMAMAMSSXMSXMMMMMMXMMXMMMSMXMXMASAMASAAMASAAXXMASAMMAMASXMMSSMMAAMMASAMXSXMASM +XXASMMSXMXMMSAMASXXAASXMASMSMAAMAMXMXAXAXMMMSSXMXMASMMSXXAMMMSAMAXSAAAXMAMSAMAAMXXXXXAAMMSMXMAMASMMMSMMMMAMXSXMASMASMMMAMXMXSXSXXAMAXAMSSSMA +MMXXAMMMMAXMMASAMXSMMSASAMAAMXMMSMMMMSMXMAAAAMASASAMXMAXSASXXMASMSMMMMMMSXMAMXSSSSSSSMXXAAAAMASXAMAAAAXMMSMMAASAMMAMXMSSMAMAXAMXMSMSMSMAMAMM +XAMSSMAASMSSMAMXMAMAMSMMMXSXMXXAXASAAMXSSSMSMSASAXAXXMAMXAMMMXAMMXXAXSSXMMSXMAXAAAAAAAAMSMSMSAMXXXMMSAMXAXASXXMSSXMMXXAAAMMSMSSXXAAAAAMAXAMS +XMXAAMXMAAAXXXAMSXSAMXMASAMAXAMXSAMMSMAXAXAMAXMMXMSMMMSSMAMASMSSMMXSAMXAXXAAMXSMMMMMMMSXXAXMAMXMMMMAMMMMMSAMAXMXMASXMMSSMXAASMAASMSMSMXXSMMA +MSMSSMMAMMMMSMMMAAXAMXSMSASAMXSAMMMMAMMMMMMMMSMAAMASXAAXMASXSXXAASXMAMSSMMXSMAAXMSAMXXXAMXMASXASASMASXSAMMMMXXMASAMXMAXAMMMSAMXMXAAMAMMMAMMM +AAAXMASXXMMAAAAMMSMASAMXMAMAMAAXMAAMMSAAMAXAAAMXMXAMMMSXMMSMMMSMMMAXSMMAXMAMMMMMAMXMMSMSMSAMXSMSASMMMXSASXSMMASXSAAAMXXAMAXXMAXXXSMSMXAMXSAX +SMSMXMMMAMMSSSMMAAXAMXSASXMXAMMSSSSSXMMMSMSMXXXAMMSMSMMAXAMAAAMASMMMXASAMSASAMXAMAAXAAAMXMAAAMXMXMASAMSAMXMAXXAMSXMMSSSSMMSSXAXSXMXSASXSASMS +AAAAASAMAMXXAAXSSMSXSAXAXXAXSAAAMAMAMXAMAAMAXSAXMAXAXASAMSSSMXSAMAMAMMMMXMASMMSSMSMSSMSMASMMSSXMAXXMAXMASXMAMMAMXMSAAMMAAXAXXMASXSAMMAAMXSXM +MSMSMSASMSSSSMMAAXMASMMXMXXAMMMMSAMASMMSMSMAMMASAMMAMAMMMAAXMMMASXMASXASAMXMAASAMAMAXAAMMMAAMXMSSSMSSMSMMXMASXMMAAMMMSSMSMSSXSASAMAMXSXMASAS +XXAMXMAMAAAAASAAAMMAMXAMSMSMSXMAXAXAXAXMXXMASAAMAMAXMAAMMMSMSXSAMAXMAXXMASMSMMXAMXMASMSMXSMMMAMAAAAXAAAXMASASAASMMMXSAMXMAMAAMASMSMMAXAMXSAM +XMASAMXMMMMMMASXXXXAXMMMAAAMSAMSXMMSSMMSAMXSMMSSXMXXMXSMMMMASAMXSXMSMSXSAMASMSMSMSMMSAXMMASAAXMMSMMMMSMSAMMAXXMMAAAMMMXAMAMMMMAMMAMXSSMMAMXM +SAMMMXMMAMXSMMXMMMXSSSSSMSMSSMMMAMAAAAAXMXMMAAAMMAMXSAXAAAMMMAMMMMMAAAAMXMASXSAMXAMSMMMMMASXSXMXXAAAMAMMMXSSSMSMSMMSAAMXSMMXXMXSSMXMXAAMMSMS +SASMSMSSSSMXAXXAMSMAAAAAMXMAMXASAMXXSMMSMAASMMSMMMSXMASXSMSSMSMXAAXMMMSMXMASAMXMMAMAAXXAMMMMXAXMAMXXMAMAMMXAAAXAAAXSMSXXAXXMMSXAXAASXSMMXSAA +SAMMAAXAMAASMMXSAAXMMMMMSAMASMMSXMMXXXMAXAMMXXMAXMSAMXMAXAAAAAXMSXSXSAAXSSMMMMAXAXXXSMSSSMAMSSMMAASMSXSASXMXMMMSMSMXMAMSAMXMASMMMSMMAAXMXMSM +MMMMMSMXMMXAAMAMSMSXAXXXXASAXAXMASMAMSAMXMSASXSAMMXXMAMXMSMMMMMXXAMAMXSSMAMAAXXSSSSMAAXMAXMMAAAMMSAAXAXMSAMXSAAXAXXXMAMMXSMMMSASAMMMSMMSAMXX +XAAAMXMASXSSXMAXMXSXSSMSSXMXMSASMXMAXXXXAASAMXMXXSAMSXSXMXXMAXMASAMXMAMAXAMXMSAAAAASXSXSAMMMSSMMXXMMMXMSMMSASMSSSMMMMXSXASMAMSAMMMAAAAASXXXA +SMSXSAMASXMAMSMXMAMAMXAAAXMAXMAMXMSMSMSMSMMAMXMAMXAXAAAMSAMXSMMXSAMXMXSAMXSAAMMMMSMMSAAMMSAAMAMXSAMXSMMAAMMAMAAMAMXAXSXMAMMAMMAMMXMMMMMSMSMS +AAAASAMASMMAAAXMMSMMMSMMSMSSSXMSXMASAAXAAXSXMAMAMSMMMXMAAMMSMAXASAMXMXSAMAMMXMASXMXXMMMMMSMMXAMXSAMASASXSMMMMSMSASXMSXSASMSMSSMMAAXSAMSMAAAM +MMMMMXMMSASMXSXSAAAXAAAXXAXAMAMSASMSMSMSMMMASXSMXMAAXXSXMAXAMXMASXSAMMMAMSSXSAMXAMSMMMXXASMXSAMXSXSASMMAMXSXXMASASXMXMASXAAXXAAMSXMAMSAMMMSM +MXSAMXXXSAMAAMAMSSSMXMXMMAMAMSMSAMXXXXAXMAMMSAMXAMSMSAMAXSSMSASAMXSAMSSXMXAXMASMAMMAMXMMASAAMAMXMAMMSMMSMAASXMAMSMAXSAMXMSMSMSXMASAMXAMXXSAX +MASAMMXXMMMMMMAMAXXXMXMSMMSAAMMMSMXSMMSXSASXMMMSAXAXXXSAMMAXSASASASAMMAMSXMMSSMMAXSMMAXMAMMMXAMAMAMAMAMAMXSAMMSMXMSMSAXXAASMAMMMAMXXXMXMSMAM +MASAAMAMXMAAAMXMXSMAAMAMAASMSXXXXMAXXAAMSASMXSASMSXXAMXMXMMMMAMAMASMMMAMAAXAXAAMMXAXSAXMASMSSMSASASMSASASXXMAAMXSAMASAMXSSSMAMAMSXSXSXASAMAM +MASXSAMXASXXMXAXXMAAMSAXMMMMAASAMMXXMMXXMMMXXMAXMAMXSMMSAMAAMXMASMMAXXAMMMMSSMMMSXSAMXSXAMAAAMSXSASXSMSXSMMXMMSAMAMAMXMXXAXXAXSXMASAAXMMAMSS +MASAMXXMASMSMSMSMMXMMSASMMXMSXMAXASMMSXASMAMXMSMMMSAMAASASXSSXMXMASXMSXSXMAMMMAMXAAXSAMMMMMMMMSXMMSASASMMXAXXMMASAMXAMMMMMMMSXXAMAMASMSSSMAM +AASAMSMSASXAAAXAXSASXMAMAASMMASXMXSAASMMMSAAAXAAMAMAMSASMMMXXMXMSAMXAAMAAMMSMSMMMMMSMMXAAAAXMASXSAMXMAMAAASMSAMXMXSMASAXAXAXMASMMXSMAAXAMMAM +MXMAMAMMASMMSMSMMSASXMAMSMMASAMMMASMMMASASXXXMSMMASMMAAXASXXAMAAMMSAMSMMSSXMAAAXSXMAAASXSSSSMASAMXSXMAMSAMMAMAMSMXXMASMSXMSSMAMXSXMMMMMMMSAS +MSMMMASMMMMXAAMXAMMMXSXMAAMAMAMAMAXAASAMASAMSXMMSXMASMSMMMMMMSASMMSAMXAAAMAMSMSMMASMMMXAAAAXMXMXSXMXMSXMASMSMAMAAMXMAMMXXAMXMSMSXSAXMAAAMSAS +AAAAXXXAMAMSMSMMMSMAMXXSSSMASAMSMMSSMSXSMMAMXAXXXXSAMAAAXAAXMAMMAASMMMMMSSMMAAAASAMXAMMMMMMMSXMAMAMXSAAXMAMXSXSMMAMAMXSASXSMSASXASXMSMSMMMAM +SSSMSSSMMAMAXXXAXAMASMMMAXMASAXMAXAAMMAMASXMMMMXAXMXMXMSSSXSAXSSMMSAAAMXMXXSSMMXMXMXASMSXXSAMXMAMAMXXSSMXXMXMXSMSMSSMAMASAAXSMMMXMXMAAXMXMSM +AXAXAMAMSMSAMXSSSMSAMAMMSMMXSMMMXMAMAMASXMAXXXAMSMSXSAMXAXASAMXXAAXMMMSAMSMMAMSXMMMSAAAXMAMASMSASXSSMMXMXASMMASMSAAXMAMAMMMMSASAMXMMMSMAXAMM +MMMMMSMMAAAXSXMAAMMXSMMXMASAMMXXAMSSXSASXMAXMMXMMAMAAMSMMMMMXMMSMMXSAXXAMAAMAMSAMAAMXMSMSASXMAMAMAAMASAMSXMAMXSAXMMMSASMSSMAMAMAMSSMXMXMMMMM +XASAMAMMMSMXMAMMMMAXMMSASMMASASAMAMMXSXMAMXXSASMMAMXMMXAASXMMSAXXMAMAXSAMSSMSMSAMMSXXMAASAMAMXMAMMMSSMAMMXSSMMMXMXXXMAMAAAAAMXMMMAAMASAXMMAX +SMSASASAXMASXXMASMMSMASASXSXMASMMAASAMASMMMAMASMMMXXXXMMMXAAXMASAMASMMAXMMMAXAXXMXMASMMXMSSSMASXSXAXXMMSAMXXMASXMSMMMSMMMMMXSXAAMSXMAMAMMSMS +MMSMMASAMAMSAMXMXAAAMAMXMXSSMAMXSSSMASXSAAXXMXMXMSSSMXSASXSMMXAMASASAMXMSXSMMXMAMXMAMAMXMAMAAASXSMMSXSSMMAMSMXAMXAAAAAXXMXMAMXSMMMXMAXSXMAAM +SASXMXMMMSSSXSMXMMMMMMSMXAMAMSMXMXAMMMAXXMMAMMSAMAAAXMXAMAXXXMMXXMASMMAMXAXMAMMAMAMAXAMMMMMSMMSASAAXXXAAXSSMSMSASXSMSMSMSAMXSAMMASMSMSAASMMM +MASMSSMASXAMAAMSXMAXAAAAMMSAMXMAMSAMXMMSSMMAXAMAMMSMMSMSMSMXSAMASMMMASXSMMMMAXSASXSSXMMXAAAAAXXAXAMSMSSMMXMAAXAASAMAXASXSASXMASMMSAAXMXMMAMX +MAMXMASMMAAMMMASASXSMSXSXXSXSXSAXSASXAXXAASMMMMSMMMMASAXAXAASAMASAMXAMAAXXAXAMMAMXAMASMSSSSSSMMSMAMAAMAXMAMMMSMMMAMAMAMXSAMXMAMAXMMMMSSXSAMX +MASXSAMXMSMSXXMSAMAAXMAMXMMAMXSMMSAMMMMMMMMMASMXMAMXAXMMMMMMMAMAMAMMSMSMMSMSMXMAMXMMXMAMAMAMAAAMXXSMSSXMSASMMXMMXXMMMMMMMMMXSASMMXAXAAMAMMXX +MAMXMASXMXAXXMXMAMSMMMXMASMMMAMSAMXMXXAXXAXSAMXSMSXMSMXAXAXSSMMMMSMMAAXAAAMAASMMMAXMAMXMMMMSSSMMMXSXAXAASASAXASMMMSXMXMAAASAXASMAMXMMSMSMSMX +SASXMASMMAMMMMMSXMAMXMAMXXAAMAXAMXMMMSMSXMXMMSAMXXAMXAXSXSXMAXXMAMASMSSMSXSMSMAASXSAXSXMAXXAXAAXMASMMSMMMXMMSXSASAMXMASMSMMAMSMMXSXAMMAMAAXS +SASMMASASASAAAAAASMSSMMSSSSMMSSMMXSAAAXMAMXMAMASAXSMMMMXAMXSAMXMMXXMMAMXMMAMAMSMMAXMAMXSMSMMSMMMMASAMAXXSMSXAMMMMXSXSXSXXXMXMMASAAXMMMAMSXXA +MXMASMXXSASXSMMSMXAAAAAAXMAMXMAXAAXMSMSMMMAMXXAMMXAAMXAMAAXMASAAASMSMXSASMMMSMMXMMMXMMASXMAAMASAMASMSASMAAMXMASXSAMXSXMAMSAMXMAMMSMXAMXXMMMM +MASAMAXMMMMXMXXMMMMMSMMSSXSAMMAMXSMXMXXASXSMSMMMMASMMMXSMMSMAMXMMSAAMAMASXXAAXXAXXAXXMAMAXSASXMAMASXMASAMXMXXMAMSAMAMAMAMSASMMAMXAMSSSMXAAAX +MAMAMXMMAXSAMMXMXAMAMAAAAAMASMMMAMXMASMAAAAASXSAXXAAXXAXMMAMMSXSAMXMMAMMMAMSSSSMSMSAMMMSXMXAXMMMMMSMSMSAXXMMMXMXMAMASAMXXSAMXSMSSMMXMAMSSMSS +MASAMXASAMSAMAAMSMSASMMMXMMAMAAMAXASAXMAMXMMMASASMSMMMMSSSSSMXAMSSXXSXMAXXMAXMXXAXXAXAASAMXSXMAXMAMXSASAMXMASMSMSAMXSXXSAMAMAXSAMXMAXAMAXAAX +SASASAAXAMSAMSSMAXMASXSSMMMXSSMXAMMMXSASXSXMMAMMMMAMXMXAAXMAMMMMASAMXMSSSXMXSMSMMMSAMMMXAMAMMSXSAMXAMMMMSMSAMSAXMMXMMXMMMXSMXSMXXAMXMSMMMMMM +MASASMSSSMMAAAAXXSMAMXMASXAAXAMMSSMASMAMSAAXMSSXMSSSSXMMSMMAMAMMXSXSAXXMAXXXMAAAXASASXMMAMXSAXAMAMMMSASXAXMASMXMAMMSSXXAXAXMXMASXSASMXAXMAXS +MMMAXXAAAXXMMMMMMXMMXXSSMMMMSAMAXAXXMMAMSSSMXMAXAAAAXXMAAMSSSMSSXMASASXSASXAMSMSMXSAMAMSSSMSXMMMAMXASXSMMSSMMXMASMAMAMSMMMXSAMMMAMXSASXMMSAA +SXMXMMMMMMXSSSSXSMMMMMXXAXXASAMMSXMASXMMMAMASASMMMMMMXMASMXMAAAXAMXMAXAXAMMXMAAAMAMAMXMAAAASMXMASXSMMAMAAAAAAXAAMMSMAMAASMAMMSMMXMAXMASAAMXX +MAMMMXSXXASXAAXAMSAAASASXMMASAMAMAMMSAMSMAMMSAMXMSAMXAMAXMAAMMMSXMAMSMMMSMXSMXMMMMMAMSMMSMMMXAMXMAMXMASMMSSMMASXXAXMASXSMMMSXMASMMXMXAXMXSSS +SAMASAMXXMSMMMMMMAMMMMASXXXMSMMAMXMXSAMXMAMAMAMAXXAXSXMMXSAMXSXSMSSSXSXAMAMASXMMXMMMXSXXMAMXSMSMMMMSMMMAXXMXSMMMMSAMXSMAXXSAMMASAMXMMMXSMSAA +MASXSASMSXMAAAXSMSXSXMXMMMMASASASXMMSXMASXMXSMMSSMSMSMASAMASXMAMMAMMAMMSSMXAAXAAAMXXAMXMSMSASMSASMAAMSSSMSMASAMXXXXMAMMAMXXMSMMSMMMXAASMXMMM +SMMMSXMAASXSMSXMAMAASMAMAXMMSXMMXAAAXAMXASAMXAAMAMAAMMAMASAMAMMMMASMAMMMAMMXSSMMMSAASXMMAAMASASAMMMSSMAAAXMASAMMMMMMASMSSMMXSAASXAMSSMXMASXX +AAAAMAMAMMXMXXAMAMSAASXSSMSXMXSMSSMMSMXXMASMSMMXAMMSMMSSMMASXMSASMMXASASAMMMMAXAXMAMMAMMMSMMMMMMMMAMXXSMSMMMSMXAAAAMMSAAAMSASMMMSAXMMXAXAMXM +MSMSSMMAXXXMAMAMXMAXAXXMAXSAMXXAAXXMAMXMXMXXAXMSSXXXXAMAASXMAAMASAMSXSAMMASASMMSSSMSMXMAAMAMMXMXSSSMSMXMAXXAXASXSSSSMMMSMSMXSXXAMXMAMSSMMSAM +XXXAAXXMSSMMASAMMSMSMMSMSMSAMAMSMMMSASAMXSMSMSMAMMMSMSSMMMSMMSMXMAMMASXMSAMMMAXAXXMAMAXMXMAMXSXAAXAAXAASAMXMMAMMMMXAXMAMMAXMMMSMMAMXMAMAASAS +AMMSMMXMAAAMXXXXAMXAAXMAXAXAMXXAASASASMXAMXAXXMASAMXAMMXSXXXAAMXSAMMAMAXMAXSXSMAXXSSSMSMSMAMAXMMSSMMMMXXMASXMAMASAMXXMAMSAMMAXAAMMXXMASMMSAM +MXAMXMAMAXMMSMSMSSSSMMMSMSSSSSSSSMASAMAMSXMXAMSAXASMXMAAMAMMSMSASASMSSXMMSMAAMXSAMXAAAAAAMAMAXXAMMXASMMSMMXMMASXSXMASMAXMAXSASXSMSXXMAXXAMAM +XMASASXSSSXXAAXAXAMXAXMXAMXXAAMXMMAMAMXMXASXSMASMSMXMMMMMASAMSMMSAMMAMMXAXMMMMAXXAMXMMMMMSAXXASXMXMAMXAAAMMMSAXAMMXMMMSXSAMXAXXMASAXMMSMMSMM +MSMSAMAXMAXSMMMMMAMMMSXMSMMMMMMAXMXSMMSSMAMAXAAMXAXAXSSSSXSASMMMMXMMSSSMAXXAMSMSMSSMSXXXASMXSXMAXSAMMMSSSMAXMSMAXSAMAAXXMASMMSAMXMAXSXAAMAAA +XAAMXMXMMSMXASAMXMMMAMXMAAAXXASXXAMXAAAAMXMAMMSXSMMMSMAASASXMAXSAASAMAXMMMXXXAAAAXSAMASMASAASASXMMXSSMAAAMSMAXXXMMAMMXXASXMASMXMMAXSMMMSSSSS +SMSMMSAXAAXMAXASXXAMASASMXMASMMXMXMSMMSSMXSXSMXASAMSAMXMMMMAMAAMXMMAMMMSSXMMSMSMXSMSMAMMMMMMMAMSAAAXMMMSMMMMXMASMSSMAMMMMMMMMXXMAMMAAAXXAMAA +SSMAXMMMSSSXMSAMXSXXAMAXAAXXMAAMSAMXAXAAXXMAXMMMMAXSXSXXXXMXMMXMAXMMMMAXXAAAXXXAXSAAMASASMMSMSMXMMXMAAXAAAXSSMAAAAAMXMAMSASXMMSSMMSSSMSMMMSM +SAMSMXAAMXAAMMMMAXXASMSMSMMMSMMMMASXMMMMAAMSMSAXXAMMXMXMMMXAXXASXSMSAMMSXSMSXMMXMMAMSXSASXAXMXMAMAAMMMSSMMXAAMMSMSMMXXXMAXSAAAAAAMAMAMSAXAAM +SXMXMXMSSSMXMAXMXMMMAAAAAAAAAAMAMSMXSAXXMMMXASASMSAXAXAMAASMMSASAAAXXMXAAXMXASMXMXSMMXMXXMMSSMSMMMSXSAMXSSMSXMAXXAXXMAMXMXMMMMSXMMAXAMMSMXSA +SXMASMXMAAXMMMSMAMXXMMMSXXMXSXMMXMAAMSMXXAAMXMAMMXMSMSMXSMSXAMAMMMMMSMMMSMASAMAASMMAXXSMMAMAMXAAMSMMAAMAAMAMXMXSXMXAMMMMXMXMXXXXXSXSASMXMAAX +SASAXMXMSMMXAAAXXAMMXMXMMSSXXMXSAMMMSMXXSMMSAMXMAMAAMAXXMAXMXMSMSXAXAAXAAMXMXMSMSASXMXAAXMXXMMMSMAAXSAMXSMXMAMAMASXSMASAAAASMSMSAAASAMXASAMX +XMMMSMXMXXASMSSSMSSMAXAAAAAAMAAXAMXMAMXXXAAXAMXSAMSMSXSMMAMXXXXAXSSXSSMMSMSMSMMASXMASXSXMXSAAAAAXXMMMAAAXXMSXMSSMMAASASXMSXXAAAMAMMMMMSASXMM +XSAMAMMMAMAMXXXAMAAXSSSMMSMSMMMSSMMMSSMSSMMSSMAMXXAAXXMXAASMMSMMMAMXXMXMAAAXAAMAMASASXXAAAMMSMSSSSMXSSMXSMXMXXAAXXSMMMSXMMAMSMSMAMSXMASAMXMS +ASASXMAMASAXMMMAMSSMMAXMAXMMXSXXAAXAAAXMASAAAMMSMSMSMXSASXSAAAXMXXSMSAASMSMSSSMXSXMASASMMMMAAMXMMAXAAAXAXAAMXMSSMMMAXAXMAXAAXAMXSMMAMAXMMXXS +MXAMXSSSXXAXXAAXAAMAMXMSAMASASXSSMMSMSMXMMMSAMXMAAAAASXAXASMSMXSAMXAMSMSAMXAMXMASASXMMMMXSMXMSSXSMMXSMMMSSMSAAXXAXSAMXSXSSSSMXMAMXSXMXSASMAX +MMSMMMAMAMSMSAMSMSXMSMXMASMMASXXAMAMXMMMXXXAMXSMSMSMSAMMMAMMMMXXAXMMMAXMASMMMASXMMXAAXASAXMSSMXAAXSMMXSAAAASMSMSXXMASAMMMAMXAAMASMSXMXSAAAAM +MXAAASAMAMAAXAMSXXAMMASXXMXMAMXXAMAMASASAXMASXSAMAAXXMAXSXSMAMASMMMXSSXMAMXXXMXXMASMMSASMMMXAAMSMMMAXAMMSSMSAAXAMSSMMASMMSMSSMSAXXMASAMSMSXA +ASXMMXXMXMMXMMMXASAMXAMAMMAMAXXSMMMSAMAXMMSSMMMAMSMSSXSASAAMMSAMXAAMMMMMSXXMXSSSSMASAMMMAASXMMMXXMSMMSMMMAXMMMMSSMASMMMAAMAAMAAXXXMXMXMXXMXS +XSASXMSMSXSASASMMMMXMASXASMSMSAAAAAMXMMMMAMAASXSMXXAXAXAMSMMMAMXSMSXSSXMMAXSAMAMASAXXSASXMSASXSAMMAMMMAMXXXXAXAXAMAMXMAMXMXMMXMXMSAMXSMMAMAM +SMMMAAAAAAMASAMMAMXAMMMXMXAAAMXMMXXMAAMXMAXSMMXMASMSMMMAMMXMSAMASAAAMAAXXMXAAMMSAMXSSXMMAMSXMAMAXXASASAMXSSSSMMSMMMSSXMXAAXXMAMAXMAMSMMMAMAS +MASXMMMMMSMMMAMSSSSSSMMSMMSMSSMSSMASXMMMSMMASMMSMMMMAXXXXXAAMAMASXMASMXMSXSSSMXMXMAXXAMSXMXXMXMAMMMMMSAMASAMXAAAMAMAMAMAMXMMSASXMSXMAAXSSSSS +SAMMMSXSAXAAMSMMMAMXAAAAMMMAAMMAMXAXAXMMAMSAMXAAMAMMMMMMSMMXSAMXSXMXSXMXAAMAMXXAAMMSSXMAXMXMSXMAMAAAXMAMXSMSSSXXMAMMSMMASAAMSASAMAMSMSMAMSAX +MASAASMMASMMXMAMXXMSXMSMSAMMMSMASMSSSMXMAMMMMMMMSASAXAAAXAAMSXMAMAMAMXAMMSMAMMSSXSXAAASXMSAAAXSASXSMSSSMXXXXAXASXSSXAASASXSMMXXAMAMAAXMASMMM +MMMMMXAMMMMMXXSMMMMXXMAXMXSMMMXMSXAAAMMXMAMASAMXSASASXMSSMMXMAMAMAMAMMMSAMMAMMXAMAMMSMAAASMSMXMASAAAAAAAAMMMAMXMAMMMSMMASAMXXSMMSXSASXXXXAAX +SAAMASMMMASXSXXASASMSMSSMAMAAXASMMMSMMSAMASASASXMAMXMAAAXAXXXSSMSMSASXAMASMSSXMAMMAMXXMMMMXXMASAMMMMMSMMMASAAMMMMMXAMXMAXAXMAXAAAXXAXMSMSSMS +XMXXAAAAMXMAXAMASASAMXMAMMSSMSMSAAMAMASASAMXSMMMMMMXMMMMSMMMMMAAAASXXMAXXMAXMASAMXMMMMXAMXAASAMXMMXAAMMSSXMXSMXASMMXMAMMSMMAMSMMSSMXMAAAXAAX +XSSMSSXMMAMMMSMAMAMMSXSAMMAMMMXSXMXASASAMXSXXMAMXAXAMXMAAMXAXSMMMXMMSMSSMMMMXMMMXSAMXAMXMXSASXMAMXMMMSAMXAMXMXSMSAMSSSMAAAAMMAAAMXMAMXMXMMMX +SAAAXMASXMASAXMXMMAMMASMMMASXMAMAMSXMAMXMMMMXMASMMSASAMSXSSSXSMMXSAASAAXMAMMXSAXASMXMSMAMMMASASMXSSMMMAMXAMXMASAXAMAAAMXXXMSSSSMMASASASXMXMA +AXMMMMMMASMMAXAMXAAAMXMSAMMSAMXSAMSXMXSSMSAAXSASAAMMMMMMAMMMAXAXAXXMMMMSXMMSAMXMXMSAAAXAMAMXMAMXASXSASAMSMMXMASMSMMMSMSSMAMAAMAAMAMAMASXMAMS +MSMASAXMAMXMMMSSMSXXMXAMXMSSMMMMXSMASAMAASMXMMASMMMSAMASASXSMSSMASXMMAAAASXMASXXAXSXSASXSXSXMSMMMMAAMSAMAXXAMXMXAXXMAXAAMSMMSSSMMSMMMSMMSASA +XAMASMSMASAAAAAMAMMSSMMMSMMMAMAAXXMAMXSMMMAMSMMMXMASASASMSAAXAAMAMXASMMXMMAMMXAMSXMAMMAMXMSXMAMAAMXMXSXMSMMASAXSSSSSSMSSMAAXXAXXAMASXAAASXSM +AMMXSASMAMMXMMSSXSAAAAXAAAASASMSMMMMSMMXMMXMAAMAMMASAMMSAMXMMSSMASMMMMSMMSSMXMXMMAMXMAMAAAXAXAXSSSXMAXSMAASMMMMAAAAAXXAAXSXMMAMMMSAMXMMMSASX +MXSAMXMAMSSXXAXMAMMSSMMMSXMSASAAMAASAMXASAXSXXMAMXAMXMAMAMAXAAMXXSXMAAMAAAAXXMAMXMXSXMXSMSMMSMMAAXXAMXMSMAMMASMMMMMMMSSMMMSAMXMSAMXXXAAMMAMA +SAMXSMMSMAXAMXSMSMMAMAMAMXMMMMXMSSXSASXAXMMMSXSASMMSAMMSMMMASMASMSAXMSSMMSSMMMAXASAMAXMXMXAXMXAMMMMSAMXAXAMMAMXAXMXAXAAMMSAMXSXXAMMSMXXXMXMS +MASAXMAAMXSXSAXAMAXMSAMXMASAXAXMAXASAMMSMAMAAXMMMMAMXXXAAASAMXAXASXMSAMXMAXAASASASASAMSAMXSMXMASXXAMASXMMSAMXSXMXSSMXSXMXMASMMMSMMAAMMSSMASA +MXMMXMSSSXAXMMXXSXMASASMMAMXMMSMASMMMMAASAMMSSSMSMSXMMSXSMSAXXAMXMSXMASASAMXMSASASAMAXSASAMAAXMXMXMSMMAAAAASAMXSAMMSAMAMXSAMXAAAAMSXSAAAAXXM +SSMSAAAAAXMXAXMMAMXMSMMMSSMMXMAMXMAAMMSMSXSXAAAAAXMAMASXMASASASMSMSMSAMAXASMASAMAMMMMMSAMASXXXMAMAXAXSMMMSXMMSAMASAMXSASAMASMMSXSMAMMXSXMMSX +XAASMMMMMSXSAAXXAXSMSMSAAASAMXSSMXSMMAMXMXSMMSMMMXSAMASASAMAMAAASASAMMSXSAMMAMAMXMAAXXXASAMASXSASXSMXMASXMASAMXSAMMSMSXMASMMAAMXMMAXXXXMSMXM +MMMMSXAXASASMSXSXMMASASMSSMXMMAMAMAAMASASAXAMAAXAXXAMXSAMAMXMMMXMAMXMXAMMXMMSSMMSMSMSMSAMAXXSMSAMAAXXMAMASASASAMXSASAMMSMMMMMMSAXSMMSAMAMMAA +MXMASXSMMSAXAAAMMSMAMXMAMAMAAMAXSASXMAMXMASMSSSMMSMSMMMMMXMSXMASMXMAAMSSSMXAAAAAAXAASASMMSMAMAMAMSMMSMSSMSAXAMXMMMMSSMAAAXAXXMMMMMAAMMMAMXSS +XAMASMXAAMMMSMXMASMSSSMMMAXSASXSMMMMMMSSMMMAAAXXMAMXASAXMASAMMAMAAXASAMAXAMMSSMSSMMAMAMMAXMXMSMMMXAXASXAAMXMMMSMMAASAMSSSMXMASAAAMMMSXSAMXMM +MSMAXASXMSAMXMMMMSAMXMASXMXMAXXAAXXAMAAMAAXMAMXMASXSAMMSMMAMAMASMSSMMXXAMSXXAMMXXAMXMSAMSSSMMXSMAMSMMASMMMASAAAMSSXSAMXAAXXSASXSMXAXMAMAXSAM +MXAXSAXXMAMMASASXMAMSSSMSXXMAMMMMMXXMMSSSMSXXAMXAMAMAMAAXMAXMMAXXXAAASMMMXMMMSMAMXSXXMASAAAMXAMMAMAAXMXMASAXMSMXAMMSAMMXMAXAMXMMASXSMXMAMMAS +ASAMMMMXSAMSASASXXAMXXAAXXXMASMASMSMSMMMMASMMSSMSSXSXMSSSSMSAMSSSSSMMAAAXXAAXAMMMAMXXSMMAXMMMSSSXMXSXXAMMSAXMXXMAMASAMMMMSSMMSXSMSAMMXMMXSAM +MMMSXMMXAAXMXMXMAXSSMMMMSSXSAXXXMAAAAMAMMAMAAAAXAMMAMXAAAAASAAAAAXXAXSSMSMSMSXSXMSSMASMMSMXXAMAXMSMMMSMSXMMMAAMSSMASAMXSAAAAAAMXAMXMASAAAMAM +XAASAMSSMSMSASMMSMMAMXAAAAMXMASXMMMSMSASMMSMMSSMMSMSASMMMMMXXMMMMMSMMMAXXMAMAAXAAAAXAMXAAAXMMMAMMAAAAXAMMAMMMMMAAMXMASXMMSSMMSAMSMAXXAXMSSSX +SMMMAMAXAXASAMXAXXSAMSMMMSMASAXMAXXXASXSAMMMAAMAXAAAMXXAXAMSMMXSSMSXAXMMSXMSXXXMMSMMXSMSSSXXMASMSASMSSXMMAXMAXMXSMSSMMAXXAMXXMXAMMSSSXMMAMAM +MSSXAMMMXMXMSMMAMMMAMXMASAXXMMXXSMMXXMMSXMAMMSSMMMSMSSSMMMMAAMASAASMSSSXMAXSXSSXAXXXAXAAMXMSSSXMXAXMAMMMSSSSMXSAMXAAASAMMASXXMMSXAAAAMAMSSMA +SAMXSMXSMSXAMXSAXAMMMASXMAXMMMSAMAMXASAMASXMXXMASAXXXAAXSMSSSMXSMMMXMAMASXMSAXXMMSAMAXMMMAMASAMXMMMMAXAAAMAAMAMMSSSSMMMSMSMMSMAMSMMSMASMAAXS +MMSMXMXAAMMXMASMSSSMXAMAMXMXAAXMSAMMMMASAMMSMMMMMSSMMMMMAAXMAMXXXAMXMXSXMSAMMMXMAXMASXMASASMXMSMXSAMMSMXMSSXMASAXAAXAXMAMAAXXMAXAXAAXXAMSSMA +XXAMMSMMSMSMMXMMAAAXMASXMMAMMSSXMMSXAMXMAMMAMXAXXAMMAASXMSMSMMSMSXSASAMXAAMAMSSMASXSMASASXSXMXAAXMAXMAMAMXXXSASMMMMMMMSSSSSMAXMSAMSMSAAXAMXA +MSMSAAMXMAAAMASMMXAMXXMASAMAXAAAMASXSMAMAMSASXMMSMMSMMMAXXAXMASXMASASMSMMMSMXAAMASMMSMMASAMAAMMAMSMMSASXAAMMMASXXMASXAAXAAMMASMMMMXAXMSAMXMM +MAAMMXSAMSSXSASXSXSSXAMASXMSMSSSMASAXXSMAMSMMMSAAXAASMSSMMSXMASAMAMAMAXAAAAMMMSMAXXAXXMAMASAMAXXMAXAMAXMMXSAMSMXMXASMMSXMAXSAMXASMSSMXMAMAAM +MMXMXSSXMAMXMASMSAAXXMMASXMAAMAAMMMMMAXMSXMASAMXSMMSSXAXSXAXMXMAMXXXSSMSMSMSAMXMSXMMSMMXSAMMSSXMSMSSMSMXXAAASMMXMXAXXXXXMXXMASMMSAAAAXSXSSSM +MSASXAMXMASXSXSAMMMMSXMASASMSMSMMSAMMSMAMMMAMASMXMMMMMMMMMMMMSSXMMMXMAMXMAXMASMAXXASAMAMMMMMAMXAAAAMAMXSMSSMMXXAXMMSMXMMSAXSAMAMMMMMSMMAAAXX +ASASMXMASMMASAMAMXXASAMASMMAAAAAMMAMAAMXMAMXSAMAAXMAAAAAAAXAAASAAAXASAMAMAXXAAMAMSSXMAXSAAMMASMSMMMMXMAXMXAAXSSMSAASMSXAAAXMASMMAAAAAAMSMMMA +XMXMASMXSXMSMXSSMAMXSXMXSXMSMSMSXSSMSXSASXSAMXXSASXSSSSSSSSMSSSSMMSASMSXSMXMASMAMSASXAXSMSSSSMMAXSMXSMXSMSSMMAXASMXMASMXMSMSAMMSXSMSSSMXXXSX diff --git a/2024/04/sample.txt b/2024/04/sample.txt @@ -0,0 +1,10 @@ +MMMSXXMASM +MSAMXMSMSA +AMXSXMAAMM +MSAMASMSMX +XMASAMXAMM +XXAMMXXAMA +SMSMSASXSS +SAXAMASAAA +MAMMMXMMMM +MXMXAXMASX