added day04
This commit is contained in:
5
Cargo.lock
generated
5
Cargo.lock
generated
@@ -9,6 +9,7 @@ dependencies = [
|
|||||||
"day01",
|
"day01",
|
||||||
"day02",
|
"day02",
|
||||||
"day03",
|
"day03",
|
||||||
|
"day04",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -22,3 +23,7 @@ version = "0.1.0"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "day03"
|
name = "day03"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "day04"
|
||||||
|
version = "0.1.0"
|
||||||
|
|||||||
@@ -10,3 +10,4 @@ opt-level = 2
|
|||||||
day01 = {path = "src/day01"}
|
day01 = {path = "src/day01"}
|
||||||
day02 = {path = "src/day02"}
|
day02 = {path = "src/day02"}
|
||||||
day03 = {path = "src/day03"}
|
day03 = {path = "src/day03"}
|
||||||
|
day04 = {path = "src/day04"}
|
||||||
|
|||||||
7
src/day04/Cargo.lock
generated
Normal file
7
src/day04/Cargo.lock
generated
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
version = 3
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "day04"
|
||||||
|
version = "0.1.0"
|
||||||
6
src/day04/Cargo.toml
Normal file
6
src/day04/Cargo.toml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "day04"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
140
src/day04/input04.txt
Normal file
140
src/day04/input04.txt
Normal file
@@ -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
|
||||||
2
src/day04/src/lib.rs
Normal file
2
src/day04/src/lib.rs
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
pub mod part04a;
|
||||||
|
pub mod part04b;
|
||||||
52
src/day04/src/part04a.rs
Normal file
52
src/day04/src/part04a.rs
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
use std::fs::File;
|
||||||
|
use std::io::Read;
|
||||||
|
|
||||||
|
pub fn day04a() -> u64 {
|
||||||
|
// read file (that for sure exists) into two lists
|
||||||
|
let mut file: File = File::open("src/day04/input04.txt").unwrap();
|
||||||
|
let mut file_content: String = String::new();
|
||||||
|
file.read_to_string(&mut file_content).expect("Can't read file");
|
||||||
|
|
||||||
|
// create n*n matrix from input
|
||||||
|
let mut matrix: [[char; 140]; 140] = [[' '; 140]; 140];
|
||||||
|
file_content.split("\n").enumerate().for_each(|(line_nr, line)| {
|
||||||
|
line.chars().enumerate().for_each(|(col_nr, ch)| {
|
||||||
|
matrix[line_nr][col_nr] = ch;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// examine every element in matrix
|
||||||
|
let mut count: u64 = 0;
|
||||||
|
for row in 0..140isize {
|
||||||
|
for col in 0..140isize {
|
||||||
|
// skip if it's not X
|
||||||
|
if !matrix[row as usize][col as usize].eq(&'X') { continue }
|
||||||
|
// if enough space search in X+
|
||||||
|
if col + 3 < 140 { count += search_xmas(&matrix, row, col, 0,1) }
|
||||||
|
// if enough space search in X-
|
||||||
|
if col > 2 { count += search_xmas(&matrix, row, col, 0, -1) }
|
||||||
|
// if enough space search in Y+
|
||||||
|
if row + 3 < 140 { count += search_xmas(&matrix, row, col, 1, 0) }
|
||||||
|
// if enough space search in Y-
|
||||||
|
if row > 2 { count += search_xmas(&matrix, row, col, -1, 0) }
|
||||||
|
// if enough space search in X+Y+
|
||||||
|
if col + 3 < 140 && row + 3 < 140 { count += search_xmas(&matrix, row, col, 1, 1) }
|
||||||
|
// if enough space search in X+Y-
|
||||||
|
if col + 3 < 140 && row > 2 { count += search_xmas(&matrix, row, col, -1, 1) }
|
||||||
|
// if enough space search in X-Y+
|
||||||
|
if col > 2 && row + 3 < 140 { count += search_xmas(&matrix, row, col, 1, -1) }
|
||||||
|
// if enough space search in X-Y-
|
||||||
|
if col > 2 && row > 2 { count += search_xmas(&matrix, row, col, -1, -1) }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
count
|
||||||
|
}
|
||||||
|
|
||||||
|
fn search_xmas(matrix: &[[char; 140]; 140], row: isize, col: isize, x: isize, y: isize) -> u64 {
|
||||||
|
if !matrix[(row+ x) as usize][(col +y) as usize].eq(&'M') { return 0 }
|
||||||
|
if !matrix[(row+2*x) as usize][(col+2*y) as usize].eq(&'A') { return 0 }
|
||||||
|
if !matrix[(row+3*x) as usize][(col+3*y) as usize].eq(&'S') { return 0 }
|
||||||
|
1
|
||||||
|
}
|
||||||
60
src/day04/src/part04b.rs
Normal file
60
src/day04/src/part04b.rs
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
use std::fs::File;
|
||||||
|
use std::io::Read;
|
||||||
|
|
||||||
|
pub fn day04b() -> u64 {
|
||||||
|
// read file (that for sure exists) into two lists
|
||||||
|
let mut file: File = File::open("src/day04/input04.txt").unwrap();
|
||||||
|
let mut file_content: String = String::new();
|
||||||
|
file.read_to_string(&mut file_content).expect("Can't read file");
|
||||||
|
|
||||||
|
// create n*n matrix from input
|
||||||
|
let mut matrix: [[char; 140]; 140] = [[' '; 140]; 140];
|
||||||
|
file_content.split("\n").enumerate().for_each(|(line_nr, line)| {
|
||||||
|
line.chars().enumerate().for_each(|(col_nr, ch)| {
|
||||||
|
matrix[line_nr][col_nr] = ch;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// examine every element in matrix
|
||||||
|
let mut count: u64 = 0;
|
||||||
|
for row in 1..139 {
|
||||||
|
for col in 1..139 {
|
||||||
|
// skip if it's not A
|
||||||
|
if !matrix[row][col].eq(&'A') { continue }
|
||||||
|
// if enough space search in X+
|
||||||
|
count += is_x_mas(&matrix, row, col);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
count
|
||||||
|
}
|
||||||
|
|
||||||
|
fn is_x_mas(matrix: &[[char; 140]; 140], row: usize, col: usize) -> u64 {
|
||||||
|
if !validate_tl_br(matrix, row, col) { return 0 }
|
||||||
|
if !validate_tr_bl(matrix, row, col) { return 0 }
|
||||||
|
1
|
||||||
|
}
|
||||||
|
|
||||||
|
fn validate_tl_br(matrix: &[[char; 140]; 140], row: usize, col: usize) -> bool {
|
||||||
|
match matrix[row-1][col-1] {
|
||||||
|
ch if ch.eq(&'M') => {
|
||||||
|
matrix[row+1][col+1].eq(&'S')
|
||||||
|
}
|
||||||
|
ch if ch.eq(&'S') => {
|
||||||
|
matrix[row+1][col+1].eq(&'M')
|
||||||
|
}
|
||||||
|
_ => false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn validate_tr_bl(matrix: &[[char; 140]; 140], row: usize, col: usize) -> bool {
|
||||||
|
match matrix[row-1][col+1] {
|
||||||
|
ch if ch.eq(&'M') => {
|
||||||
|
matrix[row+1][col-1].eq(&'S')
|
||||||
|
}
|
||||||
|
ch if ch.eq(&'S') => {
|
||||||
|
matrix[row+1][col-1].eq(&'M')
|
||||||
|
}
|
||||||
|
_ => false
|
||||||
|
}
|
||||||
|
}
|
||||||
39
src/day04/story04a.txt
Normal file
39
src/day04/story04a.txt
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
"Looks like the Chief's not here. Next!" One of The Historians pulls out a device and pushes the only button on it. After a brief flash, you recognize the interior of the Ceres monitoring station!
|
||||||
|
|
||||||
|
As the search for the Chief continues, a small Elf who lives on the station tugs on your shirt; she'd like to know if you could help her with her word search (your puzzle input). She only has to find one word: XMAS.
|
||||||
|
|
||||||
|
This word search allows words to be horizontal, vertical, diagonal, written backwards, or even overlapping other words. It's a little unusual, though, as you don't merely need to find one instance of XMAS - you need to find all of them. Here are a few ways XMAS might appear, where irrelevant characters have been replaced with .:
|
||||||
|
|
||||||
|
..X...
|
||||||
|
.SAMX.
|
||||||
|
.A..A.
|
||||||
|
XMAS.S
|
||||||
|
.X....
|
||||||
|
|
||||||
|
The actual word search will be full of letters instead. For example:
|
||||||
|
|
||||||
|
MMMSXXMASM
|
||||||
|
MSAMXMSMSA
|
||||||
|
AMXSXMAAMM
|
||||||
|
MSAMASMSMX
|
||||||
|
XMASAMXAMM
|
||||||
|
XXAMMXXAMA
|
||||||
|
SMSMSASXSS
|
||||||
|
SAXAMASAAA
|
||||||
|
MAMMMXMMMM
|
||||||
|
MXMXAXMASX
|
||||||
|
|
||||||
|
In this word search, XMAS occurs a total of 18 times; here's the same word search again, but where letters not involved in any XMAS have been replaced with .:
|
||||||
|
|
||||||
|
....XXMAS.
|
||||||
|
.SAMXMS...
|
||||||
|
...S..A...
|
||||||
|
..A.A.MS.X
|
||||||
|
XMASAMX.MM
|
||||||
|
X.....XA.A
|
||||||
|
S.S.S.S.SS
|
||||||
|
.A.A.A.A.A
|
||||||
|
..M.M.M.MM
|
||||||
|
.X.X.XMASX
|
||||||
|
|
||||||
|
Take a look at the little Elf's word search. How many times does XMAS appear?
|
||||||
26
src/day04/story04b.txt
Normal file
26
src/day04/story04b.txt
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
The Elf looks quizzically at you. Did you misunderstand the assignment?
|
||||||
|
|
||||||
|
Looking for the instructions, you flip over the word search to find that this isn't actually an XMAS puzzle; it's an X-MAS puzzle in which you're supposed to find two MAS in the shape of an X. One way to achieve that is like this:
|
||||||
|
|
||||||
|
M.S
|
||||||
|
.A.
|
||||||
|
M.S
|
||||||
|
|
||||||
|
Irrelevant characters have again been replaced with . in the above diagram. Within the X, each MAS can be written forwards or backwards.
|
||||||
|
|
||||||
|
Here's the same example from before, but this time all of the X-MASes have been kept instead:
|
||||||
|
|
||||||
|
.M.S......
|
||||||
|
..A..MSMS.
|
||||||
|
.M.S.MAA..
|
||||||
|
..A.ASMSM.
|
||||||
|
.M.S.M....
|
||||||
|
..........
|
||||||
|
S.S.S.S.S.
|
||||||
|
.A.A.A.A..
|
||||||
|
M.M.M.M.M.
|
||||||
|
..........
|
||||||
|
|
||||||
|
In this example, an X-MAS appears 9 times.
|
||||||
|
|
||||||
|
Flip the word search from the instructions back over to the word search side and try again. How many times does an X-MAS appear?
|
||||||
@@ -5,6 +5,8 @@ use day02::part02a::day02a;
|
|||||||
use day02::part02b::day02b;
|
use day02::part02b::day02b;
|
||||||
use day03::part03a::day03a;
|
use day03::part03a::day03a;
|
||||||
use day03::part03b::day03b;
|
use day03::part03b::day03b;
|
||||||
|
use day04::part04a::day04a;
|
||||||
|
use day04::part04b::day04b;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let exercises: Vec<(&str, fn () -> u64)> = vec![
|
let exercises: Vec<(&str, fn () -> u64)> = vec![
|
||||||
@@ -14,6 +16,8 @@ fn main() {
|
|||||||
("day02:B", day02b),
|
("day02:B", day02b),
|
||||||
("day03:A", day03a),
|
("day03:A", day03a),
|
||||||
("day03:B", day03b),
|
("day03:B", day03b),
|
||||||
|
("day04:A", day04a),
|
||||||
|
("day04:B", day04b),
|
||||||
];
|
];
|
||||||
|
|
||||||
let start: Instant = Instant::now();
|
let start: Instant = Instant::now();
|
||||||
|
|||||||
Reference in New Issue
Block a user