diff --git a/.gitignore b/.gitignore index ceaea36..7d5c728 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +.DS_Store + # ---> Node # Logs logs diff --git a/4/example.txt b/4/example.txt new file mode 100644 index 0000000..c41c5ea --- /dev/null +++ b/4/example.txt @@ -0,0 +1,10 @@ +MMMSXXMASM +MSAMXMSMSA +AMXSXMAAMM +MSAMASMSMX +XMASAMXAMM +XXAMMXXAMA +SMSMSASXSS +SAXAMASAAA +MAMMMXMMMM +MXMXAXMASX \ No newline at end of file diff --git a/4/input.txt b/4/input.txt new file mode 100644 index 0000000..813bb37 --- /dev/null +++ b/4/input.txt @@ -0,0 +1,140 @@ +MXAMXAMMXSMSMXMASMMSMMMXXXMSSXSXMSASAMXSMXMASMAAXMASXMXAMXXAXMASXMMMSAMXAMMSMSMMSAXMMMMMXXXSAMXSSSMMMMXMAXSAMXSXMMXSASMSMAXMSMMMXXXSMMMSMMMX +XSAMXMMSAAXXXASAMXAAXMMMMMMAXASAMXASXMASXMSMSAMXMXASASAMMMMMXMAMAAAAMAXMASMAAXMASMMMASAMXSXMASMSAMMAAMMXSAMXMAMASXXMAMMAMAMSMAMSMSAAAXAAAAXA +XAMXAXAMSSMSSXMMXXSMSAAAAAMMSASAMMXMXMMMMMAAXMXAAMXSAMXMXMAMAMASMMMSSSMAASXMMMMXSAMSASASAAASXMXMMMSXSSMAXXMXMASMMMXMMMSASAMASAMAASMMMMSSMMSM +MMMMXMAXAXAAMAXSMMMXMMSMSSSXMASMMSMMXMAXASMSMSSMSSMMMMAMASXSASMSXSAMAXAMXSAMSAMXSAMSASAMASMMXMAMXXXXMAMASAMSSXMAAXMASASASXSASMSMXSASMXXXAMXM +SAASAMXMSMSMMXXAAASAMMMAMXMAMXMMASMMASASMMXXAXXAAXAAXMASMSMSMSAXAAAMSMSMMSAMSAMXMAMXASXMMMAXMMSXSMMXSAMASAMAMMXSAMXXMASXMAMAXAXXAMAMXMAMMMAM +MXMSASXAXAMXSMSSSMXASAMMMSSSMSSMASAXAMMMAXSMMMMMMXSMXMMAMXAMAMXMMSSMMMMAAMAMSAMMXMMMAMAMXXMMSAMXMASAXAMAMAMMXSAXAMASMAMAMXMAMSMMXMAMAASMXMAX +MSMSAMMSMAMAXMAXAMXMMMMSAAAAAAXMMSAMSSSMMMMAAXMSSMAMAMMAMMMMASMXXAAAXASMMMMMSXMMASAMASAMMMSAMXSASMMASMMSSSMXXMASXMASMASAMXSASXAAXMSMXSAASMSS +XAAMXMAMSSMMSMXXXMASXMAMMSSXMMSXMMXMXAAMMXSXMAXAAXAMSMSMSAMXAMXSMMSMMMSMSASXMAXSASAMAXAXAAMXSASMSXMXMAAXMXSXXMAMMMAMMASASAXMSMMMSMAAMMMMAAAA +SMSMMMSXMMAXSMXSSSXSAMMSMMMMMXXMMAMSMSMMAXMASMMXSMXMMAAAMAXMASXMAAMMMXMASMSASXMMASMMSSXMMSAAMXSXMASMSMMMMAMMMMAMAMSSMMSMMMSXXXMAXXMASMAXMMMM +AXAAAAXAASMMSAMSAMASMMXSAAMAAAXMSAMAAAXXXAXAXAXAAMXAMMMSMAMSAMMMAMSAMXMAMXSXMAAMAMAXMAMAMMMMSAMAMSMAAAAAMAXAASXSXMAAAAXMASAMXSSSMSXMAXAMXAMS +SSSSMSSMMMAAMAMMAMAMASASXMSSSMMASASXSMXMMXXXSAMSSMMMSAAAMAMMASASAMXAMXMASMMMSSMMASMSXMAMXAAXMASAMAXSSXSSSSSSMMMAMMXSMMSSXSAAAMAXASASAMXMSMSM +XXAXXMMAAXMMSSMSXMMSXMXXXMXXAXMASXMAMXXAXAAXMMMAAXMAXMSXSSSSXSXSMSXXMXXAXAAAXAXSAXAXAXSMSMSMMXMXXXXXAXMAMXAXXXSAMMAMMMAAXMMXSMAMXXXMXSAMAXAX +SMSMMASMMXSAXMASMAXMMMSMAMSSMXMASXMAMAXSMMXMASMSXMMMMXMAAMAMASAMASAMMSMSSMMXSAMSAMSMMMXAMXMASXMSSSMMMMMAMMSMSXMASMASAMXXAXASAMSMSSMSASXSSSMM +XAMAMMMSSSMMSMAMMAMXAAAMAMAAXASXMASMXSMMXSASXMAXXAAXSAMMMXXMMMAMAMASAAXMAMAAMMMMAMMAXAXXAMMAMAAAMAAXSASXMMAAXMSAMMASAMMMSAXAMXAAMXAMXMAXAAXS +MXMAMXASXSAASMSSXSASMSSSSSSSMXSASAMXAXAXASASMSASASAMMAMXMSMSXXMMXSAMMMMMAMXSASXSSMSSMXSAMXMAMMMMSSMMMMXMASMSMMXMXMASAMAAMAMMXSMMMMXMAMXMXMMA +SASASMXMASMMSXAMAMXXXAAAXAMXAMXAMASMXSXMAMAMAMASMMSMSMMSXAAAAMXSMMMMMSSSXSAMXXAXXMAXMAMMSMSMSXXXXAXSSMXSAMXMXMASXMASMSMMSAAXMAMAXSASXSSMSSSM +AASAXXAMXMMMMMSMMMSAMMSMMSMMSSMXMMMXAAXMMMAMMMMMXAAMMMAMXMMMSASXMASXAAASAAXSMMMMMMMSMXXXXMASAMXMSMMMAAAMXSAMASAMMSAMAXAXSASXMASAXMMXAAMAAAAX +MXMAMSMSAMAAXAXAXAXMSMXMAAAXAAMASAMMSSMMASMSXSXSMSSSSMSSSXMAMMMXSASMMMSMMMXMAAMAMASMMMMMXMXSXSXMASASMMMSMMASXMASAXAMMMMMSAMASAMMSSMMMMMMMSMM +XAMAMAAXASMSSSSSMMSAAAAMXSSMMXSASASAAAXMAXXMASAMXXXAXAAXAAMAMXMASASAAMAXXSSSSMXAXXSAAAAXMSMMMMASASXXXAMAMXXAMXSMMSSMXXXAMAMXMASAAAAXMSMSAMAM +SMXSSMSMMMAAAXAMAMMXMMMSAMMAMXMASAMMSMMMMSMMMMMMASMMMSMSSSMSSSSMMAMMXSAXMAAAAMSXSASMMSXXAAAAMSAMXSASXMSAXMMMSXXAXAMSXMMXSAXXMMMMMSMMXSAMXSAM +ASAXXMXAAMMMMMMMSMMSSMAXXXSMMAMXMMXAAAMXMAAASAMSASAXAXAAAAAAAAASMXMMMMMSAMMMMMAXMMMMMAMMXSSMMXMXMMXMAAMAMMAMAMSMMASXMAMMSMSXSMAXXAAXXMXMASAM +SMXXAMMSMMMXXXAAMAAAAMMMAXSASXSASMMSXSMMSMXMMAXMXSAMXMSMMMMMMSMMXMAXAAAAMAXAXMASMMAMMASMAMMMAMSSSMSMXMMAAMSXMAAASMMMMMSAMXSAASASXSMMSMXMASAM +MASXXMAXAMSXSSSSSMMSSMMAMXSAMASAXSAMSAAAAAMXMSMSMXXAXAMSMAMXXAAASMMMMMXSMSSMSSMMASMSMAXMMMAXMASAAAXXXXXMAXXAXMSMMXAAMMMASAMSMMMXAAAMAMAMASAM +MAMMMMMMAMAAMAMAXXMAMMMSXAMAMXMAMMMSAMXSMSSMAXAAAMSSMXAAMAMASXSMSAXMASMXMAXXAAASMMMMMSMMXSAMXSMMMMMMMMXXMAXMMMXAMMMMMAXXMAXXMASMSMMSAMXMAXAM +MAMXMAXXMMMMMAMMMXAMMMAXMXMAXAMXMASAMXMXMAAMAMSMSAAXXMSMSMSXMAMASAMXASAAMMSMSSMMMAMMAAASMMSSXMMSSMSAAASMSMSMMAMXMASXSASASMMASAMXAAMSMSMMSSSM +SMSMSMSAMXSASMMSAMXXAMMSXSSMSXMASXSMXMMAMXSMXXXXMXSXXMMAAXMAMAMMMSSMMSMMSXAXAAXXMAMMSSSMAMAXAAAXAASXXSMAAAAMMMXAXXXXAAAAAMSAMMSSSSMXAXMAXAXM +AAAAAAAXMAMXXAAXSAMSMSAMAMAMAMXXAMXXSASMSMMMMAMXMAMXMMXSMSSXMASXAAXAXSXMXXMMSSMMSXSAMXMXXMASMMMSMMMAMXMSMSMSASMSMAMSMSMMMXMASAMAMXMMAMMMMMMM +MSMSMXMXMASXSMMSMMAAAAAXAXSMMSMXSXMAXMMAAAAMMMMSMASXAAAXXMMXMAXXMXSMMSAMXAXAMAMXAXMASASXMMMXAAAXAAMAMSAXMMXMXSAXMAMXAXXAXXSAMXSXMAMMXMAMAXAS +MXMAXASXMASAAMXSMASXXSMSMSAMMAMAXAMMSSSSSMMSMAAXXXMAMMSSMAMMSSMSXXSMAXXMMMMXSSMSSSSXMASMMSXSSMASMMSAXSAMAMASAMXMMASMSMXSXMMXXXMMMSSMSSSSSSSS +MMSXSMSAMAXMXMAXMAMXAAAXMAAMSAMXMXMSAAAAXMXAMMXSSMASXXMAXAXXMAASXMXMAXMXSXXXXAAAAAXSMXMMXAAXXSAMXAXXXMAMXMAMXMAMSMSMMSAXSAXMXXXMAMAXAAAMMMAM +MAXAMMSAMXMSAMXSXAMMSMSMASXMMAXMSSXXMMMMMSSMXSAAAAAXXMXSSMSMSMMMASAMXSMAAAMMSMMMMMMAMAMXMMMMAXMMMAMSMSAMAMSSSSXXAASAAMXMASMSMSSMXMXMMSMMAMAM +MMMMMASAMXXSASASMSSXMAXXAMXXSXMSAMAAXXAXAMAXAMMSMMMSMMAAXMAMAAAXMMAXAAMXMXMAAAAAMSXMSASXAXSMAMMMSASXAAMMSAXAMASMMXSMMMSAMXMAAAXAMSMMAMXSAMAM +MSXSAXMAXMAMXMAXAAXAMAMSXMXXXMXMASMMMSMMSMMMXSXXAMXAAMXSSSSSSSMMXMAMSSXSMSMXSSSSMMAXSASXSXAMASAAMMSMMMXAMXAMXMAXSMXAXAAMXASXSMMXMAAMXSASXSSS +AAAMMSSMMMASMSSMSMSAMXMXAXASMMXSXMAAXXXAAAAMSSXXMSSSSSMAAMAAAAMASMMXMAMMAXMAXMXMAXXMMSMAXMMSASMSMAXAXXMXSMMSMXMAMXASMXSMSMSAMXAXMSXMAMXSAAAA +MMSMAAAAXMAXMAAAMASMXMSMMMAXAMAXAMXAMXMMXSMSAMMSXAAMAMAMSMMMMMMASAMXSMAMXMMMSMSSSMAMXAMXMAXMMXAAMXSSMXSASAAAXSXMMSAMXXMASAMMMMMSMAASAMAMXMAM +SSMMMSSMMMASMSMMMAMXXXSASMXMSMXSMMSSMSASAXMAMAAMMMSMAMSSMXSAAXMASAMAXXSMAAAMAAMAMXAMXXMXMSXSSMSMSAMXAMMASMMSMMAMAMAXXMMAMAMXMXASMSMMAMSSMXMX +XMAAXMXMASAXXXXAMXXXMMSAAAMAXMXAMXAAASAMXSMSSMASXMAXSSXMXAMSXMMAXAMXXSASMSSSMMMASMMXSSXSAAMSAXMXMASXSAMAMAMXMSAMXMAMMMMASXMSMMMSAMXSMMAAMAMX +SSSMMSASASXMXMASXMMSAMMMMMASAXMASXMMMMAMAMXXAMMAMXXMMAAMMSMMSSMASXMMXSAMXAXXXAMASAMSAAAMXMXSAMXMXMMXMSSSMSMAXSASAXAXXASXSMAAAAAMAMAXAMXSSXSX +AXAAMSAMAXMMSMMXAAASXMAMXXSMXMSAMXXSAMXMSSMSMMSMMMSMXSMMAXAAXXMAMAAXMMSMMSMSSXSASAMMMMMSSSMSAMXMMMMMAAXMAXSXMSAMAASMSMMXXMSMMMSSMMMXAMAMXMMM +SSMMMMAMSMSASAMSSMMSXSAMXMMSSMMASXXMASXSXAXMXAAAAAMAMMXXXSMMMMMSSSMMXAMXAAAXAXSAMXMMAMXAAMMMMSXMASAMMSSMXMASAMAMXMXASMSMXMXSSXMAXAXSSMMXAAAA +MAXAXMAMAAMASAMAMAXXAAXMAAAAMXAXMMXSAMMSSMMSMSSSMXMASMASAAAASMAMAAAAMSMMMSXMMMSAMMMMAMMMMMMMASMSMXASAXXMAMXASMMMMXMSMAAXMXAXMASAMXXXAAXSMSAM +MAMSMSSSMSMASAMXXMMMXMASXSMMSMASAXXMXSAMAMAAAMXXMSMMSAAXXXSMMMASMXMXMMASXXAXXASMMASMSSSXMAXMASAAXSXMMSMMMSMMMSAAAXSAMSMSAMMSMMMXSXMSSMMAXMAS +MXMXAAAMMMMXSAMSSMSAAXXXAAMAAMAMXXMAAMMSAMSSSSSMXXAXXMMMSXMAXXMXXAXXMSAMASMMMMMAXMSAMAMXXXXMXSXMXAMMAAAAAAAAAMMSMXMAMXAMMAMSAMXXMXMAMAXSXMAA +MASMMMSMAXXXXAMAAAXSMSMMSMMSSSXAMMSMMSXMXMAXXAAMASXMSXSASASMMSSMSXSSXMAMMMXAAMXSMXMMMAMAMSASASAMSSMSSSSMSSSMXSAXXSMSSMAMXSXSAMXMSAMASMMMAMMS +SSXSSMXMXSSSSSMMMMMMMAMAAAXXAXMAMAAAMXAMSMSSMMMMASAAAAMMSAMMAAMASMAMXSAMAASMXSAMMAMASMMAMSAMASMMAAXAMXXAAXAAMMAMAMAAAMAMMMAMXMAXSASMXAASAMMX +SXAXXXAXXAAXXAAXXMAMSAMSSXMMMMSAMMSSSMAMXAXXAAAMXSMMMXMXMXMMSMMAMMAMXSAXMMMAAMMSSMSAMXMXXMXMAMMMSSMMSXMMMSXMAMAMMMMMSMMSXMASAMXMSXMMSSMMMXXX +MMMMMMMMMMMMSSMMXMXMXMXMMMSXXASASAAAXXSAMXMSSMXXAMXAXMXSMMXMMXMSSMAXAXAXSMSMXMAMAAMASXXSASXMASXMAMXXXMMXXAMSASAMXASXXMXMAMMSAMSAMXMXAAAXSXMX +XAMASAAAAAAXMMMXMSSSXXAAXASXMXSAMMMMMXMXXAMAMXSMASAMXMMAMAAMMSAXAMSMMMMMSAAXAMAXMMMAMXAMAAASAMXMASAXXAAMMMXSASAMSMSASXSSSMAMMASAMXMMSSMMAAXX +SXSASXSSSSSSXMAMXAAAASMXMMSAXMMXMASAAXSXSMSMMAXSXMXSAXMAMSXSAMXXSXXAXMAAMXMMXSMSAAXAXMSMAMAMMSMSXMXSASXMASXSXMAMMMMAMXMAXMXSMAXSMAXXAXMAXXMM +MXMASAMXAAAXMMSAMMMMXMASMXMMMSMASMSASAMASMAMMMMSXSASAMMSMXMMXSSMMASMMSXSSXSAMXMAXASAMXAAASXXXAAMXMASMMASXSAXXSXMASMMMAMXMMAXMSMMXSSMMSASMSSS +SAMXMAMMMMSMSAXSMMSMMSXAMSXMAAXAMXSXXAMMMXAXMMAMMMAMASAXMSXMAXASMAMMAMMXXAAAXXMAXXXMASXMMSMMSMSMAMMSXSAMAMXMXASXMSASXXSAMSAMXMASAMXMXMAMAAAX +MXMAMSXSSXXXMXMXMAAAAMMMAMAMSSMSSMMXSAMXASMSSMASXMXMAMASAMXMXSAMXMSMAMSAMSSMMMSSXMASXMXSXXAAMXMMASAMMMMMXMMXXAXXASAMXMMAXSXMASAMMXAMXMAMMMSM +XASASMAAMAMXSMMAMXMSXMASASMMMMAAAASASAMMMSAAAXXMASXMXMAMXMASMXASMMMXMSMXXXAXXAAXAMXMAAASMSMMSASMXSAMSAMMAMXMMMMMXMASASMSMSAMXMAMXSSMMMSSMAAX +SASMSMMMAAAXAASASAAMMSXSASXAAMMSSMMAMXMAXXMMMSMMMAXMAMASMMMSASXMMAXAXMASXSMMMSSSSMSMMMMSAXMXSAMXXXAMSASXMSMXAAASAMXSXSAAAXXMASXMAAXAAAXAMXSA +XXXAXXXSSMSSMMSASMMXASAMXXXMMSAAMXMAMMXSXMXMAAAAXMAXMSAMAAAMXMAASMSSSSMSAMXAAMXAAXMASMMMXMXMMMMSSXSMSAMMXMAXMSMSASAMAMXMMMAMXMXMAMMMMSSXMSMM +XSMSMAMAAAAXXXMAXAAMSMXMMMXSAMMSSXSAMXAMAMAMSSSMMSMSAMXSSMSSSMMXMAXAMXAMAMAMXSMSMXXXMAAAASXMAAAAAAXAMMMAXXSSMXMSMMASXMSXSSSXASMSSMSSMAXMXMAS +MAAAMAAMMMMSMXMXMMXSXAXASMAMASXMAXXMSMASAMMXAAAAAXMAMXMAMAMAMXSAMXMSAMXMAMASXXAMMAMSSSMSSSXSSMSSMXMAMXMMMXXAMSASASAMAAXAMAMMMMMAAMAAMAXMMSMM +AMSMSSSXAXXAAAMXSSMMXMSMMMMSAMAMSSXMAMMMMMSMMXMMMSASMMSAMMMXMAMAXAAXXMAXXSASMMSMMASAAAAXAMAMAXMXXSSSMASXAMSAMMAMMMASXMMSMSMXSAMSSMSXMSXMAAAX +SMMMAAMMMMSMXAXAMXAMAXAMASXMMSSMAAASXSAMXAMXMAMXXXAAAAMAXAMXMAXSMSSMSASXXAMXAXAXSMSMSMMMSMSMMXSAMMAASASASAMAMMSMXMAMXMAXXAAXXAMAXXXAMXAASXSM +MAMMMSMAXMAMSSXSMSSMMSMXASAAXAMMMSMMAMASMASXSMSAMMSMAMXAMSMMSASXMMMAXAMXMASMMSSXSAXXMASXAAAXXASASMSMMXSAXMSAMMMXSXAXAXSXSSSMSMMMSAXMAMMMXAXA +MSMAXAMMMSMXAMXXAAAAXAMMXSXSMMSXMAMMMMAMXSMAAXXAXAXMXSMMXMAAMSSMAMMXMASMSMMMAAXAMXMXXMMMMMMMMMSAMMAAXAMASMSASXMAMSMSMSMAXXAXXAAAMMSMMMXXMXMX +MMSXSMMSMMXMASAMMMSXMAMSMSMMAXMAXXMMAXAMXMMMMMSAMXSXASAMASMMSAMMAMAXMAMMAAAMMMAMMSAMXMSXSAXAAXMXMXXMMXMXMASAMMMSMMMAMAMMSSSMSSMXXAAAASXAAXXS +SAXMAMAAAXXSAMASMAMXMXXAXSASAMSMSSMSASXMXMAXXAXXAMXMAMAMXXAXMASXSSSSMAXSSMMSMXMSMXMMXXAASASMSMSSMMMMXMASMXMAXMMXAXMAXAAAXMAAXXSMMSXSMSAMXMXM +MASAXMMXSMMMASAMMASASXSMSSXMXMAXAAAMASAAXSMMMSSMXMASMSXMXXSMXMMAXAAMXSMMASMXXAMAXAAMSAMXMXMXAAAAAAASAMSXMASXMSMSXMSMXSMMSSMSMSXXAAAMAXXMASAM +SSMMMMSMMAAMAMXSXMMXXAAXAMAXAXMSSMMSXSAMXSAMAAAAMMXMXAMXSMMASAMSMMSMAXAMMMSASMSSMXAAMAXMMMMMMMSXMMXXAXAMXMSAMSASXMXXAMASAAXAXSAMXXXXASMSXSAS +MAAXAAAASMMXMSASASMAMMMMASMMSMXAXXAMASMMASAMMSSMSMMMMXSASASXMASXAMAMAMMMSAMXSAAAMSSSSMMAMASAAAMXSXMSMMASXXMAMXAMMSAMSSMMXMMMAMAMAMMMXMAAAXAX +SSMMMSSMMASAXMAMAMMAMSASMXMAXXAMSMAMAMAMXSAMXMXAAXAMAAMASAMMXMAMSMMMMMMMMASAMMMMMAMAAMSXSASMSXSAMAMAMSAMMSMMMMMMXMAMAAMASMMXASAMAMMAAMXMSMMM +MAAMAMXXAASXSMSMSMSXSAXASAMMSXMXXMAMAMXXXSMXAMMMMMSMMSSXSXMAMAAAAMXAAASAMMMMSXSSMMSSXMAAMAMAMAMMSAMAXMASAMASXSMAXMMMSXMASAAXXMAXMSMSSSMAXAAX +SSMMAXMXMXSASAXAAXXMAMASXXSASAMSXXSXSAMXASASMSASXMAXAMXAMMMXMSSSSSSMSXSAMSAMXAAAAXAAAMMSMMMAMAMXXAXSXSXMASXMAXAXSXMAXAMXSMMMSSSMASAMMAMXSMMM +XMASMSMAMAMMMXMAMMMSMXSAMXMASAMAMXXAXMMAAMAMAAMXMASMSSMXMAMAXAAAAAXAXAMAMSAMMXMSXMASMMAXAMMSSMMSXSXMASXSAMMMSMMMSAMASAMXXAAXXAXMMMAMSXMASMSM +MMMMXAMASASXMXSAMXAAXSAMSMMAMMXSSMMAMXSXMMAMXMSXMXAAMAMMSXSMSMMMMMMSMMMSMSAMMXXMAMAMAXXXAMAAAAXXAXAMAMXMMSAAAAAASMMMSAMMSXMSMMMMXSMMSAMAXAAX +AAAXSSSMMXSAXAXAXMXSSXXXAAMXSXAMAXMAMMXASMMSSXMASXMMSAMAMXAAAXAAXXAXXSAMXMAAMMMSAMAMSMMSSMMSMMMMMMAMAMXSASMSSSMMMXXXSASASAAAAAAAXMAAMAMMMSMS +SMSMMASASASAMSSMMMMXMAMXSSMXXMXSAMMMSASMMAMAXASASXMASAMSSXMSMSSSXMMSAMASAMSMMAAXXSXXAAXAMMMMXXAAXMXXASXMAXXAMXXAMSMMSMMASMSMXSSSMSMMSXMAMXAA +MSMAMAMXAMMMXXAMASAMMSMXAMXSXAXXXMASAMXXXXMXXAMMSAMXMAMAXAXAXAXMASXMMMAMMXXASXSSMXXMSSMASXXAAMXSMMXSAMAMAMMSSMSSMSAMSXMXMMAMXMAMXMXMXXXAXMMM +MASXMSMSMXAXMSMMAXMXAXMAMSAMMMMMXSXSAXMMMMMSXXSMSAMAMSMSSSMSMMMSAMAMASXSXMXAMAMXMAMMAXMAMAMMMSAAAAXMMMAMMXAMAAAMASMMXMAXMXMXMMAMASMSMMSSXMAS +SAMXSMASXSXSAAXMXSXMMSAMXMAXAAAMXMASXXAASAASAXMASXMAXAAAAMAXXAAMASXMAMASXMMSMMMAMASMXMMMSMAMAAMSMSAMXSXASMMSMMMMAMMSSSMXSAMSSSMMAMXAAXAAASAS +MASXXMAMASXAXSXSAAAXAAAXMSXMMSMSAMXMASXSXMMSAMMXMMSMXMSMXMAMMMSSXMMMMXAMXMAAAAMXSSXXAXAAXXSSXMMXAXMMMAXAXMAMXMXMXMSAAAAASASAAMXMASMSMMMMMMAS +XAAMXMAXAXASMMAMXSXMAMMMMAMXXMASASMXMAXMXSAMAMXAAXAAAXXMXMMMSAAXAAMASMMMXMXSSMXAXAMSSSSXMAMXAXXAXASAMMMMMMASASAMAMMMSMMMSXMMXMASMMMAMXSASMMM +MSXSAMSMSSXAMMSMAMMAMASMMAMXAMASMMAMMMXMAMMSSMSSSMMSMXAMXMXAMMMSSMMAMAXMAXMXMMASMMMAAAAMMMSSMMSXMASAMXAAASXSAXMMASXMAXSXMXMXXSASAMASMASASAMX +XMASASAAMAXMXAAMMSSSMXMASASMAMAMASXMAAAMMSAAAAMAXXXAXSSMXMMXXXXAAXMAXMMXASMSAXSXAAMMMMMSAAXXSAXXAXSMMSSXXAMMMMASASASMXXAXMXAXMASASXAMASAMAMS +AMAMSSXSMSMXMSSXXAAXXSSMMAMXAMXSMMMSXSXSAMXMMMMMMMXXXXMAMXSMMXSMSSSXSAMXXAAMMSMSSMSMMSXSMMMAMXXMSMXAMAAXMASAASXMASAMXASXMSMMXMAMMMXMMASMMSMS +SMMSAMXMXXAXMAMMMMSMMXAXMXMAXMXXXAMMXMASMSMMAMSXMAMMAMASMMAASAXSAAAMAAXMMMXMXAAAXMAXASAMXSMSMSSXAMMMMSSMMXMXMMXMXMMMXMAXAAAAAMSSSMAXMMSMAXMX +XAXMASXSASMMXAMAMAAAXSMMMXMMSSMMSMMMSMASXAXXAMAXMASXASAMAMSMMASMMMMMSSMMXSMSSMSMXSASMMXMAAXAASAMXXAMXMAAXSSSMSMXMMXMSXMMSSSMXMXAASAMXMSMAXAM +MMMSAMXSAMSAXMXSXMMSMMAASMSXAAAAMXAAXMAMMMXMAMMMSASMXMASXMXXMXMXSXXAXAAXAAAAAXAXAMASXMMMSMSMXMASMSMMAXMMMAAMSAMMSMAASAMXMAMMSSMSMMMXAXMMMXSA +XMASAAAMXMASXMAMASAMASXMSAXMMMMMSSMSSMSSMASXSMXAXAXMMMXMXXMASXSXSAMXSMMMSSMXXMMSAMAMAAXMXXAXMMXMAAASXMSSXMMMSXSAAXAMSAMXMASMAAMXMAMSMMSAMAXM +XMASMMXMXXMXMMMSAMASXMAAMXMMXSXMXMXMAXAAMASAXXMXMSAMXXAAXSSMMAASXAXMSAMXMAMSMSXSXMMSXMSMSASMMXAMMMMMXAASAXXXMAMMSSSMMXMASXXMAMMXMAXXAASXMXMX +XMAMMXMXAMXMSAMMASAMMSSMMMXAASASMMSSMMSSMASASMSXMMMAXSMSMMASXMSSXSXAXASMMMMAASASXSAXMMAAMXAASXMMASMMMMMSMMMXMASMXXAAMMXXSSXMASMXSSSMMMSASMSM +XXMAAMSAXAAAMAXSAMAMAMAASXMMXSAMXAAAAXMAMXMAMASAMMSSMAAAASAMXXMMAMXSMMXXASXMSMAMAMXSXSMMMMMSMAASASAMXMAXAAXXXXXXXMSMMXXXXXXAXXXAAXAAMMSAMAAA +MSMSMAAMXSXMSAMXASAMAMMMMMSXAMAMMMSSMMMXAMMAMMSAMAAAXAMSXMASMMMMMMAAAXSSMMAXMMAMAMMMMSXMAMXAXSMMSXXMXMXXSMASMSMXMXXAXMASMMXMXMMSMSMMMMMMMSMS +AXAXXSMXMMMMMASXMMMSASXMAXSMMMAMXAMMAAXXMAXXMXXAMMMSMSXMAMXMAAAAASMMSAMASMSMMSASMSAAASASMSSMXMAMMSSMSMSXAMAMAAXMMAMXMMMXAMMMAAMAAAMAXXAMMMMM +SMXMAMXAAAAMMMMXXAASMSAMXSXAMSMSMSSSSMXSMMASASXSMSXMAMAMASMMSSSMXXXSXXMAMXAAXXAAXXMMXMXMMAMMAMAMMAXAAASMMMAMXMMXMASASXMSMMASXMSMMXSASXXSAAAX +MMMSMSMSSSMSAAMXSMMSSSMMSMXXMAASAXXAAAMSAMASAMAXAXMSMSAMMMAAAAMMMXSMMAMSSSSSMMSMSMMMMXMMMXMSAXXSMMMSMSMAXSXSAXMASXSXMAASXSXXSMXXSAXXAAASXSMS +MAAAMAAXAXASMSMAXAXSAMXXMAASXMMMAMMSMXMXAMMSAMAMMSMXAXAMXMMMMXMASXMASAMXAAAXXAAXAAMXSAASMSMSMSMMAMXMMXMXMMASMSMAMMXMSMMMAXMASXMAMMSMMMMMAXAA +SMSSMMSMAMXMAMMSSMMMMMSAXMXMAASXMMXAAMSSXMASAMXSAMMMMMSMSAAAAXSXSASMMSSXMMMMMSMSAMMASMSXAAAMMAASXMAXMASXXMAMXMMAMAAMAXASMSMAMMXMAMAMXASMMMSM +XAMXMMMMMMMMMMAMAMAXXAXMASMSSMMAXMXMXAXAAMMXAXAMXXAAAAAAASXMXMMASMMAAAXAMAXXAAXMASMMSXMMSMMXSSXMAMSSMMXAMMXXSXSSMSASASASXSXSXMASAMXASXMAXAMX +MXMAMAXAAAAAAMMMAMXMAXXXSXAAAMSSMMAXMSXSSMXSSMSMASMSSSMXMMXMMAMAMASMMSSSMMSMMSXSAAMXMXSAXAMAMMMSMMMAASXSASMXMAMAMMAXASXMMMAMASAXXSXMAMSMMSXS +XXSASXSXSXSSSSMSSMSSSMMMMMMMXAMXASASAMAAAXXAXAAMXSAAAMMSSMASAMMSSMMMXMAMAXSAMXXMAMMAMXMASAMSMMXXXAMMXMAXMAXMMAMAMMAMMXXMAMMSAMXXMMMAAAAXAMAS +SASASASXMXMAAAAXXAAAAAMXAAAMSSMSAMXSMMMSMMMSMSMSMMMXMASAAXMASMAXAXAAAMASXMMXMMXSXMSASMMMMMMMAMXXSXSMSMMMASMASXSMSSSMSMMSMSXMXXSASASMSSXSAMAM +AAMAMAMASMSMMMMMMMMSSMMSXMXXAAAAMAAMMMMAAAXXAMMSASXAXMMXXMMMAMXXXMASXSXSMAXMMMMMAXSASXSXXAAXAMSXSAMAAXXASXAMXAAXAMAAXAXXXAAMAXMMSASAAAXSXMAS +MSMMMXMSMAAMASAAXXAAAAXSMSMMMMMMSMMMAASXSMMMXMAXAMSXSAMSSSXXMAXSAMXMASXSMSMSASAMXMMXMASMSMSMMMSAMAMSMMXSAAMMMMMMSSMMSSMSMMSMXMSXMAMMMMMMXSAM +XAAAXASAMXMXASAMXMMSSSMMSAASXSSXSASMSMSAXMASAMXMSMMXMAMXAAAXXAASXMASMMAXXMASASXMSMMMMAMXAMMASAMXMXMAAASXMSSMAAXAXXXXMAASAAXASAMMMMMMAMXMASXM +SSSMSXSASMSMMSAMSAMXAXAXSMSMAAAASAMAXXMAMXAXAXAAAAMAMSMMSMMMMMMMSMASMMXMMMXMMMAMXAASMASMSMSAMASMMSSSMMXAXAAMSSMSSMXASMMXSMSAMAMSAMASASAMXSAX +MAAMXMSAMAAMAXAMSMMSSMMMSSXMSMMMMXMMAMSMMMSSMSXSMSMSAAMAMAXXAXAAXMAXAMAMXAMMSSSMSSMMSASAXAMXSAMAAAXASMSSMSSMXMXMAAMAMXMXMXSXSXMMAMASMSASASMM +ASMMAAMAMXMMSSSMMAXAAASAMAMAAAASMXMXMXAASAMAMAMMAAAXSMMASXMSMSMMSMASMSMMAMSAAAAAXMAXMXMXMAMMMMSMMMSMMXAMXAMAMXAMXMAASASXSAMAMAMXXMXXAXXMASXA +XMAMAXXXXSXAAXMASMMMSMMASMMSMSMSAASASMSXMMSMMAAMSMMMMXSASMMAAXXASMMMAAASAXMAMMMMMMSMMSSMSAMAAXXMAMAMXMXMMXMMMSMSMMSMSAMAMMMAMXMAXSSSSSXSASAS +SSMSMSMMMMMMSSXXMSAXMAMAMXMXAMAMMMSASXXASXMXXXMAXXSXXAMAXXMMXMMMSASMSMMMMXMXSASXXMAMXAAMSMSXXSASMSMXSASXSMSAAAAAXMAMMAMAMXSSSSMXSAAAAAXMAXAM +XAXAAAAAAAAAXAXSAXSXSASMMMSMMMAMXXMXMASAMXXSXSXSMMAAMSMMMSXSASXMSAMXMASASAAMSAMAMASMMMSMMAMXAMAXAAMXMAMAAASMSSSXXMAXSXMXSAMAAXAMMMMMMMMMXMAM +SMMMSMSSSSSSMXMMAMXMMASAAAMAMSXMXMASMAMAMMXSAMAAXMMXMAAASXASASMXMXMXSXMASMSMMSMSAMMASXXAMAMMXMMSSSMSMSMMMXMAMXMXXSSMSMXSMMSMSMSMXMSXSXXAASXS +AXAXXXXMAXAXAMXSAMAAMMMMMMSXMMXMASAXXAXAMXSMXMXMAMMMSSSMXMXMMMMMMAMMMMMMMMXMAXXXAXSAMASXMXSXXAXAAMAXAAXASAMSMSMSMAMAMXMSAAXAMAMXXXSAMXMMMSAM +SXSSSMMMMMMMSMAMAMXMSASXSASXMAAAMXMMSMXASMXMASAAAXMAAMAMXMAMXAAXSMMAMAAAMMSSSMMSMMMAMAMXMAMMSMMMSMAMMMSSMXXAAAAXMAMXMAMMXMMMMAMMMMMAMMMSMMAM +ASAMXAAAMAMAXMXSAMSXXAMAMXMASXSSMXAAAMMMMAAXASMSSSMMMSAMASMMSSXMAAASXSSXSAAAASASASXSXMMAMMSAXAAXAMASAAMMXXSMSMSXMASASXSMAAXASASXAAMAMAAAAMMM +SAMXSSMMXAXXXAXMMXMAMMMXMMSMMAMAMSMMMSAMXSMMMXMAXAAAXSXSMAMXXASMSMMAAAAXMMMSMMMSAMXXASXSSMMMSSMSMSASMSMAMMAXXAMXXMXAMAAXXXSAMAMMXSXSSMSSSMSM +MMXAAMMMSSSMMXMASAMAAAAMAMXXMMSAMXAAASAMAXXXXAMXSSMMMMMXMASXMAMMAAXXXMSMMSMXAMAMXMASMMAXSAAXXXMAAMASAXMAXMAMXAMXASMSMSMMXMXXMAMXMMAAAXAXMASA +MSMMMSAXXAAXXAMMSASASASXSAMXMAMMMSMMXXAMAXXMSMSAMXMXAAAASASXMSMSSMMMMXMAMSASAMXSXMASXMMMSSMSMSSMSMAMMXMASASASMSAASAMMMAMXMAMSAMXAXMMMMXSMAMS +MXMMASMSMSMMSMSASXMAMAMXMASAMSMSXMASASMMSXSAXMAMSAXMXXSASASXSAAMXSAAMASAMMAMXXAMXMAXAAMAMAXXAXAAAMSSSMMMSAMAXAMMAMAMXSASXMAXSASAMMMSMSAMMXSA +MAMMASMMAAAXMXXXMAMAMAXMMAMXMXAXXSAMMSAAMAXSSSXMMMSSSMXAMAMXAMSMASXSSMSSSMAMMXMMMSMSSMMASMMMSMMSMSMAMMAAMMMAMMMXMSSMMSAMXMMMSAMMXSAAXMASASMM +XASMMSASXSSXMASMSXMSSSMSXMASAMAMMMMSMMMMMSMMMMAMSMAAXAMSMSMMXXAMMMXMAAXASMXXSAMAAAMMAASASAAAXAAXMXMAMSMXMASXMMAXAAAAAMAMAMSAMXMAAMMSMSMMMMAX +SASAXMAMXXXMSAMMAASAAMAMASAMAMXMXAAXXAXSAMAMASAMAMMSMMMMAMAMSMMMMSASAMMMMMAASASMSSSMSAMXSXMSSSMSXXMAXAAMMMMMXXSSMSSMMSSMAASAMMSMSSMXXSMMSSMM +AASXMMSMSAMXMAMMMMMMXMMSAMXSSMMSMMXSSSXMASMSASASXSXXAXMMSMSAAAXAAMXMAMAXAMMMSAMXXAAXMASAMXMXAAAXXMMSSMSXASAMAXXAAXAXXAXMXASAMXAXMAMSAMAAXAMM +MXMXMAAAAAMSSSMXMASXMMXMXSXXXAAMASAMXMASAMXMXSAMXMMMSAXAXAAXSSMMSSMSSSMMMXXXMASMMSMMXAXASXMMSMMMMMSMXAAMXXAMXMSMMMMXMASMMMSMSSMSSSMMAMMMMAMX +SSMAMSMMSXMAAAXMSMSAAXAXMMXMSMMMXMXXAMMMXSAMXMMMXMAAXAMXMSMXXAMXMAMXXAMSSMSXSAMAAMAMMMSAMAMAMAASAXXXMXMMMSSMAMMXAAXMSMXXSAMXAMXAAAXSXMSXXAMA +AASXXXXMMMMMSMMMAMSAMSXSAMXMAMSMSMSMSMSAMXMXXXAAASMMXXXXMXMMMAXMMMSMMAMMAAMMMASMMMAMAAAMSXMAXSMSSSMSMSXMAAASMMMMSXSMAMXMMMMMMSMMSMMAAMAXSAMS +SAMXMXMAAXXXAAASAMXAMAMSAMXMAMAAAAAAAAMAMMMSMSMSMSAAASMMSSXAMXMSAMAAXAMSMMMSXMXAASASXSSXSMSMXXAXASAAMSXMMXMMMASMMASXMSSSSSXSXMAXAMXSAMAMSAMA +AMMAMASMAMXSSSMSMSSSMXMSAAASASMSMSMSMSMSMAAAMAAMASXMASAAAMSSSMMSASMSMMMAASASASXSMSASAXXAMXAMMMXMXMSMAXXMSSMASASASMXAXSAAAMSXAXMMASMMAMXMMXSM +AAXAXXSMAMMMAMAXAAAXXXMMMSXSAXMAMMMMAMAAMMXXSMSMMMXMXSMMXXAMXAAXAMXAAXAMXMASAMXAAMAMMMMSMMXMXAMAAXMMSXAMAAXAMXSAMXSXMXMMMMSSMMMXXMASAMMAMASX +MSSMMMXMAMAMAMXMMMSMSXSXAXAMAMSXSAAMAMSMXSAMSXMAXSXMMXMASMMMMMMSMSSSSMMXAMAMAMSMMMAMXAAAAMAMSMASAXXAMXMMXSMXSMSASASAMMMSAMXAMAMSMSMMASAMMASX +XAAMSSMSMSXSMSAMAAAXAASMXMMMSMXASXSSSMMAAAMXMASAMSAMSAMMSAMSMSXXXAXMMAXSXXXSMMSAAXASXSXSSMAXAAXMAXMASMXSAMMAXXMAMAXSAAAAAMSMMMSAAAXSXMMXMASX +MMSMMAAXAAASASMSASXMMSMAMAAAMMXMXMXMXAMMMMXMXAMAMSAMSASAMAMAAXAMMSMXSAMXSXAMAASXMSMSAMXAMMXSMSSMSMSAMXAMASMMXMMAMAMXMMSSSMAAMXSMSMXAMXXXMSSM +XXAAMMMMMMSMAMAXXXAMMAMSASMSSMASXMAXSAMXXXSMSASMMSMMSAMXSSMMSMAMAAAAMASAMMSMMXSAMAXMAMMMMXMXXXAAAAXASMASXMXAASMSMXSMXMAMMMSMSAXMAMXXAMXMXAXX +SSSSMMXSSMXMMMAMMSXMMASMMAAAAXAXAMAXXMXMMMSAAXXMASMXMSMAMXSAAXMMMXSXMAMAMAAXMXSMMMSMMMAMSXMSSSMMMSMMMMAXMAMMXMAAMMMAAMAXSXMAMASXMMSXSAAMXMSX +AAAMXSAAAMXXAMXSMAXXSMSMSMMMSMMSSMMMSMAAAAMMMXSMMMSMAAMAXAMSMSMSMAXASXSXMSXSXAMXSSXMAMAMAAXAMMAMXMXXSXAMMSMMAMSMSXXXMSMMSAMMMMMAAASMMMAXMXAM +MMMMAMMSMMMSMSAMMASMSASAAXMAMAXAMXMAXSAMMXSMXMXAAXAMMMMSMXMAMAAAMAMMMAAXXXAXMXMAMMAAMSMSSSMMSMAMXMAMSASXAXAMMMXAMMMSMSXAXXMASASMMXMASXSMSSSS +XXXMAXMAASAAAMASXAXAMAMSMMMSSXMAMAMAXAMXSAMXXMSSMSMSMMAAXMSXSMSMMXMXMSMMAMMMMAMASMMMXMAAAAXMAMASXMSXMMMMMSMMXAMAMAAAAXAMSMMMSASXMMSMMAMAAAMX +MSMMXSMSAMSMXSAMXXMMMSMMSMAAAMXSSSSXMASAMASMMAXAASXAAMSSMMMMAXAMXAMAMAAMMSXAXMSASAAXAMMMXMASXSXSAXMASAXXMAAXMMSSMMSMSAXMAXAAMAMMMAAAMSMMMSMM +MMAAAAAMXAXMXMASMSMSAAXAAMMMMMAMAXAAXXMMXSMXAMMMSMMMSMAAXAASXSMSSSSSSSXMASXMSAMASMMSXXXMSXMMAAXSAMMAMXSMSSSMAXAMXXMAMAASXSMMSAXAMSSSMMASAXMM +SSSMSSXSMSMMSMSAMAAMMSMSSMSASMXSASMMMSMMMMAXMXAXAAXMAMXMSSMSAAXAAXAMAMXMXMAXMXMMMMMMXSAMASASAMXSASMSSXXAMAMXSMMXMXMAMAMXAXAAMMSMXXXMAMAMXSAM +MXXAAXXXAAXAXXMASMXMXAAMAAMAMAAAXXAAAXAAMMAMMXSMSSMXXSMXXXAMXMMMXMMMMXXMXMXMMSMMAMXAASAMASMXMXXSAMAXXXMMMASMMXSAMXMAMMXSXMMMXMAMXSMSSMMSXSMM +AMMMMSMMSMMMSMSMMXASMMSMMSMMMMSSSSSMMSSMSMMMSAMXMMMMMMMMSAMXAXAMSSXAXSAMAMXSAMXAAMMMXSMMXXXAMSMMSMSMMMSASXSAMAMASMSMSAAAMMXSAMXMAAMAAAASAMXA +SXXMASMAAXAAAXAMXMASAMXAAXASAMXAAAXAXMMMXAAMXASAXAAAMAASAMXSSSSSXSAMXSASAMSAMXXSSSXSAMXASXSASAAAAMAAAASASMSAMMSAMAAASMXMAXASASAMSSMSSSMMAMAA +XMASXSMSSSMSSSMSXMASMMXMASXMASMMMMMXAAXSSSMSMXMASXSSSMSSSXXXXAMXAXMSXSAMASAAMAMMXXXAAXMASXSMAMMMSSSSMMSXMASXMXAMMMMMMXMXXMASMMAMMAMXXXASXMXM diff --git a/4/task.ts b/4/task.ts new file mode 100644 index 0000000..611af2a --- /dev/null +++ b/4/task.ts @@ -0,0 +1,43 @@ +import { readLines } from "../utils.ts"; + +export async function solveTask4part1() { + const lines = await readLines('./4/example.txt'); + console.log(lines) + + // left to right + const l2r = lines + .map(findXmas) + .reduce((p,c) => p+c, 0) + // right to left + const r2l = lines + .map( l => [...l].reverse().join("")) + .map(findXmas) + .reduce((p,c) => p+c, 0) + // top to bottom + const t2b = [...lines[0]] + .map( (_, i) => lines.map( l => l[i]).join('') ) + .map(findXmas) + .reduce((p,c) => p+c, 0) + // bottom to top + const b2t = [...lines[0]] + .map( (_, i) => lines.map( l => l[i]).join('') ) + .map( l => [...l].reverse().join("")) + .map(findXmas) + .reduce((p,c) => p+c, 0) + + // console.log(t2b) + console.log(l2r, r2l, t2b, b2t) + // const all = l2r + r2l + t2b; + // console.log(all); +} + +function findXmas(line:string) { + let count = 0; + let searchPos = 0; + let foundPos = -1; + while ((foundPos = line.indexOf('XMAS', searchPos)) > -1) { + searchPos = foundPos + 1; + count++ + } + return count; +} \ No newline at end of file diff --git a/main.ts b/main.ts index f18992d..2137f11 100644 --- a/main.ts +++ b/main.ts @@ -1,6 +1,7 @@ import { solveTask1part1, solveTask1part2 } from "./1/task.ts"; import { solveTask2part1, solveTask2part2 } from "./2/task.ts"; import { solveTask3part1, solveTask3part2 } from "./3/task.ts"; +import { solveTask4part1 } from "./4/task.ts"; // await solveTask1part1(); // await solveTask1part2(); @@ -8,5 +9,7 @@ import { solveTask3part1, solveTask3part2 } from "./3/task.ts"; // await solveTask2part1(); // await solveTask2part2(); -await solveTask3part1(); -await solveTask3part2(); \ No newline at end of file +// await solveTask3part1(); +// await solveTask3part2(); + +await solveTask4part1(); \ No newline at end of file