Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| da8a4cc5de | |||
| 5810fe22e9 | |||
| 5c7da45fe1 | |||
| 9c840a7c8f | |||
| 1108b8c65b | |||
| 7ae660566e | |||
| 521b3dc806 | |||
| c175b4ebc4 | |||
| ec9028c5f5 | |||
| aaff50eae9 | |||
| 57d9bdf0f3 | |||
| a35123500e | |||
| 5a02b90f85 | |||
| a1d5d359f2 | |||
| 5c692fe727 | |||
| 8df8cbb0e4 |
@@ -16,6 +16,12 @@ FetchContent_Declare(
|
||||
GIT_TAG v4.0.5
|
||||
)
|
||||
list(APPEND FETCH_CONTENTS utf8cpp)
|
||||
FetchContent_Declare(
|
||||
asio
|
||||
GIT_REPOSITORY https://github.com/mononerv/asio.git
|
||||
GIT_TAG bcb8a933b27021d77f2d183991d815ea6c8cdc97
|
||||
)
|
||||
list(APPEND FETCH_CONTENTS asio)
|
||||
FetchContent_Declare(
|
||||
stb
|
||||
GIT_REPOSITORY https://github.com/mononerv/stb.git
|
||||
@@ -76,7 +82,7 @@ if (NOT MSVC)
|
||||
# fmt warnings
|
||||
"-Wno-unknown-attributes"
|
||||
# ctre warning
|
||||
# "-Wno-missing-template-arg-list-after-template-kw"
|
||||
"-Wno-missing-template-arg-list-after-template-kw"
|
||||
)
|
||||
else()
|
||||
set(BASE_OPTIONS
|
||||
@@ -89,10 +95,38 @@ else()
|
||||
endif()
|
||||
|
||||
set(HEADERS
|
||||
aoc/aoc.hpp
|
||||
aoc/utils.hpp
|
||||
)
|
||||
set(SOURCES "")
|
||||
add_library(aoclib OBJECT ${HEADERS} ${SOURCES})
|
||||
target_include_directories(aoclib
|
||||
PUBLIC
|
||||
${PROJECT_SOURCE_DIR}
|
||||
PRIVATE
|
||||
${PROJECT_SOURCE_DIR}/aoc
|
||||
)
|
||||
target_compile_features(aoclib PRIVATE cxx_std_23)
|
||||
target_compile_options(aoclib PRIVATE ${BASE_OPTIONS})
|
||||
target_compile_definitions(aoclib
|
||||
PRIVATE
|
||||
${BASE_DEFINITIONS}
|
||||
)
|
||||
target_link_libraries(aoclib
|
||||
PUBLIC
|
||||
fmt
|
||||
utf8cpp
|
||||
ctre
|
||||
stb::stb
|
||||
Threads::Threads
|
||||
asio::asio
|
||||
)
|
||||
source_group(TREE "${CMAKE_CURRENT_LIST_DIR}" FILES ${HEADERS} ${SOURCES})
|
||||
|
||||
add_subdirectory(sol/24)
|
||||
|
||||
set(HEADERS "")
|
||||
set(SOURCES "aoc.cpp")
|
||||
add_library(aoc OBJECT ${HEADERS} ${SOURCES})
|
||||
add_executable(aoc ${HEADERS} ${SOURCES})
|
||||
target_include_directories(aoc
|
||||
PUBLIC
|
||||
${PROJECT_SOURCE_DIR}
|
||||
@@ -107,26 +141,7 @@ target_compile_definitions(aoc
|
||||
)
|
||||
target_link_libraries(aoc
|
||||
PUBLIC
|
||||
fmt
|
||||
utf8cpp
|
||||
ctre
|
||||
stb::stb
|
||||
Threads::Threads
|
||||
)
|
||||
source_group(TREE "${CMAKE_CURRENT_LIST_DIR}" FILES ${HEADERS} ${SOURCES})
|
||||
|
||||
set(HEADERS "")
|
||||
set(SOURCES sol/24/day03.cpp)
|
||||
add_executable(app ${HEADERS} ${SOURCES})
|
||||
target_include_directories(app PRIVATE ${PROJECT_SOURCE_DIR})
|
||||
target_compile_features(app PRIVATE cxx_std_23)
|
||||
target_compile_options(app PRIVATE ${BASE_OPTIONS})
|
||||
target_compile_definitions(app PRIVATE ${BASE_DEFINITIONS})
|
||||
target_link_libraries(app
|
||||
PRIVATE
|
||||
aoc
|
||||
)
|
||||
set_target_properties(app PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
|
||||
aoclib
|
||||
aoc24
|
||||
)
|
||||
source_group(TREE "${CMAKE_CURRENT_LIST_DIR}" FILES ${HEADERS} ${SOURCES})
|
||||
|
||||
@@ -14,12 +14,6 @@ This project has support for different languages.
|
||||
|
||||
There are different ways to setup this project, using `ninja` or Visual Studio.
|
||||
|
||||
To use `miniaudio` to play audio on host machine use the flag `-DUSE_MINIAUDIO=ON`.
|
||||
|
||||
```sh
|
||||
cmake -S . -Bbuild -GNinja -DCMAKE_BUILD_TYPE=Debug
|
||||
```
|
||||
|
||||
Use `ninja` to build.
|
||||
|
||||
|
||||
|
||||
31
aoc.cpp
31
aoc.cpp
@@ -1,12 +1,25 @@
|
||||
#include "aoc/aoc.hpp"
|
||||
#include <span>
|
||||
#include <vector>
|
||||
#include <fstream>
|
||||
#include <expected>
|
||||
#include <system_error>
|
||||
#include <ranges>
|
||||
#include <string>
|
||||
#include <algorithm>
|
||||
#include <numeric>
|
||||
|
||||
#include "fmt/format.h"
|
||||
|
||||
auto main([[maybe_unused]]int argc, [[maybe_unused]]char const* argv[]) -> int {
|
||||
try {
|
||||
aoc::entry({argv, std::next(argv, argc)});
|
||||
} catch (std::exception const& e) {
|
||||
fmt::print(stderr, "Error at entry: {}\n", e.what());
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
#include "aoc/utils.hpp"
|
||||
#include "sol/24/aoc.hpp"
|
||||
|
||||
auto entry([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
return aoc24::entry(args);
|
||||
}
|
||||
|
||||
auto main([[maybe_unused]]int argc, [[maybe_unused]]char const* argv[]) -> int {
|
||||
auto const res = entry({argv, static_cast<std::size_t>(argc)});
|
||||
if (res) return 0;
|
||||
fmt::print(stderr, "{}: {}\n", res.error().err.message(), res.error().msg);
|
||||
return 1;
|
||||
}
|
||||
|
||||
11
aoc/aoc.hpp
11
aoc/aoc.hpp
@@ -1,11 +0,0 @@
|
||||
#ifndef AOC_AOC_HPP
|
||||
#define AOC_AOC_HPP
|
||||
|
||||
#include <vector>
|
||||
#include <string_view>
|
||||
|
||||
namespace aoc {
|
||||
auto entry([[maybe_unused]]std::vector<std::string_view> const& args) -> void;
|
||||
}
|
||||
|
||||
#endif // !AOC_AOC_HPP
|
||||
109
aoc/utils.hpp
Normal file
109
aoc/utils.hpp
Normal file
@@ -0,0 +1,109 @@
|
||||
#ifndef AOC_AOC_HPP
|
||||
#define AOC_AOC_HPP
|
||||
|
||||
#include <type_traits>
|
||||
#include <cstddef>
|
||||
#include <limits>
|
||||
#include <numbers>
|
||||
#include <memory>
|
||||
#include <system_error>
|
||||
#include <expected>
|
||||
#include <fstream>
|
||||
#include <ranges>
|
||||
#include <vector>
|
||||
|
||||
namespace aoc {
|
||||
namespace types {
|
||||
using f32 = float;
|
||||
using f64 = double;
|
||||
|
||||
using b8 = bool;
|
||||
using u8 = std::uint8_t;
|
||||
using u16 = std::uint16_t;
|
||||
using u32 = std::uint32_t;
|
||||
using u64 = std::uint64_t;
|
||||
|
||||
using usize = std::size_t;
|
||||
using isize = std::ptrdiff_t;
|
||||
|
||||
using i8 = std::int8_t;
|
||||
using i16 = std::int16_t;
|
||||
using i32 = std::int32_t;
|
||||
using i64 = std::int64_t;
|
||||
|
||||
using c8 = char;
|
||||
}
|
||||
|
||||
using f32 = types::f32;
|
||||
using f64 = types::f64;
|
||||
|
||||
using b8 = types::b8;
|
||||
using u8 = types::u8;
|
||||
using u16 = types::u16;
|
||||
using u32 = types::u32;
|
||||
using u64 = types::u64;
|
||||
|
||||
using usize = types::usize;
|
||||
using isize = types::isize;
|
||||
|
||||
using i8 = types::i8;
|
||||
using i16 = types::i16;
|
||||
using i32 = types::i32;
|
||||
using i64 = types::i64;
|
||||
|
||||
using c8 = types::c8;
|
||||
|
||||
template <typename T>
|
||||
concept Integral = std::is_integral<T>::value;
|
||||
|
||||
// Aliases
|
||||
namespace nums = std::numbers;
|
||||
|
||||
template <typename T>
|
||||
using lim = std::numeric_limits<T>;
|
||||
|
||||
inline constexpr auto pi = std::numbers::pi;
|
||||
|
||||
template <typename T>
|
||||
inline constexpr auto pi_v = std::numbers::pi_v<T>;
|
||||
|
||||
struct error {
|
||||
std::string msg;
|
||||
std::error_code err;
|
||||
};
|
||||
|
||||
inline auto make_error(std::string const& str, std::errc ec) -> std::unexpected<error> {
|
||||
return std::unexpected(error{str, std::make_error_code(ec)});
|
||||
}
|
||||
|
||||
inline auto read_text(std::string const& path) -> std::expected<std::string, aoc::error> {
|
||||
std::fstream strm(path, std::ios::in | std::ios::binary);
|
||||
if (!strm.is_open())
|
||||
return aoc::make_error(path, std::errc::no_such_file_or_directory);
|
||||
|
||||
return std::string{
|
||||
std::istreambuf_iterator<c8>(strm),
|
||||
std::istreambuf_iterator<c8>()
|
||||
};
|
||||
}
|
||||
|
||||
// ranges and view aliases
|
||||
template <typename T>
|
||||
using vec = std::vector<T>;
|
||||
|
||||
inline constexpr auto split = std::views::split;
|
||||
|
||||
[[maybe_unused]]constexpr auto map_to_str = std::views::transform([](auto const& str) {
|
||||
return std::string(std::begin(str), std::end(str));
|
||||
});
|
||||
|
||||
[[maybe_unused]]constexpr auto map_to_sv = std::views::transform([](auto const& str) {
|
||||
return std::string_view(std::begin(str), std::end(str));
|
||||
});
|
||||
|
||||
[[maybe_unused]]constexpr auto filter_non_empty = std::views::filter([](auto const& str) {
|
||||
return !str.empty();
|
||||
});
|
||||
}
|
||||
|
||||
#endif // !AOC_AOC_HPP
|
||||
10
dat/24/ex/04.txt
Normal file
10
dat/24/ex/04.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
MMMSXXMASM
|
||||
MSAMXMSMSA
|
||||
AMXSXMAAMM
|
||||
MSAMASMSMX
|
||||
XMASAMXAMM
|
||||
XXAMMXXAMA
|
||||
SMSMSASXSS
|
||||
SAXAMASAAA
|
||||
MAMMMXMMMM
|
||||
MXMXAXMASX
|
||||
28
dat/24/ex/05.txt
Normal file
28
dat/24/ex/05.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
47|53
|
||||
97|13
|
||||
97|61
|
||||
97|47
|
||||
75|29
|
||||
61|13
|
||||
75|53
|
||||
29|13
|
||||
97|29
|
||||
53|29
|
||||
61|53
|
||||
97|53
|
||||
61|29
|
||||
47|13
|
||||
75|47
|
||||
97|75
|
||||
47|61
|
||||
75|61
|
||||
47|29
|
||||
75|13
|
||||
53|13
|
||||
|
||||
75,47,61,53,29
|
||||
97,61,53,29,13
|
||||
75,29,13
|
||||
75,97,47,61,53
|
||||
61,13,29
|
||||
97,13,75,29,47
|
||||
10
dat/24/ex/06.txt
Normal file
10
dat/24/ex/06.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
....#.....
|
||||
.........#
|
||||
..........
|
||||
..#.......
|
||||
.......#..
|
||||
..........
|
||||
.#..^.....
|
||||
........#.
|
||||
#.........
|
||||
......#...
|
||||
9
dat/24/ex/07.txt
Normal file
9
dat/24/ex/07.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
190: 10 19
|
||||
3267: 81 40 27
|
||||
83: 17 5
|
||||
156: 15 6
|
||||
7290: 6 8 6 15
|
||||
161011: 16 10 13
|
||||
192: 17 8 14
|
||||
21037: 9 7 18 13
|
||||
292: 11 6 16 20
|
||||
12
dat/24/ex/08.txt
Normal file
12
dat/24/ex/08.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
............
|
||||
........0...
|
||||
.....0......
|
||||
.......0....
|
||||
....0.......
|
||||
......A.....
|
||||
............
|
||||
............
|
||||
........A...
|
||||
.........A..
|
||||
............
|
||||
............
|
||||
1
dat/24/ex/09.txt
Normal file
1
dat/24/ex/09.txt
Normal file
@@ -0,0 +1 @@
|
||||
2333133121414131402
|
||||
4
dat/24/ex/10a.txt
Normal file
4
dat/24/ex/10a.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
0123
|
||||
1234
|
||||
8765
|
||||
9876
|
||||
7
dat/24/ex/10b.txt
Normal file
7
dat/24/ex/10b.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
...0...
|
||||
...1...
|
||||
...2...
|
||||
6543456
|
||||
7.....7
|
||||
8.....8
|
||||
9.....9
|
||||
7
dat/24/ex/10c.txt
Normal file
7
dat/24/ex/10c.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
..90..9
|
||||
...1.98
|
||||
...2..7
|
||||
6543456
|
||||
765.987
|
||||
876....
|
||||
987....
|
||||
7
dat/24/ex/10d.txt
Normal file
7
dat/24/ex/10d.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
10..9..
|
||||
2...8..
|
||||
3...7..
|
||||
4567654
|
||||
...8..3
|
||||
...9..2
|
||||
.....01
|
||||
8
dat/24/ex/10e.txt
Normal file
8
dat/24/ex/10e.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
89010123
|
||||
78121874
|
||||
87430965
|
||||
96549874
|
||||
45678903
|
||||
32019012
|
||||
01329801
|
||||
10456732
|
||||
1
dat/24/ex/11a.txt
Normal file
1
dat/24/ex/11a.txt
Normal file
@@ -0,0 +1 @@
|
||||
0 1 10 99 999
|
||||
1
dat/24/ex/11b.txt
Normal file
1
dat/24/ex/11b.txt
Normal file
@@ -0,0 +1 @@
|
||||
125 17
|
||||
4
dat/24/ex/12a.txt
Normal file
4
dat/24/ex/12a.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
AAAA
|
||||
BBCD
|
||||
BBCC
|
||||
EEEC
|
||||
10
dat/24/ex/12b.txt
Normal file
10
dat/24/ex/12b.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
RRRRIICCFF
|
||||
RRRRIICCCF
|
||||
VVRRRCCFFF
|
||||
VVRCCCJFFF
|
||||
VVVVCJJCFE
|
||||
VVIVCCJJEE
|
||||
VVIIICJJEE
|
||||
MIIIIIJJEE
|
||||
MIIISIJEEE
|
||||
MMMISSJEEE
|
||||
12
dat/24/ex/14.txt
Normal file
12
dat/24/ex/14.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
p=0,4 v=3,-3
|
||||
p=6,3 v=-1,-3
|
||||
p=10,3 v=-1,2
|
||||
p=2,0 v=2,-1
|
||||
p=0,0 v=1,3
|
||||
p=3,0 v=-2,-2
|
||||
p=7,6 v=-1,-3
|
||||
p=3,0 v=-1,-2
|
||||
p=9,3 v=2,3
|
||||
p=7,3 v=-1,2
|
||||
p=2,4 v=2,-3
|
||||
p=9,5 v=-3,-3
|
||||
15
dat/24/ex/16.txt
Normal file
15
dat/24/ex/16.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
###############
|
||||
#.......#....E#
|
||||
#.#.###.#.###.#
|
||||
#.....#.#...#.#
|
||||
#.###.#####.#.#
|
||||
#.#.#.......#.#
|
||||
#.#.#####.###.#
|
||||
#...........#.#
|
||||
###.#.#####.#.#
|
||||
#...#.....#.#.#
|
||||
#.#.#.###.#.#.#
|
||||
#.....#...#.#.#
|
||||
#.###.#.#.#.#.#
|
||||
#S..#.....#...#
|
||||
###############
|
||||
5
dat/24/ex/17.txt
Normal file
5
dat/24/ex/17.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
Register A: 729
|
||||
Register B: 0
|
||||
Register C: 0
|
||||
|
||||
Program: 0,1,5,4,3,0
|
||||
140
dat/24/re/04.txt
Normal file
140
dat/24/re/04.txt
Normal file
@@ -0,0 +1,140 @@
|
||||
MMMMAXASMSXXMMSMXASXMSSMMMAXXMAXAMXSSSMMSMSSSSMMMSXMSSMMSAXMASMMMSAMXSXSMMXMSMMAMAMXXSXSXMAMMMXSSMMSSMMMSSMMSAMXMXMASXMASXXSSMSAMMXMASXMMMXA
|
||||
AAAMAAXMAMMMSAMMXMAXXAAASMSMSSMMXMXXAAAXAAXAAAAXASASAAAAMMSAMXMAXSASXSAAMSAAAAXXASAMXAAMAMASMMASAXMAMAAAAAAXMASXMXMAXAMXMMXAMXMMSSMSAAXMASXM
|
||||
SSXXXAMMAMXAMASMMXSAMMXMMAXAMAMMAXMMMMMSXMMMMMSMASMMSMMMSASASAMXMSAMAMXMASMSSSMMMMAMSMMMASMSAMXXMMMAXMMMSSMMSAMXSAMXSXSAAMMMSAMXAAMMASXAAXAS
|
||||
XMXAXMAMMMMSMSMXAAXAMXSXMMMAMAASASXSMAMXAMSXSAAMXMMAMSMMMMSASXSMMMMMAMXXXXAMAMAMASAMAAAXXSASXMMMSSMXMMAXAAMMMMMMSASASASMXSAMMXSMMSXSAMXMMSMM
|
||||
SAAMAMSXSAMXMMXMMMXAMAAXSXMXMSXMASAASMMMSMMAMSMSMMMXSAXASXMXMMXMXAMSSSMMSMMMAMSMMSASXSMSXMXMMXSAAMMAASMMMSXMAXAXSAMXSXXXAMASAASXMAAMXSXAAAAA
|
||||
XAMXAMXASXSASXMXMMSSMXMMXMASXXXMAMXMMXAAMAMXMAXXXXASXMMMXAMSXSAMMXMAAAAAAXXSSMXAXSXMAAAAXSXMXAMMSMMMXXAAXAMSAMMMMXMAXAMMMSMMMMMAAMAMAXMMXSSM
|
||||
XSXSSSMAMAMASMASXXAMMMSAXMASAMXSAMXMSSMMSSMMMSAMXMSAMAXSSSMAAMAXAAMMSMMASXMXXASMMSAMXMAMSXASMMSAAAXMXMSMMMXMAXSAMAMSSMMAMAMAXMSMMXSMMMMAAMMM
|
||||
AXAMXAMSMSMASASXMMASAAMMMSSMXMAMAMXXAMXXXXMAAXAMAXXMASXMAMXMASMSSXSAMXXAMAMAMMMXASMMXXMMSMMMXAAXXMXSAMAXXSAMAMSAMAMXAMSXSASMSAAXMAMASXMMMXAM
|
||||
AMAMSAMAAXMAMXMMMSXMMASAASXMAMSSMMSMMSSMXMXMMSSSXSAXXMAMAMXXXXAAAXMASMMMMSMSXSMMMMMMMSXAXASAMMSSMSAXAMASAXASMMXMSMXMXMAMMXSASMMSMASAMXXSMSSM
|
||||
MXMMXASMSMMSSSXMMMXMASMMSMAMMSAAMAMAAAAXAAAMXMAAAXAMXMXMXXMSAMXMXMMAMXAAAXMMASMSXAXAAXMMSXMASAAXAMMSMMMSASXMMSAMAMXXSSSSSSMMMAAAMXMMXXSAMAAM
|
||||
SASMMMMAXMAMAMMXAMAMXMXMAXAMXMXSMAXSMSSMMXMSAMMMMMSMSMASXSSMSXXXXSMSSSSMMMAMAMASAMXMSSXXAMSAMMSMSAXAXSAMAMAAXXAXAMMMMAAAMMAMSMMSAMMMSMMAMSSM
|
||||
SXSAASMXMMXSAMASMSMMMSAMMXMXSMAMMSXXAMXXSAXSMMAAAXMAAASMMSAAXXSAMXAAAXXAXSAMXMAMASXMAAMSAXMXSAMXXMMMSMAMMMSMMSSMMSAAMMMMMXAMAAXXXAAAAMSAMXAA
|
||||
SAMMMSAMXAXMAAMAXAAAASMSSSMSMMASAMXMAMMAMXMMMSMSSXMXMXMAXSMMMMSAXMMMMMSXMAMXXMASAMAMMMMMSMXMAXMSMAAMAMXMAMXMAAMASAMSSXSASAASMSMSMMMSXMAMSSXM
|
||||
MXMASXMAMASXSMMMSSMMMSXAAAXAASXSAMASAMXXXAMAAAXAXASXXXSXMSAXSASMMXSMSASMMSAMXXAMASXMXSAAXXSMASXSASXSMSMSXSAXXMXMMMXMAXSAMXMMMAAAAAMMMXSAXXAS
|
||||
SAMXSAAMSMMXAAXXMXXSASMMSMMSAMXMASASMXXMSXSASMMMMAMAMMMMXSXAMXSMSAMAMASAAXAXMMSSMMAAXXMMXAXMXSAXAMASAAAMMSASAXAXMXMMMAMAMXSASMSMSMSAAAXSMMSS
|
||||
XMAMSXMXSAMSSMMSMMXMAMXXMMMXMXASXMASXSAMSAXAMXMSASMSMAAMXMMXMSXMMAMMMMMMMMSAAAXAMSMMXMSMMMMMMMMMAMXMXMSMAMAMXSSSMAAAAXMSMAAAMAXAAAAMMXSASMAS
|
||||
MASAMMMAMAMAASAAAXAMMMMXMAMSMMAXAMAXAXSMMMMXMMXXAMAASXSMAXAAMXAMSSMXSXMMMAMMMMSAMXSSMMSAMMAXXAASAMAXAXAMXSAAMXMAXMSMXMMMXMMAMXMMMSMMMXSAMMXM
|
||||
AAMMAAMXXAMMSMSSSSXSAASMSSSMSAASXSMMSSXXAMAMMMMMXMXMXMAXXMXXSSXMAXAAXASMMSSSSXXXXAMSAMSAMSSMMSMSMSASMSAMXSMSMASMAXAASMSSMXMSSXMSAXAMXAMAMXSS
|
||||
MAMXXSXMSMMXAXXXAMXMXMMAAMMAMMXMAAXAXAMSMSSXAAAMXSXMSSSMMMSAXAMMMSXMSMMAAMAAMMMMMASXXMMSMAAAXMMXXMASMAMXMXMAMXSASMMXSAAXMAMAMAMMMMMMMXSAMAMA
|
||||
SSSSMAMMASXSSSXMXMASXSMMMMMAMXSMSMMSSMMXXAMXSSSMAMAXAAAAAAMXXAXXASAMXASMMMMMMAMAMMXXAMMASMSMMMMMAMSMMASMXMSASMSAXAMAMMMMMSMMSAMASXXAAXMAXSSS
|
||||
SXAAMAMXASXAXAXMMSMSAAAXXMSXSAMXMXMXSXASMXSAXXAMAMAMMMMMSXMAXXMXXXAMSMMMMXSASXSASXAMXMXAMMMAAAAMXMXXMASAAXMASAMAMXMASXSAAAAASASAXMXMSMSMMMAX
|
||||
MMSMMASMAMMSMMXXAMAMXMMMSAAAXMXAMXXAXMMAAAMASXMMSSXXMASXXAMMXSASMSMMMAAMSASASXSASMMXAXMAXAXSSSMSAMMXMASMXMMMMXMMMMMMMAMXXMXXMAMMSMSAAMAMXMAM
|
||||
SAMXSASMAMAXAXMMSSMXASAXXMASXMSXXMMSSSXMMMSXSAMAMMXSSMSAMMMXXAASAAAASMMMMASXMASAMXXAXMSMSMMAXAMSXXAAMAXXMXSMSASAAXSSMMMXXSSSMXMXAAMSMSMSMMSM
|
||||
SASAMMSXSMMSMAMAAAXSAMXSAXAXMAAXMMXMAXXXMXMMMAMSSMAXAAMMMASMMMXMMSSMSAAXMAMXMAMMMXXMSAXAAXMXMSMMAXSXMASMXAXASASMSMAXAXSXXMAXASMMMAMMXMXXXMAM
|
||||
SAMMSAMXMAAXXAMXSSMMAMSMMMMSMSASMAXMMMMMSASAMSMXAMXSMMMASMSAMMMSMMMAMMMMAXMAMAMAMMXMAMMMMMSAMAAMMMAAMMAMMMMMMXMAXAMMSAMXMMAMXXXMSASXAMSSMMSX
|
||||
MXMASMMMSSMSMXXMAMXMMMAAAASXAMSAMXSMASXAXMXMSAMSXMMMASXXSMMAMXAMAAMXMSMXMAXXMSXMAXAMSSMXAAMMMMMMAAMXXMASAMAXSAMMMXXXMXMAXMASXAMXSASXXXAAAAXS
|
||||
XAMXSSXAAAXSMSMSAXSSSSSMMMAMXMAXMXSXAMMMSSSSSMXMAMASAMSSMXSMMMSSSMMAMAAASMMSMMASASMXAAMMMSXXASMSXSXMXSMMMSSSSMSMXSSSMMSMXSASMAMAMAMMSMSSMMMS
|
||||
SSSMXXMMSXMSMMAMMMMAAAMXSXMMSMXMSAMMMSSMAXXXMXXSAMMMMSMSAAXAAMAMXMSASMXMXAMAASAMXAXSMSMSAMAMAAAAAXAMXMXXXAMXMXAXMXAASAAAMMMSXAMASXMAAXAXMSAS
|
||||
XXAMAXMAMMMSSMXMMAMMMMMASAXAAMAAMASXXAXMMMMMMAMSASXSMAAMMMSMMSMMAMMMSASXSSSMMMXMXMASAAAMASXMMMMSMMAXXMAXMAMSMMMXAMMMASMSMAASMMXXSAMMSSMMAMAS
|
||||
AXAMMSMAXSAMXXMXSXSAMXMAMXMSSSMSSXMXMASMMAAAMAMMXMASXMMMAXAMXAXMASXXMXMAAAXXXXXXASAMAMMMAMMMXXAAXXXMAMSSSXMASXMASXSMAXMXXSSMSMASMXSSXXAMMMAM
|
||||
XSAAXXMAMMMXSAMXSXXMMAMXXSAAXXMMAMXXMASASXSMSXSXSMXMASMSSSMAMSMSAXAASMMMMMSXSAXSXMASXMSMSXXXAMSXSASMMMXAAXSAMXXXAAAMAMXAMMAAXMXSAAXMMXXMXMAX
|
||||
MAMAMSMSSSXAXMMAMAAXSXSXAXMXMSAAMAXMMASAMAMXSAMAXMMAMSAAAMXSXMASASMMMASXSAAAXXMSMSAMAXMAXASMXMAXMAAAAXMMMMSASAMXMSMMAMMSXSMMMMMMMMSAMMAMSSSS
|
||||
XMMMMAAAMAMASXMASMMMMASMMXSXAXMMXXMAMAMMMSMAMAMSSMMAMMMMSMAMAMMMAAXAXSAAMMMSXMASAMASAMAMSMSAMXMXMASAMMMMAXSAMXMSXAXXASMXXSMMASAAAXSAASXMXAMX
|
||||
MXAAXMMMSMMAAXSAMMAAMMMASASMSXSXAXSASXSXAMMSSXAAAASXXSAMAMASXSXMSMSXMXMXMXAMXMASXMMMMSAXMASMMAMSXMAMXAXMAMMSMSAMXSXSASASAMASASMSMXMMMMAMMAMX
|
||||
XMXMXAXAMXMXSMMASXSSSXSAMMXAMASMSXSAMAAMASAAAMMSXMMAXSASXSASAAAMMAMXAMXASXAMXMASAMXAASXSMAMMMAXAAMAXSSMMMMMAXAMAXAXMMMMMASMMASAMMXAAXSAMXAMX
|
||||
XSAMSMMXMAMMMASXMAAAAAMXSXMXMXMAXAMXMSMSXMMSMMAMAMMXMSAMXMAMXMASAAMSXMMAXMAXAMAMMMSMMSASMMMSSMSSMMMAXMASAXXSXMMSXMASXMXSAMXMAMAMXXMMXMAXSASA
|
||||
SMMXASXXXAMASXMSMMMMMMMXMAMAMAMSMXMSXMASXMAXXMASMMMMMXMMXSMSSXXXMMMXMSSMMSSSMSMSMAMXXMAMAXAAXXXAAAMXMSAMASMXAXAMASAMXSAMXSMMXSXMSSMSSXMMSSMX
|
||||
AAMSAMXAASXMXASXXXXMASXXMASMSSMMXAXXAMAMAMASAMASAAAMXAXSXMAAMMMMSMMAAAAAAAAAMXMAMXSMXMASXMMASXMMSXSMXMASAXASMMSXAMASAMXSAMASAMMAAAMSAASAMASM
|
||||
MSMMAMMMMMASXMASMSXMSSXSMXXMAMAMMMMSXMAXXMXSXMASMSMSSMMSAMMMXSAAAASAMSSMMSSSMMSSSMAMXSASXXXAMAMAAAAXXSXMXXXAMAXMASXMMSSMMSAMASXMSSMMXMMAXMMM
|
||||
XMAXAXASXMAMXXMASAAMAMMXXMASASXMAXAMASASMMASXMXMMXMAAXAXAMXSASXSMMMXMAXMXAXAAAAAAMAMXMXMXMMXSAMASXMMMMMAXXMXMASMAXXAXMMAAMXSAMAMXMMMXSSSMSAM
|
||||
SSSSSSSSXMSSMAXXASXMASXSXMASAMASXSMSMMSAAMAMAMXMSMMSSMMSMSAMXMMMXMMAAMMSMSSSMMSSMMMSSMSMSAAASXSXXXXXXAMMMMAAMXXMAMSMMSMXMXAMASXMSAAMMMAMASAS
|
||||
MAMAAXAXMMAAXXMMMMXSXXAMAMAMAMAMASAAAXMXSXMXAMAMAAMMAMXAMMXMAAAAAMSSMSAMXXAAXAXXMXAAMAAAMMXAMXMASMMSSMSAAXMSSMSMMMSAAMMMSMASXMXAMSMSAMAMASXM
|
||||
MAMMMSMMAMSSMSASXMASAMXXAMAXMMASAMMMSXMAMXMSSSXMMMMSSSMMSMMSSSMMXXAAAMAMSMMMMXXAMAMXMMMSMSMXSAMAMAAAAXSMXSAAAASXXAMMMSAAAXXMASMSMXXSXSMSXXAX
|
||||
SASAAAAMXMAAAXMAAMASXXASXSMSXXXMAMSMXAMASAXAAXMMSAAXXXXXMAAAMAXAXMMMMXAMAAXSXSSSMAMXXSXAAAAASAMMSMMSSMSAAXMMMMMAMSSMASMSXMXMXMAAASXMASAMMMSM
|
||||
SXSMSXXMSSSMAXXXXMXMXAAXMAAAAMMMSMAAXXXASAMMSMMAMASXXAMMSMMXSAMSMXSAMSSMMSMMAXAMXSMMMASMSSMMSAMAMAMMMAMMMXXAXAMXMAAMASAXXMAXMMSMSAXMAMAMMAXA
|
||||
SAMAXAMXAXAAAMAMXMXXSMSXSMMMASAAXSMMMMAAXAMXAMMMSMMMMSSMAMSMMXSXAAMAMAAMXMAMMMSMAXAMSAXMAMXXSAMAXXXAMSMMMSMXXMSMMSSMAMMMAMAXSAMXMMMMAMXMMMMA
|
||||
MAMAMMAMMSMMMAAAMSMMMAAAMXMSAXMMXAXMAMAMMAMSXSAMAAAMXAMMAMXAAMMMMMXSMSSMASASXMAMASAMMXMMASAMXMSMSSMAMXAXXAMSSMMXAMXMASXSXMAXMAMAMXMMMXMSSSSX
|
||||
XAMASMSAAXAAXXMXMASXMAMXMAAMAXMXSMMSMSASXMMMMSASMSMSXMXSMSSMMMAMMSAMXAAMASMMASXMASMMMSXSASASAMSAAXSAMMMMMASMAAMMMSASXMASMMSXSAMXMAMXSAAAAAMX
|
||||
SAXMMXMMXSSMSSMASASXSMSMSMSXSMSASMAXAMASAMAAASMMMMAXMXAMXXMMASASAMASXMMMAMAXXMAMAXAAAXMMXSAMXAMMMMXMXXSASMXMSMMSASXMMMMMAAMASMMSSMSAXMSMMXMM
|
||||
AMSSMMSMAMMMAASXMASAXAAMXSXXAAMASMMMXMXMMSSSXXXSAMXMAMSSSMXSASMSASXMMASMASXMSSSMSSSMSSXSAMXMMXMAASXSMXSAXXMAMXAAMSMSASAAMMSXMAAXAMMXXAXXXAXA
|
||||
MXAAAASAMXAXSMMMSAMXMSMSXMMMMXMSMMXAMMSXXAAMXMSXMMSAMSMAXAAMAXXMXMMMXMMAAAXAXAAAMAMXMAMXSASXSASXXSAAAAMAMSASXMASXSASASXSAXXASXMSAMXMASMMSMMS
|
||||
XMSSMMSAMSMXMXSXMSMXXMMSAMXXMMMXAMXSXAAMMMSMXSAMSASXXMMSMMMSAMSSSSXMAXXXMMMSMSMMMSMMXMASAXMAXASXAMMMSXMAMXAXMASMXMAMAMAMXAMXMAMXMSXSAMAAAMSM
|
||||
XAAAXXXXMAXAAAMAAMXXAMASAXXXMASMAMSAMXSMXXMASMXMMASAMXAMAAXMASXAAAASXSMSAXAAAAAAXMAMSXMSMMMMMXMMMXXXAXMASMAMSSXMAMSMSMAXAXMASXXAMXAMXSSSMSAX
|
||||
MSSMMSMMXSSSMMMMXSASMMASAMMXXMXMMXMASAXXSXMSMMASMAMMAMASXMMSXMMMMMAMAAASXMSSMSSMSMSMSAMXXAAXMMMAXXSXMXXAXXMMMMMSMMAAXMASMSSMMMSMMMSMAXMAXSAS
|
||||
AAAXASAMAMXMAAXSMXMSAMXSMMASMMMASMSAMXSXSAXMASXSMAMXASMXMAMMAXAMMMSMMMMMAMAXMAXAXAAXMAMSSMSMSAXSMXASXXMMMXMXXAMMMMMSMSXXXAAAXAAAXAMXXMMMMSAA
|
||||
XSAMMSAMSXASMMMSMAXSAMMSAMSAAASAMAMXXAMMMMMXMMAXXMSMAAMAMMASASXSXAAAAMXMMMAMMAMMMSMSSSMMAAAAXSMAAXMASMAMAMXAMXSAASXXAMXMMSSMMSMSMAXMMXSXMMSM
|
||||
XMAAASXMMMMMAAXXSXXSXMASAMXMSMMASXSMSMSSSMAASMSMXXAXMAXAMXAXAMMMMXSMMXSXMMSSMXSXAAAAXMASMMMSMXSSSSXMXSAXSXSMSMSMSSMMXMAMAMMMMXAXXSMXAAAAXAMS
|
||||
XSAMMSXMXAMSSSMMAMASXSXMAMXXMXSMSAXAAAAXMMSXSAAAMSSSMMXSAMSMMMAAAXMAMASAMAMAXMMMSSMSSSMMMSXMAMAMXMAMXMMXXASAAXMXXMAMAXAMXXAAMXMSAMAXSMSSMMSX
|
||||
MXSXAMASMMMAAXXMASMSXMASAMMXMAXAMAMSMMMSXAXAMXMMMAMMMAAMMXMASXSMSAXAMASAMXSSMSAMXXXMXXXAMAAMMMMMMSMMMAMAMMMSMSSMSXSXSSSSMSSXSAXMAMSMMAAXAXXM
|
||||
MAMMASXMAXMMMMMSAMXMAMAMAASXMAMMMXAMXSAAMXXAAASMMMSAMMSSXAXAMAXXAMSMMXSMMXXMASMSASMMMXSASMSMXMAAAAXAXAMXSXAXMAMASAMAXAXAMAXMSMSMSMXAXMMMSMAA
|
||||
MASXMXMMSMMXSAXMAXSASXAMXMAAAMSXAMXXAMASMMSSSMSAAXMASAAMXMMMSXMXMXMXAXMAXXAMXMAMASAAMAXMXXXMASMMSSMXXAMXSMMSMAMMMAMAMMMSMAXXMAXAAAMXMASAMMSM
|
||||
SXMAXXSAXAXASASXSMMAMSMMXMASMXMASMMMXMAMAAAAAASMMMSAMMXSAMXXAXAXXAAMMSXMSMMMXMXMSMMAMAXSAMXXAXAXXAAXSSMXMAMXMSSSSSMXMSAXMMSAMAMSMSMXSAXXXAAX
|
||||
SASMMMMMMMMMSAMXAAMAMAXSXMXXAXXAAAAAMMSSXMMSMMMMSXMASXXSMXSASMSMSSSSMAMAXAASXMXMMMMXMAXMAXASMSMMSMSMAAXXSSMXAXAAAAMAAMMMASAMXAAAAXAXMASAMSSS
|
||||
MAMMASAMASAMMAMSSMMSSXMMMMMAXXMMSMMXXXAAASMXAAXAMMSMMMXMAMAMXAXAAAXMXAMMSSMSAMAMSSSSSSSSXMXMAAMAAAAMXMMMMASMSMMMMMMMSAMXMMAXSXSMSMSMXAAXXAMX
|
||||
MXMXXMXSASASMMMAAXAXXMSMAXAMMSAMAMSSSMMSMMMMSMMMSAMAAXAMAMMXMSMMMSMMSXSAAMAXMXASXAAAAAMXMMSMSMMSMSMMAXAASMXXXAMMXMXMXMAMSSSMMAMAMAASMSSSMMSS
|
||||
MSSMMAXMASXMAMMSMMMMXAAMSSMSMXMXAMAAAAAAMXXAAASAMASMMSMSXSXMAXSSXMAXXAMMXSMMMSMSMMMMMMMASXAAAAXMAMMXSMXMSXMMXAMMASAMSMSMAXXAMXMAMSMXMAAXAAAX
|
||||
SMAAMXXMAMMSAMMXXAAXMMSXMAAAMXSSSSMSMMMSSXMXSSMAMAXAMXASXMXSSMAXAMSMMMMMXSAMXAAXMXSMAXSAMMMSSSMAAXMAMASMMMAAMSMSASASAAAMMMMSMXSAXAMXMMSMSMMS
|
||||
SSSXMMMMMXAMASAMSSMSMAXASMSMSAMMMAMXMAMXXMMAXXXMMSSMMASXXXAMXMMMXMXASXXMASAASMSMSMASMMMXSAXAAAAMSSMMSMMAASXSXXAMAMXMMSMSSMAXSMMXSMXXMSMAMAAA
|
||||
MAMXAMSASMSMXMAXXXAAMMSAMAMXMASXMSMASASXAAMXSAAMAMXMASAXMMXSAASAMXSAMAAMASXMAAAAMXAMXAAASMMMSMMMXAMXAAXMXMAMAMXMMXSSXAASAMXMAMSASMSXMAXAMMMS
|
||||
MAMMXMSASAMXSSXMAMSMSXMAMAMMSXMMSAMASMSMMSAMMMMMASAMXXMAMAASXMXSAXMMMSSMXMAAMSMSXMMSXMMMSASXAXXXMAXSSSMMAMXMAMXMMAMASMXSXSMSAMXAMAAXXASMXSAA
|
||||
MXSMAXMAMAMAMAMAXAAAAAXXMAMXSAAXXMMXSASMAMAMSAXSASASAXMAMAXXMMMXMMAXAAAMMSSMXXXAXSXSMMAASMMSXMXMSSMAAMMSASAMAMSXMASMXSAMAXAMXSMMMMMSMASMAMXS
|
||||
XXAXXMMXSXMMSAASXSMSMXXASXSASMMMSXMXMAMMXSXMSAXMASAMAXSASMMXAASMSSSMMXSMMAAXAXMSMMASXMMXSAMMSMAXAXMMMMMSSSXSAMXASXSXAMMMSMXMAMAMXXAAMMMMAMAA
|
||||
MSAMMXSXXXAMMMMMAAAMAMSMMMMXSXAAXXXAMSMXMXMXMSMMAMAMAMMXXAASMMSAAXAAAMXXMSSMSSMAAMAMAMMXSAMAAMMSAXSXXMASAMXSXSAMXMMMSMMXXAAMSSSMASMXSAAMASXS
|
||||
XAAXMASAMSMMAMMMSMMMAMSAAXMAMXMSMMMSSMMMMSXXAAXMXSAMXSAMMMMMSAMMMSSMMSMAXXXAXAMSXMASAMAASMMSSSXAMMSXMMXXAMMMAXAMAMXAMAMAXSAMXAAMAXMASMMSASAM
|
||||
MXAMXAMAMMASASAAMMXSXASXMXXMSSMXXAAXXMXAMMMMSMSXASASASXMAXXAMXMAMMAMMAMMMSXMXMMMMSMSMMMAMXXXAMMSMAXASXMSSSMMMMMSASAMXAMXMMASMSMMXSXMXAMXAMXM
|
||||
ASXAMMMAMXMMAXMXSMMMMXMAMSMXMAAXMMMSAMSXXAAMAMXMASAMXSAASMMSMMSSXMAXSXMASASMXSAMXSXMASAMXSSMSMAAMXSMMAXAAAMXMAMSMSASMMXSMSXMAXAXAAAXSSMSSMMM
|
||||
XAMMSXSASAAMMMSSXXAXSSMAMAAASMMMMXMSAMAXSSXSAXAMXSXMMXMMMAAMAXAMMSSMSASMSAMXAMASMMSMAMASAMAAXMSSSXMASXMMSMMMMMXXAMAMXAASASXMASAMXSSMMAAAXAAM
|
||||
AMSAAAAAMMSMMAMAMSXMSASMSMSMSXMAXMAMAMMXAMASAMSMMMASXMSAXMSSXMASAXAASAMXMMMMXMAXAMXMASAMASMMMMXMAMSAMAXXXAXSASMSXMMMMMMSAMAMXMXMXXMASMMMSXMX
|
||||
MXMMSSMSMMMXMASAXSMMSAMXAAMASXMMMSASMMXMASXXMAMAASAMXXSASXMAXXAMMAMMMAMASXSXSMMSAMXSASAXXMAAXAAXSAMASMMSSMMSAMAMMXMASMXMAMXMASAMXASAMASASMSX
|
||||
XAXAXAAAAAMMSMXMMXAXMASMMSMAMXSAASASXSAMMMMMXSMSMSMMMMMMMAAMMMSSMXXSXSSXSAMAMAMAXMMMXMASXXMMMMXXMAMASXSAMXASMMSMMASASXMMAMXSXSASMAMMSXMASASM
|
||||
SMSMMMSMSMMMASXMMSAMXSMXXMMAMAAMMMAMASASAMAMAXAMXXAAXAAAXXMXAXMAMXAAAASMMMMAMAMSSSXSXMAXMASMSMSXSAMAXXXXAXASAAXAMXSAMAMSMSAXAMXMXAXMAMMXMMMX
|
||||
XMAAAAAXXMXSAMMAAMAMXXAMXMXSMXSSSMSMXMAMMMSXMMMXASMMSSSMSAASMSSXMSAMXMMXAMXXSXXMAXASMMMSMSMAAASASXMMSMMXMMASMMSSMMSAMAMAXXMMSMMMMMXMMAMASXMA
|
||||
SXMMMSSSSSXMMMSMMSSSMMAAASAMXMMAMAAAXMXMSAMASAXMMMSAAAAASMMAAMXXAXMXSSSMSSMXAMXMAMXMAAXMXMMSSMMAMXSAAAAMXSMMXMAXMASASXSXSSXMMSXAASXSMASASASX
|
||||
XAXSAXMMXMAAXAAAAAAAXSMSXMASMMMAMSMSMASXMASAMMASAAMMMSMXMASXMASMMMSAMXAAAAXMMAAMAMSSSMMSAMMXMAMXMASXSMMAMMAMSMMMMMMAMMSAXMASAMMMMSAASXMASAMA
|
||||
SSMAXSMSASMMMSSSMMMMMAAMMSSSMSSXXXMAAMMASXMMXXXSMSSMAAXASAMAMXXAMAMAMSSMMSMMSSSXXSAAASXSAXXAMAMAMXSAMAXSMSAMSAMSMXMXMASMMSAMXSAAXMXMMMMXMMMM
|
||||
XAMMXMAMXXXXXMAMMXMSXXMSAXAXAAAMSAXXXAMAMXAXMMMSMAAMSSSMMSSXMMSAXSSSMXXAMXMAAMAXSXMMMMMSAMMMSASXSAMMMXMXAMMMSXMAAASMMASAAXSMXSMSMSAXAAMXSXAA
|
||||
MSXXAMAMSSXSAMXMMSAMAMXMXMXMMMSAMAMSSMXSAXSMMAAMMMSXXAAXAMMASAAXXXAAMSMSMAMMXMAXMAMMMSXMXSAASASAMXSXMMAMSMSASMSMSMMAMXSMMSMMAMAXXSMSXSMAMSMS
|
||||
MAMXSMXSAAXXAAXXAMXXAMAMSMSMMMMMMMMXAAAAXMXAXMMMSXMMMSSMXSAMXSMSMMSMMSAMMSMSMMXXMAMAXMASAAMXMAMXMAMASXAAAAMMXAAAAXMSAMXXMMMMASXMASXSAMMAMXMX
|
||||
SMMAMXXMMXMSMSSMXSXMASASMASAAAAAMASMMMMSXMSAMASAMMXAAXAAAXMSXXXAXAAXXMAMAAASASXSSMSMMXAMMSXXMMMAMMSAMSMSMSMXMSMMMXXXAMASXMAXXMAMMXMMAMSXSSMS
|
||||
AXMASMSMSXAMSAXXMAMXXMXXMMMSSSSMMMMASXMXAMASMAMASASMSSMMMSSMAMSMASMSMMSMMMSMAMAMSASASMSSMAXXAASXXMMAMAMMMMMSAAASXSMSSMASXMSMMXSMMASXSMMXAAAM
|
||||
MXMXXAAAAMMMMMSSMAMXSMMXSAAXXMAXMXSASAMXAAAXMSSMMXAAMAAMAXAMXMAMAAXAXAAXSSXXMMAMMMMAMAMAMAMXXMMSMSSMSMMSAMAMSMXMAAAAXMAMXXXAAAMASASMAAMSSMMM
|
||||
XSXXMSMSXMAAAXAAMAMAAAMASMSSXMAMSAMASXMXMMMSAAXMSAMMSSMMSSSSMSXSSMSAMXSAMXXMMSXSXMMSMXSAMASXMSAAMAAXXMASAMXMASMMMMMMMMASMASAMXSAMASMMMMAAMMS
|
||||
SAMXMXAMASXSSMSASASXMMMASMMMXMASMAMAMAMAASXMAMASAMXAAAAXMAAAXAMXAMSAMXXAXXXAXAAXAXAMXASMXMMAAXSXSSXMXSASMMXXAMXXSSMXXSMXAXSAXAMMMAMXXAMSXMAA
|
||||
XMSAAMAMAMMAXAMXMAXXAAMXMAAAAMXXXXMASASMSMAMXMSAMXMMSSMMMMMSMXXXAMMSAASMMAMSMXSXMMSSMXSAXSMMMMXMAXAXMAXMASAMXMMAAAXMASASMXSAMSXMMSMXSXMXSMXS
|
||||
XXMMXXAMAXXSASAXMAMSSMSSSXMSSSSMMXSXMASXAMMMAMXMXAXXAAXMAMAAXXMXAMXXMXMXAAMAMAXAMAMAMAMXASASXMASMSSMAMASXMSSXASASMMMAMAMSAMXMMAMAMMAAXAXXXAM
|
||||
MMSMMSSSSSMXAXMMSAMXAAXAAMXAMMMAAMMSMMMMMSMMXXMASXSXSXMXAMSSSXSASASMSMXMSMSAMXSXMXSMMXSAMSAMASAMXAAXSXAMAAAXMAMAAMASAMMMMXMAXSAMASMXMMMXAMAS
|
||||
AAAAXAMXAAMMMMMAXAXSXMMMMXMAMAMMMMAMXASXXAASMAMAXMAMXAAMXMAAXXAAXAMAAAXMAAMMSXMMMMMMAAXMXMXMMMSMMSMMXMASASMSMSMMMSXSXSAAAXXXXSAMASXXXAMSSMSA
|
||||
MSSXMASMSMMMSAXXMSMSSSXXXXSXMXSXXMAMXAMXSSSMMAMMSSMMSMMMSMXSXMMMMAMSMSMSASMXMAMAAAAMMMSXMXSXMAMXXAXMMSAMXXAAMAAXXMAXASXSSMMMMMMSAMMMSXMAXMXM
|
||||
XAAAXAMXMASAMSMSSMAMAXXMMMAASAMXMSMSASMMAXMAXXSAAAAAXMAXAAAXMSAXXXXMMXAMAMMXMMSSSSMXAAXAXAAAMSMMXSAXAMASMMSMSSSMMMMMMMXMAASAAAXMASAAAMMSSMAX
|
||||
XMMSMASXSAMXSAMMAMXMMMXAAMAAMASAAMAMAXMAXMSSMMMMSSMMSSSSMSMXAXASXSAAMMSMXSXMXXAXMMXSASMMMXSMMAAXAXXMXSAMAXMAMAAAAAXMXMMMXMMMXSSSMMMMSSMXAMXS
|
||||
AXAAMXMAMXSMMAXSAMXMXMMSXSAXSMMMXSAMXMMSXMAMAAAMAMXAMAMXXAMMSMXMASMMXMXSAMAMSMAMSAAMXXAMAMXAXSXMMMSAMMAXSAMXMMMSSMMMASASASXXXAMMAMMMXXXXXASX
|
||||
SMSSSXXMMAXASAMSAMXXAXMAXXMASXSAASMMXAMMAMXSSMSMSSMXMAMXSXSAASXMXMXXSXAMXXAMSAAAMMSSMSMMSSSSMXAASAMMXMAMMASAXMAXXAASASASASAXSASXXMAMSMXMXMAX
|
||||
XAMXMMXAMMSXMXXMXMSSMSAMMXMXMAMMMMAXXXAMMMMXAXXAXAAXSMSMSAXXXXMASXMASMMMSSMMSMMSMAAMMXAXMAAXASXMMASASMSMSAMMSMSSMXXMAMAMAMAMSAMAMMAXAAASAXMS
|
||||
XMSAAASXSAAMXMXSASAAXXAMAMSAMAMXSSMMMMSXMSMSSMMMSMMMSSMAMMMSMXMASAMAXAMAMAMASXMAMMMSASMMSMMMXSMASAMXMAMXMAXXSXMAAMSMSMSMSMSMMXMASXMMMXMSAMXX
|
||||
SSXMSXMAXXAMXAMAXAMXMXMMSASXSMSAAASXAAXAXAMAAMMAAAAAXAMMMXAAAXMAXXMMSSMXMXMAXASMSAMMMMAASXAXXMXAMASXMAMMXSMXMASAMXSAAAAAAAXAMXMAXXMASXMXXMXX
|
||||
MASAMAMXMASXSSMSMMMSASXXMAMAXXMASAMXMMXMMMMMSMMXSSMSSMMASMSSSMMSXMXMXMASMXMMSMMSSMMAMXMMMMXXAMMXSMMMSSXSAXAASAMXMXMSMSMSMMMAXXMXSASMSAXAXMXM
|
||||
MXAMSXMXXAXXMASXAXAAAAMXMAMXMXMXMMSMMMXAAXXAMASXAXAMAMSMSAMXXMAXMSAMAXMASAAXXAMXSAXXXASMSMSSMXXAXXAXXMAMASMMSAMMXMAMXMXXAMXAXMAMSAMAMMMSXSAA
|
||||
SMMXAXMMMASASMMSSMXSMMAXSSMMMSMXMAXMAAXSMSMXMAMMMMMSAMXAMAMXXMAMAMAMAXMAMXSMSMMASMMSXMSAAAAXMASMMSMSMMAMXMAXMAMXAXMSAMASAMSXMXSMXSMAMXXMAMSX
|
||||
AAXSMAMASMMXMAMAMAMMMXXAMAMSAAMSMSSMMSMMASASMSMMAAXSMSMSMXMAMMSMSSSMAMMASAXAAAMMXXXMASMXMMMXSMAAAAAAAXXXAMXMXSAXAXAMXMASXMAAXAXMAXMXSXAMSMXM
|
||||
MSAXMAMXMMMMMMMXMAXAXMAXSAMMMMSAAMAXAXAXAMSASAAXMSMMXSAAXXXSAXXXAAAMAMSAMXSXSMMAMMASXMAAMASAMXSMSSSSMMSMSMAMXMAMSMSXSAAXMXXSMSAMSSMXMASAMASM
|
||||
XMASXSSSMSXSASASMXSMMMAAMMSAMMSMSMMMASXMMXXXSMSMMAASAMMMMSAMAMSMMMMMSXXASASMAXMASXAXXMSMSAMASAXMXMXMXAXAAAMMAMAMXAAAXMAXXSAXAMXAAAMASAMAMAMX
|
||||
XMSXAXXMAAAXAMAMSASAAMXXMXSASAMXXAXXXAMXSAMXXMXAMSSMASXSAAAMAASXSASMMMSAMAXMAMSAMXAMMMAMMXSSMMXSXMASMSMSMSASASXMMMMSMXSAAMMMXMMMSMMMAASXMXSX
|
||||
XSMMXMAMMMSMMMMMMSMMMSAASAXASASASAMXXAAAXASAXSXSMXXXXMASAMXSXXSAMASAAMMXMXMMXXAMXXXAXSASAXMAMSAXAMXSAAMAAMAXMMMMXXXXAAMMSMXAXXXMAMSXMAMAMAMX
|
||||
XXXAAMXAAAMXXMAXMMSXAMXMMASXSAMMSASMSMMMSXMMSMAMXMASXMXMAXAAXSMAMASMMSAMMMSAMXSMSSSMXSMMMSSSMMXSAMMMMMSMSMMMMAAAMMSMMSSXMAMXMSXSXXXAMASASAAS
|
||||
MSMSXSAMXMMMMMSMAAXMAMAMSXMXMAMASAMXXAAMSAMXAMMMAMSMMAAMXMSMMXXXMAMAXMASAAMXMSAAAMMMXMSAAXAMXAASMMXAAXAMXAAAXSMMAAXAMAMXMMXMASAMASMXMAMASASA
|
||||
SAAXMMXXAAAMAAXSMMMXAMMMMASXSAMXMSMSSSSSSMMSMSXSSXAXMXMSXAXXAMMMMXSXMSAMMSMAMAMMMSAMXASMXSSXMMXXSMMMSSMSSSMSXXAXSAASAMXSMSMMAMAMAMAAMMSAMXMM
|
||||
MMSMAAMSMSSSMSXSXMASXSMMSAMASAMMMAXMAAXAMXAAMAMMMMMXMAAXMXMXXXMAAAAXMMSMAXMXSAXMMXXMXXMMMSXXXXAAMXSAMAAXAMSMXSAMAMAMAMAMMAAMMSMMMSSXMMAMSSMX
|
||||
MXXXMMXAAXAXAXASXXXAXAAMASMMMMMSSMMSMMMMSMMASASAXXMAXSMMMSMSMMSMMSAMXAMXAXAASXXSASMSMXAXXMAMXMMSMAMASMMMMXAMMMXMMASMMMAMXSSMXAAXAAXAMXASAAMS
|
||||
XSAMSMMMSMAMXMAMMMMSMSMMAMXSAMMAAXMASXXMXAMXSMSASAMMMXAAAXAAXAAXMAMSMSSXSMMMSMMMMSAAMSSMSXXMAAAMMSSMMAAMXMMSSMAAXXMAXMAMMAMMSMXMMXMXSSMMMSMS
|
||||
MMAXAAMAXMMMXMSMAAAXAMXMXMAMASMSSMSMSMXSMMMAXAXXXXSXAMSMSMXMSSXSASMMAAMAXMSAXAASXMMMMXMAMMAXXSAXAXAASXMMAMXAAMXSXMXSMMAXMAMXXSAAXASMMAAAAXMX
|
||||
XSMMSSMAXXASMMXSSSSMAMSSSMXMSMMXAAMXMMMSXAMAMMMMSXMMSMXAMAAMAMXSMMSMMAMMAMMMMSMXAXXMSAMAMMMXAMXMMSAMXSXMASMSSMXXAXAMXMAMMAMMASMMMMAASXMMSXSX
|
||||
XMSMAAMMMSMSAAMAXXXXXXAXMXSXMASXMMMAAAASXSMSMAAXMASAMXMXMSMMAMMXAAXXSXAMSSSMXMSSMMSMSXXMSAMXSAAAMMAASAMSAMXAXMASXMAXAXSMSMSXAXMASXSXMASXMASA
|
||||
MAAXMMASMMMSMMSMSMMXMMMSMAMASMXMASMXXMXSAMAMSXMMSAMXSMMSAMMSSMSSMMSXASXXXAAXXMASMAMAMAMSMXSAMXXXASXMAAXMAMMSSMASXASMSMXAASAMXSSXSAXMSAMAMAMX
|
||||
XSASXSAXAXAXAMXXSXAAMAAAMASXXMAXAMXAMXMMAMAMMMSXMASMSAXXAXMAMXAAAAAMMSMMMSMMXMAMMMMAMAMAAAMMSMSMMASXMAMXMMAMAMAMXSAAXAMSMMSSMXMAMAMAMXSXMASX
|
||||
XAAAAMXSMMMSMMSAMXSSXMSMSXXAASXMMSSMMMASXMASAAXASXMASXXMXMMSSMSSMMSAXSASXAAXMMAXAAXMSMSMSMMXAAXXSAMXSXSAAMXSAMAXSAMSMSMASMAXAAMXMAMXMAAASAMM
|
||||
SMMMXMMAMAXAAASMXXAXXMAMMASXMMXSAAAAXSAMAXAMMSSMMXMAMAMXMSMAMMMXAXXMMSAMXSXMMSSSMXMAAAMMAMXMMSMMSASXMAMMXMAXMSSMMAMAAXMASMMMSSSMSSSMMSSMMMSS
|
||||
MASXMASASMSSMASMMMAXSMMSMAMMAXAMMSMMMMASMMSSXMAXAXMMSSMAMAXAXXSMMMSAMMAMXXAXAAAAAAMSMMMAMMSAAMAASAMAMSMMSMMSMSAXSAXMXMMXSAXAAXAXXAXXAXAXAXAX
|
||||
SAMXXMSXSMAAMASAXMAXXAASMMMSXMXSAAAAAAXAXAXAAMSSMSAXMAXSSSSMSMMAMXSMMSMMMSMMMSSMMMXMAAMAMAMMXMXXMSMXAAAAXSXAXSAMXXSSMXMSMAMSXSMMMMMMMSMMMMSS
|
||||
MASMSAMXXMSMMASAXMMMMMMMAXAMXSMMXSSMSMMMMSMSMMAAMSASXSMXAAAAAMSAMMMAAAAAXAAAXMAXASXXXMSAMASXSXMSAXMASMMMSMSMMMXMMSAXMASAXAMXMAXAXAAXMAMAAAXS
|
||||
AAAXSAMXMMAMMMSASAMMAAMSMMASASAAXMAAAXAMAMAAMMMXMSAAAMSMMMMSMXSXSAMMMSSMMXMMSXMASMMSXMSMSMSMSAMMAMMAXAMSAXAXMAMAXMASXXSMSXSAMASXSSSXXASMSMMS
|
||||
MMSMMASMASAXXXMMXAXSMMXAASAMXSSMSSMSMSASAMSMSXXAAMXMAMXXXSAMXXMASMMSAAAMSSXSXMAXXXAAAXMXAAXXMAMXAMMSSMMSMSSSSSSSXMXMXMMXXMSMMAMAXMXMSXMAMXAM
|
||||
XAAAMAMXMMAMSASAMSMSAXSAMMASMMAXXAAMAMMMAMXXXASXSMAXMMMMMMMSMMSXSAAMXSMAAASMAXSMSMMSXMXMSSMASXMSSSXMAMAXXXAXAAAMXMAXAAMXMAXAMSSMXSAMXAMMMASM
|
||||
MSSSMASXAMAAXAMXSAASXMAAMSXAXSAMMMAMXMAMXMMAMMMXAMXMXAAAAAXAXASMMMMSMXMMSMMXAMXAAAMMXMAXAAMXMAMXMXXSAMMSSXMMMMMMMSSSSMSAAXSXMMAMXMAMMAMXAXMA
|
||||
MAAXMXSMXMMSMXMXSXMMMSSSMXAAAXASXXASMSSSSSMXMASXMMAMXSSSSSSXMASAAXXXAXMAXMSMSSMSMMAXAXMAMSMSSMMAMAAMASMAMAXAAAMSMMAAMASXSMAXMSAMMMAMXMMASXSX
|
||||
MMSMSXMASXAAMAXXMMMSAMAMAXSMMSMMMSXSAMAAAAMAMMXAASASAMXXAAMAMSMXMMMMSAMXSAAAXXAAXXMSXSASAAXXAXSAMSSMMMMAMXXMSMSAAMAMMAMXXAMMMMMMSSXSAMXAMMXA
|
||||
MAAAXASXMMMSAMXXMASASMAMAMXAXXAAXMAMMMMMMMSASXMMMXASXMXSSSMXMMASXXSAMSSSMMMSMMMXSAMAAXAMMMXMAMXAXXAAAMXASXSXAMSMSMSSXXXXMSMSMMSAMXASMMXAMXMX
|
||||
SSMSMMMAASAMASXMAMSAMXMMAMSAMXMXSMSMMMSAAXSXXXAASMMMMAMXAMMSMMMMMXMASAMAAAXMAMSASXMXSMXMXMAMXMSMMXSMMSMASAAMXMSXXAAAMSSXAAAAAXMASMXMAXXXMAXM
|
||||
AAMXASXXMMASAMAAMXMMMASMSXSAMXAAXAAAAASXSXXAXXSASAMAASAMXMASAXSASASMMMSMMMXSAMAAXMMMXMAXMSAMAMAAMAMAAAMAMMMMSMSXMAMMSMMASXSSSMSMMMXMAXMAMXSA
|
||||
MMMSAMXMXMAMXMMXXMAASXMAXASASXMMSSSSMMSAMMMASAMMSAMXSMSXAMASAMSASASMAXXMASXMASMXMXMASMXSASASXSSSMASMMSMASXASAASASXXXAAAAMXAXXAASAMXMAMSAXAAA
|
||||
XXMMAMXXXMASMXMASMSMSMMAMMMXXXMMAMXXMASAMXSMAMSAMXXXXMMSXSXMXMMXMXMXAMSSSSXMASXSXMMMSAAMXMMMXAMMMMSXMAXMSMSSMSMXMASXSSMXSMAMMSMSXSXMAMSAMXSM
|
||||
1371
dat/24/re/05.txt
Normal file
1371
dat/24/re/05.txt
Normal file
File diff suppressed because it is too large
Load Diff
130
dat/24/re/06.txt
Normal file
130
dat/24/re/06.txt
Normal file
@@ -0,0 +1,130 @@
|
||||
................................##..........................................................................#.......#.............
|
||||
...#.......................................................................................................#......................
|
||||
.#.....................#.............................................#................#..................#...#..#.#..#...#........
|
||||
.#........................#....#.#.#..........................................#...............................................#...
|
||||
..................#.......................................................#.......#.............#.................................
|
||||
........................................#...................................#.........#......#...............#......#......#......
|
||||
......#...#.......#..............#.....#..#....................#.................................................#......#.........
|
||||
......................#...................#....#....................................#.#........................#.........#...#....
|
||||
....................#..........................................................................................#..................
|
||||
..#.........................#.............#...............#.......................................................................
|
||||
.#...............................#...............................#...#................#.........#......................#..........
|
||||
...#.....................................#.........#.............#...................#.......#........................#......#....
|
||||
#...........................#............................#.............................#........................................#.
|
||||
.........................#................#...........#..........................#.#..............................................
|
||||
...........#.#.......#...#.............#.................................#............................................#...#.......
|
||||
....#.......................#.......#..........#....................................#...............................#.#..#........
|
||||
....#............#.......#.............................#..................#......#......#..............#.............#.....#.#....
|
||||
...................................#..............#............#...#..............................................#...............
|
||||
..............................#....#.#........#......................#...................#........#..#............................
|
||||
....................................#.#....#.............................................#....#......#...................#........
|
||||
..................##..................#........#.....#.........................................#.......#............#.............
|
||||
.............#......................................................##...................................................#......#.
|
||||
#......#................#.......................##...............#.....#.......................#..#.........#.............#...#...
|
||||
.............................................................................................................#.....#..............
|
||||
.......#..........#...............#.....##......#.......#.................#............#..........................................
|
||||
.......#.............#.........................................................#................................................#.
|
||||
...........#.......................#.....#...............#..............#........#.....#.........#.........................#......
|
||||
.........#........#...............#................................................................#......#..........#............
|
||||
..............#..................#...#...............................#.#.................................#.............#........#.
|
||||
.....................#.......#..............................#........................#...........#....#.................#.......#.
|
||||
..........#..................................#......#..#................##.........................................#..........#...
|
||||
.....................#.....#.........#.....#...............#..........................................#.........................#.
|
||||
..........#...#..............................#...................#.........#........................................#.............
|
||||
.......#.........................................................................#..........#............#..#..........#..........
|
||||
.....#..#..#...............#....................#..............#...........#.....#.....................#..........................
|
||||
................................................#.............................................................................#...
|
||||
................#.......................................................................................#.........................
|
||||
.............#...#.......................#..................................................#....#................................
|
||||
...............................#.......#.#.............................................#....................#....#................
|
||||
......#....................................................#.......#......#.................................................#.....
|
||||
...........................................................#..........................#.#.....#................#.................#
|
||||
....#....#............#.........................#..#.........................#..................#......#...#.........##...........
|
||||
...#..................#................................#......#.............#.#............................#......................
|
||||
..........................#.............................................................................##........................
|
||||
..............................................................................#.................#..........##.....................
|
||||
....#.....................#.................#......................#...........#.........................................#........
|
||||
..................................#..#....#.................................................................#............#.....#.#
|
||||
.#.........................#.........................#....................#......................................#................
|
||||
................##...........................#....................................................................................
|
||||
.........#........................................#...........................#........#.........#.......#......#.......#...#...#.
|
||||
.#..................................................................................#.........#..................................#
|
||||
....#...............#..........................#.....#....................................................#.......................
|
||||
.......................#.............................#......#...........^........#................................................
|
||||
#.#..#.....#...................##..........#...................................................................................#..
|
||||
..#....#.....................................................#...#.............#....#............#..#............................#
|
||||
........................#..........#.....#............#...........#...............#............#....#.................#........#..
|
||||
.................................#.............#...#..................#................................................#..........
|
||||
...........#............................................................................#................#....................#...
|
||||
..#.........#.............................#............................#....................#....................#................
|
||||
.................................#..#................#................#...........................................................
|
||||
.......................#.......................................#........................#................#......#...........#.....
|
||||
#..............#.......#.........#...#.....#......#.....................#...#....#.......................................#........
|
||||
.........#.#.............................#....#.......#..........................................................#................
|
||||
...#............................................................................................#.................................
|
||||
....................#...................#....................#..............#......#..#.............#.............................
|
||||
...........#.....................................................##...............................................................
|
||||
.....#......#...............................................................................#........#...................#........
|
||||
..............................................#.............#....#................................................................
|
||||
......................#.....................#........................................................#...#.........#..#.....#.....
|
||||
..#...............................................................#..#....................#.#.....................................
|
||||
............................................#...............#.....#.....#...#..#..................................................
|
||||
.#...........................................................................#....................................................
|
||||
.............................................................................................................#....................
|
||||
#....................................................#..............##.......................................#....................
|
||||
#..#....................#.......#...................................................................#...#.........................
|
||||
..#........................................#............#...............................................................#.........
|
||||
...............#...........................#...................#....#......#..................................#....#...........#.#
|
||||
..........##........#.........................#.......#..#.........#...............#........#........#..........#.................
|
||||
....##.......................................#...........#...................#......#.............................................
|
||||
..............................#.........#............................#.............................................#..............
|
||||
......#........#...........................#..................................#.....#.............................................
|
||||
...............#.........#.....#.............#.............#...............#.#...............................................#....
|
||||
........................................#...............................................................................##.#...#..
|
||||
................#.......#.....#........................................................................#........................#.
|
||||
....................................................................................#.........................................#...
|
||||
........................................................................................#...#.....................................
|
||||
........................#.#.........................................................................................#......#....##
|
||||
......#.........................#.............#...................................................................................
|
||||
................#...........................#..............#...#..........................#.......#......##.................#..#..
|
||||
....................................................#.#.................................#....#....................................
|
||||
#..................................#...............................................#......#.#.............#.......................
|
||||
.....#..........#.....................................................................................#.#.......#............#....
|
||||
..#.........................................................#...................#..................................#..###.#.....#.
|
||||
...#.#..........#.........#..#......................#..##...#.......#..#.#.#...............#.....#....#...........................
|
||||
...........#.....#...........#........................................................#..................#........................
|
||||
.................#........#.......#...................#...#.......#.....#........#..#.............................................
|
||||
...............................................#.......................#..................#.......................................
|
||||
....#...................#.#......#............#...................#..........#..##................................................
|
||||
....#........................#...........................................................#..................#..#.............#....
|
||||
............#...............................................#.....................................................................
|
||||
.........#.......#...................#...........#...............#....................#................#...#..#.......#...........
|
||||
...............#...........................................................................#.....................#................
|
||||
.............#....#.........................................................#............#....#.#....#.....#..#................#..
|
||||
..#...............#.........................................................#........##.....#...#.........................#.......
|
||||
..........................#.....................................#.................................#...............................
|
||||
..#.............#...#...............................#.................................................................##..........
|
||||
......#........#........................#..........................#..............................................#...............
|
||||
......#.........................#..#.............................................................................................#
|
||||
..................................................#..................#.....#...........#....#...#..........#................#.....
|
||||
....#.....................................#..........#.....#......#..........#....................................................
|
||||
...............................#...#...###.#.............................................................#...................#....
|
||||
...#...................................#.....#...#....................#........................#..#.......................#......#
|
||||
....#...#........#...................#..........#......................................#............#.............................
|
||||
#.................................#.....................#.................#................#...#.#................................
|
||||
.................................#.......#...........#..#...#......#.......#.........................#............................
|
||||
.......................................##..........................#..................................................#...........
|
||||
......#............#.##.........#...............#..........#....#.......................................#..#.................#....
|
||||
.....#............................#.....#..................................................#.......#......................#.......
|
||||
.............#.......................................................#...#...#....#...................#...........................
|
||||
......#.................#.#................................#..#...............#.............................#....#...........#....
|
||||
...............#...##......#.............................#.......................................#................................
|
||||
#..................................................#.........#....#....#.....#...................#.#....#.....#...................
|
||||
......#...#...##.................................................................#............................#...............#...
|
||||
.#..................................#.#...............#................................#...#......................................
|
||||
.........#.......#...#.......................#..................................................#.#................#..............
|
||||
..................#............................#.....#.....#........#.....................#........................#.......#..#...
|
||||
..#.............................#.............#.#................................................#.#.##....................#......
|
||||
.......#.#......................#.#.....................................................##.............#..........................
|
||||
..............#...#........................#................................#.........#.......................#..........#........
|
||||
.......................#...............................#..#.........#.............................................................
|
||||
850
dat/24/re/07.txt
Normal file
850
dat/24/re/07.txt
Normal file
@@ -0,0 +1,850 @@
|
||||
234815: 36 8 815 40 55
|
||||
155271616759: 1 7 652 2 7 421 4 58 3 9
|
||||
8580336: 3 6 35 3 6 539 2 59 1 3 3
|
||||
189612: 65 20 4 236 9 61 7 508
|
||||
17087913891: 854 2 2 5 910 22 367 1
|
||||
4724307587818: 82 651 885 4 1 8 7 8 18
|
||||
25057637: 630 6 396 6 1 637
|
||||
7872602815: 9 26 602 6 4 543 354
|
||||
20319060825485: 3 47 1 8 3 6 712 52 7 9 2
|
||||
6937026: 78 5 4 9 33 2 6 92 2 1 3 6
|
||||
16490320: 1 290 2 97 5 7 176
|
||||
81202174: 5 76 5 6 5 36 20 1 94 80
|
||||
531135610: 111 491 16 25 55 613
|
||||
527172: 3 955 854 462 72
|
||||
2799: 8 26 71 9
|
||||
1558950: 134 7 4 5 5 71 27 949
|
||||
8043570: 4 72 22 8 279
|
||||
43643248: 433 2 86 56 513 727 8
|
||||
583307: 59 2 9 23 11 231 76
|
||||
10272379: 876 1 514 739 27 9
|
||||
3254637331: 1 3 32 9 35 6 6 7 5 1 5 42
|
||||
892457: 89 24 20 6 31
|
||||
133629334: 4 8 287 22 97
|
||||
5784660503: 310 311 8 78 6 782 3
|
||||
4400201: 65 236 957 270 11
|
||||
1091316: 3 421 319 8 9
|
||||
909346771: 606 3 5 1 9 3 3 5 5 90 6
|
||||
73663: 73 6 63
|
||||
507442: 481 26 418 22 4
|
||||
246922771: 96 83 500 24 99 51
|
||||
30421378: 33 8 9 13 33 9 37
|
||||
995887199: 238 5 48 55 317
|
||||
1374726: 1 9 701 77 3 1 582 3 39
|
||||
5993001673: 7 1 859 1 59 28 9 2 115
|
||||
32111: 6 37 5 25 8
|
||||
15749: 48 9 6 94 46
|
||||
163723896: 723 251 525 9 13 4 42
|
||||
14156664983203: 9 25 50 937 721 2 67
|
||||
173811792: 407 42 4 82 31
|
||||
1447453: 5 8 462 241 7
|
||||
29495757285: 7 373 488 449 4 9 285
|
||||
4212640331532: 9 320 904 6 6 307 5
|
||||
499870673: 49 98 70 667 7
|
||||
1604946219: 58 75 1 895 721 220
|
||||
765912480: 2 75 6 987 47 7
|
||||
86058621: 956 12 8 69 9
|
||||
41337379: 4 64 979 91 33 3 47
|
||||
9744108902: 73 1 819 132 902
|
||||
1530162: 98 67 5 155
|
||||
198731: 220 6 44 3 9 5 4 6 5 8 3 8
|
||||
84748076541: 789 7 5 7 73 5 7 3 994 3
|
||||
2529151157: 7 705 97 376 9 317
|
||||
2228: 66 7 88 7 4
|
||||
2651040266: 807 45 612 8 73 5
|
||||
1064798: 5 7 52 7 85
|
||||
37595457: 264 734 8 2 14 97 3 1
|
||||
263091920: 3 98 80 91 284
|
||||
4343335925: 40 274 2 693 998 7
|
||||
5450841: 840 721 9 1 6 75
|
||||
643963238282: 2 6 33 1 885 783 1 2 91
|
||||
171085643: 223 14 548 36 7
|
||||
45690309: 27 821 2 687 3
|
||||
5564104817: 7 643 728 813 4
|
||||
86673: 89 7 69 2 701
|
||||
87323: 32 5 3 7 64 29 6 8 3
|
||||
19873: 380 7 106 7 508
|
||||
1548: 5 8 93 740 656
|
||||
762: 9 1 1 5 712
|
||||
307671: 9 815 8 881 30 41 48
|
||||
2932551: 42 54 431 3 27
|
||||
23646: 5 91 4 9
|
||||
1653697595: 7 54 5 40 6 9 9 72 7 8 9 3
|
||||
17216951640: 538 40 8 52 898 1 642
|
||||
4346316390: 78 753 74 387 3
|
||||
527476015: 6 2 9 433 23 4 7 52 8 15
|
||||
7028573625: 481 902 8 9 3 4 34 5 45
|
||||
93857: 64 6 9 5 98 8 62 9 26 3 8
|
||||
45372094843: 8 95 597 948 40
|
||||
13074553: 81 571 79 66 6 2 43 5 3
|
||||
3472508224: 4 9 60 719 23 3 677 7
|
||||
1123: 88 5 5 8 339
|
||||
1376356816: 483 548 65 2 8
|
||||
314881054465: 55 465 65 66 64 886 1
|
||||
23746140: 6 5 1 1 9 2 8 524 8 4 9 3
|
||||
724670: 1 8 1 3 700 3 2 6 6 2 46 4
|
||||
169538: 31 94 44 534 4
|
||||
10188004277: 456 26 943 796 2 77
|
||||
53849072361: 8 42 71 3 9 6 7 462 2 7 7
|
||||
102705: 7 168 5 58 915
|
||||
6862448: 5 680 239 9 996 4 4
|
||||
56087: 4 821 71 8 61 891 52
|
||||
188280018: 260 57 93 72 18
|
||||
3521099170: 2 48 7 69 2 5 54 54 4 6
|
||||
11299837: 184 4 231 1 6 591 6
|
||||
574320039: 3 9 903 53 5 69 634 9
|
||||
48049: 6 249 32 240 1
|
||||
9770796: 48 836 175 2 386 4 63
|
||||
190310120618: 9 70 49 65 80 8 77
|
||||
90545520: 692 1 6 23 94 6 7 3 4 5 3
|
||||
473: 427 5 7 1 33 4
|
||||
283849008: 834 414 4 4 428 2 17 8
|
||||
1420968: 734 25 78 5 6 4
|
||||
11864163: 23 8 91 77 495
|
||||
39421369: 16 7 5 114 9 4 387 107
|
||||
1822914130: 870 65 62 24 322
|
||||
290186191: 50 1 34 4 90 21 9 413
|
||||
14426: 7 9 9 18 10
|
||||
3992: 5 790 3 37 2
|
||||
470473510: 5 512 5 2 42 875 1 4 3 3
|
||||
1933330256: 263 4 9 7 573 757 2 56
|
||||
391837988: 484 8 5 6 73 3 5 3 6 8 1
|
||||
41215: 3 3 55 31 4 281 7 7
|
||||
932574: 1 690 4 6 5 52 56 4 674
|
||||
40262525: 246 7 227 103 445
|
||||
19826832189: 30 27 6 5 91 70 8 4 189
|
||||
2847924866: 50 7 816 99 7 82 3
|
||||
14027830830: 50 783 74 9 4 2 807 6
|
||||
56176536: 656 2 728 1 9 6 7 9 3 5 6
|
||||
441309276: 696 5 704 7 756 1 9
|
||||
297893: 2 322 461 932 77
|
||||
53805752: 4 1 6 8 6 4 1 576 8 7 19 8
|
||||
31530: 6 1 6 2 7 7 8 35 948 9 2 1
|
||||
7174489: 76 944 89
|
||||
153772299459: 3 9 9 4 5 4 1 90 86 9 77 9
|
||||
7038084958: 4 840 30 521 2 6 8 9 6 2
|
||||
27975: 5 70 6 62 75
|
||||
1157576: 7 31 5 846 9 3 9 5
|
||||
335534490: 243 863 2 8 90
|
||||
23443: 5 8 34 26 4
|
||||
630040988: 2 70 7 53 866 8
|
||||
900135925: 899 417 2 716 92 5
|
||||
2834904: 78 49 93 1 1 24
|
||||
37470200672: 96 1 6 74 643 9 9 6 67 5
|
||||
1736124: 8 894 9 9 6 6 2 6 39 52
|
||||
7869680: 9 15 44 4 805
|
||||
447156020: 38 336 5 5 34 1 4 3 7 7
|
||||
14761454: 1 91 3 13 25 1 1 59 7 7
|
||||
3227583252: 76 847 1 22 42 6 5
|
||||
7402326818339: 78 1 937 268 1 8 337 2
|
||||
180366: 9 7 7 66 7 6 3 24 2 77 1
|
||||
103360506330: 40 706 575 5 366
|
||||
259: 50 5 4 6 1
|
||||
59315037424: 977 44 78 8 8 778
|
||||
111540286525988: 8 401 9 46 79 3 74 39 9
|
||||
168954: 3 56 9 5 4
|
||||
4697629: 6 33 20 8 3 7 3 65 5 8 9 7
|
||||
21028140: 3 6 9 6 6 41 850 5 9 3 7
|
||||
2137182330: 77 4 9 660 221 81 27
|
||||
1270333614966: 9 7 417 5 7 2 2 163 1 8 3
|
||||
1518169539: 581 937 16 953 9
|
||||
1226257202: 12 262 57 19 7 2
|
||||
51632376: 5 509 2 2 7 5 47 8 9 2 1 5
|
||||
13761434: 8 2 839 7 25 46 8 4 2 2
|
||||
36652742: 3 2 854 976 8 79 6 2
|
||||
48788351: 84 702 12 4 12
|
||||
327773952: 4 316 56 4 648
|
||||
399669886: 397 2 669 886
|
||||
6890073: 911 7 6 3 5 8 9 4 5 9 20 4
|
||||
113214: 7 98 55 8 3
|
||||
787574304: 787 574 263 4 37
|
||||
114516889: 426 22 76 6 831 424
|
||||
490344553: 7 3 709 95 91 3 7 8 65 8
|
||||
11283196: 4 24 15 50 91 5 95 2 6
|
||||
392017032: 33 5 2 3 5 2 7 93 9 5 85 7
|
||||
7736727: 4 73 36 373 351
|
||||
540982: 540 1 982
|
||||
79329: 93 853 1
|
||||
763474860: 9 42 6 822 4 5 2 9 4 6 6
|
||||
54: 8 5 6 1 8
|
||||
41329549210760: 738 56 8 7 49 210 758
|
||||
11664: 3 1 8 3 48
|
||||
2169144: 9 87 217 9 2 7 3 2 40 2
|
||||
149623: 95 75 21
|
||||
220739980: 4 69 480 3 996 3 2 76 4
|
||||
127746: 2 3 24 65 709 6
|
||||
31250248161: 5 1 5 5 82 4 5 6 5 74 6 4
|
||||
2287761: 1 462 165 30 726 135
|
||||
996: 2 902 95
|
||||
1422687066: 986 6 71 677 3
|
||||
157354426236: 7 253 1 74 688 3 2 3 9 4
|
||||
610084: 1 9 62 94 9 90 87 1 5 61
|
||||
80898918: 6 7 4 69 3 9 8 59 3 2
|
||||
10388417: 274 61 7 4 82 37
|
||||
144427107194: 8 29 5 81 865 549 7
|
||||
61515: 578 40 99 38 297
|
||||
34146279: 379 401 2 1 9
|
||||
9728167914: 8 9 382 1 2 28 4 6 1 5 8
|
||||
104134517: 5 4 9 752 65 6 35 29
|
||||
17556093509: 7 6 3 4 2 73 5 67 5 2 404
|
||||
138: 1 5 23
|
||||
147849564004: 75 4 84 9 9 6 3 9 3 778 4
|
||||
8847: 65 8 225 9 8
|
||||
5661042: 1 942 5 6 37 4
|
||||
3207509550: 858 63 66 6 14 566
|
||||
722647: 7 57 8 14 12 47
|
||||
13280839264: 4 649 53 39 429 494 4
|
||||
2933: 9 1 6 8 3
|
||||
2524032: 2 44 77 1 9 829 2 6 2 6 8
|
||||
801191452: 327 35 581 2 35 782
|
||||
20879018: 718 6 9 3 1 8 4 2 7 6 46 6
|
||||
178: 9 65 6 8 93
|
||||
3374254: 73 2 5 3 8 4 7 641 7 26 4
|
||||
15093: 958 13 94 96 13
|
||||
597125887: 3 9 334 15 2 5 9 48 3 6 8
|
||||
4661394: 465 63 7 8 32 3 96
|
||||
835995349: 3 7 1 2 864 7 8 5 771 4 8
|
||||
26987199: 5 526 766 2 9 8 5 6 79 9
|
||||
520177: 3 304 6 6 5 4 8 3 5 3 7 91
|
||||
20670045: 212 975 37 5
|
||||
3424427877418: 8 7 9 74 6 7 980 6 4 9 95
|
||||
4514904676: 3 145 728 776 9 6 93 7
|
||||
5168: 7 71 5 9 936 14 354
|
||||
1014610: 159 8 2 410 91 4 482
|
||||
118433: 4 67 7 7 87 4 3 3 4 6 76 7
|
||||
21913289376: 9 1 29 3 9 3 371 9 5 2 6 2
|
||||
1998: 8 4 72 2 55 901
|
||||
56185682: 280 8 9 2 21 4 735 2 82
|
||||
3523211998: 216 94 246 50 924
|
||||
15800687: 513 11 7 7 4 6
|
||||
211665306879: 529 1 4 62 3 24 6 687 9
|
||||
124169195: 5 2 3 9 4 2 6 1 6 8 1 192
|
||||
6415: 806 770 6 9 4 37 14
|
||||
63754677: 2 64 965 64 677
|
||||
241396: 264 2 353 274
|
||||
38766796: 6 985 370 3 1 3 5
|
||||
1375304961: 55 710 991 2 93 907
|
||||
890426953: 10 118 477 88 977
|
||||
16774347156: 223 503 29 647 4
|
||||
1705177: 7 8 988 6 438 22
|
||||
1217609: 25 487 5 5 8
|
||||
350630: 24 1 10 45 14
|
||||
12594: 203 6 25 16 6
|
||||
29996424973: 3 2 9 284 3 7 249 62 6 5
|
||||
42762313: 4 2 10 38 4 30 87 74
|
||||
1957877082: 42 6 91 567 706
|
||||
1535: 1 1 2 27 7 5
|
||||
6003072855: 2 75 9 4 772 90 8 50 5
|
||||
42639052854: 47 405 20 8 7 8 4 8 5 3 1
|
||||
62301: 1 3 692 7 3
|
||||
216116392: 41 8 147 8 6 1 4 7 9 5
|
||||
567: 5 55 507
|
||||
426745: 123 29 701 49 5
|
||||
9849: 9 1 8 9 4 937
|
||||
1435267: 88 4 50 78 6 2 3 4 1 4 7
|
||||
122151: 11 1 89 32 51
|
||||
18989349: 7 3 8 95 68 3 58 1 8 3 3
|
||||
57454838427: 820 783 395 9 7 714
|
||||
1831360: 6 3 31 288 72
|
||||
55892870: 9 46 89 2 870
|
||||
723110784: 64 3 1 188 2 814 781
|
||||
578540160: 1 96 475 1 54 8 8 8 198
|
||||
965197554: 6 959 19 75 54
|
||||
5076765233: 5 640 841 9 2 5 9 4 6
|
||||
358902: 75 1 281 2 90 2
|
||||
434: 8 5 7 9 15
|
||||
511: 1 7 3 7
|
||||
18974676: 4 6 41 34 9 9 2 8 722 1 7
|
||||
9740211: 304 9 89 6 6 4 3
|
||||
120617043418: 6 5 768 1 8 629 5 570 6
|
||||
1792345: 255 1 7 3 41 1 3
|
||||
10447: 38 8 225 97 1
|
||||
7032854752: 59 596 2 2 5 2 8 9 4 2 2
|
||||
32524773: 114 28 60 1 3 773
|
||||
105636707: 99 957 3 643 4 273
|
||||
26939: 49 6 4 178 483 7 476 7
|
||||
18925509213: 4 626 8 5 5 4 61 3 1 1 2 5
|
||||
53911: 9 657 8 655 9 8 8 48
|
||||
16540603: 8 15 8 8 99 612 7 5 2 72
|
||||
635047284121: 9 588 2 1 1 6 1 67 412 1
|
||||
3498179460048: 6 420 770 6 876 98 21
|
||||
55940162: 932 27 7 59 6 10
|
||||
2673431161: 220 1 6 9 9 1 6 2 1 2 56 9
|
||||
992: 9 86 6
|
||||
34751772: 5 78 21 1 3 90 5 4 7 6 9 6
|
||||
11754337: 532 486 2 8 923 8 22 6
|
||||
399393: 414 104 403 918 9 1
|
||||
21013231642: 337 29 623 64 642
|
||||
3335004: 371 16 1 8 9 1 14 5 5 8 4
|
||||
3363268: 267 407 5 998 8
|
||||
5822561565: 5 6 7 439 6 46 5 8 1 85 9
|
||||
242218567: 225 10 1 7 65 1 85 6 7
|
||||
3936275: 7 1 792 3 2 7
|
||||
11537194338144: 7 350 404 14 872 2 9
|
||||
1719584: 3 13 679 516 83 4
|
||||
1314269: 31 51 61 159 769
|
||||
647: 48 3 3 31 103
|
||||
341416031: 7 5 2 11 1 92 3 9 6 9 62
|
||||
1452753: 21 79 6 50 97 96 81
|
||||
6804: 3 92 4 8 1 59 16 1 5 9 4
|
||||
2973255928: 1 6 5 8 45 2 648 5 6 85 5
|
||||
145350: 1 1 741 3 3 8 5 599 6 51
|
||||
6276679: 69 74 6 5 15 4
|
||||
58725315257: 7 6 73 7 5 9 6 7 933 4 7 7
|
||||
198748813: 29 7 74 1 5 298 826 8
|
||||
4224050454: 3 2 3 4 8 61 2 1 899 9 7
|
||||
545644: 4 26 603 771 548
|
||||
2037239837: 794 8 453 354 2 989
|
||||
99372320: 75 828 4 30 8 5 8
|
||||
156820: 736 2 94 2 20
|
||||
64309027437: 12 95 8 375 49 560
|
||||
18351: 594 43 79 303 2 9 8 1
|
||||
879044880: 54 4 859 63 657 3 8 35
|
||||
13148172: 4 2 7 531 1 1 77 7 3 7 9 9
|
||||
375445666: 75 5 371 74 16 9 495
|
||||
33108201: 45 34 93 44 73
|
||||
2383405: 611 39 6 36 6 2 6
|
||||
338437376: 87 389 7 3 73
|
||||
377102966: 9 2 960 4 8 3 6 6 8 7 79
|
||||
5207: 8 1 483 856 4
|
||||
421240244: 6 6 8 62 6 9 9 7 9 179 7 1
|
||||
6833185492: 96 12 12 632 8 6 92
|
||||
8995831: 6 47 3 33 630 137
|
||||
64063: 78 2 8 63
|
||||
189629583557: 1 838 58 2 1 958 355 7
|
||||
667400891: 71 95 704 139 7 4 891
|
||||
535715: 707 151 314 72 5
|
||||
35859722: 3 8 3 6 9 436 1 3 3 7 464
|
||||
17619000: 4 9 6 518 7 7 7 5 9 5 839
|
||||
1384137216: 7 6 70 1 2 3 64 329 4 6 1
|
||||
153820: 5 53 3 955 20
|
||||
166606210: 85 196 586 35 1
|
||||
5116097: 56 216 91 28 413
|
||||
625625: 1 3 992 7 6 6 121 6 1 5
|
||||
1098088311: 5 3 23 71 604 237
|
||||
14318248: 1 18 8 61 9 99 967
|
||||
12041646: 90 475 818 99 87 933
|
||||
27827184050: 1 902 474 6 308 4 9
|
||||
22218206396758: 728 4 657 835 305 7 1
|
||||
29293466: 82 166 4 538 9 427 3 3
|
||||
2043: 43 4 3 3 4 1 250 3 1 1 3
|
||||
552330: 70 408 87 423 19
|
||||
2564011611: 87 2 9 25 34 32 8 723
|
||||
38646: 37 4 48 597 8 9 584
|
||||
7137998: 8 5 56 3 417 17 82 1 8
|
||||
44663: 1 3 2 2 661 2
|
||||
2277256255: 190 22 7 8 7 256 247 8
|
||||
1003001: 9 2 8 2 969 3 291 5 500
|
||||
850006705952: 389 8 66 6 51 5 7 855 5
|
||||
14221542: 505 88 32 8 734
|
||||
24228423565: 42 506 57 35 68
|
||||
246743: 96 239 7 7 707
|
||||
3160602: 61 5 9 39 6 5 70 8 6 3 3 2
|
||||
43848294: 8 597 23 40 7 57 6 21 7
|
||||
862506240: 8 776 819 8 120
|
||||
4969: 16 289 6 270 69
|
||||
1433578: 4 9 7 1 6 822 4 6 6
|
||||
556935795: 370 92 1 35 98 7 3 9 5
|
||||
438347796: 4 383 254 223 96
|
||||
101329722098: 30 4 298 966 6 20 98
|
||||
1077664776293: 58 9 9 88 9 2 388 1 48 2
|
||||
89178: 12 9 68 501 2
|
||||
13972204: 12 17 55 876 1 4
|
||||
169687678: 459 7 69 88 808 6
|
||||
339338795540: 5 67 836 72 83 8 2 9 4 1
|
||||
70824884424: 8 4 8 4 1 2 1 19 276 1 3 8
|
||||
135972749: 520 871 3 8 959 49
|
||||
407463489597: 407 463 4 89 599
|
||||
14318725: 894 53 9 3 10 8 7 4 2 79
|
||||
545272096067: 9 810 543 66 366 798
|
||||
583: 2 5 7 160 59 315
|
||||
257321712: 1 56 566 8 997
|
||||
1725165348: 9 32 8 1 6 594 53 7 4 3 5
|
||||
1438277: 7 3 3 4 9 9 69 2 9 1 1 77
|
||||
3771839519: 6 4 16 92 9 1 9 71 800
|
||||
1758340: 9 39 667 1 5
|
||||
5275488825: 50 71 978 6 361 2 4 25
|
||||
26053872450: 6 691 89 7 2 6 447
|
||||
9450: 6 5 3 7 84 5 6
|
||||
95311557: 8 27 7 54 34 63 2 9 2 3
|
||||
804519: 18 41 9 359 3
|
||||
66106: 3 2 8 5 37 9 8 9 936 65 1
|
||||
68453598: 4 5 64 90 93 6 44 246
|
||||
951596: 2 7 9 62 85 7 6 297 2 4 4
|
||||
98538336263: 438 6 5 9 832 77 8 3 8
|
||||
911484: 3 303 2 48 4
|
||||
1640: 3 5 46 9 74 1
|
||||
103459686: 1 2 661 6 51 3 9 1 8 3 2 6
|
||||
115965921: 5 85 1 4 42 6 2 97 6 3 9 3
|
||||
386223718: 8 378 22 3 715 4
|
||||
19649: 7 8 6 4 97 8 761
|
||||
5027443270: 26 32 798 90 1 745 46
|
||||
1920817: 10 48 4 817
|
||||
23557514: 7 3 76 60 96 8 33
|
||||
127832584428: 81 6 29 907 4 428
|
||||
701077: 308 2 5 8 222
|
||||
5414824290: 2 2 82 941 43 30
|
||||
345251177859: 639 354 54 1 2 5 859
|
||||
18396970: 42 2 16 7 6 968
|
||||
184177: 3 2 365 29 83
|
||||
508375: 993 232 415
|
||||
82711: 7 697 552 3 4 185
|
||||
5249836800: 4 488 8 6 3 2 39 475 2 1
|
||||
275554044: 13 9 9 6 4 6 693 4 47 18
|
||||
624: 3 6 51 9 3
|
||||
576516693: 7 88 260 8 2 1 4 9 9 9 3 1
|
||||
84680467: 53 8 7 98 75 202 4 4
|
||||
739388: 671 68 33 5 53
|
||||
819857339208: 9 8 3 7 83 1 2 566 8 53 8
|
||||
9710: 4 967 3
|
||||
66557741426: 976 458 36 7 8 18 517
|
||||
108308520: 2 3 4 5 86 2 678 32 8 5 8
|
||||
204651: 3 65 9 1 97 454
|
||||
2508: 3 4 18 3 5 76
|
||||
11483: 12 944 96 20 39
|
||||
2455900: 9 156 646 2 599
|
||||
1878400: 24 9 9 6 8 936 1 4 8 5 1 4
|
||||
272387: 894 9 7 299 297
|
||||
99168: 3 4 2 30 956 210
|
||||
1572619563: 4 90 8 1 8 316 6 24 3 9
|
||||
1293: 10 5 6 787
|
||||
19662: 9 4 7 455 97
|
||||
9368735930490: 41 815 4 74 492 77 90
|
||||
17389031: 3 2 43 407 16 2 7
|
||||
46884: 726 5 2 554 6
|
||||
522: 46 351 5 59 61
|
||||
379558743: 8 8 456 67 12 70 7 46
|
||||
13246734: 79 5 219 469 331 3 31
|
||||
6531950815: 258 4 4 803 3 11 5 9 9 7
|
||||
10632348: 9 7 6 9 59 7 77 6 4 3 81
|
||||
1906238880: 33 40 5 538 468 120
|
||||
115357: 4 6 753 782 7
|
||||
527211: 31 6 2 1 8 8 4 7 582 8 1 9
|
||||
1645989082: 636 5 862 3 82
|
||||
2396: 572 4 4 61 31
|
||||
568779: 74 486 2 85 82
|
||||
643028: 20 38 56 564 2 66
|
||||
1743917: 4 612 89 8 941
|
||||
6515470: 33 1 7 5 8 1 1 496 8 1 6 8
|
||||
6703746465: 26 5 1 6 111 9 9 1 7 7 7 6
|
||||
5540262: 708 94 32 949 7
|
||||
277206086: 59 4 8 8 9 327 5 89 7 3 1
|
||||
980162: 31 2 69 29 4 26 226
|
||||
3542490: 328 4 27 8 8 2
|
||||
652680: 9 67 6 1 109 84
|
||||
3471: 8 7 59 64 96 7
|
||||
42356: 846 50 18 5 33
|
||||
19653579138: 42 8 194 2 603 5 4 9 1 4
|
||||
8832693: 120 763 26 93
|
||||
4956: 642 3 2 6 963 24 38 73
|
||||
18061244: 50 17 9 4 41
|
||||
3844233: 1 9 375 1 139 7 8 8 9 9
|
||||
10332: 6 4 8 5 708 2
|
||||
56814705894: 590 4 7 278 1 4 8 9 8 3
|
||||
56961: 31 8 3 4 8 3 6 8 440 3 7 4
|
||||
4349305992772: 2 17 465 2 5 992 77 2 1
|
||||
29479: 1 4 7 245 2 8 6 5 9
|
||||
786181051: 751 34 526 4 476 410
|
||||
165789: 1 11 63 34 507 3
|
||||
118010445: 6 6 411 66 5 4 3 5 6 1 2 5
|
||||
8316103: 87 3 924 48 53
|
||||
73226602495: 70 6 73 94 50 3 99 49 5
|
||||
2011100: 783 4 2 321 356
|
||||
146136086: 940 2 777 600 86
|
||||
19534951825: 7 18 5 1 8 89 998 7 9 24
|
||||
100230: 6 94 2 2 8
|
||||
3663504: 6 6 4 2 9 54 7 6 6 206 78
|
||||
7682131090: 2 12 61 6 2 8 9 5 66 37
|
||||
213463262: 843 3 3 3 4 9 5 7 5 9 46 6
|
||||
72035028: 2 26 987 32 98 8 117 6
|
||||
1069: 212 6 1 849 1
|
||||
50223360920: 928 5 33 328 920
|
||||
18815: 13 133 96 4 558
|
||||
95388581922: 5 1 76 5 2 9 6 5 5 7 585
|
||||
2270164: 2 7 9 293 52
|
||||
5441524: 3 2 85 1 61 564 34 2 6
|
||||
1076: 61 3 3 4 4 4
|
||||
2282157: 319 7 7 1 54
|
||||
1254937608: 5 6 699 4 724 4 8 1 5 4 2
|
||||
9735: 8 2 243 2 4 7
|
||||
79989614: 7 99 896 1 3
|
||||
527207309: 673 45 3 87 980 54 2
|
||||
3223380: 9 53 7 14 18 465
|
||||
99930: 4 7 9 866 64
|
||||
5470080: 85 454 13 787 80
|
||||
564252: 24 2 191 26 49
|
||||
5871813984: 85 6 91 6 189 8 13 98 4
|
||||
80735566: 77 286 703 52 757
|
||||
20499203: 8 298 87 668 287
|
||||
12093339: 2 4 157 29 68 5
|
||||
16792883: 1 2 836 604 2 73 7 6
|
||||
977491676593: 9 2 1 5 74 916 76 593
|
||||
12702104: 1 270 210 4 1
|
||||
34581205: 836 5 3 4 4 3 3 6 9 57 49
|
||||
10643489: 435 70 559 347 9 7
|
||||
406030588798: 8 5 1 3 68 3 698 2 7 7 9
|
||||
100340500685: 96 237 948 441 5
|
||||
43203: 4 300 236 80 3
|
||||
322535925: 616 68 27 81 95
|
||||
119242816: 18 9 719 33 39 64 1 64
|
||||
2776175: 58 673 67 71 4
|
||||
7194: 7 133 59
|
||||
701907953: 2 83 4 62 8 51 8 953
|
||||
14629123: 11 9 3 18 8 8 2 5 9 3 4 22
|
||||
4237: 3 56 7 60 7
|
||||
334: 186 62 77 9
|
||||
8716: 7 32 222 57 1
|
||||
378970: 5 1 5 2 178 211 93 638
|
||||
2261424: 44 16 2 1 1 5 4 5 2 678 8
|
||||
3700: 415 7 1 33 761
|
||||
671175: 22 7 48 83 40 535
|
||||
1487916050680: 31 331 2 98 725 675 4
|
||||
1514704135: 249 14 381 639 9 1 1
|
||||
1715: 232 2 4 432 975 70
|
||||
52378: 59 443 20 2 64
|
||||
32: 7 1 4
|
||||
71295537753: 3 3 86 5 501 31 89 8 99
|
||||
34542: 18 327 42
|
||||
2832644: 5 57 113 2 70 3 4 5 9 7 4
|
||||
546019: 26 1 3 70 17
|
||||
663752103951: 75 885 2 103 951
|
||||
39361407117: 9 7 7 5 5 9 6 4 4 7 57 115
|
||||
1112816: 314 8 443
|
||||
608225: 3 37 9 18 5
|
||||
10620: 99 5 48 9 7 94 1
|
||||
53963240114: 593 91 240 11 2
|
||||
77831461: 9 54 7 8 94 5 5 5 7 3 2 1
|
||||
280640: 8 4 4 76 2 659 7 3 353 5
|
||||
22673927: 249 5 760 89 287
|
||||
1774013122: 17 740 131 2 4
|
||||
16021618208: 4 326 68 717 26 42 6 8
|
||||
130387: 2 5 5 4 6 21 5 2 34 28 75
|
||||
48101318: 79 1 168 8 3 3 6
|
||||
1541632303: 1 5 5 2 116 581 6 14 82
|
||||
154225: 726 79 737 25
|
||||
1924560677: 3 8 8 2 78 9 99 8 630 47
|
||||
9573007: 327 287 4 34 3
|
||||
386463: 4 7 57 6 5 6 6 9 3 5 8 63
|
||||
61654284961: 139 9 666 74 961
|
||||
7623216066: 4 4 146 6 5 93 843 24 7
|
||||
181746: 64 284 520 2 784
|
||||
466308168: 20 778 5 1 27 831
|
||||
3829539362: 981 933 16 1 13 3
|
||||
1289888927: 82 3 6 4 5 8 50 1 55 873
|
||||
34260323963010: 9 93 6 352 98 6 5 6 968
|
||||
1960810915502: 15 70 29 95 657 690
|
||||
331976860905: 331 976 854 6 906
|
||||
5380055: 4 890 96 11
|
||||
26233385: 2 2 2 2 639 81 4 1 9 85 1
|
||||
20269389221: 558 55 9 913 357 221
|
||||
2282784237833: 9 8 4 8 1 6 79 2 3 6 1 833
|
||||
56888859: 23 1 82 694 712 50 6
|
||||
1611982: 3 730 12 366 59 1 2
|
||||
1759460: 2 4 8 4 4 3 141 7 2 278
|
||||
222805681: 5 906 9 7 1 6 5 7 9 4 4 81
|
||||
1624808255: 3 5 15 95 4 3 4 224 19
|
||||
14585438833: 3 73 9 74 3 64 24 33
|
||||
23412: 2 971 398 7 5
|
||||
21366575784883: 7 3 3 6 6 575 78 1 4 88 3
|
||||
712636287: 8 95 5 51 937
|
||||
1167610: 5 2 417 4 1 10
|
||||
1780908850: 6 7 7 4 1 37 4 617 50
|
||||
55250: 4 3 1 1 2 5 2 10 4 836 74
|
||||
78589: 68 77 3 66 8 437 8
|
||||
222410760: 4 5 8 564 8 9 5 14 331 8
|
||||
16554988493568: 361 4 441 966 32 841
|
||||
1380842766: 17 23 6 1 9 1 66 446 7
|
||||
481725: 9 308 539 36 6 90 45
|
||||
31247442135: 31 247 409 33 1 36
|
||||
1450717: 68 4 267 3 269
|
||||
923769: 91 21 483 56 698
|
||||
73630440: 32 62 39 8 780
|
||||
1529044: 5 729 8 5 418
|
||||
245940029: 9 7 72 8 2 347 29 5 5 2 9
|
||||
960620: 7 3 8 1 3 1 286 3 50 6 5 7
|
||||
82802721: 4 43 8 6 329 52 1
|
||||
472539559: 9 450 7 4 5 50 7 49
|
||||
452196: 1 1 44 21 95 1
|
||||
2383008: 8 74 6 6 58 5 672 6 96
|
||||
435601: 50 87 6 2 38 1 3 4 5 7 4
|
||||
1892: 33 5 6 8 68
|
||||
529904695: 58 9 3 52 7 557 95 786
|
||||
155303680: 4 76 114 9 4 4 7 2 5 4 1 4
|
||||
6325771: 8 94 9 375 8 25 68
|
||||
14435769: 5 3 75 5 233 882 8 4 89
|
||||
84250: 337 25 3
|
||||
8388299868: 9 21 5 6 9 285 2 7 5 86 8
|
||||
5591700: 7 40 48 135 436
|
||||
42310630: 861 7 156 6 45 799 20
|
||||
3907126: 4 559 5 145 345
|
||||
7181817627778: 718 181 762 77 77
|
||||
114: 7 1 2 97 6
|
||||
5012536329654: 5 808 4 31 87 2 4 9 6 57
|
||||
14994272: 9 6 7 2 1 3 1 36 62 14 68
|
||||
88: 1 2 29
|
||||
37171659: 2 5 1 1 106 258 716 5 9
|
||||
125547: 5 7 55 40 149
|
||||
516724523: 5 4 87 6 7 52 523
|
||||
8547254016: 4 7 120 1 63 68 4 21 68
|
||||
6496977509286: 42 8 4 946 17 70 5 3 73
|
||||
202045216: 92 6 5 9 415 2 3 9 8 54 8
|
||||
2142699050: 4 3 4 2 24 4 6 7 49 3 3 2
|
||||
262828: 6 900 4 713 30 8 6 32 7
|
||||
56968: 477 623 2 322 4 8
|
||||
7933170: 182 161 80 1 27
|
||||
284718813594: 823 37 21 935 92
|
||||
609005: 71 975 6 80 8 852 5 5
|
||||
7664: 4 9 177 8 7 1 5 8 8 4 1 9
|
||||
24519673876: 7 2 9 6 4 21 246 3 72 4
|
||||
4891: 9 152 6 5 61
|
||||
34731871: 6 9 8 9 88 78 4 72 2 7 99
|
||||
11940400213: 4 219 6 7 6 3 7 26 8 9 7 7
|
||||
177088003: 9 89 925 29 239
|
||||
15730032: 8 857 8 222
|
||||
48884514: 23 16 5 5 748 13 9 7 7 6
|
||||
5006910: 64 88 79 1 1 587 795
|
||||
950: 79 3 621 88 7
|
||||
1081631943: 5 739 7 6 9 7 2 6 90 3 7 3
|
||||
114117: 8 7 89 7 94 17
|
||||
2364516: 67 8 1 77 308
|
||||
121264948855: 137 910 78 9 977
|
||||
49509: 7 1 3 72 5 1 6 6
|
||||
831885228070: 31 996 9 1 692 45 35 2
|
||||
46568189: 2 291 8 818 9
|
||||
569680268: 831 34 537 646 629
|
||||
1544813181: 9 461 92 6 6 8 29 607 3
|
||||
638078: 637 44 4 633 1
|
||||
4399562753007: 5 12 6 726 2 75 300 4
|
||||
13364: 47 30 588 363 13
|
||||
1064634076: 4 2 5 85 7 3 3 5 3 18 4 2
|
||||
639290655837: 7 9 4 1 3 117 331 9 80 8
|
||||
672708: 5 87 1 9 20 333 46 2
|
||||
1373522976: 4 19 997 97 2 7 2 68 8
|
||||
30840121: 3 63 9 89 33 1 583 4
|
||||
2560185: 79 5 9 1 7 396 3 79 3 4
|
||||
22388150824: 4 5 6 27 319 4 1 753 2
|
||||
4314628: 1 6 1 52 16 3 4 2 6 47 2 6
|
||||
9774960642281: 701 71 3 327 71 2 281
|
||||
2516788936: 459 596 92 99 38
|
||||
62838: 57 5 8 3 8
|
||||
1718832: 2 96 895 43 1
|
||||
559683: 5 1 74 7 5 4 2 1 2 6 9 27
|
||||
63466: 37 7 4 48 5 4 260 82
|
||||
995672: 86 87 81 79 46 65 2
|
||||
193009700410: 5 5 772 969 18 86 11
|
||||
167097580: 780 1 42 3 51 5
|
||||
1476176: 9 53 392 607 176
|
||||
6416866958: 3 558 9 62 33 48 20
|
||||
2330944: 23 2 9 960 983
|
||||
2411883980: 9 21 223 73 3 114 38 7
|
||||
2047338: 2 909 78 580 9
|
||||
11510262: 9 62 316 892 26 9
|
||||
2643171379: 5 755 90 5 2 7 7 79
|
||||
87781: 2 5 9 12 8 15 46 6 4 8 9
|
||||
10228522: 6 96 2 852 5
|
||||
11702763: 86 81 7 585 691 3
|
||||
5144841: 211 1 7 236 41
|
||||
6088926: 5 2 709 8 926
|
||||
21656183: 7 3 652 4 186
|
||||
47638073: 7 9 708 356 3 7 24 970
|
||||
29882356081: 3 59 21 4 2 980 1 7 4 6 1
|
||||
49010208: 3 631 1 39 346
|
||||
1337526446: 47 87 56 994 48
|
||||
6239232904: 6 93 2 4 81 90 1
|
||||
1438200579: 3 7 5 36 850 3 1 4 4 9 8
|
||||
34066: 5 2 5 94 9 5 38 2
|
||||
1057: 9 128 3 8 1 410 217 8 3
|
||||
676708124: 901 1 2 555 75 5
|
||||
33205: 52 7 7 44 8 5 1
|
||||
66709: 61 7 5 907 413 85
|
||||
2475718: 6 5 14 82 7 7 4 624 6 1 1
|
||||
7578683: 748 8 2 16 683
|
||||
786430: 21 898 949 27 415 5
|
||||
44135460: 9 23 5 6 7 8 5 8 2 1 6 359
|
||||
1518946204: 166 6 9 5 4 1 565 3 2 4 2
|
||||
1147031: 6 2 7 2 1 8 82 5 291 1 9 2
|
||||
206732821: 8 934 52 5 89 61
|
||||
36449490: 4 4 96 6 40 4 4 3 7 9 1 20
|
||||
228783753138: 7 772 448 9 86 1 35 2 3
|
||||
86: 6 50 16 5 9
|
||||
1235045568965: 722 3 64 55 8 619 6 43
|
||||
712856718: 710 93 192 1 5 711 7
|
||||
5968984: 6 2 87 40 8 891 52 38
|
||||
517974543: 899 1 2 57 4 8 8 23 3 1 3
|
||||
74817: 6 6 8 811 6
|
||||
282697802451: 2 7 221 9 6 7 290 4 90 5
|
||||
271822863: 3 254 64 243 531 68 3
|
||||
13512: 19 23 6 7 11
|
||||
448211577679: 9 7 2 786 5 1 4 1 3 8 6 79
|
||||
1968308: 98 2 250 580 8
|
||||
60939986905: 132 91 6 9 2 2 621 41
|
||||
4774983552: 4 99 7 5 32 8 9 18 174 6
|
||||
258648: 33 3 887 7 439
|
||||
5747901413760: 83 2 5 3 7 2 66 120 874
|
||||
398710669: 9 81 2 645 63 49
|
||||
4389: 2 55 77
|
||||
21212: 4 265 6 2
|
||||
6870: 3 3 7 9 8 3 2 77 3 9 4 930
|
||||
42565865: 96 301 442 2 87 734
|
||||
36842511: 491 75 9 8 509
|
||||
165093115: 5 330 9 311 8
|
||||
194448: 45 231 9 4 521 5 6 6 8 1
|
||||
94388: 94 23 8 56 94
|
||||
149952019: 22 1 43 640 18
|
||||
5989030: 9 144 8 7 699
|
||||
921784868160: 30 3 4 42 490 1 1 32 65
|
||||
124045837347: 886 14 58 37 342 5
|
||||
140597144622: 28 40 71 80 57 341 6
|
||||
13288550: 5 9 6 7 56 3 6 1 7 5 407 2
|
||||
489624800: 65 4 887 8 800
|
||||
31824: 53 22 47 1 9 1 9
|
||||
9761568: 16 2 5 610 15 67 3
|
||||
5400210715: 4 46 2 60 2 332 9 9 754
|
||||
30660861688: 8 8 7 73 8 5 190 8 22 4 8
|
||||
10629: 32 8 6 3 771
|
||||
20252735: 441 7 4 509 9 134
|
||||
2560350: 6 73 76 38 61
|
||||
7806036: 218 6 79 84 67
|
||||
360894478: 3 2 37 14 5 7 7 42 8 8 8 6
|
||||
27699620: 92 29 3 39 3 18
|
||||
48933: 39 9 933
|
||||
439188456: 2 6 3 66 4 303 89 6 97 4
|
||||
3058662635: 30 582 4 625 6 8 9 61
|
||||
514470819: 69 46 8 9 162 74 1 9
|
||||
1362: 160 7 239
|
||||
8011206990: 84 425 243 762 85
|
||||
67314: 7 48 4 3 2 28
|
||||
143: 2 7 10
|
||||
77330133: 6 45 123 863 4 4 8 9 57
|
||||
14652470880098: 8 9 27 3 3 960 785 92 6
|
||||
68484217991: 796 48 907 948 263
|
||||
8888898: 634 85 14 4 994
|
||||
12403276: 317 6 96 4 79
|
||||
1545635: 18 7 72 223 553
|
||||
66790: 4 3 3 9 506
|
||||
22531835: 17 2 686 966 851
|
||||
26907: 8 640 261 5
|
||||
1810285: 112 2 49 466 79
|
||||
268104: 7 8 8 5 7 1 6 751
|
||||
42855: 7 13 9 6 21
|
||||
445: 44 2 3
|
||||
8047: 3 60 4 5 381 2 85 1
|
||||
1021: 23 7 6 256 585
|
||||
1064: 6 1 1 5 2 74 5 7 1 13 71 6
|
||||
402479220: 40 194 53 921 9 1
|
||||
589455408: 66 1 4 4 87 2 2 82 1 6 8
|
||||
33724689: 3 844 371 586 8
|
||||
179340: 8 911 46 20 200
|
||||
1210205016: 7 68 7 3 70 1 3 9 48 54 4
|
||||
9564: 3 372 5 6 4 3 6 242 4 36
|
||||
20285637: 25 5 2 4 2 9 9 81 59 8 93
|
||||
94121829: 98 337 3 551 78 5 9
|
||||
2922: 15 943 16 3
|
||||
16854333: 87 9 4 6 3 607 7 5 32 4 6
|
||||
7846808: 8 34 727 2 5 260 5 6 8
|
||||
366220: 30 8 93 7 29 56 9 2 998
|
||||
232546579763: 5 40 4 78 33 770 44 2
|
||||
1364793638489: 5 30 9 1 562 2 41 31 19
|
||||
191227442: 1 558 6 6 57 3 6 485 45
|
||||
31440: 9 38 1 9 953 3 3 3 9 4 2 1
|
||||
563024: 639 8 8 11 1
|
||||
968436: 97 1 61 9 9 2
|
||||
54483: 883 474 5 4 3
|
||||
35696: 92 5 92 1 4
|
||||
48802840301: 610 8 2 840 304
|
||||
4640985990: 94 2 6 4 4 7 2 8 2 6 6 264
|
||||
65759: 14 58 7 8 745
|
||||
93478: 93 48 1
|
||||
1165: 89 22 9 39 7
|
||||
5626467081: 6 35 7 15 68 31 6 9 62
|
||||
25705178: 265 97 178
|
||||
96427474: 2 4 7 926 6 6 865 4 7 2 2
|
||||
95871699683: 5 9 7 11 3 5 88 3 3 96 8 6
|
||||
2461274295: 9 1 5 54 82 2 6 77 9 1 2
|
||||
75444566: 443 96 281 92 4 5 68
|
||||
1731805708: 91 62 989 189 785
|
||||
1725: 542 2 3 18 73
|
||||
3322698: 55 3 6 4 583 80 4 29 2
|
||||
217862649: 2 323 3 90 4 69 61 9
|
||||
299653325193: 930 6 92 35 77 5 7
|
||||
3245407825: 67 78 361 2 575 31
|
||||
51713982: 1 29 1 348 39 35 529 9
|
||||
130867: 99 9 4 1 9 42 36 727
|
||||
393375: 96 7 5 38 7 5
|
||||
9640088670: 7 38 7 549 8 1 4 67 1 5 6
|
||||
27977912: 3 14 9 1 8 3 1 1 2 656 9 8
|
||||
22015896015: 9 7 6 5 5 3 2 965 7 60 7 8
|
||||
59170: 888 6 8 6 78 6 9
|
||||
252687: 1 55 349 5 11 676
|
||||
2688762662709: 233 56 447 969 461
|
||||
91885664071: 7 38 9 2 84 8 8 639 1 70
|
||||
70719660: 208 69 284 5 764 33
|
||||
6090205: 608 95 50 567 89
|
||||
279814: 5 9 659 842 2 76 2 9 96
|
||||
13035: 5 6 60 8 165
|
||||
8830: 629 98 69 8 864
|
||||
164203534: 3 910 6 1 1 6 1 3 3 45 8 2
|
||||
1180515208: 3 3 5 12 96 386 91 598
|
||||
201379689098: 6 3 693 342 63 50 2 96
|
||||
1081964: 7 7 951 81 964
|
||||
8349602882: 710 4 2 7 7 3 2 78 9 1 4 9
|
||||
106930151: 8 1 193 5 3 9 7 4 7 6 3
|
||||
63797700657: 6 82 9 9 21 5 629 8 2 1 6
|
||||
19513155835: 272 15 717 8 37
|
||||
325472: 1 4 53 8 4 7
|
||||
42251: 61 68 8 69 2
|
||||
950015391: 1 8 9 5 5 4 999 7 3 6 391
|
||||
2488834474356: 8 9 3 6 166 1 31 45 3 6
|
||||
9609639416: 901 7 592 63 8 1 418
|
||||
452711265134: 8 2 813 94 44 87 4 4
|
||||
3163159356: 12 345 949 27 3
|
||||
520669356: 5 78 512 7 9 855 17 9
|
||||
21850454: 910 50 33 2 22 52
|
||||
2735378: 7 421 2 52 460 218
|
||||
31544: 624 49 12 69 887
|
||||
1785141121: 3 404 263 4 5 317 6 28
|
||||
3813649: 55 43 545 895 7 7 9 49
|
||||
125764604056: 85 4 2 6 17 4 6 470 866
|
||||
5353720042: 6 2 55 1 8 3 1 7 2 888 5 2
|
||||
2046728: 1 64 6 208 8
|
||||
12731308: 615 115 18 6 799
|
||||
75530: 83 1 1 70 13
|
||||
5585555520: 445 4 2 8 530 74
|
||||
60290: 7 861 5 3 9
|
||||
6005643840: 6 565 16 913 3 5 7 5 6 8
|
||||
13786986: 8 3 846 7 3 97 278
|
||||
541296749: 737 8 39 641 8 83 9
|
||||
677: 50 5 514 99 9
|
||||
5929: 1 41 35 24 970
|
||||
133575: 3 1 8 970 66 552 2 207
|
||||
23813165: 25 7 866 61 1 53 5
|
||||
321: 26 7 48 40 51
|
||||
7572679: 9 1 4 1 4 6 666 601 7 2 7
|
||||
21428764753409: 6 3 6 6 566 4 752 5 9 1 2
|
||||
800864113: 6 3 8 64 682 3 77 377 4
|
||||
581925765: 2 6 169 20 7 869 576 2
|
||||
11566767: 5 102 9 836 99
|
||||
2124521: 59 5 8 9 29 492
|
||||
44315624521: 39 5 4 88 833 24 519
|
||||
73836378: 424 347 58 3
|
||||
6324: 190 54 9 2 21 12
|
||||
41389305103: 643 190 4 99 44 65
|
||||
2264807129: 7 4 7 6 5 5 3 98 4 4 9 13
|
||||
9834346: 1 7 128 4 66 1 344
|
||||
8041812452: 1 44 89 555 6 411 4 52
|
||||
359572559043: 2 870 6 87 3 3 5 87 80 3
|
||||
619646: 61 889 71 4 3
|
||||
30132: 6 3 818 2 2 18
|
||||
3867753588: 82 818 955 71 45 395
|
||||
42019719768251: 2 95 1 614 4 3 8 9 4 2 5 4
|
||||
67142400: 5 538 4 312 20
|
||||
4859: 35 78 43
|
||||
63062582: 76 975 6 2 585
|
||||
66641931: 66 625 7 9 929
|
||||
7652445: 19 49 41 7 2 2 365 78
|
||||
49162643986: 42 153 8 9 5 3 849 8 8
|
||||
8804602981773: 38 662 7 5 298 1 7 73
|
||||
4113176424: 892 50 50 2 8 7 329
|
||||
1117038228: 2 797 7 4 8 3 8 140 2 86
|
||||
13544236: 281 482 17 19
|
||||
69460233: 3 1 193 6 465 2 8 8 3 3 1
|
||||
50
dat/24/re/08.txt
Normal file
50
dat/24/re/08.txt
Normal file
@@ -0,0 +1,50 @@
|
||||
...d............................J.................
|
||||
......e.............................J.............
|
||||
..........6............7..........................
|
||||
........................P7........................
|
||||
..................................................
|
||||
.........6........................................
|
||||
e..........................x.................E....
|
||||
...G...A.......d...........................o......
|
||||
.....A.e...........................J......8.......
|
||||
................6....9.....J.............E.8......
|
||||
..........d.9.........7..K....E...................
|
||||
...e.....U....9................x..K...............
|
||||
......A......O...........P................o.......
|
||||
......................x..................M..E.....
|
||||
........................x........p................
|
||||
........A..................O......................
|
||||
.......r.f....O.......P9..G.........m.............
|
||||
u...df..r...............7.........................
|
||||
.....g.............nXu......N.........K...........
|
||||
..............l..........0..............p.........
|
||||
.......lu...................p......o..............
|
||||
....g..........l........0p..G.....F...............
|
||||
.....................................8......F.....
|
||||
...................................C..............
|
||||
....3................G0......................M....
|
||||
2...f....g..........3........P......O......F......
|
||||
g......3.....0....H......................F..M.....
|
||||
.............c................m...h.....M.........
|
||||
...........2....l.................................
|
||||
..U...c......2...........................K........
|
||||
.D....................r.....f.....................
|
||||
....................N.............................
|
||||
.U..............h.................................
|
||||
...a.............u..............C.................
|
||||
c...Uj....a..6...H...................R............
|
||||
...3....j................H...............m........
|
||||
.......................5.......C..........4....m..
|
||||
......................H.........R......N....X.....
|
||||
.........h..2.................R................N..
|
||||
.......................r...........q...n..........
|
||||
.....c..............5.............................
|
||||
..a..h....D.................................n.....
|
||||
......qk..................D............1.....X....
|
||||
.k..................................q.............
|
||||
..k..........a.............L................1....4
|
||||
......k..........RQ..5.L.j..1..................4..
|
||||
..................................................
|
||||
..............L.....................oX............
|
||||
........Q.............L.........n.................
|
||||
...........Q.D........5..........1............4...
|
||||
1
dat/24/re/09.txt
Normal file
1
dat/24/re/09.txt
Normal file
File diff suppressed because one or more lines are too long
40
dat/24/re/10.txt
Normal file
40
dat/24/re/10.txt
Normal file
@@ -0,0 +1,40 @@
|
||||
6541001098012789610347890107654656710323
|
||||
7832102127643898701256521218323465891410
|
||||
8996543034556789650987434309012534892565
|
||||
3887689678965876501874345892105621763676
|
||||
4305678563456903416765676756898760654980
|
||||
5214107852107812321254382347872108901221
|
||||
6543236943056921010341291078963457654338
|
||||
7896545987045430010980012569454968983549
|
||||
3217830656189899121676101430356879892678
|
||||
2106921043210778234585232321267898761432
|
||||
3478854430345665056798743410456901050501
|
||||
4569763521012552143895654501345012347670
|
||||
3654012678903443212104309690432167898981
|
||||
2783656987654874908765218781201254012567
|
||||
1092347897893965889034765670387063013498
|
||||
1001298756102456776121874989496122110901
|
||||
2310891043201307655430923876565434325892
|
||||
3456780103011218967649810189410145456743
|
||||
2561078212320989858236702107320236787654
|
||||
1232569343423874749145893678741199899873
|
||||
0343454358514565632098704569632087684562
|
||||
0456789969609034501347612189323456893001
|
||||
1499876878798123101256543079012548762110
|
||||
2387905462687678871212344568187659450223
|
||||
3456012301056549960305650127691098321054
|
||||
3456732102345832154454781034540107650169
|
||||
2369847898738981023763692321121256743278
|
||||
1078456654567670119832103400012349894361
|
||||
0012387763456543208041076510123412765010
|
||||
7650196892565454589107889623296503854321
|
||||
8943256781074303673236908774387654983432
|
||||
8912965890985210984365219985345015676541
|
||||
7607834187866789875434308776236723498650
|
||||
6506543045679012766923105698109894567743
|
||||
5410432134988703457810014567056210754892
|
||||
0322345028767845893456723459847349889701
|
||||
1201276719454936712679801210738256776545
|
||||
2450989805103221604589752345629145480230
|
||||
2347823456012120113298943238710076591121
|
||||
1056910147893012320107654109656789432012
|
||||
1
dat/24/re/11.txt
Normal file
1
dat/24/re/11.txt
Normal file
@@ -0,0 +1 @@
|
||||
112 1110 163902 0 7656027 83039 9 74
|
||||
140
dat/24/re/12.txt
Normal file
140
dat/24/re/12.txt
Normal file
@@ -0,0 +1,140 @@
|
||||
KKKKKKZZZZZZZZDDQQQQXXXXXXXXXXXXTTTTTTTTTTTTDHHHHHHHHHHHHHHHHHGGGGGGPPPGUUGGXXGGGGGGJJJJJJJJJIIIIIIIIIIIIIIIIIIIIDIIIIIIIIIIIKIIIIIIIIIIIIIM
|
||||
KKKKKKZZZZZZZDDDQQQQXXCXXXXXXXXXTTTTTTTTTTTTTHHHHHHHHHHHHHHHHHGGGGGGGGPGUUGGGGGGGGGJJJJJJJJIIIIIIIIIIIIIIIIIIVVVIDDIIIIIIIKKKKIIIIIIIIIIIIMM
|
||||
KKKKKZZZZZZZZZZQQQQQQXCCCXXXXXXTTTTTTTTTTTTTTTHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGJJJJJJJJJJIIIIIIIIIIIIIIIIIIVIIIIDIHIIIIIIIKKIIIIIIIIIIIIMM
|
||||
KKKKKZZZZZZZZEEHQQQYQQZCCCCXXXTTTTTTTTTTTTTTHHHIIIIHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGJJJJJJJJIIIIIIIIKKKKKKIIIIIVIIIIDHHIIIIIIIIKIIIIIIIIIIIIIM
|
||||
KKKKKKOOEZEEEEHHQQQYYCCCCCCTTTTTTTTTTTTTTTTTVVVIIIIHHHHHHBBBBGGGGGGGGGGGGGGGGGGGGJJJJJJJJJIIIIIIIBCKKKKKIIIIIIIIHHHHHIIIIIIIIIIIIIIIIIIIMMMM
|
||||
KKKKKOOEEEEEEEHHHQQYYCCCCCCCCCTTTTTTTTTTTOOTTIIIIIHHHHHHHHHBBBGGGGGGGGGGGGGGGGGGGJJJJJJJJJIIIIIBBBCKKKKKKKIIIIIHHHHHIIIIIIIIIIIIIIIIIIIIIIMM
|
||||
KKKKKKOGGEEEGHHHHQDDYYCCCCCCCOOTTTTTTTTTTTIDIIIIIIIHHHHHHBBBBBGGGGGGGGGGGGGGGGGGGGJJJJJJJJIIIIBBBBKKKKKKKKIKIIIBHHHHHIIIIIIIIIIIIIIIIIIIIIIM
|
||||
KKKKTKOOGEGGGHGHDDDDDYYYCCCCCOOTTTTTTTTTTIIIIIIIIIIHHHHHBBBBBBGGGGGJGGGQGGLGGGGGGJJJJJJRRJJJBBBBKKKKKKKKKKKKKKFHHHHHHHIHHIIIIIRIIIIIIIIIIMMM
|
||||
KRRRVOOGGGGGGGGGDDDDPDDYDSSCCCOOOTTOTTTTTIIIIIIIIIIHHHBHBBBBBBGGGGGJGJJGGGGGGGGGGJJJJJRRRRRWBBBBBBVKKKKKKKKKKTHHHHHHHHHHIIIIIIIIIIIIIIGIIMMM
|
||||
YVRVVOOGGGGGGGDDDDDDDDDDDSSCCOOOOOOOTOOOIIIIIIIIIIIHHBBBBBBBBBGGGGGJJJJJGGGCGGFFGFFJRRRRRRRWWBBBBBBKKKKKKKKKKKHHHHHHHHHFFIIIIIIIIIIIIIGIVVMM
|
||||
YVRVVVVGGGGGGGDDDDDDDDDDDDDCCOOOOOOOOOOOIIIIIIIIIIIHHHBBBBBBBBBBGGJJJJJJJJJGGGFFFFRRRRRRRRRRRBBBBBKKKKKKKKKKKKKHHHHHHHHFIIIIIIIIIIIIIIIIVVVM
|
||||
YVVVVVVVVGGGGGGDDDDDDDDDDDDOOOOOOOOOOOOOOIIIIIIEEIIHHHOBBBBBBBBBBGJJJJJJJJJFFFFFFFFFRRRRRRRRRRBBBBKBKKKKKKKKKKKHHHHHHFFFFIIFIIIIZIIAIIIIVVMM
|
||||
VVVVVVVVVGGGGGGDDDDDDDDDDDOOOOOOOOOOOOOOOOOOOIOOEJJHHHOBBBBBBBBBBEEJEEEEEFFFFFFFFFFFRRRRRRRNBBBBBBBBKKKKKKKKKKRHHHHHHFFFFFFFIIIIIIIIBBIIVMMM
|
||||
VVVVVVVVVGGGGGDDDDDDDDDDDDEOOOOOOOOOOOOOOOOOOOOOEEJHHOOOBBBBGGGGBEEEHEEXFFFFFFFFFFFFRRRRRRBNBBBBBBBBKKKKKKKKKKHHHHHHHFFFFFFFIIIIIIIIBBVVVMMM
|
||||
VVVVVVVVGGGGGDPDDDDDDDDDDDEEOOOOOOOOOOOOOOOOOOOOEEJEOOOOBGGGGGGGHEEEEEEFFFLFFFFFFFFRRRRRRRBBBBBBBBBBBKKKKKKKKFHHHHHFFFFFFFFIIIIIIIIIIVVVVVMM
|
||||
VVVVVVVVGGGGGDDDDDDDDDDDDDDEOOOOOOOOGOOOOOEOIIOOEEEEOOOOOGGGGGGGEEEEEEEFFFFFFFFFFFFFRDRRXXBBBBBBBBBBBKKKKKKKKKBBHHHHFFFFFFFIIIIIIIIIVVVVVVLM
|
||||
VVVVVVVVWGGGGDDDDDDDDDDDDEEEOOOOOOGGGOOOOOOIIIIIEEOOOOBOOGGGGGGGUEEEEEGUFFFFFFFFFFFFDDDDMMSBBBBBBBBBBBBBKKKKKKBBBHHFFFFFFFFIIIIINNWIVVVVVVLL
|
||||
VVVVVVZZZFGGGRDDDDDDDDDDDEOOOOOOOFFFGOGOOIIIBIBBBEOBBBBBBGGGGGGGEEEEEGGUUFFFFFFFFFFFDDDDDMMMBBBBBBBBBBBKKKKKKBBBBHHFFFFFFFFFIINNNNNPPVVVVLLL
|
||||
VVVZZZZZZZIGRRADADDDDDDDDEOEEOYYGFFGGOGGGIIIBBBBBEBBBBBBBGGGGGGGFEEEGGGGUUFFFFFFFFFHDVVVVVVMBBBBBBBBBBBKKKKBBBBBBBBBFFFFFFFRRRRNNNNPPVVLLLLL
|
||||
VVZZZZZZZZZRRRADAADEEEDDDEEEEOYYGGGGGGGGGGIBBBBBBBBBBBBBBGGGGGGGEEEEBGGGUUFFFFFFFFFHHVVVVVVMBBBBBBBBBPBKKBBBBBBBBBBFFFFFFFFFRBRNNNNNNNVLLLLL
|
||||
VZZZZZBZZZNAAAAAAAAEEEEEEEEEGGYYGGGGGGGGGIIBBBBBBBBBBBBBBGGGGGFFFEEBBGGGGCFFFFFFFFFHHVVVVVVMBBBBBBBMMMMMBBBBBBBGBBBFFFFFFFGGBBBNNNNNLLLLLLLL
|
||||
BBBBBBBZZNNNAAAAAAEEEEEEGEEEEGYYGGGGGGGIIIIBBBBBBBBBBBBBBGGGGGFFCCCBGGGCCCFCCWWWWWWWHVVVVVVMMBBBMMMMMMMMBBBBBBBGBGGTTFFFFFFFFBBNNNNNLLLLLLLL
|
||||
JBBBBBBBZZNAAAAAAAAAAGGGGGGEGGGGGGGGGGGGGIHDBBBBBBBBBBBBBBFFFFFCCCCCGGGCCKCCCWHHHHHHHVVVVVVMMVVVVVVMMMMMBBBBBBGGBGGTFFFFTFFFFBBBBBBBBBLLLLLL
|
||||
JJJBBBBBBAAAAAAAAAAAGGGGGGGEGGGGGGGGGGGGIIHDBBBBBBBBBBBBBBBBFFFCZCCCCCCCCCCCCHHHHHHHHVVVVVVMMVVVVVVMMMMMBBBBBBGGGGGTTFFTTFFFBBBBBBBBBBLLLLLL
|
||||
JJJBBBBAAAAAAAAAAAAAGGGGGGGGGGGGGGGGGGGGIHHDHHHHBBBBBBSSSSFFFFFCCCCCCCCCCCCCCHHHHHHHHVVVVVVHHVVVVVVMMMMMBBBBBBGGGGGTTTTTTFHFBBBBBBBBBBBLBBLV
|
||||
JJJJJJAAAAAAAAAAAAAAGGGGGGGGGGGGGGGGGGGHHHHHHHHHHIJJJJJSSSSFFFCCFFCCCCCCCCCCCHHHHHHHHVVVVVVVVVVVVVVMMMMMMBBBBGGGGGGGGGTTTLLBBBBBBBBBBBBBBBBV
|
||||
JJJJJJAAAAAAAAAAAAAAGAAGGGGGGGGGGGGGGGGHHHHHHHHHHJJJHJSSSSSFFFFFFCCCCCCCCCCCCHRHHHHHHVVVVVVVVVVVVVVGMMMMMBBBBGGGGGGGGGTTLLLLLLBBBBBBBBBBBBBB
|
||||
JJJJJJAAAAAAAAAAAAAAAAGGGGGGGGHGGGGGGGGHHHHHHHHHHJJJJJJJSJSFFFFFCCCCCCCCCCCCCCHHHHHHHVVVVVVVVVVVVVVGGMMCMBBBGGGGGGGGPGGGLLZLLLBBBBBBBBBBBBBB
|
||||
JJJJJJAAAAAAAAAAAAAAGAGGGGGGGGGGGGZZGHGHHHHHHHHHJJJJJJJJJJSFFFFFCCCCCCCCCCCCCCHHHHHHHHHOHHOOMVVVVVVGGJGGIBBBTGGGGGGTGGGLLLLLLLLBBBBBBBBBBBBB
|
||||
JJJJJAAAAXAAAAAAAAAAGGGGGGGGGGGGGGZEEEEEEEHHHHHHJJJJJJJJJJFFFFRFFFFCCCCCCCCCCCCHHHHHHHHOOOOOMVVVVVVGGGGGGKKKGGGGGGGTGGGLLLLLLLLLBBBBBBZBZBBB
|
||||
JJJJJJJJXXAAAAAAAAAAGGGGGGGGGGGGGGZEEEEEEEHHHHHHJJJJJJJJJJJFFFRRFFFCCCCCCCCCICCHHHHHHIIOOOOOOGGGGGGGGGGGKKKKKGGFGGGGGGGLLLLLLLLLLBBBBZZBZZZE
|
||||
JJJJJJJJJJAAAAAAAARGGGGGGGGGGGGGZZZEEEEEEEHHHHHJJJJJJJJJJJJFRRRRRRFFIICCCCIIIICHCCHYYIIOOOOOGGGGGGGGGGGGGGKKKGGGGGDDDDDPLLLLLLLBBBBBBZZZZZZZ
|
||||
JJJJJJJJJJAARRRRRRRRGGGGGGGGGGGGZZZEEEEEEEHHHHHJJJJJJJJJJJJJRRRRRRFFFIIIIIIICICCCCCIIIIOOOOOGGGGGGGGGOJJJKKKYRGYLLLLLLLPPLLLLILBBBBBBZZZZZZZ
|
||||
JJJJJJJJJJJRRRRRRRRRRGGGGGGGGGGGZRZEEEEEEEHHHHHHHJJJJJJJJJJWRRRRRRFRFIIIIISSSSSSSSSCIIIIIIIOOOGGGGGGGGJJJKYYYRYYLLLLLLLPLLLRLLLLBBBBBZZZZZGU
|
||||
JJJJJJJJJJRRRRRRRRRRGGGGGGGGGGGRRRREEEEEEEHHHHHHHHHJJTJJJWWWRRRRRRRRRIIIIISSSSSSSSSIIIIIIIIOOOGGGGGYYGJJYYYYYYYLLLLLLLLPPRRRLLPYBBBBBZZZZZZU
|
||||
IJJJJJJJJJRRRRRRRRRRRRRGGGGGGGGGRRREEEEEEEHHHHHHHHHJJTJTJWWRRRRRRRQQQIIIISSSSSSSSSSIIIIIIOOOOOOOJYYYGGJJJYYYYYLLLLLLLLLPPPPRLYYYYBBBBZZZZZZU
|
||||
IJJJCCCJJRRRPRRRRRRRRRGGGGGGGRRRRRREEEEEEEHHHHHHHHHHJTTTAWAAAARRRRRIIIIIISSSSSSSSSSIIIIIIIIIOOJJJJJJGJJJJLLLLLLLLLLLLLLPPPPPYYYYBBBBUZZZZUUU
|
||||
IJJJCCCPPPPPPPPRRRDDDRGGRGGRRRRRRRCEEEEEEEHHHHHHHHHHJJTTAAAAAARRRRRIIIIIISSSSSSSSSSIIIDDDDDXFOJJJJJJJJJJYLLLLLLLLLLLLLLPPYYYYYYYYYUUUUZUUUUU
|
||||
IJIJCPPPPPPPPPDRRDDDDRRRRRRRRRRRRRGGGGGCCHHHHHHHHHIIJJAAAAAAAAAARRIIIIIIISSSSSSSSSSIIIDDDDDIFOJJJJJJJJJJJLLLLLLLLLLLLLLPYYYYYYYYYYUUUUUUUUUU
|
||||
IIIIPPPPPPPPPPDDRRDDDDRRRRRRRRRRRRWWGGGGCHHHHHHHHHHIIIAIIAAIIIIIIIIIIISSSSSSSIIIIIIIIIDDDDDFFJJJJJJJJJJJJJHYYYYLLLLLLLLYYYYYYYYYYUUFUUUUUUUU
|
||||
IIIIIIPPYPPPPPPDDDDDDDRRRNRRRRRRRWWWUUPPHHHHHHHHHHHIIIIIIAAIIIIIIIIIIISSSSSSSIIIRRIIIIDDDDDFFJJJJJJJJJJJJJHHCYYLLLLLLLLYYYYYYXXYKKTTTUTTUUUU
|
||||
IIIIIIIXPPPPPPPDDDDDDDDDRNNRRRRRRWWUUUUPHHHHHHHHHHIIIIICIIIIIIIIISSSSSSSSSSSSIISUUIIIIDDDDDFFJJJJJJJJJJJJJJHCCCLLLLLLLLLLYYYXXXXKKTTTTTTUUUU
|
||||
IIIIIIIXPPPPPPPPDDDDDDDDNNNNGUBBBUWWUUUPUHHHHHHHHHIIIICCIIIIIIIIISSSSSSSSSSSSIUUUUDDDDDDDDDDEJJJJJJJJJJJHHHHCCCLLLLLLLLQLYYYXXXXTTTTTTTTUUUU
|
||||
IIIIIIIXPPPPPPPPDWWWWWDNNNNNGUUUUUUUUUUUUDHHHHHHHHHIICCCCCIIIIIIISSSSSSSSSSSSIIHUVDDDDDDDDDDFVVRRRRRRJJHHHHHHCCCCCLLLLLLLLYLXXXTTTTTTTTTUUUU
|
||||
IIIIIIXXXPPPPPPPPPWWWWNNNNNNNUUUUUUUUUUUUUPPHHHHHHHLLLCCCCCCIIIIISSSSSSSSXIIIIIHHIDDDDDDDDDDVVVRRRRRRJHHHHHCHCCCCLLLLLLLLLLLLXXXXXTTTTTTUUUU
|
||||
IIIXXXXXXOXPPPPPPPPPNNNNNNNNNUUUUUUUUUUUUBPPPHPPHLLLLLLCCCCCIIIIISSSSSSSSXXIXIIHHHDDDDDDDDDDKKVRRRRRRRRHHHHCCCCCCLLLLLLLLLLLLLXXXXTTTTTTTUUU
|
||||
IIIXXXXXXXXPPPPPPPNNNNNNNNNNNNUUUUUUUUUPPPPPPHPPHLLLLLLCCCCIIIIIISSSSSSSSXFFXHHHHHDDDDDDDDDDKKKKKKKKRRRHRRRRRRRRCLLLLLLLLLLLLXXXXTTTTTUUUUUU
|
||||
IIIXXXXXXTTPPPPPPPPNNNNNNNNNNNNUUUUUUUPPPPPPPPPPPTLLLLLCCCCCRIIIISSSSSSSSXFXXXHHHHDDDDDIIIIIKRKKKKKKRRRCRRRRRRRRCCLLLLLLLLLLLXXXXXTTTUUUUUUU
|
||||
IIIIXXXXXXTTTPPTTTTTXNNNNNNNNNNNUUUUUDPPPPPPTTPPTTLLLLLCLLCRRRIRRSSSSSSSSXXXOXXHWHDDDDDHINNNKKKKKKKKRRRCRRRRRRRRCCCLLLLLLLLLLXXXXXXTLLLLUUUU
|
||||
IIIIXXXXXXTTTTTTTTTTXNNNNNNNNNNNNUUUUUHHHHPPPTTTTTTLLLLLLCCRRRIRRSSSSSSSSXXXWWWWWWDDDDDHDNNNKKKKKKKKRRRCRRRRRRRRRRRRRLLLLLLLXXXXXXXXLLLUUUUU
|
||||
IIIIXXXXXXTTTTTTTTTTTNNNNNNNNNNNNNNHHHHHHHHTTTTTTTLLLLLLLRHRRRRRRSSSSSSSSXXWWWWWWWDDDDDDDNKKKKKKKKKKKHHCCCRRRRRRRRRRRMLVVLLLXXXXXXXXXXLLLUUU
|
||||
IIIIXXXXXXTTTTTTTTTTTTTNNNNNNNNNNNNNNNHHHTTTTTTTLLLLLLLLLRRRRRRRRRRRRQQXWXXWWWWWWWDDDDDDDDDDKKKKKKKKKHHCCCRRRRRRRRRRRMLTTXXXXXXXXXXXXXLLLLUU
|
||||
IIIIXXXXXTTTTTTTTTTTTNNNNNNNNNNNNNNNHHHHHTTTTTTTLLLLLLLLLRRRRRRRRRRRRRWWWXXWWWWWWWWWHHDDDDDDDDDDDDKKKKHCCXRRRRRRRRRRRLLTTXXXXXXXXXLLLLLLLLUU
|
||||
UUUUURXXXXTTTTTTTTTTTTCNNNNNNNNNSNNNHHHHHTTTTTTTTTTTLLLLLRRRRRRRRRRRRRWWWWWWWWWWWWWHHHFDDDDDDDDDXXXXKKHHXXRRRRRRRRRRRTTTTXXXXXXLXLLLLLLLLLUU
|
||||
UUUUURXXQHHTTTTTTTTTTTCCNNNNNNBNENNHHHHHHTTTTTTTTTLTLLLLRRRRRRRRRRRRRRRWWWWWWWWWWWWHFFFDDDDDDDDXXXXXKXHHXXXXXCCRRRRRRTTTTTXXXOOLLLLLLLLLLLLU
|
||||
UUUUUUXSHHHHTTTTTTTTTTCNNNNNNNNNENHHHHHHTTTTTTTTTTLLLLLLLLRRRRRRRRRRRRWWWWWWWWWFWWFFFFFDDDDDDDDXXXXXXXXXXXXXXCCRRRRRRTTTTTXOOOOLLLLLLLLLLLLU
|
||||
UUUUUUUSSHHHHTTTTTATCCCKKKKKKKEEEHHEHHTHTTTTTTTTTTLLLLWLWLRRRWWRRRRRRRRWWWWWWWWFWFFFFFFDDDDDDDDDXXXXXXXXXXXXJJJRRRRRRTTTTTOOOOLLLLLLLLLLLLLU
|
||||
UUUUUUUSHHHHHHTTTTTCCCCCCKKKKEEEEEHEEHTTTTTTTTTTTLLWLLWWWWMWWWWWRRRRRRRWWWWWWFFFFFFFFFDDDDDDDDDDXXXXXXXXXXXXJJJRRRRRRRTTTTTOOOOOFLLLLLLLLLUU
|
||||
UUUUUUUHKHHHHHHHTHTZCCCCCKKEEEEEEEEEHHHTTTHHHHTTTLLWWWMWWWWWWWWWRRRRRWWWWWWWFKFFFFFFFFFDDDDDDDDDDXXXXXXXXXXXJJJTTTTRRRTOOOOOOOOOLLLLLLLLLLUU
|
||||
UUUUUUUHHHHHHHHHHHTZCCZZNNEEEEEEEEEENNHHHHHHHHTTTLLWWWWWWWWWWWWWRRRRRWWWWWFFFFFFFFFFFFFDDDDDDDDDXXXXXXXXXXXXXJJTTWTRRROOOOOOOOOOOORLLLRLLUUU
|
||||
UUUUUUUUUHHHHHHHHHTZZZZZNXXXXXXXXEEEENNHHNNUUUUUUWWWWWWWWWWWWWWWWIRRWWWWWWWFFFFFFFFFFUUXDDDWWDWDDXXXXXXXXXXXJJJTTTTRRROOOOOOOOOOORRRLLRUUUUU
|
||||
UUUUUUUUHHHHHHHHHHTHHZNZZXXXXXXXXEEHHNNNNNNNUUUUUUWWWWWWWWWWWWWWWIIWWWZWWWWWFQQFFFFFFFUUDDDWWWWXXXXXXXXXXXXJJJTTTTTRRROOOOOOOOOOORRRRLRUUUUU
|
||||
UUUUUUUUGHHHHHHHHHHHHHNNNXXXXXXXXEEEENNNNNNUUUUUUUUWWWWWWWWWWWWRDDZZZWZZWWWWQQQQFJFLFFUDDDXWWXXXXXXXXXXXXXXJJJRRRRRRRROOOOOOOOOOORRRRRRUUUUU
|
||||
UUUUUUUUHHHHHHHHHCHHHHHHNXXXXXXXXENEEEENNNNUUUUUUUUUUWWWWWWWWWWWDGZZZZZZWZWWQQQQQFFFRFUUXXXXXXXXXXXXXXXXXRXXJJRRRRRRTTOOOOOOOOOOORRRRRRUUUUU
|
||||
UUUUUUUUUHHHHHHHCCHHHHHHHXXXXXXXXNNEENNNNNNNUUUUUUUUUWWWWWWWWWWWDGDZZZZZZZZWZQQQQFFRRUUUXXXXXXXXXXXXXXXXXXXJJJRRRRRRTTTOOOOOOOOXGRRRRRUHUUUU
|
||||
UUUUUUUUUHHHHHCCCHHHHHHHHXXXXXXXXNNNNNNNNNNNUUUUUUUUWWWWWWWWWWDDDDDZZZZZZZZZZQQQQQFRXXXXXXXXXXXXNXSSSSXXXYYGGTRRRRRRTOOOOOOOOHGGGGGRRRUUUUUU
|
||||
UUUUUUUUUHHHEHQCCHHHHHHHHXXXXXXXXNNNNNNNNNNNUUUUUUUUWWWWWWWWWWDDDDDZZZZZZZZZZQQQQQQXXXXXXXXXXXXXXSSSSSXXYYYYGGRRRRRRWWOOOOOOOOGGGGGRRRUUUUUU
|
||||
UUUUUUUUIHEEEQQQCHHHHHHHHXXXXXXXXNNNNNNNNNNNUUUUUUUUUWWWWWWWEEZDDDZZZZZZZZZZIZQQQQQXXXXXXXXXXXXXXSSSSSXYYYYSGGGGTWWTTWOODOOOGGGGGGGRRRRRUUUU
|
||||
UUUUUUQKQQQQEQQCCCHHHHHHHXXXXXXXXXXXXXXXNNYYUUYUUUUUUUUWWWWEEEZZZZZZZZZZZZZZIZQQQQQXXXXXXXXXXXXXSSSSSSSSSSSSSGGOTWWWWWWVDDDOIGGGGGGGRRRRRUUU
|
||||
VUUUUQQKQQLQEQQQCCHHHHHHHXXXXXXXXXXXXXXXNNBYYUYUUYUUUUWWWCWEEEEEZZZZZZZZZZZZZZZQQQQXXXXXXXXXXXXXSSSSSSSSSSSSSSOOSWWWWWVVVDGGGGGGGGGGGRRRRUUR
|
||||
VUUVQQQQQQQQQQQQQCHHHHHHHHHNNNXXXXXXXXXXNXYYYYYUYYUUUUWWWWWWEEEEZZEZZZZZZZZZZZZQQQQQXXXXXXXXXXXSSXSSSSSSSSSSSOOOSWWWWWVVVVRRRRGGGGGRRRRRRRRR
|
||||
VVVVQQQQQQQQQQQQQQXHHHHHHHHNHNXXXXXXXXXXXXXYYYYYYYUUUUEEEEEEEEEEEZEEZFZZZZZZZZZQQQQQXXXXXXXXXXXXXXSSSSSSSSSSSSSSSWWWWVVVVVVRRGGGGGGRRRRGGRRR
|
||||
VVVVQQQQQQQQQQQQQQQHHHOHHHHHHNXXXXXXXXXXXXXYYYYYYYUUUUUEEEIIIIEEEEEEEFFZZZZZZQQQQQQQXXXXXXXXXXXXXXSXXSSSSSSSSSSSSWWVVVVVVVVVVGGGGGPGRRGGGRRR
|
||||
VVQQQQQQQQQQQQQQQQQKHFOHHHHHNNXXXXXXXXXXXXBYYYYYYYTUUUUEEIIIIIEEETTTEEFFVZZZQQQQQQXXXXXXXXXXXXXXXXXXSSSSSSSSSSSSPVVVVVVVVVTTVTGGGGGGGGGGGGRR
|
||||
VVQQQQQQQQQQQQQQQKKKOOOOOHHNNNXXXXXXXXXXXBBYYYYYYYYUUUUEEEIIIEEETTTEEFFFFFCCQQQQQQQXIXOXXXXXXXXXXXXXSSSSSSSSSSSSSVVVVVVVVVTTTTGGGGGGGGGGGRRR
|
||||
VQQQQQQQQQQQQQQQQKQOOOOOONNNNNNNBBBBBBBBBBBYYYYYYYYEEEEEEEIIIIIETTTEFFFFCCCCQQQNNNNIINOXXXXXXXXXXXXXSSFSSSSSSQSSOQVVVVVVVVGGGGGGGGGGGGGRRRRR
|
||||
VVQQQQQQKFQQQQQQQQQOOOOOOONNNNNNBBBBBBBBBBBYYYYYYYYYYEEEEEIIIIEETTTTFFFJFCCQQQQNNNNNNNNVVXXXXXXXXXSSSSFSSSSSQQQQQQQQVVVVVVVGGGGGGGGGGGGGGGRR
|
||||
VVQQIIIQFFQQQQQQQQOOOOOOOONNNNNBBBBBBBBBBYYYYYYYYYYJJEEEEEIEIITTTTTTFFFFFFFQNNNNNNNNNNNAVXXXXXXXXXSSSFFFSSSSQQQXQQQQQVVVVVGGGGGGGGGGGGGGGGRR
|
||||
VVVIIFFFFFFFQQQQQOOOOOOOOOOONNBBBBBBBBBBBYYYYYYYUYYYEEEEEEEEETTTTTTFFFFFFFQQNNNNNNNNNNNAXXXXXIXXXXSSFFFFSSFFQQQQQQQVVVVVVVGGGGGGGGGGUGGGURRR
|
||||
VVVIIFFFFFFFFQQOOOOOOOOOOOOOOOEEEBBBBBBBYYYYYYYYYYUEEEEEEEETETTTTTCCFFFBFFNNNNNNNNNNNANAXXXXXIXXXSSSFFFFFFFFFQQQQQQSVVXVVVWGGGGGGGGGUGGUUURR
|
||||
VVIIIFFFFFFFFQQOOOOOOOOOOOOOOOEEEEEBBBBBYYYYYYYYUUUEEEEEEETTTTTTTTCCFFFFFFNENNNNNNNNAAAAXXXXXXXXHAAFFFFFFFFFFQQQQQQQQLVVVVWWGGGGGGGGUHHHUUUU
|
||||
VFFNIFFFFFFFFQQOOOOOOOOOOOOOOOEEEEEEEEEBBYSYYYYUUUUUHHEETTTTTTTTTTTFFFFTDTKNNNNNNNNNAAAAAUUUUUUUUAAAFFFFFFFFQQQQQQQQMMMQVVVURGGGGGGUUUUUUUUU
|
||||
VFFFFFFFFFFFFFQOOOOOOOOOOOOOOEEEEEEEEEEEEUUUUYUUUUUUUHEEETTTVVVVVVVTFFFTTTKKKNNNNNNBAAAAAUUUUUUUUAAAFFFFFFFFQQQQQQQMMMMMVVUUUGGDDDDUUUUUUMUU
|
||||
VVVFFFFFFFFNNNNNNNOOOOOOOOOOEEEEEEEEEEEEUUUUUUUUUUUUUUEEVVVVVVVVVVVVTTTTTKKYNNNNNNSAAAAAAUUUUUUUUAAFFFFFFFFFQQQQQQQSMMMMMRUUUUGGGDUUUUUUUUWW
|
||||
VVVFNNNNNNNNNNNNNNOOOOOOOOOOOEEEEEEEEEEEKUUUUUUUUUUUUUKKVVVVVVVVVVVVVSTTTKYYYNYNNFAAAAAAAUUUUUUUUAAAFFFFFFFFQQQQQQQQMMMMMRRUUUGUUUUUUUUUUUUU
|
||||
IIIINNNNNNNNNNNNNNOOOOONOOOOOEEEEEEEEEEEUUUUUUUUUUUUUUUUVVVVVVVVVVVVVPPTTTTYYYYYYAAAAUUUUUUUUUUUUAAHZFFFFFFFZQQQQQJMMMMMMMUUUUUUUUUUUUUUUUUH
|
||||
IIIFNNNNNNNNNNNNNNOOONNNOOOEEEEEEEEEEEEEGUUUUUOUUUUUUKUUVVVVVVVVVVVVVPPYYYYYYYYYYJAAQUUUUUUUUAAAAAHHHHFFFFFFQQQQQQMMMMMMMMMUUUUUUUUUUUUUUUUU
|
||||
IIIINNNNNNNNNNNNNNZNNNNNNNONEEEEEEEEEEEEGGEEUUOUUUIIIVVVVVVVVVVVVVVVVYYYYYYYYYYYJJCBBUUUUUUUUHHAAAHHHFFFFFFFFFQQQQCMMMMMMMUUUUUUUUUUUUUUUUUU
|
||||
IIIINNNNNNNNNNNNNNNNNNNNNNNNNNEEEEEEEEEGGGEEUOOOIIIIIVVVVVVVVVVTTTTTYYYYYYYYYYYYYJJJBUUUUUUUUHHAHHHHHFFFFFFFFFQQQQCMMMMMMMUUUUUUUUUUUUUUUUUH
|
||||
IIINNNNNNNNNNNNNNNNNNNNNNNNNNNNNEZZEEEEEGGEEEOOOKKIIIVVVVVVVVVVTTDDQYYYYYYYYYYYYYJJJJUUUUUUUUHHHHHHHHFFFFFFFNQQQQQMMMMMMMRMMUUUNUUUUUUUUUUHH
|
||||
IIINNNNNNNNNNNNNNNBNNNNNNNNNNNNNZZZZZEEVGGGEEOOOKKKKKVVVVVSGGGTTTDQQYYYYYYYYYYYYJJJJJUUUUUUUUHHHHHHHVFFFFFFFFQQQQQQMMMMMMMMSUSUUUUUUUUUUUHHH
|
||||
IIINNNNNNNNNNNNNNNNNNNNNNNNNNNNNZMZZEEEEOOEEEOOOOOKKKVVVVVSSSGGGQQQQQYYYYYYYYYYYYAAAAUUUUUUUUUUUUUUHHHFFFFFGGGQQQQQQMMMMMMMSMSUUKKKUUUUUHHHH
|
||||
IIINNNNNNNNNNNNNNNBNNNNNNNNNNNNNZMMZZZOOOSOOOOOOOOKKKVVVVVSSSGSSSQQQQQQYYYYYYYYAAAAAAAAAAAAHUUUUUUUHGGFFFGGGGGGGQQGGMMMMMMMSMMEEEEEUUUUUHHHH
|
||||
IIINNNNNNNNNNBBBBBBNNNWNNNNNNNNNMMMMOOOOOOOOOOOOOOOOKKKKSSSSSGSKQQQQQQQQYYYYYYYYAAAAAAAAAAAFUUUUUUUGGGGFGGGGGGGGQQGGMMMMMMMMMMEEEEEUUUUHHHHH
|
||||
IIINNNIEJENNNBBBBBNNNNNNNNNNNNNMMMMMOOOOOOOOOOOOOOOKKKKSSSSSSSSSSSQQQQRQYYYYYYYYYYAAAAAAAAFUUUUUUUUGGGGGGGGAAAGGGGGMMMMMMMMMMMMEEEEUUHHHHHHH
|
||||
IIINNNYYYYYPBBBBBBBNNFNNNNNNMMMMMMMMOOOOOOOOOOOOOOORRRSSSDRSSSSSSQQQQQQQQYYYYYYYYAAAAAAAAAFUUUUUUUUGGGGGGAAAAHAGGAAMMMMMZZMMMEEEEEEUUHHHHHAA
|
||||
IIINNNYYYYYYYLBBBBNNHHHHNNMMMMMMMMMMMOOOOOOOOOOORRRRRRRRSSRRSSSSHQQQQQQQQYYYYYYYYYYAAAAAAAFUUUUUUUCGGGAAAAAAAAAAGAAMMMMZZZMEEEEEEEEUAAHHAAAA
|
||||
IIIIYYYYYYYLLLBBBBBBHHHHHNNGMMMMMMMMMOOOOOOOOOOORRRRRRRRRRRRZRSRROQQQQQQQYYYYYYYYYAAAAAATTTUUUUUUUCCGAAAAAAAAAAAAAAMMMMMMMEEEEEEEEEEAAAAAAAA
|
||||
IIIIIYYYYQQQLBBBBBBBHHHHHHHHHHMMMMMMMOOOOOOOOOORRRRRRRRRRRRRRRRRROQQQQQQQYYYYHYYYAAAATTTTTTUUUUUUUUCAAAAAAAAAAAAAMMMMMMMMMMEEEEEEEEEAAAAAAAA
|
||||
IIYIIYYYYYQLLLBBCCBHHHHHHHMMHHMMMMMMMOOOOOOORRRRRRRRRRRRRRRRRRRROOOOOOQQQYYYHHHYYAAAAAATTTTTTTUUUUUCCCAAAAAAAAAAAMMMMMMMMVVVEEWWEEEEAAAAAAAA
|
||||
YYYIIYYYYYQYYYCCCBBHHHHHHHHMMMMMMMMMMOOOOOOOOGRLYRRRRRRRRRRRRRRBOOOOOOONNNNYHHHHHAAAATTTTTTTTTUUUUUCCCAAAAAAAAAAAMMMMMMMVVVVVWWWWEEEAGGAAAAA
|
||||
YYYYIYYYYYYYYYYCHIHHHHHHHHHMMMMMMMMMMMOOOOOOOGRRYYRRRRRRRRRRRROOOOOOOOOOHNHHHHHHHHHAAAAATNTTTTUUUUUCCCCCAAAAAAAAAAAMMMMMMMVVWWWWWEWWWWGAAAAA
|
||||
YYYYYYYYYYYYYCCCHHHHHHHHHHMMMMPMMMMAMMMMOOOOOYYYYYRRURRRRRRRQQQOOOOOOOOOHHHKHHHHHHAAAAAATNTTTTUUUUUCCNCCAAAAAAAAAAAMMMMMMMMVWWWWWEWWWWGAAAAA
|
||||
YYYYYYYYYYYYYCCCCHHHHHHHHMMMMMPMMMMAAMMMMOOOSYYYYYYYURRRRRRRQOOOOOOOOOOOOOHHHHHHHHHAAAAANNETTTTTWWWWWNNXAAAAAAAAAAAMMMMMMLWWWWWWWWWWWGGAAAAA
|
||||
GYYYYYYYYYYYYCCCCHHHHHHHPMMMPPPPPMMAHMMMMSSSSSYDYYWWUURZZRVQQOOOOOOOOOOOOOHHHHHHHHHAAAAANNNNCTNTTWWNNNNXAAAAAAAAZZZZMMMZWWWWWWWWWWWWWGAARAAA
|
||||
YYYYYYYYYYYYYYCCCHHHHPPZPPPPPPPPMMAAAAATMASSSYYYWWWWWRRRZVVVQOOOOOOOOOOOOOOOOHHHHHHJNNNNNNNNNENWWWWNNNNXNAAAAAAAAZZZZMMZZWWWWWWWWWWWWGAAAAAA
|
||||
YYYYYYYYYYYYYCCCNHHHPPPPPPPPPPPPMMAAAAATTASSWPYYWWWVWZRZZVVQQOOOOOOOOOOOUOOUUUHHHHHJNNNNNNNNNNNNFWWNNNNNNNNAAAAAAZZZZZZZZWWWWWWWWWWWGGAAAAAA
|
||||
OYYYYYYYYYYCCCCCNNNNNNPPPPPPPPPPMMMAAAAAAAAAWWYWWWWWWZZZPQCCCCCCCCCOOOOOUUUUUUJHJJJJJNNNNNNNNNNZFFFFNNNNNNZAAAAAZZZZZZZWWWWWNNDWDGGGGGAAAAAA
|
||||
OYYYYYYYYYXNNNNNNNNNSSPPPPPPPPPPMJAAAAAAAAAAWWWWWWWWZZZPPQCCCCCCCCCOOOOBBUUUUUJJJJJJJNNNNNNNNNZZZZZZZNNNNNZZAAZZZZZZDDDDDWDDDDDDDGGGGGGAAAAA
|
||||
OYYYYYXXXXXOONNNNNNNSSSSPHPPPPPJPJJJAAAAAAAAWWWWWWWWZZZPPPCCCCCCCCCOOOBBUUUUUUJJJJJJJNNNNNNNNNNZZZZZZNNNZZZZAZZZZZZZZDDDDDDDDDDDDGGGGGAAAOOA
|
||||
OOYYYIXXXMXOXXXNNNNNSSSSSPPPPPJJJJJJAAAAAAAAWWWWWWWWZZZPPPCCCCCCCCCOOOOBUUUUUUJJJJJJNNNNNNNNNNNZZZZZZZNNZZZZZZZZZZZZZDDDDDDDDDDDDDDGGFHHAOOO
|
||||
OYYOOXXXXMXXXXNNNNNNNSSSSPPPJJJJJJJJAAAAAAAAWWWWWWWWWZZPPPCCCCCCCCCKKOBBKUUUUUJJJJJJNNNNNNNNNZZZZZZZZZZZZZZZTZZZZZZZZDDDDDDDDDDDDDGGFFHHAOFF
|
||||
OOOOOXXXXXXXXXXNNNNNNSSSSSSPPJJJJJJJJAAAAIIWWWWWWZZZZZZPPPCCCCCCCCCKPBBKKKUUUJJJIINNNNNNNNNNNNZZZZZZZZZZZZZZTZZZUUUUUDDDDDDDDDDDDDFGFFHHFFFF
|
||||
OOOOXXXXXXXXXXNNNNNNNSSSSSSPJJJJJJJJJAAAVDWWDWWWWWZZZZZPPPCCCCCCCCCPPKKKKKUUJJJJIIJNNZZZNNNNNNZZZZZZZZZTTTZTTTTUUUUUUWDDDDDDDDDDDKFFFFFHFFFF
|
||||
XXXXXXXXXXXXNNNNNNNHDHHHHSSPJJJJJJJJJJADDDDDDWWWWWWZZZZPPPPPPPPPPPPPXKKKKKUJJHHHHIIINZZNNNNNNZZZZZZZZZZTTTTJTTTTUUSUWWDDDDDDDDDDDFFFFFFFFFFF
|
||||
XXXXXXXXXXXXNNNNNNNHHHHHHHHHJJJJJJJJJJDDDDDDDWWWWWLZZZZZZPPPPPPPPPPPPKAKKKUUUHHIIIIINNZZZNNNNZZZZZZZZZZZBTTTTTTTUUUWWWWDDDDDDDDDDIFFFFFFFFFF
|
||||
XXXXXXXXXXXXKKKNNNNHHHHHHHHHJJJJJJJJJDDDDDDDDDDLLLLZZZPPPPPPPPPPPPPPPPAAAKUUEHHIIIIIIIZZZZNNNNSZZZZZZZZZZTTTTTTTUUUWWWWWDDDDDDDDDFFFFFFFFFFF
|
||||
XXXXXXXXXXXKKKNNNNNHHHHHHHHHHHJJJJJJDDDDDDDDDDDLLOOZZZZZZPPPPPPPPPPPUPAAAEUDEEEEMMMIIIIZZZNNNSSZZZZZZZZZZTTTTTTTTTWWWWOWDDDDDDIDFFFFIFFFFFFF
|
||||
XXXXXXXXXXKKKNNNNNNNHHHHHHHHHHZJJJJJJTDDDDDDDDDLOOOOOPPPPPPPXXXXGXXXUUEEEEDDEEEEMMMMMMIMZZZZZZZZZZZZZZZZLLTTTTTTTTWWWOODDDDDDDIIIIIFFFFFFFFF
|
||||
XXXXXXXXXXKKKNNNNNNNHHHHHHHHHHHHHHLLLLLLLLLLDDDDOOOOOOOPPPPPXXXXXXXEUUUEEEEEEEEEMMMMMMMMMZZZZZZZZZZZZZLLLTTTTOOTTWWOOOOKKDDDDDIIIIIFFFFFFFFF
|
||||
XXXXXXXXXKKKKKNOOHHHHHHHHHHHHHHHRRLLLLLLLLLLDDDDOOOOOOPPPXXXXXXXXXXEEUUEEEEEEEEMMMMMMMMMGMZZZZZZZZZZZZZLLLTTTOOOOOOOOOOOKQQQQIIIIIIFFFFFFFFF
|
||||
XXXXXXXXXXKPKKKOOHHHHHHHHHHHHEHRRRLLLLLLLLLLBSDDOOOOOOOPPIXXXXXXXXEEEEEEEEEEEEEEEMMMMMMMMMMMZZZZZZZZZZZLLLTETOOOOOOOOOOQQQQQIIIIIIIIFFFFFFFF
|
||||
XXXXXXWXXXKPPPKOPYHHHHHHHHHHHHRRHRLLLLLLLLLLBSQDOOOOWPPPXIXXXXXXXXXEEEEEEEEEEEEEMMMMMMMMMMMMZZZZZZZZZZZZLLOOOOOXOOOQQQQQQQQQQQQSSSSSSFFFFFFF
|
||||
SSSSSSXXSSKPPPPPPYHHHHHHHHHHHHHHHHLLLLLLLLLLSSQOOOOOOPPPXXXXXXXXXXXXEEEEEEEEEEEMMMMMMMMMMMMMZZZZZZZZZZZLLLLOOOOXOXOOQQQQQQQQQQQSSSSSSFFZFZZZ
|
||||
SSSSSSSSSSKKPPPPPPYHHYYHHHHHHHHXHHHHTHHTDDSSSSOOOOOOOOPPXKKKKKKKKXXXXEEEEEEEEEEMMMMMMMMMMZZZZZZZZZZZIZZLLLLXXXXXXXQQQQQQQQQQGGGGSSSSSZZZZZZZ
|
||||
SSSSSSSSPPPPPPPPPYYHHYHHYYYHHOHHHHHHHHHSSSSSSSSSOOTTONYVXKKKKKKKKXXXEEEEEEEEEEEMMMMMMMMMMMMZZZZZZZZZZZLLLLLLXXXXXXQQQQQQQQQQQGGSSSZSZZZZZZZZ
|
||||
SSSSSSSSSBPPPPPPYYYYYYHYYYYHHHHHHHHHHHHSSSSSSSSSUTTOONYYYKKKKKKKKXXEEEEEEEEEEMMMMMMMMMMMMMMMZZZZZZZZZZLXXXXXXXXXXQQQQQQQQQQQSSSSZZZZZZZZZZZZ
|
||||
SSSSSSSSSSBPPPPPYYYFYYYYYYYYYOOHHHHHHHHHHSSSSSSUUUUUYYYYYKKKKKKKKXXAAEEEEEEEEEEMMMMMMMMMMMMZZZZZZZZZZZXXXXXXXXXXXQQQQQQQQQQNNNSSZZZZZZZZZZZZ
|
||||
SSQQSSSSSSPPPPPPFYFFFYYYYYOYOOOHHHHHHHHHSSSSSSSLUUUUYYYYYKKKKKKKKXXAAEAPEEEEEEEMMMMMMMMMMMZZZZZZZZPZZXXXXXXXXXXXXXQQQQQQTZZZZZZOZZZZZZZZZZZZ
|
||||
SSQQQQQQSSQQQPFFFFFFYYYYYYOOOOOHHHHHHHHHSSSSSSUUUUYYYYYYYKKKKKKKKAXAAAAAESEEEEMMMMMMMMMMMMMMZZZZZPPPXXXXXXXXXXXXXXQQQTTTTZZZZZZZZZZZZZZZZZZZ
|
||||
SSQQQQQQQQQQQZZFFFFYYYYYYYOOOOOOHHHHHHHHSSSSSUUUUUUYYYYYYKKKKKKKKAAAAAAAEEEEEEEMMMDMMZMMDSSSWZWWPPWWBXXXXXXXXXXXXQQQQTTTTTZZZTTZZZZZZLZZZZZZ
|
||||
SSQQQQQQQQQQQQZIFFFFYYYYYOOOOOOOHHHHHOSSSSSSSSSUUUZZYYYYYKKKKKKKKAAAAAAEEEEEEEEDMDDDDDDDDSWWWWWWWWWWWXXXXXXXXXXXXXQQQTTTTTTZTTTTZZZLLLZZZZZZ
|
||||
QSQQQQQQQQQQQQZFFFFFYYYYYYOOOOOOOOHHHOOSSSSSSSUUUZKKKKKKKKKKKKKKKKAAAAAAACEDDEEDDDDDDDDDDDWWWXWWWWWWWXXXXXXXXXXXXXQQQTTTTTTTTTTZZZZZLZZZZZZZ
|
||||
QQQQQQQQQQQQQQZZFFFFYYYYYYYOOOOOOOHOOOOOOOSSSSWWUZKKKKKKKKKKKKKKKKAAAAAAAAADDDDDDDDDDDDNNDNWWWWWWWWWWWWXXXXXXXXXXXQQQTTTTTTTTZZZZZZZZZZZZZZZ
|
||||
QQQQQQQQQQQQQFZZFFFFYYYYYYYOOOOOOHHHOOOOOOOOYSWWUZKKKKKKKKKKKKKKKKQQQAAAAAADDDDDDDDDDDDNNNNWWWWWWWWWWWWXXXXXTXXXXQQQQTTTTTTTTTZZZZZZZZZZZZZZ
|
||||
QQQQQQQQQQQQQQFFFFFFFYYYYYYOOOOOOOOOOOOOOOOOYWWWWWKKKKKKKKKKKKKKKKQNNDNAAAADDDDDDDDDDDNNWWWWWWWWWWWWWWWWWWTTTTXXXXTTQZZTTTTTTTZZZZZZZZZZZZZZ
|
||||
QQQQQQQQQQFQFFFFFFFFFYYYYYYOOOOOOOOOOOOOOOOOOWWWWWZZZZYOOKKKKKKKKQNNNNNQAAADDDDDDDDDDDDYYWWWWWWWWWWWWWWWWTTYYXXXXTTTTTTTTTTTTTTTTZZZZZZZZZZZ
|
||||
QQQQQQQQQFFFFFFFFFFFFYYYYYYOOOOOOOOOOOOOOOOWWWWWWWWWWWIOOKKKKKKKKQNNFNNQQQDDDDDDDDDDDDDYYWWWWWWWWWWWWWWWWTTYYYYXTTTTTTTTTTTTTTTTTZZZZZZZZZZZ
|
||||
QQQQQQQQQFFFFFFFFFFFFYYYYYYOOOOOOOOOOOOOOOOOOWWWWWWWWWIOOKKKKKKKKQQNNNNQQQDDDDDDDDDDDDDYYYYOWWWWWWWWWWMWTTTYYYYYTTTTTTTTTTTTTTTTTZZZZZZZZZZZ
|
||||
QQQQQQQQQFFFFFFFFFFFFYYYYYYOOOOOOOOOOOOOOOOOWWWWWWDWIIIIOKKKKKKKKQQQNQQQQDDDDDDEDDDDDDDYYYYOWWWWWWWWWWMWWTTTTTTTTTTTTTTTTTTTTTTTTZZZZZZZZZZZ
|
||||
500
dat/24/re/14.txt
Normal file
500
dat/24/re/14.txt
Normal file
@@ -0,0 +1,500 @@
|
||||
p=40,73 v=-96,64
|
||||
p=74,78 v=91,-65
|
||||
p=100,86 v=98,62
|
||||
p=61,29 v=95,-68
|
||||
p=50,53 v=-50,-63
|
||||
p=43,77 v=-42,-37
|
||||
p=47,44 v=34,66
|
||||
p=11,21 v=72,66
|
||||
p=9,61 v=-26,77
|
||||
p=46,100 v=-10,-82
|
||||
p=64,15 v=-5,-44
|
||||
p=50,97 v=-56,37
|
||||
p=37,35 v=-95,80
|
||||
p=33,8 v=60,39
|
||||
p=56,81 v=38,7
|
||||
p=60,22 v=-11,69
|
||||
p=47,36 v=-55,33
|
||||
p=29,51 v=-39,-69
|
||||
p=93,89 v=-96,-14
|
||||
p=67,51 v=-80,-78
|
||||
p=68,102 v=-46,46
|
||||
p=66,51 v=-9,40
|
||||
p=95,28 v=73,-1
|
||||
p=41,86 v=-97,81
|
||||
p=15,54 v=16,-33
|
||||
p=68,47 v=-7,-20
|
||||
p=75,34 v=40,23
|
||||
p=4,38 v=27,73
|
||||
p=14,78 v=-82,-49
|
||||
p=23,68 v=63,87
|
||||
p=82,69 v=83,24
|
||||
p=4,38 v=62,14
|
||||
p=60,65 v=46,71
|
||||
p=12,14 v=13,-31
|
||||
p=14,17 v=20,-67
|
||||
p=65,64 v=-4,-42
|
||||
p=2,19 v=-68,89
|
||||
p=4,12 v=-22,-81
|
||||
p=17,95 v=20,-20
|
||||
p=68,49 v=37,91
|
||||
p=37,1 v=-92,-68
|
||||
p=25,81 v=16,81
|
||||
p=96,60 v=-75,57
|
||||
p=57,37 v=-1,3
|
||||
p=21,65 v=49,71
|
||||
p=38,58 v=-93,-16
|
||||
p=98,52 v=77,-70
|
||||
p=66,85 v=91,54
|
||||
p=16,57 v=-79,80
|
||||
p=6,87 v=-27,-2
|
||||
p=27,60 v=56,34
|
||||
p=66,55 v=-52,-63
|
||||
p=57,59 v=31,39
|
||||
p=75,74 v=-10,34
|
||||
p=31,83 v=-32,-49
|
||||
p=95,34 v=-19,-7
|
||||
p=81,68 v=-63,-99
|
||||
p=43,68 v=63,14
|
||||
p=43,78 v=84,-90
|
||||
p=78,60 v=38,-86
|
||||
p=77,58 v=37,-23
|
||||
p=44,83 v=12,-39
|
||||
p=50,61 v=-99,-3
|
||||
p=91,51 v=24,73
|
||||
p=0,23 v=-67,19
|
||||
p=52,6 v=-50,42
|
||||
p=79,29 v=-66,96
|
||||
p=66,82 v=46,41
|
||||
p=21,27 v=-85,-34
|
||||
p=33,60 v=-95,7
|
||||
p=60,53 v=-58,30
|
||||
p=58,91 v=-34,-28
|
||||
p=49,16 v=1,-84
|
||||
p=7,2 v=-68,46
|
||||
p=99,97 v=75,-55
|
||||
p=95,39 v=37,46
|
||||
p=17,37 v=-55,59
|
||||
p=90,7 v=-19,85
|
||||
p=4,95 v=-88,23
|
||||
p=66,26 v=-6,-4
|
||||
p=33,19 v=-39,-4
|
||||
p=59,60 v=46,-13
|
||||
p=31,67 v=13,80
|
||||
p=70,102 v=-9,-18
|
||||
p=95,32 v=-72,-87
|
||||
p=73,40 v=-11,93
|
||||
p=8,17 v=-80,-34
|
||||
p=47,79 v=-48,51
|
||||
p=74,59 v=-73,79
|
||||
p=50,5 v=-51,72
|
||||
p=44,25 v=-89,86
|
||||
p=0,89 v=-67,-25
|
||||
p=12,81 v=43,59
|
||||
p=49,7 v=3,2
|
||||
p=25,99 v=-39,25
|
||||
p=42,91 v=-88,-48
|
||||
p=6,28 v=83,44
|
||||
p=53,57 v=-52,-23
|
||||
p=45,30 v=53,53
|
||||
p=98,4 v=26,65
|
||||
p=69,1 v=82,-48
|
||||
p=50,8 v=-99,-98
|
||||
p=2,11 v=86,-33
|
||||
p=58,29 v=-10,23
|
||||
p=25,97 v=72,42
|
||||
p=67,96 v=95,85
|
||||
p=61,97 v=97,38
|
||||
p=33,25 v=83,-50
|
||||
p=45,1 v=-45,95
|
||||
p=67,98 v=42,-78
|
||||
p=30,28 v=7,-45
|
||||
p=74,48 v=98,-30
|
||||
p=12,6 v=74,75
|
||||
p=53,5 v=48,-93
|
||||
p=13,97 v=78,-45
|
||||
p=96,10 v=-72,-41
|
||||
p=23,13 v=14,-21
|
||||
p=1,46 v=-24,10
|
||||
p=40,39 v=96,40
|
||||
p=14,98 v=21,55
|
||||
p=22,102 v=-99,-39
|
||||
p=78,98 v=-63,-48
|
||||
p=65,88 v=62,-74
|
||||
p=89,29 v=-64,89
|
||||
p=41,74 v=89,67
|
||||
p=81,51 v=90,69
|
||||
p=7,96 v=-27,35
|
||||
p=83,3 v=-64,-21
|
||||
p=72,52 v=94,-83
|
||||
p=43,54 v=-15,-31
|
||||
p=10,92 v=-27,48
|
||||
p=30,0 v=-87,28
|
||||
p=15,18 v=-9,63
|
||||
p=11,65 v=-30,84
|
||||
p=13,27 v=62,-47
|
||||
p=63,63 v=53,-9
|
||||
p=67,80 v=-14,15
|
||||
p=15,9 v=-98,64
|
||||
p=58,24 v=96,-34
|
||||
p=37,21 v=6,9
|
||||
p=57,56 v=50,84
|
||||
p=75,9 v=35,84
|
||||
p=48,1 v=-60,58
|
||||
p=70,51 v=47,34
|
||||
p=5,69 v=76,-9
|
||||
p=63,4 v=50,79
|
||||
p=25,17 v=-36,3
|
||||
p=87,42 v=16,2
|
||||
p=69,27 v=42,66
|
||||
p=8,42 v=70,-30
|
||||
p=0,52 v=87,2
|
||||
p=3,3 v=-23,75
|
||||
p=45,27 v=47,-77
|
||||
p=23,100 v=-13,-99
|
||||
p=69,19 v=-7,-4
|
||||
p=38,70 v=6,-89
|
||||
p=4,22 v=-28,49
|
||||
p=86,91 v=89,-2
|
||||
p=90,100 v=-32,56
|
||||
p=2,38 v=-81,99
|
||||
p=44,32 v=-96,-40
|
||||
p=96,77 v=51,-22
|
||||
p=5,71 v=93,-89
|
||||
p=90,89 v=24,30
|
||||
p=27,65 v=-89,-29
|
||||
p=33,56 v=10,67
|
||||
p=34,71 v=18,-47
|
||||
p=66,68 v=44,11
|
||||
p=55,37 v=-91,15
|
||||
p=73,6 v=-14,-91
|
||||
p=45,97 v=-54,-21
|
||||
p=34,88 v=34,-27
|
||||
p=65,14 v=67,-2
|
||||
p=40,5 v=-85,-14
|
||||
p=8,95 v=15,91
|
||||
p=5,35 v=-29,-57
|
||||
p=71,83 v=-11,34
|
||||
p=79,40 v=-6,-26
|
||||
p=62,78 v=-3,51
|
||||
p=12,15 v=-16,-25
|
||||
p=64,12 v=77,-99
|
||||
p=33,91 v=68,-45
|
||||
p=86,77 v=-24,-6
|
||||
p=55,27 v=83,-91
|
||||
p=85,63 v=38,40
|
||||
p=4,4 v=-74,-22
|
||||
p=50,19 v=-89,20
|
||||
p=45,20 v=-98,29
|
||||
p=11,50 v=19,-23
|
||||
p=43,82 v=5,-82
|
||||
p=72,14 v=40,65
|
||||
p=68,35 v=47,-7
|
||||
p=7,91 v=-78,45
|
||||
p=28,32 v=-87,41
|
||||
p=47,48 v=-51,4
|
||||
p=12,45 v=71,30
|
||||
p=12,76 v=83,-3
|
||||
p=74,21 v=-11,-27
|
||||
p=43,32 v=59,16
|
||||
p=21,12 v=-39,32
|
||||
p=76,88 v=92,68
|
||||
p=42,56 v=-44,-30
|
||||
p=27,76 v=65,-9
|
||||
p=61,2 v=-57,95
|
||||
p=42,77 v=-90,88
|
||||
p=27,74 v=-39,51
|
||||
p=55,36 v=-59,50
|
||||
p=3,9 v=82,-37
|
||||
p=64,78 v=-57,-62
|
||||
p=71,83 v=-51,94
|
||||
p=91,63 v=8,-29
|
||||
p=43,68 v=-46,25
|
||||
p=88,38 v=87,-96
|
||||
p=31,65 v=-35,-74
|
||||
p=13,86 v=-30,-95
|
||||
p=7,43 v=-31,-20
|
||||
p=65,89 v=-60,81
|
||||
p=10,55 v=69,48
|
||||
p=66,85 v=-34,14
|
||||
p=64,95 v=-99,62
|
||||
p=53,46 v=39,2
|
||||
p=79,3 v=-61,55
|
||||
p=56,50 v=-82,-21
|
||||
p=31,76 v=73,-92
|
||||
p=13,102 v=-34,-88
|
||||
p=31,100 v=-43,-98
|
||||
p=17,4 v=-82,-24
|
||||
p=45,53 v=55,-33
|
||||
p=61,24 v=8,-95
|
||||
p=75,96 v=-12,-78
|
||||
p=64,7 v=-55,-1
|
||||
p=82,27 v=-66,36
|
||||
p=50,63 v=-99,47
|
||||
p=38,63 v=44,-64
|
||||
p=62,27 v=3,-4
|
||||
p=78,40 v=67,20
|
||||
p=7,24 v=84,-67
|
||||
p=5,25 v=-28,-97
|
||||
p=33,101 v=-40,-45
|
||||
p=38,9 v=-94,-94
|
||||
p=76,13 v=-55,55
|
||||
p=48,47 v=21,-61
|
||||
p=95,6 v=-65,99
|
||||
p=12,51 v=69,-53
|
||||
p=88,4 v=82,-71
|
||||
p=41,76 v=-37,-12
|
||||
p=51,45 v=-11,4
|
||||
p=66,77 v=96,25
|
||||
p=92,100 v=33,5
|
||||
p=96,64 v=-29,78
|
||||
p=57,54 v=-60,-20
|
||||
p=22,33 v=71,49
|
||||
p=12,35 v=-27,-57
|
||||
p=88,17 v=97,-1
|
||||
p=38,61 v=61,20
|
||||
p=14,39 v=17,45
|
||||
p=73,70 v=68,4
|
||||
p=57,41 v=-45,-77
|
||||
p=73,35 v=-68,66
|
||||
p=95,70 v=-72,54
|
||||
p=51,44 v=-57,-73
|
||||
p=47,2 v=46,-68
|
||||
p=55,65 v=-59,-82
|
||||
p=71,15 v=-78,67
|
||||
p=5,96 v=72,-88
|
||||
p=10,30 v=73,-17
|
||||
p=89,84 v=-66,-82
|
||||
p=21,4 v=-36,-18
|
||||
p=15,44 v=67,43
|
||||
p=67,48 v=44,50
|
||||
p=70,16 v=7,-21
|
||||
p=62,5 v=-74,49
|
||||
p=60,52 v=96,90
|
||||
p=81,80 v=-57,-42
|
||||
p=2,86 v=-25,-98
|
||||
p=48,31 v=49,-97
|
||||
p=25,69 v=17,24
|
||||
p=68,7 v=-52,-5
|
||||
p=20,1 v=-30,-54
|
||||
p=95,25 v=55,68
|
||||
p=76,101 v=-8,98
|
||||
p=35,5 v=12,-28
|
||||
p=80,90 v=37,-91
|
||||
p=8,51 v=25,-53
|
||||
p=71,58 v=-51,-33
|
||||
p=36,19 v=-46,-80
|
||||
p=80,8 v=37,-38
|
||||
p=26,96 v=-80,14
|
||||
p=19,56 v=-34,-33
|
||||
p=58,93 v=12,66
|
||||
p=23,65 v=-28,70
|
||||
p=5,89 v=-77,-98
|
||||
p=99,67 v=-66,-29
|
||||
p=33,94 v=-94,52
|
||||
p=71,10 v=-7,-21
|
||||
p=67,38 v=45,30
|
||||
p=30,27 v=-92,-86
|
||||
p=40,55 v=-99,40
|
||||
p=25,78 v=-46,9
|
||||
p=98,0 v=-14,29
|
||||
p=21,51 v=70,60
|
||||
p=64,56 v=46,50
|
||||
p=83,80 v=20,-87
|
||||
p=32,60 v=-89,-86
|
||||
p=52,61 v=-52,-46
|
||||
p=49,20 v=-98,99
|
||||
p=19,61 v=19,17
|
||||
p=9,99 v=71,12
|
||||
p=9,63 v=-80,24
|
||||
p=16,0 v=18,-38
|
||||
p=7,18 v=24,-5
|
||||
p=89,46 v=-89,-11
|
||||
p=31,64 v=-86,-51
|
||||
p=60,13 v=54,-37
|
||||
p=83,46 v=-70,-16
|
||||
p=4,3 v=-25,-18
|
||||
p=45,67 v=79,56
|
||||
p=68,61 v=-15,-13
|
||||
p=13,64 v=-23,-56
|
||||
p=81,78 v=-92,-18
|
||||
p=1,71 v=-17,-49
|
||||
p=9,95 v=-64,28
|
||||
p=69,21 v=44,69
|
||||
p=25,74 v=-86,94
|
||||
p=71,1 v=34,2
|
||||
p=58,37 v=-10,-4
|
||||
p=32,81 v=-46,25
|
||||
p=21,87 v=-2,-92
|
||||
p=78,70 v=35,-96
|
||||
p=86,70 v=32,84
|
||||
p=42,68 v=72,-68
|
||||
p=76,69 v=36,-99
|
||||
p=72,79 v=69,-6
|
||||
p=92,22 v=-72,99
|
||||
p=74,9 v=-12,-94
|
||||
p=52,33 v=-43,45
|
||||
p=34,79 v=-41,-59
|
||||
p=26,56 v=10,50
|
||||
p=59,46 v=-22,23
|
||||
p=9,49 v=68,-59
|
||||
p=78,11 v=62,40
|
||||
p=88,25 v=43,34
|
||||
p=61,64 v=-53,27
|
||||
p=17,13 v=-32,-81
|
||||
p=100,45 v=26,70
|
||||
p=30,52 v=13,20
|
||||
p=9,93 v=-81,18
|
||||
p=68,3 v=93,15
|
||||
p=77,56 v=93,60
|
||||
p=48,5 v=-42,-77
|
||||
p=30,55 v=-87,-33
|
||||
p=42,87 v=6,78
|
||||
p=7,3 v=51,-8
|
||||
p=69,79 v=-61,30
|
||||
p=51,45 v=-49,35
|
||||
p=20,85 v=11,65
|
||||
p=25,58 v=17,-66
|
||||
p=45,2 v=-39,-5
|
||||
p=88,38 v=69,-98
|
||||
p=10,2 v=-81,32
|
||||
p=26,31 v=44,-25
|
||||
p=29,15 v=-67,52
|
||||
p=59,73 v=-54,21
|
||||
p=99,43 v=32,-48
|
||||
p=99,36 v=-71,13
|
||||
p=54,35 v=52,63
|
||||
p=44,77 v=-3,54
|
||||
p=32,82 v=-65,-50
|
||||
p=40,1 v=-46,85
|
||||
p=12,71 v=20,-69
|
||||
p=90,78 v=78,87
|
||||
p=18,52 v=62,-70
|
||||
p=40,23 v=30,63
|
||||
p=76,27 v=-75,76
|
||||
p=88,62 v=91,97
|
||||
p=31,88 v=64,-8
|
||||
p=95,33 v=96,-26
|
||||
p=21,63 v=16,-46
|
||||
p=35,15 v=6,-54
|
||||
p=73,22 v=-10,46
|
||||
p=43,11 v=63,95
|
||||
p=99,18 v=-66,-67
|
||||
p=0,71 v=74,44
|
||||
p=72,66 v=-8,14
|
||||
p=100,30 v=30,-7
|
||||
p=57,17 v=-41,73
|
||||
p=5,3 v=80,58
|
||||
p=77,100 v=84,78
|
||||
p=61,78 v=99,8
|
||||
p=59,51 v=45,-53
|
||||
p=85,6 v=78,-17
|
||||
p=49,56 v=-99,34
|
||||
p=25,7 v=64,2
|
||||
p=81,1 v=44,-1
|
||||
p=19,50 v=-80,13
|
||||
p=1,67 v=75,91
|
||||
p=22,63 v=65,64
|
||||
p=25,73 v=75,60
|
||||
p=73,64 v=-11,84
|
||||
p=27,13 v=14,49
|
||||
p=4,27 v=-77,3
|
||||
p=52,41 v=-7,30
|
||||
p=34,83 v=-84,35
|
||||
p=15,62 v=-81,87
|
||||
p=49,101 v=13,77
|
||||
p=60,52 v=98,-56
|
||||
p=95,61 v=-22,-96
|
||||
p=37,79 v=11,-98
|
||||
p=82,48 v=20,70
|
||||
p=28,57 v=63,70
|
||||
p=28,48 v=-43,4
|
||||
p=41,60 v=58,-89
|
||||
p=94,12 v=-27,-58
|
||||
p=22,66 v=-33,14
|
||||
p=14,47 v=19,86
|
||||
p=100,58 v=-70,-13
|
||||
p=1,17 v=1,76
|
||||
p=11,33 v=-54,93
|
||||
p=10,46 v=67,76
|
||||
p=69,11 v=50,-87
|
||||
p=37,12 v=-96,32
|
||||
p=1,23 v=69,33
|
||||
p=31,22 v=54,-44
|
||||
p=60,5 v=95,89
|
||||
p=6,84 v=25,-59
|
||||
p=2,22 v=76,89
|
||||
p=63,14 v=71,25
|
||||
p=54,33 v=-42,55
|
||||
p=89,34 v=-76,-50
|
||||
p=35,88 v=41,-34
|
||||
p=84,63 v=-12,67
|
||||
p=25,27 v=13,-70
|
||||
p=47,60 v=-95,17
|
||||
p=70,27 v=-5,24
|
||||
p=88,97 v=84,28
|
||||
p=47,52 v=50,-12
|
||||
p=24,99 v=66,-71
|
||||
p=35,67 v=7,64
|
||||
p=41,31 v=7,-79
|
||||
p=60,73 v=47,-82
|
||||
p=83,37 v=54,12
|
||||
p=14,45 v=19,-10
|
||||
p=81,80 v=12,-53
|
||||
p=92,51 v=38,-55
|
||||
p=14,26 v=-75,82
|
||||
p=89,38 v=-33,34
|
||||
p=34,74 v=56,47
|
||||
p=9,31 v=-35,-63
|
||||
p=62,98 v=-74,-62
|
||||
p=14,54 v=-68,29
|
||||
p=70,41 v=66,-55
|
||||
p=51,52 v=-57,34
|
||||
p=0,35 v=61,-49
|
||||
p=99,54 v=76,-26
|
||||
p=75,3 v=-82,-26
|
||||
p=43,95 v=7,28
|
||||
p=1,51 v=27,-66
|
||||
p=18,15 v=25,92
|
||||
p=5,53 v=78,-53
|
||||
p=58,95 v=49,-18
|
||||
p=34,49 v=-39,90
|
||||
p=19,75 v=60,91
|
||||
p=61,43 v=39,3
|
||||
p=74,51 v=-13,23
|
||||
p=32,26 v=3,66
|
||||
p=30,6 v=-33,99
|
||||
p=66,86 v=61,1
|
||||
p=25,87 v=45,-81
|
||||
p=22,76 v=-86,71
|
||||
p=90,12 v=32,99
|
||||
p=74,98 v=93,25
|
||||
p=16,94 v=68,58
|
||||
p=12,64 v=-4,-96
|
||||
p=87,8 v=-75,-4
|
||||
p=28,33 v=-81,40
|
||||
p=6,34 v=74,-44
|
||||
p=65,85 v=-56,41
|
||||
p=71,67 v=46,80
|
||||
p=73,85 v=-9,-12
|
||||
p=11,64 v=64,50
|
||||
p=73,46 v=48,-23
|
||||
p=62,22 v=4,31
|
||||
p=10,22 v=21,92
|
||||
p=73,67 v=-1,95
|
||||
p=97,2 v=30,-58
|
||||
p=96,42 v=-29,80
|
||||
p=26,53 v=63,20
|
||||
p=30,7 v=61,-11
|
||||
p=4,90 v=-77,-48
|
||||
p=23,55 v=58,14
|
||||
p=42,68 v=58,77
|
||||
p=65,68 v=60,-28
|
||||
p=77,87 v=-15,71
|
||||
p=40,14 v=-41,-21
|
||||
p=78,42 v=-20,-20
|
||||
p=29,95 v=71,76
|
||||
p=38,62 v=-40,67
|
||||
p=98,86 v=-25,38
|
||||
p=3,37 v=27,63
|
||||
p=41,70 v=39,21
|
||||
141
dat/24/re/16.txt
Normal file
141
dat/24/re/16.txt
Normal file
@@ -0,0 +1,141 @@
|
||||
#############################################################################################################################################
|
||||
#.................#.....#.....#.............#...#.......#.....#.......#.#.........#...........#...#...............#........................E#
|
||||
###########.#######.#.#.#.###.#.###########.#.#.#.###.###.#.#.#.#.#.#.#.#.#####.#.###.#######.#.#.###.#########.#.###.###########.#.#####.#.#
|
||||
#.........#.#.......#...#.#...#...#...#...#.#.#.....#.#...#.#.#...#.#...#.#.#...#...#.#...#.....#...#.......#.........#.....#...#.#...#.#...#
|
||||
#.#######.#.#.#########.#.#.#####.#.#.###.#.#.#######.#.###.###.#.#.###.#.#.#.#####.#.#.#.#########.#.#####.#.#.#########.#.###.#.###.#.###.#
|
||||
#.......#.#.#.......#.#.#.#.#...#...#.........................#.#...#.#.#...#.#...#...#.#.....#...#.#.....#.#...#.........#.....#.#...#.#...#
|
||||
#.#####.#.#.#######.#.#.#.#.#.#.#######.#.#######.#.#.#######.#.#.###.#.###.#.#.#.#####.#.###.#.###.#####.#.#.#.#.#####.#####.###.#.#.#.#.#.#
|
||||
#.#.....#.........#...#...#...#.#.......................#.............................#.#.#...#.....#.....#.......................#.....#.#.#
|
||||
#.#.#######.###.#####.#.#######.#.#############.###.#####.#.#.#.#.#.#.###.###.#.#####.#.#.#.###.#########.#.###.#########.###.#.#.#####.#.###
|
||||
#.#.#.......#.........#...#.....#...#...........#.#.#...#.#.....................#...#.....#.#.#.....#...#.#.....#.......#...#...#.#.#...#...#
|
||||
#.#.#########.#.#######.#.#.#######.#.#######.#.#.#.#.#.#.#####.#.#######.#.###.#.#######.#.#.#####.#.#.###.###.#.#####.###.#.###.#.#.#####.#
|
||||
#.#.......#...#...........#.....#...#.#...#...#...#...#.#.......#.........#.....#.#.....#...#.....#...#.........#.#...#.#...#.....#.....#...#
|
||||
#.#######.#.###.###.#.#.#.#####.#####.#.#.#.#.#########.###.#####.#############.#.#.###.#.###.#####.###########.#.#.#.#.#####.#.###.#####.#.#
|
||||
#...#.....#.#.............#...#...........#.#.........#...#.#.......#...#.....#...#.#.#...#.#.......#.......#...#...#.#.......#.#...#.....#.#
|
||||
#####.#####.#.#.#.###.#.#.###.#############.#########.###.#.#.###.#.#.#.#.###.#####.#.###.#.#.###.###.#####.#.#.#####.#######.#.#####.#####.#
|
||||
#...#.....#.#.#.#.#...#.#...#...#...#...#...#.....#...#...#.#.#.#...#.#.#...#...#...#.#.........#.....#...#.....#.....#.....#.#.......#...#.#
|
||||
#.#.#####.#.###.#.#.###.###.#.###.#.#.#.#.###.###.#.###.###.#.#.#.###.#####.###.#.###.#.#########.#####.#.#.###.#.#########.#.#####.###.#.#.#
|
||||
#.#.......#.....#...#...#.....#...#...#.....#...#.#...#.#...#.#...#...#.....#.#...#...#.#.#.....#...#...#.#...#.#.#.......#.#...#...#...#.#.#
|
||||
#.#######.#######.###.###.#####.#####.#####.#.#.#####.#.#.###.#.###.###.#####.#####.#.#.#.#.###.#.#.#.###.#.#.#.#.#.#####.#.###.#####.###.###
|
||||
#...#...#.#.........#.....#.#...#.....#...#...#.....#...#.....#.......#.#.......#...#.#...#...#.#.#...#...#.#.#.#...#.#.......#.#...#.#.#...#
|
||||
#.#.#.#.#.#.###.###.#.#####.#.#####.###.#.#########.###########.#####.#.#.#####.#.###.#.###.#.#.#.#####.###.#.#######.#.#######.#.#.#.#.###.#
|
||||
#.#.#.#...#...#.#.#.#...#...#.#...#...#.#.#.......#...........#...#...#.#.....#...#...#.#...#...#.......#...#.......#...#.....#...#.#.....#.#
|
||||
#.#.#.#######.#.#.#.###.#.###.#.#.#####.#.#.#####.#########.#####.#.#.#.###.#.#.#######.#.###.#.#######.#.#.###.#####.###.###.#####.#####.#.#
|
||||
#.#.#.....#...#.#...#.#.#...#...#...#...#...#...#.....#...#.....#...#.#...#.#.#.#.......#.....#.#...#...#.#...#.#.....#.#...#.........#...#.#
|
||||
#.#.#####.###.#.#.###.#.###.#######.#.#####.###.#####.#.#.#####.###.#####.#.#.###.#.#####.###.#.#.#.###.#.###.#.#.#####.###.#####.#####.###.#
|
||||
#.#...#.#...#.#.#.....#...#.....#...#.....#.....#.......#.....#.....#.....#.#.....#.......#...#...#...#.#.....#...#...#...#.....#.#.....#.#.#
|
||||
#####.#.###.###.#.#.#.###.###.#.#.#.#####.###.#.###.#########.#.###.#.#####.#.#####.#######.#.#######.#######.#####.#.#.#.#####.#.#.#####.#.#
|
||||
#.....#...#.#...#...#...#.....#.#.#...#.#...#.#...#.......#...#.....#...#...#.#...#.#.....#.#...............#.#.#...#...#.#...............#.#
|
||||
#.#######.#.#.#########.#######.#.###.#.###.#.###.###.###.#.#######.###.#.###.#.#.#.#.#.#.#.#.#.###.#####.#.#.#.#.#.#####.#.#.###.###.#.###.#
|
||||
#.....#...#.........#.....#...#.#.#.......#...#.#.....#.#.#.......#.#...#.#.#...#.#.#.#.#...#.#...#.....#.....#.#.#.#.......#.#.....#.#.#...#
|
||||
#.#.#.#.###.#.#.#####.#####.#.#.#.#######.#####.#######.#.###.#.###.#.###.#.#.###.#.###.#.###.###.#.#.#########.#.#.#######.#.#######.#.#.#.#
|
||||
#...#.#...#.#.#.#.....#.....#...#...#.........#...#.....#...#.#.....#.#.#.#...#...#...#.#.#...#.#...#.......#...#.#.....#.#.#.#.......#.#.#.#
|
||||
###.#.###.#.#.#.#.#####.###########.###.#####.#.#.#.###.###.#.#.#####.#.#.#.###.#.###.#.###.###.###.###.#.#.###.#.#####.#.#.#.#.#######.#.###
|
||||
#...#...#...#.#.#.#.#...#...#...#...#...#.......#.#...#...#.#.#.....#.#.........#.#.#.#.#.........#.....#.......#.#.#...#.#.#.#.#.......#...#
|
||||
#.#.###.#.###.#.#.#.#.###.#.#.#.#.###.#.#.#######.#####.###.#.#######.###########.#.#.#.#.#######.#.###.#.#.#####.#.#.###.#.#.#.#.###.#####.#
|
||||
#.#.#...#...........#.#...#.#.#...#...#.#.#.#...#.......#...#...#.....#...#...#.....#.#...#...#...#...#.#.#.#.......#.#.....#.#...#...#.....#
|
||||
#.#.#.#####.#.#####.#.#.###.#.#####.#####.#.#.#.#########.#####.#.#####.#.#.#.#######.###.#.#.#.#####.###.#.#.#######.#######.#####.###.#####
|
||||
#...#.#...#.#...#.#.#.#...#.#.#...#.......#.#.#...........#...#.#.......#...#.#.........#.#.#.#.#.....#...#.#.#.#.....#.......#.....#...#...#
|
||||
###.#.#.#.#.###.#.#.#.###.#.#.###.#.#######.#.#############.###.#.###########.#.###.###.#.#.#.#.#.###.#.#####.#.#.###.#.#######.#####.###.#.#
|
||||
#...#...#.#.....#...#.....#.#...#.#...#.....#.........#.....#...#.#...#.....#.#...#...#.#.#.#.#...#...#...#.....#.#.#.#...#.....#...#.....#.#
|
||||
#.#.###.#.###.#####.#.#########.#.###.#.#############.#.###.#.#.#.#.#.#####.#.###.#.#.#.###.#.#.#########.#.#####.#.#.###.#.#.###.#.#######.#
|
||||
#.#.......#...#.....#.#.....#...#...............#...#.#.#...#.#.#.#.#.....#.#.#...#.#.#.....#.#.#.......#...#.....#...#...#.#.....#.........#
|
||||
###.###.###.###.###.#.#.###.#.###.#######.###.###.#.#.#.#####.#.#.#.#####.#.#.#.###.###.#.###.###.#####.#####.#####.###.###.#####.#####.#.###
|
||||
#...#.....#.#.....#.#.#.#...#.#...#...#...#...#...#...#.#.....#...#...#...#.#...#.#.....#.........#...#.......#.......#.....#...#.....#.#...#
|
||||
#.#.###.###.#.#####.#.#.#.###.#.###.###.###.###.#######.#.#####.#####.#.###.#####.#######.#.#######.#.###.#######.#####.#####.#.#####.#####.#
|
||||
#.#...#.....#.#.....#.#.#.....#.#...#...#.#...#...#.....#...#.#.......#.#.........#.#.....#.......#.#.#...#.....#.#...#.#.....#.....#.....#.#
|
||||
#.#.#.#.###.#.#.#####.#.###.#.#.#.###.###.###.#.#.###.#.###.#.#########.###.#####.#.#.###########.#.###.###.###.###.#.#.#####.#####.#.###.#.#
|
||||
#...#.....#.#.#.......#.#...#.#...#...#...#.#...#.#...#.#...#.........#...#.....#.#.#.#...#.....#.#.....#...#...#...#.#.....#.#.....#.#...#.#
|
||||
#.#.###.#.###.#########.#.#.#.###.#.###.#.#.#.###.#.#.###.###.#######.###.#####.#.#.#.#.#.###.#.#.#.#####.###.###.###.#####.#.###.#.#.#.###.#
|
||||
#...#...............#...#.#...#...#...#.#...#...#...#.#...#.....#...#...#.......#...#...#...#.....#...#...#.#.#.....#...#.#.#...#.#...#.#...#
|
||||
###.###.#########.###.###.#.###.#####.#.###.###.#####.#.###.###.#.#.#.###.#####.###########.#.#########.###.#.#####.###.#.#.#.#.#.#.###.#.###
|
||||
#.#.....#.....#.....#.#.#.#.#.#.........#.#...#.#.....#.#.#...#...#...#...#...#.#.........#.#.#.......#.#...........#...#...#.....#.....#...#
|
||||
#.#####.#.###.#.###.#.#.#.#.#.#####.#####.###.#.#.#####.#.###.#######.#.###.#.###.#######.#.#.#####.#.#.#############.###.#####.#.#.###.###.#
|
||||
#.....#.#.#...#.#.#...#.#...#.....#.#.#.......#.#.#...#.#...#.#.....#...#...#...#.....#...#.#.......#...#.........#.............#.#...#.#...#
|
||||
#.###.#.#.#.###.#.#####.#####.#####.#.#.#######.#.#.#.#.#.#.#.###.#.#####.#.###.#.###.#.###.#.#########.#.###.#.###.#####.#####.#.#.#.###.#.#
|
||||
#...#.#.#.#.....#.....#...............#.#.......#...#.#.#.#.#.....#...#.........#.#...#.#...#.#.....#...#...#.#.........#.#.....#.....#...#.#
|
||||
###.#.#.#.#######.#####.###############.###.#.#######.#.###.#.###.#####.###.#####.#.###.###.#.#.###.###.###.#.#.#.###.#.###.###.#####.#.###.#
|
||||
#.#.#...#.#...........#.....#...#.#.....#...#.......#.#...#.......#...#...#.#.#...#...#.....#.#.#...#...#...#.........#.#...#.#...#...#...#.#
|
||||
#.#.###.#.#####.#####.#####.#.#.#.#.#####.#########.#.###.#########.#.###.#.#.#.#####.#########.#.###.#.#.###.#########.#.###.#.#.###.###.###
|
||||
#.#...#.#.#...#.....#...#.#...#...#...#.....#.....#...#.#...........#.......#.......#...#...#...#...#.#.....#.#.....#.....#.....#...#.#.#...#
|
||||
#.###.#.#.#.#.#######.#.#.#####.#####.#.###.#.#.#.#####.###################.#######.###.#.#.#.#.###.#.#######.#.###.#####.#.###.###.#.#.###.#
|
||||
#.......#...#.....#...#...#.....#...#.#...#...#.#.#.............#.........#...#...#.#.#...#.....#...#...#...#.....#.....#...#...#...#...#...#
|
||||
#.#####.#########.#.#######.#####.#.#.###.#####.#.#########.#.###.#.#####.###.###.#.#.###########.###.#.#.#.###########.#.###.#.#.###.###.#.#
|
||||
#.....#.#.......#.#.........#.....#.#...#.#.....#...........#.#...#.#...#...#...#.#...#.......#...#.....#.#.....#.......#...#...............#
|
||||
#.#.###.#.#.###.#.###########.#####.###.#.#.###################.###.#.#.###.###.#.###.###.###.#.#.#.#####.#.#.#.#.#########.#.#####.#.#.#####
|
||||
#.#.....#.......#.....#...........#.....#.#.....#.....#.......#.#...#.#...#...#.#.....#...#...#.#.#.#...#.#.#.#...#.........#.#.....#.......#
|
||||
#.#####.###.#.#######.#.###########.#.#########.#.###.#.#.#.#.#.#####.#.#.###.#.#.#####.#.###.#.###.#.#.#.#.#.#####.#.#######.#.#####.###.#.#
|
||||
#...#.......#.#.....#.........#.....#.#.....#.....#.#...#...#...#...#.#.#...#.#.#.......#.#.........#.#...#...#.....#...#.....#.#.......#.#.#
|
||||
###.#.#######.#.#########.#.###.###.#.###.#.#.#.#.#.#.#########.#.#.#.#.###.#.#.#####.#.###.#.###.###.#########.#######.#.#####.#.###.#.#.#.#
|
||||
#.#...#...#...#.......#...#...#...#.#.....#.....#.#...#.......#.#.#.#.#.....#...#.....#...#.#.#...#.#.#.................#.#.....#.#...#.#.#.#
|
||||
#.#####.#.#.#########.#.#####.#.#.#.###.#######.#.#####.#####.###.#.#.###.#######.###.#.#.#.###.###.#.#######.#####.###.#.#.#####.#.#.#.#.#.#
|
||||
#.......#.#.#.......#.#.#.....#.#.#.#...#.....#.#.....#.....#...#.#...#.#.#.....#.#.#...#...#.......#.......#.#...#.....#.#.....#.#...#...#.#
|
||||
#.#####.#.#.#.#####.#.#.#.###.#.#.#.#.###.###.#.#####.#.#.#.###.#.###.#.#.###.#.#.#.#.###.###.#.#.#.#######.###.#.#.#.###.#####.#.###.###.#.#
|
||||
#.#.......#...#.#...#...#.#...#.#.....#...#.#.#...#...#.#.#.#.....#...#.#...#...#.#.#.#...#...#...#.......#...#.#.#.#.......#...#...#...#.#.#
|
||||
#.#####.#######.#.###.#.#.#.#.#.#.###.#.###.#.#####.#.#.###.#.#########.###.#.###.#.#.#####.#####.#.#.#.#.###.#.#.#########.#.#####.#.#.#.#.#
|
||||
#...........#.#...#...#...#...#...#.....#...#...#...#.#...#.....#.......#.#.#.....#.#.......#.....#.#.#.....#.........#...#.#.....#...#...#.#
|
||||
#####.#.#.#.#.#.#######.#####.#.#.#.#######.###.#.#.#####.#######.#######.#.###.###.###########.###.#.#####.#########.#.#.#.#####.###.#.#.#.#
|
||||
#...#...#.#...#.....#...#...#.#.#.#.#.........#.....#...#.......#.....#...#...#.#...........#...#.#.#...#...........#...#.#.#.......#...#...#
|
||||
#.#.###.#.#########.#.###.#.#.#.#.#.###.#####.#.###.#.#.#######.#####.#.#####.#.#.###.#####.#.###.#.#####.#########.#####.#.#.#######.###.#.#
|
||||
#.#...#.#.........#.#...#.#.#.#...#...#.....#.......#.#.#.....#.....#.#.#.....#.#.#...#...#...#...........#.......#.#.....#...............#.#
|
||||
#.###.#.#########.#.###.#.###.#.#####.#####.#.#####.#.#.#.#.#####.#.#.#.#.#####.###.###.#.#.###############.#####.#.#.#########.###.###.#.###
|
||||
#...#.#.....#.....#.....#.#.........#.....#.#.#...#.#.#.#.#.......#...#...#.#...#...#...#.#.#.............#.....#...#.........#...#.....#...#
|
||||
#.#.#.#.###.#.###.#######.#.###.###.#####.#.#.#.#.###.#.#.#######.#####.###.#.###.#####.###.#.###########.#.#####.###########.#.#######.#.#.#
|
||||
#.#.#.#.....#.#.#.#.......#.#.....#...#...#...#.#.....#...#.....#.....#.#...#.........#...#.#.#.....#.#...#.#...#.......#...#...#.....#...#.#
|
||||
###.#.#.#####.#.#.###.#.#.#.#########.#.#######.###########.#.#######.#.###.#####.#.#.###.#.#.#.#.#.#.#.#####.#.#####.###.#.###.#.###.###.#.#
|
||||
#...#.......#.#.#.#...#.#.#.......#...#.........#.........#.#.......#.....#.......#.....#...#.#.#.#.#.#.#.....#...#...#...#...#.#.#.#.....#.#
|
||||
#.#########.#.#.#.#.#.#.#.#######.#.#############.#####.###.#####.###.###.#########.###.#####.###.#.#.#.###.#####.###.#.#####.###.#.#####.#.#
|
||||
#...#.....#.#.#...#.#...#.....#...#.#...........#.#.....#...#...#...#...#...#.......#.........#...#...#.#...#.......#.#.#...#.....#.....#.#.#
|
||||
#.#.#####.#.#.#.###.###.#####.#.###.#.#######.#.#.#.#####.###.#.###.###.###.#.#################.###.###.#.#.#######.#.#.#.###.#####.###.#.#.#
|
||||
#.#.....#...#.#...#...#.#...#.........#.......#.#.#.....#...#.....#...#...#.................#.....#.#...#.#.#.....#.#.#.#.....#...#...#.#.#.#
|
||||
#####.#.###.#.###.###.#.#.###.###.#####.#######.###.###.###.#.#######.#.#.#.#.#############.#####.#.#.###.###.###.#.###.###.###.#.###.#.#.#.#
|
||||
#...#.#...#...#.......#.#.#.....#...#...#.....#...#.#.#...#.#.#.....#.#.#.#.#...#.....#...#.#.....#.#.#.#.....#...#...#...#.#.#.#.#...#.#.#.#
|
||||
#.#.#####.###.#########.#.#.###.###.#.###.###.###.#.#.#.#.#.#.#.###.#.#.###.###.#.#.#.#.###.#.#####.#.#.#.#####.#####.###.#.#.#.#.#.#.#.#.#.#
|
||||
#.#.......#...#.........#.#.....#.#...#.....#.#...#...#...#.#.#.#.#...#...#...#.#...#...#...#.#...#.#.#...#...#.#...#...#.#...#.#...#.#.#.#.#
|
||||
#.#######.#####.#########.#.#.###.#####.###.###.#######.###.#.#.#.###.###.###.#.###.###.#.###.#.#.###.#####.#.#.#.#.###.#.#####.###.###.#.#.#
|
||||
#.#...#...#.....#.........#.#.....#...#...#.#...#.....#...#.#.#.......#.....#.#.........#.#.....#...#.......#.#.#.#.#...#.#.....#.#...#.....#
|
||||
#.#.#.#####.#####.#.#.#####.#####.#.###.###.#.###.###.#.#.#.#.#.#.#####.#.#.#.#####.#####.#########.#########.#.###.#.###.#.###.#.###.###.#.#
|
||||
#.#.#.#.....#...#...#.#.....#.....#.#...#...#.#...#.#.#.#.....#.#.#.....#.#.#.#.#...#...#.#.......#.........#.#.......#...#...#.....#...#...#
|
||||
#.#.#.#.#####.#.#.#.#.#.#####.#####.#.###.###.#.###.#.###.#####.#.#.###.#.###.#.#.###.#.#.#.#####.#######.#.#.#.#.###.#.#.###.#.#.#####.#.###
|
||||
#...#.#.......#.#.#.#.#.#.........#.....#...#.#...#.#...#...#.....#...#.#.....#.....#.#.#.....#...#.......#.#.#.#...#.#.#.......#.#.....#.#.#
|
||||
#.###.#.#######.#.#.###.#########.#.#######.#.###.#.###.#####.###.###.#.#######.#####.#.#.#####.###.#########.#####.#.#.###.###.#.#.#####.#.#
|
||||
#.#.#.............#...#...#.....#.#...#...#.#.....#...#.......#...#...#.#...#...#.....#.#.#.....#.............#.....#...#.....#...#...#.#.#.#
|
||||
#.#.#########.#.#.###.###.#.###.#.###.#.#.#.#########.#########.###.###.#.#.#.###.#####.###.#####.###########.#.###############.#.###.#.#.#.#
|
||||
#.....#...#...#.#...#...#...#.#.#...#.#.#.......#.......#.#.....#.#.#...#.#...#...#...#...#.......#...........#...#.............#...........#
|
||||
#####.#.#.#.###.#####.#######.#.###.###.#######.###.###.#.#.#####.#.#.###.###.#.#####.#.#.#.#####.#.#######.#.###.#.#########.#.#.#.#.#.#.#.#
|
||||
#.....#...#.#.......#.........#...#.....#.....#...#.#...#.#.....#...#.........#.....#...#.#.....#.#.#.......#...#.#.#.......#.......#.#...#.#
|
||||
#.#######.#.#.#####.###.###.#####.#######.#.#####.#.###.#.#####.#.#########.#####.#.###.#.###.#.###.#.#########.#.#.#.#####.#.#######.#.#.#.#
|
||||
#.#.....#.#...#...#...#.#...#.....#...#...#.#.....#...#...#.....#.#.......#.....#.#.#...#...#.#.....#.....#...#...#...#...#.................#
|
||||
#.#.###.#.#####.#.#.#.#.#.###.###.#.###.#.#.#.#####.#.#####.#####.###.#.###.###.###.#.###.#.#.#######.###.#.#.#.#######.#.#.###.#.#######.#.#
|
||||
#...#.....#...#.#...#...#.......#.....#.#.#.#.#.....#.#...#.#...#...#...#...#.#...#.#.....#.#.#.....#.#.#.#.#...#.......#.#.........#.......#
|
||||
#.#######.#.#.#.###.###.#####.#.#####.#.#.###.#######.#.#.#.#.#.###.###.#.###.###.#.#.###.#.###.###.#.#.#.#.#####.#.#########.#.#.#.#.#######
|
||||
#.#.....#.#.#.#.#.#...#.#...#.#.....#...#.....#.......#.....#.#.#...........#...#...#.#...#.....#.#.#...#.#.....#.#.........#.#.#.#.#.#.....#
|
||||
#.#.###.#.#.#.#.#.###.#.#.#.#######.#.#######.#.###.###.#####.#.#######.###.###.#####.#.#########.#.###.#.#######.#######.###.#.#.#.#.#.###.#
|
||||
#.#.#.......#...#...#.....#.......#.#...#...#...#...#...#.....#.....#...#...#.......#.#.........#...#...#.....#...#.....#.#...#.#.#.#.#.#...#
|
||||
###.#####.#########.#############.#.#####.#.#####.###.###.#.#######.#####.###.#####.#.#####.###.#.#####.#####.#.#######.#.#.###.#.#.#.###.#.#
|
||||
#...#.............#.....#.........#...#...#...#.....#...#.#.#.............#.....#...#.#.#...#...#.....#.....#.......#...#...#...#.#.......#.#
|
||||
#.###.###########.###.#.#.###########.#.###.#.#########.#.#.#.###.###.#####.###.#####.#.#.###.#######.#############.#.#.#####.#.#.#.#######.#
|
||||
#...#.#.....#...#...#.#...............#.#...#.........#.#.#...#...#.....#.#...#...#...#.#.#.........#...........#.#.#.#...#...#.#.#.#...#.#.#
|
||||
#.#.#.#.#.#.###.###.#.#####.#####.###.#.#.#.#########.#.#######.#.#.###.#.###.###.#.###.#.#####.#.#.#####.#####.#.#.#.###.#####.#.###.#.#.#.#
|
||||
#.....#.#.#...#.#...#...#.........#.....#.#.......#.#...........#.#.#.#.#.......#...#...#.....#.#.#.#.....#.....#.#...#.#.#...#.#.#...#.#.#.#
|
||||
#.#######.###.#.#.###.#.###.#####.#.###########.#.#.#####.###.#.###.#.#.#.#.###.#####.#.#####.#.#.#.###.#.#.#####.#####.#.#.#.#.#.#.###.#.#.#
|
||||
#.........#.#...#...#.......#.....#.#.........#.#.......#...#.........#.#.#...#...#...#...#...#.#.#.....#.#.....#...........#...#...#.#.#.#.#
|
||||
###########.#.#.###.#.#########.###.#.#.#####.#.#######.###.#.#########.#.###.###.###.#####.#.#.#.#######.#####.###############.#####.#.#.#.#
|
||||
#.....#.......#...#.#...#.......#...#.#.#...#...#.....#.....#.#.........#.......#.....#.....#.#.#.....#.#.....#...........#...#...#...#.#.#.#
|
||||
#.#.#.#.#.###.###.#.###.#.#####.#.#####.#.#######.###.#######.#.###############.#####.#.#######.#####.#.###.#############.###.#.#.#.###.#.#.#
|
||||
#.#.#.#.#.........#.#...#...#...#.#.....#.......#...#.#.....#.#.....#.....#.......#...#...#.....#.#...#.....#.........#...#.....#...#...#...#
|
||||
#.#.#.#.#####.#####.#####.###.#.#.#.#####.###.###.#.#.#####.#.#####.#.###.#.#.#####.#####.#.###.#.#.###.#####.#.#######.#.#.#######.#.#####.#
|
||||
#.#...#.#.#.....#...#.....#...#.#...#.......#.....#.#.......#.......#...#...#.#.....#...#...#.....#.#...#...#.#.........#.#.........#.#...#.#
|
||||
#.###.#.#.#.#.#.#.#.#.#####.#############.#########.#.#####.###########.#####.#.#######.#########.#.###.#.#.#.###########.#.#########.#.#.#.#
|
||||
#...#.#...#...#...#.#...#.#.............#.#.........#.#...#.#...#.......#.#...#.#.....#.........#.#...#.#.#...#.......#...#...#.....#.#.#.#.#
|
||||
###.#.#.#.###.#########.#.#######.#####.###.#########.#.#.#.#.#.#.#######.#.###.#.###.#.#######.#.###.#.#.#####.#####.#.#.###.#####.#.#.#.###
|
||||
#.#.#...#...#...........#...#.....#...#...#.#.#.....#.#.#.#.#.#.#...#.........#...#...#.......#.....#.#.#...#...#...#.......................#
|
||||
#.#.#.#.###.#.#.###########.#.###.#.#.###.#.#.#.###.#.#.#.#.#.#.###.#########.#####.#####.###.#####.#.#####.#.#####.#.#.#.#.#.#.###.#.#.###.#
|
||||
#.#.#.....#...#.....................#...#...#.....#...#.#.#...#.....#.....#.#...#.#.#...#...#.....#.#.....#...#.....#.#.#.#.#.#.#.#.#.#.#.#.#
|
||||
#.#.#.#####.#.#.#######.#####.#.###.###.###.#######.###.#.#######.###.###.#.###.#.#.#.#.###.#.###.#.#####.#####.#.###.#.#.#.#.#.#.#.#.#.#.#.#
|
||||
#.#.#.#...#...#.#...#...#.....#.#.#.#.#...#.#.....#.#...#.#...#...#...#...#.......#...#.#.......#.#...#...#...#.#.....#...#.....#...#.....#.#
|
||||
#.#.#.#.#.#.#.###.#.#.#.#.#####.#.#.#.###.###.###.###.###.#.#.#.###.###.#######.#######.#.###.###.#.###.###.#.#.#############.###########.#.#
|
||||
#.#.#...#...#.....#...#.#.#...#.............#.#.#...#.#.#.#.#.....#.#.#.......#.#.....#.#...............#...#.#.#.....#.....#.#.........#.#.#
|
||||
#.#.#.###.#.#.#########.#.#.#.#####.#.#.###.#.#.###.#.#.#.#########.#.#######.###.###.#.#####.#.#.#.#.###.###.#.#.###.#.###.###.#######.###.#
|
||||
#S............#.........#...#.........#...#.......#.....#.....................................#...#.#.......#.....#.....#.......#...........#
|
||||
#############################################################################################################################################
|
||||
5
dat/24/re/17.txt
Normal file
5
dat/24/re/17.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
Register A: 22817223
|
||||
Register B: 0
|
||||
Register C: 0
|
||||
|
||||
Program: 2,4,1,2,7,5,4,5,0,3,1,7,5,5,3,0
|
||||
19
meson.build
19
meson.build
@@ -1,19 +0,0 @@
|
||||
project(
|
||||
'aoc',
|
||||
['cpp', 'c++']
|
||||
version: '0.0.0',
|
||||
default_options: [
|
||||
'c_std=c2x',
|
||||
'cpp_std=c++23'
|
||||
]
|
||||
)
|
||||
|
||||
executable(
|
||||
'aoc',
|
||||
[
|
||||
'aoc.cpp'
|
||||
],
|
||||
include_directories: [
|
||||
include_directories('.')
|
||||
]
|
||||
)
|
||||
30
sol/24/CMakeLists.txt
Normal file
30
sol/24/CMakeLists.txt
Normal file
@@ -0,0 +1,30 @@
|
||||
set(HEADERS
|
||||
aoc.hpp
|
||||
)
|
||||
set(SOURCES
|
||||
"aoc.cpp"
|
||||
"day01.cpp"
|
||||
# "day02.cpp"
|
||||
"day03.cpp"
|
||||
# "day04.cpp"
|
||||
"day05.cpp"
|
||||
"day06.cpp"
|
||||
# "day07.cpp"
|
||||
"day08.cpp"
|
||||
"day09.cpp"
|
||||
"day10.cpp"
|
||||
# "day11.cpp"
|
||||
"day14.cpp"
|
||||
"day16.cpp"
|
||||
"day17.cpp"
|
||||
)
|
||||
add_library(aoc24 STATIC ${HEADERS} ${SOURCES})
|
||||
target_include_directories(aoc24
|
||||
PRIVATE
|
||||
${PROJECT_SOURCE_DIR}
|
||||
)
|
||||
target_compile_features(aoc24 PRIVATE cxx_std_23)
|
||||
target_compile_options(aoc24 PRIVATE ${BASE_OPTIONS})
|
||||
target_compile_definitions(aoc24 PRIVATE ${BASE_DEFINITIONS})
|
||||
target_link_libraries(aoc24 PRIVATE aoclib)
|
||||
source_group(TREE "${CMAKE_CURRENT_LIST_DIR}" FILES ${HEADERS} ${SOURCES})
|
||||
274
sol/24/README.md
Normal file
274
sol/24/README.md
Normal file
@@ -0,0 +1,274 @@
|
||||
# Advent of Code 2024
|
||||
|
||||
## 01
|
||||
|
||||
--- Day 1: Historian Hysteria ---
|
||||
The Chief Historian is always present for the big Christmas sleigh launch, but nobody has seen him in months! Last anyone heard, he was visiting locations that are historically significant to the North Pole; a group of Senior Historians has asked you to accompany them as they check the places they think he was most likely to visit.
|
||||
|
||||
As each location is checked, they will mark it on their list with a star. They figure the Chief Historian must be in one of the first fifty places they'll look, so in order to save Christmas, you need to help them get fifty stars on their list before Santa takes off on December 25th.
|
||||
|
||||
Collect stars by solving puzzles. Two puzzles will be made available on each day in the Advent calendar; the second puzzle is unlocked when you complete the first. Each puzzle grants one star. Good luck!
|
||||
|
||||
You haven't even left yet and the group of Elvish Senior Historians has already hit a problem: their list of locations to check is currently empty. Eventually, someone decides that the best place to check first would be the Chief Historian's office.
|
||||
|
||||
Upon pouring into the office, everyone confirms that the Chief Historian is indeed nowhere to be found. Instead, the Elves discover an assortment of notes and lists of historically significant locations! This seems to be the planning the Chief Historian was doing before he left. Perhaps these notes can be used to determine which locations to search?
|
||||
|
||||
Throughout the Chief's office, the historically significant locations are listed not by name but by a unique number called the location ID. To make sure they don't miss anything, The Historians split into two groups, each searching the office and trying to create their own complete list of location IDs.
|
||||
|
||||
There's just one problem: by holding the two lists up side by side (your puzzle input), it quickly becomes clear that the lists aren't very similar. Maybe you can help The Historians reconcile their lists?
|
||||
|
||||
For example:
|
||||
|
||||
```
|
||||
3 4
|
||||
4 3
|
||||
2 5
|
||||
1 3
|
||||
3 9
|
||||
3 3
|
||||
```
|
||||
Maybe the lists are only off by a small amount! To find out, pair up the numbers and measure how far apart they are. Pair up the smallest number in the left list with the smallest number in the right list, then the second-smallest left number with the second-smallest right number, and so on.
|
||||
|
||||
Within each pair, figure out how far apart the two numbers are; you'll need to add up all of those distances. For example, if you pair up a 3 from the left list with a 7 from the right list, the distance apart is 4; if you pair up a 9 with a 3, the distance apart is 6.
|
||||
|
||||
In the example list above, the pairs and distances would be as follows:
|
||||
|
||||
The smallest number in the left list is 1, and the smallest number in the right list is 3. The distance between them is 2.
|
||||
The second-smallest number in the left list is 2, and the second-smallest number in the right list is another 3. The distance between them is 1.
|
||||
The third-smallest number in both lists is 3, so the distance between them is 0.
|
||||
The next numbers to pair up are 3 and 4, a distance of 1.
|
||||
The fifth-smallest numbers in each list are 3 and 5, a distance of 2.
|
||||
Finally, the largest number in the left list is 4, while the largest number in the right list is 9; these are a distance 5 apart.
|
||||
To find the total distance between the left list and the right list, add up the distances between all of the pairs you found. In the example above, this is 2 + 1 + 0 + 1 + 2 + 5, a total distance of 11!
|
||||
|
||||
Your actual left and right lists contain many location IDs. What is the total distance between your lists?
|
||||
|
||||
Your puzzle answer was `1506483`.
|
||||
|
||||
--- Part Two ---
|
||||
Your analysis only confirmed what everyone feared: the two lists of location IDs are indeed very different.
|
||||
|
||||
Or are they?
|
||||
|
||||
The Historians can't agree on which group made the mistakes or how to read most of the Chief's handwriting, but in the commotion you notice an interesting detail: a lot of location IDs appear in both lists! Maybe the other numbers aren't location IDs at all but rather misinterpreted handwriting.
|
||||
|
||||
This time, you'll need to figure out exactly how often each number from the left list appears in the right list. Calculate a total similarity score by adding up each number in the left list after multiplying it by the number of times that number appears in the right list.
|
||||
|
||||
Here are the same example lists again:
|
||||
|
||||
```
|
||||
3 4
|
||||
4 3
|
||||
2 5
|
||||
1 3
|
||||
3 9
|
||||
3 3
|
||||
```
|
||||
For these example lists, here is the process of finding the similarity score:
|
||||
|
||||
The first number in the left list is 3. It appears in the right list three times, so the similarity score increases by 3 * 3 = 9.
|
||||
The second number in the left list is 4. It appears in the right list once, so the similarity score increases by 4 * 1 = 4.
|
||||
The third number in the left list is 2. It does not appear in the right list, so the similarity score does not increase (2 * 0 = 0).
|
||||
The fourth number, 1, also does not appear in the right list.
|
||||
The fifth number, 3, appears in the right list three times; the similarity score increases by 9.
|
||||
The last number, 3, appears in the right list three times; the similarity score again increases by 9.
|
||||
So, for these example lists, the similarity score at the end of this process is 31 (9 + 4 + 0 + 0 + 9 + 9).
|
||||
|
||||
Once again consider your left and right lists. What is their similarity score?
|
||||
|
||||
Your puzzle answer was 23126924.
|
||||
|
||||
Both parts of this puzzle are complete! They provide two gold stars: **
|
||||
|
||||
## 02
|
||||
|
||||
--- Day 2: Red-Nosed Reports ---
|
||||
Fortunately, the first location The Historians want to search isn't a long walk from the Chief Historian's office.
|
||||
|
||||
While the Red-Nosed Reindeer nuclear fusion/fission plant appears to contain no sign of the Chief Historian, the engineers there run up to you as soon as they see you. Apparently, they still talk about the time Rudolph was saved through molecular synthesis from a single electron.
|
||||
|
||||
They're quick to add that - since you're already here - they'd really appreciate your help analyzing some unusual data from the Red-Nosed reactor. You turn to check if The Historians are waiting for you, but they seem to have already divided into groups that are currently searching every corner of the facility. You offer to help with the unusual data.
|
||||
|
||||
The unusual data (your puzzle input) consists of many reports, one report per line. Each report is a list of numbers called levels that are separated by spaces. For example:
|
||||
|
||||
```
|
||||
7 6 4 2 1
|
||||
1 2 7 8 9
|
||||
9 7 6 2 1
|
||||
1 3 2 4 5
|
||||
8 6 4 4 1
|
||||
1 3 6 7 9
|
||||
```
|
||||
This example data contains six reports each containing five levels.
|
||||
|
||||
The engineers are trying to figure out which reports are safe. The Red-Nosed reactor safety systems can only tolerate levels that are either gradually increasing or gradually decreasing. So, a report only counts as safe if both of the following are true:
|
||||
|
||||
The levels are either all increasing or all decreasing.
|
||||
Any two adjacent levels differ by at least one and at most three.
|
||||
In the example above, the reports can be found safe or unsafe by checking those rules:
|
||||
|
||||
`7 6 4 2 1`: Safe because the levels are all decreasing by 1 or 2.
|
||||
`1 2 7 8 9`: Unsafe because 2 7 is an increase of 5.
|
||||
`9 7 6 2 1`: Unsafe because 6 2 is a decrease of 4.
|
||||
`1 3 2 4 5`: Unsafe because 1 3 is increasing but 3 2 is decreasing.
|
||||
`8 6 4 4 1`: Unsafe because 4 4 is neither an increase or a decrease.
|
||||
`1 3 6 7 9`: Safe because the levels are all increasing by 1, 2, or 3.
|
||||
So, in this example, 2 reports are safe.
|
||||
|
||||
Analyze the unusual data from the engineers. How many reports are safe?
|
||||
|
||||
Your puzzle answer was 686.
|
||||
|
||||
--- Part Two ---
|
||||
The engineers are surprised by the low number of safe reports until they realize they forgot to tell you about the Problem Dampener.
|
||||
|
||||
The Problem Dampener is a reactor-mounted module that lets the reactor safety systems tolerate a single bad level in what would otherwise be a safe report. It's like the bad level never happened!
|
||||
|
||||
Now, the same rules apply as before, except if removing a single level from an unsafe report would make it safe, the report instead counts as safe.
|
||||
|
||||
More of the above example's reports are now safe:
|
||||
|
||||
`7 6 4 2 1`: Safe without removing any level.
|
||||
`1 2 7 8 9`: Unsafe regardless of which level is removed.
|
||||
`9 7 6 2 1`: Unsafe regardless of which level is removed.
|
||||
`1 3 2 4 5`: Safe by removing the second level, 3.
|
||||
`8 6 4 4 1`: Safe by removing the third level, 4.
|
||||
`1 3 6 7 9`: Safe without removing any level.
|
||||
Thanks to the Problem Dampener, 4 reports are actually safe!
|
||||
|
||||
Update your analysis by handling situations where the Problem Dampener can remove a single level from unsafe reports. How many reports are now safe?
|
||||
|
||||
Your puzzle answer was `717`.
|
||||
|
||||
Both parts of this puzzle are complete! They provide two gold stars: **
|
||||
|
||||
At this point, you should return to your Advent calendar and try another puzzle.
|
||||
|
||||
## 03
|
||||
|
||||
--- Day 3: Mull It Over ---
|
||||
"Our computers are having issues, so I have no idea if we have any Chief Historians in stock! You're welcome to check the warehouse, though," says the mildly flustered shopkeeper at the North Pole Toboggan Rental Shop. The Historians head out to take a look.
|
||||
|
||||
The shopkeeper turns to you. "Any chance you can see why our computers are having issues again?"
|
||||
|
||||
The computer appears to be trying to run a program, but its memory (your puzzle input) is corrupted. All of the instructions have been jumbled up!
|
||||
|
||||
It seems like the goal of the program is just to multiply some numbers. It does that with instructions like mul(X,Y), where X and Y are each 1-3 digit numbers. For instance, mul(44,46) multiplies 44 by 46 to get a result of 2024. Similarly, mul(123,4) would multiply 123 by 4.
|
||||
|
||||
However, because the program's memory has been corrupted, there are also many invalid characters that should be ignored, even if they look like part of a mul instruction. Sequences like mul(4*, mul(6,9!, ?(12,34), or mul ( 2 , 4 ) do nothing.
|
||||
|
||||
For example, consider the following section of corrupted memory:
|
||||
|
||||
`xmul(2,4)%&mul[3,7]!@^do_not_mul(5,5)+mul(32,64]then(mul(11,8)mul(8,5))`
|
||||
Only the four highlighted sections are real mul instructions. Adding up the result of each instruction produces `161 (2*4 + 5*5 + 11*8 + 8*5)`.
|
||||
|
||||
Scan the corrupted memory for uncorrupted mul instructions. What do you get if you add up all of the results of the multiplications?
|
||||
|
||||
Your puzzle answer was 159833790.
|
||||
|
||||
--- Part Two ---
|
||||
As you scan through the corrupted memory, you notice that some of the conditional statements are also still intact. If you handle some of the uncorrupted conditional statements in the program, you might be able to get an even more accurate result.
|
||||
|
||||
There are two new instructions you'll need to handle:
|
||||
|
||||
The `do()` instruction enables future mul instructions.
|
||||
The `don't()` instruction disables future mul instructions.
|
||||
Only the most recent `do()` or `don't()` instruction applies. At the beginning of the program, `mul` instructions are enabled.
|
||||
|
||||
For example:
|
||||
|
||||
`xmul(2,4)&mul[3,7]!^don't()_mul(5,5)+mul(32,64](mul(11,8)undo()?mul(8,5))`
|
||||
This corrupted memory is similar to the example from before, but this time the mul(5,5) and mul(11,8) instructions are disabled because there is a don't() instruction before them. The other mul instructions function normally, including the one at the end that gets re-enabled by a do() instruction.
|
||||
|
||||
This time, the sum of the results is `48 (2*4 + 8*5)`.
|
||||
|
||||
Handle the new instructions; what do you get if you add up all of the results of just the enabled multiplications?
|
||||
|
||||
Your puzzle answer was `89349241`.
|
||||
|
||||
Both parts of this puzzle are complete! They provide two gold stars: **
|
||||
|
||||
At this point, you should return to your Advent calendar and try another puzzle.
|
||||
|
||||
## 04
|
||||
|
||||
--- Day 4: Ceres Search ---
|
||||
"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?
|
||||
|
||||
Your puzzle answer was `2378`.
|
||||
|
||||
--- Part Two ---
|
||||
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?
|
||||
|
||||
Your puzzle answer was `1796`.
|
||||
|
||||
Both parts of this puzzle are complete! They provide two gold stars: **
|
||||
|
||||
41
sol/24/aoc.cpp
Normal file
41
sol/24/aoc.cpp
Normal file
@@ -0,0 +1,41 @@
|
||||
#include <span>
|
||||
#include <expected>
|
||||
#include <string>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "ctre.hpp"
|
||||
|
||||
namespace aoc24 {
|
||||
auto entry([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
using namespace aoc::types;
|
||||
|
||||
u32 day = 1;
|
||||
if (args.size() > 1) {
|
||||
if (ctre::match<"^[0-9]+$">(args[1]))
|
||||
day = u32(std::stoul(args[1]));
|
||||
else
|
||||
fmt::print(stderr, "arg: {} is not a number\n", args[1]);
|
||||
}
|
||||
|
||||
switch (day) {
|
||||
case 1: return day01(args);
|
||||
// case 2: return day02(args);
|
||||
case 3: return day03(args);
|
||||
// case 4: return day04(args);
|
||||
case 5: return day05(args);
|
||||
case 6: return day06(args);
|
||||
// case 7: return day07(args);
|
||||
case 8: return day08(args);
|
||||
case 9: return day09(args);
|
||||
case 10: return day10(args);
|
||||
// case 11: return day11(args);
|
||||
case 14: return day14(args);
|
||||
case 16: return day16(args);
|
||||
case 17: return day17(args);
|
||||
default:
|
||||
return aoc::make_error(fmt::format("day {}", day), std::errc::not_supported);
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
}
|
||||
40
sol/24/aoc.hpp
Normal file
40
sol/24/aoc.hpp
Normal file
@@ -0,0 +1,40 @@
|
||||
#ifndef SOL_24_AOC_HPP
|
||||
#define SOL_24_AOC_HPP
|
||||
|
||||
#include <span>
|
||||
#include <expected>
|
||||
#include "aoc/utils.hpp"
|
||||
|
||||
#include "fmt/format.h"
|
||||
|
||||
namespace aoc24 {
|
||||
auto entry(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
|
||||
auto day01(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day02(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day03(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day04(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day05(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day06(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day07(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day08(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day09(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day10(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day11(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day12(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day13(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day14(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day15(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day16(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day17(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day18(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day19(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day20(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day21(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day22(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day23(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day24(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
auto day25(std::span<char const*> const& args) -> std::expected<void, aoc::error>;
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,68 @@
|
||||
#include <numeric>
|
||||
#include <algorithm>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
|
||||
auto aoc24::day01([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
constexpr auto filename = "./dat/24/re/01.txt";
|
||||
std::ifstream strm{filename, std::ios::in};
|
||||
if (!strm.is_open()) {
|
||||
return aoc::make_error(
|
||||
fmt::format("Error opening file: {}\n", filename),
|
||||
std::errc::file_exists
|
||||
);
|
||||
}
|
||||
|
||||
std::vector<std::uint32_t> a{};
|
||||
std::vector<std::uint32_t> b{};
|
||||
|
||||
std::string str{};
|
||||
while (strm) {
|
||||
auto const c = char(strm.peek());
|
||||
if (std::isdigit(c)) {
|
||||
str += char(strm.get());
|
||||
continue;
|
||||
}
|
||||
if (c == ' ') {
|
||||
if (!str.empty()) {
|
||||
a.emplace_back(std::stoi(str));
|
||||
str.clear();
|
||||
}
|
||||
}
|
||||
if (c == '\n') {
|
||||
if (!str.empty()) {
|
||||
b.emplace_back(std::stoi(str));
|
||||
str.clear();
|
||||
}
|
||||
}
|
||||
[[discard]]strm.get();
|
||||
}
|
||||
|
||||
fmt::print("a: {}, b: {}\n", a.size(), b.size());
|
||||
|
||||
std::sort(std::begin(a), std::end(a));
|
||||
std::sort(std::begin(b), std::end(b));
|
||||
|
||||
auto diff_view = std::views::zip(a, b) | std::views::transform([](auto const& p) {
|
||||
auto const [x, y] = p;
|
||||
return x > y ? x - y : y - x;
|
||||
});
|
||||
auto const sum = std::accumulate(std::begin(diff_view), std::end(diff_view), 0);
|
||||
|
||||
fmt::print("Part A: {}\n", std::abs(sum));
|
||||
|
||||
auto values = a | std::views::transform([&b](auto v) {
|
||||
return std::pair{v, b | std::views::filter([v](auto c) {
|
||||
return v == c; // Filter elements in `b` equal to `v`
|
||||
}) | std::ranges::to<std::vector>()};
|
||||
}) | std::ranges::to<std::vector>();
|
||||
|
||||
auto const meow = std::accumulate(std::begin(values), std::end(values), 0, [](auto const acc, auto const& pair) {
|
||||
return acc + std::int32_t(pair.first * pair.second.size());
|
||||
});
|
||||
|
||||
fmt::print("Part B: {}\n", meow);
|
||||
return {};
|
||||
}
|
||||
|
||||
104
sol/24/day02.cpp
104
sol/24/day02.cpp
@@ -0,0 +1,104 @@
|
||||
#include <fstream>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <ranges>
|
||||
#include <numeric>
|
||||
#include <cmath>
|
||||
#include <utility>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
|
||||
using namespace std::string_view_literals;
|
||||
using namespace aoc::types;
|
||||
|
||||
auto part_a(std::vector<std::vector<i32>> const& reports) -> void {
|
||||
auto const diffvec = reports | std::views::transform([](auto const& levels) {
|
||||
return levels | std::views::adjacent_transform<2>([](auto const& a, auto const& b) {
|
||||
return b - a;
|
||||
}) | std::ranges::to<std::vector>();
|
||||
}) | std::ranges::to<std::vector>();
|
||||
|
||||
auto answer = diffvec | std::views::filter([](auto const& levels) {
|
||||
auto const n = std::ranges::all_of(levels, [](auto v) { return v < 0; });
|
||||
auto const p = std::ranges::all_of(levels, [](auto v) { return v > 0; });
|
||||
auto const c = std::ranges::all_of(levels, [](auto v) { return std::abs(v) > 0 && std::abs(v) <= 3; });
|
||||
return (n || p) && c;
|
||||
});
|
||||
|
||||
auto const sum = std::ranges::distance(answer);
|
||||
fmt::print("Part A: {}\n", sum);
|
||||
|
||||
}
|
||||
|
||||
auto part_b(std::vector<std::vector<i32>> const& reports) -> void {
|
||||
auto const diffvec = reports | std::views::transform([](auto const& levels) {
|
||||
return levels | std::views::adjacent_transform<2>([](auto const& a, auto const& b) {
|
||||
return b - a;
|
||||
}) | std::ranges::to<std::vector>();
|
||||
}) | std::ranges::to<std::vector>();
|
||||
|
||||
auto const test_rule = [](std::vector<i32> const& levels) {
|
||||
auto const n = std::ranges::all_of(levels, [](auto v) { return v < 0; });
|
||||
auto const p = std::ranges::all_of(levels, [](auto v) { return v > 0; });
|
||||
auto const c = std::ranges::all_of(levels, [](auto v) { return std::abs(v) > 0 && std::abs(v) <= 3; });
|
||||
return (n || p) && c;
|
||||
};
|
||||
|
||||
auto nochange = diffvec | std::views::filter(test_rule);
|
||||
|
||||
auto unmet = std::views::zip(reports, diffvec) | std::views::filter([](auto const& vecs) {
|
||||
auto const& [levels, diffs] = vecs;
|
||||
auto const n = std::ranges::all_of(diffs, [](auto v) { return v < 0; });
|
||||
auto const p = std::ranges::all_of(diffs, [](auto v) { return v > 0; });
|
||||
auto const c = std::ranges::all_of(diffs, [](auto v) { return std::abs(v) > 0 && std::abs(v) <= 3; });
|
||||
return !(n || p) || !c;
|
||||
}) | std::views::transform([](auto const& vecs) {
|
||||
auto const& [levels, diffs] = vecs;
|
||||
return levels;
|
||||
});
|
||||
|
||||
auto refit = unmet | std::views::filter([&test_rule](auto const& levels) {
|
||||
std::vector<i32> vec{};
|
||||
for (std::size_t i = 0; i < levels.size(); ++i) {
|
||||
vec = levels;
|
||||
vec.erase(std::begin(vec) + std::ptrdiff_t(i));
|
||||
vec = vec
|
||||
| std::views::adjacent_transform<2>([](auto const& a, auto const& b) { return b - a; })
|
||||
| std::ranges::to<std::vector>();
|
||||
if (test_rule(vec)) return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
auto const first = std::ranges::distance(nochange);
|
||||
auto const second = std::ranges::distance(refit);
|
||||
|
||||
fmt::print("Part B: {}\n", first + second);
|
||||
|
||||
}
|
||||
|
||||
auto aoc24::day02([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
auto txtres = aoc::read_text("./dat/24/re/02.txt");
|
||||
// auto txtres = aoc::read_text("./dat/24/ex/02.txt");
|
||||
if (!txtres) return std::unexpected(txtres.error());
|
||||
auto const txt = *txtres;
|
||||
|
||||
auto const reports = txt | std::views::split("\n"sv)
|
||||
| std::views::transform([](auto const& str) { return std::string_view(str); })
|
||||
| std::views::filter([](auto const& str) { return !str.empty(); })
|
||||
| std::views::transform([](auto const& str) {
|
||||
return str | std::views::split(" "sv)
|
||||
| std::views::filter([](auto str) { return !str.empty(); })
|
||||
| std::views::transform([](auto const& num_str) {
|
||||
return std::stoi(std::string(std::begin(num_str), std::end(num_str)));
|
||||
})
|
||||
| std::ranges::to<std::vector>();
|
||||
}) | std::ranges::to<std::vector>();
|
||||
|
||||
part_a(reports);
|
||||
part_b(reports);
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
@@ -3,8 +3,10 @@
|
||||
#include <string>
|
||||
#include <ranges>
|
||||
#include <numeric>
|
||||
#include <vector>
|
||||
|
||||
#include "aoc/aoc.hpp"
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
#include "ctre.hpp"
|
||||
|
||||
@@ -157,8 +159,8 @@ private:
|
||||
if (peek() == '\n') {
|
||||
peek_consume();
|
||||
m_line = m_line + 1;
|
||||
m_col = 1;
|
||||
str += "\\n";
|
||||
m_col = 1;
|
||||
auto const& type = token_type::invalid;
|
||||
return token(str, type, token_type_category(type), m_line, col);
|
||||
}
|
||||
@@ -387,7 +389,7 @@ private:
|
||||
};
|
||||
}
|
||||
|
||||
auto aoc::entry([[maybe_unused]]std::vector<std::string_view> const& args) -> void {
|
||||
auto aoc24::day03([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
npr::lexer lexer{"./dat/24/re/03.txt"};
|
||||
npr::parser parser{};
|
||||
auto const tokens = lexer.tokenize();
|
||||
@@ -438,5 +440,6 @@ auto aoc::entry([[maybe_unused]]std::vector<std::string_view> const& args) -> vo
|
||||
auto const sumb = std::accumulate(std::begin(opb), std::end(opb), 0);
|
||||
|
||||
fmt::print("Part B: {}\n", sumb);
|
||||
return {};
|
||||
}
|
||||
|
||||
|
||||
181
sol/24/day04.cpp
Normal file
181
sol/24/day04.cpp
Normal file
@@ -0,0 +1,181 @@
|
||||
#include <fstream>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <ranges>
|
||||
#include <numeric>
|
||||
#include <cmath>
|
||||
#include <utility>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
#include "ctre.hpp"
|
||||
|
||||
namespace cms {
|
||||
using vecn = std::vector<std::uint8_t>;
|
||||
using matnxn = std::vector<vecn>;
|
||||
|
||||
auto read_text_matnxn(std::string const& path) -> matnxn {
|
||||
std::ifstream strm{path};
|
||||
if (!strm.is_open())
|
||||
throw std::runtime_error(fmt::format("Failed to open file {}", path));
|
||||
|
||||
matnxn text{};
|
||||
vecn cols{};
|
||||
while (!strm.eof()) {
|
||||
auto const c = static_cast<std::uint8_t>(strm.peek());
|
||||
if (c == '\n')
|
||||
text.emplace_back(std::move(cols));
|
||||
else
|
||||
cols.push_back(c);
|
||||
strm.get();
|
||||
}
|
||||
|
||||
return text;
|
||||
}
|
||||
}
|
||||
|
||||
auto part_a(cms::matnxn const& mat) -> void {
|
||||
std::vector<aoc::u8> pattern{'X', 'M', 'A', 'S'};
|
||||
|
||||
aoc::i32 hc = 0;
|
||||
aoc::i32 vc = 0;
|
||||
aoc::i32 xc = 0;
|
||||
|
||||
for (std::size_t i = 0; i < mat.size(); ++i) {
|
||||
auto const& cols = mat[i];
|
||||
|
||||
auto hview = cols | std::views::slide(4)
|
||||
| std::views::filter([&](auto const& str) {
|
||||
auto const a = std::ranges::all_of(
|
||||
std::views::zip(pattern, str), [](auto const& z) {
|
||||
return std::get<0>(z) == std::get<1>(z);
|
||||
});
|
||||
auto const b = std::ranges::all_of(
|
||||
std::views::zip(std::views::reverse(pattern), str),
|
||||
[](auto const& z) {
|
||||
return std::get<0>(z) == std::get<1>(z);
|
||||
});
|
||||
return a || b;
|
||||
});
|
||||
hc += std::ranges::distance(hview);
|
||||
|
||||
for (std::size_t j = 0; j < cols.size(); ++j) {
|
||||
// Vertical pattern
|
||||
bool is_v_match = true;
|
||||
bool is_rv_match = true;
|
||||
for (std::size_t y = 0; y < pattern.size(); ++y) {
|
||||
if (i + y >= mat.size()) {
|
||||
is_v_match = false;
|
||||
is_rv_match = false;
|
||||
break;
|
||||
}
|
||||
if (is_v_match)
|
||||
is_v_match = mat[i + y][j] == pattern[y];
|
||||
if (is_rv_match)
|
||||
is_rv_match = mat[i + y][j] == pattern[pattern.size() - y - 1];
|
||||
}
|
||||
|
||||
vc += is_v_match ? 1 : 0;
|
||||
vc += is_rv_match ? 1 : 0;
|
||||
|
||||
bool is_dr_match = true;
|
||||
bool is_drr_match = true;
|
||||
for (std::size_t x = 0; x < pattern.size(); ++x) {
|
||||
if (i + x >= mat.size() || j + x >= cols.size()) {
|
||||
is_dr_match = false;
|
||||
is_drr_match = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (is_dr_match)
|
||||
is_dr_match = mat[i + x][j + x] == pattern[x];
|
||||
if (is_drr_match)
|
||||
is_drr_match = mat[i + x][j + x] == pattern[pattern.size() - x - 1];
|
||||
}
|
||||
|
||||
xc += is_dr_match ? 1 : 0;
|
||||
xc += is_drr_match ? 1 : 0;
|
||||
|
||||
bool is_dl_match = true;
|
||||
bool is_dlr_match = true;
|
||||
for (std::size_t x = 0; x < pattern.size(); ++x) {
|
||||
if (i + x >= mat.size() || j + pattern.size() - 1 >= cols.size()) {
|
||||
is_dl_match = false;
|
||||
is_dlr_match = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (is_dl_match)
|
||||
is_dl_match = mat[i + x][j + pattern.size() - x - 1] == pattern[x];
|
||||
if (is_dlr_match)
|
||||
is_dlr_match = mat[i + x][j + pattern.size() - x - 1] == pattern[pattern.size() - x - 1];
|
||||
}
|
||||
|
||||
xc += is_dl_match ? 1 : 0;
|
||||
xc += is_dlr_match ? 1 : 0;
|
||||
}
|
||||
}
|
||||
|
||||
// fmt::print("{}\n", hc);
|
||||
// fmt::print("{}\n", vc);
|
||||
// fmt::print("{}\n", xc);
|
||||
fmt::print("Part A: {}\n", hc + vc + xc);
|
||||
}
|
||||
|
||||
auto part_b(cms::matnxn const& mat) -> void {
|
||||
std::vector<aoc::u8> pattern{'M', 'A', 'S'};
|
||||
|
||||
aoc::i32 xc = 0;
|
||||
|
||||
for (std::size_t i = 0; i < mat.size(); ++i) {
|
||||
auto const& cols = mat[i];
|
||||
|
||||
for (std::size_t j = 0; j < cols.size(); ++j) {
|
||||
bool is_dr_match = true;
|
||||
bool is_drr_match = true;
|
||||
for (std::size_t x = 0; x < pattern.size(); ++x) {
|
||||
if (i + x >= mat.size() || j + x >= cols.size()) {
|
||||
is_dr_match = false;
|
||||
is_drr_match = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (is_dr_match)
|
||||
is_dr_match = mat[i + x][j + x] == pattern[x];
|
||||
if (is_drr_match)
|
||||
is_drr_match = mat[i + x][j + x] == pattern[pattern.size() - x - 1];
|
||||
}
|
||||
|
||||
bool is_dl_match = true;
|
||||
bool is_dlr_match = true;
|
||||
for (std::size_t x = 0; x < pattern.size(); ++x) {
|
||||
if (i + x >= mat.size() || j + pattern.size() - 1 >= cols.size()) {
|
||||
is_dl_match = false;
|
||||
is_dlr_match = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (is_dl_match)
|
||||
is_dl_match = mat[i + x][j + pattern.size() - x - 1] == pattern[x];
|
||||
if (is_dlr_match)
|
||||
is_dlr_match = mat[i + x][j + pattern.size() - x - 1] == pattern[pattern.size() - x - 1];
|
||||
}
|
||||
|
||||
if ((is_dr_match || is_drr_match) && (is_dl_match || is_dlr_match)) xc += 1;
|
||||
}
|
||||
}
|
||||
|
||||
fmt::print("Part B: {}\n", xc);
|
||||
}
|
||||
|
||||
auto aoc24::day04([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
// auto mat = cms::read_text_matnxn("./dat/24/ex/04.txt");
|
||||
auto mat = cms::read_text_matnxn("./dat/24/re/04.txt");
|
||||
|
||||
part_a(mat);
|
||||
part_b(mat);
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
162
sol/24/day05.cpp
Normal file
162
sol/24/day05.cpp
Normal file
@@ -0,0 +1,162 @@
|
||||
#include <vector>
|
||||
#include <fstream>
|
||||
#include <expected>
|
||||
#include <system_error>
|
||||
#include <ranges>
|
||||
#include <string>
|
||||
#include <algorithm>
|
||||
#include <numeric>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
|
||||
using namespace aoc::types;
|
||||
|
||||
auto part_a(std::vector<std::vector<i32>> const& rules,
|
||||
std::vector<std::vector<i32>> const& updates) -> void {
|
||||
// std::ranges::for_each(order_rules, [](auto const& rule) {
|
||||
// std::ranges::for_each(rule, [](auto const& page) {
|
||||
// fmt::print("{} ", page);
|
||||
// });
|
||||
// fmt::print("\n");
|
||||
// });
|
||||
//
|
||||
// std::ranges::for_each(updates, [](auto const& update) {
|
||||
// std::ranges::for_each(update, [](auto const& page) {
|
||||
// fmt::print("{}, ", page);
|
||||
// });
|
||||
// fmt::print("\n");
|
||||
// });
|
||||
|
||||
auto valid_updates = updates | std::views::filter([&](auto const& pages) {
|
||||
return std::ranges::all_of(rules, [&](auto const& rule) {
|
||||
auto const a = std::ranges::find(pages, rule[0]);
|
||||
auto const b = std::ranges::find(pages, rule[1]);
|
||||
return a < b || a == std::end(pages) || b == std::end(pages) || a == b;
|
||||
});
|
||||
});
|
||||
|
||||
// std::ranges::for_each(valid_updates, [](auto const& update){
|
||||
// std::ranges::for_each(update, [](auto const& page) {
|
||||
// fmt::print("{}, ", page);
|
||||
// });
|
||||
// fmt::print("\n");
|
||||
// });
|
||||
|
||||
auto mids = valid_updates | std::views::transform([](auto const& updates) {
|
||||
return *std::ranges::next(std::begin(updates), updates.size() / 2);
|
||||
});
|
||||
|
||||
// std::ranges::for_each(mids, [](auto const& mid) {
|
||||
// fmt::print("{}\n", mid);
|
||||
// });
|
||||
|
||||
auto const sum = std::accumulate(std::begin(mids), std::end(mids), 0);
|
||||
fmt::print("Part A: {}\n", sum);
|
||||
}
|
||||
|
||||
auto part_b(std::vector<std::vector<i32>> const& rules,
|
||||
std::vector<std::vector<i32>> const& updates) -> void {
|
||||
auto valids = updates | std::views::filter([&](auto const& pages) {
|
||||
return std::ranges::all_of(rules, [&](auto const& rule) {
|
||||
auto const a = std::ranges::find(pages, rule[0]);
|
||||
auto const b = std::ranges::find(pages, rule[1]);
|
||||
return a < b || a == std::end(pages) || b == std::end(pages);
|
||||
});
|
||||
});
|
||||
|
||||
auto valids_mid = valids | std::views::transform([](auto const& updates) {
|
||||
return *std::ranges::next(std::begin(updates), updates.size() / 2);
|
||||
});
|
||||
|
||||
auto invalids = updates | std::views::filter([&](auto const& pages) {
|
||||
return !std::ranges::all_of(rules, [&](auto const& rule) {
|
||||
auto const a = std::ranges::find(pages, rule[0]);
|
||||
auto const b = std::ranges::find(pages, rule[1]);
|
||||
return a < b || a == std::end(pages) || b == std::end(pages);
|
||||
});
|
||||
});
|
||||
|
||||
auto invalid_rules = rules | std::views::filter([&](auto const& rule) {
|
||||
return !std::ranges::all_of(invalids, [&](auto const& pages) {
|
||||
auto const a = std::ranges::find(pages, rule[0]);
|
||||
auto const b = std::ranges::find(pages, rule[1]);
|
||||
return a < b || a == std::end(pages) || b == std::end(pages);
|
||||
});
|
||||
});
|
||||
|
||||
auto const a = std::accumulate(std::begin(valids_mid), std::end(valids_mid), 0);
|
||||
(void)a;
|
||||
|
||||
// std::ranges::for_each(valids, [](auto const& update){
|
||||
// std::ranges::for_each(update, [](auto const& page) {
|
||||
// fmt::print("{}, ", page);
|
||||
// });
|
||||
// fmt::print("\n");
|
||||
// });
|
||||
// fmt::print("--------------------------------------------------------------------------------\n");
|
||||
|
||||
std::ranges::for_each(invalid_rules, [](auto const& rules){
|
||||
std::ranges::for_each(rules, [](auto const& rule) {
|
||||
fmt::print("{} ", rule);
|
||||
});
|
||||
fmt::print("\n");
|
||||
});
|
||||
|
||||
std::ranges::for_each(invalids, [](auto const& update){
|
||||
std::ranges::for_each(update, [](auto const& page) {
|
||||
fmt::print("{}, ", page);
|
||||
});
|
||||
fmt::print("\n");
|
||||
});
|
||||
}
|
||||
|
||||
auto aoc24::day05([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
using namespace std::string_view_literals;
|
||||
auto txtres = aoc::read_text("./dat/24/ex/05.txt");
|
||||
// auto txtres = aoc::read_text("./dat/24/re/05.txt");
|
||||
if (!txtres) return std::unexpected(txtres.error());
|
||||
auto const txt = *txtres;
|
||||
|
||||
auto const not_empty = [](auto const& str) { return !str.empty(); };
|
||||
auto lines = txt | std::views::split("\n"sv)
|
||||
| std::views::transform([](auto const& str) { return std::string_view(str); });
|
||||
|
||||
auto rules_str = lines | std::views::take_while(not_empty)
|
||||
| std::ranges::to<std::vector>();
|
||||
auto updates_str = lines | std::views::drop_while(not_empty)
|
||||
| std::views::drop(1)
|
||||
| std::views::take_while(not_empty)
|
||||
| std::ranges::to<std::vector>();
|
||||
|
||||
// fmt::print("rules:\n");
|
||||
// std::ranges::for_each(rules_str, [](auto const& str) {
|
||||
// fmt::print(" \"{}\"\n", str);
|
||||
// });
|
||||
// fmt::print("\n");
|
||||
//
|
||||
// fmt::print("updates:\n");
|
||||
// std::ranges::for_each(updates_str, [](auto const& str) {
|
||||
// fmt::print(" \"{}\"\n", str);
|
||||
// });
|
||||
|
||||
auto order_rules = rules_str | std::views::transform([](auto const& str) {
|
||||
return str | std::views::split("|"sv)
|
||||
| std::views::transform([](auto const& num_str) {
|
||||
return std::stoi(std::string{std::begin(num_str), std::end(num_str)});
|
||||
}) | std::ranges::to<std::vector>();
|
||||
}) | std::ranges::to<std::vector>();
|
||||
|
||||
auto updates = updates_str | std::views::transform([](auto const& str) {
|
||||
return str | std::views::split(","sv)
|
||||
| std::views::transform([](auto const& num_str) {
|
||||
return std::stoi(std::string{std::begin(num_str), std::end(num_str)});
|
||||
}) | std::ranges::to<std::vector>();
|
||||
}) | std::ranges::to<std::vector>();
|
||||
|
||||
part_a(order_rules, updates);
|
||||
part_b(order_rules, updates);
|
||||
|
||||
return {};
|
||||
}
|
||||
149
sol/24/day06.cpp
Normal file
149
sol/24/day06.cpp
Normal file
@@ -0,0 +1,149 @@
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <ranges>
|
||||
#include <numeric>
|
||||
#include <cmath>
|
||||
#include <utility>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
|
||||
using namespace std::string_view_literals;
|
||||
using namespace aoc::types;
|
||||
|
||||
namespace lab {
|
||||
|
||||
class guard {
|
||||
public:
|
||||
guard(i64 x, i64 y) : m_row(y), m_col(x) { }
|
||||
|
||||
auto set_direction(i64 x, i64 y) -> void {
|
||||
m_dx = x;
|
||||
m_dy = y;
|
||||
}
|
||||
auto set_dx(i64 x) -> void { m_dx = x; }
|
||||
auto set_dy(i64 y) -> void { m_dy = y; }
|
||||
auto set_x(i64 v) -> void { m_col = v; }
|
||||
auto set_y(i64 v) -> void { m_row = v; }
|
||||
auto x() const -> i64 { return m_col; }
|
||||
auto y() const -> i64 { return m_row; }
|
||||
auto dx() const -> i64 { return m_dx; }
|
||||
auto dy() const -> i64 { return m_dy; }
|
||||
|
||||
auto move() -> void {
|
||||
m_row += m_dy;
|
||||
m_col += m_dx;
|
||||
}
|
||||
|
||||
private:
|
||||
i64 m_row;
|
||||
i64 m_col;
|
||||
i64 m_dx;
|
||||
i64 m_dy;
|
||||
};
|
||||
|
||||
class lab {
|
||||
public:
|
||||
lab(std::string const& map_str) {
|
||||
auto const lines = map_str
|
||||
| std::views::split("\n"sv)
|
||||
| std::views::transform([](auto const& str) {
|
||||
return std::string_view(std::begin(str), std::end(str));
|
||||
})
|
||||
| std::views::filter([](auto const& str) { return !str.empty(); })
|
||||
| std::views::transform([](auto const& str) {
|
||||
return str | std::views::filter([](auto const& ch) { return ch != '\n'; })
|
||||
| std::ranges::to<std::vector>();
|
||||
}) | std::ranges::to<std::vector>();
|
||||
|
||||
m_rows = lines.size();
|
||||
m_cols = lines[0].size();
|
||||
std::ranges::for_each(lines, [&](auto const& str) {
|
||||
std::ranges::for_each(str, [&](auto const& ch) {
|
||||
m_data.emplace_back(ch);
|
||||
});
|
||||
});
|
||||
|
||||
auto it = std::find_if(std::begin(m_data), std::end(m_data), [](auto const ch) { return ch == '^'; });
|
||||
if (it != std::end(m_data)) m_start.set_direction(0, -1);
|
||||
|
||||
auto const dist = usize(it - std::begin(m_data));
|
||||
m_start.set_x(i64(dist - (dist / m_cols * m_rows)));
|
||||
m_start.set_y(i64(dist / m_cols));
|
||||
}
|
||||
|
||||
auto start() const -> guard { return m_start; }
|
||||
auto rows() const -> usize { return m_rows; }
|
||||
auto cols() const -> usize { return m_cols; }
|
||||
|
||||
auto is_obstruction(usize x, usize y) const -> bool {
|
||||
if (x >= m_cols || y >= m_rows) return false;
|
||||
return m_data[y * m_cols + x] == '#';
|
||||
}
|
||||
|
||||
auto is_obstruction(guard const& g) const -> bool {
|
||||
return is_obstruction(usize(g.x()), usize(g.y()));
|
||||
}
|
||||
|
||||
auto is_outside(usize x, usize y) const -> bool {
|
||||
return x >= m_cols || y >= m_rows;
|
||||
}
|
||||
|
||||
auto is_outside(guard const& g) const -> bool {
|
||||
return is_outside(usize(g.x()), usize(g.y()));
|
||||
}
|
||||
|
||||
private:
|
||||
usize m_rows{};
|
||||
usize m_cols{};
|
||||
std::vector<u8> m_data{};
|
||||
guard m_start{0, 0};
|
||||
};
|
||||
}
|
||||
|
||||
auto part_a(lab::lab const& map) -> void {
|
||||
// for (usize i = 0; i < map.rows; ++i) {
|
||||
// for (usize j = 0; j < map.cols; ++j) {
|
||||
// fmt::print("{} ", c8(map.data[i * map.cols + j]));
|
||||
// }
|
||||
// fmt::print("\n");
|
||||
// }
|
||||
std::vector<u8> cpy{};
|
||||
cpy.resize(map.rows() * map.cols());
|
||||
std::fill(std::begin(cpy), std::end(cpy), 0);
|
||||
|
||||
auto guard = map.start();
|
||||
|
||||
while (!map.is_outside(guard)) {
|
||||
cpy[usize(guard.y()) * map.cols() + usize(guard.x())] = 1;
|
||||
lab::guard guard_cpy = guard;
|
||||
guard_cpy.move();
|
||||
|
||||
if (map.is_obstruction(guard_cpy)) {
|
||||
if (guard_cpy.dy() == -1)
|
||||
guard.set_direction(1, 0);
|
||||
else if (guard_cpy.dy() == 1)
|
||||
guard.set_direction(-1, 0);
|
||||
else if (guard_cpy.dx() == -1)
|
||||
guard.set_direction(0, -1);
|
||||
else if (guard_cpy.dx() == 1)
|
||||
guard.set_direction(0, 1);
|
||||
}
|
||||
guard.move();
|
||||
}
|
||||
|
||||
auto const sum = std::accumulate(std::begin(cpy), std::end(cpy), 0);
|
||||
fmt::print("Part A: {}\n", sum);
|
||||
}
|
||||
|
||||
auto aoc24::day06([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
auto res = aoc::read_text("./dat/24/re/06.txt");
|
||||
if (!res) return std::unexpected(res.error());
|
||||
auto const map_txt = *res;
|
||||
|
||||
lab::lab map{map_txt};
|
||||
part_a(map);
|
||||
|
||||
return {};
|
||||
}
|
||||
163
sol/24/day07.cpp
Normal file
163
sol/24/day07.cpp
Normal file
@@ -0,0 +1,163 @@
|
||||
#include <vector>
|
||||
#include <ranges>
|
||||
#include <numeric>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
|
||||
using namespace aoc::types;
|
||||
using namespace std::string_view_literals;
|
||||
|
||||
namespace rbr {
|
||||
enum class op {
|
||||
add,
|
||||
mul,
|
||||
cat,
|
||||
};
|
||||
|
||||
auto op_to_str(rbr::op value) -> char const* {
|
||||
switch(value) {
|
||||
case op::add: return "+";
|
||||
case op::mul: return "*";
|
||||
case op::cat: return "||";
|
||||
default: return "none";
|
||||
}
|
||||
}
|
||||
|
||||
class expr {
|
||||
public:
|
||||
expr(u64 eres, std::vector<u64> const& operands)
|
||||
: m_eres(eres), m_operands(operands) {
|
||||
find_res();
|
||||
}
|
||||
|
||||
auto find_res() -> bool {
|
||||
auto const max = u64(std::pow(3, m_operands.size()));
|
||||
for (u64 t = 0; t < max; ++t) {
|
||||
m_ops = t;
|
||||
m_res = 0;
|
||||
compute();
|
||||
if (m_res == m_eres) break;
|
||||
}
|
||||
return m_res == m_eres;
|
||||
}
|
||||
auto compute() -> void {
|
||||
std::vector<u64> ops{};
|
||||
for (usize i = 0; i < m_operands.size() - 1; ++i) {
|
||||
auto const mode = op((m_ops >> (i * 2)) & 0x03);
|
||||
if (mode == op::mul) {
|
||||
ops.push_back(std::stoull(fmt::format("{}{}", m_operands[i + 0], m_operands[i + 1])));
|
||||
++i;
|
||||
m_ops = m_ops | ((m_ops & ~u64(mode)) >> 2);
|
||||
continue;
|
||||
}
|
||||
ops.push_back(m_operands[i]);
|
||||
}
|
||||
|
||||
for (usize i = 0; i < ops.size(); ++i) {
|
||||
if (i == 0) {
|
||||
m_res = ops[0];
|
||||
continue;
|
||||
}
|
||||
auto const a = m_res;
|
||||
auto const b = ops[i];
|
||||
auto const am = op((m_ops >> (i * 2)) & 0x03);
|
||||
if (am == op::add)
|
||||
m_res = a + b;
|
||||
else if (am == op::mul)
|
||||
m_res = a * b;
|
||||
}
|
||||
}
|
||||
auto res() const -> u64 { return m_eres; }
|
||||
auto eres() const -> u64 { return m_eres; }
|
||||
auto operands() const -> std::vector<u64> const& { return m_operands; }
|
||||
auto ops() const -> u64 const& { return m_ops; }
|
||||
auto valid() const -> bool { return m_res == m_eres; };
|
||||
|
||||
auto str() const -> std::string {
|
||||
using namespace std::string_literals;
|
||||
std::string str{"expr {"};
|
||||
str += " expect: "s + std::to_string(m_eres) + ",";
|
||||
str += " expr: "s;
|
||||
str += std::to_string(m_res) + " = ";
|
||||
for (usize i = 0; i < m_operands.size(); ++i) {
|
||||
auto const& operand = m_operands[i + 0];
|
||||
str += std::to_string(operand);
|
||||
if (i == m_operands.size() - 1) break;
|
||||
auto const mode = op((m_ops >> (i * 2)) & 0x03);
|
||||
if (mode == op::add)
|
||||
str += " + ";
|
||||
else if (mode == op::mul)
|
||||
str += " * ";
|
||||
else
|
||||
str += " || ";
|
||||
}
|
||||
str += " }";
|
||||
return str;
|
||||
}
|
||||
|
||||
private:
|
||||
u64 m_eres;
|
||||
std::vector<u64> m_operands;
|
||||
u64 m_res{0x00};
|
||||
u64 m_ops{0x00};
|
||||
};
|
||||
|
||||
auto str_to_op(std::string const& str) -> expr {
|
||||
auto const splitc = str | std::views::split(": "sv)
|
||||
| std::views::transform([](auto const& str){
|
||||
return std::string(std::begin(str), std::end(str));
|
||||
})
|
||||
| std::views::filter([](auto const& str) { return !str.empty(); })
|
||||
| std::ranges::to<std::vector>();
|
||||
|
||||
u64 const a = std::stoull(splitc[0]);
|
||||
auto const b = splitc[1] | std::views::split(" "sv)
|
||||
| std::views::transform([](auto const& str){
|
||||
return std::string(std::begin(str), std::end(str));
|
||||
})
|
||||
| std::views::filter([](auto const& str) { return !str.empty(); })
|
||||
| std::views::transform([](auto const& str) { return std::stoull(str); })
|
||||
| std::ranges::to<std::vector>();
|
||||
return {a, b};
|
||||
}
|
||||
}
|
||||
|
||||
auto aoc24::day07([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
auto res = aoc::read_text("./dat/24/ex/07.txt");
|
||||
// auto res = aoc::read_text("./dat/24/re/07.txt");
|
||||
if (!res) return std::unexpected(res.error());
|
||||
auto const txt = *res;
|
||||
|
||||
u64 test = 0b1100'1100;
|
||||
fmt::print("{:b}\n", test);
|
||||
|
||||
test = (test & ~0b1100u) >> 2;
|
||||
fmt::print("{:b}\n", test);
|
||||
|
||||
// fmt::print("{}\n", rbr::op_to_str(rbr::op(test >> 2)));
|
||||
|
||||
// auto exprs = txt | std::views::split("\n"sv)
|
||||
// | std::views::transform([](auto const& str){
|
||||
// return std::string(std::begin(str), std::end(str));
|
||||
// })
|
||||
// | std::views::filter([](auto const& str) { return !str.empty(); })
|
||||
// | std::views::transform(rbr::str_to_op);
|
||||
|
||||
// auto const valids = exprs | std::views::filter([](auto const expr) { return expr.valid(); })
|
||||
// | std::views::transform([](auto const& e) { return f64(e.eres()); })
|
||||
// | std::ranges::to<std::vector>();
|
||||
//
|
||||
// auto const sum = std::accumulate(std::begin(valids), std::end(valids), 0.0);
|
||||
|
||||
// fmt::print("{}\n", sum);
|
||||
|
||||
// auto const validsex = exprs | std::views::filter([](auto const expr) { return !expr.valid(); })
|
||||
// | std::ranges::to<std::vector>();
|
||||
//
|
||||
// for (auto const& exp : exprs) {
|
||||
// fmt::print("{}\n", exp.str());
|
||||
// }
|
||||
return {};
|
||||
}
|
||||
7
sol/24/day08.cpp
Normal file
7
sol/24/day08.cpp
Normal file
@@ -0,0 +1,7 @@
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
|
||||
auto aoc24::day08([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
return aoc::make_error("", std::errc::not_supported);
|
||||
}
|
||||
243
sol/24/day09.cpp
Normal file
243
sol/24/day09.cpp
Normal file
@@ -0,0 +1,243 @@
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <numeric>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
|
||||
using namespace aoc::types;
|
||||
|
||||
namespace dsk {
|
||||
enum class format : u8 {
|
||||
file,
|
||||
free,
|
||||
};
|
||||
|
||||
class block {
|
||||
public:
|
||||
block(u32 id, dsk::format format) : m_id(id), m_format(format) {}
|
||||
|
||||
auto id() const -> u32 { return m_id; }
|
||||
auto format() const -> dsk::format { return m_format; }
|
||||
auto str() const -> std::string {
|
||||
using namespace std::string_literals;
|
||||
std::string str{"{"};
|
||||
auto const id = m_id == aoc::lim<u32>::max() ? "na" : std::to_string(m_id);
|
||||
str += " id: "s + id + ",";
|
||||
str += " type: "s + std::to_string(u32(m_format)) + ",";
|
||||
str += " }";
|
||||
return str;
|
||||
}
|
||||
|
||||
private:
|
||||
u32 m_id;
|
||||
dsk::format m_format;
|
||||
};
|
||||
|
||||
class page_block {
|
||||
public:
|
||||
page_block(u32 id, dsk::format format, u32 size)
|
||||
: m_format(format), m_size(size) {
|
||||
for (u32 i = 0; i < m_size; ++i) {
|
||||
m_blocks.emplace_back(id, format);
|
||||
}
|
||||
}
|
||||
|
||||
auto format() const -> dsk::format { return m_format; }
|
||||
auto size() const -> u32 { return m_size; }
|
||||
auto blocks() const -> std::vector<block> const& { return m_blocks; }
|
||||
|
||||
auto str() const -> std::string {
|
||||
using namespace std::string_literals;
|
||||
std::string str{"page_block {"};
|
||||
str += " size: "s + std::to_string(u32(m_size)) + ",";
|
||||
str += " data: [ "s;
|
||||
for (usize i = 0; i < m_blocks.size(); ++i) {
|
||||
str += fmt::format("{}: ", i);
|
||||
str += m_blocks[i].str();
|
||||
if (i < m_blocks.size() - 1) str += ", ";
|
||||
else if (i == m_blocks.size() - 1) str += " ";
|
||||
}
|
||||
str += "]";
|
||||
str += " }";
|
||||
return str;
|
||||
}
|
||||
|
||||
private:
|
||||
dsk::format m_format;
|
||||
u32 m_size;
|
||||
std::vector<block> m_blocks{};
|
||||
};
|
||||
|
||||
class disk_map {
|
||||
public:
|
||||
disk_map(std::string const& input_str) {
|
||||
m_pages = input_str | std::views::filter([](auto const& c) { return c != '\n'; })
|
||||
| std::views::transform(
|
||||
[i = 0u, id = 0u](auto const& size_char) mutable {
|
||||
auto const f = format(i++ % 2);
|
||||
auto curr_id = id;
|
||||
if (f == format::file)
|
||||
++id;
|
||||
else
|
||||
curr_id = aoc::lim<u32>::max();
|
||||
return page_block(curr_id, f, u32(size_char - '0'));
|
||||
}
|
||||
) | std::ranges::to<std::vector>();
|
||||
}
|
||||
|
||||
auto pages() const -> std::vector<page_block> {
|
||||
return m_pages;
|
||||
}
|
||||
|
||||
auto to_blocks(std::vector<page_block> const& pages) const -> std::vector<block> {
|
||||
std::vector<block> tmp{};
|
||||
for (usize i = 0; i < pages.size(); ++i) {
|
||||
auto const& blocks = pages[i].blocks();
|
||||
for (usize j = 0; j < blocks.size(); ++j) {
|
||||
tmp.push_back(blocks[j]);
|
||||
}
|
||||
}
|
||||
return tmp;
|
||||
}
|
||||
|
||||
auto defrag_block(std::vector<block> const& blocks) -> std::vector<block> {
|
||||
if (blocks.size() == 0) return {};
|
||||
|
||||
std::vector<block> cpy = blocks;
|
||||
usize free_index = 0;
|
||||
usize file_index = cpy.size() - 1;
|
||||
while (free_index < cpy.size()) {
|
||||
free_index = next_free(cpy, free_index);
|
||||
if (free_index >= cpy.size() - 1) break;
|
||||
file_index = next_file(cpy, file_index);
|
||||
if (file_index == 0) break;
|
||||
|
||||
if (free_index >= file_index) break;
|
||||
std::swap(cpy[free_index], cpy[file_index]);
|
||||
}
|
||||
return cpy;
|
||||
}
|
||||
|
||||
// auto defrag_page(std::vector<page_block> const& pages) -> std::vector<page_block> {
|
||||
// if (pages.size() == 0) return {};
|
||||
//
|
||||
// std::vector<page_block> cpy = pages;
|
||||
// usize free_index = 0;
|
||||
// usize file_index = cpy.size() - 1;
|
||||
// while (free_index < cpy.size()) {
|
||||
// free_index = next_page_free(cpy, free_index);
|
||||
// if (free_index >= cpy.size() - 1) break;
|
||||
// auto const& tmp = cpy[free_index];
|
||||
//
|
||||
// file_index = next_page_file(cpy, file_index, tmp.size());
|
||||
// if (file_index == 0) break;
|
||||
//
|
||||
// if (free_index >= file_index) break;
|
||||
//
|
||||
// fmt::print("{}, {}\n", file_index, free_index);
|
||||
// std::swap(cpy[free_index], cpy[file_index]);
|
||||
// }
|
||||
//
|
||||
// return cpy;
|
||||
// }
|
||||
|
||||
auto checksum(std::vector<block> const& blocks) const -> u64 {
|
||||
u64 sum = 0;
|
||||
for (usize i = 0; i < blocks.size(); ++i) {
|
||||
auto const& block = blocks[i];
|
||||
if (block.format() == format::free) break;
|
||||
sum += i * block.id();
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
auto debug_str(std::vector<block> const& blocks) const -> std::string {
|
||||
using namespace std::string_literals;
|
||||
std::string str{};
|
||||
|
||||
for (usize i = 0; i < blocks.size(); ++i) {
|
||||
auto const& b = blocks[i];
|
||||
if (b.format() == format::file) {
|
||||
str += fmt::format("{}", b.id());
|
||||
if (b.id() > 9) str += "'";
|
||||
} else {
|
||||
str += ".";
|
||||
}
|
||||
}
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
auto str() const -> std::string {
|
||||
using namespace std::string_literals;
|
||||
std::string str{"disk_map [\n"};
|
||||
auto const blocks = to_blocks(m_pages);
|
||||
|
||||
for (usize i = 0; i < blocks.size(); ++i) {
|
||||
str += " "s + blocks[i].str();
|
||||
if (i < blocks.size() - 1)
|
||||
str += ",\n";
|
||||
}
|
||||
str += "\n]";
|
||||
return str;
|
||||
}
|
||||
|
||||
private:
|
||||
auto next_free(std::vector<block> const& blocks, usize start) const -> usize {
|
||||
while (start < blocks.size()) {
|
||||
if (blocks[start].format() == format::free)
|
||||
break;
|
||||
++start;
|
||||
}
|
||||
return start;
|
||||
}
|
||||
|
||||
auto next_file(std::vector<block> const& blocks, usize start) const -> usize {
|
||||
while (start >= 0) {
|
||||
if (blocks[start].format() == format::file)
|
||||
break;
|
||||
--start;
|
||||
}
|
||||
return start;
|
||||
}
|
||||
|
||||
auto next_page_free(std::vector<page_block> const& pages, usize start) const -> usize {
|
||||
while (start < pages.size()) {
|
||||
if (pages[start].format() == format::free)
|
||||
break;
|
||||
++start;
|
||||
}
|
||||
return start;
|
||||
}
|
||||
|
||||
auto next_page_file(std::vector<page_block> const& pages, usize start, u32 size) const -> usize {
|
||||
while (start >= 0) {
|
||||
if (pages[start].format() == format::file && pages[start].size() <= size)
|
||||
break;
|
||||
--start;
|
||||
}
|
||||
return start;
|
||||
}
|
||||
|
||||
private:
|
||||
std::vector<page_block> m_pages{};
|
||||
};
|
||||
}
|
||||
|
||||
auto aoc24::day09([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
auto res = aoc::read_text("./dat/24/ex/09.txt");
|
||||
// auto res = aoc::read_text("./dat/24/re/09.txt");
|
||||
if (!res) return std::unexpected(res.error());
|
||||
auto const txt = *res;
|
||||
|
||||
dsk::disk_map dsk{txt};
|
||||
fmt::print("{}\n", dsk.debug_str(dsk.to_blocks(dsk.pages())));
|
||||
auto const bl = dsk.defrag_block(dsk.to_blocks(dsk.pages()));
|
||||
fmt::print("{}\n", dsk.debug_str(bl));
|
||||
fmt::print("{}\n", dsk.checksum(bl));
|
||||
|
||||
return {};
|
||||
}
|
||||
91
sol/24/day10.cpp
Normal file
91
sol/24/day10.cpp
Normal file
@@ -0,0 +1,91 @@
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <numeric>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
|
||||
using namespace aoc::types;
|
||||
using namespace std::string_view_literals;
|
||||
|
||||
namespace lpf {
|
||||
using edge_t = std::pair<class node, class node>;
|
||||
using edges_t = std::vector<edge_t>;
|
||||
|
||||
class trail {
|
||||
public:
|
||||
trail(std::string const& str) {
|
||||
auto lines = str | std::views::split("\n"sv)
|
||||
| std::views::transform(
|
||||
[](auto const& c_str) {
|
||||
return std::string_view(
|
||||
std::begin(c_str),
|
||||
std::end(c_str)
|
||||
);
|
||||
})
|
||||
| std::views::filter([](auto const& strv) { return !strv.empty(); })
|
||||
| std::ranges::to<std::vector>();
|
||||
|
||||
m_rows = lines.size();
|
||||
m_cols = std::begin(lines)->size();
|
||||
|
||||
std::ranges::for_each(lines, [&](auto const& str) {
|
||||
std::ranges::for_each(str, [&](auto const& ch) {
|
||||
if (std::isdigit(ch)) m_data.emplace_back(ch - '0');
|
||||
else m_data.emplace_back(0xFF);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
auto at(usize row, usize col) const -> u8 {
|
||||
if (row >= m_rows || col >= m_cols) return 0;
|
||||
return m_data[row * m_cols + col];
|
||||
}
|
||||
auto rows() const -> usize { return m_rows; }
|
||||
auto cols() const -> usize { return m_cols; }
|
||||
auto data() const -> std::vector<u8> const& { return m_data; }
|
||||
|
||||
private:
|
||||
usize m_rows;
|
||||
usize m_cols;
|
||||
std::vector<u8> m_data;
|
||||
};
|
||||
|
||||
class node {
|
||||
public:
|
||||
node(i32 id, i32 value, edges_t const& edges)
|
||||
: m_id(id), m_value(value), m_edges(edges) {}
|
||||
|
||||
auto operator==(node const& other) const -> bool {
|
||||
return m_id == other.m_id && m_value == other.m_value;
|
||||
}
|
||||
|
||||
auto id() const -> i32 { return m_id; }
|
||||
auto value() const -> i32 { return m_value; }
|
||||
auto edges() const -> edges_t const& { return m_edges; }
|
||||
|
||||
private:
|
||||
i32 m_id;
|
||||
i32 m_value;
|
||||
edges_t m_edges;
|
||||
};
|
||||
|
||||
class graph {
|
||||
public:
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
auto aoc24::day10([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
auto res = aoc::read_text("./dat/24/ex/10a.txt");
|
||||
if (!res) return std::unexpected(res.error());
|
||||
auto const txt = *res;
|
||||
|
||||
lpf::trail trail{txt};
|
||||
|
||||
return {};
|
||||
}
|
||||
142
sol/24/day11.cpp
Normal file
142
sol/24/day11.cpp
Normal file
@@ -0,0 +1,142 @@
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <numeric>
|
||||
#include <thread>
|
||||
#include <functional>
|
||||
#include <mutex>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
|
||||
using namespace aoc::types;
|
||||
using namespace std::string_view_literals;
|
||||
|
||||
namespace ms {
|
||||
class magic {
|
||||
public:
|
||||
magic(std::string const& str) {
|
||||
m_stones = str | std::views::filter([](auto const& c) { return c != '\n'; })
|
||||
| std::views::split(" "sv)
|
||||
| std::views::transform([](auto const& c_str) {
|
||||
return i64(std::stoll(std::string(std::begin(c_str), std::end(c_str))));
|
||||
}) | std::ranges::to<std::vector>();
|
||||
}
|
||||
|
||||
auto blink() -> void {
|
||||
std::vector<i64> stones{};
|
||||
for (usize i = 0; i < m_stones.size(); ++i) {
|
||||
auto const stone = m_stones[i];
|
||||
auto const str = std::to_string(stone);
|
||||
|
||||
if (stone == 0) stones.emplace_back(1);
|
||||
else if (str.length() % 2 == 0) {
|
||||
auto const a = std::stoll(str.substr(0, str.length() / 2));
|
||||
auto const b = std::stoll(str.substr(str.length() / 2));
|
||||
stones.emplace_back(a);
|
||||
stones.emplace_back(b);
|
||||
} else {
|
||||
stones.emplace_back(stone * 2024);
|
||||
}
|
||||
}
|
||||
|
||||
m_stones = stones;
|
||||
}
|
||||
|
||||
auto blink(usize order, std::span<i64> const& stones) -> void {
|
||||
std::vector<i64> compute{};
|
||||
|
||||
for (usize i = 0; i < stones.size(); ++i) {
|
||||
auto const stone = stones[i];
|
||||
auto const str = std::to_string(stone);
|
||||
|
||||
if (stone == 0) compute.emplace_back(1);
|
||||
else if (str.length() % 2 == 0) {
|
||||
fmt::print("{}\n", str);
|
||||
auto const a = std::stoll(str.substr(0, str.length() / 2));
|
||||
auto const b = std::stoll(str.substr(str.length() / 2));
|
||||
compute.emplace_back(a);
|
||||
compute.emplace_back(b);
|
||||
} else {
|
||||
compute.emplace_back(stone * 2024);
|
||||
}
|
||||
}
|
||||
|
||||
m_mutex.lock();
|
||||
m_tmp.push_back({order, compute});
|
||||
m_mutex.unlock();
|
||||
}
|
||||
|
||||
auto size() const -> usize { return m_stones.size(); }
|
||||
|
||||
auto join(i32 current) -> void {
|
||||
std::sort(std::begin(m_tmp), std::end(m_tmp), [](auto const& a, auto const& b) {
|
||||
return a.first < b.first;
|
||||
});
|
||||
|
||||
m_stones = {};
|
||||
for (usize i = 0; i < m_tmp.size(); ++i) {
|
||||
for (usize j = 0; j < m_tmp[i].second.size(); ++j) {
|
||||
m_stones.push_back(m_tmp[i].second[j]);
|
||||
}
|
||||
}
|
||||
m_tmp = {};
|
||||
(void)current;
|
||||
|
||||
// fmt::print("join... {}, {}\n", current, m_stones.size());
|
||||
}
|
||||
|
||||
auto data() const -> std::vector<i64> const& { return m_stones; }
|
||||
auto str() const -> std::string {
|
||||
std::string str{};
|
||||
for (usize i = 0; i < m_stones.size(); ++i) {
|
||||
str += std::to_string(m_stones[i]);
|
||||
if (i < m_stones.size() - 1) str += " ";
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
private:
|
||||
std::vector<i64> m_stones{};
|
||||
std::vector<std::pair<usize, std::vector<i64>>> m_tmp{};
|
||||
std::mutex m_mutex{};
|
||||
};
|
||||
}
|
||||
|
||||
auto aoc24::day11([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
auto res = aoc::read_text("./dat/24/re/11.txt");
|
||||
// auto res = aoc::read_text("./dat/24/ex/11b.txt");
|
||||
if (!res) return std::unexpected(res.error());
|
||||
auto const txt = *res;
|
||||
|
||||
ms::magic magic{txt};
|
||||
fmt::print("{}\n", magic.str());
|
||||
|
||||
auto const max_threads = std::thread::hardware_concurrency();
|
||||
|
||||
for (i32 i = 0; i < 75; ++i) {
|
||||
auto stones = magic.data();
|
||||
auto chunk_size = stones.size() / max_threads;
|
||||
if (chunk_size == 0) chunk_size = stones.size();
|
||||
|
||||
std::vector<std::thread> threads{};
|
||||
for (usize k = 0; k < max_threads; ++k) {
|
||||
auto start_index = k * chunk_size;
|
||||
auto end_index = std::min((k + 1) * chunk_size, stones.size());
|
||||
if (start_index >= stones.size()) break;
|
||||
|
||||
std::span<i64> sp{stones};
|
||||
std::span<i64> split = sp.subspan(start_index, end_index);
|
||||
threads.emplace_back([&]{ magic.blink(k, split); });
|
||||
}
|
||||
for (usize k = 0; k < threads.size(); ++k) {
|
||||
threads[k].join();
|
||||
}
|
||||
magic.join(i);
|
||||
}
|
||||
|
||||
fmt::print("stones: {}\n", magic.size());
|
||||
|
||||
return {};
|
||||
}
|
||||
27
sol/24/day12.cpp
Normal file
27
sol/24/day12.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <numeric>
|
||||
#include <thread>
|
||||
#include <functional>
|
||||
#include <mutex>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
|
||||
using namespace aoc::types;
|
||||
using namespace std::string_view_literals;
|
||||
|
||||
namespace gmf {}
|
||||
|
||||
auto aoc24::day11([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
auto res = aoc::read_text("./dat/24/re/12.txt");
|
||||
// auto res = aoc::read_text("./dat/24/ex/12a.txt");
|
||||
if (!res) return std::unexpected(res.error());
|
||||
auto const txt = *res;
|
||||
|
||||
fmt::print("{}\n", txt);
|
||||
|
||||
return {};
|
||||
}
|
||||
21
sol/24/day14.cpp
Normal file
21
sol/24/day14.cpp
Normal file
@@ -0,0 +1,21 @@
|
||||
#include <vector>
|
||||
#include <ranges>
|
||||
#include <numeric>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
|
||||
using namespace aoc::types;
|
||||
using namespace std::string_view_literals;
|
||||
|
||||
namespace ebh {
|
||||
}
|
||||
|
||||
auto aoc24::day14([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
// auto res = aoc::read_text("./dat/24/ex/07.txt");
|
||||
auto res = aoc::read_text("./dat/24/re/07.txt");
|
||||
if (!res) return std::unexpected(res.error());
|
||||
auto const txt = *res;
|
||||
return {};
|
||||
}
|
||||
139
sol/24/day16.cpp
Normal file
139
sol/24/day16.cpp
Normal file
@@ -0,0 +1,139 @@
|
||||
#include <vector>
|
||||
#include <ranges>
|
||||
#include <numeric>
|
||||
#include <memory>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
#include "stb_image_write.h"
|
||||
|
||||
using namespace aoc::types;
|
||||
using namespace std::string_view_literals;
|
||||
|
||||
namespace rme {
|
||||
struct edge {
|
||||
u64 a{0x00};
|
||||
u64 b{0x00};
|
||||
|
||||
auto str() const -> std::string {
|
||||
if (b == 0) return "nil";
|
||||
return fmt::format("{},{}", (b >> 32), b & 0xFFFFFFFF);
|
||||
}
|
||||
};
|
||||
|
||||
struct node {
|
||||
u64 id;
|
||||
edge n;
|
||||
edge s;
|
||||
edge e;
|
||||
edge w;
|
||||
|
||||
auto str() const -> std::string {
|
||||
std::string str{"node {"};
|
||||
str += " id: " + fmt::format("{},{}", (id >> 32) & 0xFFFFFFFF, id & 0xFFFFFFFF) + ",";
|
||||
if (n.b != 0)
|
||||
str += " n -> " + n.str() + ",";
|
||||
if (s.b != 0)
|
||||
str += " s -> " + s.str() + ",";
|
||||
if (e.b != 0)
|
||||
str += " e -> " + e.str() + ",";
|
||||
if (w.b != 0)
|
||||
str += " w -> " + w.str();
|
||||
str += " }";
|
||||
return str;
|
||||
}
|
||||
};
|
||||
|
||||
class graph {
|
||||
public:
|
||||
graph(std::string const& maze_str) : m_start(0), m_exit(0) {
|
||||
build(maze_str);
|
||||
|
||||
for (auto const& node : m_nodes) {
|
||||
fmt::print("{}\n", node.str());
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
auto build(std::string const& maze) -> void {
|
||||
auto const lines = maze | aoc::split("\n"sv)
|
||||
| aoc::map_to_sv
|
||||
| aoc::filter_non_empty
|
||||
| std::ranges::to<std::vector>();
|
||||
|
||||
m_rows = lines.size();
|
||||
for (usize i = 0; i < lines.size(); ++i) {
|
||||
auto const& str = lines[i];
|
||||
m_cols = str.size();
|
||||
for (usize j = 0; j < m_cols; ++j) {
|
||||
auto const c = str[j];
|
||||
node n{};
|
||||
auto const id = u64((u64(i + 1) << 32) | (j + 1));
|
||||
if (c == '#' || c == '\n') continue;
|
||||
if (c == 'S') m_start = id;
|
||||
if (c == 'E') m_exit = id;
|
||||
n.id = id;
|
||||
|
||||
auto const n_e = lines[i - 1][j];
|
||||
auto const s_e = lines[i + 1][j];
|
||||
auto const e_e = lines[i][j - 1];
|
||||
auto const w_e = lines[i][j + 1];
|
||||
|
||||
if (n_e != '#') {
|
||||
n.n = {
|
||||
.a = n.id,
|
||||
.b = u64((u64(i - 2) << 32) | (j + 1))
|
||||
};
|
||||
m_edges.emplace_back(n.n);
|
||||
}
|
||||
if (s_e != '#') {
|
||||
n.s = {
|
||||
.a = n.id,
|
||||
.b = u64((u64(i + 2) << 32) | (j + 1))
|
||||
};
|
||||
m_edges.emplace_back(n.s);
|
||||
}
|
||||
if (e_e != '#') {
|
||||
n.e = {
|
||||
.a = n.id,
|
||||
.b = u64((u64(i + 1) << 32) | (j - 2))
|
||||
};
|
||||
m_edges.emplace_back(n.e);
|
||||
}
|
||||
if (w_e != '#') {
|
||||
n.w = {
|
||||
.a = n.id,
|
||||
.b = u64((u64(i + 1) << 32) | (j + 2))
|
||||
};
|
||||
m_edges.emplace_back(n.w);
|
||||
}
|
||||
|
||||
m_nodes.emplace_back(std::move(n));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
u64 m_start;
|
||||
u64 m_exit;
|
||||
std::vector<node> m_nodes{};
|
||||
std::vector<edge> m_edges{};
|
||||
u64 m_rows{};
|
||||
u64 m_cols{};
|
||||
};
|
||||
}
|
||||
|
||||
auto aoc24::day16([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
auto res = aoc::read_text("./dat/24/ex/16.txt");
|
||||
// auto res = aoc::read_text("./dat/24/re/16.txt");
|
||||
if (!res) return std::unexpected(res.error());
|
||||
auto const txt = *res;
|
||||
|
||||
rme::graph g{txt};
|
||||
|
||||
fmt::print("----------------------------------------\n");
|
||||
fmt::print("{}", txt);
|
||||
|
||||
return {};
|
||||
}
|
||||
183
sol/24/day17.cpp
Normal file
183
sol/24/day17.cpp
Normal file
@@ -0,0 +1,183 @@
|
||||
#include <vector>
|
||||
#include <ranges>
|
||||
#include <numeric>
|
||||
#include <memory>
|
||||
|
||||
#include "aoc.hpp"
|
||||
#include "aoc/utils.hpp"
|
||||
#include "fmt/format.h"
|
||||
#include "stb_image_write.h"
|
||||
#include "ctre.hpp"
|
||||
|
||||
using namespace aoc::types;
|
||||
using namespace std::string_view_literals;
|
||||
|
||||
namespace uec {
|
||||
enum class opcode : u16 {
|
||||
adv,
|
||||
bxl,
|
||||
bst,
|
||||
jnz,
|
||||
bxc,
|
||||
out,
|
||||
bdv,
|
||||
cdv,
|
||||
nop,
|
||||
};
|
||||
|
||||
auto opcode_to_str(opcode op) -> char const* {
|
||||
switch (op) {
|
||||
case opcode::adv: return "adv";
|
||||
case opcode::bxl: return "bxl";
|
||||
case opcode::bst: return "bst";
|
||||
case opcode::jnz: return "jnz";
|
||||
case opcode::bxc: return "bxc";
|
||||
case opcode::out: return "out";
|
||||
case opcode::bdv: return "bdv";
|
||||
case opcode::cdv: return "cdv";
|
||||
default: return "nop";
|
||||
}
|
||||
}
|
||||
|
||||
struct regs {
|
||||
u64 a;
|
||||
u64 b;
|
||||
u64 c;
|
||||
};
|
||||
|
||||
class cpu {
|
||||
public:
|
||||
cpu() {}
|
||||
|
||||
auto load(uec::regs const& regs, std::vector<opcode> const& program) -> void {
|
||||
m_regs = regs;
|
||||
m_program = program;
|
||||
}
|
||||
|
||||
auto registers() const -> uec::regs const& { return m_regs; }
|
||||
auto program() const -> std::vector<opcode> const& { return m_program; }
|
||||
|
||||
auto clock() -> void {
|
||||
auto const op = read();
|
||||
|
||||
switch (op) {
|
||||
case opcode::adv: adv();
|
||||
case opcode::bxl: bxl();
|
||||
case opcode::bst: bst();
|
||||
case opcode::jnz: jnz();
|
||||
case opcode::bxc: bxc();
|
||||
case opcode::out: out();
|
||||
case opcode::bdv: bdv();
|
||||
case opcode::cdv: cdv();
|
||||
default: nop();
|
||||
}
|
||||
}
|
||||
|
||||
auto str() const -> std::string {
|
||||
using namespace std::string_literals;
|
||||
std::string str{};
|
||||
str += "PC: " + fmt::format("{:#04x}", m_pc) + "\n";
|
||||
str += "\n";
|
||||
|
||||
str += "A: " + fmt::format("{:#010x}", m_regs.a) + "\n";
|
||||
str += "B: " + fmt::format("{:#010x}", m_regs.b) + "\n";
|
||||
str += "C: " + fmt::format("{:#010x}", m_regs.c) + "\n";
|
||||
str += "\n";
|
||||
|
||||
for (usize i = 0; i < m_program.size(); ++i) {
|
||||
str += fmt::format("{:02x}: ", i);
|
||||
str += fmt::format("{}\n", opcode_to_str(m_program[i]));
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
private:
|
||||
auto read() const -> opcode {
|
||||
if (m_pc < m_program.size())
|
||||
return m_program[m_pc];
|
||||
return opcode::nop;
|
||||
}
|
||||
auto peek() const -> opcode {
|
||||
if (m_pc + 1 < m_program.size())
|
||||
return m_program[m_pc + 1];
|
||||
return opcode::nop;
|
||||
}
|
||||
|
||||
auto combo() const -> u64 {
|
||||
return 0;
|
||||
}
|
||||
|
||||
private:
|
||||
auto adv(u64 x) -> void {
|
||||
m_regs.a >>= x;
|
||||
}
|
||||
auto bxl() -> void {
|
||||
m_regs.b = m_regs.b ^ u64(opcode::bxl);
|
||||
}
|
||||
auto bst(u64 x) -> void {
|
||||
m_regs.b = x % 8;
|
||||
}
|
||||
auto jnz() -> void {
|
||||
if (m_regs.a == 0) return;
|
||||
m_pc = u64(opcode::jnz);
|
||||
}
|
||||
auto bxc() -> void {
|
||||
m_regs.b = m_regs.b ^ m_regs.c;
|
||||
}
|
||||
auto out(u64 x) -> void {
|
||||
|
||||
}
|
||||
auto bdv() -> void {}
|
||||
auto cdv() -> void {}
|
||||
auto nop() -> void {}
|
||||
|
||||
private:
|
||||
u64 m_pc{};
|
||||
uec::regs m_regs{};
|
||||
std::vector<opcode> m_program{};
|
||||
};
|
||||
}
|
||||
|
||||
auto aoc24::day17([[maybe_unused]]std::span<char const*> const& args) -> std::expected<void, aoc::error> {
|
||||
auto res = aoc::read_text("./dat/24/ex/17.txt");
|
||||
// auto res = aoc::read_text("./dat/24/re/17.txt");
|
||||
if (!res) return std::unexpected(res.error());
|
||||
auto const txt = *res;
|
||||
auto const lines = txt | aoc::split("\n"sv)
|
||||
| aoc::map_to_sv
|
||||
| aoc::filter_non_empty
|
||||
| std::ranges::to<std::vector>();
|
||||
|
||||
uec::regs regs{};
|
||||
std::vector<uec::opcode> program{};
|
||||
for (auto const& line : lines) {
|
||||
if (auto reg = ctre::match<"Register ([A-Z]): ([0-9]+)">(line)) {
|
||||
if (reg.get<1>().view() == "A"sv) {
|
||||
regs.a = std::stoul(reg.get<2>().to_string());
|
||||
} else if (reg.get<1>().view() == "A"sv) {
|
||||
regs.b = std::stoul(reg.get<2>().to_string());
|
||||
} else if (reg.get<1>().view() == "A"sv) {
|
||||
regs.c = std::stoul(reg.get<2>().to_string());
|
||||
} else {
|
||||
// fmt::print("unknown register\n");
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (auto prog = ctre::match<"Program: ([0-9,]+)">(line)) {
|
||||
program = prog.get<1>().to_string() | aoc::split(","sv)
|
||||
| aoc::map_to_str
|
||||
| aoc::filter_non_empty
|
||||
| std::views::transform([](auto const& str) {
|
||||
return uec::opcode(std::stoul(str));
|
||||
}) | std::ranges::to<std::vector>();
|
||||
}
|
||||
}
|
||||
|
||||
uec::cpu cpu{};
|
||||
cpu.load(regs, program);
|
||||
|
||||
fmt::print("{}", cpu.str());
|
||||
|
||||
return {};
|
||||
}
|
||||
Reference in New Issue
Block a user