2024 - Day 4 part 1

This commit is contained in:
kleph 2024-12-05 18:11:10 +01:00
parent 43415f0ffc
commit 7463f0f9db
3 changed files with 210 additions and 0 deletions

60
2024/4/4.py Normal file
View file

@ -0,0 +1,60 @@
#!/usr/bin/env python
# 2024 - Advent Of Code 4
# file = 'input_example.txt'
file = 'input.txt'
# pylint: disable=consider-using-with
input_lines = [line.strip('\n') for line in open(file, encoding="utf-8")]
MAX_X = len(input_lines[0])
MAX_Y = len(input_lines)
# for line in input_lines:
# print(f'{line}')
def find_xmas(grid, start_pos, vector):
# vector = (x, y)
x = start_pos[0]
y = start_pos[1]
xmas = ['X', 'M', 'A', 'S']
for i, _ in enumerate(xmas):
if grid[y][x] == xmas[i]:
if i == 3:
return True
x += vector[0]
if x < 0 or x > MAX_X-1:
return False
y += vector[1]
if y < 0 or y > MAX_Y-1:
return False
else:
return False
return True
accum = 0
for pos_y in range(0, MAX_Y):
for pos_x in range(0, MAX_X):
if find_xmas(input_lines, (pos_x, pos_y), (1, 0)):
accum += 1
if find_xmas(input_lines, (pos_x, pos_y), (-1, 0)):
accum += 1
if find_xmas(input_lines, (pos_x, pos_y), (0, 1)):
accum += 1
if find_xmas(input_lines, (pos_x, pos_y), (0, -1)):
accum += 1
if find_xmas(input_lines, (pos_x, pos_y), (1, 1)):
accum += 1
if find_xmas(input_lines, (pos_x, pos_y), (-1, -1)):
accum += 1
if find_xmas(input_lines, (pos_x, pos_y), (1, -1)):
accum += 1
if find_xmas(input_lines, (pos_x, pos_y), (-1, 1)):
accum += 1
print(f'{accum=}')

140
2024/4/input.txt Normal file
View file

@ -0,0 +1,140 @@
XXAMXSSMSSXMAXMSXXMAMMMXXXXSAMXMSMSMXSAMXMSMSXSXSSMSMXXSXSXSXSAXXMASASMSMXAASXXMAXXXXXXMXXAMSAMXSMSMMSXXMASMMSMMMMMMXMAXSXMMSXXAMXXXMMMMSAMX
SSMMXMAAAXMMSSMMMMMAAMSMAAAMXMAXMAAAMSAMXXAASAMAXAASXMASXMASAMAMSSMXASAAXSAMXMAXMMSSMMMSMSMAAAAAXMXAAXXXXAXMASAAAAAAAXSXMAXAAAXMSAMXMAMXMXAM
XAAMMSMMMSMAAAXMAXMASMAXSAMXASASMSMSMSAMXSMXMMMAMMMMAMXMASAMAMAMMAMMMMMMMAXXASMMAAAAAAAAAAXMSMMMSMAMMSMMMXSMASXSSSSSSSMASMMMSSXXAMAMSASXMSSS
SSMMAAMAAMMMMSMSXSAAXXMMXMAXMXMMAMAMMMMXXASXAMSMSMXSXMMSAMASXMAMSAMXSAXMAMMMXAAXMMSXXMXASXXXXMAMAXXAAAAAAAXMXSAXAMAMXAMAMAAXMAMXAMAXMASXAAAS
XMASXSSSSXAMSMAMASMXSMXMASMSSSMMAMAMMMMXMAMXMMAAAAMMAXAMMXAMXXSAMXMAMMSXMXASMSSXSXXMMSAXAMXMMSMSMMSMSSSMMSSMMMXMMMSSSMMMSMSXMAXSXMXSMAMMMMSM
ASXMXXAXXXMSAMSMASXMMXAXXMAAAAAMSSSMAAMSMAMASXMSMSASAMXSASAMXMMMSMMASMSASMMSAXXMMAXAASXMAAAMAMXAAMSXXAAXXXAMSXMXXAAXAASXAAXXMAMMSAMXMAXASMMM
XMMSSMMMSXXSASXMASAMAASMMMMMSMMMMAMSXMXAXAMMSAAXAXMAMSAMMAXXAXAMAMSASMSAMMSMXMAAMSMMMMXAAXMSSSSMSMSMMMMSXSAMAASAMXXXXMMSMSMMMMXMAXAXSMSMXAAA
SXASAAXAMMMXXMXMAMMMMMXAMXXXMMXSMAMAMSMMMSMXSMMMMMSMSMXSMMMSXXXXAMMAXAMAMSAAXSXSAXASXMSSXSXAAXAAMAXAAAXSASAMXXMASMMXAAAXXAAAXMASXMMMSXAASMMM
AMSSMMMXXAAMMXXMASXMXXSAMSSMSSXASMSSMSASAXMMXAAXXAMXAMXXAXAMXMSSMSMSMSMSXMMMMXAAASXMAAAAASMMSMMMMAMSSSSMAMAMAXMXMAASMMMSSSSMMSAXAAXAXXAMXAAA
MSMSXXAASMSMMAMMAMAXAAMAMAAAAMMAMXMAASAMASXMASMXMASMMSASMMSXAXMASAAAAXXAXSXMSMXMXMASMMMMMMAXXXXAMAMMAMXMMMMMASXMMMMMAAAAMAMXMMASMXMSSMSXSSMM
XAAMXMAMAAAASASMMSAMXSSSMMMMASAMXSSMMMAMAMMSMAMXMAXMXMAAXAMXSXSSSXSMSMSMAAMXAAMXMSASMXAXXXXMAMMXSXSXSAMXMASMAMAAMMMMXMMSMMMXXMMMMAAAAXAAMMXS
SMSMAASMSSSMSASAMAMXAMXXAXXSAMXSAAXAASAMXMAXXAMSMSMAXMSMMAXAMMSAMAXXAAAXSMMMMXMAAMAXXXMXSMMAMASAXAMXMASXSMSMMSXMMASXXMXMAMMSMSMXSXMASMMSMAAM
XMAXAXAMXAAAMAMMMXXMASMSXMMAXXAMXSSSMSMSSMASMSSXAXAMXMAXXAMSXMXAMXMSMSMMMXMASASASMSMSMAASAMMSASXSSMMSAMMAMXAMSAMSXMAMSAMXSAAAAAMAAXXAXXAMMSS
MSMSXSSMMSMMMMMXAXSSXMASMMSSMMXXMAAAAXAAXMAXAXAMXMSSXSASMXSAAMSSMSAAMAMXMASASASXXAAASMSMSAMMMASAMMAXMASMSMMSMMAMMAXAXSXMMAXMSMSASMMSMMSASAAM
XAASAMXAAXXXMAXMMSXAAXAXAAAAASASAMSMMMMMSXMMSMMXAAXXXMASMXMXSMAAASMMMMXASAMXSMMMMXMSMAMMXAMXMMMMMMSMMASAAXAAASXMSSMMMMAMAMXXXXXXMXAXAAXAMMSS
SMSMMMSMMSXSMMXAMMXMASMSMMSSMMMAAXAMAAXASMSAAAXSSSSMMSAMXMAAMMSMXMASASMMSASAMASXSXSXMMMSSXMASAMASXMASAMMMMSSMMAMXMAXMMSMSXAMMMMAMMSSMMSSXAAX
AXAXXXXAXMASASMSMSSXMAXAXAAAXAXXXMMSXXXXMAMAMMMXAAAMMAXMSAMSSMXXXSXMASAXMAMMSMSAMXMXXMAMAMSSSXXAMAMXMASAMAAXAXSMAMSSSMAXMAXXSAAASAMAAXMXMMSS
MMMSSSSSMMXMASAMXAXMMSXMMMXSSMMSAXXMXSMMMSMSSSXSMXMMMXXMXSMAAMXMMMMMXMMMMMMAAAMMMAMXSMSSMASAMXMSSMMXASAMMMSSSMMSMSAAASMMXSXASMSXMASMSMSXMAXM
XAXXAAAMXXXMAMAMSSXSMMASASMXAAASMMSMAXMASAAAAAAAAASAMASXXMMSMMAMXASAXXXXXSMSMSSMMASAAMAMXSMAMMXMAMMMXXMXAMXAAAMAMMMSMMXMAMMXMAMASAMXMAXMMXSX
SSSMMMMMMAXXXSXMXAMSASAMAMASMMXSXAXMSMXSXSXMSMMMMMSASMMMAXAMXMXSAAMAXSMSAXAXSAMXMAMMSMMAMXXAMAMXMAMAMXXSMSMSMSMAMMAMXSAMMSMSMAMMMXMAMAMMSAMX
XMAASXXAAMSMMMMSMMMSAMAMAMMXASAMXSMMMMMMXMXXAAAXXAXAMAASXMXSAMASXSMMMXAAMMMMMMSSMXSMAAXSMSSSSXSAMMMSMMMAAAAMXXMSMMSSMSASAAMXMASXMAMXSAXAAASM
MSSMAASXSMAAAMAXAXAMXMASASXSXMAXMAXAAAAMAMSSSSMSMSSSXXMMMAXXXMASAMAXMMSMSAXAXMAMXAXXXMMXAAAXAASMSMAAAMAMMMSMXXXXAAAAAMMMXSSXSASASMSXMMMSMXMX
AAAXMXMAAXSSMSAXSMMSSXMMAMAAAXSMMSSSSSSMAMAAMXAAAMMMSSSMMSMSMMXSMSSMMAMXSMSMSMAXSSSMXSAMMMSMMMMAAMSSSMASAMAAXMMSMMSSMMXASMMMMXSXMASMAAAAMSMS
SSMMXXMSMMXMAMMMMAAAXASMSMSXMMASXAAXAMMMSSMSMMSMXMAAAXAAAXAXAAAXXAMAMMSAMASAMXSMMAAAAMMXSAMAMAMSMMMAMMAXAMAMSAAAAMAAASMXSMAAMAMAMXSSSMMSAAAA
XAXASAMASAAMXMMAXMMSSXMAXAXAMSXMMMSMSMAAXMAAXXMXMXMMSSSMMMMMSMSSMSSSMAMAMXMXMAXAMXMMMSMASAMXMXXAMAMAMMMXMMSXMMSSMMMSXMASMXSSSXMAMXMXMAMMMXMM
SSMSMMMAMMXSXSMMSASAMXMXMAMXMSAMXXXAXMMMSMSMSMSASAAMAAAXSAMAAAAXMAAAMXSAMASMMXSAMMSSXXMASXMSXMMMSASXSMSAAMXAXMMMMAXXAXSMMMMMAMSMSAMMAAXMMSMX
XMMMSXMSMSXSASAAXMMSMSMAMSXMASAMSMMMMAMSMMAAXASASMSMMSMMSXSXMMMMMMSMMAMXMASASASAMAAMMMMMSMMMASAMSAMXMASMSMMMMSAMSMMMMSMSAAAMAMAAXAXASXSAAAXX
MXAMXXXXAXAMAMMMSMAAXAAXSAAXASXMAAAMSMMAAMMMMMMXMAMAAAMXSAMMXAMXSXXXMXXAXASAMASMMMSXMAXXXAASAMXXXSSXMMMAXXMSAMMMAAAAMAASMSSSSSSSSMMMMASMSMSM
ASASXMSMMMMMAMAAAMSSSSSMMXSMASASXSMMAXSSXMAMXSASMMMSSXSAMAMASMSXMASMMMSMSMMAMXMAASXMSMSMSSMMXXXAAXMASMMMMAXMMMMSXSMSMMXMAMXAAAXMAXAXMAMXMXMA
MASMAAAAXAAMAXSSMMAAMXAXXAXMMMXAMMMMMMAMXSXSAMXSAAAAXXMASAMXSMAAMAMAAMAAXMASXAMMMSMXAAAXAMXXSMSMSMSAMAASMSMSSSXSAMAXXSAMAMMMMMMSMSMSMXSASAMS
XMAMMSSSMMSSSMMAXMASMMSMMXSAAMMSAMSASXASXMMMXMAMXMSSMXMAAXSXMMSSMAMSXSMMSMMXSMSSMXMSMSMSMSMXMAXXAAMMMSMMAAAAXSAMAMAMASASAMXXMMAMXAAMAMMMXAMM
MXAXMXMXMMAMXASAMXMAMAXXMAXXMMAMMASASMSMMXSASMXSAMXMAMSXMMSAMXAMMAXMAXXAAAMAXXAAXXMMAAMAMAXAMSMMMSMMMXAMSMMMAMMMSMMMXMAMXMMSAMAXMMMMAMXMSMMM
SMSMMAMASMMMSMMXAXSAMXSMSMSSSMSSSMMASXMASAMASAASXMAMMMASXASAMMASMSAXMASMXSMMMMSSMSAMMMSASXSASAAAAMASAMAMXAAXXAMAMASXSMSMXMAAMSSXSAMSXMXMAXSA
XXXAXAMAMASAMASXSMMXSAMAXAAAAAAAXXSAMASXMXSAMMMSASXSASMXMMSXMXXXAXMXMMXAAMASXAAAAAMMAASMSMAMXXXMXSAMXSMSSXMSMXMASXMAMAMMXMASXMXXSAMXAMXSMSAA
MSSSMAMXSXMASAMXAAXAXAMMMMMSMMMXMXMAMXMXXMXMXXXSAMASAMXXMAMAMXMMMMXXMMMMMXAMMXSMMMXSMXMAMAAMMSSMXMASXSAAAXSAMXSASXMAMAMMASAMXAMMSAMSSMMXXAMM
XMAMSAMXAXSAMXXSSMMASXMSSSXXMXMASMSMMAMSMMASMMMMXMMMMMMAMASAMASAXMAMAAMXSMAXAAMXSXASMMMXMMASAASAMXSMAMMMMMSAMAMASXSASXMSASXMMXMASAMXXMAXAMXS
AMAMSMSSXMMMSSXAAXXXXAXAAXASMSMAMAAXSXMAAMASAAXMXXSASASASASMSASMSXASXXMASXMMMXSAAMASAASMSSXMMXXXAXXMMMXAXASMMAMXMASXMMXMAXAXSXMXSXMXSSSSXXAM
ASXMXXMMXMASAXMSMMSMSMMMSMMMAXMASMMXMASMSMASXMMSAAXASAMASASAMXMAMMMXXAMXSASMMAMAMMXMXMSAMXMSMMSSSSMMAMSMMAMASXXXSXMMSSXMSSSMSXMASAMAMMXAAMXS
MMMAMXXMAXMMAXXMXMXAAXAMAXXMMMSMSAXAXMMAMMXMMSAMMSMMMAMAMMSXXXMASAMMSXMXXMMAMXSXXMASXMMMMAAMAAXAAAXSAXAAXASMMMMXXAAAAXASAAAMXAMAXXMASXMMXSAM
MSAMXSXXXSSSXSMMXMAMMMMXMXMASAAXMASMSXAMXAAXXMMSAMXXSXMXMASAAXSASASXXAMSMXSXMMSAMSAXAXAASASXMMSMSMMSXSMSMASAAASMMXMMSSXMMSMMSMMMSMMAMAAXAMAS
XMAXASMSMAAMAMAMAMMASAMXSASMMSSSMAAAMXMXMSXXMAXMASMMMXMSXMMSMAMAXXMXSASAAMMASAMAMMMXAMSMSAMAMXXMAXXMXSAAMXMMSMAAMSSMAMAMAXAMMMSAAAMSSSMMMSMM
SMSMAXAAAMXMASAMAXXAMASASXSAAAMAXSMSMAASAMAXSAMMXMAAXAMXMSAMXXMSMXXMAMMXXASAMASXMASXMMMMMXSAMAXXMSAXAMSMMAXMXMMSMAAMMMAMMMAMAAMMMSMAAAAXAAMA
SAMMSMSMSXXSMSASMSMSSMMMSAXMMMSAMXXAXAMSAMAMSASXASXMXAXAAMASXMAAAXSSMSSSMXMMSAMAMASAAAXAMASAMASMXSAMXMAMXMMMMSSMMSSMSMSSXSAMMXSXAMMMSMXMASXX
MAMAAAASMMAMASAMXMAXAAXXMMMSSXMMSMSMASXMAMMMMASMXMASMSSSMXAMAMSMAMAAMAAAXMAXMXSMMASXMMSXMASAXAXXXMSXMSMSASASAXAAMMAAAAXAMMXMMAXMMSAAMMSMSAMX
MXMMMSMMMMAMMMXMAXXSXMSSMXAAAXXXAAMXXMASXMMAMMMMSSMMAMAMSMMSXMAMMMSSMMSMMXXMSMSMMXSXXMAMMMSMMMSMSAAXMAASASAMSSSMMMMMMXMAMMSSMMMSASMMMMMXMAAM
MASXMXXXXSASXMXSXSXSAAAASMMSMMASMSMMSSXMMXSMXSAMXASMSMASAMXAMSMSXAAAAAAXSSMMAAMASXXAXSAMXMXAMXAAMXMMSAMMMMMMAXAXAASXSXSXMMAAAXASASXSAMMAMXMS
SASAMAMSMAAMMMMMXXAMXMSSMMXAMXXXAXMXAXASAMAMAMSMSAMXXSXMASXMMAAMMMMSMMSAAXASMMMMMAMMXMXSASXSMSMSMXXAMXSASAMMXXMXMMSAMMAMXMSSMMXMAMASAMSASXSX
MASMMASASMXMAAAXMMSAMXXMASXMMSAMXMXMASMMSAAMMSMXAXSAMXXSAMAXSMMMAAAXAMXMMSXMASMXSAMSAMXSASAXXAAMAMMMSASAMMSAXMSMSAMAAAAMMMAAXXMMSMASAMSXSXAM
MMMASXSASXMSSSXSXAMAXXMXSSXMAMAXAXSAMXMAXSSMSAMMXXMAMAMSAMMAMAASXMSSSMAMXMAMAMXASAMSASMXAMAMMMXMASXXAMMXSSMXSXAAAXSXMXMXAMMXXMASXAAMMMMXMASA
MSSMMMMAMAXAXMXSMSMSMMXMMMMSSSSSXSXASAMXMAMXMASASXMAMXXSASXSMSMSAMXAAMAMASXMMSMMMSMXMXMMMMXMAXXSAMMMMXSAMAAMMMMSMMAMXASMSSSMXASXXMMSMASAMAXS
AAAXSMSMSMMSSMMSAMXMASAAAAXAAAAMXAMXMASMMXMASMMMSASXSXXSAMAXMXXMMMMSMMXMASXAMXMXAXMXSMAAXSXSSMMMXMAXXAMAXMMMXMAAXMSAMXSAAAAAASMSXMAXMAMAMXSX
MSSMXXAAAAAAAMAMAMSMAMSSSMSMMMMMMMAXXXMMAXXAAXXMSAMAMAMMAMSMMXAXMAXMAMAMSMMAMAMXMSMAMAMMXSAMXMAMMSSSMSSSMXAXXMMMSMMSSXMMMMMMMAAXXMAMMMSMMMXM
MMMMXSMSMMMSSMMXAMAMAMXMMASXMAAXASXMSSMXMMMMMSAMXMMMMAASXMMASMMMSXSSXMXSMAMMMASASAMAXMXSAMXMASASASAAXAAAMSMSAMXXMAMAMAMMAXASMMSMMXSSMAAAAAMA
XAAAAXAAMMMXMAMSSSXSXMXAMXMAMXMMXSAAAAXAAAXXSAMXAXASXXXAMXMXMAMMMAMAMSXMMMMASASMXAXASXMMXSASXSASXSMSMMSMMAMAAMSSSSMAXAMMMSMMAAXXXAMAMSMSMSAS
SSSSMMSMSAAAMXMAXAMMMSMXXAMXMASXXMMMMSMSSSXXMAMMMXMSMMSASASXSMMAMMMMMAAMAMXAMMXMSSMASXAAXSASAMAMMSXMAMAMSASXMMAAXMSSSSXSAAASMMMXMASAMMXXAXXM
AMXAMXMXSXSXSMMMXMAAAAMXXMXSXMXAAXXMXMAXAXMXMAMASAMXAXSAMASXAXSXSXAXMSMMASMAMSMXAAMMMMMMXMAMXMSMAMASMMAXSAMAASMMMMAMAAAMSSMMAAXXSASXXSAMXMXX
MMSMMAAMMXMXXMAXASXSMMSSSMASAMXSAMXMAMSMSMAMSXSAXASMMMMMMAMMMMSAMMAMMMSMASMMMAXMASMASXMMMMSMXMAMAMMMAXSMMSMSMMAXXMASMMMMXXXMSMSMMASAMMMSSMSS
XMAMMXSAMASAMSSSMSAAMSAMAMASXMAAAMXSXSXXXAXAXAMASXMMASAMXAXAMAXAMMSASAAMXSAMSXMMAMXXMASXAXAMAXMSSSSSSMMASAMXXSAMXSASXSAMXMXXMMXAAAXMASXXAAAX
MSASAAXXMAMAXAXAXMMMMMASAMASAMMSXMMAMMMAXSMSMXMASXAMMXXSXXMAMXSXMXXAMASXAMAMSAMSSSXSSMMSSSMSSSXMAAAAAASMMMSSMMAAXMASAMXMXAAMMAXSMSSXSXMSMMMS
MSAMMMASMASMMMSMMMXXXSXMXMAMAXAMAMAMAAMSXAMAAAMASMSMSMSMMSAMMAMMMAMXMXXAMMSMXAMAAXXXAAXAXAXAXMAMMMMSMMMXXXAMASXSXMSSXXAMSXSAMSMAAXXMMAMXMASA
MMSMXMAXMAMAAASMMSAMAMAXASXMSSMSSMMXXXSXMSSSSSXXXAMAAXAAASAMMXXAMSXMMXMASAMMSSMMMMSSMMMXMXMSXXSMASXXMXSXMMMSXMAMAMAMMSSMSMXXAAMMMMXMSXMAXXXM
XAMXAMASMSSSMSMAAMASASMMMMAMAAMAMXXSSMMMAAAAAAXSMMMSMSSSMMAMXAXSXMAMSASMMXSXMMASMAMAASXSXMAMXAXXAXMASAMXMAXAAAASMMAAMMXAXMMMXMMSAMXMAMSMSMAM
MSMSXMAMXAAXMAXMMXAXAXAAMSXMMMMASXMMAAXMMMXMMMMXAMAMMMMAMSMMMMSMAMXMXASXAAXAASAMMSMSMMAMMAAXMXMMMSSXMMSMSASXSMASXSSSXAMMMMXSXAMSAMXMAMAAAXAM
AAAAAMSSMMSMSMSMSMSMMSSMMSAMXASXSMAMSMMMASXSMXMMAMAMAASXMASAASAMXMMMMMMMMSSSMMXSAXMMAMXMASMMMAXAMXMXXXAMMMSAMXAXXAMXMXSASXAMASASAMXSXSMSMSXS
SMMMSMAAXAXMAAAXMAMAMAXMASAMSASAMXXMASASAMMXAAAXSSMXSXSASAXSMSXMASAXAAAXMXAMAMXMXMASMSMSAXAASASXSAMMMXMMAMMMMMXMSMSAMXSAMMASAMXMAMMMAXAXAMMX
MASXAMMMMSSMMSSSMAMAMSMSAXXMMAMAMAXSASMMMSMSSMMSXAAXMAMMMMXMXXAXMSXSSSXSMSMSAMMSAMMMAAXMASXMXASXSXSASMSSXSASASAAAAAMMAMSMXXMMSMSMXAMMMMMSAMX
SAMSAMXAXXSAAAAXMAMXMMAMASXXSMSMMMXMAMAXAAMMAAXSXMMMMAMXASMSASMMMMMXMMXMASXSASASASAMXMMMAMASMMMMMASAMAAAAMASAXMSMSMXMAMAMMAMXSAAASAASASXXSSM
MAXXMSSMMAMMMMXMMSXSAMMMAXMASAAMAXXMAMAASMSSSMMMMXSASMMSXSAMXMXAAMMXAMMMAMASAMMSAMASXSAMXSAMAXMAMXMMMSMMMMAMASAMXMMSSMMASXMMAMXMMXSMSAAXMASM
ASXMAXAAMSMSMMMAXAXMAMXMASMXMMMSSMMSASAMXAAAAMAAAXMASMAMMMXMASMSMSAMXMASMMXMSMXMXSAMXSMSXMMXMMSSMMAMXAAAXMXSXAXSXAAMASMXMAMMXXAXXMAXMAMSMAMS
SXMASMMMMAAAAASXMMSSSMMSAMXMXSMAXSAMXXXMMMMXMSSMSXMAMMAMAMAMMXAAAXMMSMAMAMXAXXXAXMMMXXSAMXSASAMXMSAMSSSMSMAMMMXSMMXSASXMSSMMASMSAAXXMAAAMAMA
XXXXMXMXSMSMSMSASAAMAAAAAMXMAAMAXMSMSMSXMXMSAXAAMXMASXSSSSSSSMSMSMXAAMASMSMSMSMSSMXMSXAXAASXSMSMMXAXXAXAMXASAXAMAXAMASAMAMAMAAXXMASXSMSAXSSM
MMMMSAMXXMXMXASAMMSMSMMMMMAMMSMMSMASAAAMSAMMXMMXMASMSXMAAAAAXAMXXMMSXXAXXAAAAXAAXMAMXXMASMMAMAAASMMMMAMMSMXMXXMMAMMMAMAMASXMMSMXXASAXAXMAMAX
AAXAXAXSMSAMMMMMMXXMMASXSMMMAAXAAMXXMMMXMASASXSMSAMXMMMMMMMMMSMSAXAXMMXMSMSMSMMMXXAXAMXMAMMAMMMSMAAXMSMXSASXSXSAXMAXMSMMMSAMSAMMSMMXMASAXSAM
SSMMXSMAAXASXAAMXASASAMAMAAMXSMSSSXMXMXXSSMMSMAAXXSAMXSAAAXAAXXXXMASMXSAXMAXMASMXMSSMSMXMAXSMMXAMSMMMAMAXAMMSASASMSMXAXAXXAXSAMAAXAMXXAAXXAA
MMMSAMMXXSSMMSSSMASAMMMSSMMXSAMXMAMSSMSXXAAAXAMMMXSAMASMSXSMSSMMXSAXAAXMXAMMMMMMSXMAXSASASXAXSMSXXASXMMMMSMXMAMAXMASXMSMMMSMSAMSSMMSSSMSMSSM
XAAMXMXSXXMAXMAAMXMMMSAMXAAXMAMXMAMAAAMMMSMMMXAMXXXAMMSXMXXXAAAAAAXMMMSXMMXSAMAAXXXXMMXMAMMMMSAMASAMXXAXMMXSMSMMMSSMMAAAAAAAMXXAAAXXAAAAXAMX
MMMSMMASMMAMMMSMMSAMAMMXSMMSMMSXSMSSMAMAAAAMASXMSSSXSXSAMXSMSSMMSMXXAAMXAAASASMMSMSSSSSMAMAXAMAMMMSMSSMSXMAXXAAAAXXAAASXMSMSMSMSSMMMSMMMMMSM
XMXAXMASAXAAAAXAASAMSMSAMXASAXAAXMAXXAMMXSSMAXAXAAXAXXMAMAAMXXXXMASXMXMSSMXSMMAMAMXAAXMMSXMMSSXMMAMSMAMAAMAMSSSMSSSXMAXAXXAAAXXAAXMAMAAXAXAA
AMSMSMAXAMMSMSSMMSSMAAMMMMXSAMMXMMSSSMMSAAAMXSSMMSMSMXSAMXSMMSSXMASAMAMXXXMSXSMSMXMMMMSMXASAXXXXMASASAMSMSSMXMAXMAXAMXSMMMSMMMMSSMMASXMSASMS
XMAXSMXMAMXAXXXAAMAMMSMXXSAMMAMXAXAAAXAMMSMMAMAAXXAAMMSXXSAAXAASMASASXSMMSXMASASAASMMMAASAMXSMMXSMSMSMMMMAMMSSSMMAMXMAMXAMAXSAMMAXMASAAAASXA
SXSMSAMSSMXMSMXMXSMMSAXXAMAMXXXMASMSSMMSXXXMASMSMMSMMAXXXMMAMXMMMASXMXSAAMAMAMAMMMMAXSMMMAMAAAAAAAXXSMXAMXSXAAMMMMSMMASASMAMSAMSMMMSMMXMXMAS
XAMAMXMAMMMMAMAMMMXXMASMSSSMSMSXMXXAXAAAMSXSAXXAAMXMMSSMMSASXSAXXMSAMAMMASASAMAMASMXMXXASXMSSSMSMMMMMAXSAMXMMXMAAXAXSMSAMMAMSAMXXAXXXSAMMMMA
MXMAMMMAXMASASASAXSSMXMAXAMAAAXAMMMMSMMMMSASXMSMXMAMAMAMASMAAXMASASXMAMSASASASXSASAMMXSMSAAXXXAXXMSSMMXMASMXAASMSSSMMXMASXMXSMMMSMSMXSAMAAAX
SASAMXMSMSXSASASASXAMMMXMAMSMXSAMXAAAAXXAMAMSAAMASAMASMMMSXMASXAMAXXMXMMASASMMMMXMAMXAXXSMMMAMMMMSAXAXSAMXXMSMSAAAXXMAMXMMSAMXAAAMAXMMSMSSSS
SASASXXMMXAMAMXMXMXSMAMXMXMAAXMAMSMSSSMAMMXMASXSASASXSXSAMXXAAMXMMMMMMMMXMXMASXSSSSMMMSMXAAMXMMAXMASMMMMMMSMMMMMMMMSSXMAMXSASMSSSSSXSAMXXAAX
MAMAAMASMMMMSSMSASAXSASAMMMXSSXMMAAAAMXSMMSMXMMMASAMAMASMXSMMMAAAASMMAXMXSXMAXAXXMXAAMAMSSMSSMSXSXAMXAAASXMAASAXAAAAAXSSSMSAMAAAMAAAMAMSMMMM
MSMSXMAMMAAAMAASAMAMSMMASAASXMASMSSMSMXMAXMXAXAMMMAMSMAMXAXASXSSSMMXSSSMASAMSMMMSMXSMSAXMXSAMXMSMMXXXSSMSASMMSAMSXSMAMMMAXXXMMMSMMMMMMXMASXX
AXAXXMAMSMMXSMMMSMSMSASAMMMMASMMAMMMAMAMSMSXXSSXSSMMXMMXMXSXMAMXXASXMASMASAMAAAAMAAXXMMXAXMXSXXAXMASMMXAMAMAAXAMMAMXXMXSMMMSMMAXXASXMXASMMAS
XMMMMMMMSAMMSXAMAXAASAMAXXMSXMXMXMASASAXMASMMMMMMAAAMXMSMXMMMSMMSAMAMAMMXSASMMMMSAMXASMMSMXASMSMSMASAAMAMASMMMSMXASAXSAMAAAAAMSXSASAXSAXXMAS
MMAAAXMASAMAXSXSMSMMMMMSMAAMASXMASASASXMMAMMAMAASMMMSASAMMAAAAXAMXSXMSSMAXMAMSAXXMSMMMSAAAXXSAASAMXSXMMMSAMMAAAMSXMMMMASXMXSSMAAXASMMMXMSMMS
MSSSSSSMSMMSMMXAXAXAAXAXMXMMXMASASMSAMMSMMMMAMSMSAMASXSASXSMSSSSXMAAXXAXMASAXMSMMXSAXAMXMSSMMXMSMSAMAMAXMASMMXMASAAMASAMAXAXAMMSMMMXXAAMAAAX
XAAAXAAXSAAMAMMMSSSSSMMSSMMSSMMMASAMXMASAMMMSXMASXMASMMAMAAAAAXAAXSXMSSMXMMMSMASMASXMXSSMAXAMSXMXSASASMSMMMMASMAMMMMMMASMMMSAMSAMSASASXSXMMS
MMSMMSMMMMMSAMXXAAAXAMXAAAXAAASMXMAMMMXXAMXMMAMXMXMASAMXMMMMMSMSAMMMASMMMAASAXMAMXSXMAMXMASMMSASASASAXAXMXMXAXMSMMSMXXAAASXSAMMAXAASMXMSMXAX
XAMAMMASMXMSAMXMMSMSMMMXSSMSSMMXXXXMMSMSMMAMSAMXAXXMSXMSXMAXXAMXAMXAXXMAASMSMMSAMMMXMASXMXSXASAMXMAMMMSMSAXMMSAMAXMASMSXXMASXMSSMMXMASAMXMSS
MXSAMSAMXAMXXMXSAMXMMAXXAXMAAXSMSMSXXAAAXXAMMAXMSMSMSAMXMSMSSMSXSMSSSMSAXXAXAASASXAASAXXAMXMMMXMAMAMXAAASMSMAMMMXMMAXAXMASXMAXAAAXSMSMSMSMMA
SMSAMMASXMSSMSXMASAMSASMMMMSMMAXAAAASMSMSSSSSXSAAAXXMASMAAAXAXMAXAAXAMMXMSXMMMSAMMSMSMMSSXMXAAAMXMAMXXMXMXXMMSXMSMMMSSMMASASXMSSMMAXAAXXMAAM
MAMXSMMMXAAMAXAMAMAMMASXMAMAMAXSMSMMXXXAMAAAAAMXMMMMMXMAMMSSXMMMMSMSMMSAMAMMXAMXMAMXSMMAMASXMSSMSSSMAMSAMSAMXSXMAAAAMAXMASXMXMMMAMMSMSMASAMX
MAMAXAXAMMMMMSXMAMAMXAMXSAXAMXXAXAXSSMSXXMMMMMMXXMASXMASXXAAAMXAXXAMXASASAAMMSSMXXSMSAMXSXMMMMAMAAAMAMSASAXSMXMSSSMXSASMXSXMAXMXSXXAAAXAMXMA
SMSSSMMMSAMSASMSMSSSMXMXSASMSXMASMSAAAMXASXMXSAMXMAXAMAMAMMSMMSSSMAMMMMAMXSXAMAMXMSAXMMMMAAAASAMMSMSMXSXMMXXAAAXAMXASAMMASASAXSAMMXMXMMASXAA
AAAAAXAXMASMASAAMAMXAASAMXMAAMAXAMMMMAMMXMAMAMASMMSSSMASAMXAXXXMAXAMAMSMSAXMXSAMAMMXMMAAXSSSMSXMXAMMMAXAAXAMMMXMASMMMAMMASMMASMASAASXSMXSAMX
MMMSMMAXMSMMXMXSMXSXSXXASXMMMMMMSXMXSAMXASXMAMAMAAXAASASXSXSSXMASMMSAMASAAXAASMSXMAMSSSSXMAXMXAMSMSAMXSSMXMSAAXSAMAXSXMMASAMXMXSMMXSAAXAXXXX
XAXAMASXMXAMXSAXMAMMMMAMXAXMASXAASMASAMSAMMASMMSMMMMMMMSXAAMAMXSAMXSXSXSMXMMMXAMMMMMMAXMXMMXMMXMAASAMAAAMSASMSMMASXMAMAMASMSSSXMAXXMXMMMSMSM
SSSMSAMAASAMXMASMASAAMAMSMMSASMSMXMASAMXAMSAXAMXXMXXMSXMMMXMXAMXAAMSASMMXMSXSMAMAASMMMMSXXXAAXMMMXMSMMMAMSAMAAXSXMMSAAXMAMXAAMAMAMAMXXAXAAAM
XAAXMASMMSAMAMSMMASXSMMXAAMMAMAMMSMASMMSAMMASXMMSMSAXSAXSMSXSAMSXMXMAMMAAAMAMSAMMMSAAMAMAASMMMXAXAAXXMSSXMAMSMXAMXAAASXMMMMMSMASXSXSXMSSMSMS
AMMMSXMAASXSAXMAMXSAMXSXSMMMSMAMAAMXSXMAMXSAMASMSAAMMSAMAAAMXAMXXSSMAMSMMSMAMMXSMMSXMMAMSMXMAXXASMSMAMAMASXMMMMXAMSMXMMMSASAMMXSAAXAAMMMAAAA
XAXXSXXMASAMMSMMMAMXSASAMXSAXXXMSMSAMXSASAMXSXMAMXMXAMXMMMMMSMMXAAASAXAASXMMSMMSAAMSSSMXXXXSASAMXAMMAMAMXMMAAAMMXAMXAMAAMMMAMMMMMMMXAMAMMMSM
SXMAMASXAMAMAXAAMASMMAMAMAMASXMMXXMXSASMMXXMXMMMSXXMSSSSXMSAAAXMMSXMSMSXMAXAAAASMMMAMAMXMMXMASMMMSMSXXMXSAMSSXMAASASASMSSXMAMXXASXSXXSASAAXX
AMMAMMMMMSMMXSSMSXSXMAMAMAMAMMSAMXSMMMSAASMSMAAAMXMXAAXXMASMSMMXAAAXXXMASAMXSMMMXAMXSMSMAXAMAMASAMAXMXXXSAMAAMMSXMAMAAAMAMSSSMSASASAMSASMSMA
XXSAMXAXMAASMXMASXSMSXSASXSASXXASXXXAAMMXXAASMMSSMAMMSMMMAMAXASMSSSMMXSXMAXXAAXMMXSAMXXXSMMMMSAMASMXMAXXSAMMSMAXAMXMAMAMAMMAAAAAMXMAMMMMMAAM
SXSASXSSSMXSSMSASMSAMASAXMAMXXSAMXMXMXSAAMSMMMSAXASMAMAXASMAMASAMAAXSAMAMASMXMMSAAMASMSMMXSAMMXSAMMMAMXASXMAMMASXMXXAXASASXMMMMSMMXSMSASMMSS
MASXMXAMAMXSAMMASAMAMXMAMSSSMXMASASAAASXSXMAXMMAMSAMXSXMAMMMMAMAMSMMMASXMASAASAMMSMSMMAXAAXASMAMXSXMASAAMXXAXMASXMMMASASASMMMAXMASMMAMMMAMXA
MAMAAMXSXMXMAMMXMMSMMSMXMAMAMAMMSASMSMMAMXSAMXMXMMMSASASXXSAMXSXMAASMMMXMASMAMASAMXMASMMMSXMMXMMMAAXAMMMMXMSSMASMSAAMMMMMMAXSSMSAMAMAMXSAMSM
MASMMMAMMSMSSMMSMXMXAAXXMXSASXSAMXMXMAMAXXMAMXMXMXXMASAMXMSXMAXAXXMMAAAXSAMXXSXMAMASAMXMXAASASXAXSSMSSXAAXXAXMMMXMXXXAXXAMSMMMMMAMXXAMXMAMSX
MMAMAMAXAXAXAAXMXAMMMSSSMAMASXMASAXAXXMMSMMASAMAXMSMMMMMXXXSMSSMMSSSSMMMXXSXXMMMSMMMAMXXAXXMAMSAMXAAAAXAMXSMSMSSMMSXSAMMMMMAAMXSXMSASMSSXMMM
SAAMMSAMSMSASMMMSMSAAMAMMAMMMMXAMXSMSSXMAMAAXAMASXSAMAXMXAAXMASAAAAXXASXMMMMMAAAAAXSAMMMSSXMAMAMASMMMSMMSMAAMMAAAAXAMXMASASAMXAMXMSAMAMAMSAS
XMSMXMAMAAXAXXAMAXMMSMAMSXSSXSSSSXSXAMASXMMSSSMSSXXAMXXMSMSMMASMMMSMSMMAAXAAMAMMSMMMAXMAAAASMSAMXMXAAXMXAXMAMMXSMSMMMAMMMASMXMXSAXMXMXMSMSAS
MAAMXSMMMMMAMSSSSSXAAMMMMMAMXMAMAMXMXSXMSAAXAAMXMASMMSXAAXXAMAMAAAMXSASXMMSXSAMXXAMSSMMMSXMMASXSAMMMSSXSMSXSSXMXAXAASASAMMMXAASXXSXXAXAAAMAM
SMMXAMXAAAMAMAMAMAMXSSMAXSAMAMMMXMXSMMMASMMMMMMAMXMAAMMMMAMXMASMMXSAXXMAXXAXSASASAMAAAMAMAXMXMMSASAAXXAMXMMAAXAMSMSMSASMSMSMXSAXMXMMSSSMSMAM
AAXMASMSXSSMMSMMMAAXMAMAMSASXSAMASXMAAMXMAAXXAMMXXXMAMAXXMAMMXXAASMMMSSSMSMMSAMASMMSSMMASAMXAXXSASMXMMXMMXMAMMSXMAMXMMMAXAXAXMASMAMAAAAAMXMX
SAMAASAXAAAXSAMMSXSASAMXASXMMSASAXMSSMXMXSMSSXSAASMSSSXSXMSMMSSMMXASXXAXAAXAMXMXMAAAXAMAMAMSMSMMXMASXMAMSXMAXAMMMXMXMASMMMMSXMSXMASAMMMMSASM
AXMSXMAMMSMMSMSAXMMAASMMMXASASXMMSXAAAAXXMXAAAMMMMAAAMASASXSAAAXASMMMMAMSMSXAXSMSMMSSXMMMMMAXXMASASAMXAXAXMAMAXAXMASXMSXMXAXXMXMSMMAXXXXXAMX
MMMMXMAMXXXAXXMXMASAMXXXXXXMASMSMSMXSXMSAMMMSMXASMXMXMASMMAMMSMMMXXAAMMMAXMMSXMASXAXMAXMAXSMMMXXAXXAAMMSMSSSSSSMSMAMAXSAMAXSASXMMXSAMSXMMMMX
XAAMMSXSAMMSSMMSSXMAXMMMSMSMXMAAASMMMAMSAMAAAXSXSMSXXMAXXMMMAAMAXASMSSMMMMXMMAMAMSAXSXMXXXAXXSSSMSMMMMXAXMAAAAAMMXSSMMSAMAXSXMASAMMSMSAMMSMM
SSSXAAMMASAAAAAXMASXMMAAMAXSSMSMSMMAMXMXMASMMXAAMASAMMSSXXAMSSXXMASMAMAMXMAMMSMSXSXMXXSAXSSMAXAAXAAAAASAMMMMMSMMAAMAMXSAMAXXXXXMASAXMXAMAAXA
XMMMSSMSAMMSSMMSMAMMAMSSMSMAMAAMAAMMSAMAXXAMXMMMMAMSMAXXMMAXMMMSAMXMAMAMAMAXAAXXAMMMSAMXMMAMMMMMSSSMSXSASAXXAXXMMMXXMXSAMXMMMSMSMMMSMSSMSSSS
SXAAAAAMAMXAAAXSMXMXMMAMXXAAMMMSSSMASASAMSAMXXASMMSXMXSAMXSXSAAXMXXSXSSSSSSMSSXMAMASMXMSASASAAAAXAAAXAXASAXMMSXSAXSMAASXMAAASAMSASMMMAAXAAAX
ASMMSSMMASMSMSMMXXSASXMSMXSSSXXMMMMXSAMXXMSMSXXMAMXMAMMAMXXAMMSSXMMMMSAAAAXMAXXSAMXXAAMXASASXXMMSSXMMMMMMMSMAAAMXSAAMASMXMMXSASMXMAAMSSMMMMM
MXSAXAAMXSAMSMAMAAMAMASAXXXAMMAMAAMXSAMXXAAXAMXSSMSMSSSSMXMXMAXMAXAASMMMMMMMSMMMAMSSSMSMMMMMMXXXAMAXSXMXAAAMMMSAXMASASMMSSMMSMMXXSXMMAXAMXMA
SAMMMSMMXMMMASAMSSMAMXSASMMAAAASMXSASAMMMSMSMSAAXSXAXAAMAMSMMSSSMSMMXAMXMAMXAMSSSMAAMMXXAAMAMXSMAXXMSAMSMSMSXAMMMMMMXAAAAAAMMXASMSXXMAXMMAXS
MAMSAMXSASASMSSXMMMMSMMAAXSSMSASAAMASAMXAAAXAMMSMMMAMMMMAMAAAAAAAAXSSSMASMSAMXAAXAMXMASXSMMASAXSSMSMSAMSXMAMMMSAAAAAMMMMSSMMAMXSASMSMSMSMSSM
XAMMASAMASASXXMXAASMAXMMMXAMAAAMMMMAMAMMSSSMMMXAAXASMAXSASXSMMSMSMMMAAMXXAMMXMMSMXSAMXMMAXSXMMMMMMMASMMMASXMAASXSSMSAXAAXMAMXXMMXMAAAXAMAXAM
XSXMAMMMMMAMAXMXMMSSXSXAXSAMXMXSASMXSXXAMAMAXMMMSSSMSSXSXSAMAAMAAXAMXXMMMSMMAAMMAASXSAXMSMSASXAMAAMMMSSMMMAMMXSAXAXAXMMMSMSXSAMXMSSMSMAMMMAM
MMAMSSXXAAAMXMAXSAMMMSMSMSAMXMAAMMAASAMXSMSXMMXSAMXXAXAMAMXSAMMSMSXMAMMXMMASMSMMMMMXSMSSMAXMSMMSSSXSAAXMMSXMXAMXMXSMSSMXSAMAMXMMXAAXXXAMXSSM
ASAMXMASXSMSXASAMSXXAMXAASMMAMMAMSMMSXSAMXSAAAMMASXMXMMMSMAMAMAXAMXMASMAASAMMAXAXAAAXXXMMXMXSAXAAMAMMMSXMASMMSSSSMSXAAMAMAMMMSMMMXSMSMSMAXAM
MSASMSMXAXXXXSAXMASMSSSMMMASXSXAMXAXSAMXSASMMMXSAMAXAAMAXMXSAMXMAXAMAXMAMMMSSMSMSMMMSMMMSMSAMXMMXMAMMMMMMASMAAAXMAMXXSMASAXMASAXSMMASAMMSSMA
ASAMAMMMSMSSMMAMXAXXAXAMAMASAMXSMSMMMMSAMXXAMXXMASMMMSMSSMASASXMSMSXSSMXSAAXAMXAAXAXAAAXAAMAXSMMSSMMSAAAMAMXMMSMMSXMAXMMSMSMXSSMMASAMXMAAXXX
MMMMMXAMAAXXAXMMMSSMMXMXASXMAMAMASXMXAMMSXSSMSMXMXXMAAXMAMMSAMMAXAMAXMAASMXSAMMSMSMSSSMSMSMSMSAAAXXAMXMSXMSAMXXXAAXAMXAMXMXMASAXMAMAMMMMSSSM
XAXSSSSSMSMMSMMAXMAMMASMMSMSAMMSAMAXMMMSAAAAAXAASMMMSSSSSMXMMMMAMAMSMMMMSAMSAMAXMXMAXAAXAXAMASMMSSMSSSMMAASXMASMSSMSXSSMMMMMMMMSMMSXMAAAXAXA
MSXXASXAAMMAAASAXSAMSASAMXASMSXMASXMSXMSMXMMMMAMSAAAAMAAAXSAMXMXSAMXASMAMAMSAMSMSAMXSMMMMMAMAMAAMXAAAAAMMMMAAASAMXAAMAMXAAAAAAXAAASASMSSMAMM
MXAMXMSMMMMSSMMSAMXXMMSXMAXXMAMSAMXXSAMXXSXASXMXSXMSSXMSMMSMMAXMAMASAMXSSSMXMAXASXSMXXXXSSXMMSMMSMSMSMMMAASMMSMXMMSMXMASMSSSSSSSSMSXMAXXMAMX

10
2024/4/input_example.txt Normal file
View file

@ -0,0 +1,10 @@
MMMSXXMASM
MSAMXMSMSA
AMXSXMAAMM
MSAMASMSMX
XMASAMXAMM
XXAMMXXAMA
SMSMSASXSS
SAXAMASAAA
MAMMMXMMMM
MXMXAXMASX