summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Segundo2024-12-04 10:27:58 +0100
committerChristian Segundo2024-12-04 10:27:58 +0100
commit773b37cfb0211a65d3a05bc60b7b70e79db5b881 (patch)
tree786cd12576ec9090fced52329db11b149a6eed5b
parentdb0a75e3c4f7f9f4cff7f74ec781276cdfee4dde (diff)
downloadadvent-of-code-2024-773b37cfb0211a65d3a05bc60b7b70e79db5b881.tar.gz
add day 4
-rw-r--r--4-input.txt140
-rw-r--r--4.pl39
2 files changed, 179 insertions, 0 deletions
diff --git a/4-input.txt b/4-input.txt
new file mode 100644
index 0000000..a096a8f
--- /dev/null
+++ b/4-input.txt
@@ -0,0 +1,140 @@
+SXMXXMXMASXXXMASXXAMXMMXSAMAMMMXSXMSASMMMXXSMSAMMMMXMAMXASAMAMXSAMXAMXXMXMXMMMSXMXSAMXSSXASXMASMSXMASMSSSMMSSMMXMASMSMMMMXMMSAXXMXXSXSXXXXXX
+MXMMMSAXSAMMMXMASMXSAXSAMXMASAMASAMXMAASMMSXXSAMXSAMMSSSMSAMASASMSSSMXSSSMXSAAMMXMMASAMXSAXSMSMXMAXAMAAAAMSAMASMSAMMASAAAMAAXXSMMMXMAMAMSMSA
+SAAAXSASMMAMAXXAAXXSASMASXSASASASXMAMXMMAXSMXSAMXMAXSAAAASXMAMASAAAAAAAXAAASMSMMSASXMASAXXAMXMSMSMMSMMMSMMMAMMMAMAXSASXMSAMXSMXAXMASAMAMAAXX
+SSSSXXXMASMSAMSSXMAMMMXXMAMAMAMAMASMSMASMMXMASMSMSMMMXSMMMSMXSAMMMMMMASXMMMSXAAASXMXSAMASMMXAMAMAXXMAAXAXSXXXSMXSAMMMSXSMMSXMAMSASXXXSXSMSMX
+XAMXMMXSAMXMAXAAASMSMSMMMXMXMSMMMXMAXMAMXMAMMSAAXMASXMAAAAAXAMXSXXASXMAMXSMMAMMMSAMXMAMAMMMMSSMSMSMSXMSMSMXMXXAAMAMXXSXMAMSXMSMMASAMXSAMXAAX
+MAMAXMAXAXSMSMMSMMAXAXXASASAAXAAMAMXMMXSASAMXMXMXSAMXXXSMSSMXSAXMMMXAMSAAXAXAXAAXAMXSAMXMXXAMMXSAAAAXMXMAXAMXMMMMMMXMMAMSMMXSXMXSMAMAMMMSMSA
+MAMMMMXSSMAAAXAMXMMMSMSAMASXXSAMSMSAXSASXSMSSMMXXAMMMMXMMMAMMMXXSASMSMMMMSMSMSMXMAMAMXAAAMMMSMAMXMMMXSASXSASASMSAAMSSMAMXAMXAXMSASAMXSMXAMXM
+XSXSAXAXXAMSMSMMAMXMAAMXMXMMMMXXMASMSMMXASAAAAMXMMXAAXAAAMMMSMMMSAMAMXAAAAAAAXAMSAMSMMSSSXXSAMASAMASASAMXSMXXXAMXMSAMXSXSAMMMXSAASXMMSAMMSAS
+XMASASXMXSXXAMASAMAMMSAXMAMXSSSMMMMMXASXXMMSSMMMAXSXMSSSMSMAAXAXMSMAMSSSSMSMXMAMXAMXAXAMAMXSASASASMAAMMXMMMXSMAMAXMAMAAAMMASXMAMMMMSAXMAXMAS
+SMAMAAMXMXAMMMASASASXMXXMASAMAMSAXAXXAMXAXAXXXAXSAMMMMXAAAMSSSXXAMMMMMMMMXAXAMXSSMMSSMMMSAMSMMMSMMXMXMAAXAAASMMMSSSMMMMSMSASASMXXAAXSXMSAMMM
+SMXMMMXSXMXMXMASASASASAXSAMMSMXSMSSSSSMSSMAMMXMSMASXAASMMMMAMXMMAMMASMMASMXSXSAAXAAAAAAAMAXXXAXMAXAXMXSMSSMMSAXAAXAXXXAAAMASAMXMASMMMMXXXMAS
+XXXXASAMXXAAMMMSAMAMXMAMMXMMAXMMMAXXAAAAXXMMAASMXAMXSMXXMXMXMAMXAMSASASAXAMXAMMXMMMXSMMSSSXMSMSMSXMAXMAAAXMASMMMXSMSMSAMXMAMMMAAMMXAAAAMASMS
+MSMMXMASASMSMAAMXMXXAMSMXXXSAMAXMXSMMMMMXXMMXMSAMMSXMMMMMSMSMSSSMXMMSMMMSMSMXMASAXSXMAXMAXAAAAAAXMSXMAXMXXXAMXAMXMAMXMAMXMAMAXMSMSXSSSMMAMXX
+MAAXXSAMMXAAMMMSMMSAMXMSMSMMAXSAMMAAASAXMAMASAMXMASAAMAAMAAAAAMASXSMMAAXAAAAMXAASAAASMMMAMMSMSMSMMAMMMSSSMSAMAMXAMAMASAMASXSMSAAAAMAMXMMSSMX
+SSSMMMSSXMMMSXXAAXAAXXMXXAAAAXXAMAMXMMAXAMXXXAMXAXSSMSSSSMSMSMXAMXMAXSMSMSMMAMAXMXMXMSAMXMXAXAAXXXAMAXXAAAAAXSSSMSASXSAMXMAAAMXMMMASAAMAMAMM
+MAAAXAXMAXSAXMSSSMSSSSSSSSSMSSSSMSSSMSSSSSMMXAMXAMMAMAAAXAXMXXMSSSMSMXASXXMMXAMXSMMMAXXSSSSSXMSMMSMSSSMSMMMSMAAAXSAMAMMMAMMMXMAXMXMXMSMAXAMM
+MSMMMSMXAMMMMAXAMMXAAAAXMAMAAAXMAAXAAAMXAAXMASMSMXSAMMSMMMMXMASAAAAAXMAMMSAAXSSMSASMSMAXAAAMSMAAXXAAAMAMAMSMMMMMMMMMSMSMSASMXSMMMAXASMXSMMSS
+XMAMAAMMSXMASXMMMMMMMMMMMAMMMMMMMMSMMSSMSMMAXXAMXASASXMXSXAASXMMSMMMXMSMAMMMSXAASMXAAMMMMMMMAMSSXMMMSMMSAMMAMXAXMXAXMASAMXSXAXXASMXMMAXMASAM
+ASAMMMSAMASAMMAAXXAXAAXAMASAAAAAAXXXAMAMXXMSMSSMMXXAMAMAMXXMSMMAMXAMSMAMMSAXXXMASMMSMSMASXMMAXAMAXXXAAXSAXSAMSMSSSMXMAMAMASMMMSASAASMSMSXMAS
+XSASXAMAMMMMXSSMSSSSSSXSSXMMSSSSMSSMXSMMSXXMAMAASXMSXMMAMMSAMXMXSMSMAMAMASMSMXXAXXAXMAMASMSMXMASXMSSMSMSSMMXMAXSAMSAMASXMASAMAXAMAMSAXAXMXAA
+AMAMXXXSMSASAAAAXAAMAXAMXMMAMXMAMSXMASXASMMMSMSMMAAAASMXSAAMSMMMSAAXMSXSAMXAAASMMMMXSAMXSAMXSMMMAXAAXXMXMXAXSMSXMASXXASXMASAMSSMMMMMMMXMXMXM
+SMAMMSXMXSASMSMMMMMSAMXMAMMAMXXXMXAMASMMMAXAAXAAMSMSSMAMXMAXAASAMSMSXAASMMSSXXSAAXXAMASXMASASAAMSMSSMMMAMXXMAMXAXAXMSMSAMASAMXAAAXAAXAXSXMAS
+MXMXXMASAMXMAAXAAAXMASXMASXMSSXMMSXMASAMSSMSSSSSMAAMXMXMMMMMSXMAXASAMXXXAAMMSXSXMXMMSXMASAMXSMMMMAMXAASASAMSSMSAMXXXAASXMASMMSXMMSXSSSXMASAS
+SASXXSAMASAMXMSSSSMSAMXMASAAAXAAAAAMXSAMXMAXXXAMAMXMAXAMAAAAMASMMMAMXSXMMMSAAMMAXMAXMXXXMXSXSXMXXAXSSMSAMXXAMXSAMASAMXMAXAMXXMAXXXXXAXSSMMMS
+SAMAAMXMXMASXMAXMAAMXXAMSMMMMSMMSSSXASXMAMMMSMSMXMAMMXSSSXSASMMMXMSXAXMASAMMMASAMMSXSMSAMXSAMASMSMMXMAMXMSMMXAMAMMSXXSSSMMSMMASMAMSMAMXMAAAM
+MAMMSMSSMMAXMASMMMSMMSXXASAMXSAAXMXMASMMASAMXAAAASMMSAAAMAMXAAAMMMMMXSMSMASAXMMSSXMAMMAMXMXASXMAAXAAMAMSSXAAMMSSSXMXMMAMXXAASAMMAAAAXMXSSMMS
+SXMAAXXAAMAXXXXMAAAAMASMSXXMASMMXMAAAXAXASAAMSMSMSAAMMMMSXMMSSMSAAAMXSXAXSSXXSAAXXMASAMAASXMMMMSMMSXSAXSAMMMMMAMAXXMAMAMMMSXMAXMXXMSAMXMXMAX
+MAMSSSSSMMMMSMASMSSSMASMASAMXSXXASXSSMSMMMMMXXAAMMMMXXXMAMXAAAMSMSASAXSMMXXAMMMMSXSASAXXXSAMXMAAXXMXSXSXSAXAXMMMMXMAMSAMXAXAMXMMSMXXAMASAMXM
+SAMMAAXXXMAAAAMMAMMAMXMXMASXAMAXXXMAXAMAAXXSMSSMSMASMAXXMSMMXSMSAXXMMMMSASMMMAAMXAXASAMSMSAMAMSSSXMAMMSAMXMMSSXAXMXSXSASMSSSMXSAAXAXSMASMSSS
+SXSMAMXMAXMMSSMMXMSMMAAXSAMMAXSXSAMXMMMMXSXAAAAMMMAMAMMXMMMSXMAMAMSMMMAAXMASASXSSMMMMAMAAMASXMAMMAMAMXMAMXSMAMSMSMAMAMAMAAAAAAMSSMMAXMXSAAAS
+SXSAMMMXMMMAMAMXAXAXSSSXMASMSAMMSAMASMSMAMMMMMSMMMAXSSSXASAXAMMMSXXXAMXMSSMMAMAAXMASMXMMSSXMXMAXXAXASXMXSXXMAMAMAMMSMSAMMMSMMMXMXXMASAMMMMXM
+XAXMMMXASAMMSAMXMMXXXAXAMXMAXMSASAXAXAAMASASAXMAMXMXAAMXAMMSAMAAXAMMMSXXMASMSMMXMSAMXMSXAMASXSAMMSSMAASAMXXSMSMMAXAAMMAXSAMMMSMAMXMMSXMASMMS
+MMMAAXMASXSXSAMXSMMSMAMAMMMXMXMASAXSMSMSXSASXXSAMASMMMMMSAXMASMSSSMASAMXSAMMXMAXXMXSAAXMXXAMXMASAMAASXMAXAMXAAMMMSMSSSMMMMSAAASAMASXSAMXSXAX
+AASXMSMAXAXASMMMSAAXXXAAMMSMMXMMMAMXAAAAAMAMAXSXMAXAMAXXXASXAXAAXMSXSAMAMAMMAMXSMAMSMMMSMMXSXSAMXSSMMMSAMSSMMXSAMSAAAAAXAXMMSXSXXAMAXAMAMMSS
+SMXAAXMMMMMMMXXAMXXMMMMMSAAAXAMSMAMMAMSMMMAMMMMMMMMMMXXXMASMSMMMSMSXSAMMSMMSMMAXMAMXMXAAAAMMAMMMAXXAMMSAMXAXMAXASMMMSMMMMSSMXXMMMSMMXAMAXAAA
+XMMMXMAMAXAAXXMSSSMMXAAMMXXSSMSXAMXXAMMMSXXXAAAXMXAMXMMSMXMAXAAXAAMASMMAAXMAMSAMXXSAAMSSMSSMAMASMXMXMASMMXXMSSXMMMSAXAAAXAAASAXMAMASMSXSMMSS
+MAAXXMMSSSSMSAMXAAXASMMSASMMAMMMMMXMASXASASASMSSMSXSASAAAAMXMMSMMSMMMMSXMASAXMASAMMMSMMAMAAXAMXAXAAAMMSASXSAAMAXAXMASMSSMSSMSAMMSMAMAXAXMAMM
+AMSSXSAMMAAAAMXMXMMXXAAMAMASAMXSASXSXMMMMAXMMSAAXAASAMSXSASASMXAAXAXXXAAXAMXXSAMAXXAAASAMSMMSSSSSMSXSASAMAMSMSMMXXMXMAAXMAXAMXMAMMXMAMSMSSSS
+MAMAMMASMAMASMAAASXSMMMSASMMMSXSASAMXSXMXMXXMMMXXSMMXMAXMXXASAXSSSMMSMSAMXXAMMSSMMMMMMSXMXAAMXAAMXMAMXMAMXMAXAXSSXMMMMMMMMMXMAMASAMMXSAAAAAX
+SXMAMSAMXXXAXMXSAMAMAXAAAMXAXAAMMMAMAMXSAMMSXMXXMMAMXMSSMAMSMMMXAAXXMAXXMAXSXAAMXAMXSMMMMAMXSMMMXAMXMMSASMXSSMMAMAMXMMMAASXSXSMAMAMAXSMMMMMM
+AASMMMAMASMMSXMMXMAMAMSSMMSMSMAXXXAXASMSASAMAXAAXSAMAXAAMAMAAXSMSMMSMMMMMMXXAMMSXXXASAAXMAMXMAASXSXMAXMXMAMMAMXMSAMAMSASAXAMAXMMSSMMMSXMAMXM
+SXMAXSAMXAAAAMMAMSXMAMXAAXAAMXAMXSMSXMASAMXSAMXSMAMSXMMXMMSSSMMMAMMMAAMSSXXMAMMMMMMXMMMMMASXXSMSAXSAAMMAMXMSAMMXMXMMXAMMXMAMMMSMAMAMASMSASAM
+MMSSMSXSSSXMSMMAMSASMSXSMSMSMMSSMAXSAMMMMMMMASXAXMMSMXSAMXMMAAASASAMSMSAMXXMXMXAAAAAMXXSXAXMAXXMAMASAMSMSMMSAMMSSSSSSMMASXMMMAXMAXXMAXXMMMAS
+AAMXASAMXAMMAXMAXMMSAAAXASAXXXAAXXMMAMAMSAMXAMAMSXSXAAXXMASMMMMSASAXAXMAMMSSMMMSXSSXSAASMMMXAMASASMMSXAAXXASMSAMXAAAXXMASMAAMMSMMSMMSSMXSMMM
+MSSMXMAMMMXSASMSSMAMMMSMAMXMMMSSMSASMMMMSASMAMMAAXMMMMSMMMMMSAASAXMMSXSAMMAAAMAXMMAAMMSMAAAMASASASXAXSSSSMXSAMASMMMMMXMASXSMSSMMAAAMAAMMSAXX
+XMAMMMMASMMMASXAAMXMAAAMAMSSMAAXMMMAMXXMSAMXAMMXMASASXXXAMAAXMMMAMSAMASXSMSSMMASAMMMMXAMMMMAXXMMMMMMXAMAXXSMXMSMXSAMMASXMAXSMAAMSXSMXXMASAMX
+AMMMMAAMAAAMXMMSMMMSMSSSXMAAMSSSXSXSAXXAMXMSSSXAXXXAXAXSXMMSXMXMMMMASXMAMMAAXMXSXMASXSMSSMMSMMMAAMAMMMMAMMMSMXMAMSASAASXMAXASMMMMMXXSMMMSSMX
+SSMMSASMSSMSMAMAXAAAXXXMAMSSMMXMASAMSAMXMAMXAMXSXMMMMSMMAMXXAMXXMSMXAASXXSMSMSMSASXAXSXAAAAAAAMMMXMXASMSSXAASAMAMMAMMMMAMSMMMXSASXAAXAXXXMSX
+XAAAAMXMAXAAXAMXMMMMXMASXMAXXXXMAMAMXXMAXSSMMMAXAMAAAAASXMASMMXMMXSMSXMAMSAXAAASMMMMMSMSMMMSSSSXSAMXASAAMMSMSXXAXMXMXASAMMASAMMASMSSMMMSAMXM
+SSMMSMSMSMSMSMSXMSMSASAMAMMSMSMMAXSMMMSMSMSAXMAXAMSMSSMMMSMSXSXAXAMMMAMXAMXMSMMMSAAAASAMMXAMXXAASAMMSMXMAAAAXMXSSSSMSMSASXXMAXSAMAAMAMAXMSMA
+MAAMXAXAXMXMXAMMAAASAMXSXSXAAAAMMSMAAMAMAASXMMSSSMXXAXXAMAMXMMMSMASASXSXAXMAMXXASMXXXMAMXMMSSMMMMAMXAAXXMSSXXSAXMMAAAASXMAMSAMMASXMMMMSMXAXX
+SSMMMMMMMMAMMSMMMSMMXMMXMAMMXSSMMAXMMSASMMMAXMAAAMMMSMMMSASXXMAMSAMASASXMSXSSSMMMMMXAMXMASXAAAASXMMMMSMXMAMAAMMSASMMMXMMMSAMXSSMMMXSSMAMSMSA
+MAMXXAAAASASAAXAAXAAMSXAXXASAXAXSAMXXSAMXMAMAMMSMMXAXAAAMAMAAASMMXMXMAMMMMAAAAMXAAAAMSAMXAMSSSMSAAAXSAMXMASXSMXSAMMAMSMAMXSMAMMMASASXMAXAAMM
+SMMMSXSSXXAMMMSMSSXMAXSXSSMMXSAMMAMSMSMMMMMXXXMMMXMSSSMSSXMMSMXAMAMAMXMSAAAMMMMSMMMXXAASXMAMAXASXMAMXAMXMAMAXAXMMMMAMASASMMMMXAMXMMMASMSMSMM
+AXAXMAXXMMMMSXMAAMAMMXAMMAXSAMMMMXMAAXXMSASAMXAMSSMAXAAAAXSXXASMMASXMMSSXSXSXSAMMAXSSMMAMXXMAMXMXXMMSSMMMSMXMMSMSASAXMSXMAASMSSSMSXSAMMAMXMM
+SSSSSXMASXMXMAMSMMXAMXMAMAMMMSASMMXMSMXAXASASMXMAMMASMMMSMSAMXMAMAXAAXAXMMMSXMASXAMXAXAXMASMMMSXXSAAAMAAAAXASMAAXAXMSMMMSSMMXAAAXAXMAMSXXAMM
+AAMAMXMXMASMMSMMAMSXXAXSXMSAXSMSAAXSAMXSMAMAMMAMMSMXSXXXAAMSMMSSMAMSMMMMAXAXAMAMMSMSAMSXSAAXMASAASAMXSSMMXMASMMSMSMMAAAMAMXSMMMMMMMXMXMASMSM
+MXMAMMMMXMXXAAMSSMMMMSXXAAMXMXXSMMXMASAMMAMMMSMMXAXAMXMSMSMAMMAAMAXMAMXXSMMSSMASAMMMSMAAMXSAMMMMMSSMXMASMAMSXMAMAMXXSSMSASASXSAXASAMSAMXAMAX
+SMXAXAMXASMMSXMAAAAAAXASMMMSXSMSXSMSXMASXXSAAAASXSMMSMXAMAXMSMSSMXSXAMSMXAAAAXSMASXAAMMSXSMMSSXSXXAMMMAAMXMXAASMMMSXMAMXAMASASMSAMAMSASASXSM
+AAMXXMMXAXAMXXMXSSMSMMMMXAXXAMAMASAXXMAMAAMMMSSMMMAMAASMSXSMAXMAMXAMAMXASMMMSMXMAMMAXXXXXMAASXAMASMMAMSSMMSMSMXAXAMXMMSMMMAMAMXSAMXMSAMXXAMX
+ASASXSMSSSSMMMSMMMAAXAXMXXMMAMAMMMSMXMASMMMSAMXMXSAMSXMMAMMXSSSXMMSSXSMXMAAAAMAMMSSMMSAMXSAMMMXMASXSMMAAMASAMXSSMMSAMSXMSSSMMMASASAMXSAMMAMM
+AMXMMAAAXXAAAAAAAMSMXMAMSMSSMXXSAXMMSSMSXXAMASASMSXMMASXAXMAXAMXMAMMASXMMSMSXXAMXAAAAMASAXASMSAMAXAMXMSSMXMAMAMXAAMAXSAMXAAAXMXSMMXSAASAMXMA
+XXMXSMMMSSSMMSSMMMAXSSMXAXMAASMMMXSXAAXMXMXSMMASXMMMSAMSMSMMSAMAMXSMAMASXMAMMSMSMSXMXSASMMSMAAMMMMSASAXXMASAMXXXMMMSMSAMMMMMMMXXXXAMAXMSMXXS
+MXAXXAAXXMASXXAASXMMXAXSXSMMMMAASMSMSSMMMSAMXMASAXMAMAMAXAMXXXXSAMXMASAMAMXAMAAAAAASXMASMXMMMMXMSAXAMXMXMXAMXMSSXSAAASAMSAAAXXMMMMSMSMXAXMAM
+SMSXSSMSXSMMSMSMMAXAMXMAAXAXSXSMMASAXXAAAAASXMASXXMAXMXMXSASXSXMAMXSXMASXMAXSMSMSSMMAMSMMAAMXSAAMMSXXMASMSMSMAXAAMXXXSAXSXSSSXAAAXMAMXSMSAAM
+AMMAMXAMXSXMAMAMXXMSAAAMMMMSAAMXMAMXMXXMXMMMMMMXXAMAMSXSMXMSAMMSAMXXMMXMAXSMXMAMXMXSMMMASMSMAMMSMAMXSMSAMXAAMXMMMMSMAXMMMXMMMMSSSXMAMASAXXSA
+MAMASMMMASAMMMSMMXSMXMSAXAXMMMMAMXSAMSSSMXMAMASMSMSMSMASAMXMXMAMAXMASMASXMMAMMSXSMASMAMMMMAMXMMXMXSASXMASMSMSXXXAAAMXMSASASAAXMAMXMASXMAMAMX
+XMSAMMAMMSAMXAAASXMSSXMXMASMMMSAMAMXAAAAXASASASAMAAXAMXMMASAAMSSSMSAMSMMSXMAMAAMXMAMMAMXAXAMMMSSMMMXXASMMMMAMXSSMSSMSASASASMSSMAMXXMMXMMXXXX
+XXMMSAMXMMAMMMMSMAAASAMXSAXAAXMAMSSMMMSMMMSAMAMAMSMSSSMMMASXMSMXMAMXXXXAMMSXMXSSXMASXMSSMSMXAAMAAXMXMAMMAXMAMAXAAXAAMAMAMAMAMAMSSMSSMSXMASAA
+MMXMXMMSXSSMMSMXXSMMSMSMMMSMMXXAMXAXMXMMSXMAMSMSXAAXAMMSMASAMXMAMAMMSMMXMAXAXAXAXMASAAAMMAMMMSMMMMMAXAMMSXSAMMSMMMMMMMMMMXMXSAMXAMAAAAAMAMMX
+AAAMMSXSAXAAAMAAMXAAXMAAAAAAAAXSSSSMSMAMMXMXMXAXSMSMMMSAMASAMXSASASAMXSSMSSMMMSMMMMMMMMMMASAMAASMSSMSASMMMSXSXAAAAAXAAAMMXMASMSSMMSSMSXMSSXS
+MSMSASAMXMSMMSMMMXMMMAXXMMMSMSAMXAAAMSMMMSAMXMXMASAAXXSASMSAMXSXMAMAXAXAAAMMAMAXAAAAAMMMSASASMXMAAAASAMXMASXMXSSSSSSSSMMAAMXSAMXAAAAMXXAXAAX
+MAMMXMMMMXMMAXAMXXSXSSSSSSMMAAXAMXMMMAMXXSAMSAMXMAMAMMMMMASAMXMXMXSSMSSSMMMSASMSSSSSXSAAMMSMMXAMMMMMMAMSMAMSMAXMMAAXMMMSSXSAMAMSMMSMMAMMAMXM
+SASMMXMAMASMSSSMSMAAAAMAAMMMSMSXAMSMSASAASAMSMSAMAMMMAAMMMMMSASXSAAXMAXAAXXXAMMAAMXAMXMMXAMMMXMXSAMSSXMXMASAMXXXMMSMMSAAMSMXSMMMMAXXMXMXXSSX
+SASAAASASAXMXAAAAMMSMMMMMMAAAXXAXSAMSASMMMMMXASMXMXASXXSAMXMSASAAMMMMMSSMMMMSMMSSMMMMMSSMMSAMXSAMAAAMAXMAMMASMMSAAXAAMMXSAXAAMASMASASMSSXAAS
+MMMMXXMAMXSMMSMSMMXXAXMMMSMSSSXXMMXXMMMMMAASMMMAASXMXAMXXXAMMAMMMSXSAXMASAXSXAAAAMXXSAAMSXSASAMAMMMAXXMASXSMMAASMMSMMAXMAMAMASASMMSAMAAMMSMX
+SSMMXSMXMMAXXXMMMXXSXMASXAAAAMAMMXMAMMAMSSXMAMMSMSASMSMSSSMSMSMMMSASXMSASXSASMMSMMMAMXSMSMSSMASAXSXSSSSXMMAXMMMSAMXMSSSMASMMAMMSAMMAMMMMAAXS
+AMASAAMMSSSXSMASAAMAMXAXSMMMSMSAASMMSMMMAXMMSMMMAMAMXXAAMAAAXAASXMAMAXMAMXMMXSMMMSMMMAXAXXMAMMMMXMAXAMXAMSSMMSXSXSAAXXAMXSAMXSASAMSXMAMMXSAA
+MSAMMSXAMAMAXSAMMXMAMMMXMMAMAXXSMSAAAASMMSMAMAMMSMMMSMMMSMMMSSSMXMAMMMMXMMXAMXXAAXAXMAXMMMSXMXAMXMMMAMMMMAMAXAAMAMXMASMMXSMMAMMSXMMMSASXMXAM
+XMASXMMSSMMAMMMSAASAMASAAXMSMSMMXSMMSXMAAAMASAMAXMAAXAXXMAAXMMMAXSXSAMAAMAMMXMSMSMXMMMSSXXAAMSAMXSXSAMAXMASMMMXMAMAXMAXXMMXMASASMSMASASXMXMX
+SMMMAXMAMMMXSSMMMMMASXMSXMAAXAASAMXAXXSMMASXXAMXSSMSSMMSXSSMSAMMMSASMXMXMMAXSAMXAASMSMAAXASXMAXXAXXMAXSSSMSAAAAXAMMXXSXSASAMXMXSAAMMMXMASAMX
+SASMSMSASMSSMXMASXSXMMMAMSSMXMXMMMMMSASAMXSASMMMMAMAAXAAMAMASAXSAMXSXMXMMSSMAXSMMSAAAMMMMMMMSXSMSMMMSMXAAMSXMMMSASXMXAAMAMASMMMMXMXMSASASASM
+SAMAXASASAXAXMMMSAXXAMMMMMASXMASASAMXAMAMMMMMAAMMAMSSXXMSAMAMSXMXSXSAMSAAAAXAMMASXMAMMAXAXAAMMXAXXSAMMMSMMSXSAMAAMAASMMMSMMMAAXMASXASASXSAMX
+MAMXMAMXMMSMMAXSMMMMSMAXXSAMXSMSASXSMMXAMAAASXMMSMMXMXMXXMXSXMMSMMASAMMMMSXMSAMXMAXSMSMSSSMSSMMSMAMASMXXAMSAMXSMMMXMMAXXAASMSMSMAXMMMXMXMAMM
+XXMXMXMAAXSXASXMAAXAASMMXMMXAMXXASXXAMSSSSXMMXAXAMSMMMAMSMAMAMAAAMAMAMXSMMXAXMSASMMXAAXAAAMAAAMMMXAXAAASAMMXMASAMXAXXXMMSSMAMAXMAMSASAAXMSMS
+MMXXMAXXSMSMMMSMAMSSMSMMSAAMSMMMMMXMSMAAMAXSMSAMMMAAAXXSAMMSAMSSSMXSXMXMAMMXMXSASMAMXMMMSMMSSXMXMXMMMMXSMMMMMXSXMXASMXSXMAMMMMXAXXMAMMMSMAAX
+ASMMXSSMXXSAXAAXAXAMXXMASMMXXAMAMAXXAMMXMXMXAXXAASXSMSMSASASAMXMMMMMMMSSMXMASAMAMMXMASAXAAXXMASAMAAAXSMMMAAASXMAXSAMXAAASAMXASMSXSMSMSASMMSM
+SMMAAXAMSASMMSSMSMMXSXMASASASXMSMSSMSSSXAASXMSSSMSMMAAASAMAMMXSAAAAAXAAAMXSASAMSMXXSMSAXMSMSSMMASMSSSXMASMSXSASAMMMMMXMAMMXSMXAAXSAMAMAMAXMM
+MAMMMSAMMAMXAXMXXMSMSXMASAMASAAXAXAXAAMMSMMAXAAAAMAXSMXMXMMMSMMSMSSMSMSSMXMXSMMXAMXXXMMSMMAASXXXAMXXAXSXMXMASMMMSASMMXMSMXAXAMSMMMAMXMASMMMM
+SXMXXSAMMMMMXSMAXAAMSASAMAMAMMMMSMMMMSMAMASMMMSMMMMMXMAMXSAAXAAMXMXMAAXAMXAAMASXMMSMSAAMXMMMXXMXSMSMMMXASXSAXAMXMASAAASXSMSSSMAAAXXMXMAMAAAA
+MAMSAMXMAAAAAXMMSSMXSAMASMMXMXAAXAXMXMASMAMXAXMXXAAAMSMSAXMXMMMSAMXAMXSAMMMXSAMAAXMASMMSAMSMSAMAMAAAMAMMAMMMSMMMMAMMMMSAMXMAMSXSMSASXMMXSMMS
+MAMXASMSXSMMMSAXXAXAMXMXMASXSSSSMMMSAMXXMASASXMASXXXAAAMMSMSMSAXMASMXASAMSSMMXMXMMMXMAMSMSAXSAMSSSSSMXAXMAXAAAAMMASXSSMMMSXSMXMXAMMMAXSAMAXA
+MSSMASAMXXMASXXMXMMAXMASMXMAMAAAASAXXMASXMSXXAMASAAASMXMXAAAAMSXSAMXSASAMXAMASXASASMMSMMXMAXMAMXAAMXMMXSXMMSSSMSSMSAMXAAMXAMXXAMMMSSMMMASAMM
+SAAMAMAMMMSMMMXAAXMXXASMMSMAMMMMMMASMSAMXMXMSMMASMXMXAMSXMSMSSMMMASXMASMMMXMASAXSASMAMASXMMSSSMMMMMAMSASAMXMXXXXAMXAMMSMSMSMSMSMSMMASXMXMAMX
+XMMMASAMAXAAAAMSMSMMMXAXAAXMMXXSXSXMAXXMAMAAAXMXSXMMMMMAAXAAXAAASXMMMXMASXMMXMXAMXMMSMAMAAAAXXXXAAMASMASAMSMSSXMMXXAMXXXXXMXSAXAAASMMMMASAMX
+MXXSXSXSXSXSMXMAAAAAMMMMSSSSMSMSAMAMSMMSASASMSMAMASAAMXSMMMSMXXMMAMXSASMMAAMAXXMXXXAAMAXSMMSSMSXSSSXSMXMAAAAMMAMSSSMSAMASXMXMAMSSXMXSASMSSSS
+SSMSASASASAMXMSMSSSMSAXMAXAAAASMAMMMMAXSXMAMMSMMSAMSMSAMMAMXMSSMSAMAXXSXSMMMSMMAXMMXXMMXMXXAAAAAMXMAMXXXASMSMSSMAAAAAASMSAMMMXMXXXMASASAXMXM
+MAAMMMAMAMMMSXSMXMAMSXXXXMSMSMSSMMMAMSMSMMXMMMAMMMXAXMAXSMSSXAAXMAMXMXMXMASAMXSAMXMMSASAMXSSMMMMSAMXMASMMMXMXAAMMSMMMXAXSAMAAMASAAMAMAMAMMAS
+SMMMXMAMMMXXSAMMASAMMMSSMAXAAAMXSAMXXXAMXXAMAXXMMMSMSSSMAAAMMMMMSSMSAMXASXMASAMASAAASAMAXAXXXMAAXAMMMAMAAAMSMSSMXMAXSMMASAMXSASXSXMXMMMAAMAS
+AAXMASXSSMMXMAMSMSAMXMAAMAMSMSMXSXSXMMMMSSXSMSMAMXXXXAMXMMMSXSSMXMASMXSXSAMXMXSASMSMMXSAMSSMMMMSSXMAMXSSMMMAAXMASMMMSAXAXAMXAMAAMSXAMASXSMXS
+XMAMXXSAMXMMSAMAMXXMAMSMMXXXXXMASMMAXSMAASMXMAAAMMMMMAMASAMMAXMAAMMMAXMMXXMXXAMASXXXMAMAMXAMXXAXMAMSXXXMAXSSSSXAXAXXMXMMMSAMXMMAMSSMSASAXMMS
+MMMSMMXMSAMXSASMSSMSXMXXMXMSMMMMSASMMMMMXSMAMMSMSAAMSMXAXAXMMMMSMMASMAMMSMMXMMSMMMMMMMMMMSMMMMSSXSMMMAMXSXXAAMMMMAMSSSMSAMXXAMXAXMAMMASXXMAM
+AAAAAXAASXXASXMXMXAAMXMXSAAAAAAAMXAMAAMMMSASXAAAMXXXAMMSSMMXSAMXMXMAXAMAAAMMSMAMAXSAXMXSAAAAXAAXXMASAXSAMMSMSMASAAXSAAXMMMASXMSSSSMMMMMAMMAS
+MMSSXSAXXSMASMMXMMSMSASASMSMSSMSSSMSSMXAXMAMMMMSMAXMASAMAMAMSSXMMSXMSSSSMSMAAXAMSMSMSAAMXSXMMSXSAMAMXAMASASXAMAMMMMMMMMAXMXMSAAXXXXXXAAAXMAS
+SAMXXSXMAXMAMAMAXXXXXAMMXAMMAAMAMXXAAMSSSMAMAAAMMSMSMMXMAMAMMASAMXAXAXMAMXMSSMXXMASXAMMSXMASAMMAAMXMMSSMMASMMMSMSXAXAAMAXMMAMMMMSSMSSMSASAAS
+MAXMAXAMSMSSSSSSSMSSMXMMMSMMSSMSSSMMSMAAAMASMMMSAMAXMSSSSSSSXSAMXSMMMMMMMMAMAMSAMAMSAMXXASMMMSMSSMXXXAAMMXMAXSMASASMSSSMSAMAMMAAXAAMAMXASMSM
+SASMMSMMXAAAXAAAAMAMMSMMAXXXMAXAAXMAXMMSMMXMASMMMMXMMXAMMAMMMASMXMASXXMAXMAMAMMAMSMXMXSMMMAAMMAAXXMASMMMSAMSXXMAMAMAXAMAMXSASMMSSXMMAMMXMMAM
+MASAXMAAMMMXMMMSMMXSAMAMASAXSXMMSMSMSSMAMSSMAAMAMSMMSMXMMXMASMXMAXXSAMSAXSAMAMMSMMMASAMAASXMSMMMSXSAMAAASASAAMMMMMMXMMMXMASASMXMAMMMXMASMSMS
+MXMMMXMMSXSMMXAXAMXMASMMMXMMMXMAXAXAAASXMSAMAMMAXAASXAXAMXXASXSMMXAMAMMMMSASMSAXAMXXMASMMSAXXXMAAXMASXMMSXMAMAAAASMMSMSAMAMXMXASXXMAXAMXXAXA
+MMMXAAXXMAMXMAMSAMAMAMXAMXSAXAAXMAMMSMMXXSAMAMSXSSSMMMAMMSMASAMASMMMSMXXASXMAAMMMMASMAMAAXMSMSMMMSMAMMAMXMMSASMMMMAAMAAAMXSAMSMSXAXSXMMASMSM
+SAMMSMSAMAMAMAAXMMXMASMXMASXSXSAMMAMXAXXXSAMXMAMXMAAASMAAXMAMAMAMAMAMMXMXSAMMMMAXMAXMAXMMMMAAMXSXMMAMSAMXMAXMMMSSSMMSMSXMAMAMSXMMSMXASXAXXAX
+SXSAAMSMMMMXMMSMSMASAMAAMAMMMMMAMMSAMXMAMMMSMXAAAXMMMAXMASMASAMXSXMASMMSMSAMXASXSMSSSMMXAAXMSMAXAASMXSAMXMSSXSAAAAXMXXMAMMSAMMAAAAASAMMMMSAM
+XAMMXXSAASMSAAAAAAMSAMSXMXMAAASAMXMASAAAMAMAXXXMMSMASXMSAMXASMSMSAMASMAAAMMMSMSAMXXAAMASMSSXXMASXMMSAMXASMMXAMMMSMMXMAMSMASASMMMMSAMXSASMASA
+MMMSMAMSXXAAMMMMMMAMAMXAMXSSSMSASXMMSMSMMASMSSMMAAXAMSAXMMMMSAMASXMASMSMMMSAXXXXXSMMMMAXXAAMXMXSAAMXSMXXXAAMXMSXXXMASMXMMASAMXXAXXXMAXXSAAMM
+AAAAMXMXXMAMXASMSMAMSMSASAAAMXSAMAXXXMAXMMSAAAASXMMSSMSMAAAMMMMXMMMXSMMAXXMMSSMSMAASXMXSMXMMXSSXMASAXXMSSSMSAMXXAXXMAMMAMAXAMXMSSSSMASXXMMSX
+XMSXMXMAASAXXMMAXMAMAAXAMMMMMAMASAMXASMSAAMMMMMMAAAXSAMMSSMSASMXAXXAXAXMXSAAAMAAMMXMXMASMSSMAXMASXMASAAMAMAXMAMXSSMMAXXAMSSMMMAXAAXMXMMAXAXX
+SMMXMAMXMSASMXMMMSMSXSMXMAXMMXSAMXMXMMAMMXMAXAASMMMSMMMAAAASASMSAMMSSSMAASMMSMSMSXMASMASXAAMMMSAMXMMSMSMAMXMXXSMAAXMMXSASMAMXMMMMMMMSSSMMSSM
+MAAAXAMXAXASAAXXXAAAAXMXSXSSMASMSASASMAMXMSXSSMXAASXAAMMSSMMAMXSSSXMAMMMMSXMAAAAXAAMAMAMMSXMAAXMMXSAXMAMASMSXMAAXSMAAAXXMMAMXAAAXAMXAAXXAAAX
+MMMMSSSMSMMMXSSMSXSMXMAXMMSAMXSASASASXXSAMMMAXAXSMMSMMXMAXXMMSAMXMAMXMASXXAXMSMMSMMSAXXXXAMMSMMSMAMASXMXMSMAAXXSAMMMMSSXSMSMMSMSXMSMMXXMMXMM
+SXSXXMAAXXXMAXXXAMXMAMMASXSAMXMAMMMAMXMMMAAAMSMMMAMXXAXMMMXMASMASMXMXSXSMSSMMAXAMMASMSSXMASXAXAAMXSMMAMASXMMSMAMMSAXAAAASAXAAMAXXMXAXMSXSASA
+AAMXMSMMMSMSMMXXMAAAAXSXXMSAMMMSMSMMMMXSSSSMXMAASAMMMMSSMMAMXSXXSAMMMMXMAAMMSAMMSMMSAMXASAMMMMSMSAMXSAMXSAMAAMXMXSAMXSMXMASMMMAMAXSAMXAASASX
+MMMAXAAAAAAXASASMSMXMMAMXMSXMXMAAAMXSAMXAXXMSMMMSAMXAAAAASXXMXMMMMXAAXXMMMSAMXXXAMAMMSSMMAMASXXXMMMMXXSMSAMSXMASXMXXXAXXMMMXXMAXXMXMAMMMMAMA
+XAMSSSSMXSSXMMASMASAXSASMAMAMASMSMSAAXAMSMSXSASASXMMSSSSMMAMSMMAAXMMMXXMAMMXSMSMSMMSAAAXSSSXSAXXMASXSAMXMAMXASAMMAMMMMSAMASXSSSSXAAMSMMXSAXX
+SXSAAMXMAMAMXMXMMASXMSASXAXAXMSAMXMMXMMSAAAASAMXMAXAMXMAMXAXAAXMSSSSMSSSMSAMMAAAXAMMMSSMAASAMXMMXMAAMXMXSXMMAMMSMAMXAXMASASAXAAMMMMXMXMAXMMM
+XMMMSSSMMSAXXXMXMXSAMMXMXXXXXMMMMXAXAXSAMXMAMMMMSAMSSSSSMSASMSMAMAAXAAXAMMAMMSMMMAMXMXAXMMMMXMASAXMSMXSAMMXXAXMAXASMMMSAMXMAMMMMMASMXSMMXMMM
+XSXMAMAAASMMMASXMASAMAXMXMSMSAAAXXSMXSAAAXXXXMAAMASAAMAMAXAAAMMAMMMMMMSSMSSMAXAXSAMAXXAXXXAMXMXMMSAAAMXAXAMSXMSSSMXAXAMMSMXMAXSMSMSAASXMASMA
+XSASXSMMXSXSAAXAMAXXMMMXAAAAAMSMXAMXXAXMAXMXSSMMSMMMSMAMMMSMMMSXSXMXSAAXMAAMAMSXSASXSMXMMSMSAMASXMXSMMSSMMXSAMXAAMSSXMSXAMAXMAXMAXMMMMAAXAAX
+MSAMXXXMASXMMMSSMSSXAMASMSMSMMAMMXMMAMXSXSMAAAAXSAMSAMXSMAAXXXMXMAMMMMSSMSSMXXMASMMMXMASXAXAAMASMSAMAAXAAMAXMMMSMMXXAAAXASMSSSXSSSSMSSSMSMSM
+AMXMXSXSSSXMAMAXAXXMSAMXAAAAXSASXMSMSXAMAAMMSMMMMAMXASAAMSSXSAAASAMMSXMAXAAMSAMXMXAXSXASXXSSSMASMMASXMMSMMMXSAAMXMASMMMXXXAAAAAMAXXAAAXAAAXA
+MXMASMAMAXASXSMMXMXAXASAXMXMXMXSMAAAXXSSSMXXAAXASMMSMMASXXMASMSMMSSXMASXMMSXSMSMMXSSMMXMXXMAXMSMMSAMAAXMMMAASMSSXMAXASXMXMSMMMMMAMMMMSMSMSMS
+XAMXAMAMXMMMAAXSSMSMSASAASXXAMASASMSMMMAMXASXSMXXMAAXMAMXXMMMXXMXXXXSMMMXXAXMXSMAAMAMAAMXSMMMMMAXXMSMMXXAMMXSMAMAMMSMMAASAXASXAXAXAAAXAXAAAA
+ASXSMSMSMSAMXMMSAAMXMAMMMXAXSMASMXAAMAMAMXXMAMXMSSSMSMASMXSAMSAMXMXAXAAMMSSMAAMMMMSAMSMMAMXXAMXSMAMXAAASMMMMSMASAMAAMSMMAASAMSSSMMSSSMXMSMSM
+MMAMXAAAASASXMMSMMMXMXMSMSMMAMMSXMSMXSMMSASMMMAXXAAAXXSXXAXAMMMMXMAMXSMSAAAXMAMXAXMXMXAMMSASXSAMMXMSMMXXAAXXXSAXAMMMXXSSXAMAMXXAMAXAAMSAAAXA
+XMAMMMXMMSXMAAXXXSXMMAXAAAMAXSAMXXASMXMXMMMASMMMMXMMMMMXMXSXMSASMSSXAXMMMSSMXSXMMSMSMMXMXMAMXMMSMMAXXMSSSMMMXMSMSMSMSAMXMXSXMXSAMXMMAMSSMSMM
+MSASASMSASASXMMSSMASMMSMSMMMXXMASXAMMASAMXSAMAMXXMSMSASXMASMMSASAAMMSMAAAMAMAMAMAAAAMMSSSMSMXSAAAXXXXAMAMAAMSAMXXAAAMMMAXMAMXAMAMXMMXAXAMXAX
+AMASAMAMAXAMAMAXAMXMAMAXMASMMMXXXMMMSMMASAMXMAMMSSMAMAMXMXSAXMMMMMSAMSSMMSAMXSAMSMMMMXAAXAAASMSXSMMMSMMAMXMSMAMAMAMMMASAMXMXMXSAMXMAMSSMMSSM
+MMMMMMAMMSMSAMMSSMMSMMXMXAMXMXXXXASAMXSMMMSMSAMAMAMMMAMAXXXMXMXSXMMMXAXAXMXMASAMXMASXMMXMMMXMAXMAAAAXXMAMXSXXAMXXAMXMXMAMXXXXMXAXAXXSAAAAAAX
+XSXAASXMAAMXASAAAAASXSASASMASMMMMXMASAXSAXAMSXMSSSMXSMSMSMSMSMASAMAMMMMMXMMMXSSMSAMAAASASXSXMAMSSSMSSMSMSMSASXSXSMSXMSMSXMASXMSSSMSMMMSMMSXM
+AAMSMSXMMSXSAMMSMMMSASASAASASMAAAASXMASXMMAXSAXMAXMAXAAMAAAAAMASAMXSAXAAMMASXMASXAMSMMMASAMXMAMAAMAMXAAAMAMXMXMASAAAAAAXAAAMMAAMAAMAXMMXMAXS
+AXXXAXXXMAXMXMAMAMXMMMMMXAMXSXSXSASXMXMXMASASAMMAMSAMSMSMAMSMSMSXMXSMSASXSXSAMXSSXMAXAMXMXMAMMMMSMMMMSMSMXMASXMAMXSSMMAMAMASMXMSMMMSXMASXMAS
diff --git a/4.pl b/4.pl
new file mode 100644
index 0000000..110708a
--- /dev/null
+++ b/4.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/env perl
+open(my $fh, "4-input.txt") or die ;
+while (<$fh>) { chomp; push @lines, [split //]; }
+close($fh);
+
+my $xmas_count = 0;
+my $mas_count = 0;
+
+for ($i = 0; $i < scalar @lines; $i++) {
+ my @line = @{ $lines[$i] };
+ for($j=0; $j < scalar @line; $j++) {
+ if ($i+3 < scalar @lines) {
+ if ($j+3 < scalar @line and $line[$j] eq 'X' and $lines[$i+1][$j+1] eq 'M' and $lines[$i+2][$j+2] eq 'A' and $lines[$i+3][$j+3] eq 'S') { $xmas_count++; }
+ if ($j-3 >= 0 and $line[$j] eq 'X' and $lines[$i+1][$j-1] eq 'M' and $lines[$i+2][$j-2] eq 'A' and $lines[$i+3][$j-3] eq 'S') { $xmas_count++; }
+ if ($line[$j] eq 'X' and $lines[$i+1][$j] eq 'M' and $lines[$i+2][$j] eq 'A' and $lines[$i+3][$j] eq 'S') { $xmas_count++; }
+ }
+
+ if ($i-3 >= 0) {
+ if ($j+3 < scalar @line and $line[$j] eq 'X' and $lines[$i-1][$j+1] eq 'M' and $lines[$i-2][$j+2] eq 'A' and $lines[$i-3][$j+3] eq 'S') { $xmas_count++; }
+ if ($j-3 >= 0 and $line[$j] eq 'X' and $lines[$i-1][$j-1] eq 'M' and $lines[$i-2][$j-2] eq 'A' and $lines[$i-3][$j-3] eq 'S') { $xmas_count++; }
+ if ($line[$j] eq 'X' and $lines[$i-1][$j] eq 'M' and $lines[$i-2][$j] eq 'A' and $lines[$i-3][$j] eq 'S') { $xmas_count++; }
+ }
+
+ if ($j+3 < scalar @line and $line[$j] eq 'X' and $line[$j+1] eq 'M' and $line[$j+2] eq 'A' and $line[$j+3] eq 'S') { $xmas_count++; }
+ if ($j-3 >= 0 and $line[$j] eq 'X' and $line[$j-1] eq 'M' and $line[$j-2] eq 'A' and $line[$j-3] eq 'S') { $xmas_count++; }
+
+ if ($line[$j] eq 'A' and $i-1>=0 and $j-1>=0 and $i+1<scalar @lines and $j+1 <scalar @line) {
+ $k = 0;
+ if ($lines[$i-1][$j-1] eq 'M' and $lines[$i+1][$j+1] eq 'S') { $k++; }
+ if ($lines[$i-1][$j+1] eq 'M' and $lines[$i+1][$j-1] eq 'S') { $k++; }
+ if ($lines[$i+1][$j-1] eq 'M' and $lines[$i-1][$j+1] eq 'S') { $k++; }
+ if ($lines[$i+1][$j+1] eq 'M' and $lines[$i-1][$j-1] eq 'S') { $k++; }
+ if ($k > 1) { $mas_count++; }
+ }
+ }
+}
+
+print "puzzle 1: $xmas_count\n";
+print "puzzle 2: $mas_count\n";